Ryan Dahl
25b13c8917
Use tokio::main ( #3831 )
2020-01-30 11:28:51 -05:00
Ryan Dahl
2338e7679c
Remove --current-thread flag ( #3830 )
...
This flag was added to evaluate performance relative to tokio's threaded
runtime. Although it's faster in the HTTP benchmark, it's clear the runtime
is not the only perf problem.
Removing this flag will simplify further refactors, in particular
adopting the #[tokio::main] macro. This will be done in a follow up.
Ultimately we expect to move to the current thread runtime with Isolates
pinned to specific threads, but that will be a much larger refactor. The
--current-thread just complicates that effort.
2020-01-30 10:49:33 -05:00
Ryan Dahl
8e3bc774f7
Adjust dprint configuration to be closer to prettier ( #3824 )
2020-01-30 09:33:32 +01:00
Ryan Dahl
e1b3a0769a
Try to fix docs.rs for cli crate ( #3823 )
2020-01-30 09:32:20 +01:00
EnokMan
1c6c6c6d7f
Deno.makeTempDir() check permissions ( #3810 )
2020-01-29 23:21:41 -05:00
Bartek Iwańczuk
73a3cc21d0
feat: dprint formatter ( #3820 )
...
* rewrite fmt_test in Rust, remove tools/fmt_test.py
* remove //std/prettier
2020-01-29 21:16:48 -05:00
Bartek Iwańczuk
161adfc51b
workers: proper TS libs, more spec-compliant APIs ( #3812 )
...
* split lib.deno_main.d.ts into:
- lib.deno.shared_globals.d.ts
- lib.deno.window.d.ts
- lib.deno.worker.d.ts
* remove no longer used libs:
- lib.deno_main.d.ts
- lib.deno_worker.d.ts
* change module loading to use proper TS library for compilation
* align to Worker API spec:
- Worker.terminate()
- self.close()
- self.name
2020-01-29 18:54:23 +01:00
Bartek Iwańczuk
f32c31a0eb
dx: descriptive permission errors ( #3808 )
...
Before:
```
▶ target/debug/deno https://deno.land/std/examples/echo_server.ts
error: Uncaught PermissionDenied: run again with the --allow-net flag
► $deno$/dispatch_json.ts:40:11
at DenoError ($deno$/errors.ts:20:5)
at unwrapResponse ($deno$/dispatch_json.ts:40:11)
at sendSync ($deno$/dispatch_json.ts:67:10)
at listen ($deno$/net.ts:170:15)
at https://deno.land/std/examples/echo_server.ts:4:23
```
```
▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd
error: Uncaught PermissionDenied: run again with the --allow-read flag
► $deno$/dispatch_json.ts:40:11
at DenoError ($deno$/errors.ts:20:5)
at unwrapResponse ($deno$/dispatch_json.ts:40:11)
at sendAsync ($deno$/dispatch_json.ts:91:10)
```
After:
```
▶ target/debug/deno https://deno.land/std/examples/echo_server.ts
error: Uncaught PermissionDenied: network access to "0.0.0.0:8080", run again with the --allow-net flag
► $deno$/dispatch_json.ts:40:11
at DenoError ($deno$/errors.ts:20:5)
at unwrapResponse ($deno$/dispatch_json.ts:40:11)
at sendSync ($deno$/dispatch_json.ts:67:10)
at listen ($deno$/net.ts:170:15)
at https://deno.land/std/examples/echo_server.ts:4:23
```
```
▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd
error: Uncaught PermissionDenied: read access to "/etc/passwd", run again with the --allow-read flag
► $deno$/dispatch_json.ts:40:11
at DenoError ($deno$/errors.ts:20:5)
at unwrapResponse ($deno$/dispatch_json.ts:40:11)
at sendAsync ($deno$/dispatch_json.ts:91:10)
```
2020-01-27 21:13:17 -05:00
Bartek Iwańczuk
ac10d79d23
refactor: isomorphic snapshot for CLI ( #3728 )
2020-01-27 21:12:25 -05:00
Kitson Kelly
f604becaba
Improve support of type definitions ( #3755 )
2020-01-26 13:59:41 -05:00
Kevin (Kun) "Kassimo" Qian
ec44be0760
lock: support lock-write for fetch command ( #3787 )
2020-01-26 13:43:59 -05:00
Ryan Dahl
9d98f0126c
Remove dead code in cli/shell.rs ( #3792 )
2020-01-26 11:40:28 -05:00
Ben Noordhuis
ba78ba69b0
fix clippy warnings ( #3798 )
2020-01-26 10:50:15 -05:00
Ben Noordhuis
97ed0c954d
feat: make eval support --v8-flags=... ( #3797 )
...
Closes #3796
2020-01-26 09:49:34 -05:00
Bartek Iwańczuk
c824eb5817
refactor: Modules and Loader trait ( #3791 )
...
* move is_dyn_import argument from Loader::resolve to Loader::load - it was always kind of strange that resolve() checks permissions.
* change argument type from &str to &ModuleSpecifier where applicable
2020-01-25 18:53:16 +01:00
Bert Belder
37a7b01d5c
Refactor error tracking and scope juggling in deno_core ( #3783 )
2020-01-25 14:31:42 +01:00
Kevin (Kun) "Kassimo" Qian
514cdd941c
Do not panic and improve error message on cache failure ( #3784 )
2020-01-24 17:16:31 -05:00
Ryan Dahl
5e32c5ea44
s/PinnedBuf/ZeroCopyBuf ( #3782 )
2020-01-24 15:10:49 -05:00
Kitson Kelly
950537e8ef
Break out runtime lib to main and worker ( #3771 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-24 14:15:01 -05:00
Ryan Dahl
8bc639a23e
v0.31.0
2020-01-24 11:07:53 -05:00
Ryan Dahl
fe427eedb1
Mark signal APIs as unstable ( #3779 )
2020-01-24 16:58:17 +01:00
Yoshiya Hinosawa
bc89f04cbf
Add signal handlers ( #3757 )
2020-01-24 08:15:31 -05:00
Ryan Dahl
74e6eb14dd
update readmes ( #3765 )
2020-01-23 22:32:52 +01:00
Bartek Iwańczuk
63293a90e1
refactor: snapshotting ( #3753 )
2020-01-22 23:58:13 +01:00
Bartek Iwańczuk
bd9561f4de
Reland "Create an old program to be used in snapshot." ( #3747 )
...
* read CLI assets from disk during snapshotting
2020-01-22 20:18:01 +01:00
Ry Dahl
fa7f34eb8c
Revert "Create an old program to be used in snapshot. ( #3644 )"
...
Ref #3712 . This change allowed the deno_typescript crate to reference
cli/js/lib.deno_runtime.d.ts which breaks "cargo package". We intend to
reintroduce a revised version of this patch later once "cargo
package" is working and tested.
This reverts commit 737ab94ea1
.
2020-01-21 14:57:56 -05:00
Ryan Dahl
7fd50065a7
v0.30.1
...
This patch release is being done only to test crate publishing, hence
lack of release notes or published binaries.
2020-01-21 12:44:05 -05:00
Yoshiya Hinosawa
9de8178c9b
feat: add AsyncUnref ops ( #3721 )
...
This is in order to support features like signal handlers, which
shouldn't prevent the program from exiting.
2020-01-21 12:01:10 -05:00
Bartek Iwańczuk
ecd1d3abb0
refactor: split cli::Worker ( #3735 )
...
* cli::Worker is base struct to create specialized workers
* add MainWorker
* add CompilerWorker
* refactor WebWorker to use Worker
2020-01-21 17:50:06 +01:00
Ry Dahl
229eb292f8
Revert "don't include assets in binary ( #3661 )"
...
Ref #3712
This reverts commit 32cbcfe4e9
.
2020-01-21 10:24:02 -05:00
Takashi Idobe
108294deeb
change copyrights from 2019 to 2020 ( #3733 )
2020-01-21 10:01:55 -05:00
Bartek Iwańczuk
5e2fd183ff
refactor: Rename JS entry functions ( #3732 )
2020-01-21 15:53:29 +01:00
Bartek Iwańczuk
0cd605515c
refactor: don't create new runtime for fs ops ( #3730 )
2020-01-21 14:26:11 +01:00
Michał Sabiniarz
21cc9cb7a7
Implemented alternative open mode in files ( #3119 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-21 10:49:42 +01:00
Bartek Iwańczuk
7966bf14c0
refactor: split worker and worker host logic ( #3722 )
...
* split ops/worker.rs into ops/worker_host.rs and ops/web_worker.rs
* refactor js/workers.ts and factor out js/worker_main.ts - entry point for WebWorker runtime
* BREAKING CHANGE: remove support for blob: URL in Worker
* BREAKING CHANGE: remove Deno namespace support and noDenoNamespace option in Worker constructor
* introduce WebWorker struct which is a stripped down version of cli::Worker
2020-01-21 09:49:47 +01:00
Bartek Iwańczuk
c90036ab88
refactor: reduce number of ErrorKind variants ( #3662 )
2020-01-20 10:50:16 -05:00
Nayeem Rahman
7f80f9db3f
refactor: Improve path handling in permission checks ( #3714 )
2020-01-20 09:45:44 -05:00
Kitson Kelly
60b53fd6b6
Use globalThis to reference global scope ( #3719 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-20 09:30:30 -05:00
Bartek Iwańczuk
23e67eb515
stabilize net Addr ( #3709 )
...
Co-authored-by: xiaoxintang <15707971810@163.com>
2020-01-18 21:49:55 +01:00
Bartek Iwańczuk
34b99fec8e
rename dial to connect and dialTLS to connectTLS ( #3710 )
2020-01-18 18:35:12 +01:00
Ryan Dahl
b2f01dcb50
v0.30.0
2020-01-18 07:58:49 -05:00
Ry Dahl
59c674fed5
Mark various APIs in window.Deno as unstable ( #3701 )
2020-01-17 19:01:24 -05:00
Bartek Iwańczuk
5fa056e53b
workers: minimal error handling and async module loading ( #3665 )
2020-01-17 18:43:53 -05:00
Klaus Hvam
35eb79610f
Fix compile and bundle api types ( #3703 )
2020-01-17 17:45:18 -05:00
Ry Dahl
aedf8721cf
Upgrade crate deps ( #3699 )
...
Remove unused tokio-executor dep
2020-01-17 13:57:56 -05:00
Andy Finch
fe5662058e
feat: support individual async handler for each op ( #3690 )
2020-01-17 08:26:11 -05:00
Kevin (Kun) "Kassimo" Qian
0a78bfb836
Add Deno.symbols and move internal fields for test ( #3693 )
2020-01-16 19:42:58 -05:00
Nayeem Rahman
f8d5f5b80e
fix: Resolve read/write whitelists from CWD ( #3684 )
2020-01-16 14:47:02 -05:00
Bartek Iwańczuk
1de02b0643
perf: share http client in file fetcher ( #3683 )
2020-01-16 16:10:01 +01:00
Kevin (Kun) "Kassimo" Qian
91757f63fd
feat(fs): add more unix-only fields to FileInfo ( #3680 )
2020-01-16 09:46:32 -05:00
Ry Dahl
a4dde552de
Revert "feat(flags): script arguments come after '--'" ( #3681 )
...
Due to complaints about ergonomics and because it breaks shebang on
linux.
This reverts commit 2d5457df15
.
BREAKING CHANGE
2020-01-15 19:21:35 -05:00
Yusuke Sakurai
b310f32e39
fix: process hangs when fetch called ( #3657 )
...
Reverts 011d485
2020-01-15 13:23:29 -05:00
Bartek Iwańczuk
32cbcfe4e9
don't include assets in binary ( #3661 )
2020-01-12 14:53:32 +01:00
uki00a
7ed018bb90
flag: upgrade std to v0.29.0 ( #3659 )
2020-01-12 06:02:03 -07:00
Kitson Kelly
737ab94ea1
Create an old program to be used in snapshot. ( #3644 )
2020-01-12 12:20:33 +01:00
Bartek Iwańczuk
8fac8ab130
upgrade: tokio 0.2.9, reqwest 0.10.1 ( #3653 )
2020-01-12 10:21:53 +01:00
EnokMan
1ea06f9c84
Add gzip, brotli and ETag support for file fetcher ( #3597 )
2020-01-11 11:11:05 +01:00
Ryan Dahl
525784e564
v0.29.0
2020-01-09 11:42:24 -07:00
Ry Dahl
d492c5abe3
feat: Deno.args now does not include script ( #3628 )
...
Previously Deno.args was ["script.js", "arg1", "arg2"]
Now it is just ["arg1", "arg2"]
BREAKING CHANGE
2020-01-09 11:37:01 -07:00
Ry Dahl
c50cab90a0
Remove xeval subcommand ( #3630 )
2020-01-08 17:40:59 -05:00
Luca Casonato
b71d5708c6
feat: Deno.create ( #3629 )
2020-01-08 17:07:03 -05:00
Ry Dahl
2d5457df15
feat(flags): script arguments come after '--' ( #3621 )
2020-01-08 14:59:53 -05:00
Kitson Kelly
d325566a7e
Runtime Compiler API ( #3442 )
...
Also restructures the compiler TypeScript files to make them easier to
manage and eventually integrate deno_typescript fully.
2020-01-08 09:17:44 -05:00
Bartek Iwańczuk
cbdf9c5009
refactor: module loading in EsIsolate ( #3615 )
...
* refactored RecursiveLoad - it was renamed to RecursiveModuleLoad, it does not take ownership of isolate anymore - a struct implementing Stream that yields SourceCodeInfo
* untangled module loading logic between RecursiveLoad and isolate - that logic is encapsulated in EsIsolate and RecursiveModuleLoad, where isolate just consumes modules as they become available - does not require to pass Arc<Mutex<Isolate>> around anymore
* removed EsIsolate.mods_ in favor of Modules and moved them inside EsIsolate
* EsIsolate now requires "loader" argument during construction - struct that implements Loader trait
* rewrite first methods on isolate as async
2020-01-08 15:06:04 +01:00
Ry Dahl
884462d615
Upgrade subcommands to 0.28.1 ( #3620 )
2020-01-08 01:05:52 +01:00
Ry Dahl
d4bf0670ce
fix: Deno.mkdir should conform to style guide ( #3617 )
2020-01-07 14:14:33 -05:00
Bartek Iwańczuk
ad9fd589d4
core: factor out EsIsolate from Isolate ( #3613 )
2020-01-07 12:45:44 +01:00
Ry Dahl
29df272133
error on warnings ( #3612 )
2020-01-06 11:38:56 -05:00
Bartek Iwańczuk
870622d3cc
merge libdeno::DenoIsolate into core::Isolate ( #3605 )
2020-01-06 16:24:44 +01:00
Bert Belder
52a0f3a5ef
Upgrade rust crates and modernize hyper_hello ( #3606 )
2020-01-05 23:12:35 +01:00
Ry Dahl
76e44ddfd0
Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' ( #3600 )
2020-01-05 11:56:18 -05:00
Ry Dahl
5f1df038fb
Replace libdeno with rusty_v8 ( #3556 )
2020-01-05 09:19:29 -05:00
Luca Casonato
c41280a057
perf: TextEncoder.encode improvement ( #3596 )
2020-01-04 17:00:03 -05:00
Luca Casonato
0a900949c8
Added textencoder benchmark ( #3589 )
2020-01-04 05:21:06 -05:00
Gurwinder Singh
9f6bab6010
Use async at places, use &self instead of self: &Self ( #3594 )
2020-01-04 05:20:52 -05:00
Ryan Dahl
a61966a243
v0.28.1
2020-01-03 09:04:04 -05:00
Bartek Iwańczuk
5e61af7447
chore: disable default reqwest features ( #3586 )
2020-01-03 14:15:19 +01:00
Waldir Pimenta
2a36879e30
Add missing year ranges to copyright notices ( #3582 )
2020-01-02 18:41:59 -05:00
Ry Dahl
bfab4ed0df
Happy new year! ( #3578 )
2020-01-02 15:13:47 -05:00
Gurwinder Singh
b0761138e5
Remove unnecessary use of Pin, use ready! ( #3576 )
2020-01-02 13:11:33 -05:00
Ry Dahl
328fef9cd6
v0.28.0
2020-01-02 08:41:25 -05:00
EnokMan
d4f2fda623
fix typos ( #3573 )
2020-01-02 07:48:46 -05:00
Gurwinder Singh
55add2d366
cleanup after tokio upgrade ( #3571 )
...
tokio_util::run and tokio::run_on_current_thread should accept Future<Output=()> instead of Future<Output=Result<(), ()>>. Currently, all the passed futures have to add Ok(()) or futures::future::ok(()) unnecessarily to call this method.
2020-01-01 09:51:27 -05:00
Bartek Iwańczuk
4258ed262f
refactor: move HttpBody to cli/http_util.rs ( #3569 )
2019-12-31 15:09:58 +01:00
Bartek Iwańczuk
05dce90165
bump reqwest to 0.10.0 ( #3567 )
2019-12-30 20:14:52 +01:00
Bartek Iwańczuk
011d485ce5
use shared HTTP client ( #3563 )
...
This commit moves HTTP client to lazy_static. Effectively HTTP client is shared by whole Deno process and will reuse connections.
2019-12-30 15:58:25 +01:00
Bartek Iwańczuk
46d76a7562
upgrade: Tokio 0.2 ( #3418 )
2019-12-30 14:57:17 +01:00
Kevin (Kun) "Kassimo" Qian
df1665a8fc
net: expose shutdown TS def ( #3560 )
2019-12-30 11:30:20 +01:00
Kevin (Kun) "Kassimo" Qian
176d1ff12e
net: expose shutdown() and ShutdownMode ( #3558 )
2019-12-29 10:20:23 -05:00
Alexandre Szymocha
4d4908dde3
Fix: allow reading into a 0-length array ( #3329 )
2019-12-28 08:48:36 -05:00
Kevin (Kun) "Kassimo" Qian
43fb24f4cd
Drop unnecessary Object.assign from createResolvable() ( #3548 )
2019-12-24 21:59:46 -05:00
Axetroy
3bb15ceaea
Upgrades rust to 1.40.0 ( #3542 )
2019-12-23 09:59:44 -05:00
Nayeem Rahman
f07ffe8980
feat: Add Deno.dir("executable") ( #3526 )
2019-12-21 06:30:13 -05:00
Nayeem Rahman
f4f4c6bcb4
fix: Use sync ops when clearing the console ( #3533 )
2019-12-21 03:58:28 -05:00
Nayeem Rahman
b7b0668c78
feat: Return null on error in Deno.dir() ( #3531 )
2019-12-20 19:06:07 -05:00
Kevin (Kun) "Kassimo" Qian
9ef0b18eb0
repl: do not crash on async op reject ( #3527 )
2019-12-20 00:04:14 -05:00
Ryan Dahl
fcae4a7c0d
v0.27.0
2019-12-18 18:48:41 -05:00
Ry Dahl
077b6f7672
Reduce all directory functions to Deno.dir() ( #3518 )
2019-12-18 09:29:00 -05:00
Yoshiya Hinosawa
3115781e43
feat: show detailed version with --version ( #3507 )
2019-12-15 21:38:34 +08:00
Axetroy
de94698915
Feat: Add more dir APIs for Deno ( #3491 )
2019-12-15 13:14:20 +08:00
Gurwinder Singh
22a2afe558
Use async-await at few places, fix spelling mistake ( #3499 )
2019-12-15 06:12:34 +08:00
Axetroy
83f95fb8df
fetch support URL instance as input ( #3496 )
2019-12-14 20:49:30 +08:00
Axetroy
8cf470474f
flag: upgrade std to v0.26.0 ( #3492 )
2019-12-14 10:00:29 +08:00
Kevin (Kun) "Kassimo" Qian
ec7f3ce1c2
timer: due/now Math.max instead of min ( #3477 )
2019-12-10 12:21:30 +01:00
Luca Casonato
7144bbed34
fix: plugin ops should change op count metrics ( #3455 )
2019-12-08 04:09:09 +08:00
Ryan Dahl
0ce9011edc
v0.26.0
2019-12-05 21:41:16 -05:00
Ry Dahl
e6228bc3c4
Revert "Synchronize deno and deno_std versions" ( #3446 )
...
Preventing release v0.26.0
This reverts commit 81efa9d938
.
2019-12-05 21:14:46 -05:00
Andy Finch
7c3b9b4f4f
feat: first pass at native plugins ( #3372 )
2019-12-05 15:30:20 -05:00
Kevin (Kun) "Kassimo" Qian
3293725131
Timer/microtask ordering fix ( #3439 )
2019-12-03 22:19:03 -05:00
Nayeem Rahman
91da410fc3
feat: Add --no-remote, rename --no-fetch to --cached-only ( #3417 )
2019-12-03 17:48:53 -05:00
Ry Dahl
ee013102ff
remove duplicated argv member from ThreadSafeGlobalState ( #3433 )
2019-12-03 17:23:10 -05:00
Andy Finch
00844b4142
fix some typos in permissions ( #3436 )
2019-12-03 12:22:51 -05:00
Bartek Iwańczuk
136b5e3da2
disable eager polling for ops ( #3434 )
2019-12-02 12:21:32 -08:00
木杉
537c6b3ed9
fix realpath behavior in windows ( #3425 )
2019-12-01 11:23:35 -08:00
Axetroy
81efa9d938
synchronize deno and deno_std versions ( #3415 )
2019-11-29 19:03:55 -08:00
Kevin (Kun) "Kassimo" Qian
3451c5fb55
Tweaks to arg_hacks and add v8-flags to repl ( #3409 )
2019-11-26 20:25:14 -08:00
Ryan Dahl
2cd22b5437
v0.25.0
2019-11-26 10:01:59 -08:00
Bartek Iwańczuk
9712e0c315
better error messages for 'relative import path not prefixed with / or ./ or ../' ( #3405 )
2019-11-26 09:14:04 -08:00
Ry Dahl
c016684653
refactor: reorganize flags ( #3389 )
...
- Remove ability to specify run arguments like `--allow-net` after the
script argument. It's too hacky to make work with clap.
- Remove `--v8-options`, instead use `--v8-flags=--help`
- Give more descriptive names to unit tests in flags.rs
- Assume argv and subcommand into DenoFlags struct so the output of
flags module is only DenoFlags rather than the tuple (subcommand, flags,
argv).
- Improve CLI help text
- Make `deno run` specific args like `--allow-net` only show up in 'deno
help run' instead of as global flags in `deno help`.
- Removes `deno version` to simplify our implementation and be closer to
clap defaults. `deno -V` now only shows Deno's version and not V8's nor
TypeScript. `Deno.versions` can be used to see that information.
- Prevent clap from auto-detecting terminal width and attempting to wrap
text.
2019-11-26 08:06:32 -08:00
Kevin (Kun) "Kassimo" Qian
f88dc4e197
Add Deno.realpath ( #3404 )
2019-11-26 00:40:57 -08:00
Bartek Iwańczuk
658ec2aaf9
better error message for missing module ( #3402 )
2019-11-25 09:33:23 -05:00
Kevin (Kun) "Kassimo" Qian
bca23e6433
refactor: Elevate DenoPermissions lock to top level ( #3398 )
2019-11-24 10:42:30 -05:00
Kitson Kelly
9e97eb2879
Make private namespaces in lib.deno_runtime.d.ts more private ( #3400 )
2019-11-24 10:36:49 -05:00
Bartek Iwańczuk
c6bb3d5a10
remove tokio_util::block_on ( #3388 )
...
This PR removes tokio_util::block_on - refactored compiler and file
fetcher slightly so that we can safely block there - that's because
only blocking path consist of only synchronous operations.
Additionally I removed excessive use of tokio_util::panic_on_error
and tokio_util::run_in_task and moved both functions to cli/worker.rs,
to tests module.
Closes #2960
2019-11-22 12:46:57 -05:00
Bartek Iwańczuk
363b968bfc
minor clean ups in TS compiler ( #3394 )
2019-11-22 12:14:34 -05:00
Kitson Kelly
8d977d0117
feat: Support named exports on bundles. ( #3352 )
2019-11-20 11:02:08 -05:00
Bartek Iwańczuk
1912ed6740
remove tokio_util::block_on from ops/workers.rs ( #3381 )
2019-11-19 19:17:05 -05:00
Bartek Iwańczuk
2ac107f548
fix: use AF_INET6 in ./tools/http_server.py ( #3374 )
2019-11-19 12:56:37 -05:00
Bartek Iwańczuk
f437521afb
chore: remove unneeded tokio deps ( #3376 )
2019-11-18 21:11:50 -05:00
罗文
542ec461c4
feat: add --check for deno fmt ( #3369 )
2019-11-18 13:19:59 -05:00
Bartek Iwańczuk
f356b2bd5e
refactor: fixes for futures ( #3363 )
...
After landing #3358 the benchmarks exploded indicating problems with workers and deno_core_http_bench.
This PR dramatically fixes thread/syscall count that showed up on benchmarks. Thread count is not back to previous levels but difference went from hundreds/thousands to about ~50.
2019-11-17 08:14:50 -05:00
Kevin (Kun) "Kassimo" Qian
2b3afda625
Use async to replace FutureExt in lib.rs ( #3359 )
2019-11-16 23:25:12 -05:00
Bartek Iwańczuk
8f9a942cb9
Use futures 0.3 API ( #3358 )
2019-11-16 19:17:47 -05:00
罗文
cb00fd6e98
fmt: respect prettierrc and prettierignore ( #3346 )
2019-11-16 11:48:45 -05:00
Bartek Iwańczuk
34ed16ed3a
run std test with cargo test ( #3344 )
...
Removes three CI jobs
2019-11-15 13:31:53 -05:00
Kevin (Kun) "Kassimo" Qian
306ab015e8
Fix remote .wasm import content type issue ( #3351 )
2019-11-15 00:14:08 -05:00
Ryan Dahl
0fffef8e5a
v0.24.0
2019-11-14 22:52:58 -05:00
Ry Dahl
4902a1cacb
Turn on TS strict mode for deno_typescript ( #3330 )
2019-11-14 15:05:36 -05:00
Bartek Iwańczuk
8b90b8e883
refactor: per-worker resource table, take 2 ( #3342 )
...
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker`
in `State`
- renames `CliResource` to `StreamResource` and moves all logic related
to it to `cli/ops/io.rs`
- removes `cli/resources.rs`
- adds `state` argument to `op_read` and `op_write` and consequently adds
`stateful_minimal_op` to `State`
- IMPORTANT NOTE: workers don't have access to process stdio - this is
caused by fact that dropping worker would close stdout for process
(because it's constructed from raw handle, which closes underlying file
descriptor on drop)
2019-11-14 12:10:25 -05:00
Kevin (Kun) "Kassimo" Qian
4189cc1ab5
Loader: support .wasm imports ( #3328 )
...
* loader: support .wasm imports
* http_server: true
* Support named exports
* Clippy
2019-11-14 08:31:39 -05:00
Ryan Dahl
fdf0ede2ac
Revert "refactor: per-worker resource table ( #3306 )"
...
This patch does not work with the recent bundler changes (#3325 ).
Unfortunately I didn't merge master before landing this patch. It has
something to do with console.log not working inside the compiler worker.
This reverts commit fd62379eaf
.
2019-11-13 23:42:35 -05:00
Bartek Iwańczuk
fd62379eaf
refactor: per-worker resource table ( #3306 )
...
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker`
in `State`
- renames `CliResource` to `StreamResource` and moves all logic related
to it to `cli/ops/io.rs`
- removes `cli/resources.rs`
- adds `state` argument to `op_read` and `op_write` and consequently adds
`stateful_minimal_op` to `State`
- IMPORTANT NOTE: workers don't have access to process stdio - this is
caused by fact that dropping worker would close stdout for process
(because it's constructed from raw handle, which closes underlying file
descriptor on drop)
2019-11-13 22:16:57 -05:00
Ryan Dahl
af448e864c
Revert "tests: share http server between tests ( #3336 )"
...
This reverts commit dbf861f8a0
.
2019-11-13 21:00:56 -05:00
Bartek Iwańczuk
dbf861f8a0
tests: share http server between tests ( #3336 )
...
Re-enable flaky tests
2019-11-13 18:48:34 -05:00
Ry Dahl
dab5457870
Disable flaky tests lock_check_ok2 again ( #3334 )
...
Mistakenly re-enabled in #3275 .
2019-11-13 13:34:39 -08:00
Kitson Kelly
9837d324a7
Update to TypeScript 3.7 ( #3275 )
...
and update to prettier 1.19
Also, update `assert()` and remove not null assertions where possibly
in `cli`.
Closes #3273
2019-11-13 13:42:34 -05:00
Ry Dahl
279191ad94
Disable flaky tests lock_check_ok2 and lock_check_err2 ( #3331 )
2019-11-13 12:48:17 -05:00
罗文
80b1371548
fmt: allow configuration of Prettier options ( #3314 )
2019-11-13 11:21:17 -05:00
Kitson Kelly
8d03397293
Make bundles fully standalone ( #3325 )
...
- Bundles are fully standalone. They now include the shared loader with
`deno_typescript`.
- Refactor of the loader in `deno_typescript` to perform module
instantiation in a more
- Change of behaviour when an output file is not specified on the CLI.
Previously a default name was determined and the bundle written to that
file, now the bundle will be sent to `stdout`.
- Refactors in the TypeScript compiler to be able to support the concept
of a request type. This provides a cleaner abstraction and makes it
easier to support things like single module transpiles to the userland.
- Remove a "dangerous" circular dependency between `os.ts` and `deno.ts`,
and define `pid` and `noColor` in a better way.
- Don't bind early to `console` in `repl.ts`.
- Add an integration test for generating a bundle.
2019-11-13 10:35:56 -05:00
木杉
0f33bf6885
fix url parse bug ( #3316 )
2019-11-12 13:45:48 -05:00
罗文
7ba42ee4a6
flags: bump deno_std to v0.23.0 ( #3322 )
2019-11-12 08:34:09 -05:00
Yoshiya Hinosawa
31115067cd
Add permissions.request ( #3296 )
2019-11-11 10:33:29 -05:00
Bartek Iwańczuk
335e8bd33c
refactor: worker is no longer a resource ( #3290 )
2019-11-09 12:07:14 -08:00
Nayeem Rahman
d586f119fa
net: Check for closing status when iterating Listener ( #3309 )
...
std/http/server.ts: Use listener.next() instead of listener.accept()
2019-11-09 14:40:22 -05:00
Yoshiya Hinosawa
54f23b7caa
test: re-enable integration test 045 ( #3300 )
...
This test was improved in #3185 .
2019-11-08 20:11:22 -08:00
Ryan Dahl
964b84091a
disable flaky test
2019-11-08 17:27:09 -05:00
Bert Belder
adab69bccc
Upgrade rust crates ( #3292 )
2019-11-07 16:21:51 -08:00
Bartek Iwańczuk
c57207e96a
refactor: move Child resource to ops/process.rs ( #3291 )
2019-11-07 18:52:21 -05:00
Ryan Dahl
e1d1836854
disable flaky test
2019-11-07 17:58:05 -05:00
Ry Dahl
2cf0866ba3
upgrade: Rust 1.39.0 ( #3286 )
2019-11-07 11:21:45 -08:00
Bartek Iwańczuk
25c276055b
refactor: remove cli::resources::Resource ( #3285 )
2019-11-07 11:11:15 -05:00
Bartek Iwańczuk
415d4c2e52
refactor: rewrite accept resources ( #3271 )
2019-11-07 09:59:02 -05:00
Ry Dahl
5c1deac0cf
Remove CoreResource::inspect_repr method ( #3274 )
...
Towards simplifying (or better removing entirely) the CoreResource
trait. Resources should be any bit of privileged heap allocated memory
that needs to be referenced from JS, not very specific trait
implementations. Therefore CoreResource should be pushed towards being
as general as possible.
2019-11-06 12:17:28 -05:00
Ry Dahl
adc3467c9c
Disable flaky tests ( #3270 )
2019-11-05 15:45:00 -05:00
Ryan Dahl
a611788834
v0.23.0
2019-11-04 19:46:27 -05:00
Ry Dahl
1726194452
Revert "reduce redundancies in the fetch code ( #3249 )" ( #3264 )
...
Max latency benchmark went to zero for deno_proxy.
This reverts commit 65e9179672
2019-11-04 19:10:54 -05:00
Ry Dahl
c04ff22afe
Remove tsconfig files - they are not part of build process ( #3262 )
2019-11-04 18:13:28 -05:00
Bartek Iwańczuk
0049d4e50c
Refactor Worker and ThreadSafeState ( #3242 )
...
* Split ThreadSafeState into State and GlobalState. State is a "local"
state belonging to "Worker" while "GlobalState" is state shared by
whole program.
* Update "Worker" and ops to use "GlobalState" where applicable
* Move and refactor "WorkerChannels" resource
2019-11-04 10:38:52 -05:00
Ry Dahl
86b3ac5108
feat: lockfiles ( #3231 )
...
Use --lock-write=lock.json or --lock-check=lock.json on the command
line.
2019-11-03 10:39:27 -05:00
Nick Stott
65e9179672
reduce redundancies in the fetch code ( #3249 )
2019-11-02 11:47:55 -04:00
Ry Dahl
af61dbed87
Upgrade node_modules, change tagline, clean up root directory ( #3247 )
...
* Upgrade node_modules
* Simplify tagline
* Move gclient_config.py out of root
* Move package.json to tools
* Remove yarn.lock
* Remove CONTRIBUTING.md
2019-10-31 19:33:27 -07:00
Kevin (Kun) Kassimo Qian
9d6cbb73a8
cli: replace timer map with red-black tree ( #3218 )
...
This avoids a crash when the Deno process has been running for
2**32 ms (about 50 days). Additionaly, time complexity of finding which
timer is due to fire next is reduced from from O(n) to O(log n).
2019-10-31 17:11:58 -07:00
Sven Nicolai Viig
d7a5aed511
Adds custom inspect method for URL ( #3241 )
2019-10-31 14:55:54 -04:00
Yoshiya Hinosawa
4f8c936974
Make EOF unique symbol ( #3244 )
2019-10-31 10:57:09 -04:00
Ry Dahl
8f571ef166
Remove TTY tests - dead code ( #3229 )
2019-10-29 17:52:57 -04:00
Andy Hayden
3c2399e437
Use top-level await in jsdoc examples ( #3239 )
2019-10-29 17:11:41 -04:00
Andy Hayden
49e04fb240
fix race condition in test http server ( #3237 )
2019-10-29 16:06:14 -04:00
Bartek Iwańczuk
a7992e7703
refactor: use core ResourceTable in cli ( #3206 )
2019-10-28 20:42:44 -04:00
Kevin (Kun) "Kassimo" Qian
2f0f236d56
Prevent customInspect error from crashing console ( #3226 )
2019-10-28 18:29:15 -04:00
Ryan Dahl
71efe6f2c5
v0.22.0
2019-10-28 14:12:12 -04:00
Nick Stott
65d9286203
Re-enable basic stream support for fetch bodies ( #3192 )
...
* Add sd-streams from https://github.com/stardazed/sd-streams/blob/master/packages/streams/src/
* change the interfaces in dom_types to match what sd-streams expects
2019-10-28 12:41:36 -04:00
Rory Malcolm
967c236fa5
Add CustomInspect for Headers ( #3130 )
...
Worth noting due to implementation of the Headers class the contents of headersMap have lowercase keys, although this matches the specification as header keys are case agnostic it does seem to not match behaviour of other implementations in other languages I have seen, would require some rewriting of Headers.ts
2019-10-28 12:23:39 -04:00
Yoshiya Hinosawa
efd7e78af3
Use web standard Permissions API ( #3200 )
2019-10-27 11:22:53 -04:00
Andy Hayden
aec5a646c9
feat: top-level-for-await ( #3212 )
2019-10-27 09:04:42 -04:00
Kevin (Kun) "Kassimo" Qian
6869bfa4c6
Support named imports/exports for subset of properties in JSON modules ( #3210 )
2019-10-26 21:04:34 -04:00
Kitson Kelly
c5fe657dd3
Use a more performant utf8 decoder algorithm. ( #3204 )
...
Fixes #3163
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
Co-authored-by: Qwerasd <qwerasd205@users.noreply.github.com>
2019-10-26 10:51:53 -04:00
Bartek Iwańczuk
dfcdc03152
fix: handle malformed control buffers ( #3202 )
2019-10-25 13:23:16 -04:00
Bartek Iwańczuk
492b87d460
Add error handling for minimal dispatch ( #3176 )
2019-10-24 17:22:31 -04:00
Ry Dahl
1d8f3cc896
Remove old website ( #3194 )
...
Move manual.md and style_guide.md into //std so they can be accessed
from https://deno.land/std/manual.md
Code for new website is https://github.com/denoland/deno_website2
Co-authored-by: Christian Moritz <chrmoritz@gmail.com>
2019-10-24 16:14:05 -04:00
EnokMan
7c60ab4664
refactor DenoPermissions.check_net & resolve_addr ( #3182 )
2019-10-23 10:19:26 -04:00
Yoshiya Hinosawa
2804ba8674
remove --no-prompt flag, fail on missing permissions ( #3183 )
2019-10-22 19:35:43 -04:00
Ry Dahl
dc80dd2ace
Add TextDecoder benchmark ( #3180 )
2019-10-22 18:50:56 -04:00
Yoshiya Hinosawa
ec44b5b6af
test: improve http_proxy test ( #3185 )
2019-10-22 09:52:41 -04:00
Bartek Iwańczuk
6c5a981fd2
feat: Deno.listenTLS ( #3152 )
2019-10-21 14:38:28 -04:00
Ry Dahl
1f52c66ced
Fix build warning ( #3146 )
2019-10-21 11:20:58 -07:00
Yusuke Sakurai
f1fa3bd792
update: use v0.21.0 for subcommands ( #3168 )
2019-10-21 13:11:19 -04:00
Ryan Dahl
4e88ba9a11
v0.21.0
2019-10-19 18:46:02 -04:00
Kevin (Kun) "Kassimo" Qian
eff2a27bd0
feat: Allow "deno eval" to run code as module ( #3148 )
2019-10-19 17:19:19 -04:00
Ry Dahl
4ae1838a6e
Fix clearTimer bug ( #3143 )
2019-10-19 17:09:24 -04:00
Kevin (Kun) "Kassimo" Qian
b112e14b16
chore: remove xevalDelim from Start interface ( #3147 )
2019-10-19 02:38:59 -04:00
Michał Sabiniarz
75ec9426f3
feat: --reload flag to take arg for partial reload ( #3109 )
...
Example: To reload only std modules --reload=https://deno.land/std/
2019-10-17 10:29:06 -04:00
Yusuke Sakurai
c1b302d769
fix: remote jsx/tsx files were compiled as js/ts ( #3125 )
2019-10-16 13:35:04 -04:00
Ryan Dahl
ddbfe9b5aa
Add debug build to github actions
...
This disabled the tty_tests which seem to be very flaky with the debug
build.
2019-10-15 11:50:01 -04:00
Bartek Iwańczuk
4221b90c3f
perf: eager poll async ops in Isolate ( #3046 )
2019-10-14 17:46:27 -04:00
Yusuke Sakurai
6056595357
fix: [tls] op_dial_tls is not registerd and broken ( #3121 )
2019-10-13 10:37:37 -04:00
Bartek Iwańczuk
b3331e81d9
support --allow-net=:4500 ( #3115 )
2019-10-12 14:13:52 -07:00
Ryan Dahl
4b7204babe
Update various links to deno_std ( #3096 )
2019-10-12 12:23:58 -07:00
Ryan Dahl
97d8498d46
Add init methods for each op module ( #3087 )
2019-10-11 11:41:54 -07:00
Nayeem Rahman
04ed8d0531
Ensure DENO_DIR when saving the REPL history ( #3106 )
2019-10-11 10:12:39 -07:00
Ryan Dahl
93f7f00c95
Run deno_std tests in github actions
2019-10-09 17:22:22 -04:00
Ryan Dahl
a4b27db21a
v0.20.0
2019-10-07 12:57:29 -04:00
Bartek Iwańczuk
41ed4cd34e
use single thread runime in tokio_util::block_on ( #3080 )
2019-10-07 04:31:56 -04:00
Bartek Iwańczuk
e1d49fe0fe
remove more calls to tokio_util::block_on ( #3059 )
...
towards #2960
2019-10-06 15:03:30 -04:00
Ryan Dahl
b81e5db17a
Merge deno_cli_snapshots into deno_cli ( #3064 )
2019-10-04 20:28:51 -04:00
Ryan Dahl
ddcad56ee9
Move deno_std to a more convenient location. ( #3057 )
...
js/deps/https/deno.land/std -> js/std
2019-10-04 14:49:32 -04:00
Nayeem Rahman
eecb4fea26
Use xeval from deno_std ( #3058 )
2019-10-04 09:02:36 -04:00
Andy Hayden
f7bbd71e21
Update rust to 1.38.0 ( #3030 )
2019-10-03 09:16:06 -04:00
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
Jed Fox
99eec73b4b
feat: Add support for passing a key to Deno.env() ( #2952 )
...
This adds a new op to get a single env var.
2019-10-02 11:55:28 -04:00
Bartek Iwańczuk
c920c5f62a
feat: window.onunload ( #3023 )
2019-10-02 11:32:51 -04:00
Yusuke Sakurai
d32f39f2ec
feat: JSX Support ( #3038 )
2019-10-02 10:46:36 -04:00
Bartek Iwańczuk
75eeac03f3
use Isolate::register_op in deno_cli ( #3039 )
2019-10-01 18:51:05 -04:00
Ryan Dahl
ae26a9c7a2
Support top-level-await in TypeScript ( #3024 )
2019-09-30 12:38:23 -04:00
Ryan Dahl
5f7ab4884c
Use 0.0.0.0 for servers in benchmarks and tests ( #3010 )
2019-09-30 12:35:48 -04:00
Bartek Iwańczuk
3a982a014b
bump deno_std deps ( #3034 )
2019-09-28 15:14:49 -04:00
Kevin (Kun) "Kassimo" Qian
6efca6d1a1
Add Deno.hostname() ( #3032 )
2019-09-27 19:09:42 -04:00
Ryan Dahl
3892cf5901
v0.19.0
2019-09-25 10:58:35 -04:00
Kitson Kelly
3d2d0ee771
Handle uncaught worker errors without panicking ( #3019 )
2019-09-25 10:46:58 -04:00
Bartek Iwańczuk
112ce0df1f
test: add HTTP_PROXY tests ( #2977 )
2019-09-24 18:52:01 -04:00
Ryan Dahl
a497f87b59
Upgrade V8 for top-level-await ( #3015 )
2019-09-24 18:37:04 -04:00
Bartek Iwańczuk
2201414a7a
fix: run missing integration tests ( #2997 )
2019-09-24 10:46:57 -04:00
Jonathon Orsi
045e74bb39
feat: Add Deno.dialTLS()
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-23 15:12:42 -04:00
Ryan Dahl
97bb2bdb79
dial/listen API change ( #3000 )
...
Previously: dial("tcp", "deno.land:80")
Now: dial({ hostname: "deno.land", port: 80, transport: "tcp" })
Similarly with listen().
2019-09-20 18:32:18 -04:00
Bert Belder
93b7acf99d
js: reschedule global timer if it fires earlier than expected ( #2989 )
...
When the global timer fires earlier than expected, which apparently
happens sometimes on server editions of Windows, we didn't call any
setTimeout callbacks, but we *also* didn't reschedule the global timer
to fire again later.
When this situation occurred it would make deno exit abruptly if there
were no other asynchronous ops running on the event loop. It could also
lead to application hangs if the upcoming setTimeout callback was
critical for the application to make progress.
2019-09-20 19:00:12 +02:00
Yoshiya Hinosawa
560edc536c
Fix handling of config file ( #2996 )
2019-09-20 10:19:51 -04:00
Ryan Dahl
56ac638d93
Remove test.py, use cargo test as test frontend ( #2967 )
...
Fixes #2933
2019-09-19 14:48:05 -04:00
迷渡
1b1ae65a4a
Make window
compatible with ts 3.6 ( #2984 )
2019-09-19 11:40:52 -04:00
Kitson Kelly
693a45c3fd
Utilise internal names for snapshot bundles ( #2973 )
2019-09-18 19:56:13 -04:00
Kitson Kelly
60a2b5a8d0
Update to TypeScript 3.6.3 ( #2969 )
2019-09-17 12:24:44 -04:00
Ryan Dahl
9cfdc60a23
Move integration tests to //cli/tests/ ( #2964 )
...
This ensures the deno executable is properly created before running the integration tests.
Also allows deno_cli to be used as a lib. Docs are now properly generated: https://docs.rs/deno_cli/0.18.4/deno_cli/
Towards #2933
Prep for #2955
2019-09-16 21:05:14 -04:00
Ryan Dahl
c9ef182886
Make deno_cli installable via crates.io ( #2946 )
...
- Fixes cargo publish on deno_typescript, deno_cli_snapshots, and
deno_cli.
- Combines cli_snapshots and js into one directory.
- Extracts TS version at compile time rather than runtime
- Bumps version awkwardly - it was necessary to test end-to-end
publishing. Sorry.
- Adds git submodule deno_typescript/typescript
2019-09-15 18:36:27 -04:00
Tomohito Nakayama
a93b29007f
Rename ansi.rs to colors.rs ( #2956 )
2019-09-15 14:48:25 -04:00
Bartek Iwańczuk
686b86edb1
feat: parallelize downloads from TS compiler ( #2949 )
2019-09-14 12:05:00 -04:00
Ryan Dahl
7e3296dad9
v0.18.0
2019-09-13 16:40:08 -04:00
Ryan Dahl
f5afadc000
Remove old comment about gn build ( #2944 )
2019-09-13 21:45:46 +02:00
Bert Belder
ac68f628d2
Upgrade rust crates
2019-09-13 00:38:02 +02:00
Bert Belder
111b19b0a3
Remove 'integer-atomics' crate
2019-09-13 00:38:02 +02:00
Ryan Dahl
93d6faacf5
Keep all deno_std URLs in sync ( #2930 )
2019-09-12 12:56:53 -04:00
Bartek Iwańczuk
a8f44213ec
bump prettier revision ( #2928 )
2019-09-12 06:32:24 -04:00
Bartek Iwańczuk
61231912e2
fix: panicking when can't create runtime for block_on ( #2905 )
2019-09-11 20:10:14 -04:00
Bartek Iwańczuk
945dc7b84b
fix: panic during fetch ( #2925 )
2019-09-11 17:34:22 -04:00
Bartek Iwańczuk
85c51404ae
feat: Set user agent for http client ( #2916 )
2019-09-11 07:31:00 -04:00
Nayeem Rahman
749ada608e
Don't test resolve_from_cwd_absolute() on Windows ( #2911 )
2019-09-10 20:16:30 -07:00
Bartek Iwańczuk
acee1944b9
feat: Make integration tests rust unit tests ( #2884 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-10 11:09:54 -04:00
Bartek Iwańczuk
2a83327a21
fix: replace bad rid panics with errors ( #2870 )
2019-09-10 00:59:40 -04:00
Ryan Dahl
35e3c06aed
Revert "feat: use trust-dns-resolver in HTTP client"
...
It caused the final executable to grow by 1.5 mb, and is not having any
other benefit.
This reverts commit 2b40fa065c
.
2019-09-09 20:35:48 -04:00
Nayeem Rahman
718c8c4360
Fix path normalization in resolve_from_cwd() ( #2875 )
2019-09-07 14:13:09 -04:00
Bartek Iwańczuk
2b40fa065c
feat: use trust-dns-resolver in HTTP client ( #2847 )
2019-09-07 13:16:36 -04:00
Nayeem Rahman
8e3c879d13
Add default-run (+ clean up old references) ( #2876 )
2019-09-06 22:31:56 -04:00
Ryan Dahl
acaff6d056
Remove tools/build.py ( #2865 )
...
Testing regression: ASAN build removed.
2019-09-06 20:32:58 -04:00
Yoshiya Hinosawa
595b4daa77
Remove replacements hack in deno_typescript ( #2864 )
2019-09-06 12:57:15 -04:00
Ryan Dahl
9d62d77cfa
Run tests after "cargo build" on travis ( #2854 )
2019-09-04 17:16:46 -04:00
Ryan Dahl
82588ec09c
v0.17.0
2019-09-04 17:15:32 -04:00
Yoshiya Hinosawa
249db0f7d9
Handle typescript version in rust ( #2855 )
2019-09-03 22:12:21 -04:00
Ryan Dahl
d43b43ca78
Refactor snapshot build ( #2825 )
...
Instead of using core/snapshot_creator.rs, instead two crates are
introduced which allow building the snapshot during build.rs.
Rollup is removed and replaced with our own bundler. This removes
the Node build dependency. Modules in //js now use Deno-style imports
with file extensions, rather than Node style extensionless imports.
This improves incremental build time when changes are made to //js files
by about 40 seconds.
2019-09-02 17:07:11 -04:00
Yoshiya Hinosawa
56508f113d
ops/fetch: add statusText ( #2851 )
2019-09-02 12:30:14 -04:00
Nayeem Rahman
0ce15f08c7
Remove DenoSubcommand::Install ( #2846 )
2019-09-01 14:20:23 -04:00
Bartek Iwańczuk
723284fd20
Use 'reqwest' to implement HTTP client ( #2822 )
...
Closes #2720
2019-08-30 14:49:03 -07:00
Bert Belder
840c4aa2b2
third_party: add 'reqwest' crate and dependencies
2019-08-30 14:47:48 -07:00
Ryan Dahl
c370f749b2
Remove ts_library_builder, maintain lib.deno_runtime.d.ts by hand ( #2827 )
2019-08-30 11:11:33 -04:00
Bert Belder
e939ec0f21
third_party: upgrade 'rustls' and related crates
2019-08-29 10:45:09 -07:00
Bert Belder
177727d730
third_party: downgrade 'url' crate to version 1.7.2
2019-08-29 10:45:09 -07:00
Bert Belder
89794d5d34
build: make it possible to pass arbitrary env vars to rustc
2019-08-29 10:45:00 -07:00
Ryan Dahl
2b79552dd1
Internalize base64-js, convert to TypeScript
2019-08-28 18:25:15 -04:00
Ryan Dahl
45ddff14b2
Remove unused GN action
2019-08-28 18:25:15 -04:00
Bartek Iwańczuk
20739a8111
feat: implement Addr interface ( #2821 )
2019-08-27 11:35:32 -04:00
Ryan Dahl
725eb98105
Clean up various flatbuffer references ( #2819 )
2019-08-26 22:29:51 -04:00
Ryan Dahl
f94900406d
Remove flatbuffers ( #2818 )
2019-08-26 17:02:34 -04:00
Ryan Dahl
d8ada4d3fc
Port readSync/writeSync ops to minimal
...
This removes dispatch_flatbuffers as it is now unused. There are still a
few places where msg_generated is used: ErrorKind and MediaType. These
will be dealt with later.
2019-08-26 14:56:42 -04:00
Bartek Iwańczuk
a6f6209f52
port fs ops to JSON ( #2812 )
2019-08-26 10:18:42 -04:00
Bartek Iwańczuk
520f9631e0
bring back json ops ( #2815 )
2019-08-26 08:50:21 -04:00
Bartek Iwańczuk
017f88ee99
fix: shared queue requires aligned buffer ( #2816 )
2019-08-26 07:48:40 -04:00
Ryan Dahl
2235dd795d
Revert json ops ( #2814 )
...
* Revert "port more ops to JSON (#2809 )"
This reverts commit 137f33733d
.
* Revert "port ops to JSON: compiler, errors, fetch, files (#2804 )"
This reverts commit 79f82cf10e
.
* Revert "Port rest of os ops to JSON (#2802 )"
This reverts commit 5b2baa5c99
.
2019-08-24 13:20:48 -07:00
Bartek Iwańczuk
137f33733d
port more ops to JSON ( #2809 )
2019-08-24 08:31:14 -07:00
Bartek Iwańczuk
79f82cf10e
port ops to JSON: compiler, errors, fetch, files ( #2804 )
2019-08-24 06:02:42 -07:00
Ryan Dahl
5b2baa5c99
Port rest of os ops to JSON ( #2802 )
2019-08-24 05:13:50 -07:00
Ryan Dahl
bc467b265f
introduce JSON serialization for ops ( #2799 )
...
Converts env(), exit(), execPath(), utime() and utimeSync() to use JSON
instead of flatbuffers.
2019-08-22 22:30:14 -07:00
Bert Belder
47c216317f
build: enable 'derive' feature of 'serde' crate
2019-08-22 17:27:51 -07:00
Ryan Dahl
0809b06a39
v0.16.0
2019-08-22 15:11:22 -07:00
Bert Belder
7f9c6decc8
third_party: upgrade rust crates
2019-08-22 14:22:25 -07:00
Kitson Kelly
6c7d337960
Support .d.ts files ( #2746 )
...
Fixes #1432
2019-08-22 12:05:01 -04:00
Ryan Dahl
bdc97b3976
Organize dispatch a bit ( #2796 )
...
Just some clean up reorganization around flatbuffer/minimal dispatch
code. This is prep for adding a JSON dispatcher.
2019-08-21 20:42:48 -04:00
Bartek Iwańczuk
389763c04e
bump test runner revision ( #2800 )
2019-08-21 13:49:48 -04:00
Bartek Iwańczuk
4faab6a74b
fix: handle tsconfig.json with comments ( #2773 )
2019-08-17 12:53:34 -04:00
Ryan Dahl
de713e42c8
Upgrade to rust 1.37.0 ( #2786 )
2019-08-16 20:49:00 -04:00
Bartek Iwańczuk
1978358328
chore: bump test runner version ( #2784 )
2019-08-16 18:20:36 -04:00
Ryan Dahl
81f809f2a6
Revert "Remove dead code: legacy read/write ops"
...
This is causing a segfault for unknown reasons - see #2787 .
This reverts commit 498f6ad431
.
2019-08-16 14:41:08 -04:00
Nayeem Rahman
52a66c2796
Fix import map panics, use import map's location as its base URL ( #2770 )
2019-08-15 13:58:04 -04:00
Bartek Iwańczuk
d2d3afaf2d
add deno test subcommand ( #2783 )
2019-08-15 10:11:52 -04:00
Ryan Dahl
498f6ad431
Remove dead code: legacy read/write ops ( #2776 )
...
readSync and writeSync use dispatch_minimal now.
2019-08-14 19:54:35 -04:00
Bartek Iwańczuk
e6c349af9f
split up ops.rs ( #2753 )
...
Note cli/dispatch_minimal.rs ops are not yet included in cli/ops.
This is part of work towards #2730
2019-08-14 11:03:02 -04:00
Ryan Dahl
58f0e9b9b1
v0.15.0
2019-08-13 18:35:04 -04:00
Ryan Dahl
1f8b1a587c
Dynamic import should respect permissions ( #2764 )
2019-08-13 14:51:15 -04:00
Nayeem Rahman
1947f572d7
Fix permission requirements for Deno.rename() and Deno.link() ( #2737 )
2019-08-13 09:39:01 -04:00
Bert Belder
c3afa55751
Propagate Url::to_file_path() errors instead of panicking ( #2771 )
...
* Propagate Url::to_file_path() errors instead of panicking
2019-08-13 03:52:03 +02:00
Bartek Iwańczuk
9bd473d8ac
feat: print cache location when no arg in deno info ( #2752 )
2019-08-11 18:43:01 -06:00
Bartek Iwańczuk
54982e948e
fix: cache paths on Windows are broken ( #2760 )
2019-08-12 01:12:09 +02:00
Kevin (Kun) "Kassimo" Qian
286ee1d8b6
Fix dynamic import base path problem for REPL and eval ( #2757 )
2019-08-09 16:33:59 -07:00
Bert Belder
83d5362f1d
v0.14.0
2019-08-09 03:03:27 +02:00
Bert Belder
6fbf2e9624
Dynamic import ( #2516 )
2019-08-09 01:19:45 +02:00
andy finch
56a82e72d9
Resolve worker specifiers relative to main module of host. ( #2751 )
2019-08-08 14:38:53 -07:00
Daniel Buckmaster
520bdb6c31
Fix repl crash when deno dir doesn't exist ( #2727 )
2019-08-08 07:25:39 -04:00
Ryan Dahl
e438ac2c74
Add op_id throughout op API ( #2734 )
...
Removes the magic number hack to switch between flatbuffers and the
minimal dispatcher.
Adds machinery to pass the op_id through the shared_queue.
2019-08-07 14:02:29 -04:00
Kevin (Kun) "Kassimo" Qian
4519f9a50d
Make Deno.execPath a function ( #2743 )
...
And throws without allow-env
2019-08-06 17:05:47 -04:00
Kevin (Kun) "Kassimo" Qian
ccee2f01ba
Implement Blob url support for worker ( #2729 )
2019-08-06 09:22:11 -04:00
Nayeem Rahman
11c850af42
Enforce permissions on kill(), homeDir() and execPath ( #2723 )
2019-08-06 01:45:36 -04:00
Ryan Dahl
a517513182
Remove Deno.build.args feature ( #2728 )
...
This is a minor feature which complicates the build signifigantly.
Removing to ease refactoring the build system:
https://github.com/denoland/deno/issues/2608
2019-08-05 18:00:45 -04:00
Kevin (Kun) "Kassimo" Qian
ddee2dff14
Provide option to delete Deno namespace in worker ( #2717 )
2019-08-05 07:23:41 -04:00
Bartek Iwańczuk
aaa7a3eac4
use BTreeMap for ResourceTable ( #2721 )
2019-08-04 09:35:03 -04:00
Kevin (Kun) "Kassimo" Qian
52c13fb3ed
Enforce env permission on homeDir() and execPath ( #2714 )
2019-08-03 21:34:13 -04:00
Bert Belder
c6861b537e
third_party: upgrade rust crates
2019-08-02 18:59:54 +02:00
Ryan Dahl
3971dcfe10
Use system rustfmt instead of fixed binary ( #2701 )
2019-07-31 17:11:37 -04:00
Ryan Dahl
b3541c38f5
v0.13.0
2019-07-31 15:09:06 -04:00
Bartek Iwańczuk
2e1ab82321
refactor: cleanup compiler pipeline ( #2686 )
...
* remove fetch_source_file_and_maybe_compile_async and
replace it with State.fetch_compiled_module
* remove SourceFile.js_source()
* introduce CompiledModule which is basically the same as
deno::SourceInfo and represents arbitrary file that has been
compiled to JS module
* introduce //cli/compilers module containing all compilers
* introduce JsCompiler which is a no-op compiler
- output is the same as input, no compilation takes place
- it is used for MediaType::JavaScript and MediaType::Unknown
* introduce JsonCompiler that wraps JSON in default export
* support JS-to-JS compilation using checkJs
2019-07-31 13:16:03 -04:00
Bartek Iwańczuk
e7cee29c84
Add --current-thread flag ( #2702 )
2019-07-31 11:02:20 -04:00
Bartek Iwańczuk
421cbd39b4
factor out FileFetcher to separate module ( #2683 )
...
* merge SourceFileFetcher trait and FileFetcher struct
* move logic related to source file fetching to //cli/file_fetcher.rs
* use Result when creating new ThreadSafeState
2019-07-31 11:58:41 +00:00
Bartek Iwańczuk
ac269beabe
feat: add debug info to ModuleResolutionError ( #2697 )
2019-07-30 14:34:57 +00:00
Kitson Kelly
5083f5fd90
Remap stack traces of unthrown errors. ( #2693 )
2019-07-29 09:11:08 +00:00
Bartek Iwańczuk
729c4e9377
make importmap flag global ( #2687 )
2019-07-27 14:37:03 +00:00
Bartek Iwańczuk
89e6792203
cli: handle deno -v and deno --version ( #2684 )
2019-07-27 09:20:40 +00:00
Bartek Iwańczuk
3ae808986d
cli: unify deno -h options ( #2682 )
2019-07-26 07:36:56 +00:00
Bartek Iwańczuk
70de8dd51d
save headers for all intermediate redirects ( #2677 )
2019-07-22 18:52:40 -04:00
andy finch
c98d9bf709
removed unnecessary implementation from SourceFileFetcher ( #2670 )
2019-07-20 11:02:54 -04:00
Bartek Iwańczuk
34f212f257
fix: bring back --no-fetch flag ( #2671 )
2019-07-20 09:19:06 -04:00
Ryan Dahl
a37bc0088f
Remove hacky normalize_path ( #2660 )
2019-07-18 15:01:44 -04:00
Ryan Dahl
55ca0f09cb
REPL shouldn't panic when it gets SIGINT ( #2662 )
2019-07-18 15:01:15 -04:00
Bartek Iwańczuk
8214b686ce
Refactor DenoDir ( #2636 )
...
* rename `ModuleMetaData` to `SourceFile` and remove TS specific
functionality
* add `TsCompiler` struct encapsulating processing of TypeScript files
* move `SourceMapGetter` trait implementation to `//cli/compiler.rs`
* add low-level `DiskCache` API for general purpose caches and use it in
`DenoDir` and `TsCompiler` for filesystem access
* don't use hash-like filenames for compiled modules, instead use
metadata file for storing compilation hash
* add `SourceFileCache` for in-process caching of loaded files for fast
subsequent access
* define `SourceFileFetcher` trait encapsulating loading of local and
remote files and implement it for `DenoDir`
* define `use_cache` and `no_fetch` flags on `DenoDir` instead of using
in fetch methods
2019-07-17 18:15:30 -04:00
Ryan Dahl
4e248ecda9
v0.12.0
2019-07-16 16:08:50 -04:00
Yoshiya Hinosawa
9c45499864
Support window.onload ( #2643 )
2019-07-16 00:19:26 -04:00
Ryan Dahl
1fde15c0bc
Fix REPL when it receives EOF ( #2638 )
2019-07-12 10:23:08 -04:00
Bert Belder
abe8a113ad
Refactor error to use dynamic dispatch and traits
...
This is in preperation for dynamic import (#1789 ), which is more easily
implemented when errors are dynamic.
2019-07-11 14:37:00 -04:00
Bartek Iwańczuk
963d56fc5e
fix for '-' arg after script name ( #2631 )
2019-07-10 20:26:01 -04:00
Ryan Dahl
d7fa8c3207
Update deno.land links v0.11 ( #2628 )
2019-07-09 18:59:13 -04:00
Bartek Iwańczuk
d641782c82
Rewrite snapshot_creator in Rust
2019-07-08 18:18:28 -04:00
Bert Belder
afd66bb010
cli: generate default file name for bundle when URL ends in a slash
2019-07-08 23:05:00 +02:00
Bert Belder
f4c9b31405
core: replace ModuleSpecifier::to_url() by as_url()
2019-07-08 23:04:07 +02:00
Bartek Iwańczuk
72d9045528
cli: refactor deno_dir to use Url instead of String
2019-07-08 13:07:32 +02:00
Bert Belder
9b1997b8b6
core: clearly define when module lookup is path-based vs URL-based
...
The rules are now as follows:
* In `import` statements, as mandated by the WHATWG specification,
the import specifier is always treated as a URL.
If it is a relative URL, it must start with either / or ./ or ../
* A script name passed to deno as a command line argument may be either
an absolute URL or a local path.
- If the name starts with a valid URI scheme followed by a colon, e.g.
'http:', 'https:', 'file:', 'foo+bar:', it always interpreted as a
URL (even if Deno doesn't support the indicated protocol).
- Otherwise, the script name is interpreted as a local path. The local
path may be relative, and operating system semantics determine how
it is resolved. Prefixing a relative path with ./ is not required.
2019-07-08 13:07:32 +02:00
Ryan Dahl
92ac616708
v0.11.0
2019-07-07 12:17:46 -04:00
Bert Belder
32cde32e54
core: return useful error when import path has no prefix like ./
2019-06-30 19:46:32 +02:00
Bartek Iwańczuk
9d18f97327
fix: normalize Deno.execPath ( #2598 )
2019-06-30 13:32:24 -04:00
Bartek Iwańczuk
5a4bebb770
fix: test output for completions ( #2597 )
2019-06-29 18:35:56 -04:00
Bartek Iwańczuk
38cf346d5c
feat: parse flags after script name ( #2596 )
2019-06-29 18:32:54 -04:00
Gurwinder Singh
d7d3e9f9de
Fix multiple error messages for a missing file ( #2587 )
2019-06-27 09:34:12 -04:00
Jimmy Cao
fb6d57a281
fix: run blocking function on a different task ( #2570 )
...
This avoids freezing the current task if the fn blocks indefinitely
2019-06-26 19:12:11 -04:00
Bartek Iwańczuk
6906a2f75e
feat: deno completions command ( #2577 )
2019-06-26 03:02:13 -07:00
Evgeniy Karagodin
d089f97978
Add homeDir to Deno namespace ( #2578 )
2019-06-25 09:05:41 -07:00
Ryan Dahl
c56df45355
v0.10.0
2019-06-25 07:09:46 -07:00
Ryan Dahl
3a4d88475b
Port code from Cargo and use for progress
...
A lot of its functionality is unused still, but the goal it to slowly
migrate logging functionality to it. There is also a useful progress bar
which can be ported over later - it depends on this module.
4c1fa54d10/src/cargo/util/progress.rs
2019-06-25 06:32:28 -07:00
Bert Belder
89216c7baa
third_party: add rust crate 'termcolor'
2019-06-25 06:32:28 -07:00
Ryan Dahl
046cbef4f0
simplify check_net test
2019-06-25 06:32:28 -07:00
Bartek Iwańczuk
70a9859adc
refactor: use Path/PathBuf in deno dir ( #2559 )
2019-06-24 10:10:21 -07:00
Bartek Iwańczuk
3c81cca037
fix: prevent multiple downloads of modules ( #2477 )
2019-06-24 09:04:06 -07:00
Gurwinder Singh
6fa6828e5f
Minor tweaks ( #2569 )
...
1. Separate Snapshot and Script StartupData functions based on cfg "no-snapshot-init"
2. Replace deprecated Once::ONCE_INIT with Once::new (https://github.com/rust-lang/rust/pull/61757 )
3. Elide lifetime
4. Fix typos
2019-06-23 04:49:49 -07:00
Bartek Iwańczuk
b9fbd55214
feat: log permission access ( #2518 )
...
Replaces -D/--log-debug flag with --log-level=debug
--log-level=info displays permission access
2019-06-22 09:02:51 -07:00
Bartek Iwańczuk
642eaf97c6
feat: redirect process stdio to file ( #2554 )
2019-06-21 16:00:14 -07:00
Matt Harrison
20f41e719d
Fix comment ( #2555 )
2019-06-21 08:21:13 -07:00
Bartek Iwańczuk
77a00aef4c
feat: upgrade installer and add docs ( #2551 )
2019-06-20 11:25:13 -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
Kitson Kelly
ed390a51ca
Add dyn to be rust nightly compatible ( #2538 )
2019-06-18 06:28:56 -07:00
andy finch
76d51b0f9a
refactor dispatch take 2 ( #2533 )
2019-06-17 18:02:08 -07:00
Ryan Dahl
7b06aa3734
v0.9.0
2019-06-15 09:04:57 -07:00
Ryan Dahl
9142a7df46
Upgrade INSTALLER_URL to include fixes ( #2532 )
...
denoland/deno_std#492
2019-06-15 07:50:36 -07:00
Bartek Iwańczuk
061f6dd483
fix deno install ( #2529 )
2019-06-15 07:08:11 -07:00
Bert Belder
77737707e4
third_party: upgrade rust crates
2019-06-15 15:20:02 +02:00
Ryan Dahl
1361e30223
Revert "Refactor dispatch handling ( #2452 )"
...
Due to performance regression:
dc60fe9f30 (commitcomment-33943711)
This reverts commit dc60fe9f30
.
2019-06-14 13:56:36 -07:00
Bartek Iwańczuk
3dff147d0c
feat: add deno install command ( #2522 )
2019-06-14 10:05:06 -07:00
andy finch
dc60fe9f30
Refactor dispatch handling ( #2452 )
...
Promise id is now created in core and passed back to JS.
2019-06-13 20:43:54 -07:00
Bartek Iwańczuk
bca5cc5041
Move ModuleSpecifier to //core ( #2509 )
2019-06-12 16:55:59 -07:00
Bartek Iwańczuk
b3c4307d02
Refactor module resolving ( #2493 )
...
Adds ModuleSpecifier, which wraps a URL. This is now passed around instead of
specifier and resolver strings.
2019-06-12 12:00:08 -07:00
Ryan Dahl
2a5138a516
Remove Config struct from core ( #2502 )
...
It's unnecessary indirection and is preventing the ability to easily
pass isolate references into the dispatch and dyn_import closures.
Note: this changes how StartupData::Script is executed. It's no longer done
during Isolate::new() but rather lazily on first poll or execution.
2019-06-12 10:53:24 -07:00
Gurwinder S
7fc3d5ed8b
Removed unused method and update docs ( #2499 )
2019-06-11 16:09:31 -04:00
Ryan Dahl
912e4f7177
feat: default output filename for deno bundle ( #2484 )
...
And improve bundle docs
2019-06-11 14:38:19 -04:00
Ryan Dahl
de8c85f8f2
Move Modules to ThreadSafeState ( #2498 )
2019-06-11 14:35:03 -04:00
Matt Harrison
d82c1991cf
Add --seed for setting RNG seed ( #2483 )
2019-06-11 10:34:39 -04:00
Ryan Dahl
523ab6a929
Upgrade V8 to 7.7.37 ( #2492 )
2019-06-10 18:49:30 -04:00
Neil Richter
163d60bf16
typo ( #2489 )
2019-06-10 09:20:19 -04:00
Bartek Iwańczuk
a115340288
feat: Import maps ( #2360 )
2019-06-09 09:08:20 -04:00
Ryan Dahl
d60bdb6350
v0.8.0
2019-06-08 15:16:34 -04:00
Kitson Kelly
307e092753
Add 'bundle' subcommand. ( #2467 )
2019-06-08 14:42:28 -04:00
gurv-s
35f879ad32
Remove tokio_util::block_on dep in compile_async and other cleanup
2019-06-08 10:59:20 -04:00
gurv-s
95eac608a6
Make print_file_info async
2019-06-08 10:59:20 -04:00
gurv-s
564222bc10
make op_create_worker async internally
2019-06-08 10:59:20 -04:00
gurv-s
c0b28dc224
Use static dispatch
2019-06-08 10:59:20 -04:00
Kitson Kelly
e3b2205eba
Cleanup compiler API ( #2466 )
2019-06-06 20:37:26 -04:00
Ryan Dahl
e152dae006
RecursiveLoad shouldn't own the Isolate ( #2453 )
...
This patch makes it so that RecursiveLoad doesn't own the Isolate, so
Worker::execute_mod_async does not consume itself.
Previously Worker implemented Loader, but now ThreadSafeState does.
This is necessary preparation work for dynamic import (#1789 ) and import
maps (#1921 )
2019-06-05 16:35:38 -04:00
Bartek Iwańczuk
6fa4d2e759
feat: bring back deno <script> ( #2451 )
2019-06-05 13:44:46 -04:00
Kitson Kelly
a71305b4fe
Handle compiler diagnostics in Rust ( #2445 )
2019-06-04 09:03:56 -04:00
Gurwinder S
bbc8de0c7a
Fix typo ( #2443 )
2019-06-02 14:23:36 -04:00
Yoshiya Hinosawa
79f770b178
fmt: add --stdout option ( #2439 )
2019-06-01 08:54:32 -04:00
Bert Belder
1540b36ce7
third_party: upgrade rust crates
2019-05-30 11:28:05 -07:00
Axetroy
4c80394f54
bump std/prettier@0.5.0 to std/prettier@0.7.0 ( #2425 )
2019-05-30 08:35:42 -04:00
Ryan Dahl
5265bd7cb1
v0.7.0
2019-05-29 18:42: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
53b6356ec5
Correct tokio_util::block_on() and op_fetch_module_meta_data
...
op_fetch_module_meta_data is an op that is used by the TypeScript
compiler. TypeScript requires this op to be sync. However the
implementation of the op does things on the event loop (like fetching
HTTP resources).
In certain situations this can lead to deadlocks. The runtime's thread
pool can be filled with ops waiting on the result of
op_fetch_module_meta_data. The runtime has a maximum number of
threads it can use (the number of logical CPUs on the system).
This patch changes tokio_util::block_on to launch a new Tokio runtime
for evaluating the future, thus bipassing the max-thread problem.
This is only an issue in op_fetch_module_meta_data. Other synchronous
ops are truly synchornous, not interacting with the event loop. TODO
comments are added to direct future development.
2019-05-29 07:53:39 -04:00
Adam Conrad
9fd4096235
add EventTarget implementation ( #2377 )
2019-05-27 09:20:34 -04:00
Bartek Iwańczuk
73ac5f89f0
add module and line no for Rust logger ( #2409 )
2019-05-25 19:23:47 +03:00
ztplz
86684799c4
typo ( #2366 )
2019-05-24 14:36:50 +03:00
Bartek Iwańczuk
1105982586
re-fix permissions for dial and listen ( #2400 )
...
Closes #2397
2019-05-23 23:47:55 +03:00
Ryan Dahl
f92af3576a
Improve CLI help ( #2388 )
2019-05-23 21:57:44 +03:00
Ryan Dahl
583a646be7
Fix concurrent accepts ( #2403 )
2019-05-23 21:22:52 +03:00
Ryan Dahl
2952fb5405
Rename --allow-high-precision to --allow-hrtime ( #2398 )
2019-05-23 19:28:29 +03:00
Bert Belder
7d03a63ded
Revert "Fix permissions for dial and listen ( #2373 )"
...
This reverts commit 7219787894
.
2019-05-22 19:47:15 -07:00
Bartek Iwańczuk
880265275f
Use tagged version of prettier in CLI ( #2387 )
2019-05-21 15:39:50 -04:00
Ryan Dahl
22feb74ba1
v0.6.0
2019-05-20 15:22:08 -04:00
Bartek Iwańczuk
7219787894
Fix permissions for dial and listen ( #2373 )
2019-05-17 14:50:53 -04:00
chiefbiiko
00f6fa46b3
Add crypto.getRandomValues() ( #2327 )
2019-05-17 14:03:01 -04:00
Bartek Iwańczuk
7f6549532c
Don't print new line if progress bar was not used ( #2374 )
2019-05-17 12:35:29 -04:00
Bert Belder
3ff240b963
third_party: add rust crate 'serde_derive'
2019-05-16 20:51:47 -07:00
Bert Belder
e9c9d71633
third_party: upgrade rust crates
2019-05-16 20:43:23 -07:00
Bert Belder
3d6f0a85af
build: add support for rust proc-macro crates
2019-05-16 20:33:25 -07:00
Bert Belder
6e7ccf0b49
tools: format .gn files in the 'cli' directory
2019-05-16 19:57:31 -07:00
Daiki Ihara
9c9c58c84d
Add permission whitelist docs ( #2365 )
2019-05-16 10:39:19 -04:00
Yoshiya Hinosawa
6a5893a269
fmt: use --write option of prettier/main.ts ( #2363 )
...
This is step 1 of the plan outlined here:
https://github.com/denoland/deno/issues/2090#issuecomment-492897028
2019-05-16 10:11:35 -04:00
Ryan Dahl
e02d8bcf18
Remove FileInfo.path
2019-05-15 21:14:17 -04:00
diskkid
2508480465
Add error handling to dispatch_minimal::ops::read/write ( #2349 )
2019-05-15 14:50:54 -04:00
Ryan Dahl
a00fa7056b
Fix command in docs ( #2353 )
2019-05-14 15:23:56 -04:00
Ryan Dahl
23aca36d52
v0.5.0
2019-05-11 17:19:21 -04:00
Ryan Dahl
aba952397a
Add progress bar ( #2309 )
2019-05-11 10:23:19 -04:00
Bert Belder
c0341cb1af
third_party: upgrade rust crates
2019-05-11 05:03:03 +02:00
Bartek Iwańczuk
1fc61f3b6a
core: Privatize ModuleNameMap SymbolicModule deno_buf ( #2324 )
2019-05-09 16:44:30 -04:00
Kevin (Kun) "Kassimo" Qian
d9cdc6788b
fix: support relative path for whitelisting ( #2317 )
...
Using `std::fs::canonicalize` to expand path to full existing path, such that
later attempt to loop-pop and compare path segment would work.
2019-05-09 12:20:34 -04:00
andy finch
2edee3367d
First pass at permissions whitelist ( #2129 )
2019-05-08 19:20:30 -04:00
Yingbo (Max) Wang
ec9080f34c
Add Deno.chown ( #2292 )
2019-05-07 21:58:57 -04:00
Bartek Iwańczuk
1f7ad17152
fix: Add all permissions to deno xeval ( #2290 )
2019-05-06 10:48:19 -04:00
Ryan Dahl
2aae09c2b8
v0.4.0
2019-05-03 19:33:50 -04:00
Bartek Iwańczuk
5824e55efa
fix: deno version panic ( #2286 )
2019-05-03 18:48:50 -04:00
Ryan Dahl
3b1e2f1ad4
v0.3.11
2019-05-03 18:05:41 -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
459162fc6e
add --no-fetch CLI flag to prevent remote downloads ( #2213 )
2019-05-03 11:09:51 -04:00
Bartek Iwańczuk
bf9b0c8231
Fix: deno --v8-options does not print v8 options ( #2277 )
2019-05-03 08:59:52 -04:00
Ryan Dahl
00ac871607
Optimize read and write ops ( #2259 )
2019-05-03 00:06:43 -04:00
Bert Belder
8999517421
core,cli: fix clippy warnings
2019-05-03 03:29:42 +02:00
Kurt Mackey
c05cbc8eac
Add Request global constructor ( #2253 )
2019-05-01 23:56:42 -04:00
Kevin (Kun) "Kassimo" Qian
1dd30f658f
doc: add long about messages for subcommands ( #2264 )
...
Type deno <subcommand> -h to view descriptions.
2019-05-01 19:15:36 -04:00
Ryan Dahl
c171813e89
core: express op as enum ( #2255 )
2019-05-01 18:22:32 -04:00
Bert Belder
41c7e96f1a
Refactor zero-copy buffers for performance and to prevent memory leaks
...
* In order to prevent ArrayBuffers from getting garbage collected by V8,
we used to store a v8::Persistent<ArrayBuffer> in a map. This patch
introduces a custom ArrayBuffer allocator which doesn't use Persistent
handles, but instead stores a pointer to the actual ArrayBuffer data
alongside with a reference count. Since creating Persistent handles
has quite a bit of overhead, this change significantly increases
performance. Various HTTP server benchmarks report about 5-10% more
requests per second than before.
* Previously the Persistent handle that prevented garbage collection had
to be released manually, and this wasn't always done, which was
causing memory leaks. This has been resolved by introducing a new
`PinnedBuf` type in both Rust and C++ that automatically re-enables
garbage collection when it goes out of scope.
* Zero-copy buffers are now correctly wrapped in an Option if there is a
possibility that they're not present. This clears up a correctness
issue where we were creating zero-length slices from a null pointer,
which is against the rules.
2019-05-01 21:11:09 +02:00
Bartek Iwańczuk
8978870808
Rename test targets ( #2262 )
2019-05-01 09:48:56 -04:00
Kevin (Kun) "Kassimo" Qian
7237e9d34a
fs: add Deno.utime/Deno.utimeSync ( #2241 )
2019-05-01 05:08:11 -04:00
Ryan Dahl
6c137342d7
flags: fix merge error ( #2244 )
2019-04-29 18:35:25 -07:00
Bartek Iwańczuk
636827a1d5
Rewrite flags.rs::parse_flags ( #2237 )
2019-04-29 16:43:06 -07:00
Kitson Kelly
1a0f53a807
Add support for custom tsconfig.json ( #2089 )
...
Use `--config`
2019-04-29 07:58:31 -07:00
Ryan Dahl
1af02b405e
Revert "recover: #1517 Kill all pending accepts when TCP listener is closed ( #2224 )" ( #2239 )
...
Crashes while running wrk against
js/deps/https/deno.land/std/http/http_bench.ts
This reverts commit 972ac03858
.
2019-04-28 14:15:15 -07:00
Yusuke Sakurai
972ac03858
recover: #1517 Kill all pending accepts when TCP listener is closed ( #2224 )
2019-04-27 11:33:24 -07:00
Bartek Iwańczuk
02596c08bd
disable --version flag from deno version ( #2226 )
2019-04-27 11:19:50 -07:00
Ryan Dahl
40d8ef1ec9
v0.3.10
2019-04-25 13:59:18 -06:00
Bartek Iwańczuk
aa85a4d288
Rename CLI flags to subcommands ( #2212 )
2019-04-25 12:59:49 -06:00
Ryan Dahl
b426ecce80
compile lib.deno_runtime.d.ts into executable ( #2209 )
2019-04-25 12:27:30 -06:00
Bartek Iwańczuk
b7d8a0c6f6
Rename deno prefetch to deno fetch ( #2210 )
2019-04-25 13:47:33 -04:00
Ryan Dahl
e725b26b28
v0.3.9
2019-04-25 17:44:34 +02:00
Ryan Dahl
d68b44b6b2
core: make Isolate concrete, remove Dispatch trait ( #2183 )
...
Op dispatch is now dynamically dispatched, so slightly less efficient.
The immeasurable perf hit is a reasonable trade for the API simplicity
that is gained here.
2019-04-23 18:58:00 -04:00
Ryan Dahl
675919e915
Use tokio_threadpool's new panic_handler ( #2188 )
2019-04-23 16:27:44 -04:00
Bert Belder
6caf865507
third_party: upgrade rust crates
2019-04-23 18:01:57 +02:00
Kevin (Kun) "Kassimo" Qian
1d4b92ac85
Add Deno.kill(pid, signo) and process.kill(signo) (Unix only) ( #2177 )
2019-04-21 21:26:56 -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
0796a8f2f7
v0.3.8
2019-04-19 11:41:13 -04:00
Ryan Dahl
5e5c8553e7
core: test Modules::deps and handle error cases better ( #2141 )
2019-04-19 11:18:46 -04:00
Kevin (Kun) "Kassimo" Qian
afabb3f833
Fix redirects under async load ( #2133 )
2019-04-18 21:33:50 -04:00
Bert Belder
8477daa8b9
Fix clippy warnings
2019-04-17 15:35:46 +02:00
Bert Belder
90c2b10f47
Add cli dependency on tokio-rustls
2019-04-17 14:02:20 +02:00
Ryan Dahl
1bfb443369
Implement async module loading in CLI ( #2084 )
2019-04-16 15:13:42 -04:00
Bert Belder
97f0fe7437
third_party: upgrade rust crates
2019-04-15 18:56:29 +02:00
Ryan Dahl
c7e1f8fabd
Fix silent error, add custom panic handler ( #2098 )
...
This is to work around Tokio's panic recovery feature.
Ref https://github.com/tokio-rs/tokio/issues/495
Ref https://github.com/tokio-rs/tokio/issues/209
Ref https://github.com/denoland/deno/issues/1311
Fixes #2097
2019-04-14 16:07:24 -04:00
Yoshiya Hinosawa
635ad2a18e
fix absolute path resolution from remote ( #2109 )
2019-04-13 13:27:27 -04:00
Bartek Iwańczuk
591b5e4a7d
Add deno eval subcommand ( #2102 )
2019-04-13 13:24:15 -04:00
andy finch
d3bd5879c3
better wait for removed_from_resource_table_on_close test ( #2104 )
2019-04-12 18:39:31 -04:00
Ryan Dahl
8584d80cfd
v0.3.7
2019-04-11 15:35:21 -04:00
andy finch
960ee5257a
Improve op dispatch ( #2088 )
2019-04-11 10:58:31 -04:00
Bartek Iwańczuk
1034d9723d
fix --v8-options ( #2093 )
2019-04-11 10:20:07 -04:00
Bert Belder
4ffe1612ff
Silence clippy warnings and format source code
2019-04-09 20:05:47 +02:00
Bert Belder
fe2f3ba889
Use correct type for source_bytes
when buiding in check-only mode
2019-04-09 20:05:47 +02:00
Ryan Dahl
d2579f4564
core: Rename Behavior to Dispatch ( #2082 )
...
And rename IsolateState to ThreadSafeState.
Also make ThreadSafeState directly implement Dispatch. This is simpler.
2019-04-09 13:11:25 -04:00
Ryan Dahl
2debbdacb9
Merge Worker and Isolate types ( #2078 )
...
Reduces generics.
2019-04-08 17:10:00 -04:00
Vincent LE GOFF
734cf781c6
Allow high precision performance.now() ( #1977 )
2019-04-08 16:22:40 -04:00
Ryan Dahl
f7fdb90fd5
core: snapshot improvements ( #2052 )
...
* Moves how snapshots are supplied to the Isolate. Previously they were
given by Behavior::startup_data() but it was only called once at
startup. It makes more sense (and simplifies Behavior) to pass it to the
constructor of Isolate.
* Adds new libdeno type deno_snapshot instead of overloading
deno_buf.
* Adds new libdeno method to delete snapshot deno_snapshot_delete().
* Renames deno_get_snapshot() to deno_snapshot_new().
* Makes StartupData hold references to snapshots. This was implicit when
it previously held a deno_buf but is made explicit now. Note that
include_bytes!() returns a &'static [u8] and we want to avoid
copying that.
2019-04-08 10:12:43 -04:00
Kevin (Kun) "Kassimo" Qian
1746a3ac69
Add link/linkSync fs call for hardlinks ( #2074 )
2019-04-08 09:11:32 -04:00
Bartek Iwańczuk
86aee7f137
Flags clean up: DenoFlags::from ( #2068 )
2019-04-07 14:58:16 -04:00
Bartek Iwańczuk
780e72ab6a
Refactor CLI flag parsing ( #2025 )
2019-04-07 01:13:06 +03:00
andy finch
07f0d077c7
add compile_async ( #2053 )
2019-04-05 00:04:06 -04:00
Ryan Dahl
744e56cb58
v0.3.6
2019-04-04 09:59:41 -04:00
andy finch
0e7311e171
Non-fatal compile_sync failures ( #2039 )
...
And model worker resources as Stream
2019-04-04 05:33:32 -04:00
Bert Belder
5f1e42f8ac
cli: refactor compile_sync() for readability
2019-04-02 18:04:25 +02:00
Bert Belder
b735155712
Clippy fixes
2019-04-02 18:04:25 +02: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
Bert Belder
ff1c80d6d8
third_party: add rust crate 'clap'
2019-03-31 17:55:03 -04:00
Ryan Dahl
e9910d8ae5
Rename crate deno_core to deno ( #2022 )
2019-03-30 19:30:40 -04:00
Ryan Dahl
6744bb8d75
Call ninja directly from build.rs ( #2020 )
2019-03-30 19:27:00 -04:00
Ryan Dahl
c9614d86c1
Move //libdeno to //core/libdeno ( #2015 )
...
Fixes some sed errors introduced in c43cfe.
Unfortunately moving libdeno required splitting build.rs into two parts,
one for cli and one for core.
I've also removed the arm64 build - it's complicating things at this
re-org and we're not even testing it. I need to swing back to it and get
tools/test.py running for it.
2019-03-30 14:45:36 -04:00
Ryan Dahl
c25e262b04
Merge the --recompile and --reload flags ( #2003 )
2019-03-28 16:05:41 -04:00
Bert Belder
da1b98b690
Clippy fixes ( #2009 )
2019-03-28 08:09:19 -04:00
Bartek Iwańczuk
597ee38ef2
Rewrite readFile and writeFile ( #2000 )
...
Using open/read/write
2019-03-27 23:29:36 -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
Kevin (Kun) "Kassimo" Qian
5c4189a3b8
Do not close file on invalid seek mode ( #2004 )
2019-03-26 22:47:17 -04:00
Kitson Kelly
c43cfedeba
namespace reorg: libdeno and DenoCore to Deno.core ( #1998 )
2019-03-26 08:22:07 -04:00
Ryan Dahl
d8714281b4
Resolve callback moved from Behavior to mod_instantiate() ( #1999 )
...
This simplifies the Behavior trait and makes it more explicit where the
resolve callback is being made.
Also s/StartupScript/Script
2019-03-25 17:43:31 -04:00
andy finch
1499d57490
Remove dead code ( #1983 )
2019-03-21 15:52:30 -04:00
Ryan Dahl
94405bb617
Fix clippy errors and upgrade Rust to 1.33.0 in CI ( #1945 )
2019-03-20 18:55:52 -04:00
Ryan Dahl
4c831f1eb5
Add more async module loading function ( #1974 )
...
* get_source_code_async
* fetch_module_meta_data_async
* fetch_module_meta_data_and_maybe_compile_async
2019-03-20 11:38:43 -04:00
andy finch
48bf419669
Separate behavior for the compiler isolate ( #1973 )
2019-03-19 20:55:59 -04:00
andy finch
6131152a57
Remove old Buf definition in cli.rs ( #1971 )
2019-03-19 16:47:35 -04:00
Ryan Dahl
fb2c0c29ec
Add fetch_remote_source_async ( #1972 )
2019-03-19 16:45:39 -04:00
Ryan Dahl
5e4312de4d
Move fetch_remote_source, fetch_local_source
...
They do not depend on DenoDir, so should not be methods of it.
2019-03-19 14:50:41 -04:00
Ryan Dahl
2c5030000b
Add async version of http_util::fetch_sync_string
2019-03-19 14:50:41 -04:00
Ryan Dahl
fa3c35301a
Rename //src/ to //cli/ ( #1962 )
...
To better distinguish the deno_core crate from the executable deno,
which will now be called "the cli" internally.
2019-03-19 12:18:05 -04:00