diff options
Diffstat (limited to 'cli/js/compiler_bundler.ts')
-rw-r--r-- | cli/js/compiler_bundler.ts | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/cli/js/compiler_bundler.ts b/cli/js/compiler_bundler.ts index 8fb68cc7a..a4e4557ca 100644 --- a/cli/js/compiler_bundler.ts +++ b/cli/js/compiler_bundler.ts @@ -1,6 +1,7 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import { bundleLoader } from "./compiler_bootstrap.ts"; +import * as dispatch from "./dispatch.ts"; +import { sendSync } from "./dispatch_json.ts"; import { assert, commonPath, @@ -8,6 +9,11 @@ import { CHAR_FORWARD_SLASH } from "./util.ts"; +const BUNDLE_LOADER = "bundle_loader.js"; + +/** A loader of bundled modules that we will inline into any bundle outputs. */ +let bundleLoader: string; + /** Local state of what the root exports are of a root module. */ let rootExports: string[] | undefined; @@ -34,6 +40,12 @@ export function buildBundle( data: string, sourceFiles: readonly ts.SourceFile[] ): string { + // we can only do this once we are bootstrapped and easiest way to do it is + // inline here + if (!bundleLoader) { + bundleLoader = sendSync(dispatch.OP_FETCH_ASSET, { name: BUNDLE_LOADER }); + } + // when outputting to AMD and a single outfile, TypeScript makes up the module // specifiers which are used to define the modules, and doesn't expose them // publicly, so we have to try to replicate |