0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-30 11:15:13 -05:00
Commit graph

96 commits

Author SHA1 Message Date
Ryan Dahl
58cc69f672 Make timers act like normal ops
This is in preperation for core integration.
2019-03-12 19:25:57 -04:00
Andy Hayden
91364cabae Replace deno.land/x/std with deno.land/std (#1890) 2019-03-06 10:23:47 -05:00
andy finch
75fe80d5a4 use-snapshots build option for cross compile support. (#1852) 2019-03-04 18:09:35 -05:00
andy finch
8c310d3d56 Permissions refactor (#1864)
Refactored permissions to be assignable on a per-isolate 
basis, and added a fix for #1858 to op_fetch_module_meta_data.
2019-03-01 19:25:50 -05:00
Ryan Dahl
42408febe8 Add window.location 2019-02-18 23:04:59 -05:00
Ryan Dahl
99ce807a12
Add deps to --info output. (#1720)
Move module stuff into its own file.
2019-02-08 21:36:10 -05:00
Dmitry Sharshakov
9ab03389f0 Add --allow-read (#1689)
Co-authored-by: Greg Altman <g.s.altman@gmail.com>
2019-02-08 15:59:38 -05:00
Ryan Dahl
46804e50ed
Color exceptions (#1698) 2019-02-07 20:07:20 -05:00
Dmitry Sharshakov
5c50d2819b Add emojis to permission prompts (#1684) 2019-02-07 16:19:50 -05:00
Ryan Dahl
18b815e336 Support --fmt 2019-02-02 17:48:43 -05:00
Kevin (Kun) "Kassimo" Qian
c144733f72 Avoid --info crash on missing filename (#1660) 2019-02-02 17:39:28 -05:00
Ryan Dahl
4b61170e22 Better error message for bad filename CLI argument. 2019-02-02 17:33:21 -05:00
Kevin (Kun) "Kassimo" Qian
3650bae5f6 Add --info flag to display file info (compiled code/source map) (#1647) 2019-02-02 01:28:31 -05:00
Ryan Dahl
00597ffde1
Refactor libdeno ES module interface. (#1624)
Allows for future asynchronous module loading.

Add support for import.meta.url

Fixes #1496
2019-01-30 17:21:31 -05:00
JaePil Jung
dc09c3a65d Minor code cleanups (#1613) 2019-01-29 10:37:27 -05:00
Kevin (Kun) "Kassimo" Qian
c870cf4082 Add --prefetch flag for deps prefetch without running (#1475) 2019-01-15 12:19:58 -05:00
Bert Belder
d8adeb41de Clippy fixes (also fixes build with nightly) (#1527) 2019-01-15 07:06:25 -05:00
Andy Hayden
526fdac053
Update to rust 2018 edition 2019-01-14 22:30:04 +01:00
Ryan Dahl
3c1a0ad19e
Properly parse network addresses. (#1515) 2019-01-13 22:14:59 -05:00
Ryan Dahl
0ceb554343
Native ES modules (#1460)
* Native ES modules

This is a major refactor of internal compiler.

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

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

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

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

Some tests were unfortunately disabled to ease landing this patch:
1. compiler_tests.ts which I intend to bring back in later commits.
2. Some text_encoding_test.ts tests which made the file invalid utf8.
   See PR for a discussion.
Also worth noting that this is necessary to support WASM
2019-01-09 12:59:46 -05:00
Ryan Dahl
6f79ad721a
Minimal Worker support (#1476)
This adds the ability to spawn additional Isolates from Rust and send
and receive messages from them. This is preliminary work to support
running the typescript compiler in a separate isolate and thus support
native ES modules. Ref #975.
2019-01-08 14:44:06 -05:00
Ryan Dahl
2c477dd7cb Happy new year! 2019-01-02 02:37:08 +01:00
Bert Belder
3a31633041
log: bump default minimum log level to "warn" 2018-12-19 12:19:45 +01:00
Ryan Dahl
a8c3b44804 Remove custom panic handler.
This was introduced because Tokio would swallow panics. This is still
the case, but this panic handler causes more problems than it solves.
It requires people to know how to use debuggers to inspect stacktraces.

TODO:
- Fix Tokio to not swallow errors.
- Be vigilant in the intrim to not introduce broken tests due to this
  unfortunate "feature" of tokio.
2018-12-11 15:22:54 -05:00
Ryan Dahl
81c8926ee9 Use default filename for Isolate::execute. 2018-12-11 15:07:55 -05:00
Ryan Dahl
9a960b9f58
Use stderr for exceptions (#1303) 2018-12-10 17:50:41 -05:00
Ryan Dahl
c113df1bb8
Process source maps in Rust instead of JS (#1280)
- Improves speed and binary size significantly.
- Makes deno_last_exception() output a JSON structure.
- Isolate::execute and Isolate::event_loop now return
  structured, mapped JSError objects on errors.
- Removes libdeno functions:
  libdeno.setGlobalErrorHandler()
  libdeno.setPromiseRejectHandler()
  libdeno.setPromiseErrorExaminer()

In collaboration with Ryan Dahl.
2018-12-06 23:05:36 -05:00
F001
60c008d23b Isolate::from_raw_ptr and other cleanups.
`Isolate::from_void_ptr` is renamed to `from_raw_ptr`, to keep
consistency with std libs.

It is changed to `unsafe` function, because it can't guarantee that the
input is valid. This guarantee should be provided by the caller.

Its return type is changed to `&Isolate`, because `&mut Isolate` type
requires that no other aliases co-exist in this period of time, this
does not seem true. So I changed most of the methods to accept shared
reference `&Isolate`. It is easier to reason about the correctness of
`unsafe` blocks. As long as these shared references are in the same
thread, these `unsafe` codes are probably correct.
2018-12-05 00:14:53 -08:00
Ryan Dahl
f727214db0 Use include_bytes! instead of incbin.
This is the second attempt at this patch. The first version was reverted
in 2ffd78daf9

The problem, I suspect, was that the snapshot was represented as a
source_set, which inserted a node into the dependency tree.
include_bytes does properly insert the snapshot into rustc's depfile but
the use of source_set confused gn. Now the that the deno executable has
the create_deno_snapshot as a direct dependency, changes will be
propagated.
2018-12-03 13:44:21 -08:00
F001
b6fda735ee Replace mutex by atomics (#1238) 2018-11-29 19:03:00 -08:00
Ryan Dahl
2ffd78daf9 Revert "Use include_bytes! instead of incbin. (#1182)"
Reverting because this is causing Appveyor to be red. However
I hope we can reintroduce include_bytes! soon in a way that
works on windows. Fixes #1208.

This reverts commits 96c3641fff
and 92e404706b.
2018-11-23 11:26:36 -08:00
Ryan Dahl
9d9853b319 Lift snapshot to be an argument of Isolate::new(). 2018-11-16 08:25:54 +08:00
Ryan Dahl
3c8d2bde68
Support request method and headers in fetch() (#1188)
Adds a general HttpHeader flatbuffer message for serializing requests
and responses.
2018-11-14 17:36:34 -08:00
Ryan Dahl
f2223fb9ad Wrapper around hyper::Body so it can be used as AsyncRead 2018-11-13 21:44:38 -08:00
Andy Hayden
7a17e2aec6 Remove flags::process
It was doing two independent things:
- print help and exit
- set log level

It's better to do those explicitly in main.rs
2018-11-06 06:25:38 -08:00
Andy Hayden
27ecfc1617 Add repl (#998)
- Running repl from js side.
- Add tests for repl behavior.
- Handle ctrl-C and ctrl-D.
2018-11-05 09:55:59 -08:00
Andy Hayden
1241b8e9ba Fix clippy warnings (#1149)
Run with: cargo clippy
https://github.com/rust-lang-nursery/rust-clippy
2018-11-04 06:04:24 -08:00
Bert Belder
b9914c3113
third_party: add tokio-process Rust crate and its dependencies 2018-11-03 07:42:24 +01:00
Ryan Dahl
ee24254bad Rename EnvPair to KeyValue. 2018-11-02 20:50:01 -07:00
Ryan Dahl
198e396ead
Support cargo check (#1128)
- Based on code from @qti3e and @piscisaureus in #724 and #1125
  respectively.
- TODO The DENO_BUILD_PATH env var must be supplied and must be an
  absolute path, this restriction should be removed in future work.
2018-10-31 11:11:10 -07:00
Joseph
21dac66465 Better output on panic (#1129) 2018-10-31 07:30:52 -07:00
Ryan Dahl
7c82667f75
Upgrade Flatbuffers. (#1127)
Use msg_generated.rs as mod instead of crate.
2018-10-31 00:32:42 -07:00
Ryan Dahl
882a323811 Minor sorting not handled by format. 2018-10-27 08:08:51 -07:00
Ryan Dahl
6adc87e3eb
Ergonomics: Prompt TTY for permission escalation (#1081) 2018-10-27 06:11:39 -07:00
Ryan Dahl
fd68f85ce8 libdeno: deno_new should take a snapshot parameter. 2018-10-24 14:52:38 -07:00
Bert Belder
ae00df73a2
Move eager functions into eager_unix.rs 2018-10-24 11:16:00 +02:00
Kevin (Kun) "Kassimo" Qian
988ec88dd0 Switch to getopts for flag parsing (#1080) 2018-10-23 21:02:43 -07:00
Ryan Dahl
2af25b1957 Allow partial writes.
Do not use tokio_io::io:write_all().
Adds src/tokio_write.rs
2018-10-20 12:39:56 -07:00
Andy Hayden
fb90c6f525 Exit cleanly on unrecognized arguments (#990)
Refactor set_flags to return a Result
2018-10-15 14:26:22 -04:00
Ryan Dahl
417ea7bb6d src/http.rs -> src/http_util.rs
So as not to conflict with http crate.
2018-10-10 14:29:55 -04:00