mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
chore(types): fix type checking errors in 99_main_compiler.js (#18403)
This commit is contained in:
parent
d740a9e43d
commit
675179a176
2 changed files with 30 additions and 18 deletions
|
@ -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);
|
||||
|
|
16
cli/tsc/compiler.d.ts
vendored
16
cli/tsc/compiler.d.ts
vendored
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue