Bert Belder
32cde32e54
core: return useful error when import path has no prefix like ./
2019-06-30 19:46:32 +02:00
Gurwinder Singh
d7d3e9f9de
Fix multiple error messages for a missing file ( #2587 )
2019-06-27 09:34:12 -04:00
Bartek Iwańczuk
70a9859adc
refactor: use Path/PathBuf in deno dir ( #2559 )
2019-06-24 10:10:21 -07:00
Ryan Dahl
f2c50fae84
Fix silent failure of WebAssembly.instantiate() ( #2548 )
...
By making WASM compilation synchronous. We'll have to do more work to
make it properly async.
2019-06-20 09:04:34 -07:00
Kitson Kelly
425df50484
Combine CLI Errors ( #2487 )
2019-06-19 19:07:01 -07:00
Bartek Iwańczuk
01858f115a
fix: use Loader::resolve in op_fetch_module_meta_data ( #2519 )
2019-06-18 07:23:06 -07:00
Matt Harrison
d82c1991cf
Add --seed for setting RNG seed ( #2483 )
2019-06-11 10:34:39 -04:00
Bartek Iwańczuk
a115340288
feat: Import maps ( #2360 )
2019-06-09 09:08:20 -04:00
Kitson Kelly
a71305b4fe
Handle compiler diagnostics in Rust ( #2445 )
2019-06-04 09:03:56 -04:00
Ryan Dahl
60d4522641
Compiler exit before emit if preEmitDiagnostics found ( #2441 )
2019-06-03 12:58:49 -04:00
Ryan Dahl
856c44213b
TS compiler refactor
...
* Compiler no longer has its own Tokio runtime. Compiler handles one
message and then exits.
* Uses the simpler ts.CompilerHost interface instead of
ts.LanguageServiceHost.
* avoids recompiling the same module by introducing a hacky but simple
`hashset<string>` that stores the module names that have been already
compiled.
* Removes the CompilerConfig op.
* Removes a lot of the mocking stuff in compiler.ts like `this._ts`. It
is not useful as we don't even have tests.
* Turns off checkJs because it causes fmt_test to die with OOM.
2019-05-29 07:53:39 -04:00
Ryan Dahl
2952fb5405
Rename --allow-high-precision to --allow-hrtime ( #2398 )
2019-05-23 19:28:29 +03:00
Ryan Dahl
160a815767
Rename HTTP benchmarks ( #2350 )
2019-05-14 15:22:50 -04:00
Ryan Dahl
aba952397a
Add progress bar ( #2309 )
2019-05-11 10:23:19 -04:00
Bartek Iwańczuk
5824e55efa
fix: deno version panic ( #2286 )
2019-05-03 18:48:50 -04:00
Bartek Iwańczuk
f6a9d7d717
add "deno run" subcommand ( #2215 )
2019-05-03 17:15:16 -04:00
Kevin (Kun) "Kassimo" Qian
3608117132
feat(cli cmd): deno xeval ( #2260 )
2019-05-03 16:24:09 -04:00
Kevin (Kun) "Kassimo" Qian
401a5c0211
feat: support .mjs extension resolution ( #2283 )
...
Removed `extmap` and added .mjs entry in `map_file_extension`.
The assert in the compiler does not need to be updated, since it is
resolving from the compiled cache instead of elsewhere (notice the .map
is asserted next to it)
2019-05-03 15:03:10 -04:00
Bartek Iwańczuk
bf9b0c8231
Fix: deno --v8-options does not print v8 options ( #2277 )
2019-05-03 08:59:52 -04:00
Kitson Kelly
1a0f53a807
Add support for custom tsconfig.json ( #2089 )
...
Use `--config`
2019-04-29 07:58:31 -07:00
Ryan Dahl
9dfebbc949
Fix eslint warnings ( #2151 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: LE GOFF Vincent <g_n_s@hotmail.fr>
2019-04-21 16:40:10 -04:00
Bartek Iwańczuk
cd19da62d9
Refactor CLI entry point ( #2157 )
...
Changes "deno --types" to "deno types"
and "deno --prefetch" to "deno prefetch"
2019-04-21 11:34:18 -04:00
Ryan Dahl
1a69df4a05
Fix flaky tests ( #2139 )
2019-04-17 13:02:32 -04:00
Ryan Dahl
1bfb443369
Implement async module loading in CLI ( #2084 )
2019-04-16 15:13:42 -04:00
Bartek Iwańczuk
591b5e4a7d
Add deno eval subcommand ( #2102 )
2019-04-13 13:24:15 -04:00
Vincent LE GOFF
734cf781c6
Allow high precision performance.now() ( #1977 )
2019-04-08 16:22:40 -04:00
Bartek Iwańczuk
780e72ab6a
Refactor CLI flag parsing ( #2025 )
2019-04-07 01:13:06 +03:00
andy finch
7a3df0a184
Add worker benchmarks ( #2059 )
2019-04-05 22:57:59 +03:00
andy finch
0e7311e171
Non-fatal compile_sync failures ( #2039 )
...
And model worker resources as Stream
2019-04-04 05:33:32 -04:00
Kevin (Kun) "Kassimo" Qian
534b8d3021
Follow redirect location as new referrers for nested module imports ( #2031 )
...
Fixes #1742
Fixes #2021
2019-04-01 21:46:40 -04:00
andy finch
b0a23beb8f
Add web worker JS API ( #1993 )
...
* Refactored the way worker polling is scheduled and errors are handled.
* Share the worker future as a Shared
2019-04-01 15:09:59 -04:00
Ryan Dahl
c25e262b04
Merge the --recompile and --reload flags ( #2003 )
2019-03-28 16:05:41 -04:00
Ryan Dahl
d0b6152f11
Fix error when JS is executed with --recompile ( #2007 )
...
test case from @afinch7
2019-03-27 16:10:31 -04:00
Ryan Dahl
44773c9b0f
Integrate //core into existing code base
...
This disables a few tests which are broken still:
- tests/error_004_missing_module.test
- tests/error_005_missing_dynamic_import.test
- tests/error_006_import_ext_failure.test
- repl_test test_set_timeout
- repl_test test_async_op
- repl_test test_set_timeout_interlaced
- all of permission_prompt_test
2019-03-18 17:17:08 -04:00
Kitson Kelly
034e2cc028
Migrate from tslint to eslint for linting ( #1905 )
2019-03-09 12:30:38 -05:00
Kitson Kelly
24d6bf6aeb
Remove 'deno' builtin module ( #1895 )
2019-03-07 21:56:56 -05:00
Ryan Dahl
c42a9d7370
Upgrade deno_std ( #1892 )
...
A major API change was that asserts are imported from testing/asserts.ts
now rather than testing/mod.ts and assertEqual as renamed to
assertEquals to conform to what is most common in JavaScript.
2019-03-06 20:48:46 -05:00
Andy Hayden
91364cabae
Replace deno.land/x/std with deno.land/std ( #1890 )
2019-03-06 10:23:47 -05:00
Bartek Iwańczuk
5dfbbbb07a
Add import.meta.main ( #1835 )
2019-02-26 13:29:45 -05:00
Kevin (Kun) "Kassimo" Qian
c66d043ac6
Fix console.table display of Map and move tests to unit test ( #1839 )
2019-02-25 19:11:54 -05:00
Ryan Dahl
42408febe8
Add window.location
2019-02-18 23:04:59 -05:00
Kitson Kelly
54094c7510
Rationalise compiler ops ( #1740 )
2019-02-18 10:42:15 -05:00
Dmitry Sharshakov
4dc4329e27
Add execPath function ( #1743 )
2019-02-15 11:22:02 -05:00
Greg Altman
061a9353ba
Module dep pretty printing in --info
2019-02-15 11:06:49 -05:00
Ryan Dahl
0412ab2308
Remove unnecessary tests/021_info_flag_setup.test
2019-02-15 11:06:49 -05:00
Kevin (Kun) "Kassimo" Qian
fe0ceae543
Fix behavior for extensionless files with .mime file ( #1779 )
2019-02-15 11:05:29 -05:00
Kitson Kelly
a21a5ad2fa
Add Deno global namespace ( #1748 )
...
Resolves #1705
This PR adds the Deno APIs as a global namespace named `Deno`. For backwards
compatibility, the ability to `import * from "deno"` is preserved. I have tried
to convert every test and internal code the references the module to use the
namespace instead, but because I didn't break compatibility I am not sure.
On the REPL, `deno` no longer exists, replaced only with `Deno` to align with
the regular runtime.
The runtime type library includes both the namespace and module. This means it
duplicates the whole type information. When we remove the functionality from the
runtime, it will be a one line change to the library generator to remove the
module definition from the type library.
I marked a `TODO` in a couple places where to remove the `"deno"` module, but
there are additional places I know I didn't mark.
2019-02-12 10:08:56 -05:00
Ryan Dahl
526497bc29
Adds deno.noColor ( #1716 )
2019-02-08 22:13:04 -05:00
Ryan Dahl
99ce807a12
Add deps to --info output. ( #1720 )
...
Move module stuff into its own file.
2019-02-08 21:36:10 -05:00
Dmitry Sharshakov
9ab03389f0
Add --allow-read ( #1689 )
...
Co-authored-by: Greg Altman <g.s.altman@gmail.com>
2019-02-08 15:59:38 -05:00
Ryan Dahl
46804e50ed
Color exceptions ( #1698 )
2019-02-07 20:07:20 -05:00
Kitson Kelly
48fedee34e
Add WebAssembly to runtime library ( #1677 )
...
This also modifies the `ts_library_builder` to support inlining assets.
Includes integration tests from @sh7dm
2019-02-05 08:12:58 -05:00
Dmitry Sharshakov
181b03273c
Add isTTY function ( #1622 )
2019-02-02 22:05:30 -05:00
Kitson Kelly
efa1eeb8b3
Compiler cleanups and minor improvements ( #1656 )
2019-02-02 18:27:53 -05:00
Ryan Dahl
18b815e336
Support --fmt
2019-02-02 17:48:43 -05:00
Ryan Dahl
4b61170e22
Better error message for bad filename CLI argument.
2019-02-02 17:33:21 -05:00
Kevin (Kun) "Kassimo" Qian
3650bae5f6
Add --info flag to display file info (compiled code/source map) ( #1647 )
2019-02-02 01:28:31 -05:00
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