summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-03-24 10:35:44 -0400
committerGitHub <noreply@github.com>2023-03-24 10:35:44 -0400
commit675179a176add68dcd72f386b343c3dba1fe71fe (patch)
tree97622a5630eb5a6c2f0464ea8a7347f1985f1c0c
parentd740a9e43dad5b3824c3ff2f4aa66cc57a1db185 (diff)
chore(types): fix type checking errors in 99_main_compiler.js (#18403)
-rw-r--r--cli/tsc/99_main_compiler.js32
-rw-r--r--cli/tsc/compiler.d.ts16
2 files changed, 30 insertions, 18 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js
index c7df8e85d..a00b946e2 100644
--- a/cli/tsc/99_main_compiler.js
+++ b/cli/tsc/99_main_compiler.js
@@ -12,7 +12,7 @@
// https://tc39.es/ecma262/#sec-get-object.prototype.__proto__
delete Object.prototype.__proto__;
-((window) => {
+((/** @type {any} */ window) => {
/** @type {DenoCore} */
const core = window.Deno.core;
const ops = core.ops;
@@ -48,6 +48,10 @@ delete Object.prototype.__proto__;
: { languageVersion: versionOrOptions ?? ts.ScriptTarget.ESNext };
}
+ /**
+ * @param debug {boolean}
+ * @param source {string}
+ */
function setLogDebug(debug, source) {
logDebug = debug;
if (source) {
@@ -55,10 +59,12 @@ delete Object.prototype.__proto__;
}
}
+ /** @param msg {string} */
function printStderr(msg) {
core.print(msg, true);
}
+ /** @param args {any[]} */
function debug(...args) {
if (logDebug) {
const stringifiedArgs = args.map((arg) =>
@@ -68,6 +74,7 @@ delete Object.prototype.__proto__;
}
}
+ /** @param args {any[]} */
function error(...args) {
const stringifiedArgs = args.map((arg) =>
typeof arg === "string" || arg instanceof Error
@@ -78,12 +85,14 @@ delete Object.prototype.__proto__;
}
class AssertionError extends Error {
+ /** @param msg {string} */
constructor(msg) {
super(msg);
this.name = "AssertionError";
}
}
+ /** @param cond {boolean} */
function assert(cond, msg = "Assertion failed.") {
if (!cond) {
throw new AssertionError(msg);
@@ -101,6 +110,7 @@ delete Object.prototype.__proto__;
}
}
+ /** @param specifier {string} */
has(specifier) {
return this.#cache.has(specifier);
}
@@ -245,7 +255,9 @@ delete Object.prototype.__proto__;
sourceFile,
scriptSnapshot,
version,
- scriptSnapshot.getChangeRange(sourceFile.scriptSnapShot),
+ scriptSnapshot.getChangeRange(
+ /** @type {ts.IScriptSnapshot} */ (sourceFile.scriptSnapShot),
+ ),
);
}
return sourceFile;
@@ -1284,7 +1296,7 @@ delete Object.prototype.__proto__;
// we are caching in memory common type libraries that will be re-used by
// tsc on when the snapshot is restored
assert(
- host.getSourceFile(
+ !!host.getSourceFile(
`${ASSETS_URL_PREFIX}${specifier}`,
ts.ScriptTarget.ESNext,
),
@@ -1303,14 +1315,16 @@ delete Object.prototype.__proto__;
// remove this now that we don't need it anymore for warming up tsc
sourceFileCache.delete(buildSpecifier);
- // exposes the two functions that are called by `tsc::exec()` when type
+ // exposes the functions that are called by `tsc::exec()` when type
// checking TypeScript.
- globalThis.startup = startup;
- globalThis.exec = exec;
- globalThis.getAssets = getAssets;
+ /** @type {any} */
+ const global = globalThis;
+ global.startup = startup;
+ global.exec = exec;
+ global.getAssets = getAssets;
// exposes the functions that are called when the compiler is used as a
// language service.
- globalThis.serverInit = serverInit;
- globalThis.serverRequest = serverRequest;
+ global.serverInit = serverInit;
+ global.serverRequest = serverRequest;
})(this);
diff --git a/cli/tsc/compiler.d.ts b/cli/tsc/compiler.d.ts
index 24548d16d..a1ee45797 100644
--- a/cli/tsc/compiler.d.ts
+++ b/cli/tsc/compiler.d.ts
@@ -2,7 +2,7 @@
// Contains types that can be used to validate and check `99_main_compiler.js`
-import * as _ts from "./dts/typescript";
+import * as _ts from "./dts/typescript.d.ts";
declare global {
namespace ts {
@@ -10,9 +10,10 @@ declare global {
var libMap: Map<string, string>;
var base64encode: (host: ts.CompilerHost, input: string) => string;
var normalizePath: (path: string) => string;
+
interface SourceFile {
version?: string;
- fileName: string;
+ scriptSnapShot?: _ts.IScriptSnapshot;
}
interface CompilerHost {
@@ -26,16 +27,13 @@ declare global {
var performance: Performance;
- namespace deno {
- function setIsNodeSourceFileCallback(
- callback: (sourceFile: SourceFile) => boolean,
- );
- function setNodeBuiltInModuleNames(names: readonly string[]);
- function setNodeOnlyGlobalNames(names: readonly string[]);
- }
+ function setLocalizedDiagnosticMessages(
+ messages: Record<string, string>,
+ ): void;
}
namespace ts {
+ // @ts-ignore allow using an export = here
export = _ts;
}