Migrate internal bundles to System (#4233)

This commit is contained in:
Kitson Kelly 2020-03-05 00:26:00 +11:00 committed by GitHub
parent 70fe1f9fd3
commit 30682cf74f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 142 additions and 216 deletions

View file

@ -109,14 +109,14 @@ test(async function bundleApiSources() {
"/bar.ts": `export const bar = "bar";\n`
});
assert(diagnostics == null);
assert(actual.includes(`__inst_s("foo")`));
assert(actual.includes(`__instantiate("foo")`));
assert(actual.includes(`__exp["bar"]`));
});
test(async function bundleApiNoSources() {
const [diagnostics, actual] = await bundle("./cli/tests/subdir/mod1.ts");
assert(diagnostics == null);
assert(actual.includes(`__inst_s("mod1")`));
assert(actual.includes(`__instantiate("mod1")`));
assert(actual.includes(`__exp["printHello3"]`));
});

View file

@ -50,8 +50,8 @@ export function buildBundle(
let instantiate: string;
if (rootExports && rootExports.length) {
instantiate = hasTla
? `const __exp = await __inst("${rootName}");\n`
: `const __exp = __inst_s("${rootName}");\n`;
? `const __exp = await __instantiateAsync("${rootName}");\n`
: `const __exp = __instantiate("${rootName}");\n`;
for (const rootExport of rootExports) {
if (rootExport === "default") {
instantiate += `export default __exp["${rootExport}"];\n`;
@ -61,8 +61,8 @@ export function buildBundle(
}
} else {
instantiate = hasTla
? `await __inst("${rootName}");\n`
: `__inst_s("${rootName}");\n`;
? `await __instantiateAsync("${rootName}");\n`
: `__instantiate("${rootName}");\n`;
}
return `${SYSTEM_LOADER}\n${data}\n${instantiate}`;
}

View file

@ -7,6 +7,9 @@
// - `bootstrapMainRuntime` - must be called once, when Isolate is created.
// It sets up runtime by providing globals for `WindowScope` and adds `Deno` global.
import * as Deno from "./deno.ts";
import * as domTypes from "./dom_types.ts";
import * as csprng from "./get_random_values.ts";
import {
readOnly,
writable,
@ -14,21 +17,18 @@ import {
windowOrWorkerGlobalScopeProperties,
eventTargetProperties
} from "./globals.ts";
import * as domTypes from "./dom_types.ts";
import { log } from "./util.ts";
import * as runtime from "./runtime.ts";
import { args } from "./deno.ts";
import * as csprng from "./get_random_values.ts";
import { replLoop } from "./repl.ts";
import { setSignals } from "./process.ts";
import * as Deno from "./deno.ts";
import { internalObject } from "./internals.ts";
import { setSignals } from "./process.ts";
import { replLoop } from "./repl.ts";
import * as runtime from "./runtime.ts";
import { symbols } from "./symbols.ts";
import { log } from "./util.ts";
// TODO: factor out `Deno` global assignment to separate function
// Add internal object to Deno object.
// This is not exposed as part of the Deno types.
// @ts-ignore
Deno[Deno.symbols.internal] = internalObject;
Deno[symbols.internal] = internalObject;
export const mainRuntimeGlobalProperties = {
window: readOnly(globalThis),
@ -74,10 +74,10 @@ export function bootstrapMainRuntime(): void {
log("cwd", s.cwd);
for (let i = 0; i < s.args.length; i++) {
args.push(s.args[i]);
Deno.args.push(s.args[i]);
}
log("args", args);
Object.freeze(args);
log("args", Deno.args);
Object.freeze(Deno.args);
if (s.repl) {
replLoop();