From f57aac77ff9ce514730504066daca0a61a959d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 17 May 2022 19:50:31 +0200 Subject: BREAKING: Remove unstable Deno.emit and Deno.formatDiagnostics APIs (#14463) --- cli/tests/testdata/080_deno_emit_permissions.ts | 1 - .../testdata/080_deno_emit_permissions.ts.out | 2 - cli/tests/testdata/compiler_api_test.ts | 664 --------------------- cli/tests/testdata/issue12453.js | 4 - cli/tests/testdata/lib_dom_asynciterable.ts | 23 - cli/tests/testdata/lib_dom_asynciterable.ts.out | 2 - cli/tests/testdata/lib_dom_extras.ts | 17 - cli/tests/testdata/lib_dom_extras.ts.out | 2 - cli/tests/testdata/lib_ref.ts | 16 - cli/tests/testdata/lib_ref.ts.out | 2 - cli/tests/testdata/lib_runtime_api.ts | 14 - cli/tests/testdata/lib_runtime_api.ts.out | 2 - cli/tests/testdata/standalone_compiler_ops.ts | 12 - cli/tests/testdata/unstable_worker.ts.out | 2 +- cli/tests/testdata/workers/worker_unstable.ts | 2 +- 15 files changed, 2 insertions(+), 763 deletions(-) delete mode 100644 cli/tests/testdata/080_deno_emit_permissions.ts delete mode 100644 cli/tests/testdata/080_deno_emit_permissions.ts.out delete mode 100644 cli/tests/testdata/compiler_api_test.ts delete mode 100644 cli/tests/testdata/issue12453.js delete mode 100644 cli/tests/testdata/lib_dom_asynciterable.ts delete mode 100644 cli/tests/testdata/lib_dom_asynciterable.ts.out delete mode 100644 cli/tests/testdata/lib_dom_extras.ts delete mode 100644 cli/tests/testdata/lib_dom_extras.ts.out delete mode 100644 cli/tests/testdata/lib_ref.ts delete mode 100644 cli/tests/testdata/lib_ref.ts.out delete mode 100644 cli/tests/testdata/lib_runtime_api.ts delete mode 100644 cli/tests/testdata/lib_runtime_api.ts.out delete mode 100644 cli/tests/testdata/standalone_compiler_ops.ts (limited to 'cli/tests/testdata') diff --git a/cli/tests/testdata/080_deno_emit_permissions.ts b/cli/tests/testdata/080_deno_emit_permissions.ts deleted file mode 100644 index dc550cffb..000000000 --- a/cli/tests/testdata/080_deno_emit_permissions.ts +++ /dev/null @@ -1 +0,0 @@ -await Deno.emit(new URL("001_hello.js", import.meta.url).href); diff --git a/cli/tests/testdata/080_deno_emit_permissions.ts.out b/cli/tests/testdata/080_deno_emit_permissions.ts.out deleted file mode 100644 index 4eb4fd1c1..000000000 --- a/cli/tests/testdata/080_deno_emit_permissions.ts.out +++ /dev/null @@ -1,2 +0,0 @@ -[WILDCARD]error: Uncaught (in promise) PermissionDenied: Requires read access to "[WILDCARD]001_hello.js", run again with the --allow-read flag -[WILDCARD] diff --git a/cli/tests/testdata/compiler_api_test.ts b/cli/tests/testdata/compiler_api_test.ts deleted file mode 100644 index 81f049ac1..000000000 --- a/cli/tests/testdata/compiler_api_test.ts +++ /dev/null @@ -1,664 +0,0 @@ -// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license. -import { - assert, - assertEquals, - assertRejects, - assertStringIncludes, -} from "../../../test_util/std/testing/asserts.ts"; - -Deno.test({ - name: "Deno.emit() - sources provided", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "/foo.ts", - { - sources: { - "/foo.ts": `import * as bar from "./bar.ts";\n\nconsole.log(bar);\n`, - "/bar.ts": `export const bar = "bar";\n`, - }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assert(keys[0].endsWith("/bar.ts.js")); - assert(keys[1].endsWith("/bar.ts.js.map")); - assert(keys[2].endsWith("/foo.ts.js")); - assert(keys[3].endsWith("/foo.ts.js.map")); - }, -}); - -Deno.test({ - name: "Deno.emit() - no sources provided", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "./subdir/mod1.ts", - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assertEquals(keys.length, 6); - assert(keys[0].endsWith("subdir/mod1.ts.js")); - assert(keys[1].endsWith("subdir/mod1.ts.js.map")); - }, -}); - -Deno.test({ - name: "Deno.emit() - data url", - async fn() { - const data = - "data:application/javascript;base64,Y29uc29sZS5sb2coImhlbGxvIHdvcmxkIik7"; - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit(data); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 0); - const keys = Object.keys(files); - assertEquals(keys.length, 1); - assertEquals(keys[0], data); - assertStringIncludes(files[keys[0]], 'console.log("hello world");'); - }, -}); - -Deno.test({ - name: "Deno.emit() - compiler options effects emit", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "/foo.ts", - { - compilerOptions: { - module: "amd", - sourceMap: false, - }, - sources: { "/foo.ts": `export const foo = "foo";` }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files); - assertEquals(keys.length, 1); - const key = keys[0]; - assert(key.endsWith("/foo.ts.js")); - assert(files[key].startsWith("define(")); - }, -}); - -Deno.test({ - name: "Deno.emit() - pass lib in compiler options", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "file:///foo.ts", - { - compilerOptions: { - lib: ["dom", "es2018", "deno.ns"], - }, - sources: { - "file:///foo.ts": `console.log(document.getElementById("foo")); - console.log(Deno.args);`, - }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assertEquals(keys, ["file:///foo.ts.js", "file:///foo.ts.js.map"]); - }, -}); - -Deno.test({ - name: "Deno.emit() - type references can be loaded", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "file:///a.ts", - { - sources: { - "file:///a.ts": `/// - const b = new B(); - console.log(b.b);`, - "file:///b.d.ts": `declare class B { - b: string; - }`, - }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assertEquals(keys, ["file:///a.ts.js", "file:///a.ts.js.map"]); - }, -}); - -Deno.test({ - name: "Deno.emit() - compilerOptions.types", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "file:///a.ts", - { - compilerOptions: { - types: ["file:///b.d.ts"], - }, - sources: { - "file:///a.ts": `const b = new B(); - console.log(b.b);`, - "file:///b.d.ts": `declare class B { - b: string; - }`, - }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assertEquals(keys, ["file:///a.ts.js", "file:///a.ts.js.map"]); - }, -}); - -Deno.test({ - name: "Deno.emit() - import maps", - async fn() { - const { diagnostics, files, ignoredOptions, stats } = await Deno.emit( - "file:///a.ts", - { - importMap: { - imports: { - "b": "./b.ts", - }, - }, - importMapPath: "file:///import-map.json", - sources: { - "file:///a.ts": `import * as b from "b" - console.log(b);`, - "file:///b.ts": `export const b = "b";`, - }, - }, - ); - assertEquals(diagnostics.length, 0); - assert(!ignoredOptions); - assertEquals(stats.length, 12); - const keys = Object.keys(files).sort(); - assertEquals( - keys, - [ - "file:///a.ts.js", - "file:///a.ts.js.map", - "file:///b.ts.js", - "file:///b.ts.js.map", - ], - ); - }, -}); - -Deno.test({ - name: "Deno.emit() - allowSyntheticDefaultImports true by default", - async fn() { - const { diagnostics, files, ignoredOptions } = await Deno.emit( - "file:///a.ts", - { - sources: { - "file:///a.ts": `import b from "./b.js";\n`, - "file:///b.js": - `/// { - await Deno.emit("/a.ts", { - bundle: "classic", - sources: { - "/a.ts": `console.log("hello");`, - }, - importMapPath: "file:///import_map_does_not_exist.json", - }); - }, - Error, - "Unable to load 'file:///import_map_does_not_exist.json' import map", - ); - }, -}); - -Deno.test({ - name: `Deno.emit() - support source maps with bundle option`, - async fn() { - { - const { diagnostics, files } = await Deno.emit("/a.ts", { - bundle: "classic", - sources: { - "/a.ts": `import { b } from "./b.ts"; - console.log(b);`, - "/b.ts": `export const b = "b";`, - }, - compilerOptions: { - inlineSourceMap: true, - sourceMap: false, - }, - }); - assert(diagnostics); - assertEquals(diagnostics.length, 0); - assertEquals(Object.keys(files).length, 1); - assertStringIncludes(files["deno:///bundle.js"], "sourceMappingURL"); - } - - const { diagnostics, files } = await Deno.emit("/a.ts", { - bundle: "classic", - sources: { - "/a.ts": `import { b } from "./b.ts"; - console.log(b);`, - "/b.ts": `export const b = "b";`, - }, - }); - assert(diagnostics); - assertEquals(diagnostics.length, 0); - assertEquals(Object.keys(files).length, 2); - assert(files["deno:///bundle.js"]); - assert(files["deno:///bundle.js.map"]); - }, -}); - -Deno.test({ - name: `Deno.emit() - graph errors as diagnostics`, - ignore: Deno.build.os === "windows", - async fn() { - const { diagnostics } = await Deno.emit("/a.ts", { - sources: { - "/a.ts": `import { b } from "./b.ts"; - console.log(b);`, - }, - }); - assert(diagnostics); - assertEquals(diagnostics, [ - { - category: 1, - code: 2305, - start: { line: 0, character: 9 }, - end: { line: 0, character: 10 }, - messageText: - `Module '"deno:///missing_dependency.d.ts"' has no exported member 'b'.`, - messageChain: null, - source: null, - sourceLine: 'import { b } from "./b.ts";', - fileName: "file:///a.ts", - relatedInformation: null, - }, - { - category: 1, - code: 900001, - start: null, - end: null, - messageText: 'Module not found "file:///b.ts".', - messageChain: null, - source: null, - sourceLine: null, - fileName: "file:///b.ts", - relatedInformation: null, - }, - ]); - assert( - Deno.formatDiagnostics(diagnostics).includes( - 'Module not found "file:///b.ts".', - ), - ); - }, -}); - -Deno.test({ - name: "Deno.emit() - no check respects inlineSources compiler option", - async fn() { - const { files } = await Deno.emit( - "file:///a.ts", - { - check: false, - compilerOptions: { - types: ["file:///b.d.ts"], - inlineSources: true, - }, - sources: { - "file:///a.ts": `const b = new B(); - console.log(b.b);`, - "file:///b.d.ts": `declare class B { - b: string; - }`, - }, - }, - ); - const sourceMap: { sourcesContent?: string[] } = JSON.parse( - files["file:///a.ts.js.map"], - ); - assert(sourceMap.sourcesContent); - assertEquals(sourceMap.sourcesContent.length, 1); - }, -}); - -Deno.test({ - name: "Deno.emit() - JSX import source pragma", - async fn() { - const { files } = await Deno.emit( - "file:///a.tsx", - { - sources: { - "file:///a.tsx": `/** @jsxImportSource https://example.com/jsx */ - - export function App() { - return ( -
<>
- ); - }`, - "https://example.com/jsx/jsx-runtime": `export function jsx( - _type, - _props, - _key, - _source, - _self, - ) {} - export const jsxs = jsx; - export const jsxDEV = jsx; - export const Fragment = Symbol("Fragment"); - console.log("imported", import.meta.url); - `, - }, - }, - ); - assert(files["file:///a.tsx.js"]); - assert( - files["file:///a.tsx.js"].startsWith( - `import { Fragment as _Fragment, jsx as _jsx } from "https://example.com/jsx/jsx-runtime";\n`, - ), - ); - }, -}); - -Deno.test({ - name: "Deno.emit() - JSX import source no pragma", - async fn() { - const { files } = await Deno.emit( - "file:///a.tsx", - { - compilerOptions: { - jsx: "react-jsx", - jsxImportSource: "https://example.com/jsx", - }, - sources: { - "file:///a.tsx": `export function App() { - return ( -
<>
- ); - }`, - "https://example.com/jsx/jsx-runtime": `export function jsx( - _type, - _props, - _key, - _source, - _self, - ) {} - export const jsxs = jsx; - export const jsxDEV = jsx; - export const Fragment = Symbol("Fragment"); - console.log("imported", import.meta.url); - `, - }, - }, - ); - assert(files["file:///a.tsx.js"]); - assert( - files["file:///a.tsx.js"].startsWith( - `import { Fragment as _Fragment, jsx as _jsx } from "https://example.com/jsx/jsx-runtime";\n`, - ), - ); - }, -}); diff --git a/cli/tests/testdata/issue12453.js b/cli/tests/testdata/issue12453.js deleted file mode 100644 index 2ed1b5ae7..000000000 --- a/cli/tests/testdata/issue12453.js +++ /dev/null @@ -1,4 +0,0 @@ -const i = setInterval(() => { - Deno.emit("http://localhost:4545/subdir/mt_text_typescript.t1.ts"); - clearInterval(i); -}, 1); diff --git a/cli/tests/testdata/lib_dom_asynciterable.ts b/cli/tests/testdata/lib_dom_asynciterable.ts deleted file mode 100644 index d932011f4..000000000 --- a/cli/tests/testdata/lib_dom_asynciterable.ts +++ /dev/null @@ -1,23 +0,0 @@ -const { diagnostics, files } = await Deno.emit("/main.ts", { - compilerOptions: { - target: "esnext", - lib: ["esnext", "dom", "dom.iterable", "dom.asynciterable"], - }, - sources: { - "/main.ts": `const rs = new ReadableStream({ - start(c) { - c.enqueue("hello"); - c.enqueue("deno"); - c.close(); - } - }); - - for await (const s of rs) { - console.log("s"); - } - `, - }, -}); - -console.log(diagnostics); -console.log(Object.keys(files).sort()); diff --git a/cli/tests/testdata/lib_dom_asynciterable.ts.out b/cli/tests/testdata/lib_dom_asynciterable.ts.out deleted file mode 100644 index 8b5e7adb6..000000000 --- a/cli/tests/testdata/lib_dom_asynciterable.ts.out +++ /dev/null @@ -1,2 +0,0 @@ -[] -[ "[WILDCARD]/main.ts.js", "[WILDCARD]/main.ts.js.map" ] diff --git a/cli/tests/testdata/lib_dom_extras.ts b/cli/tests/testdata/lib_dom_extras.ts deleted file mode 100644 index c061bd362..000000000 --- a/cli/tests/testdata/lib_dom_extras.ts +++ /dev/null @@ -1,17 +0,0 @@ -const { diagnostics, files } = await Deno.emit("/main.ts", { - compilerOptions: { - target: "esnext", - lib: ["esnext", "dom"], - }, - sources: { - "/main.ts": `const as = new AbortSignal(); - console.log(as.reason); - - const up = new URLPattern("https://example.com/books/:id"); - console.log(up); - `, - }, -}); - -console.log(diagnostics); -console.log(Object.keys(files).sort()); diff --git a/cli/tests/testdata/lib_dom_extras.ts.out b/cli/tests/testdata/lib_dom_extras.ts.out deleted file mode 100644 index 8b5e7adb6..000000000 --- a/cli/tests/testdata/lib_dom_extras.ts.out +++ /dev/null @@ -1,2 +0,0 @@ -[] -[ "[WILDCARD]/main.ts.js", "[WILDCARD]/main.ts.js.map" ] diff --git a/cli/tests/testdata/lib_ref.ts b/cli/tests/testdata/lib_ref.ts deleted file mode 100644 index 2454f8b5d..000000000 --- a/cli/tests/testdata/lib_ref.ts +++ /dev/null @@ -1,16 +0,0 @@ -const { diagnostics, files } = await Deno.emit( - "/main.ts", - { - sources: { - "/main.ts": - `/// \n\ndocument.getElementById("foo");\nDeno.args;`, - }, - compilerOptions: { - target: "es2018", - lib: ["es2018", "deno.ns"], - }, - }, -); - -console.log(diagnostics); -console.log(Object.keys(files).sort()); diff --git a/cli/tests/testdata/lib_ref.ts.out b/cli/tests/testdata/lib_ref.ts.out deleted file mode 100644 index 4e0f933fc..000000000 --- a/cli/tests/testdata/lib_ref.ts.out +++ /dev/null @@ -1,2 +0,0 @@ -[] -[ "file:///[WILDCARD]main.ts.js", "file:///[WILDCARD]main.ts.js.map" ] diff --git a/cli/tests/testdata/lib_runtime_api.ts b/cli/tests/testdata/lib_runtime_api.ts deleted file mode 100644 index 450d9480b..000000000 --- a/cli/tests/testdata/lib_runtime_api.ts +++ /dev/null @@ -1,14 +0,0 @@ -const { diagnostics, files } = await Deno.emit( - "/main.ts", - { - sources: { - "/main.ts": `document.getElementById("foo");`, - }, - compilerOptions: { - lib: ["dom", "esnext"], - }, - }, -); - -console.log(diagnostics); -console.log(Object.keys(files).sort()); diff --git a/cli/tests/testdata/lib_runtime_api.ts.out b/cli/tests/testdata/lib_runtime_api.ts.out deleted file mode 100644 index 4e0f933fc..000000000 --- a/cli/tests/testdata/lib_runtime_api.ts.out +++ /dev/null @@ -1,2 +0,0 @@ -[] -[ "file:///[WILDCARD]main.ts.js", "file:///[WILDCARD]main.ts.js.map" ] diff --git a/cli/tests/testdata/standalone_compiler_ops.ts b/cli/tests/testdata/standalone_compiler_ops.ts deleted file mode 100644 index b95e1222e..000000000 --- a/cli/tests/testdata/standalone_compiler_ops.ts +++ /dev/null @@ -1,12 +0,0 @@ -const { files } = await Deno.emit("/mod.ts", { - bundle: "classic", - sources: { - "/mod.ts": `import { hello } from "/hello.ts"; console.log(hello);`, - "/hello.ts": `export const hello: string = "Hello, Compiler API!"`, - }, - compilerOptions: { - sourceMap: false, - }, -}); - -eval(files["deno:///bundle.js"]); diff --git a/cli/tests/testdata/unstable_worker.ts.out b/cli/tests/testdata/unstable_worker.ts.out index ece47de97..b40bdfeb8 100644 --- a/cli/tests/testdata/unstable_worker.ts.out +++ b/cli/tests/testdata/unstable_worker.ts.out @@ -1,2 +1,2 @@ [Function: query] -[Function: emit] +[Function: setRaw] diff --git a/cli/tests/testdata/workers/worker_unstable.ts b/cli/tests/testdata/workers/worker_unstable.ts index a5b5f7ba2..5d14e228b 100644 --- a/cli/tests/testdata/workers/worker_unstable.ts +++ b/cli/tests/testdata/workers/worker_unstable.ts @@ -1,5 +1,5 @@ console.log(Deno.permissions.query); -console.log(Deno.emit); +console.log(Deno.setRaw); self.onmessage = () => { self.close(); }; -- cgit v1.2.3