diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/assets.ts | 40 | ||||
-rw-r--r-- | js/lib.deno.d.ts | 34 | ||||
-rw-r--r-- | js/runtime.ts | 5 |
3 files changed, 64 insertions, 15 deletions
diff --git a/js/assets.ts b/js/assets.ts index 2eabbc5f9..598b4cc6b 100644 --- a/js/assets.ts +++ b/js/assets.ts @@ -6,8 +6,11 @@ // There is a rollup plugin that will inline any module ending with `!string` // tslint:disable:max-line-length import denoDts from "/js/deno.d.ts!string"; -import libDts from "/third_party/node_modules/typescript/lib/lib.d.ts!string"; -import libDomIterableDts from "/third_party/node_modules/typescript/lib/lib.dom.iterable.d.ts!string"; +// import libDts from "/third_party/node_modules/typescript/lib/lib.d.ts!string"; +import libDenoDts from "/js/lib.deno.d.ts!string"; +// import libDomD qts from "/third_party/node_modules/typescript/lib/lib.dom.d.ts!string"; +// import libDomIterableDts from "/third_party/node_modules/typescript/lib/lib.dom.iterable.d.ts!string"; +import libEs2015Dts from "/third_party/node_modules/typescript/lib/lib.es2015.d.ts!string"; import libEs2015CollectionDts from "/third_party/node_modules/typescript/lib/lib.es2015.collection.d.ts!string"; import libEs2015CoreDts from "/third_party/node_modules/typescript/lib/lib.es2015.core.d.ts!string"; import libEs2015GeneratorDts from "/third_party/node_modules/typescript/lib/lib.es2015.generator.d.ts!string"; @@ -17,29 +20,38 @@ import libEs2015ProxyDts from "/third_party/node_modules/typescript/lib/lib.es20 import libEs2015ReflectDts from "/third_party/node_modules/typescript/lib/lib.es2015.reflect.d.ts!string"; import libEs2015SymbolDts from "/third_party/node_modules/typescript/lib/lib.es2015.symbol.d.ts!string"; import libEs2015SymbolWellknownDts from "/third_party/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts!string"; +import libEs2016Dts from "/third_party/node_modules/typescript/lib/lib.es2016.d.ts!string"; import libEs2016ArrayIncludeDts from "/third_party/node_modules/typescript/lib/lib.es2016.array.include.d.ts!string"; +import libEs2017Dts from "/third_party/node_modules/typescript/lib/lib.es2017.d.ts!string"; import libEs2017IntlDts from "/third_party/node_modules/typescript/lib/lib.es2017.intl.d.ts!string"; import libEs2017ObjectDts from "/third_party/node_modules/typescript/lib/lib.es2017.object.d.ts!string"; import libEs2017SharedmemoryDts from "/third_party/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts!string"; import libEs2017StringDts from "/third_party/node_modules/typescript/lib/lib.es2017.string.d.ts!string"; import libEs2017TypedarraysDts from "/third_party/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts!string"; import libEs2018Dts from "/third_party/node_modules/typescript/lib/lib.es2018.d.ts!string"; +import libEs2018IntlDts from "/third_party/node_modules/typescript/lib/lib.es2018.intl.d.ts!string"; import libEs2018PromiseDts from "/third_party/node_modules/typescript/lib/lib.es2018.promise.d.ts!string"; import libEs2018RegexpDts from "/third_party/node_modules/typescript/lib/lib.es2018.regexp.d.ts!string"; +import libEs5Dts from "/third_party/node_modules/typescript/lib/lib.es5.d.ts!string"; import libEsnextArrayDts from "/third_party/node_modules/typescript/lib/lib.esnext.array.d.ts!string"; import libEsnextAsynciterablesDts from "/third_party/node_modules/typescript/lib/lib.esnext.asynciterable.d.ts!string"; import libEsnextDts from "/third_party/node_modules/typescript/lib/lib.esnext.d.ts!string"; +import libEsnextIntlDts from "/third_party/node_modules/typescript/lib/lib.esnext.intl.d.ts!string"; +import libEsnextSymbolDts from "/third_party/node_modules/typescript/lib/lib.esnext.symbol.d.ts!string"; +// import libScripthost from "/third_party/node_modules/typescript/lib/lib.scripthost.d.ts!string"; +// import libWebworkerImportscripts from "/third_party/node_modules/typescript/lib/lib.webworker.importscripts.d.ts!string"; import typescriptDts from "/third_party/node_modules/typescript/lib/typescript.d.ts!string"; // prettier-ignore export const assetSourceCode: { [key: string]: string } = { "deno.d.ts": denoDts, - "lib.d.ts": libDts, - //"lib.dom.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.dom.d.ts", "utf8"), - "lib.dom.iterable.d.ts": libDomIterableDts, + // "lib.d.ts": libDts, + "lib.deno.d.ts": libDenoDts, + // "lib.dom.d.ts": libDomDts, + // "lib.dom.iterable.d.ts": libDomIterableDts, "lib.es2015.collection.d.ts": libEs2015CollectionDts, "lib.es2015.core.d.ts": libEs2015CoreDts, - //"lib.es2015.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2015.d.ts", "utf8"), + "lib.es2015.d.ts": libEs2015Dts, "lib.es2015.generator.d.ts": libEs2015GeneratorDts, "lib.es2015.iterable.d.ts": libEs2015IterableDts, "lib.es2015.promise.d.ts": libEs2015PromiseDts, @@ -48,9 +60,9 @@ export const assetSourceCode: { [key: string]: string } = { "lib.es2015.symbol.d.ts": libEs2015SymbolDts, "lib.es2015.symbol.wellknown.d.ts": libEs2015SymbolWellknownDts, "lib.es2016.array.include.d.ts": libEs2016ArrayIncludeDts, - //"lib.es2016.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2016.d.ts", "utf8"), + "lib.es2016.d.ts": libEs2016Dts, //"lib.es2016.full.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2016.full.d.ts", "utf8"), - //"lib.es2017.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2017.d.ts", "utf8"), + "lib.es2017.d.ts": libEs2017Dts, //"lib.es2017.full.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2017.full.d.ts", "utf8"), "lib.es2017.intl.d.ts": libEs2017IntlDts, "lib.es2017.object.d.ts": libEs2017ObjectDts, @@ -59,16 +71,20 @@ export const assetSourceCode: { [key: string]: string } = { "lib.es2017.typedarrays.d.ts": libEs2017TypedarraysDts, "lib.es2018.d.ts": libEs2018Dts, //"lib.es2018.full.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es2018.full.d.ts", "utf8"), + "lib.es2018.intl.d.ts": libEs2018IntlDts, "lib.es2018.promise.d.ts": libEs2018PromiseDts, "lib.es2018.regexp.d.ts": libEs2018RegexpDts, - //"lib.es5.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es5.d.ts", "utf8"), + "lib.es5.d.ts": libEs5Dts, //"lib.es6.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.es6.d.ts", "utf8"), + "lib.esnext.d.ts": libEsnextDts, "lib.esnext.array.d.ts": libEsnextArrayDts, "lib.esnext.asynciterable.d.ts": libEsnextAsynciterablesDts, - "lib.esnext.d.ts": libEsnextDts, + "lib.esnext.intl.d.ts": libEsnextIntlDts, + "lib.esnext.symbol.d.ts": libEsnextSymbolDts, //"lib.esnext.full.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.esnext.full.d.ts", "utf8"), - //"lib.scripthost.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.scripthost.d.ts", "utf8"), - //"lib.webworker.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/lib.webworker.d.ts", "utf8"), + // "lib.scripthost.d.ts": libScripthost, + // "lib.webworker.d.ts": libWebworker, + // "lib.webworker.importscripts.d.ts": libWebworkerImportscripts, //"protocol.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/protocol.d.ts", "utf8"), //"tsserverlibrary.d.ts": readFileSync(__dirname + "/../third_party/node_modules/typescript/lib/tsserverlibrary.d.ts", "utf8"), "typescript.d.ts": typescriptDts, diff --git a/js/lib.deno.d.ts b/js/lib.deno.d.ts new file mode 100644 index 000000000..fd337abb0 --- /dev/null +++ b/js/lib.deno.d.ts @@ -0,0 +1,34 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. + +// This file contains the default TypeScript libraries for the runtime + +/// <reference no-default-lib="true"/> + +/// <reference lib="esnext" /> + +// TODO generate `console.d.ts` and inline it in `assets.ts` and remove +// declaration of `Console` +// import { Console } from 'gen/console'; + +declare class Console { + // tslint:disable-next-line:no-any + log(...args: any[]): void; + // tslint:disable-next-line:no-any + debug(...args: any[]): void; + // tslint:disable-next-line:no-any + info(...args: any[]): void; + // tslint:disable-next-line:no-any + warn(...args: any[]): void; + // tslint:disable-next-line:no-any + error(...args: any[]): void; + // tslint:disable-next-line:no-any + assert(condition: boolean, ...args: any[]): void; +} + +interface Window { + console: Console; +} + +// Globals in the runtime environment +declare let console: Console; +declare const window: Window; diff --git a/js/runtime.ts b/js/runtime.ts index 6f2007268..79f463759 100644 --- a/js/runtime.ts +++ b/js/runtime.ts @@ -214,9 +214,8 @@ class Compiler { module: ts.ModuleKind.AMD, outDir: "$deno$", inlineSourceMap: true, - lib: ["es2017"], inlineSources: true, - target: ts.ScriptTarget.ES2017 + target: ts.ScriptTarget.ESNext }; /* allowJs: true, @@ -317,7 +316,7 @@ class TypeScriptHost implements ts.LanguageServiceHost { } getDefaultLibFileName(options: ts.CompilerOptions): string { - const fn = "lib.d.ts"; // ts.getDefaultLibFileName(options); + const fn = "lib.deno.d.ts"; // ts.getDefaultLibFileName(options); util.log("getDefaultLibFileName", fn); const m = resolveModule(fn, "/$asset$/"); return m.fileName; |