summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2018-07-27 16:51:19 +1000
committerRyan Dahl <ry@tinyclouds.org>2018-07-31 20:47:49 -0400
commit36fa1cea4a6c7c4ae5ac93974843fcdcd4557fef (patch)
tree785284c625e59ecaf13b1bf9c211354bb3d206c0 /js
parentb44c235579ac9fbef14d4d33e21f266d0a2ff73e (diff)
Upgrade TypeScript (3.0.1)
Update runtime to use lib.deno.d.ts Add proper console declaration Upgrade prettier (There was an issue formatting lib.deno.d.ts)
Diffstat (limited to 'js')
-rw-r--r--js/assets.ts40
-rw-r--r--js/lib.deno.d.ts34
-rw-r--r--js/runtime.ts5
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;