1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-14 16:33:45 -05:00
Commit graph

339 commits

Author SHA1 Message Date
Bartek Iwańczuk
a0f015b1a3
refactor: replace Arc<Box<..>> with Rc<..> (#3996) 2020-02-15 01:18:36 +01:00
Ryan Dahl
87c329c45a
v0.33.0 2020-02-13 17:45:22 -05:00
Bartek Iwańczuk
79b3bc05d6
workers: basic event loop (#3828)
* establish basic event loop for workers
* make "self.close()" inside worker
* remove "runWorkerMessageLoop() - instead manually call global function 
  in Rust when message arrives. This is done in preparation for structured clone
* refactor "WorkerChannel" and use distinct structs for internal 
  and external channels;  "WorkerChannelsInternal" and "WorkerHandle"
* move "State.worker_channels_internal" to "Worker.internal_channels"
* add "WorkerEvent" enum for child->host communication; 
  currently "Message(Buf)" and  "Error(ErrBox)" variants are supported
* add tests for nested workers
* add tests for worker throwing error on startup
2020-02-11 10:04:59 +01:00
Andy Finch
1abd408770
No longer require aligned buffer for shared queue (#3935)
Fixes: #3925
2020-02-09 10:54:16 -08:00
Bartek Iwańczuk
cdba5ab6fc refactor: rename ThreadSafeState, use RefCell for mutable state (#3931)
* rename ThreadSafeState to State
* State stores InnerState wrapped in Rc and RefCell
2020-02-08 20:34:31 +01:00
Bert Belder
f650c3edb3
Refactor deno_core_http_bench and make it single-threaded (#3903) 2020-02-07 18:17:03 -08:00
Bert Belder
25467aa7c7
Add blanket impl for the 'Resource' trait (#3903) 2020-02-07 17:18:28 -08:00
Ryan Dahl
161cf7cdfd
refactor: Use Tokio's single-threaded runtime (#3844)
This change simplifies how we execute V8. Previously V8 Isolates jumped
around threads every time they were woken up. This was overly complex and
potentially hurting performance in a myriad ways. Now isolates run on
their own dedicated thread and never move.

- blocking_json spawns a thread and does not use a thread pool
- op_host_poll_worker and op_host_resume_worker are non-operational
- removes Worker::get_message and Worker::post_message
- ThreadSafeState::workers table contains WorkerChannel entries instead
  of actual Worker instances.
- MainWorker and CompilerWorker are no longer Futures.
- The multi-threaded version of deno_core_http_bench was removed.
- AyncOps no longer need to be Send + Sync

This PR is very large and several tests were disabled to speed
integration:
- installer_test_local_module_run
- installer_test_remote_module_run
- _015_duplicate_parallel_import
- _026_workers
2020-02-03 18:08:44 -05:00
Bartek Iwańczuk
f4cc08c4fc
v0.32.0 2020-02-03 16:36:07 +01:00
Luka Hartwig
f168597b7a
Remove //tests symlink (#3849) 2020-02-02 16:55:22 -05:00
Andy Finch
4f8a5c0239
feat: support crate imports in deno_typescript (#3814)
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-02-01 12:02:23 +01:00
Ryan Dahl
d14864c57c
Upgrade rusty_v8 (#3816) 2020-01-29 13:03:42 +01: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
Ryan Dahl
5e32c5ea44
s/PinnedBuf/ZeroCopyBuf (#3782) 2020-01-24 15:10:49 -05:00
Ryan Dahl
8bc639a23e
v0.31.0 2020-01-24 11:07:53 -05:00
Bert Belder
a6a7253df9
Fix: take control buffer offset/length into account again (#3769) 2020-01-24 05:34:55 +01:00
Ryan Dahl
9f1e4237a5
Upgrade rusty_v8 to 0.2.0 (#3764) 2020-01-23 20:22:05 -05:00
Ryan Dahl
74e6eb14dd update readmes (#3765) 2020-01-23 22:32:52 +01:00
Bartek Iwańczuk
5a658a2ff7 refactor: remove Isolate.shared_response_buf optimization (#3759)
Op return values are no zero copied from Rust to JS.
2020-01-23 10:49:46 -05: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
Bert Belder
8c3cd634a8
Upgrade to rusty_v8 v0.1.1 (#3741) 2020-01-21 21:31:52 +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
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
Ryan Dahl
b2f01dcb50 v0.30.0 2020-01-18 07:58:49 -05:00
Bartek Iwańczuk
5fa056e53b workers: minimal error handling and async module loading (#3665) 2020-01-17 18:43:53 -05:00
Bartek Iwańczuk
d776ca8f2e
fix deno_core_http_bench (#3698) 2020-01-17 15:26:51 +01:00
Andy Finch
fe5662058e feat: support individual async handler for each op (#3690) 2020-01-17 08:26:11 -05:00
Bert Belder
d8ad81d3fb
Upgrade to rusty_v8 v0.1.0 (#3691) 2020-01-17 02:26:40 +01: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
0d0ad360d3
refactor: remove Isolate.current_send_cb_info and DenoBuf, port Isolate.shared_response_buf (#3643)
* remove Isolate.current_send_cb_info
* remove DenoBuf
* remove Isolate.shared_ab
* port Isolate.shared_response_buf (last bit not ported from libdeno)
* add some docs for Isolate and EsIsolate
2020-01-11 10:49:16 +01:00
Bert Belder
c4e8ed3c44 Upgrade to rusty_v8 v0.0.25 (#3645) 2020-01-10 12:57:36 +01:00
Ryan Dahl
525784e564 v0.29.0 2020-01-09 11:42:24 -07:00
Ry Dahl
7d2d442a77
Upgrade rusty_v8 to 0.0.24 [V8 8.1.108] (#3623) 2020-01-08 10:17:09 -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
Bartek Iwańczuk
ad9fd589d4
core: factor out EsIsolate from Isolate (#3613) 2020-01-07 12:45:44 +01:00
Bartek Iwańczuk
8bf383710f
refactor: remove core/libdeno.rs (#3611) 2020-01-06 20:07:35 +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
Bartek Iwańczuk
a29eeaf326
libdeno: don't pass pointers between core::Isolate and libdeno (#3602) 2020-01-05 20:52:03 +01:00
Bartek Iwańczuk
c1d99ebeb9
remove libdeno::UserDataScope (#3601) 2020-01-05 18:22:38 +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
Ryan Dahl
a61966a243 v0.28.1 2020-01-03 09:04:04 -05: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
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
Bartek Iwańczuk
46d76a7562
upgrade: Tokio 0.2 (#3418) 2019-12-30 14:57:17 +01:00
Axetroy
3bb15ceaea Upgrades rust to 1.40.0 (#3542) 2019-12-23 09:59:44 -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
Bartek Iwańczuk
e1eb458cad upgrade: tokio 0.2 in deno_core_http_bench, take2 (#3435) 2019-12-15 18:47:26 +08:00
Kevin (Kun) "Kassimo" Qian
50b6907bc3 Replace deprecated GetContent with GetBackingStore (#3458) 2019-12-08 05:25:40 +08:00
Bartek Iwańczuk
e02029c602 fix isolate tests (#3459)
Some tests were silently failing after #3358 and #3434 because pool.spawn_ok
was used which doesn't panic on errors. For reference, the failure looked like this:

thread '<unnamed>' panicked at 'assertion failed: match isolate.poll_unpin(cx) { Poll::Ready(Ok(_)) => true, _ => false, }', core/isolate.rs:1408:7
2019-12-08 04:04:17 +08:00
Ryan Dahl
0ce9011edc v0.26.0 2019-12-05 21:41:16 -05:00
Andy Finch
7c3b9b4f4f feat: first pass at native plugins (#3372) 2019-12-05 15:30:20 -05:00
Bartek Iwańczuk
136b5e3da2 disable eager polling for ops (#3434) 2019-12-02 12:21:32 -08:00
Ry Dahl
a537c03df7
Revert "update deno_core_http_bench to Tokio 0.2 (#3408)"
It seems this has caused CI to go red for an unknown reason.

This reverts commit 866dba8aa1.
2019-11-27 08:03:58 -08:00
Bartek Iwańczuk
866dba8aa1 update deno_core_http_bench to Tokio 0.2 (#3408) 2019-11-26 18:07:40 -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
Bartek Iwańczuk
658ec2aaf9 better error message for missing module (#3402) 2019-11-25 09:33:23 -05:00
Andy Finch
b6b813cbfc feat: op registration during calls (#3375) 2019-11-18 21:13:04 -05:00
Bartek Iwańczuk
a2f5bccad7 fix deno_core_http_bench (#3364) 2019-11-17 09:44:22 -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
Bartek Iwańczuk
8f9a942cb9 Use futures 0.3 API (#3358) 2019-11-16 19:17:47 -05:00
Ryan Dahl
0fffef8e5a v0.24.0 2019-11-14 22:52:58 -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
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
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
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
508d728b5e upgrade: V8 8.0.192 2019-11-07 17:58:05 -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
Ryan Dahl
a611788834 v0.23.0 2019-11-04 19:46:27 -05:00
Bartek Iwańczuk
a7992e7703 refactor: use core ResourceTable in cli (#3206) 2019-10-28 20:42:44 -04:00
Ryan Dahl
71efe6f2c5 v0.22.0 2019-10-28 14:12:12 -04:00
Bartek Iwańczuk
029e833075 core: Add ResourceTable (#3150) 2019-10-23 12:32:28 -04:00
EnokMan
7c60ab4664 refactor DenoPermissions.check_net & resolve_addr (#3182) 2019-10-23 10:19:26 -04:00
Bartek Iwańczuk
6257b4044a core: gracefully handle bad op id (#3131) 2019-10-22 10:49:58 -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
Bartek Iwańczuk
54db12c4d9 perf: fairer ops scheduling (#3128) 2019-10-15 14:12:27 -07:00
Bartek Iwańczuk
4221b90c3f perf: eager poll async ops in Isolate (#3046) 2019-10-14 17:46:27 -04:00
Ryan Dahl
a4b27db21a v0.20.0 2019-10-07 12:57:29 -04:00
Ryan Dahl
bed7034fc4
Upgrade V8 to 7.9.218 (#3067) 2019-10-06 10:08:16 -04:00
Christian Moritz
33e3ff5de8 remove appveyor specific code paths (#3071) 2019-10-05 21:19:00 -04:00
Andy Hayden
f7bbd71e21 Update rust to 1.38.0 (#3030) 2019-10-03 09:16:06 -04:00
Bartek Iwańczuk
a569be861a remove legacy Isolate.set_dispatch API (#3041)
* migrate deno_typescript crate to Isolate.register_op API
* remove dual-dispatch mechanism
* update Isolate tests to new dispatch mechanism
2019-10-02 13:05:48 -04:00
Bartek Iwańczuk
ffbf0c20cc feat: op registration in core (#3002) 2019-09-30 14:59:44 -04:00
Ryan Dahl
3892cf5901 v0.19.0 2019-09-25 10:58:35 -04:00
Ryan Dahl
a497f87b59
Upgrade V8 for top-level-await (#3015) 2019-09-24 18:37:04 -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
Christian Moritz
9c282d6a0e
Move GN root into //core/libdeno (#2943) 2019-09-15 22:12:12 +02:00
Ryan Dahl
7e3296dad9 v0.18.0 2019-09-13 16:40:08 -04:00
Bert Belder
ac68f628d2
Upgrade rust crates 2019-09-13 00:38:02 +02:00
Bartek Iwańczuk
c03cdcc939 feat: add bindings to run microtasks from Isolate (#2793) 2019-09-12 15:13:08 -04:00
Bartek Iwańczuk
945dc7b84b fix: panic during fetch (#2925) 2019-09-11 17:34:22 -04:00
Yoshiya Hinosawa
f12acdb50b Update @typescript-eslint/* to v2.1.0 (#2878) 2019-09-07 12:27:18 -04:00
Bert Belder
699d2ae4bb
build: on windows, don't pass -glldb to clang (#2874) 2019-09-06 18:43:48 -07:00
Ryan Dahl
acaff6d056
Remove tools/build.py (#2865)
Testing regression: ASAN build removed.
2019-09-06 20:32:58 -04:00
Ryan Dahl
82588ec09c v0.17.0 2019-09-04 17:15:32 -04:00
Bartek Iwańczuk
5c7c876a71 perf: less aggresive dyn import polling (#2858) 2019-09-04 10:37: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
Kevin (Kun) "Kassimo" Qian
fdd4252d49 Add window.queueMicrotask (#2844) 2019-08-31 15:16:30 -04:00
Bert Belder
177727d730
third_party: downgrade 'url' crate to version 1.7.2 2019-08-29 10:45:09 -07:00
Ryan Dahl
725eb98105
Clean up various flatbuffer references (#2819) 2019-08-26 22:29:51 -04:00
Bartek Iwańczuk
017f88ee99 fix: shared queue requires aligned buffer (#2816) 2019-08-26 07:48:40 -04: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
Bartek Iwańczuk
b764d1b8ff fix: dynamic import panic (#2792) 2019-08-21 17:18:39 -04:00
Ryan Dahl
de713e42c8
Upgrade to rust 1.37.0 (#2786) 2019-08-16 20:49:00 -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
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
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
Ryan Dahl
43d099c027
Fix incremental 'cargo build' (#2740)
Tip: RUSTC_WRAPPER should be unset for incremental builds to work.
2019-08-06 20:32:54 -04:00
Ryan Dahl
046cccfe17
Remove dispatch optimization (#2732)
Deno.core.dispatch() used to push the "control" buf onto the shared
array buffer before calling into V8, with the idea that it was one less
argument to parse. Turns out there is no more overhead passing the
control ArrayBuffer directly over. Furthermore this optimization was
making the refactors outlined in #2730 more complex. Therefore it is
being removed.
2019-08-05 20:12:15 -04:00
Kevin (Kun) "Kassimo" Qian
ddee2dff14 Provide option to delete Deno namespace in worker (#2717) 2019-08-05 07:23:41 -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
ac269beabe feat: add debug info to ModuleResolutionError (#2697) 2019-07-30 14:34:57 +00:00
Bert Belder
1406961d2b
Add error handling for dynamic imports to libdeno (#2678) 2019-07-24 01:57:32 +02:00
andy finch
621af21e6e only use Locker when calling into js (#2665) 2019-07-18 20:23:14 -04:00
andy finch
042484d45a remove v8::Locker from deno_respond (#2664) 2019-07-18 18:40:46 -04:00
andy finch
056c146175 Fix expected dyn before AnyError trait (#2663) 2019-07-18 23:48:44 +02:00
Ryan Dahl
4e248ecda9 v0.12.0 2019-07-16 16:08:50 -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
Ryan Dahl
52c0764e4f
Upgrade v8 to 7.7.200 (#2624) 2019-07-09 14:03:06 -04:00
Bartek Iwańczuk
d641782c82 Rewrite snapshot_creator in Rust 2019-07-08 18:18:28 -04: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
Ryan Dahl
c56df45355 v0.10.0 2019-06-25 07:09:46 -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
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
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