summaryrefslogtreecommitdiff
path: root/cli/js/ts_global.d.ts
blob: bca602998ded19923a6fb05fb6c036110e410080 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.

// This scopes the `ts` namespace globally, which is where it exists at runtime
// when building Deno, but the `typescript/lib/typescript.d.ts` is defined as a
// module.

// Warning! This is a magical import. We don't want to have multiple copies of
// typescript.d.ts around the repo, there's already one in
// deno_typescript/typescript/lib/typescript.d.ts. Ideally we could simply point
// to that in this import specifier, but "cargo package" is very strict and
// requires all files to be present in a crate's subtree.
// to get proper editor intellisense, you can substitute "$asset$" with
// "../../deno_typescript/typescript/lib" - remember to revert before committing
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import * as ts_ from "$asset$/typescript.d.ts";

declare global {
  namespace ts {
    export = ts_;
  }

  namespace ts {
    // this are marked @internal in TypeScript, but we need to access them,
    // there is a risk these could change in future versions of TypeScript
    export const libs: string[];
    export const libMap: Map<string, string>;
  }
}