1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00
Commit graph

1272 commits

Author SHA1 Message Date
Ryan Dahl
00597ffde1
Refactor libdeno ES module interface. (#1624)
Allows for future asynchronous module loading.

Add support for import.meta.url

Fixes #1496
2019-01-30 17:21:31 -05:00
Ryan Dahl
13582ff3f2 libdeno: improve exception handling 2019-01-30 15:53:23 -05:00
Kitson Kelly
ee9c627cc5 Split out compiler snapshot (#1566)
Speeds up startup time, reduces runtime heap size.
2019-01-28 20:41:28 -05:00
Sergey Golovin
f05fd7a1f3 Add console.table (#1608) 2019-01-28 16:41:29 -05:00
Kevin (Kun) "Kassimo" Qian
f9b167deb0 Avoid crashes on ES module resolution when module not found (#1546) 2019-01-18 15:15:09 -05:00
J2P
befc6b2e76 Fixed copyright of types output 2019-01-17 14:44:31 -05:00
Kitson Kelly
7d08db2191 Fix JSON Modules (#1514) 2019-01-14 00:18:42 -05:00
Kevin (Kun) "Kassimo" Qian
e29a676b78 Avoid show confusing lines in gen/bundle/main.js that throws error (#1502) 2019-01-12 09:14:09 -05:00
Ryan Dahl
6322f45e7b Pipe new exception info through into JSError
Adds a new integration test for syntax error.
2019-01-11 21:44:26 -05:00
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
Yoshiya Hinosawa
cae71ed841 Implement console.groupCollapsed (#1452)
This implementation of groupCollapsed is intentionally different
from the spec defined by whatwg. See the conversation in #1355
and #1363.
2019-01-06 16:34:52 -05:00
Ryan Dahl
f37d67e809
Revert "Split Runner from Compiler" (#1462)
This reverts commit 3d03f5b0cb.
2019-01-06 14:17:13 -05:00
Ryan Dahl
4f62a56f90
Move testing module to deno_std (#1451)
Upgrades deno_std submodule.
2019-01-03 14:55:22 -05:00
Ryan Dahl
7024d9f253 Add rust binding and test for deno_execute_mod() 2019-01-03 09:45:40 -05:00
Kevin (Kun) "Kassimo" Qian
73fb98ce70 Lazily create .mime files only with mismatch/no extension (#1417) 2018-12-27 20:40:06 +00:00
Yoshiya Hinosawa
9bfe9a005b fix(test): fix test of unbuffered_stderr 2018-12-27 02:09:49 +00:00
Ryan Dahl
6cc998f28b
Remove support for extensionless import (#1396) 2018-12-23 11:44:08 -05:00
Yoshiya Hinosawa
bee55fcd20 make stdout unbuffered (#1355) 2018-12-22 23:53:29 -05:00
Kevin (Kun) "Kassimo" Qian
cbee2895b3 Implement Body.formData for fetch (#1393) 2018-12-21 17:09:53 -05:00
迷渡
a60da64626 Fix typo in tests (#1342) 2018-12-14 00:46:33 -05:00
Ryan Dahl
81c8926ee9 Use default filename for Isolate::execute. 2018-12-11 15:07:55 -05:00
Ryan Dahl
9a960b9f58
Use stderr for exceptions (#1303) 2018-12-10 17:50:41 -05:00
Ryan Dahl
c113df1bb8
Process source maps in Rust instead of JS (#1280)
- Improves speed and binary size significantly.
- Makes deno_last_exception() output a JSON structure.
- Isolate::execute and Isolate::event_loop now return
  structured, mapped JSError objects on errors.
- Removes libdeno functions:
  libdeno.setGlobalErrorHandler()
  libdeno.setPromiseRejectHandler()
  libdeno.setPromiseErrorExaminer()

In collaboration with Ryan Dahl.
2018-12-06 23:05:36 -05:00
Kitson Kelly
3d03f5b0cb Split Runner from Compiler 2018-11-20 08:46:56 -08:00
Kitson Kelly
34b6b86c76 Ensure global type instances are available. 2018-11-09 08:39:49 -08:00
Kitson Kelly
5c51cffacf Omit sources from source maps in bundle. 2018-11-05 13:26:54 -08:00
Kitson Kelly
4e07783663 Improve integration test harness (#1142) 2018-11-04 11:52:31 -08:00
Kitson Kelly
2422e52625 Add ability to load JSON as modules (#1065) 2018-10-30 20:50:40 -07:00
Bartek Iwańczuk
946acbc559 Add resources op (#1119) 2018-10-30 12:58:55 -07:00
Kevin (Kun) "Kassimo" Qian
a68403d090 Add application/x-typescript mime type support 2018-10-28 11:18:53 -07:00
Kitson Kelly
2cfa608324 Support CheckJS 2018-10-24 15:29:30 -07:00
Ryan Dahl
a4fb5175ce
Add node_tcp target to http_benchmark. (#1074) 2018-10-23 15:02:30 -07:00
Ryan Dahl
5cf37c2f20 Revert "Support CheckJS"
Broken in master.

This reverts commit dd230d520b.
2018-10-23 07:07:17 -07:00
Kitson Kelly
dd230d520b Support CheckJS 2018-10-23 06:01:11 -07:00
Kitson Kelly
8ef7da2611 Enforce media types 2018-10-23 04:48:00 -07:00
Kitson Kelly
64f0dfd50e Improve globals for runtime type library 2018-10-22 19:37:38 -07:00
Ryan Dahl
c61a0f2f84 First pass at http benchmark. 2018-10-16 09:37:38 -04:00
Kitson Kelly
25c97962f4 Update to TypeScript 3.1 and ts-simple-ast 17 (#980) 2018-10-15 12:47:48 -04:00
Kevin (Kun) "Kassimo" Qian
1840a19713 Remove deno name assumption from tests 2018-10-13 19:45:01 -04:00
Kevin (Kun) "Kassimo" Qian
45d3b8955d Fix promise reject issue (#936) 2018-10-12 14:22:52 -04:00
Kitson Kelly
ec402c6932 Replace globals.d.ts with lib.deno_runtime.d.ts 2018-10-11 20:29:43 -04:00
Ryan Dahl
c814d5a914
Add throughput benchmark (#961) 2018-10-11 16:55:22 -04:00
Kevin (Kun) "Kassimo" Qian
888824c617 Add redirect follow feature (#934) 2018-10-09 20:31:06 -04:00
Kevin (Kun) "Kassimo" Qian
2b8cee9a49 Check thrown type, print String(...) if not instance of error (#939)
Fixes #935
2018-10-08 11:36:09 -04:00
Kevin (Kun) "Kassimo" Qian
f1989c68a0 Add failing test for #919. 2018-10-06 20:24:47 -04:00
Chris Bystrek
6a649012bc Changed tools/lint.py to lint the entire js and tests directories. (#900)
* Changed tools/lint.py to lint the entire js and tests directorys and sub directories, currently it was pointing at tsconfig and would only lint files that were part of js/main.ts or node_modules/typescript/lib/lib.esnext.d.ts and their dependencies

* Broke the typescript linting out into separate steps for the main typescript programing and tests.

* Fixed linting issues in ts tests.
2018-10-05 07:29:55 -04:00
Kevin (Kun) "Kassimo" Qian
eba58b7188 Guess extensions on extension not provided (#859)
Fixes #857
2018-10-02 12:38:45 -04:00
Ryan Dahl
bcbbee7399 Adds basic File I/O and FD table.
Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(),
deno.read(), deno.Reader, deno.Writer, deno.copy().

Fixes #721. tests/cat.ts works.
2018-09-28 20:53:33 -04:00
Ryan Dahl
3afc0b8482 fbs_util.ts -> dispatch.ts
And send() -> sendSync()
2018-09-10 00:14:28 -04:00
Ryan Dahl
e2a285b871 Better NotFound error handling in CodeFetch
throwResolutionError was swallowing unrelated errors.
2018-09-09 23:12:22 -04:00
Kitson Kelly
9101fd1493 Cleanup public API of DenoCompiler 2018-09-06 18:31:32 -04:00
Ryan Dahl
e4990804fa Improve module resolution.
Windows can't handle ":" in path names, so we use a special directory
format .deno/deps/localhost_PORT4545/ to represent hosts with
non-default ports.

Fixes #645.
2018-09-05 22:27:23 -04:00
Kitson Kelly
10dc71133a Mark APIs at internal and include JSDoc in types 2018-09-05 08:45:55 -04:00
Kitson Kelly
f83aee02e6 Bundle most types into globals.d.ts (#642) 2018-09-01 10:45:26 -04:00
Ryan Dahl
d8d5c421c3 Support https imports.
Adds hyper-rustls to the build.

Use ring for sha1 instead of "ssh1" crate.

Fixes #528.
2018-08-30 08:29:28 -04:00
Kitson Kelly
54aefa2886 Two-pass module evaluation.
Plus changes to tests to accomodate.
2018-08-28 08:44:34 -04:00
Kitson Kelly
9960b1d22b Add duplicate import test 2018-08-28 08:44:34 -04:00
Kitson Kelly
59231d74b5 Improve DenoCompiler.makeDefine and localRequire 2018-08-23 17:55:22 -04:00
Ryan Dahl
e2f9b0e6fd First pass at HTTP imports
Implement --reload

Integrate hyper errors into DenoError

In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-23 09:41:08 -04:00
Ryan Dahl
e7cab71574
runtime.ts refactor into compiler.ts (#564)
Adds compiler_test.ts
2018-08-22 17:17:26 -04:00
Ryan Dahl
790baae673 Expose deno.exit() and add test. 2018-08-21 18:34:56 -04:00
Ryan Dahl
868e8d8866 First pass at fetch()
With help from Thomas Ghysels <info@thomasg.be>
2018-08-20 16:53:39 -04:00
Yoshiya Hinosawa
565a21eb0e chore: format files in tests/ 2018-08-17 12:43:21 -04:00
Ryan Dahl
4772c14d12 Add async tests from prototype 2018-08-11 09:02:07 -07:00
Ryan Dahl
89eee51f07 Use unit_tests for readFileSync testing. 2018-08-11 09:02:07 -07:00
Kitson Kelly
9be36ffbf8 Add error tests 2018-08-10 11:50:45 -07:00
Ryan Dahl
413bcf2042 Add readFileSync 2018-08-09 14:27:46 -07:00
Ryan Dahl
fb87cb38ec
First pass at setTimeout with Tokio (#434) 2018-08-09 12:17:08 -07:00
Ryan Dahl
c7c6203e61
Source map support (#429)
This change increases size:
out/debug/obj/libdeno/from_snapshot.o  19M -> 34M
out/release/deno                       32M -> 47M
2018-08-02 13:13:32 -04:00
Ryan Dahl
7fe656f4b9 Add 005_more_imports.ts
And run check_output_test in order.
2018-08-02 12:49:40 -04:00
Ryan Dahl
57c52a83a0 Add tests/003_relative_import.ts 2018-07-29 00:22:39 -04:00
Ryan Dahl
dff5c16e85
Add tools/test.py test runner. (#384) 2018-07-21 19:08:24 -04:00