1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-28 10:09:20 -05:00
Commit graph

369 commits

Author SHA1 Message Date
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
6bbf0777b1 Remove broken feature: --deps 2018-10-26 13:07:33 -07:00
Kevin (Kun) "Kassimo" Qian
a99aaf5def Add chmod/chmodSync on unix (and fix Cargo.toml) (#1088)
Initial implementation by Srijan Reddy (@srijanreddy98, #672).
2018-10-26 13:01:45 -07:00
Ryan Dahl
9b8f77f525 Support https in fetch.
fetch should use same hyper connector as import.
2018-10-26 09:40:27 -07:00
Kevin (Kun) "Kassimo" Qian
8500b78955 Add separate http/https cache dirs to DENO_DIR (#971)
Also change remote relative import logic.
2018-10-26 06:55:05 -07:00
Ryan Dahl
0501330607 Add libdeno.shared global shared ArrayBuffer. 2018-10-24 14:52:38 -07:00
Ryan Dahl
fd68f85ce8 libdeno: deno_new should take a snapshot parameter. 2018-10-24 14:52:38 -07:00
Joseph
d2df67e822 fix typos (#1083) 2018-10-24 08:54:34 -07:00
Bert Belder
ae00df73a2
Move eager functions into eager_unix.rs 2018-10-24 11:16:00 +02:00
Bert Belder
58f0547e09
Refactor eager_{read,write,accept}_tcp into separate functions 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
Kitson Kelly
8ef7da2611 Enforce media types 2018-10-23 04:48:00 -07:00
Ryan Dahl
c85311dd7d v0.1.9
- Performance and stability improvements on all platforms.
- Add cwd() and chdir() #907
- Specify deno_dir location with env var DENO_DIR #970
- Make fetch() header compliant with the current spec #1019
- Upgrade TypeScript to 3.1.3
- Upgrade V8 to 7.1.302.4
2018-10-20 17:30:17 -07:00
Ryan Dahl
92b0a94c23 Optimization: eager accept 2018-10-20 12:39:56 -07:00
Ryan Dahl
aac9e204b7 Optimization: eager write 2018-10-20 12:39:56 -07:00
Ryan Dahl
2c33334d28 Optimization: eager read
TCP sockets should attempt the non-blocking read in the main thread.
2018-10-20 12:39:56 -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
Ryan Dahl
8f9d407e22 Sort ops. 2018-10-19 21:36:07 -04:00
ztplz
b809a82fd9 Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
Bert Belder
d0b859ec37
format 2018-10-19 00:29:09 +02:00
Bartek Iwańczuk
3a226f166f add test case for metrics 2018-10-18 05:08:49 -04:00
Bartek Iwańczuk
fd2bb015c7 fix metrics logic 2018-10-18 05:08:49 -04:00
Ryan Dahl
213885a9d0 Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
Jinho Bang
32f0797128 Fix a bug that copyFile reports different error codes
This is a workaroud. Once the issue is resolved in Rust side, we should
remove it.

Fixes #895
2018-10-17 08:24:31 -04:00
Ryan Dahl
590feb1c71 Format 2018-10-16 09:37:38 -04:00
Jinho Bang
1322f3de9f deno -v should report typescript version
Fixes #993
2018-10-15 22:16:55 -04: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
Amos Lim
15590a0cde Specify deno_dir location with env var DENO_DIR (#970)
(Use C:\deno instead of c:\deno in appveyor config because it's cloned to c:\ by clone_folder variable in .appveyor.yml. On the other hand, build directory is pointed to C:\ by $(APPVEYOR_BUILD_FOLDER) so that test targets are placed on separated partitions.)
2018-10-15 12:08:19 -04:00
Shiva Prasanth
bbf88c5295 Add cwd() and chdir() (#907) 2018-10-13 16:03:27 -04:00
Ryan Dahl
d92c99eaba v0.1.8
- Fix promise reject issue (#936)
- Add --types command line flag.
- Add metrics()
- Add redirect follow feature #934
- Fix clearTimer bug #942
- Improve error printing #935
- Expose I/O interfaces Closer, Seeker, ReaderCloser, WriteCloser,
  ReadSeeker, WriteSeeker, ReadWriteCloser, ReadWriteSeeker
- Fix silent death on double await #919
- Add Conn.closeRead() and Conn.closeWrite() #903
2018-10-12 14:44:42 -04:00
Kevin (Kun) "Kassimo" Qian
45d3b8955d Fix promise reject issue (#936) 2018-10-12 14:22:52 -04:00
Kitson Kelly
298d755152 Add support for --types 2018-10-11 20:29:43 -04:00
Ryan Dahl
4f4075307d
Fix metrics() race condition. (#965) 2018-10-11 18:22:05 -04:00
Bartek Iwańczuk
51f9331ecb Add deno.metrics() 2018-10-11 15:45:51 -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
J2P
7cc9b64ff7 Rename BadFileDescriptor 2018-10-10 12:21:01 -04:00
Ryan Dahl
d26792d926 Clean up Isolate::event_loop with utility function. 2018-10-10 12:18:48 -04:00
Kevin (Kun) "Kassimo" Qian
888824c617 Add redirect follow feature (#934) 2018-10-09 20:31:06 -04:00
Ryan Dahl
94889aef08 Re-enable test_fetch_sync_string 2018-10-09 13:59:50 -04:00
Bert Belder
4f3250bc43
Remove deno_get_data()
Instead, pass the isolate data to the dispatch callback directly.
2018-10-08 18:19:36 +02:00
Bert Belder
e742af10aa
Abide by the rules when passing Isolate between c and rust
Ensure that at most one mutable Isolate reference exists at a time.

`deno_execute()` and `deno_respond()` now borrow a reference to the rust-side
isolate from the caller. When we need a reference to the isolate while one of
these functions is on the stack, `deno_get_data()` can be used to borrow back
that reference.
2018-10-08 18:19:32 +02:00
Bert Belder
d86e5d2605
Remove ntasks aliasing workaround 2018-10-08 18:10:28 +02:00
Bert Belder
ad4c4c214a
Rename Deno.data to Deno.user_data
Also use the correct rust type for it.
2018-10-08 18:10:28 +02:00
Bert Belder
14b971c5f7
Rename Isolate.ptr to Isolate.libdeno_isolate 2018-10-08 18:10:27 +02:00
Yoshiya Hinosawa
48923f48a2 docs: fix urls in comments 2018-10-06 23:26:39 -04:00
Ryan Dahl
0514f54a22 Make ntasks an atomic counter.
Fixes #919.
2018-10-06 20:24:47 -04:00
Kevin (Kun) "Kassimo" Qian
62a5020602 Fix symlink error message 2018-10-06 20:24:47 -04:00
Kevin (Kun) "Kassimo" Qian
1ac80feb1c Replace panic with error on windows for symlink 2018-10-05 21:20:34 -04:00
Ryan Dahl
c3bce178b8 Clean up helpers in src/errors.rs
* Add errors::bad_resource()
* Move permission_denied() to errors.rs
* Make op_symlink's not_implemented() into a runtime panic.
2018-10-05 14:27:47 -04:00
Ryan Dahl
cfa54cabbd Always die on panic. 2018-10-05 14:27:47 -04:00
Kevin (Kun) "Kassimo" Qian
941e27d8c1 Implement closeRead/closeWrite using TcpStream::shutdown (#903) 2018-10-05 12:16:23 -04:00
Ryan Dahl
5307aa94e1 v0.1.7
- Improve fetch headers (#853)
- Add deno.truncate (#805)
- Add copyFile/copyFileSync (#863)
- Limit depth of output in console.log for nested objects, and add
  console.dir (#826)
- Guess extensions on extension not provided (#859)
- Renames:
  deno.platform -> deno.platform.os
  deno.arch -> deno.platform.arch
- Upgrade TS to 3.0.3
- Add readDirSync(), readDir()
- Add support for TCP servers and clients. (#884)
  Adds deno.listen(), deno.dial(), deno.Listener and deno.Conn.
2018-10-04 08:56:32 -04:00
Ryan Dahl
2f44db6756 Use underscores in filenames. 2018-10-04 00:25:55 -04:00
Ryan Dahl
f774953011 Rename flatbuffer base.msg to base.inner
This better disambiguates with the msg_generated.ts module, which in JS
we call "fbs", but would be better called "msg".
2018-10-04 00:25:55 -04:00
Ryan Dahl
51dc46eff4 Rename msg_from_js() to dispatch(). 2018-10-04 00:25:55 -04:00
Ryan Dahl
d38c4e0ff1 Rename handler.rs to ops.rs 2018-10-04 00:25:55 -04:00
Ryan Dahl
0422b224e8
First pass at support for TCP servers and clients. (#884)
Adds deno.listen(), deno.dial(), deno.Listener and deno.Conn.
2018-10-03 23:58:29 -04:00
J2P
ea87034e26 Implemented readDirSync, readDir 2018-10-03 18:22:57 -04:00
Bert Belder
97e08a6fab
isolate: work around a rust compiler bug 2018-10-03 13:27:59 -07:00
Bert Belder
4eeda9ea27
timers: remove the old timer implementation
Fixes #878.
2018-10-03 13:27:59 -07:00
Bert Belder
aa691ea26c
timers: implement timers in javascript 2018-10-03 13:27:55 -07:00
Kevin (Kun) "Kassimo" Qian
eba58b7188 Guess extensions on extension not provided (#859)
Fixes #857
2018-10-02 12:38:45 -04:00
Ryan Dahl
fc1c54dde0 Adjust how handle_read handle_write function.
Use tokio_io::io::read() and tokio_io::io::write_all()
instead of poll_fn() as suggested in the Tokio gitter.
2018-10-01 22:30:57 -04:00
Ryan Dahl
42c5b103ec Rename FdTable to ResourceTable.
Add docs to src/resources.rs.
2018-10-01 22:30:57 -04:00
Ryan Dahl
393f751a27 Format. 2018-10-01 22:30:57 -04:00
ztplz
1fcc11a19d rename parse_core_args to v8_set_flags_preprocess (#871) 2018-10-01 10:23:36 -04:00
Kevin (Kun) "Kassimo" Qian
50a9c2b575 Add copyFile/copyFileSync (#863) 2018-09-30 18:06:41 -04:00
Kevin (Kun) "Kassimo" Qian
eceeabdab2 Remove unused table WriteFileSync 2018-09-30 18:05:37 -04:00
ztplz
062b22fe56 Add deno.truncate (#805) 2018-09-30 15:06:20 -04:00
Ryan Dahl
77e876388b v0.1.6
- Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(),
  deno.read(), deno.Reader, deno.Writer, deno.copy() #846
- Print 'Compiling' when compiling TS.
- Support zero-copy for writeFile() writeFileSync() #838
- Fixes eval error bug #837
- Make Deno multithreaded #782
- console.warn() goes to stderr #810
- Add deno.readlink()/readlinkSync() #797
- Add --recompile flag #801
- Use constructor.name to print out function type #664
- Rename deno.argv to deno.args
- Add deno.trace() #795
- Continuous benchmarks https://denoland.github.io/deno/
2018-09-29 13:36:07 -04:00
Ryan Dahl
bcbbee7399 Adds basic File I/O and FD table.
Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(),
deno.read(), deno.Reader, deno.Writer, deno.copy().

Fixes #721. tests/cat.ts works.
2018-09-28 20:53:33 -04:00
Ryan Dahl
d38ccfc6dc
Support zero-copy data in libdeno.send(). (#838)
This is a large API refactor of deno.h which replaces
deno_send() and deno_set_response() with deno_respond().
It also adds a req_id parameter to the deno_recv_cb.

Make writeFile/writeFileSync use it.
2018-09-27 17:33:10 -04:00
Ryan Dahl
df09fbad92 Use the thread pool for blocking I/O 2018-09-26 14:43:26 -04:00
Ryan Dahl
591174a686 Disable test_fetch_sync_string. 2018-09-25 17:02:49 -04:00
Ryan Dahl
b088b58f76 Add SetGlobalTimeout().
To be used for a timers implementation soon.
2018-09-25 17:02:49 -04:00
Ryan Dahl
4fd2b19f64 Make Deno multithreaded.
By using the tokio default runtime.

This patch makes all of the ops thread safe.

Adds libdeno to JS globals to make for easier testing.

Preliminary work for #733.
2018-09-25 17:02:49 -04:00
Ryan Dahl
7c128df4a0 Use lazy_static for HttpsConnector
And rename net.rs to http.rs

Share HTTP connection.
2018-09-25 17:02:49 -04:00
Ryan Dahl
7fb2821937 format 2018-09-25 17:02:49 -04:00
Ryan Dahl
a6f6d0b712 Clean up flags. 2018-09-25 17:02:49 -04:00
Mani Maghsoudlou
ad5065e23e Implement deno.readlink() (#797) 2018-09-25 00:20:49 -04:00
Bartek Iwańczuk
3fe4be07ca Add flag --recompile (#801) 2018-09-24 15:33:50 -04:00
ztplz
f3684c28e5 Rename deno.argv, libdeno::DenoC and deno_set_flags (#796) 2018-09-22 08:47:44 -04:00
Ryan Dahl
8e958d3ad6 v0.1.5
- Add atob() btoa() #776
- Add deno.arch deno.platform #773
- Add deno.symlink() and deno.symlinkSync() #742
- Add deno.mkdir() and deno.mkdirSync() #746
- Add deno.makeTempDir() #740
- Improvements to FileInfo interface #765, #761
- Add fetch.blob()
- Upgrade V8 to 7.0.276.15
- Upgrade Rust crates
2018-09-21 23:21:30 -04:00
Mani Maghsoudlou
017ef096df Implement deno.symlink() (#742) 2018-09-18 21:38:24 -07:00
Ryan Dahl
3c9bb1e799 Isolate::execute doesn't need mutability. 2018-09-17 20:07:53 -07:00
Ryan Dahl
6143a64256 Rename Deno to Isolate and move to own file. 2018-09-17 20:07:53 -07:00
Kevin (Kun) "Kassimo" Qian
e3d634eb21 Make mode always u32 and switch to has_mode for StatRes fbs (#761) 2018-09-17 16:53:55 -07:00
Kevin (Kun) "Kassimo" Qian
c7a4ca3c88
Use dirs::home_dir to replace deprecated std::env::home_dir 2018-09-16 18:39:07 -07:00
Bert Belder
bdfaf12186
format 2018-09-16 18:37:18 -07:00
Kevin (Kun) "Kassimo" Qian
b0958073ba Remove remove_timer asserts (#760)
* Remove remove_timer asserts

* Add clearTimeout invalid id no-panic test

* Move timer test to its file AND some lint side-effects
2018-09-16 13:35:16 -07:00
Kevin (Kun) "Kassimo" Qian
662e57b20a [fs] Enable mode for mkdir on unix (#746) 2018-09-14 12:30:43 -07:00
Ryan Dahl
d38b3b585c v0.1.4
- Support headers in fetch()
- Adds many async fs functions:
  deno.rename() deno.remove(), deno.removeAll(), deno.removeSync(),
  deno.removeAllSync(), deno.mkdir(), deno.stat(), deno.lstat()
  deno.readFile() and deno.writeFile().
- Add mode in FileInfo
- Access error codes via error.kind
- Check --allow-net permissions when using fetch()
- Add deno --deps for listing deps of a script.
2018-09-12 20:45:47 -04:00
JaePil Jung
5bea62ac32 Small handers.rs cleanup (#735) 2018-09-12 15:17:17 -04:00
qti3e
41c70b154f Add support for fetch() headers (#727) 2018-09-12 15:16:42 -04:00
Mani Maghsoudlou
88d42f0b18 Implement deno.rename() (#731) 2018-09-12 11:44:58 -04:00
Kevin (Kun) "Kassimo" Qian
26081a32df Add unix-only mode for FileInfo (#732) 2018-09-12 10:28:48 -04:00
Kevin (Kun) "Kassimo" Qian
1ffae65165 Add remove(), removeAll().
and removeSync(), removeAllSync().
2018-09-12 10:24:17 -04:00
Sajjad Hashemian
7c50c11f40 Implement deno.stat() and deno.lstat() 2018-09-11 16:05:00 -04:00
Kevin (Kun) "Kassimo" Qian
05f87a0cf2 Move writeFileSync to write_file.ts, add writeFile and tests (#728) 2018-09-11 12:00:57 -04:00
Sajjad Hashemian
c2663e1d82 Implement deno.mkdir() 2018-09-10 15:02:07 -04:00
Ryan Dahl
e293c204a0 Support async futures that have empty response. 2018-09-10 15:02:07 -04:00
Ryan Dahl
35bc9ddf63 Implement deno.readFile()
As an example of how to implement ops that have both sync and async
versions.
2018-09-10 00:14:28 -04:00
Ryan Dahl
c29392b25f create_msg -> serialize_response 2018-09-10 00:14:28 -04:00
Ryan Dahl
9bb0627a88 Remove null_buf() 2018-09-10 00:14:28 -04:00
Ryan Dahl
e2a285b871 Better NotFound error handling in CodeFetch
throwResolutionError was swallowing unrelated errors.
2018-09-09 23:12:22 -04:00
Ryan Dahl
a4f1b367b9 Remove namespace from src/msg.fbs 2018-09-09 23:12:22 -04:00
Ryan Dahl
0d03fafbfe Map promises onto futures.
Refactors handlers.rs

The idea is that all Deno "ops" (aka bindings) should map onto
a Rust Future. By setting the "sync" flag in the Base message
users can determine if the future is executed immediately or put
on the event loop.

In the case of async futures, a promise is automatically created.
Errors are automatically forwarded and raised.

TODO:

- The file system ops in src/handler.rs are not using the thread pool
  yet. This will be done in the future using tokio_threadpool::blocking.
  That is, if you try to call them asynchronously, you will get a promise
  and it will act asynchronous, but currently it will be blocking.
- Handlers in src/handler.rs returned boxed futures. This was to make
  it easy while developing. We should try to remove this allocation.
2018-09-09 18:47:22 -04:00
J2P
3deaf99a92 Format msg.fbs 2018-09-07 20:36:18 -04:00
Parsa Ghadimi
1052f8d0c9 Check allow-net in fetch 2018-09-06 11:07:10 -04:00
Mirko Jotic
fcdfacc2de Implementing --deps flag
- Adding a ModuleId type alias to specify original url or local file of
dependency
- Modifying ModuleMetaData class to contain ModuleId
- Adding a --deps flag
2018-09-06 10:42:07 -04:00
Ryan Dahl
59f3fca166 v0.1.3
* Fixes module resolution error #645
* Better flag parsing
* lStatSync -> lstatSync
* Added deno.renameSync()
* Added deno.mkdirSync()
* Fix circular dependencies #653
* Added deno.env() and --allow-env
2018-09-05 23:08:20 -04:00
Ryan Dahl
e7741ab97f Rename src/binding.rs -> src/libdeno.rs 2018-09-05 22:27:47 -04:00
Ryan Dahl
32f0c37a42 Format 2018-09-05 22:27:47 -04:00
Ryan Dahl
e4990804fa Improve module resolution.
Windows can't handle ":" in path names, so we use a special directory
format .deno/deps/localhost_PORT4545/ to represent hosts with
non-default ports.

Fixes #645.
2018-09-05 22:27:23 -04:00
Ian Shehadeh
827f489c5a Better flag parsing 2018-09-04 16:00:32 -04:00
Mani Maghsoudlou
641e3d404d Implement renameSync 2018-09-04 11:57:04 -04:00
Sajjad Hashemian
b2b4299e3b Implement mkdirSync 2018-09-03 15:06:00 -04:00
Ryan Dahl
dff909ef6c Clean up handlers. 2018-09-03 10:45:58 -04:00
Ryan Dahl
4ccae957fb Upgrade flatbuffers 2018-09-03 10:45:58 -04:00
Ryan Dahl
787832c68e Format. 2018-09-03 10:45:58 -04:00
J2P
f949ded933 Log level code refactoring 2018-09-02 19:16:50 -04:00
Aaron Power
f131445a46 Implemented deno.env and refactored flags.rs 2018-08-31 13:18:24 -04:00
Ryan Dahl
cce3bd470b v0.1.2
* Added https import support.
* Added deno.makeTempDirSync().
* Added deno.lstatSync() and deno.statSync().
2018-08-30 18:29:05 -04:00
Ryan Dahl
0ec629d105 format 2018-08-30 14:41:55 -04:00
Aaron Power
b86bf4d8a4 Implemented statSync and lStatSync 2018-08-30 12:39:33 -04:00
Ryan Dahl
d8d5c421c3 Support https imports.
Adds hyper-rustls to the build.

Use ring for sha1 instead of "ssh1" crate.

Fixes #528.
2018-08-30 08:29:28 -04:00
Ryan Dahl
11896647e6 Downgrading tokio to registry version.
Prep for rustls.
2018-08-30 08:29:28 -04:00
Ryan Dahl
902e6e2ee6 Fix warnings.
Ref #374
2018-08-30 05:48:40 -04:00
Bert Belder
ceaf822682
Implement makeTempDirSync() 2018-08-29 22:40:05 +02:00
Ryan Dahl
c42e4ddbb7 v0.1.1 2018-08-28 09:37:52 -04:00
Aaron Power
3a5cf9ca8b Replaced read_file_sync{_string} with std::fs::read{_to_string} 2018-08-26 11:00:22 -04:00
Ryan Dahl
68d388229e Bump version to v0.1.0
https://github.com/denoland/deno/milestone/1
2018-08-23 10:37:06 -04:00
Ryan Dahl
ecb955929f Normalize windows paths.
Add resolve_module test
2018-08-23 09:41:08 -04:00
Ryan Dahl
e2f9b0e6fd First pass at HTTP imports
Implement --reload

Integrate hyper errors into DenoError

In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-23 09:41:08 -04:00
Ryan Dahl
7d7263c48f Implement writeFileSync
In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-22 18:39:07 -04:00
Ryan Dahl
ca4ace6b1f Bump version to v0.0.3 2018-08-22 12:08:52 -04:00
Jeremy Banks
27ef77e31b Change usage example script extension from .js to .ts 2018-08-22 09:57:21 -04:00
Ryan Dahl
18d495c7d1 Better error handling in src/handlers.rs
Introduces error codes that are shared between JS/RS

Fixes #526.
2018-08-21 15:37:45 -04:00
Ryan Dahl
cb1393cdae
Travis deploy (#548)
* Fix travis deploy / simplify build.

- No more stages, only build release mode.
- Fixes API key issue.

* Reinstate master only - testing was successful.
2018-08-21 08:42:23 -04:00
Ryan Dahl
868e8d8866 First pass at fetch()
With help from Thomas Ghysels <info@thomasg.be>
2018-08-20 16:53:39 -04:00
Yoshiya Hinosawa
aaabc853e8 chore: move libdeno files to //libdeno/ 2018-08-19 11:27:47 -04:00
Ryan Dahl
42e7b7b3e7 Use snake-case for cmd_id. 2018-08-17 18:50:37 -04:00
Ryan Dahl
0b61d955eb Upgrade fbs to latest.
Reduces numbers of warnings.
2018-08-17 18:50:37 -04:00
Ryan Dahl
17b9c5c390
Command line flag parsing (#524)
In particular this allow -D for logging debug output.
2018-08-17 16:34:30 -04:00
Ryan Dahl
b6912e718a Remove dead code: src/flatbuffer_builder.cc 2018-08-16 08:40:11 -04:00
Ryan Dahl
36d82374cf Implement deno_handle_msg_from_js in Rust
Fixes #419, #414.
2018-08-16 08:40:11 -04:00
Ryan Dahl
d770cc18f8 Upgrade Rust Flatbuffers 2018-08-16 08:40:11 -04:00
Ryan Dahl
c7ce450ee9 Rename mock_runtime_test to libdeno_test
Fixes #465
2018-08-11 09:02:07 -07:00
Kitson Kelly
2c8bdd2f5f Fix stacktraces in deno_ns 2018-08-10 11:50:45 -07:00
Robby Madruga
99932f6422 Change Deno::new to return an owned Box 2018-08-09 14:59:49 -07:00
Ryan Dahl
413bcf2042 Add readFileSync 2018-08-09 14:27:46 -07:00
Ryan Dahl
72544de443 Add fs::read_file_sync_string 2018-08-09 14:27:46 -07:00
Ryan Dahl
fb87cb38ec
First pass at setTimeout with Tokio (#434) 2018-08-09 12:17:08 -07:00
Ryan Dahl
51380bf399 Organize libdeno functions. 2018-08-08 18:35:26 -07:00
Ryan Dahl
070c5f85da Fix rust logger. 2018-08-08 18:35:26 -07:00
Ryan Dahl
69f73ee368 Hacky error handling for Url::from_file_path. 2018-08-08 18:35:26 -07:00
Ryan Dahl
60f6067cf9 Implement os.exit 2018-08-03 22:41:59 -04:00
Ryan Dahl
d8b68648d1 Update repo links to denoland. 2018-08-02 23:12:49 -04:00
Ryan Dahl
c7c6203e61
Source map support (#429)
This change increases size:
out/debug/obj/libdeno/from_snapshot.o  19M -> 34M
out/release/deno                       32M -> 47M
2018-08-02 13:13:32 -04:00
Ryan Dahl
6b6fac209c Optimize compile time by using asm.
Switches to using asm incbin to embed the V8 snapshot instead of
outputing C code and then compiling it.

Compile time for from_snapshot.o goes from 44s to 1s.
2018-08-01 12:14:10 -04:00
Ryan Dahl
db8dc0e9f8 Better handling of exceptions during snapshot creation. 2018-08-01 12:14:10 -04:00
Ryan Dahl
ae82db54f6 build: use compiled_action for create_snapshot.
Switch the order of the snapshot_creator args, in order to allow for
optional source map arg.
2018-08-01 12:14:10 -04:00
Ryan Dahl
4d386e9e1c Implement CodeCache 2018-07-29 00:22:39 -04:00
Ryan Dahl
1f093c12f8 Add sha1 and tempfile crates. 2018-07-29 00:22:39 -04:00
Ryan Dahl
20a41aa9b5 Add from_c() to get a Deno object from ptr.
This is a utility function for CodeCache and other handlers.
2018-07-29 00:22:39 -04:00
Ryan Dahl
e7445507aa Implement a logger so we can get logging output. 2018-07-29 00:22:39 -04:00
Ryan Dahl
b39a71d4c6 Fix clang warning.
warning: comparison of integers of different signs: 'const unsigned
long' and 'const int' [-Wsign-compare]
2018-07-26 11:38:03 -04:00
robbym
180170d860 Add --v8-options flag (#405) 2018-07-25 21:27:27 -04:00
Ryan Dahl
0213053856 Remove handlers crate target.
- Add build scripts for Rust flatbuffers.
- Rewrites some reply.cc methods in Rust.
- Changes some struct elements to table in msg.fbs (rust flatbuffers
  lacks support currently)
- Renames handlers_test to test_rs.
- This reorg is needed to make progress on the code cache handler.
2018-07-24 12:29:54 -04:00
Ryan Dahl
b79ce93010 Allow deno_buf with null alloc_ptr to be memcpy'd
This is a temporary hack to allow for easier restructuring of
the serialization code as we move Flatbuffer stuff from C++ to Rust.
2018-07-24 12:29:54 -04:00
Ryan Dahl
b87e6d5604 Add mock_runtime_test for deno_last_exception. 2018-07-24 12:29:54 -04:00
Ryan Dahl
1de16af1f3 Change copyrights to be 'Deno authors'. 2018-07-24 10:38:11 -04:00
Bert Belder
cc14df427f
Fix resolve_module() when module_specifier is an absolute file path 2018-07-22 03:50:16 +02:00
Ryan Dahl
dff5c16e85
Add tools/test.py test runner. (#384) 2018-07-21 19:08:24 -04:00
Ryan Dahl
21c4b8a42d Use 2 space indent.
Apologies for the churn, but my screen is small. rustfmt assumes big
monitors.
2018-07-20 03:46:26 -04:00
Ryan Dahl
a7bf154cb8 Wrap rust at 80 columns. 2018-07-20 03:46:26 -04:00
Bert Belder
c67d98eb7f
Make test_resolve_module pass on windows 2018-07-19 21:55:43 +02:00
Ryan Dahl
ae393879a7 cleanup: Move C extern code to src/binding.rs 2018-07-19 08:29:26 -04:00
Ryan Dahl
3dde880c32 Rename deno_nosnapshot to deno_ns. 2018-07-18 15:43:50 -04:00
Ryan Dahl
b892188878 Better exception output. 2018-07-18 15:43:50 -04:00
Ryan Dahl
3e51605bc9 Execute JS for the first time in Rust rewrite.
Implements code_fetch handler in Rust.

Add ability to embed string assets (for typescript declaration files)

Remove deno_cc and deno_cc_nosnapshot targets.
2018-07-18 15:43:50 -04:00
Ryan Dahl
c6ae3f7abc Add deno::Basename and deno::BinaryContentAsC utilies.
These are prep for code sharing with the asset code soon to land.
2018-07-18 15:43:50 -04:00
Ryan Dahl
c775d0c176 Fix warnings in mock_runtime_test.cc 2018-07-18 15:43:50 -04:00
Ryan Dahl
c4f2097c7b Run tools/format.py 2018-07-13 14:38:50 -04:00
Ryan Dahl
2c30a25568 Move C++ test main function to its own file. 2018-07-13 14:38:50 -04:00
Bert Belder
24b0e91d80
Move buffers between V8 and native
* send()/recv() now operate on TypedArrays rather than ArrayBuffers.

* Remove a copy (through ArrayBuffer.slice()) from the send path.

* Remove a copy (through v8::ArrayBuffer::New()) from the return path.

* After moving a buffer from JS to native, the ArrayBuffer object and
  it's views are made inaccessible ('neutered').

* `struct deno_buf` now holds two [ptr, length] tuples, one for the actual
  memory allocation, and one for the logical data contained therein.
  This is necessary because flatbuffers fills it's buffer bottom-up, so
  the serialized blob doesn't start at beginning of the buffer, but
  somewhere in the middle.
2018-07-12 21:26:38 +02:00
Bert Belder
bbcd4c8dd3
Remove channel argument from Rust message callback
This makes `deno` not crash any more.
2018-07-12 21:07:20 +02:00
Faris Amali Alis
7e5f0a7a66 Add nosnapshot executables for faster incremental builds (#359)
Fixes #311.
2018-07-12 15:06:36 -04:00
Ryan Dahl
d160de7f44
Add rust url crate. (#355) 2018-07-10 14:56:12 -04:00
Bert Belder
8a17db8266
Add 'command id' field to messages
This allows for correlating response messages to the command message that
caused them.
2018-07-08 21:01:24 +02:00
Ryan Dahl
6bff970d69 Add rust_test to gn build, with working example. 2018-07-07 17:24:46 -04:00
Ryan Dahl
a2dde56c59 Remove channel parameter from deno_send/recv. 2018-07-06 18:25:09 -04:00
Ryan Dahl
9778eceaf5 Use C++ to do flatbuffer parsing.
- Port protobuf messages to flatbuffers.
- Demo linking to rust from C++ executable.
- Start using the prototype TS libraries.
2018-07-06 17:33:06 -04:00
Ryan Dahl
d9cb093989 Run tools/format.sh 2018-07-06 17:33:06 -04:00
Ryan Dahl
21e1425656 Better c++ error handling 2018-07-06 12:22:11 -04:00
Ryan Dahl
d30664958e Further gn/rust cleanups
Move rust.gni and deno.gni into build_extra/

Removes rust_library which was only an action. This instead defines
rust_component, which is an action plus a gn "component" target
to expose the resulting object file. This simplifies link code in
rust.gni.

Support rust modules that can be linked into C++.
2018-07-06 10:46:30 -04:00
Faris Amali Alis
bfe08aa462 Rename deno.cc to binding.cc and other renames (#339)
Fixes #336
2018-07-06 03:19:19 -04:00
Ryan Dahl
131e0ce4c7 Rename mock_main to deno_cc 2018-07-05 12:41:28 -04:00
Ryan Dahl
06a28998ea Replace protobufs with flatbuffers 2018-07-04 16:43:08 -04:00