diff options
Diffstat (limited to 'cli/js')
-rw-r--r-- | cli/js/body.ts | 3 | ||||
-rw-r--r-- | cli/js/compiler.ts | 4 | ||||
-rw-r--r-- | cli/js/lib.deno_runtime.d.ts | 8 | ||||
-rw-r--r-- | cli/js/os.ts | 3 | ||||
-rw-r--r-- | cli/js/streams/readable-internals.ts | 2 | ||||
-rw-r--r-- | cli/js/url.ts | 2 |
6 files changed, 16 insertions, 6 deletions
diff --git a/cli/js/body.ts b/cli/js/body.ts index fc12efa8a..ed21fa0ec 100644 --- a/cli/js/body.ts +++ b/cli/js/body.ts @@ -143,9 +143,10 @@ export class Body implements domTypes.Body { this._stream = this._bodySource; } if (typeof this._bodySource === "string") { + const bodySource = this._bodySource; this._stream = new ReadableStream({ start(controller: ReadableStreamController): void { - controller.enqueue(this._bodySource); + controller.enqueue(bodySource); controller.close(); } }); diff --git a/cli/js/compiler.ts b/cli/js/compiler.ts index 775277cdd..1779f76c3 100644 --- a/cli/js/compiler.ts +++ b/cli/js/compiler.ts @@ -285,7 +285,7 @@ async function processImports( referrer = "" ): Promise<SourceFileJson[]> { if (!specifiers.length) { - return; + return []; } const sources = specifiers.map(([, moduleSpecifier]) => moduleSpecifier); const sourceFiles = await fetchSourceFiles(sources, referrer); @@ -385,6 +385,8 @@ class Host implements ts.CompilerHost { private readonly _options: ts.CompilerOptions = { allowJs: true, allowNonTsExtensions: true, + // TODO(#3324) Enable strict mode for user code. + // strict: true, checkJs: false, esModuleInterop: true, module: ts.ModuleKind.ESNext, diff --git a/cli/js/lib.deno_runtime.d.ts b/cli/js/lib.deno_runtime.d.ts index 87be1c3a0..c7c403987 100644 --- a/cli/js/lib.deno_runtime.d.ts +++ b/cli/js/lib.deno_runtime.d.ts @@ -2858,4 +2858,10 @@ declare namespace WebAssembly { } } -/* eslint-enable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any */ +// Catch-all for JSX elements. +// See https://www.typescriptlang.org/docs/handbook/jsx.html#intrinsic-elements +declare namespace JSX { + interface IntrinsicElements { + [elemName: string]: any; + } +} diff --git a/cli/js/os.ts b/cli/js/os.ts index 89e5652cb..4e17e2030 100644 --- a/cli/js/os.ts +++ b/cli/js/os.ts @@ -95,7 +95,8 @@ export function start(preserveDenoNamespace = true, source?: string): Start { for (const [name, opId] of Object.entries(ops)) { const opName = `OP_${name.toUpperCase()}`; // Assign op ids to actual variables - dispatch[opName] = opId; + // TODO(ry) This type casting is gross and should be fixed. + ((dispatch as unknown) as { [key: string]: number })[opName] = opId; } // First we send an empty `Start` message to let the privileged side know we // are ready. The response should be a `StartRes` message containing the CLI diff --git a/cli/js/streams/readable-internals.ts b/cli/js/streams/readable-internals.ts index 36f4223d7..67f5a69b1 100644 --- a/cli/js/streams/readable-internals.ts +++ b/cli/js/streams/readable-internals.ts @@ -259,7 +259,7 @@ export function isReadableStreamLocked<OutputType>( export function readableStreamGetNumReadIntoRequests<OutputType>( stream: SDReadableStream<OutputType> -): number | undefined { +): number { // TODO remove the "as unknown" cast // This is in to workaround a compiler error // error TS2352: Conversion of type 'SDReadableStreamReader<OutputType>' to type 'SDReadableStreamBYOBReader' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. diff --git a/cli/js/url.ts b/cli/js/url.ts index 2017bb40b..489d8d045 100644 --- a/cli/js/url.ts +++ b/cli/js/url.ts @@ -156,7 +156,7 @@ export class URL { "search" ]; const objectString = keys - .map((key: string) => `${key}: "${this[key] || ""}"`) + .map((key: string) => `${key}: "${this[key as keyof this] || ""}"`) .join(", "); return `URL { ${objectString} }`; } |