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