0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/js
Kitson Kelly d9ff4eccb5 Async compiler processing (#3043)
Basically this does pre-processing of TypeScript files and gathers all the
dependencies asynchronously. Only then after all the dependencies are gathered,
does it do a compile, which at that point all the dependencies are cached in
memory in the compiler, so with the exception of the hard coded assets, there
are no ops during the compilation.

Because op_fetch_source_files is now handled asynchronously in the runtime, we
can eliminate the tokio_util::block_on() which was causing the increase in
threads. Benchmarking on my machine has shown about a 5% improvement in speed
when dealing with compiling TypeScript. Still a long way to go, but an
improvement.

In theory the module name resolution and the fetching of the source files could
be broken out as two different ops. This would prevent situations of sending the
full source file all the time when actually the module is the same module
referenced by multiple modules, but that could be done subsequently to this.
2019-10-03 07:23:29 -04:00
..
deps/https/deno.land dial/listen API change (#3000) 2019-09-20 18:32:18 -04:00
mixins Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
base64.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
blob.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
blob_test.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
body.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
body_test.ts Expose the DOM Body interface globally (#2903) 2019-09-10 10:57:17 -04:00
buffer.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
buffer_test.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
build.rs Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
build.ts refactor: remove Deno.platform (#2895) 2019-09-09 23:39:42 -04:00
build_test.ts Remove Deno.build.args feature (#2728) 2019-08-05 18:00:45 -04:00
Cargo.toml v0.19.0 2019-09-25 10:58:35 -04:00
chmod.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
chmod_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
chown.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
chown_test.ts Add Deno.chown (#2292) 2019-05-07 21:58:57 -04:00
colors.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
compiler.ts Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
console.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
console_table.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
console_test.ts add console.dirxml (#2835) 2019-08-29 10:56:26 -04:00
copy_file.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
copy_file_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
core.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
custom_event.ts Remove some non-standard web API constructors (#2970) 2019-09-17 12:17:12 -04:00
custom_event_test.ts Remove some non-standard web API constructors (#2970) 2019-09-17 12:17:12 -04:00
deno.ts Add Deno.hostname() (#3032) 2019-09-27 19:09:42 -04:00
diagnostics.ts Update to TypeScript 3.6.3 (#2969) 2019-09-17 12:24:44 -04:00
dir.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
dir_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
dispatch.ts Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
dispatch_json.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
dispatch_json_test.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
dispatch_minimal.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
dom_file.ts Rename class name DenoFile to DomFileImpl (#3006) 2019-09-23 11:07:13 -04:00
dom_types.ts Support window.onload (#2643) 2019-07-16 00:19:26 -04:00
dom_util.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
error_stack.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
error_stack_test.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
errors.ts Remove flatbuffers (#2818) 2019-08-26 17:02:34 -04:00
event.ts Remove some non-standard web API constructors (#2970) 2019-09-17 12:17:12 -04:00
event_target.ts Remove some non-standard web API constructors (#2970) 2019-09-17 12:17:12 -04:00
event_target_test.ts Default 'this' to window in EventTarget (#2918) 2019-09-11 12:53:01 -04:00
event_test.ts Remove some non-standard web API constructors (#2970) 2019-09-17 12:17:12 -04:00
fetch.ts fetch: implement bodyUsed (#2877) 2019-09-07 12:20:30 -04:00
fetch_test.ts dial/listen API change (#3000) 2019-09-20 18:32:18 -04:00
file_info.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
file_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
files.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
files_test.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
form_data.ts Rename class name DenoFile to DomFileImpl (#3006) 2019-09-23 11:07:13 -04:00
form_data_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
format_error.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
get_random_values.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
get_random_values_test.ts Add crypto.getRandomValues() (#2327) 2019-05-17 14:03:01 -04:00
globals.ts feat: window.onunload (#3023) 2019-10-02 11:32:51 -04:00
globals_test.ts Make window compatible with ts 3.6 (#2984) 2019-09-19 11:40:52 -04:00
headers.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
headers_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
io.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
lib.deno_runtime.d.ts feat: Add support for passing a key to Deno.env() (#2952) 2019-10-02 11:55:28 -04:00
lib.rs Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
lib.web_assembly.d.ts Update ts_library_builder (#1920) 2019-03-25 00:23:24 -04:00
link.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
link_test.ts Fix permission requirements for Deno.rename() and Deno.link() (#2737) 2019-08-13 09:39:01 -04:00
location.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
location_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
main.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
make_temp_dir.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
make_temp_dir_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
metrics.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
metrics_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
mkdir.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
mkdir_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
mock_builtin.js chore: update license lines (#1557) 2019-01-21 13:03:30 -06:00
net.ts fix: listenDefaults/dialDefaults may be overriden in some cases (#3027) 2019-09-26 09:14:13 -04:00
net_test.ts dial/listen API change (#3000) 2019-09-20 18:32:18 -04:00
os.ts feat: Add support for passing a key to Deno.env() (#2952) 2019-10-02 11:55:28 -04:00
os_test.ts feat: Add support for passing a key to Deno.env() (#2952) 2019-10-02 11:55:28 -04:00
performance.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
performance_test.ts Rename --allow-high-precision to --allow-hrtime (#2398) 2019-05-23 19:28:29 +03:00
permissions.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
permissions_test.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
process.ts Remove replacements hack in deno_typescript (#2864) 2019-09-06 12:57:15 -04:00
process_test.ts refactor: remove Deno.platform (#2895) 2019-09-09 23:39:42 -04:00
read_dir.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
read_dir_test.ts Remove FileInfo.path 2019-05-15 21:14:17 -04:00
read_file.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
read_file_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
read_link.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
read_link_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
README.md Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
remove.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
remove_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
rename.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
rename_test.ts Fix permission requirements for Deno.rename() and Deno.link() (#2737) 2019-08-13 09:39:01 -04:00
repl.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
request.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
request_test.ts Remove @stardazed/streams 2019-08-28 18:25:15 -04:00
resources.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
resources_test.ts dial/listen API change (#3000) 2019-09-20 18:32:18 -04:00
stat.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
stat_test.ts Move integration tests to //cli/tests/ (#2964) 2019-09-16 21:05:14 -04:00
symlink.ts refactor: remove Deno.platform (#2895) 2019-09-09 23:39:42 -04:00
symlink_test.ts refactor: remove Deno.platform (#2895) 2019-09-09 23:39:42 -04:00
test_util.ts fetch: implement bodyUsed (#2877) 2019-09-07 12:20:30 -04:00
text_encoding.ts Implement ignoreBOM option of UTF8Decoder in text_encoding (#3040) 2019-10-01 20:08:51 -04:00
text_encoding_test.ts Implement ignoreBOM option of UTF8Decoder in text_encoding (#3040) 2019-10-01 20:08:51 -04:00
timers.ts js: reschedule global timer if it fires earlier than expected (#2989) 2019-09-20 19:00:12 +02:00
timers_test.ts clearTimeout's params should not be bigint (#2838) 2019-08-30 11:51:53 -04:00
tls.ts feat: Add Deno.dialTLS() 2019-09-23 15:12:42 -04:00
tls_test.ts feat: Add Deno.dialTLS() 2019-09-23 15:12:42 -04:00
truncate.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
truncate_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
ts_global.d.ts Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
type_directives.ts Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
types.ts Split out compiler snapshot (#1566) 2019-01-28 20:41:28 -05:00
unit_test_runner.ts Make Deno.execPath a function (#2743) 2019-08-06 17:05:47 -04:00
unit_tests.ts feat: Add Deno.dialTLS() 2019-09-23 15:12:42 -04:00
url.ts Default base URL path to '/' (#2921) 2019-09-11 16:20:54 -04:00
url_search_params.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
url_search_params_test.ts fix urlSearchParams custom symbol iterator (#2537) 2019-06-17 08:39:23 -07:00
url_test.ts Default base URL path to '/' (#2921) 2019-09-11 16:20:54 -04:00
util.ts Fix debug logging in runtime/compiler (#2953) 2019-09-15 11:04:05 -04:00
utime.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
utime_test.ts fs: add Deno.utime/Deno.utimeSync (#2241) 2019-05-01 05:08:11 -04:00
version.ts Handle typescript version in rust (#2855) 2019-09-03 22:12:21 -04:00
version_test.ts Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
window.ts Support window.onload (#2643) 2019-07-16 00:19:26 -04:00
workers.ts Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
write_file.ts Refactor snapshot build (#2825) 2019-09-02 17:07:11 -04:00
write_file_test.ts Fix eslint warnings (#2151) 2019-04-21 16:40:10 -04:00
xeval.ts Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00

Crate: deno_cli_snapshots

AKA cli_snapshots AKA //js

This is a small crate which exports just a few static blobs. It contains a build.rs file which compiles Deno's internal JavaScript and TypeScript code first into a single AMD bundle, and then into a binary V8 Snapshot.

The main Deno executable crate ("cli") depends on this crate and has access to all the runtime code.