1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 07:44:48 -05:00
denoland-deno/js
Ryan Dahl 0ceb554343
Native ES modules (#1460)
* Native ES modules

This is a major refactor of internal compiler.

Before: JS and TS both were sent through the typescript compiler where
their imports were parsed and handled. Both compiled to AMD JS and
finally sent to V8

Now: JS is sent directly into V8. TS is sent through the typescript
compiler, but tsc generates ES modules now instead of AMD. This
generated JS is then dumped into V8.

This should much faster for pure JS code. It may improve TS compilation
speed.

In the future this allows us to separate TS out of the runtime heap and
into its own dedicated snapshot. This will result in a smaller runtime
heap, and thus should be faster.

Some tests were unfortunately disabled to ease landing this patch:
1. compiler_tests.ts which I intend to bring back in later commits.
2. Some text_encoding_test.ts tests which made the file invalid utf8.
   See PR for a discussion.
Also worth noting that this is necessary to support WASM
2019-01-09 12:59:46 -05:00
..
deps/https/deno.land/x Move testing module to deno_std (#1451) 2019-01-03 14:55:22 -05:00
mixins check runtime FormData and Headers params (#1415) 2018-12-27 02:12:55 +00:00
assets.ts Happy new year! 2019-01-02 02:37:08 +01:00
blob.ts Support more fetch init body types (#1449) 2019-01-03 06:41:20 -05:00
blob_test.ts Happy new year! 2019-01-02 02:37:08 +01:00
buffer.ts Add TooLarge error code for buffers (#1298) 2018-12-09 15:38:30 -05:00
buffer_test.ts Add TooLarge error code for buffers (#1298) 2018-12-09 15:38:30 -05:00
chmod.ts Happy new year! 2019-01-02 02:37:08 +01:00
chmod_test.ts Happy new year! 2019-01-02 02:37:08 +01:00
compiler.ts Native ES modules (#1460) 2019-01-09 12:59:46 -05:00
compiler_test.ts Revert "Split Runner from Compiler" (#1462) 2019-01-06 14:17:13 -05:00
console.ts Implement console.groupCollapsed (#1452) 2019-01-06 16:34:52 -05:00
console_test.ts Implement console.groupCollapsed (#1452) 2019-01-06 16:34:52 -05:00
copy_file.ts Happy new year! 2019-01-02 02:37:08 +01:00
copy_file_test.ts Happy new year! 2019-01-02 02:37:08 +01:00
deno.ts Revert "Split Runner from Compiler" (#1462) 2019-01-06 14:17:13 -05:00
dir.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
dir_test.ts Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
dispatch.ts Remove broken feature: trace() 2018-10-26 13:07:33 -07:00
dom_file.ts Rename file.ts to dom_file.ts (#1423) 2018-12-27 09:45:58 +00:00
dom_types.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
errors.ts Fix typo in errors.ts JSDoc 2018-12-13 15:36:15 -05:00
event.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
event_target.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
event_target_test.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
event_test.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
fetch.ts Support more fetch init body types (#1449) 2019-01-03 06:41:20 -05:00
fetch_test.ts Support more fetch init body types (#1449) 2019-01-03 06:41:20 -05:00
file_info.ts improve file_info.ts 2018-10-23 04:42:22 -07:00
file_test.ts Web APIs: File and FormData (#1056) 2018-11-04 10:05:02 -08:00
files.ts Fix deno.open permission check (#1336) 2018-12-13 16:20:37 -05:00
files_test.ts Fix deno.open permission check (#1336) 2018-12-13 16:20:37 -05:00
flatbuffers.ts fix typos (#1083) 2018-10-24 08:54:34 -07:00
form_data.ts Rename file.ts to dom_file.ts (#1423) 2018-12-27 09:45:58 +00:00
form_data_test.ts check runtime FormData and Headers params (#1415) 2018-12-27 02:12:55 +00:00
global_eval.ts Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
globals.ts Minimal Worker support (#1476) 2019-01-08 14:44:06 -05:00
headers.ts make Headers follow spec (#1427) 2018-12-29 12:30:11 +00:00
headers_test.ts make Headers follow spec (#1427) 2018-12-29 12:30:11 +00:00
io.ts Support streaming response bodies from fetch() 2018-11-13 21:44:38 -08:00
libdeno.ts Add libdeno.builtinModules (#1463) 2019-01-06 16:32:21 -05:00
main.ts Native ES modules (#1460) 2019-01-09 12:59:46 -05:00
make_temp_dir.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
make_temp_dir_test.ts Changed tools/lint.py to lint the entire js and tests directories. (#900) 2018-10-05 07:29:55 -04:00
metrics.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
metrics_test.ts format 2018-10-19 00:29:09 +02:00
mkdir.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
mkdir_test.ts Remove remove_timer asserts (#760) 2018-09-16 13:35:16 -07:00
mock_builtin.js Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
net.ts Reader/Writer should use Uint8Array not ArrayBufferView 2018-11-09 07:22:05 -08:00
net_test.ts Remove support for extensionless import (#1396) 2018-12-23 11:44:08 -05:00
os.ts Add deno.pid (#1464) 2019-01-06 14:16:42 -05:00
os_test.ts Add deno.pid (#1464) 2019-01-06 14:16:42 -05:00
platform.ts Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
platform_test.ts Clean up deno.platform 2018-10-03 16:59:00 -04:00
plugins.d.ts Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
process.ts Add Process.output (#1235) 2018-11-30 10:44:05 -08:00
process_test.ts Add Process.output (#1235) 2018-11-30 10:44:05 -08:00
read_dir.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
read_dir_test.ts readDir entry mode (#1326) 2018-12-12 02:31:18 -05:00
read_file.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
read_file_test.ts Implement deno.readFile() 2018-09-10 00:14:28 -04:00
read_link.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
read_link_test.ts Move Platform from types to platform 2018-10-04 12:31:39 -04:00
remove.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
remove_test.ts Add remove(), removeAll(). 2018-09-12 10:24:17 -04:00
rename.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
rename_test.ts Implement deno.rename() (#731) 2018-09-12 11:44:58 -04:00
repl.ts REPL unblock event loop AND fix REPL setTimeout fire problems 2018-11-28 15:25:30 -08:00
resources.ts Cleanups for runtime lib declarations. 2018-11-09 08:36:31 -08:00
resources_test.ts Add resources op (#1119) 2018-10-30 12:58:55 -07:00
stat.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
stat_test.ts Add remove(), removeAll(). 2018-09-12 10:24:17 -04:00
symlink.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
symlink_test.ts Implement deno.symlink() (#742) 2018-09-18 21:38:24 -07:00
test_util.ts Move testing module to deno_std (#1451) 2019-01-03 14:55:22 -05:00
text_encoding.ts Add ASCII support to TextDecoder 2018-12-06 18:45:10 -05:00
text_encoding_test.ts Native ES modules (#1460) 2019-01-09 12:59:46 -05:00
timers.ts Upgrade to TypeScript 3.2 2018-11-29 23:37:28 -08:00
timers_test.ts timers: align unit tests with others 2018-10-11 13:21:25 -04:00
truncate.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
truncate_test.ts Add deno.truncate (#805) 2018-09-30 15:06:20 -04:00
types.ts Enforce media types 2018-10-23 04:48:00 -07:00
unit_tests.ts Native ES modules (#1460) 2019-01-09 12:59:46 -05:00
url.ts Add URL implementation (#1359) 2018-12-17 20:07:47 -05:00
url_search_params.ts runtime arg check URLSearchParams (#1390) 2018-12-23 23:07:58 -05:00
url_search_params_test.ts runtime arg check URLSearchParams (#1390) 2018-12-23 23:07:58 -05:00
url_test.ts Add URL implementation (#1359) 2018-12-17 20:07:47 -05:00
util.ts Add Event web API (#1059) 2019-01-05 10:02:44 -05:00
workers.ts Native ES modules (#1460) 2019-01-09 12:59:46 -05:00
write_file.ts Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
write_file_test.ts Move writeFileSync to write_file.ts, add writeFile and tests (#728) 2018-09-11 12:00:57 -04:00