1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-14 16:33:45 -05:00
denoland-deno/cli/js
Bartek Iwańczuk 3cbd1075c7
Incremental compilation for TypeScript (#6428)
This commit adds incremental compilation capabilities to internal TS compiler.

Instead of using "ts.createProgram()" API for compilation step (during deno 
startup), "ts.createIncrementalProgram()" API is used instead.

Thanks to TS' ".tsbuildinfo" file that already stores all necessary metadata
for compilation I was able to remove our own invention that is ".graph" file. 
".tsbuildinfo" file is stored alongside compiled source and is used to 
cache-bust outdated dependencies, facilitated by the "version" field. 
The value for "version" field is computed in Rust during loading of module 
graph and is basically a hash of the file contents.

Please keep in mind that incremental compilation is only used for initial 
compilation (or dynamic imports compilation) - bundling and runtime compiler 
APIs haven't been changed at all.

Due to problems with source map I changed compilation settings to inline 
source map (inlineSourceMap instead of sourceMap).
2020-06-24 16:59:12 +02:00
..
ops feat(unstable): add Deno.fstatSync and fstat (#6425) 2020-06-22 08:58:52 -04:00
web fix(cli/js/web/console): Improve string quoting behaviour (#6457) 2020-06-24 09:47:05 -04:00
buffer.ts fix: Remove try-catch from Buffer.readFrom, readFromSync (#6161) 2020-06-10 11:54:54 -04:00
build.ts BREAKING: Use LLVM target triple for Deno.build (#4948) 2020-04-28 12:35:23 -04:00
colors.ts Provide better ANSI colorized output when inspecting objects (#5404) 2020-05-19 14:19:26 -04:00
compiler.ts Incremental compilation for TypeScript (#6428) 2020-06-24 16:59:12 +02:00
compiler_api.ts refactor: merge TS compiler into single file (#5091) 2020-05-06 00:19:18 +02:00
compiler_options.ts refactor: merge TS compiler into single file (#5091) 2020-05-06 00:19:18 +02:00
core.ts Use globalThis to reference global scope (#3719) 2020-01-20 09:30:30 -05:00
deno.ts Revert "feat: add Deno.osName()" (#6261) 2020-06-12 09:53:53 -04:00
deno_unstable.ts feat(unstable): add Deno.fstatSync and fstat (#6425) 2020-06-22 08:58:52 -04:00
diagnostics.ts Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
diagnostics_util.ts Remove Deno.dir and dirs dependency (#6385) 2020-06-20 23:49:27 -04:00
error_stack.ts Revert "fix: Use # to denote line number in stack traces" (#6119) 2020-06-05 11:37:40 -04:00
errors.ts Make writeSync, readSync, seekSync, openSync, isatty proper synchronous syscalls (#4762) 2020-04-15 20:43:19 -04:00
files.ts feat: URL support in Deno filesystem methods (#5990) 2020-06-11 12:36:20 -04:00
globals.ts core: add Deno.core.dispatchByName (#6395) 2020-06-21 16:34:43 +02:00
globals_unstable.ts Unstable methods should not appear in runtime or d.ts (#4957) 2020-04-30 11:23:40 -04:00
internals.ts BREAKING: Remove Deno.symbols namespace (#4936) 2020-04-28 01:06:03 +02:00
io.ts fix: bug in Deno.copy (#4977) 2020-04-28 21:30:48 -04:00
lib.deno.ns.d.ts feat: Add TestDefinition::only (#5793) 2020-06-12 11:58:04 -04:00
lib.deno.shared_globals.d.ts fix(cli/js/web/worker): Disable relative module specifiers (#5266) 2020-06-09 14:33:52 +02:00
lib.deno.unstable.d.ts feat(unstable): add Deno.fstatSync and fstat (#6425) 2020-06-22 08:58:52 -04:00
lib.deno.window.d.ts feat(workers): "crypto" global accessible in Worker scope (#5121) 2020-05-08 14:30:53 +02:00
lib.deno.worker.d.ts BREAKING: remove window.location and self.location (#5034) 2020-05-01 20:15:28 +02:00
main.ts remove bootstrap methods from global scope after bootstrapping (#4869) 2020-04-25 01:03:45 +02:00
net.ts fix: DatagramConn.send should return bytes sent (#6265) 2020-06-13 10:14:31 -04:00
net_unstable.ts Unstable methods should not appear in runtime or d.ts (#4957) 2020-04-30 11:23:40 -04:00
permissions.ts refactor(cli/js/permissions): Split read and write permission descriptors (#4774) 2020-04-28 16:43:58 +02:00
process.ts fix(cli/js/process): Always return a code in ProcessStatus (#5244) 2020-06-10 11:10:08 -04:00
rbtree.ts Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
read_file.ts feat: URL support in Deno filesystem methods (#5990) 2020-06-11 12:36:20 -04:00
read_text_file.ts feat: URL support in Deno filesystem methods (#5990) 2020-06-11 12:36:20 -04:00
repl.ts fix: Better use of @ts-expect-error (#6038) 2020-06-02 00:24:44 -04:00
runtime.ts core: add Deno.core.dispatchByName (#6395) 2020-06-21 16:34:43 +02:00
runtime_main.ts feat: Add Deno.mainModule (#6180) 2020-06-10 23:00:29 -04:00
runtime_worker.ts fix: Better use of @ts-expect-error (#6038) 2020-06-02 00:24:44 -04:00
signals.ts BREAKING: Use LLVM target triple for Deno.build (#4948) 2020-04-28 12:35:23 -04:00
testing.ts fix: "deno test" should respect NO_COLOR=true (#6371) 2020-06-19 12:10:31 +02:00
tls.ts BREAKING CHANGE: rename TLS APIs to camel case (#4888) 2020-04-24 23:29:14 +02:00
ts_global.d.ts Add ability to output compiler performance information (#6434) 2020-06-24 11:58:23 +02:00
util.ts fix: decode path properly on win32 (#6351) 2020-06-18 06:10:07 -04:00
version.ts Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
write_file.ts feat: URL support in Deno filesystem methods (#5990) 2020-06-11 12:36:20 -04:00
write_text_file.ts feat: URL support in Deno filesystem methods (#5990) 2020-06-11 12:36:20 -04:00