1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
denoland-deno/cli
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
..
doc Revert "feat: add Deno.osName()" (#6261) 2020-06-12 09:53:53 -04:00
js Incremental compilation for TypeScript (#6428) 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
tests Incremental compilation for TypeScript (#6428) 2020-06-24 16:59:12 +02:00
build.rs Unstable methods should not appear in runtime or d.ts (#4957) 2020-04-30 11:23:40 -04:00
Cargo.toml Remove Deno.dir and dirs dependency (#6385) 2020-06-20 23:49:27 -04:00
checksum.rs refactor(cli/checksum): use map to generate hex string (#6382) 2020-06-19 11:03:33 -04:00
colors.rs Add diff for "deno fmt --check" (#5599) 2020-06-06 09:07:59 -04:00
deno_dir.rs Remove Deno.dir and dirs dependency (#6385) 2020-06-20 23:49:27 -04:00
diagnostics.rs fix some unwrap() in Rust (#5485) 2020-05-16 09:41:32 -04:00
diff.rs Add diff for "deno fmt --check" (#5599) 2020-06-06 09:07:59 -04:00
disk_cache.rs fix: WebAssembly runtime error propagation (#6137) 2020-06-11 11:03:27 -04:00
file_fetcher.rs refactor(compiler): split code paths for compile and bundle (#6304) 2020-06-19 12:27:15 +02:00
flags.rs fix(cli): ipv6 parsing for --allow-net params (#6453) 2020-06-24 09:43:29 -04:00
fmt.rs chore: move fmt test to integration tests (#6340) 2020-06-17 21:50:30 +02:00
fmt_errors.rs feat: "deno lint" subcommand (#6125) 2020-06-08 14:06:20 +02:00
fs.rs Add ability to output compiler performance information (#6434) 2020-06-24 11:58:23 +02:00
global_state.rs Incremental compilation for TypeScript (#6428) 2020-06-24 16:59:12 +02:00
global_timer.rs clippy (#4618) 2020-04-03 22:41:16 -04:00
http_cache.rs fix: create HTTP cache lazily (#5795) 2020-05-24 19:20:40 +02:00
http_util.rs chore(test): move testing utilities to test_util crate (#6360) 2020-06-18 11:54:55 -04:00
import_map.rs update references to testing/mod.ts in manual (#3973) 2020-02-11 21:50:20 +01:00
inspector.rs refactor: Split isolate and state using safe get_slot() (#5929) 2020-05-29 17:41:39 -04:00
installer.rs To find home dir, use only $USERPROFILE on Windows, $HOME on Posix (#6132) 2020-06-05 22:15:05 +02:00
js.rs BREAKING: Remove support for .wasm imports (#5135) 2020-05-07 20:43:27 +02:00
lint.rs feat(lint): add --rules flag (#6264) 2020-06-12 16:42:12 +02:00
lockfile.rs fix: source maps in inspector (#5223) 2020-05-11 23:48:36 +02:00
main.rs fix(cli): ipv6 parsing for --allow-net params (#6453) 2020-06-24 09:43:29 -04:00
metrics.rs feat: update metrics to track different op types (#4221) 2020-03-02 19:13:36 +01:00
module_graph.rs Incremental compilation for TypeScript (#6428) 2020-06-24 16:59:12 +02:00
msg.rs refactor(compiler): split code paths for compile and bundle (#6304) 2020-06-19 12:27:15 +02:00
op_error.rs Make writeSync, readSync, seekSync, openSync, isatty proper synchronous syscalls (#4762) 2020-04-15 20:43:19 -04:00
permissions.rs Move to allowlist and blocklist (#6282) 2020-06-13 13:09:39 -04:00
README.md update readmes (#3765) 2020-01-23 22:32:52 +01:00
repl.rs Remove REPL/Windows hack (#5136) 2020-05-07 12:01:27 -04:00
resolve_addr.rs remove calls to futures::executor::block_on (#4760) 2020-04-15 23:14:28 -04:00
resolve_hosts.rs fix(cli): ipv6 parsing for --allow-net params (#6453) 2020-06-24 09:43:29 -04:00
signal.rs Implement Deno.kill for windows (#5347) 2020-05-17 19:11:24 +02:00
source_maps.rs Remove unused check-only feature (#6035) 2020-06-02 14:56:21 -04:00
startup_data.rs Remove unused check-only feature (#6035) 2020-06-02 14:56:21 -04:00
state.rs feat(core): Ops can take several zero copy buffers (#4788) 2020-06-01 14:20:47 -04:00
swc_util.rs refactor(compiler): split code paths for compile and bundle (#6304) 2020-06-19 12:27:15 +02:00
test_runner.rs chore(test): move testing utilities to test_util crate (#6360) 2020-06-18 11:54:55 -04:00
tokio_util.rs workers: basic event loop (#3828) 2020-02-11 10:04:59 +01:00
tsc.rs Incremental compilation for TypeScript (#6428) 2020-06-24 16:59:12 +02:00
upgrade.rs Fix failure message for deno upgrade (#6348) 2020-06-17 21:38:52 -04:00
version.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
web_worker.rs refactor(compiler): split code paths for compile and bundle (#6304) 2020-06-19 12:27:15 +02:00
worker.rs chore(test): move testing utilities to test_util crate (#6360) 2020-06-18 11:54:55 -04:00

Deno CLI Crate

crates docs

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core and deno_typescript to provide the executable.