1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 23:34:47 -05:00
Commit graph

144 commits

Author SHA1 Message Date
Ryan Dahl
df09fbad92 Use the thread pool for blocking I/O 2018-09-26 14:43:26 -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
Mani Maghsoudlou
ad5065e23e Implement deno.readlink() (#797) 2018-09-25 00:20:49 -04:00
Bert Belder
d6a97ae4f0
build: always enable clang color output 2018-09-24 13:45:03 -07:00
Kevin (Kun) "Kassimo" Qian
7a0670a951 Implement deno.trace() (#795) 2018-09-22 03:59:26 -04:00
Kevin (Kun) "Kassimo" Qian
fab4bdf40d Add deno.arch/deno.platform (#773) 2018-09-20 02:13:59 -04:00
Mani Maghsoudlou
017ef096df Implement deno.symlink() (#742) 2018-09-18 21:38:24 -07:00
Kevin (Kun) "Kassimo" Qian
0185f9f9de
Add the 'dirs' crate, enable the required 'winapi' features 2018-09-16 18:38:41 -07:00
Kitson Kelly
0ef28bec4d Improve integration of dom_types 2018-09-16 09:10:36 -07:00
Parsa Ghadimi
66c09de967 Rename fetch_types.d.ts to dom_types.d.ts 2018-09-14 12:27:32 -07:00
Parsa Ghadimi
7b7052e1ab Implement Blob 2018-09-14 10:04:10 -07:00
Yoshiya Hinosawa
0ca7301a2d
feat: add deno.makeTempDir 2018-09-12 22:33:11 -07:00
Bert Belder
410ea92e32
build: rebuild bundle when npm packages are added/removed/updated 2018-09-12 21:25:43 -07:00
Ryan Dahl
cb6c78c6d2 Dedup js source list in BUILD.gn 2018-09-12 14:19:57 -04:00
Mani Maghsoudlou
88d42f0b18 Implement deno.rename() (#731) 2018-09-12 11:44:58 -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
Sajjad Hashemian
c2663e1d82 Implement deno.mkdir() 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
3afc0b8482 fbs_util.ts -> dispatch.ts
And send() -> sendSync()
2018-09-10 00:14:28 -04:00
Ryan Dahl
e226a67948 Add missing ts files to BUILD.gn 2018-09-09 18:47:22 -04:00
Ryan Dahl
787832c68e Format. 2018-09-03 10:45:58 -04:00
Kitson Kelly
b3dac82887 Remove lib.globals.d.ts 2018-09-01 15:06:03 -04:00
Kitson Kelly
f83aee02e6 Bundle most types into globals.d.ts (#642) 2018-09-01 10:45:26 -04:00
Ryan Dahl
d8d5c421c3 Support https imports.
Adds hyper-rustls to the build.

Use ring for sha1 instead of "ssh1" crate.

Fixes #528.
2018-08-30 08:29:28 -04:00
Ryan Dahl
11896647e6 Downgrading tokio to registry version.
Prep for rustls.
2018-08-30 08:29:28 -04:00
Bert Belder
ceaf822682
Implement makeTempDirSync() 2018-08-29 22:40:05 +02:00
Bert Belder
4cadf6e609
build: work around sccache false positives due to asm .incbin usage 2018-08-29 12:28:15 +02:00
Bert Belder
ba6514dfcf
build: fix typescript dirs not correctly rebased 2018-08-26 18:27:23 +02:00
Bert Belder
79f60f6731
build: do not bake absolute paths into deno_ns 2018-08-26 18:27:23 +02:00
Bert Belder
3bcf7e271f
Build: make it possible to use ccache/sccache on windows
Also auto-detect the availability of sccache in setup.py.
2018-08-25 14:16:41 +02:00
Ryan Dahl
e7cab71574
runtime.ts refactor into compiler.ts (#564)
Adds compiler_test.ts
2018-08-22 17:17:26 -04:00
Ryan Dahl
868e8d8866 First pass at fetch()
With help from Thomas Ghysels <info@thomasg.be>
2018-08-20 16:53:39 -04:00
Thomas Ghysels
7b0618c20b Add hyper dependencies 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
81b042c8db
Rename :all target to :default 2018-08-18 01:09:48 +02: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
Yoshiya Hinosawa
f46c271afc fix: change :test_cc to v8_executable 2018-08-13 23:42:45 -04:00
Ryan Dahl
02540e559d Fix transitive rust deps.
Use a single out_dir for all rust crates.
2018-08-13 13:27:13 -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
Ryan Dahl
040a042679 Add TextEncoder/TextDecoder support.
Fixes #470

This commit increases size:
out/release/gen/bundle/main.js      7.3M -> 7.9M
out/release/gen/bundle/main.js.map   11M -> 12M
out/release/gen/snapshot_deno.bin    34M -> 37M
out/release/deno                     49M -> 53M

Note the amount in the JS code added is quite small:
4.0K    node_modules/text-encoding/index.js
4.0K    node_modules/@types/text-encoding/index.d.ts
4.0K    js/text_encoding.ts

Unclear to me what is causing the jump in snapshot size.
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
Kitson Kelly
0e96125260 Use sourcemapFile to reroot sourcemap sources 2018-08-08 23:00:44 -07:00
Bert Belder
98e8b102fd
Fix test_cc build dependencies 2018-08-09 02:03:24 +02:00
Bert Belder
d8cc487a46
Make 'tokio' build on windows, add windows deps 2018-08-09 01:29:32 +02:00
Robby Madruga
58b2362a24
Add 'tokio' and dependencies
Use tokio from git.
2018-08-09 01:13:11 +02:00
Kitson Kelly
817380a2d9 Generate declarations 2018-08-08 04:17:46 -07:00
Kitson Kelly
28078cf441 Rename lib.deno.d.ts to lib.globals.d.ts 2018-08-08 04:17:46 -07:00
Ryan Dahl
c7c6203e61
Source map support (#429)
This change increases size:
out/debug/obj/libdeno/from_snapshot.o  19M -> 34M
out/release/deno                       32M -> 47M
2018-08-02 13:13:32 -04:00
Ryan Dahl
e30bdb71aa Fix snapshot build dependencies. 2018-08-02 12:49:40 -04:00
Ryan Dahl
421358e7a9 Remove dispatch.ts and move assignCmdId to util.ts 2018-08-02 12:49:40 -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
Kitson Kelly
36fa1cea4a Upgrade TypeScript (3.0.1)
Update runtime to use lib.deno.d.ts

Add proper console declaration

Upgrade prettier (There was an issue formatting lib.deno.d.ts)
2018-07-31 20:47:49 -04:00
Bert Belder
604a8a640c Add winapi crate, make 'rand' and 'tempfile' work 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
16caa1173d Run tools/format.py 2018-07-26 11:38:03 -04:00
Kitson Kelly
5562c36824 Remove msg_generated hack (#409) 2018-07-25 23:07:50 -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
1de16af1f3 Change copyrights to be 'Deno authors'. 2018-07-24 10:38:11 -04:00
Kitson Kelly
845f7215db
Replace packer with rollup 2018-07-22 03:16:17 +02:00
Bert Belder
422150c797
Link rust_test targets with external linker, fix handlers_test linkage 2018-07-19 21:55:39 +02: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
8a4e3dfda4 Minimize snapshot deps by adding deno_base target.
Also adds main.map to bundle outputs in GN.
2018-07-18 15:43:50 -04:00
Ryan Dahl
2f94c5b48b Add rust crate log to third_party. 2018-07-18 15:43:50 -04:00
Ryan Dahl
d78254009e Reduce unnecessary build output. 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
691a375eab Add :all target 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
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
Ryan Dahl
e269d972d2 Move libc build def to //build_extra/rust
This is preperation for adding many more third_party crates.
2018-07-09 16:50:33 -04:00
Ryan Dahl
f917c5e722 Clean up tools/
- Factor out tools/util.py
- Move js/*.py to tools.
- Rewrite tools/format.sh in python.
- Run lint first in travis.
2018-07-08 13:40:18 -04:00
Ryan Dahl
740b47db6c Move flatbuffers gn files to //build_extra/flatbuffers
Fixes #342.
2018-07-07 17:40:59 -04:00
Ryan Dahl
d4c5ff841e Merge flatbuffer.gni and ts_flatbuffer.gni 2018-07-07 17:40:59 -04:00
Ryan Dahl
6bff970d69 Add rust_test to gn build, with working example. 2018-07-07 17:24:46 -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
179eeb2b50 s/rust_deps/extern/g 2018-07-06 10:46:30 -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
Yoshiya Hinosawa
c1f430966a chore: reorganize symlinks
resolves #332
2018-07-06 01:57:32 -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
Ryan Dahl
15d6541d4d Separate deno.gni and rust.gni and clean up.
Put rust depfile in target_out_dir because the depfile isn't in the
outputs, the gen directory doesn't get created.

Prefix rlib files with lib.
2018-07-04 14:24:25 +02:00
Yoshiya Hinosawa
6f7ca760b8 move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
Yoshiya Hinosawa
ea35281d63 chore: move //src/js to //js
refs: #285
2018-07-01 17:22:36 +02:00
Yoshiya Hinosawa
6830370c3e reorg: Move GN files to root (#309)
refs: #285
2018-07-01 13:47:28 +02:00
Renamed from src/BUILD.gn (Browse further)