diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-09-30 12:38:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-30 12:38:23 -0400 |
commit | ae26a9c7a22bf3311648a93a3171f087490c6e4d (patch) | |
tree | 8a2a4c9264cc842579375d47b915b15456845eca | |
parent | 5f7ab4884c4009943c1ede3343ab03750ea4a9e1 (diff) |
Support top-level-await in TypeScript (#3024)
-rw-r--r-- | cli/tests/integration_tests.rs | 5 | ||||
-rw-r--r-- | cli/tests/top_level_await.ts | 3 | ||||
-rw-r--r-- | js/compiler.ts | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs index 99ab54a02..0e0407180 100644 --- a/cli/tests/integration_tests.rs +++ b/cli/tests/integration_tests.rs @@ -567,3 +567,8 @@ itest!(top_level_await { args: "--allow-read top_level_await.js", output: "top_level_await.out", }); + +itest!(top_level_await_ts { + args: "--allow-read top_level_await.ts", + output: "top_level_await.out", +}); diff --git a/cli/tests/top_level_await.ts b/cli/tests/top_level_await.ts new file mode 100644 index 000000000..65de253ea --- /dev/null +++ b/cli/tests/top_level_await.ts @@ -0,0 +1,3 @@ +const buf: Uint8Array = await Deno.readFile("hello.txt"); +const n: number = await Deno.stdout.write(buf); +console.log(`\n\nwrite ${n}`); diff --git a/js/compiler.ts b/js/compiler.ts index 1e1fe3dd3..56804ef9f 100644 --- a/js/compiler.ts +++ b/js/compiler.ts @@ -539,6 +539,9 @@ window.compilerMain = function compilerMain(): void { diagnostics = ts.getPreEmitDiagnostics(program).filter( ({ code }): boolean => { + // TS1308: 'await' expression is only allowed within an async + // function. + if (code === 1308) return false; // TS2691: An import path cannot end with a '.ts' extension. Consider // importing 'bad-module' instead. if (code === 2691) return false; |