0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/cli/tsc/01_internals.js
Ryan Dahl bf9930066d
Reduce size of TypeScript Compiler snapshot (#6809)
This PR is intentionally ugly. It duplicates all of the code in cli/js2/ into
cli/tsc/  ... because it's very important that we all understand that this code
is unnecessarily duplicated in our binary. I hope this ugliness provides the
motivation to clean it up.

The typescript git submodule is removed, because it's a very large repo and
contains all sorts of stuff we don't need. Instead the necessary files are
copied directly into the deno repo. Hence +200k lines.

COMPILER_SNAPSHOT.bin size
```
master         3448139
this branch    3320972
```

Fixes #6812
2020-07-22 12:03:46 -04:00

23 lines
593 B
JavaScript

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
((window) => {
const internalSymbol = Symbol("Deno.internal");
// The object where all the internal fields for testing will be living.
const internalObject = {};
// Register a field to internalObject for test access,
// through Deno[Deno.internal][name].
function exposeForTest(name, value) {
Object.defineProperty(internalObject, name, {
value,
enumerable: false,
});
}
window.__bootstrap.internals = {
internalSymbol,
internalObject,
exposeForTest,
};
})(this);