fix: Better use of @ts-expect-error (#6038)

This commit is contained in:
Kitson Kelly 2020-06-02 14:24:44 +10:00 committed by GitHub
parent 8b1b4766a1
commit 3fe6bc1b82
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 152 additions and 145 deletions

View file

@ -214,7 +214,13 @@ function evaluateCallSite(callSite: CallSite): CallSiteEval {
};
}
function prepareStackTrace(error: Error, callSites: CallSite[]): string {
function prepareStackTrace(
error: Error & {
__callSiteEvals: CallSiteEval[];
__formattedFrames: string[];
},
callSites: CallSite[]
): string {
const mappedCallSites = callSites.map(
(callSite): CallSite => {
const fileName = callSite.getFileName();
@ -238,19 +244,14 @@ function prepareStackTrace(error: Error, callSites: CallSite[]): string {
__formattedFrames: { value: [], configurable: true },
});
for (const callSite of mappedCallSites) {
// @ts-expect-error
error.__callSiteEvals.push(Object.freeze(evaluateCallSite(callSite)));
const isInternal = callSite.getFileName()?.startsWith("$deno$") ?? false;
// @ts-expect-error
error.__formattedFrames.push(callSiteToString(callSite, isInternal));
}
// @ts-expect-error
Object.freeze(error.__callSiteEvals);
// @ts-expect-error
Object.freeze(error.__formattedFrames);
return (
`${error.name}: ${error.message}\n` +
// @ts-expect-error
error.__formattedFrames
.map((s: string) => ` at ${colors.stripColor(s)}`)
.join("\n")

View file

@ -35,8 +35,8 @@ function isRecoverableError(e: Error): boolean {
// Returns `true` if `close()` is called in REPL.
// We should quit the REPL when this function returns `true`.
function isCloseCalled(): boolean {
// @ts-expect-error
return globalThis.closed;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return (globalThis as any).closed;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any

View file

@ -30,8 +30,8 @@ import { log, immutableDefine } from "./util.ts";
// TODO: factor out `Deno` global assignment to separate function
// Add internal object to Deno object.
// This is not exposed as part of the Deno types.
// @ts-expect-error
denoNs[internalSymbol] = internalObject;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(denoNs as any)[internalSymbol] = internalObject;
let windowIsClosing = false;
@ -71,8 +71,8 @@ export function bootstrapMainRuntime(): void {
throw new Error("Worker runtime already bootstrapped");
}
// Remove bootstrapping methods from global scope
// @ts-expect-error
globalThis.bootstrap = undefined;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(globalThis as any).bootstrap = undefined;
log("bootstrapMainRuntime");
hasBootstrapped = true;
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeMethods);

View file

@ -33,8 +33,8 @@ import { setSignals } from "./signals.ts";
// TODO: factor out `Deno` global assignment to separate function
// Add internal object to Deno object.
// This is not exposed as part of the Deno types.
// @ts-expect-error
denoNs[internalSymbol] = internalObject;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(denoNs as any)[internalSymbol] = internalObject;
const encoder = new TextEncoder();
@ -128,8 +128,8 @@ export function bootstrapWorkerRuntime(
throw new Error("Worker runtime already bootstrapped");
}
// Remove bootstrapping methods from global scope
// @ts-expect-error
globalThis.bootstrap = undefined;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(globalThis as any).bootstrap = undefined;
log("bootstrapWorkerRuntime");
hasBootstrapped = true;
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeMethods);

View file

@ -336,8 +336,8 @@ async function runTests({
const originalConsole = globalThis.console;
if (disableLog) {
// @ts-expect-error
globalThis.console = disabledConsole;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(globalThis as any).console = disabledConsole;
}
let endMsg: TestMessage["end"];

View file

@ -216,14 +216,18 @@ function groupEntries<T>(
lineMaxLength += separatorSpace;
maxLineLength[i] = lineMaxLength;
}
let order = "padStart";
let order: "padStart" | "padEnd" = "padStart";
if (value !== undefined) {
for (let i = 0; i < entries.length; i++) {
//@ts-expect-error
if (typeof value[i] !== "number" && typeof value[i] !== "bigint") {
/* eslint-disable @typescript-eslint/no-explicit-any */
if (
typeof (value as any)[i] !== "number" &&
typeof (value as any)[i] !== "bigint"
) {
order = "padEnd";
break;
}
/* eslint-enable */
}
}
// Each iteration creates a single line of grouped entries.
@ -235,7 +239,6 @@ function groupEntries<T>(
for (; j < max - 1; j++) {
// In future, colors should be taken here into the account
const padding = maxLineLength[j - i];
//@ts-expect-error
str += `${entries[j]}, `[order](padding, " ");
}
if (order === "padStart") {
@ -408,8 +411,8 @@ function createMapString(
},
group: false,
};
//@ts-expect-error
return createIterableString(value, ctx, level, maxLevel, printConfig);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return createIterableString(value as any, ctx, level, maxLevel, printConfig);
}
function createWeakSetString(): string {
@ -477,7 +480,7 @@ function createPromiseString(
// TODO: Proxy
function createRawObjectString(
value: { [key: string]: unknown },
value: Record<string, unknown>,
ctx: ConsoleContext,
level: number,
maxLevel: number
@ -490,8 +493,9 @@ function createRawObjectString(
let baseString = "";
let shouldShowDisplayName = false;
// @ts-expect-error
let displayName = value[Symbol.toStringTag];
let displayName = (value as { [Symbol.toStringTag]: string })[
Symbol.toStringTag
];
if (!displayName) {
displayName = getClassInstanceName(value);
}
@ -511,8 +515,8 @@ function createRawObjectString(
for (const key of symbolKeys) {
entries.push(
`${key.toString()}: ${stringifyWithQuotes(
// @ts-expect-error
value[key],
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value[key as any],
ctx,
level + 1,
maxLevel

View file

@ -187,7 +187,7 @@ function sendFetchReq(
}
export async function fetch(
input: domTypes.Request | URL | string,
input: (domTypes.Request & { _bodySource?: unknown }) | URL | string,
init?: domTypes.RequestInit
): Promise<Response> {
let url: string;
@ -285,7 +285,6 @@ export async function fetch(
method = input.method;
headers = input.headers;
//@ts-expect-error
if (input._bodySource) {
body = new DataView(await input.arrayBuffer());
}

View file

@ -234,23 +234,23 @@ function setTimer(
}
export function setTimeout(
this: unknown,
cb: (...args: Args) => void,
delay = 0,
...args: Args
): number {
checkBigInt(delay);
// @ts-expect-error
checkThis(this);
return setTimer(cb, delay, args, false);
}
export function setInterval(
this: unknown,
cb: (...args: Args) => void,
delay = 0,
...args: Args
): number {
checkBigInt(delay);
// @ts-expect-error
checkThis(this);
return setTimer(cb, delay, args, true);
}

View file

@ -42,8 +42,8 @@ unitTest(
const body = buildBody(text);
// @ts-expect-error
body.contentType = "multipart/form-data;boundary=boundary";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(body as any).contentType = "multipart/form-data;boundary=boundary";
const formData = await body.formData();
assert(formData.has("field_1"));
@ -62,8 +62,8 @@ unitTest(
const body = buildBody(text);
// @ts-expect-error
body.contentType = "application/x-www-form-urlencoded";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(body as any).contentType = "application/x-www-form-urlencoded";
const formData = await body.formData();
assert(formData.has("field_1"));

View file

@ -19,14 +19,19 @@ unitTest(
}
);
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-explicit-any,no-var */
declare global {
namespace Deno {
var core: any;
}
}
/* eslint-enable */
unitTest(function malformedJsonControlBuffer(): void {
// @ts-expect-error
const opId = Deno.core.ops()["op_open"];
// @ts-expect-error
const res = Deno.core.send(opId, new Uint8Array([1, 2, 3, 4, 5]));
const resText = new TextDecoder().decode(res);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const resJson = JSON.parse(resText) as any;
const resJson = JSON.parse(resText);
assert(!resJson.ok);
assert(resJson.err);
});

View file

@ -25,10 +25,16 @@ unitTest(async function sendAsyncStackTrace(): Promise<void> {
}
});
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-explicit-any,no-var */
declare global {
namespace Deno {
var core: any;
}
}
/* eslint-enable */
unitTest(function malformedMinimalControlBuffer(): void {
// @ts-expect-error
const readOpId = Deno.core.ops()["op_read"];
// @ts-expect-error
const res = Deno.core.send(readOpId, new Uint8Array([1, 2, 3, 4, 5]));
const header = res.slice(0, 12);
const buf32 = new Int32Array(

View file

@ -92,9 +92,8 @@ unitTest({ perms: { net: true } }, async function fetchBodyUsed(): Promise<
const response = await fetch("http://localhost:4545/cli/tests/fixture.json");
assertEquals(response.bodyUsed, false);
assertThrows((): void => {
// Assigning to read-only property throws in the strict mode.
// @ts-expect-error
response.bodyUsed = true;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(response as any).bodyUsed = true;
});
await response.blob();
assertEquals(response.bodyUsed, true);
@ -657,10 +656,9 @@ unitTest({ perms: { net: true } }, async function fetchBodyReadTwice(): Promise<
assert(_json);
// All calls after the body was consumed, should fail
const methods = ["json", "text", "formData", "arrayBuffer"];
const methods = ["json", "text", "formData", "arrayBuffer"] as const;
for (const method of methods) {
try {
// @ts-expect-error
await response[method]();
fail(
"Reading body multiple times should failed, the stream should've been locked."

View file

@ -290,8 +290,8 @@ unitTest(
// writing null should throw an error
let err;
try {
// @ts-expect-error
await file.write(null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
await file.write(null as any);
} catch (e) {
err = e;
}
@ -322,8 +322,8 @@ unitTest(
// reading file into null buffer should throw an error
let err;
try {
// @ts-expect-error
await file.read(null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
await file.read(null as any);
} catch (e) {
err = e;
}

View file

@ -41,10 +41,10 @@ unitTest(function formDataParamsGetSuccess(): void {
formData.append("a", "true");
formData.append("b", "false");
formData.append("a", "null");
// @ts-expect-error
formData.append("d", undefined);
// @ts-expect-error
formData.append("e", null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
formData.append("d", undefined as any);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
formData.append("e", null as any);
assertEquals(formData.get("a"), "true");
assertEquals(formData.get("b"), "false");
assertEquals(formData.get("c"), null);
@ -70,11 +70,11 @@ unitTest(function formDataParamsSetSuccess(): void {
assertEquals(formData.getAll("b"), ["false"]);
formData.set("a", "false");
assertEquals(formData.getAll("a"), ["false"]);
// @ts-expect-error
formData.set("d", undefined);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
formData.set("d", undefined as any);
assertEquals(formData.get("d"), "undefined");
// @ts-expect-error
formData.set("e", null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
formData.set("e", null as any);
assertEquals(formData.get("e"), "null");
});
@ -143,8 +143,8 @@ unitTest(function formDataParamsArgumentsCheck(): void {
let hasThrown = 0;
let errMsg = "";
try {
// @ts-expect-error
formData[method]();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(formData as any)[method]();
hasThrown = 1;
} catch (err) {
errMsg = err.message;
@ -167,8 +167,8 @@ unitTest(function formDataParamsArgumentsCheck(): void {
let errMsg = "";
try {
// @ts-expect-error
formData[method]();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(formData as any)[method]();
hasThrown = 1;
} catch (err) {
errMsg = err.message;
@ -187,8 +187,8 @@ unitTest(function formDataParamsArgumentsCheck(): void {
hasThrown = 0;
errMsg = "";
try {
// @ts-expect-error
formData[method]("foo");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(formData as any)[method]("foo");
hasThrown = 1;
} catch (err) {
errMsg = err.message;

View file

@ -45,16 +45,24 @@ unitTest(function webAssemblyExists(): void {
assert(typeof WebAssembly.compile === "function");
});
/* eslint-disable @typescript-eslint/no-namespace, @typescript-eslint/no-explicit-any,no-var */
declare global {
namespace Deno {
var core: any;
}
}
/* eslint-enable */
unitTest(function DenoNamespaceImmutable(): void {
const denoCopy = window.Deno;
try {
// @ts-expect-error
Deno = 1;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(Deno as any) = 1;
} catch {}
assert(denoCopy === Deno);
try {
// @ts-expect-error
window.Deno = 1;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(window as any).Deno = 1;
} catch {}
assert(denoCopy === Deno);
try {
@ -64,8 +72,8 @@ unitTest(function DenoNamespaceImmutable(): void {
const { readFile } = Deno;
try {
// @ts-expect-error
Deno.readFile = 1;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(Deno as any).readFile = 1;
} catch {}
assert(readFile === Deno.readFile);
try {
@ -73,19 +81,14 @@ unitTest(function DenoNamespaceImmutable(): void {
} catch {}
assert(readFile === Deno.readFile);
// @ts-expect-error
const { print } = Deno.core;
try {
// @ts-expect-error
Deno.core.print = 1;
} catch {}
// @ts-expect-error
assert(print === Deno.core.print);
try {
// @ts-expect-error
delete Deno.core.print;
} catch {}
// @ts-expect-error
assert(print === Deno.core.print);
});

View file

@ -22,8 +22,8 @@ unitTest(function newHeaderTest(): void {
new Headers(undefined);
new Headers({});
try {
// @ts-expect-error
new Headers(null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
new Headers(null as any);
} catch (e) {
assertEquals(
e.message,
@ -36,8 +36,8 @@ const headerDict: Record<string, string> = {
name1: "value1",
name2: "value2",
name3: "value3",
// @ts-expect-error
name4: undefined,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
name4: undefined as any,
"Content-Type": "value4",
};
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@ -264,17 +264,17 @@ unitTest(function headerParamsShouldThrowTypeError(): void {
});
unitTest(function headerParamsArgumentsCheck(): void {
const methodRequireOneParam = ["delete", "get", "has", "forEach"];
const methodRequireOneParam = ["delete", "get", "has", "forEach"] as const;
const methodRequireTwoParams = ["append", "set"];
const methodRequireTwoParams = ["append", "set"] as const;
methodRequireOneParam.forEach((method): void => {
const headers = new Headers();
let hasThrown = 0;
let errMsg = "";
try {
// @ts-expect-error
headers[method]();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(headers as any)[method]();
hasThrown = 1;
} catch (err) {
errMsg = err.message;
@ -297,8 +297,8 @@ unitTest(function headerParamsArgumentsCheck(): void {
let errMsg = "";
try {
// @ts-expect-error
headers[method]();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(headers as any)[method]();
hasThrown = 1;
} catch (err) {
errMsg = err.message;
@ -317,8 +317,8 @@ unitTest(function headerParamsArgumentsCheck(): void {
hasThrown = 0;
errMsg = "";
try {
// @ts-expect-error
headers[method]("foo");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(headers as any)[method]("foo");
hasThrown = 1;
} catch (err) {
errMsg = err.message;

View file

@ -10,22 +10,22 @@ unitTest(function fromInit(): void {
},
});
// @ts-expect-error
assertEquals("ahoyhoy", req._bodySource);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
assertEquals("ahoyhoy", (req as any)._bodySource);
assertEquals(req.url, "https://example.com");
assertEquals(req.headers.get("test-header"), "value");
});
unitTest(function fromRequest(): void {
const r = new Request("https://example.com");
// @ts-expect-error
r._bodySource = "ahoyhoy";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(r as any)._bodySource = "ahoyhoy";
r.headers.set("test-header", "value");
const req = new Request(r);
// @ts-expect-error
assertEquals(req._bodySource, r._bodySource);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
assertEquals((req as any)._bodySource, (r as any)._bodySource);
assertEquals(req.url, r.url);
assertEquals(req.headers.get("test-header"), r.headers.get("test-header"));
});
@ -44,6 +44,6 @@ unitTest(async function cloneRequestBodyStream(): Promise<void> {
assertEquals(b1, b2);
// @ts-expect-error
assert(r1._bodySource !== r2._bodySource);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
assert((r1 as any)._bodySource !== (r2 as any)._bodySource);
});

View file

@ -2,15 +2,12 @@
import { unitTest, assertThrows } from "./test_util.ts";
unitTest(function streamReadableHwmError() {
const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"];
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const invalidHwm: any[] = [NaN, Number("NaN"), {}, -1, "two"];
for (const highWaterMark of invalidHwm) {
assertThrows(
() => {
new ReadableStream<number>(
undefined,
// @ts-expect-error
{ highWaterMark }
);
new ReadableStream<number>(undefined, { highWaterMark });
},
RangeError,
"highWaterMark must be a positive number or Infinity. Received:"
@ -20,20 +17,20 @@ unitTest(function streamReadableHwmError() {
assertThrows(() => {
new ReadableStream<number>(
undefined,
// @ts-expect-error
{ highWaterMark: Symbol("hwk") }
// eslint-disable-next-line @typescript-eslint/no-explicit-any
{ highWaterMark: Symbol("hwk") as any }
);
}, TypeError);
});
unitTest(function streamWriteableHwmError() {
const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"];
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const invalidHwm: any[] = [NaN, Number("NaN"), {}, -1, "two"];
for (const highWaterMark of invalidHwm) {
assertThrows(
() => {
new WritableStream(
undefined,
// @ts-expect-error
new CountQueuingStrategy({ highWaterMark })
);
},
@ -45,23 +42,19 @@ unitTest(function streamWriteableHwmError() {
assertThrows(() => {
new WritableStream(
undefined,
// @ts-expect-error
new CountQueuingStrategy({ highWaterMark: Symbol("hwmk") })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
new CountQueuingStrategy({ highWaterMark: Symbol("hwmk") as any })
);
}, TypeError);
});
unitTest(function streamTransformHwmError() {
const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"];
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const invalidHwm: any[] = [NaN, Number("NaN"), {}, -1, "two"];
for (const highWaterMark of invalidHwm) {
assertThrows(
() => {
new TransformStream(
undefined,
undefined,
// @ts-expect-error
{ highWaterMark }
);
new TransformStream(undefined, undefined, { highWaterMark });
},
RangeError,
"highWaterMark must be a positive number or Infinity. Received:"
@ -72,8 +65,8 @@ unitTest(function streamTransformHwmError() {
new TransformStream(
undefined,
undefined,
// @ts-expect-error
{ highWaterMark: Symbol("hwmk") }
// eslint-disable-next-line @typescript-eslint/no-explicit-any
{ highWaterMark: Symbol("hwmk") as any }
);
}, TypeError);
});

View file

@ -177,8 +177,8 @@ unitTest(function urlSearchParamsAppendArgumentsCheck(): void {
const searchParams = new URLSearchParams();
let hasThrown = 0;
try {
// @ts-expect-error
searchParams[method]();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(searchParams as any)[method]();
hasThrown = 1;
} catch (err) {
if (err instanceof TypeError) {
@ -194,8 +194,8 @@ unitTest(function urlSearchParamsAppendArgumentsCheck(): void {
const searchParams = new URLSearchParams();
let hasThrown = 0;
try {
// @ts-expect-error
searchParams[method]("foo");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(searchParams as any)[method]("foo");
hasThrown = 1;
} catch (err) {
if (err instanceof TypeError) {
@ -235,8 +235,10 @@ unitTest(function urlSearchParamsCustomSymbolIterator(): void {
unitTest(
function urlSearchParamsCustomSymbolIteratorWithNonStringParams(): void {
const params = {};
// @ts-expect-error
params[Symbol.iterator] = function* (): IterableIterator<[number, number]> {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(params as any)[Symbol.iterator] = function* (): IterableIterator<
[number, number]
> {
yield [1, 2];
};
const params1 = new URLSearchParams((params as unknown) as string[][]);

View file

@ -145,8 +145,8 @@ test("multipartMultipartWriter3", async function (): Promise<void> {
);
await assertThrowsAsync(
async (): Promise<void> => {
// @ts-expect-error
await mw.writeFile("bar", "file", null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
await mw.writeFile("bar", "file", null as any);
},
Error,
"closed"

View file

@ -5,5 +5,5 @@ Object.defineProperty(globalThis, Symbol.toStringTag, {
configurable: true,
});
// @ts-expect-error
globalThis["global"] = globalThis;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(globalThis as any)["global"] = globalThis;

View file

@ -262,10 +262,11 @@ class Module {
if (requireStack.length > 0) {
message = message + "\nRequire stack:\n- " + requireStack.join("\n- ");
}
const err = new Error(message);
// @ts-expect-error
const err = new Error(message) as Error & {
code: string;
requireStack: string[];
};
err.code = "MODULE_NOT_FOUND";
// @ts-expect-error
err.requireStack = requireStack;
throw err;
}
@ -732,12 +733,10 @@ function tryPackage(
if (actual === false) {
actual = tryExtensions(path.resolve(requestPath, "index"), exts, isMain);
if (!actual) {
// eslint-disable-next-line no-restricted-syntax
const err = new Error(
`Cannot find module '${filename}'. ` +
'Please verify that the package.json has a valid "main" entry'
);
// @ts-expect-error
) as Error & { code: string };
err.code = "MODULE_NOT_FOUND";
throw err;
}
@ -881,8 +880,7 @@ function applyExports(basePath: string, expansion: string): string {
const e = new Error(
`Package exports for '${basePath}' do not define ` +
`a '${mappingKey}' subpath`
);
// @ts-expect-error
) as Error & { code?: string };
e.code = "MODULE_NOT_FOUND";
throw e;
}
@ -973,7 +971,7 @@ function resolveExportsTarget(
}
}
}
let e: Error;
let e: Error & { code?: string };
if (mappingKey !== ".") {
e = new Error(
`Package exports for '${basePath}' do not define a ` +
@ -982,7 +980,6 @@ function resolveExportsTarget(
} else {
e = new Error(`No valid exports main found for '${basePath}'`);
}
// @ts-expect-error
e.code = "MODULE_NOT_FOUND";
throw e;
}
@ -1006,8 +1003,7 @@ const CircularRequirePrototypeWarningProxy = new Proxy(
{},
{
// eslint-disable-next-line @typescript-eslint/no-explicit-any
get(target, prop): any {
// @ts-expect-error
get(target: Record<string, any>, prop: string): any {
if (prop in target) return target[prop];
emitCircularRequireWarning(prop);
return undefined;
@ -1058,8 +1054,8 @@ type RequireWrapper = (
function wrapSafe(filename: string, content: string): RequireWrapper {
// TODO: fix this
const wrapper = Module.wrap(content);
// @ts-expect-error
const [f, err] = Deno.core.evalContext(wrapper, filename);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [f, err] = (Deno as any).core.evalContext(wrapper, filename);
if (err) {
throw err;
}

View file

@ -9,8 +9,8 @@ test({
fn() {
assertThrows(
() => {
// @ts-expect-error
signal();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(signal as any)();
},
Error,
"No signals are given. You need to specify at least one signal to create a signal stream."

View file

@ -491,7 +491,7 @@ export async function handshake(
throw new Error("ws: invalid status line: " + statusLine);
}
// @ts-expect-error
assert(m.groups);
const { version, statusCode } = m.groups;
if (version !== "HTTP/1.1" || statusCode !== "101") {
throw new Error(