Luca Casonato
5d814a4c24
feat: ArrayBuffer in structured clone transfer ( #11840 )
2021-08-25 13:48:53 +02:00
Divy Srivastava
85a56e7144
feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP ( #11654 )
2021-08-24 21:59:02 +02:00
Luca Casonato
50f69a6996
fix: FileReader.readAsText compat ( #11814 )
...
Fixes a WPT test.
2021-08-24 13:13:22 +02:00
David Sherret
6db8cbb650
chore: release crates for 1.13.2 ( #11820 )
2021-08-23 15:48:08 -04:00
Yusuke Tanaka
4ae57d185e
chore: upgrade dlint and run prefer-primordials
rule ( #11777 )
2021-08-20 01:14:20 +02:00
Luca Casonato
a66218d457
fix(runtime): event loop panics in classic workers ( #11756 )
...
Classic worker scripts are now executed in the context of a Tokio
runtime. This does mean we can not spawn more tokio runtimes in
"op_worker_sync_fetch". We instead spawn a new thread there, that can
create a new Tokio runtime that we can use to block the worker thread.
2021-08-18 15:19:22 +02:00
David Sherret
5d24ddf9b2
chore: sort items in Releases.md for 1.13.1 release ( #11734 )
2021-08-17 12:03:33 +02:00
David Sherret
a66a7bebbe
chore: release crates for 1.13.1 ( #11729 )
2021-08-16 16:49:14 -04:00
Divy Srivastava
eea6f578fc
fix(ext/crypto): enable non-extractable keys ( #11705 )
2021-08-16 18:11:36 +02:00
Andreu Botella
ddbb7b83f2
feat(runtime): support classic workers for internal testing ( #11338 )
...
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript.
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-16 14:29:54 +02:00
Luca Casonato
47b7cd5a7e
chore: roll wpt ( #11692 )
...
This PR rolls WPT to 7eb7372a61
2021-08-14 13:27:09 +02:00
Divy Srivastava
71f79097c6
fix(ext/crypto): importKey() SecurityError on non-extractable keys ( #11662 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 23:20:44 +02:00
Luca Casonato
eae9d5b647
fix: Blob#slice arguments should be optional ( #11665 )
2021-08-12 19:16:23 +02:00
Divy Srivastava
b1799e6771
chore(tools): use local std in wpt utils ( #11644 )
2021-08-12 10:09:27 +02:00
David Sherret
15a763152f
chore: move test files to testdata directory ( #11601 )
2021-08-11 10:20:47 -04:00
Ryan Dahl
a0285e2eb8
Rename extensions/ directory to ext/ ( #11643 )
2021-08-11 12:27:05 +02:00
Bartek Iwańczuk
548e466112
chore: release crates ( #11628 )
2021-08-10 14:19:42 +02:00
Leo K
2db381eba9
feat: add experimental WebSocketStream API ( #10365 )
...
This commit adds the experimental WebSocketStream API when
using the --unstable flag.
The explainer for the API can be found here:
https://github.com/ricea/websocketstream-explainer
2021-08-10 00:28:17 +02:00
Luca Casonato
4d4ce4c4d8
chore: update wpt ( #11621 )
2021-08-09 18:49:31 +02:00
Divy Srivastava
87de8e82a1
feat(extensions/crypto): implement verify() for HMAC ( #11387 )
2021-08-04 21:49:27 +02:00
Divy Srivastava
86f89f9222
feat(extensions/crypto): implement importKey and exportKey for raw HMAC keys ( #11367 )
...
This commit introduces "SubtleCrypto.importKey()" and
"SubtleCrypto.exportKey()" APIs.
2021-08-03 21:24:02 +02:00
Bartek Iwańczuk
505d253436
Revert "fix(extensions/fetch): Add Origin header to outgoing requests for fetch ( #11557 )" ( #11565 )
...
This reverts commit f87aa44d94
.
2021-08-02 15:56:52 +02:00
Feng Yu
f87aa44d94
fix(extensions/fetch): Add Origin header to outgoing requests for fetch ( #11557 )
2021-08-02 02:19:21 -07:00
Bartek Iwańczuk
a05bb3924a
chore: update cut_a_release.md ( #11522 )
2021-07-27 00:26:39 +02:00
Luca Casonato
08d2c7250b
fix: Big{U|}Int64Array in crypto.getRandomValues ( #11447 )
...
Relevant spec change: https://github.com/w3c/webcrypto/pull/266
2021-07-19 15:35:47 +02:00
Luca Casonato
7b82ef9ded
chore: update wpt ( #11446 )
2021-07-19 13:46:02 +02:00
Andreu Botella
5b771e7e83
fix(extensions/web): aborting a FileReader should not affect later reads ( #11381 )
...
Currently, calling the `abort()` method on a `FileReader` object aborts
any current read operation, but it also prevents any read operation
started at some later point from starting. The File API instead
specifies that calling `abort()` should reset the `FileReader`'s state
and result, as well as removing any queued tasks from the current
operation that haven't yet run.
2021-07-14 12:08:42 +02:00
Bartek Iwańczuk
642dd3d3c4
chore: release crates ( #11378 )
2021-07-13 02:16:49 +02:00
Andreu Botella
2c7c130f0a
chore(wpt): Mark a WPT test as failed if it exits before completion ( #11371 )
...
Currently, a WPT test is considered failed if its status code is
anything other than 0, regardless of whether the test suite completed
running or not, and any subtests that haven't finished running are not
considered to be failures.
But a test can exit with a zero status code before it has completed
running, if the event loop has run out of tasks because of a bug in one
of the ops, leading to false positives. This change fixes that.
2021-07-12 21:15:07 +02:00
Divy Srivastava
00484d24ba
feat(extensions/crypto): implement verify() for RSA ( #11312 )
2021-07-12 14:45:36 +02:00
Divy Srivastava
b3f22d3fdd
fix(extensiosn/web): AddEventListenerOptions.signal shouldn't be nullable ( #11348 )
2021-07-10 07:13:58 -07:00
Divy Srivastava
391bf17479
chore(extensions/crypto): enable WPT stringification test ( #11336 )
2021-07-09 17:04:50 +02:00
Luca Casonato
48e7c871d9
Revert "tests: parallelize test runs in wpt" ( #11321 )
...
This reverts commit 7edb1d713c
.
2021-07-07 20:19:47 +02:00
Andreu Botella
c972fe6cec
tests: escape lone surrogates in wptreport ( #11310 )
2021-07-07 19:56:47 +02:00
Luca Casonato
7edb1d713c
tests: parallelize test runs in wpt ( #11306 )
2021-07-06 22:42:30 +02:00
Divy Srivastava
570309d795
feat(crypto): implement generateKey() and sign() ( #9614 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-07-06 14:16:04 +02:00
Jimmy Wärting
2c0b0e45b7
refactor: asynchronous blob backing store ( #10969 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-07-05 15:34:37 +02:00
Leo K
220104f577
fix: spec conformance for performance API ( #10887 )
2021-07-05 13:17:11 +02:00
Luca Casonato
3c0267dbb5
fix: align DOMException to webidl spec ( #11259 )
2021-07-04 16:08:53 +02:00
Andreu Botella
ffa75be480
feat: enable WebAssembly.instantiateStreaming and wasm async compilation ( #11200 )
...
The WebAssembly streaming APIs used to be enabled, but used to take
buffer sources as their first argument (see #6154 and #7259 ). This
change re-enables them, requiring a Promise<Response> instead, as well as
enabling asynchronous compilation of WebAssembly modules.
2021-07-03 23:33:36 +02:00
Luca Casonato
14104c4e5b
chore: update wpt submodule
2021-07-03 22:20:28 +02:00
Luca Casonato
bf39b883d6
refactor: introduce primordials for ext/web ( #11228 )
2021-07-03 21:32:28 +02:00
Bartek Iwańczuk
bce662d5bb
chore: upgrade rusty_v8 and serde_v8 ( #11216 )
2021-07-02 09:32:48 +02:00
Luca Casonato
32b9aa5720
build: switch to wpt.fyi prod ( #11201 )
2021-07-01 15:44:44 +02:00
Andreu Botella
015f252066
fix(fetch): encode and decode headers as byte strings ( #11070 )
2021-06-26 17:34:24 +02:00
Bartek Iwańczuk
59696df9e0
chore: use local deno_std in tools scripts ( #11122 )
2021-06-26 02:02:31 +02:00
Andreu Botella
be5d2983b4
chore(wpt): clean up temporary files created by the WPT test runner ( #11108 )
...
Fixes #11107 .
2021-06-24 15:07:36 -04:00
Andreu Botella
40310eaebf
fix(url): use USVStrings in URLSearchParams constructor ( #11101 )
2021-06-24 11:38:37 +02:00
Bert Belder
5a250b9e55
tests: fix bug in WPT test harness ( #10920 )
2021-06-23 19:36:04 +00:00
Andreu Botella
edab21ebab
fix(fetch): proxy body for requests created from other requests ( #11093 )
...
Additionally, if the existing `Request`'s body is disturbed, the Request creation
should fail.
This change also updates the step numbers in the Request constructor to match
whatwg/fetch#1249 .
2021-06-23 16:00:23 +02:00
William Perron
9c0b41e24b
chore: update release instructions ( #11079 )
...
Add instructions for the release process of `deno_std` and `deno_docker`
repos
2021-06-22 10:39:44 -04:00
Luca Casonato
f9ff981daf
feat: MessageChannel
and MessagePort
( #11051 )
...
This commit introduces support for MessageChannel and MessagePort.
MessagePorts can be transfered across other MessagePorts.
2021-06-21 19:53:52 +02:00
Bartek Iwańczuk
2c0e482221
v1.11.2
2021-06-21 17:47:25 +02:00
Leo K
afe89e8850
fix(websocket): spec conformance & WPT ( #11010 )
2021-06-21 12:15:08 +02:00
Yasser A.Idrissi
0cbaeca026
fix: fetch with method HEAD should not have body ( #11003 )
2021-06-18 11:14:14 +02:00
Luca Casonato
2a66d5de01
fix: align URL / URLSearchParams to spec ( #11005 )
2021-06-16 18:40:35 +02:00
Luca Casonato
77ab2bee9f
fix: some more console spec compliance ( #10983 )
2021-06-16 15:48:39 +02:00
Luca Casonato
ac431ca076
fix: closing / aborting WritableStream is racy ( #10982 )
2021-06-16 02:46:08 +02:00
Luca Casonato
b6fd39377e
fix: pass some more WHATWG streams WPT ( #10970 )
2021-06-15 17:48:25 +02:00
Luca Casonato
4cbc4a7eb3
fix: make WHATWG streams more compliant ( #10967 )
2021-06-15 13:46:02 +02:00
Luca Casonato
f48d66b2b0
tests: fix wpt epoch ci job ( #10960 )
2021-06-14 20:57:02 +02:00
Luca Casonato
d837445e44
build: add wpt epoch/daily run ( #10937 )
...
This adds a daily scheduled CI pipeline that runs WPT tests against
the most recent epochs/daily every night. Results are uploaded to
wpt.fyi.
WPTs are run on all supported platforms, on both stable and canary.
2021-06-14 13:48:57 +02:00
Luca Casonato
614dc1bce7
fix: propagate top level thrown errors in WPT ( #10932 )
...
Previously top level errors were swallowed.
2021-06-11 21:31:53 +02:00
Bartek Iwańczuk
6091ea098a
refactor: merge deno_file crate into deno_web ( #10914 )
...
This refactor makes it so there's one less crate to publish on each release.
2021-06-10 15:26:10 +02:00
Bartek Iwańczuk
e75ffab0c8
chore: move serde_v8 to separate repo ( #10909 )
...
Now available at https://github.com/denoland/serde_v8
2021-06-09 20:37:43 +02:00
Bartek Iwańczuk
b98293e21c
v1.11.0
2021-06-08 21:38:36 +02:00
Bartek Iwańczuk
3a96fe55a0
chore: release crates ( #10896 )
2021-06-08 20:34:18 +02:00
David Sherret
6ee983b127
chore(tools): Fix stdout buffer of launched process getting full causing tools/lint.js to hang on Windows ( #10888 )
...
Also fix Windows only clippy issues.
2021-06-07 22:29:47 -04:00
Luca Casonato
8e96961f0e
chore: update wpt ( #10884 )
...
This commit updates wpt. It tries to get us ever closer to eventually
stop floating patches, and being able to use wpt upstream.
2021-06-07 19:16:27 +02:00
Luca Casonato
7b9c59fd71
tests: upload WPT reports to wpt.fyi ( #10883 )
2021-06-07 17:41:33 +02:00
Luca Casonato
3a4a47799f
refactor: clean up webidl protype configuration ( #10871 )
2021-06-07 10:04:10 +02:00
Luca Casonato
a66f327250
tests: run wpt scripts with Deno.core.evalContext ( #10852 )
...
This means wpts are now run in script context, and there are better
stack traces.
2021-06-06 18:32:06 +02:00
Luca Casonato
f1deed41e7
tests: generate and upload wptreport.json ( #10869 )
...
These reports can be consumed by tools like `wptreport` or
https://wpt.fyi . The old style report could be removed in a future PR
when wpt.deno.land is updated.
2021-06-06 18:08:50 +02:00
Luca Casonato
1fb2e23a67
feat(fetch): implement abort ( #10863 )
...
This commit introduces fetch aborting via an AbortSignal.
2021-06-06 15:37:17 +02:00
Casper Beyer
3f9187c366
feat(extensions/crypto): implement subtle.digest ( #10796 )
...
Co-authored-by: Yacine Hmito yacinehmito@users.noreply.github.com
2021-06-06 12:57:10 +02:00
Andreu Botella
62bf403157
feat(web): Implement TextDecoderStream and TextEncoderStream ( #10842 )
2021-06-06 03:23:16 +02:00
Luca Casonato
c73ef5fa14
refactor(web): use encoding_rs for text encoding ( #10844 )
...
This commit removes all JS based text encoding / text decoding. Instead
encoding now happens in Rust via encoding_rs (already in tree). This
implementation retains stream support, but adds the last missing
encodings. We are incredibly close to 100% WPT on text encoding now.
This should reduce our baseline heap by quite a bit.
2021-06-05 23:10:07 +02:00
Leo K
bb0c90cadb
fix(crypto): change Crypto to interface ( #10853 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-06-05 22:56:59 +02:00
Luca Casonato
368c784d7f
tests: disable failing stream idl test ( #10860 )
...
Didn't catch failure in original PR due to #10856 and merge ordering.
2021-06-05 21:59:03 +02:00
Leo K
b748415baf
fix(streams): expose ReadableByteStreamController & TransformStreamDefaultController ( #10855 )
2021-06-05 19:32:05 +02:00
Luca Casonato
706b75d742
tests: fix wpt runner expected test file failures ( #10856 )
2021-06-05 19:29:41 +02:00
Leo K
5bed6d56ec
tests: remove non-applicable webstorage wpt ( #10858 )
2021-06-05 19:29:28 +02:00
Leo K
cf351f77c2
feat(extensions/crypto): implement randomUUID ( #10848 )
2021-06-05 14:46:24 +02:00
Luca Casonato
1abff0e333
chore: add web crypto to expectations ( #10845 )
...
This should make wpt.deno.land a lot more accurate about our current
implementation status.
2021-06-04 20:46:44 +02:00
Andreu Botella
03184aeabb
fix(fetch): implement newline normalization and escapes in the multipart/form-data serializer ( #10832 )
2021-06-03 20:48:09 +02:00
Luca Casonato
b2a4c2e4f6
build: collect wpt results as json ( #10823 )
2021-06-03 01:12:28 +02:00
Luca Casonato
9ae8dbf173
chore: update wpt ( #10807 )
2021-06-01 18:24:31 +02:00
Andreu Botella
e466a6fc9a
fix: Support the stream option to TextDecoder#decode ( #10805 )
2021-06-01 11:24:16 +02:00
Luca Casonato
1f83b56d43
fix: remove unimplemented Request attributes ( #10784 )
...
Not having them is better than throwing "unimplemented" errors on
access.
2021-05-31 11:03:17 +02:00
Luca Casonato
d5d59bb794
fix(fetch): make prototype properties writable ( #10769 )
2021-05-26 23:44:42 +02:00
Yoshiya Hinosawa
c8b3f85796
fix(extension/file): update File constructor following the spec ( #10760 )
2021-05-25 22:35:17 +09:00
Ben Noordhuis
af1546391c
feat(extensions): BroadcastChannel WPT conformance
...
Replaces the file-backed provider by an in-memory one because proper
file locking is a hard problem that detracts from the proof of concept.
Teach the WPT runner how to extract tests from .html files because all
the relevant tests in test_util/wpt/webmessaging/broadcastchannel are
inside basics.html and interface.html.
2021-05-23 15:16:42 +02:00
Aaron O'Mullan
eb56186e44
fix(serde_v8): remove intentional deserialization error on non-utf8 strings ( #10156 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-05-19 20:45:48 +02:00
Yusuke Tanaka
cda09c166f
chore: update deno_lint binary used in CI to v0.5.0 ( #10652 )
2021-05-18 17:24:01 +02:00
crowlKats
dfe528198d
feat: add WebStorage API ( #7819 )
...
This commit introduces localStorage and sessionStorage.
2021-05-10 12:02:47 +02:00
Luca Casonato
d806dc0f16
chore: update wpt ( #10509 )
2021-05-09 16:32:30 +02:00
Thiago Padilha
18a684ab1c
fix: TextEncoder#encodeInto spec compliance + perf gains ( #10129 )
2021-05-08 23:31:40 +02:00
David Sherret
a9c58d5e51
chore: upgrade dprint 0.13.1 to fix CI. ( #10513 )
2021-05-06 13:22:24 +09:00
Anonymous
688557e226
fix(op_crates/fetch): check fetch() argument length ( #10474 )
2021-05-03 09:05:42 +02:00
Andy Hayden
684c357136
Rename crate_ops to extensions ( #10431 )
2021-04-30 15:51:48 -04:00
Satya Rohith
2bd087ab1b
chore: upgrade dprint plugins ( #10397 )
2021-04-28 10:08:51 -04:00
Casper Beyer
e4e7d957e8
feat(core): enable wasm threading support ( #10116 )
2021-04-26 17:54:07 +02:00
Aaron O'Mullan
801244027d
flamebench: streamline profiling benches ( #10121 )
2021-04-26 16:41:53 +02:00
Luca Casonato
cdd2355f0f
tests: enable idlharness wpt ( #10371 )
...
This enables more test cases that expose issues in our implementation.
2021-04-26 13:02:49 +02:00
Bartek Iwańczuk
e23cfcd577
chore: add readme for cutting release ( #10070 )
...
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-04-20 17:00:14 +02:00
Luca Casonato
9e6cd91014
chore: align fetch to spec ( #10203 )
...
This commit aligns the `fetch` API and the `Request` / `Response`
classes belonging to it to the spec. This commit enables all the
relevant `fetch` WPT tests. Spec compliance is now at around 90%.
Performance is essentially identical now (within 1% of 1.9.0).
2021-04-20 14:47:22 +02:00
Yoshiya Hinosawa
8424647d22
chore: update copyright headers ( #10243 )
2021-04-20 14:27:36 +09:00
Luca Casonato
0552eaf569
chore: align Headers
to spec ( #10199 )
...
This commit aligns `Headers` to spec. It also removes the now unused
03_dom_iterable.js file. We now pass all relevant `Headers` WPT. We do
not implement any sort of header filtering, as we are a server side
runtime.
This is likely not the most efficient implementation of `Headers` yet.
It is however spec compliant. Once all the APIs in the `HTTP` hot loop
are correct we can start optimizing them. It is likely that this commit
reduces bench throughput temporarily.
2021-04-19 01:00:13 +02:00
Luca Casonato
353e79c796
chore: align FormData to spec ( #10169 )
...
This PR aligns `FormData` to spec. All WPT tests are passing.
2021-04-14 22:49:16 +02:00
Casper Beyer
ec1fce58d9
fix(core): remove wasm-test-streaming flag ( #10158 )
2021-04-13 06:20:05 -04:00
Bert Belder
06b5959eed
ci: store last-modified timestamps in Github Actions cache ( #10110 )
2021-04-11 20:57:17 +00:00
Bert Belder
ae95da5d10
Revert "use incremental build in ci ( #10053 )" ( #10110 )
...
This reverts commit fd65e6de3d
.
2021-04-11 20:57:16 +00:00
Luca Casonato
e7f18d6468
feat: blob URL support in fetch ( #10120 )
...
This commit adds blob URL support in `fetch`. Tested via WPT. This is
the first op_crate to have a rust dependency on a different op_crate.
2021-04-11 14:09:10 +02:00
Luca Casonato
3ab94983b4
feat: data URL support in fetch ( #10054 )
...
This commit adds data URL support in `fetch`. Tested via wpt.
2021-04-10 23:38:15 +02:00
Luca Casonato
c867c1aa47
fix: enable FileReader wpt and align to spec ( #10063 )
...
This adds some algorithms from the whatwg mimesniff, whatwg infra, and
whatwg encoding specs that FileReader needs to use internally.
2021-04-08 15:05:08 +02:00
Luca Casonato
ee07ef2962
chore: update deno_file to use deno_webidl ( #10042 )
...
This changes the custom input converters in deno_file to use deno_webidl
converters.
2021-04-08 01:23:26 +02:00
Yoshiya Hinosawa
fd65e6de3d
use incremental build in ci ( #10053 )
2021-04-07 10:17:55 -04:00
Luca Casonato
00e63306cb
refactor: add deno_file op crate ( #10019 )
...
Also enables WPT for FileReader.
2021-04-06 12:55:05 +02:00
Aaron O'Mullan
fec1b2a5a4
refactor: new optimized op-layer using serde_v8 ( #9843 )
...
- Improves op performance.
- Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs
per op-encoding (aka: out-of-payload).
- Remove shared queue & custom "asyncHandlers", all async values are
returned in batches via js_recv_cb.
- The op-layer should be thought of as simple function calls with little
indirection or translation besides the conceptually straightforward
serde_v8 bijections.
- Preserve concepts of json/bin/min as semantic groups of their
inputs/outputs instead of their op-encoding strategy, preserving these
groups will also facilitate partial transitions over to v8 Fast API for the
"min" and "bin" groups
2021-03-31 10:37:38 -04:00
crowlKats
b11249647f
fix: update wpt + align AbortController ( #9907 )
2021-03-27 15:49:57 +01:00
Bartek Iwańczuk
faf2e80272
chore: upgrade crates ( #9632 )
2021-03-02 13:39:56 +01:00
Nayeem Rahman
badc88b78a
refactor(op_crates/web): Move URL parsing to Rust ( #9276 )
2021-03-02 02:30:24 +01:00
Kitson Kelly
d26bef21a5
test(lsp): add benchmarking tests ( #9586 )
...
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-25 16:14:17 +11:00
Luca Casonato
4f80587d26
chore: rename default branch to main ( #9503 )
2021-02-19 15:58:19 +01:00
Casper Beyer
3f5265b21e
fix: align btoa to spec ( #9053 )
2021-02-16 02:10:59 +01:00
Casper Beyer
a2adecbba6
tests: re-enable wpt/webappapis/timers ( #9489 )
2021-02-13 20:43:36 +01:00
Luca Casonato
af460fc464
fix: webidl utils and align Event
to spec ( #9470 )
2021-02-13 15:58:12 +01:00
Casper Beyer
4c5631f85a
test(cli): enable microtask-queue tests ( #9490 )
2021-02-13 06:59:46 -05:00
Luca Casonato
25b35be50d
refactor: rewrite File implementation ( #9334 )
2021-02-04 15:05:36 +01:00
Dezső Mészáros
3f6483e501
typo ( #9378 )
2021-02-02 22:21:48 -05:00
Luca Casonato
fa975a9bae
refactor: rewrite Blob implementation ( #9309 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-01-30 19:22:24 +01:00
Luca Casonato
6ecc86cf2a
chore: add jsdoc to 26_fetch.js and enable some fetch tests ( #9305 )
2021-01-28 21:37:21 +01:00
Dezső Mészáros
591ed6b3ad
fix(tools): fix typo in wpt cli output ( #9303 )
2021-01-28 18:10:16 +09:00
Luca Casonato
1698bc64c1
tests: enable url wpt ( #9299 )
2021-01-27 22:37:15 +01:00
Luca Casonato
2638aa03a5
tests: new typescript WPT runner ( #9269 )
2021-01-27 15:06:18 +01:00
Bartek Iwańczuk
b26dcbc69d
chore: Enforce ban-untagged-todo lint rule ( #9135 )
2021-01-17 00:32:59 +01:00
Ryan Dahl
2b75a11559
update copyright to 2021 ( #9081 )
2021-01-10 21:59:07 -05:00
Luca Casonato
a3099798c8
tests: add web platform test runner ( #8990 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-01-05 12:07:27 +01:00
Yusuke Tanaka
9029003046
build: update dlint to v0.2.10 ( #8284 )
...
Update prebuilt "dlint" binary to v0.2.10 and fix diagnostics
for "require-await" rule.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-11-14 20:27:37 +01:00
Bartek Iwańczuk
6f48c526c6
chore: reference dprint config file in format script ( #8318 )
...
* chore: reference dprint config file in format script
* chore: ignore .git folder in dprint config
2020-11-09 20:56:43 +01:00
Casper Beyer
b244766f9d
docs(tools): add a little note about cargo run ( #8297 )
2020-11-08 20:56:36 +01:00
Bartek Iwańczuk
d96823b2ed
update third_party ( #8253 )
2020-11-05 16:49:03 +01:00
Bartek Iwańczuk
791119d4af
build: rewrite tools/ scripts to deno ( #8247 )
...
This commit rewrites scripts in "tools/" directory
to use Deno instead of Python. In return it allows
to remove huge number of Python packages in "third_party/".
2020-11-05 15:53:21 +01:00
Bartek Iwańczuk
6dd7633261
chore: remove dead Python code ( #8248 )
2020-11-04 22:09:06 +01:00
Bartek Iwańczuk
ef641a07b8
build: remove eslint ( #8232 )
...
This commit updates "third_party" submodule
to remove "eslint" and its dependencies.
In result "tools/package.json" has been removed.
2020-11-03 17:49:20 +01:00
Bartek Iwańczuk
8e914be742
build: migrate to dlint ( #8176 )
...
This commit migrates repository from using "eslint"
to "dlint" for linting JavaScript code.
2020-11-03 16:19:29 +01:00
Bartek Iwańczuk
93deefcae2
chore: remove unused tools/ scripts ( #8222 )
2020-11-02 21:54:12 +01:00
Trivikram Kamat
d0eb179132
docs: end sentences with a period in markdown ( #7813 )
2020-10-04 07:19:11 +11:00
j4qfrost
d96e7226dd
refactor: use parentheses in print statements in python ( #7779 )
2020-10-02 09:59:53 +10:00
qlcom
1021dad5f6
mark shell code blocks as sh instead of bash ( #7645 )
2020-09-23 14:07:43 -04:00
Kitson Kelly
751bb45a0a
fix: ignore fileExists in tsc host ( #7635 )
...
Fixes #7630
2020-09-23 11:39:20 +10:00
tokiedokie
c4ed3fb7e7
chore: add copyright ( #7593 )
2020-09-21 08:26:41 -04:00
Ryan Dahl
935c92800f
fix benchmark publish again ( #7235 )
2020-08-28 14:06:20 -04:00
Ryan Dahl
2573d0957f
fix benchmark publish ( #7232 )
2020-08-28 11:57:06 -04:00
Valentin Anger
31f32ed8c4
Move benchmarks to Rust ( #7134 )
...
All benchmarks are done in Rust and can be invoked with
`cargo bench`.
Currently this has it's own "harness" that behaves like
`./tools/benchmark.py` did.
Because of this tests inside `cli/bench` are currently not run.
This should be switched to the language provided harness
once the `#[bench]` attribute has been stabilized.
2020-08-28 09:03:50 -04:00
Max Drosdo.www
73288beb15
Remove old references to libdeno ( #7149 )
2020-08-21 22:36:44 -04:00
Bert Belder
29e3f4cd3a
Split core http benchmark into 'bin_ops' and 'json_ops' variants ( #7147 )
2020-08-21 20:21:32 +02:00
Maayan Hanin
5fc5e7b54a
fix(cli): add support for non-UTF8 source files ( #6789 )
...
Fixes: #5542
2020-08-03 23:39:48 +02:00
Ryan Dahl
bf9930066d
Reduce size of TypeScript Compiler snapshot ( #6809 )
...
This PR is intentionally ugly. It duplicates all of the code in cli/js2/ into
cli/tsc/ ... because it's very important that we all understand that this code
is unnecessarily duplicated in our binary. I hope this ugliness provides the
motivation to clean it up.
The typescript git submodule is removed, because it's a very large repo and
contains all sorts of stuff we don't need. Instead the necessary files are
copied directly into the deno repo. Hence +200k lines.
COMPILER_SNAPSHOT.bin size
```
master 3448139
this branch 3320972
```
Fixes #6812
2020-07-22 12:03:46 -04:00
木杉
f34a441a7d
fix(tools/lint): don't exceed max command line length on windows ( #6804 )
2020-07-21 16:47:55 +02:00
Ryan Dahl
628c10b552
fix benchmark_test ( #6814 )
2020-07-20 01:20:51 -04:00
David Sherret
cde4dbb351
Use dprint for internal formatting ( #6682 )
2020-07-14 15:24:17 -04:00
Kitson Kelly
82aabb657a
feat: add --no-check option ( #6456 )
...
This commit adds a "--no-check" option to following subcommands:
- "deno cache"
- "deno info"
- "deno run"
- "deno test"
The "--no-check" options allows to skip type checking step and instead
directly transpiles TS sources to JS sources.
This solution uses `ts.transpileModule()` API and is just an interim
solution before implementing it fully in Rust.
2020-07-08 11:26:39 +02:00
Ryan Dahl
75d9913b22
Remove tools/hyper_hello ( #6651 )
2020-07-06 13:00:08 -04:00
Ryan Dahl
f35edc574a
Remove test_server dependency from benchmarks ( #6645 )
2020-07-06 01:00:07 +02:00
Bert Belder
e4e80f20c2
fix(tools): command line args parsing bug, unused function parameter ( #6629 )
2020-07-04 19:15:03 -04:00
Ryan Dahl
5f9e600c5b
chore: port http_server.py to rust ( #6364 )
2020-07-04 13:05:01 -04:00
skdltmxn
b3c72d1e45
feat(std/hash): reimplement all hashes in WASM ( #6292 )
2020-06-16 17:12:50 -04:00
Bartek Iwańczuk
8366f36873
upgrade: deno_lint v0.1.8 ( #6208 )
2020-06-09 18:40:08 +02:00
Mark Tiedemann
314f666897
fix(tools): prettier formatting ( #6206 )
2020-06-09 17:50:41 +02:00
Mark Tiedemann
2093ee55d4
Chunk prettier invocation ( #6129 )
...
This avoids failures due to exceeding the maximum command line length.
Fixes: #5017
2020-06-06 13:20:29 +02:00
Ryan Dahl
b693ca7f7f
upgrade: crates ( #6032 )
2020-06-01 16:25:10 -04:00
Marcos Casagrande
1d3dce9a68
fix(cli/js/web): formData parser for binary files ( #6015 )
2020-06-01 14:32:08 +02:00
Marcos Casagrande
edeeedf401
fix(cli/fetch): set null body for null-body status ( #5980 )
2020-05-31 19:21:14 -04:00
Marcos Casagrande
08552fc6b9
fix(fetch): network error on multiple redirects ( #5985 )
2020-05-31 16:13:53 -04:00
Ryan Dahl
dad551a3a7
upgrade: Rust crates ( #5959 )
2020-05-30 11:35:44 +02:00
Bartek Iwańczuk
960f9ccb2e
fix: SWC lexer settings and silent errors ( #5752 )
...
This commit changes how error occurring in SWC are handled.
Changed lexer settings to properly handle TS decorators.
Changed output of SWC error to annotate with position in file.
2020-05-22 19:23:35 +02:00
Bartek Iwańczuk
f9e45114b9
fix: redirects handling in module analysis ( #5726 )
...
This commit fixes a bug introduced in #5029 that caused bad
handling of redirects during module analysis.
Also ensured that duplicate modules are not downloaded.
2020-05-22 16:01:00 +02:00
Colin Harrington
aea5b12bae
ci: Errors in benchmarks should fail CI ( #5422 )
2020-05-21 13:08:43 +02:00
Ryan Dahl
acc821c2be
Remove dead code: tools/sha256sum.py ( #5502 )
2020-05-16 20:37:41 +02:00
Bartek Iwańczuk
6405675448
chore: remove typedoc ( #5497 )
2020-05-16 16:02:03 +02:00
uki00a
c5a54e44bc
chore: port deno_dir_test to Rust ( #5408 )
2020-05-15 10:22:28 -04:00
Dante Calderón
c3a205bae8
Fix typos across the repo ( #5295 )
...
Corrections made:
* cli/js/tests/README.md:44:7: corrected "discoveres" to "discovers"
* cli/js/tests/chown_test.ts:111:37: corrected "priviledge" to "privilege"
* cli/worker.rs:231:56: corrected "decendants" to "descendants"
* deno_typescript/lib.rs:136:50: corrected "emmited" to "emitted"
* core/es_isolate.rs:492:67: corrected "registerd" to "registered"
* core/isolate.rs:103:28: corrected "initalize" to "initialize"
* docs/runtime.md:29:14: corrected "ect" to "etc"
* docs/tools/debugger.md:122:16: corrected "implementes" to "implements"
* std/encoding/_yaml/dumper/dumper_state.ts:57:63: corrected "everwhere" to "everywhere"
* std/encoding/csv.ts:37:43: corrected "referal" to "referral"
* std/fmt/sprintf.ts:209:20: corrected "unusuable" to "unusable"
* std/fmt/README.md:21:40: corrected "Alternativly" to "Alternatively"
* std/fmt/README.md:35:68: corrected "seperated" to "separated"
* std/fmt/README.md:179:59: corrected "provded" to "provided"
* std/mime/multipart.ts:581:46: corrected "writen" to "written"
* std/path/_globrex.ts:19:52: corrected "equivelant" to "equivalent"
* std/node/events_test.ts:447:9: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:475:9: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:500:29: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:530:40: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:555:9: corrected "asyncronous" to "asynchronous"
* tools/deno_tcp_proxy.ts:1:42: corrected "perfromance" to "performance"
* std/node/module.ts:1003:18: corrected "existend" to "existed"
2020-05-14 06:38:42 +02:00
Bartek Iwańczuk
a3f82c3d5e
fix: worker benchmarks ( #5227 )
2020-05-11 20:52:25 +02:00
Michał Zdunek
9790399bce
add option to lint and format only staged files ( #5172 )
2020-05-09 06:22:27 -04:00
Chris Knight
6b73e0caff
add tools/README.md ( #4453 )
2020-05-08 09:28:02 -04:00
Ryan Dahl
6666f1d36a
remove target_test.py ( #5112 )
2020-05-06 16:34:48 -04:00
Ryan Dahl
221221cc97
BREAKING: execPath should require allow-read ( #5109 )
2020-05-06 15:51:33 -04:00
Ryan Dahl
2b15e53d5a
Upgrade crates ( #5104 )
2020-05-06 10:10:51 -04:00
Bartek Iwańczuk
a913b7a1ba
BREAKING: remove CLI 'deno script.ts' hack ( #5026 )
...
This PR removes the hack in CLI that allows to run scripts with shorthand: deno script.ts.
Removing this functionality because it hacks around short-comings of clap our CLI parser. We agree that this shorthand syntax is desirable, but it needs to be rethinked and reimplemented. For 1.0 we should go with conservative approach that is correct.
2020-05-04 13:03:30 +02:00
Luca Casonato
80e2211141
Unstable methods should not appear in runtime or d.ts ( #4957 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2020-04-30 11:23:40 -04:00
Nayeem Rahman
678313b176
BREAKING: Remove Deno.EOF, use null instead ( #4953 )
2020-04-28 12:40:43 -04:00
Ryan Dahl
02bc58d832
BREAKING: Make fetch API more web compatible ( #4687 )
...
- Removes the __fetch namespace from `deno types`
- Response.redirect should be a static.
- Response.body should not be AsyncIterable.
- Disables the deno_proxy benchmark
- Makes std/examples/curl.ts buffer the body before printing to stdout
2020-04-10 09:51:17 -04:00
Ryan Dahl
b7e673ba93
upgrade: rust crates ( #4679 )
2020-04-08 14:29:42 -04:00
Andres Villegas
3892d49165
fix: Add check to fail the benchmark test on server error ( #4519 )
2020-03-30 14:04:45 -04:00
Kitson Kelly
bced52505f
Update to Prettier 2 and use ES Private Fields ( #4498 )
2020-03-28 13:03:49 -04:00
João Souto
70a5034431
feat: Support Unix Domain Sockets ( #4176 )
2020-03-23 18:02:51 -04:00
Ryan Dahl
0adc86f105
Remove DENO_BUILD_MODE and DENO_BUILD_PATH ( #4431 )
...
* Remove DENO_BUILD_MODE and DENO_BUILD_PATH
Also remove outdated docs related to ninja/gn.
* fix
* remove parameter to build_mode()
* remove arg parsing from benchmark.py
2020-03-20 21:48:34 -04:00
Samrith Shankar
798904b0f2
Add require-await lint rule ( #4401 )
2020-03-20 09:38:34 -04:00
Bartek Iwańczuk
87d2ba42bf
perf: Optimize TextEncoder and TextDecoder ( #4430 )
...
* add tests for "Deno.core.encode" and "Deno.core.decode" for empty inputs
* use "Deno.core.encode" in "TextEncoder"
* use "Deno.core.decode" in "TextDecoder"
* remove "core_decode" and "core_encode" benchmarks
2020-03-19 21:31:56 +01:00
Bartek Iwańczuk
dc6e0c3591
feat: Deno.core.{encode,decode}; standalone UTF-8 encoding/decoding ( #4349 )
...
This commits add two new methods to "Deno.core" namespace: "encode" and "decode".
Those methods are bound in Rust to provide a) fast b) generally available of encoding and decoding UTF-8 strings.
Both methods are now used in "cli/js/dispatch_json.ts".
2020-03-15 15:31:55 +01:00
Bartek Iwańczuk
aab1acaed1
refactor: unit test runner communicates using TCP socket ( #4336 )
...
Rewrites "cli/js/unit_test_runner.ts" to communicate with spawned subprocesses
using TCP socket.
* Rewrite "Deno.runTests()" by factoring out testing logic to private "TestApi"
class. "TestApi" implements "AsyncIterator" that yields "TestEvent"s,
which is an interface for different types of event occuring during running
tests.
* Add "reporter" argument to "Deno.runTests()" to allow users to provide custom
reporting mechanism for tests. It's represented by "TestReporter" interface,
that implements hook functions for each type of "TestEvent". If "reporter"
is not provided then default console reporting is used (via
"ConsoleReporter").
* Change how "unit_test_runner" communicates with spawned suprocesses. Instead
of parsing text data from child's stdout, a TCP socket is created and used
for communication. "unit_test_runner" can run in either "master" or "worker"
mode. Former is responsible for test discovery and establishing needed
permission combinations; while latter (that is spawned by "master") executes
tests that match given permission set.
* Use "SocketReporter" that implements "TestReporter" interface to send output
of tests to "master" process. Data is sent as stringified JSON and then
parsed by "master" as structured data. "master" applies it's own reporting
logic to output tests to console (by reusing default "ConsoleReporter").
2020-03-13 15:57:32 +01:00
Ryan Dahl
18076db8f0
upgrade rust dependencies ( #4270 )
2020-03-07 15:51:23 -05:00
dubiousjim
9a63902db5
Rename readDir -> readdir ( #4225 )
2020-03-06 08:34:02 -05:00
Ryan Dahl
c14cc84a85
fix tools/docs.py ( #4210 )
2020-03-02 16:22:12 +01:00
Kevin (Kun) "Kassimo" Qian
b5bf28e68f
fetch_cached_remote_source support redirect URL without base ( #4099 )
2020-02-28 09:04:18 -05:00
João Souto
ff4b7b0921
Add clippy to /tools/lint.py ( #4132 )
2020-02-27 14:30:41 -05:00
Ryan Dahl
3d03d7e83b
Fix flaky tests ( #4134 )
2020-02-26 11:50:25 +01:00
Kitson Kelly
be787d09d5
upgrade: TypeScript 3.8 ( #4100 )
2020-02-25 15:33:19 -05:00
João Souto
ac933dd1b8
port tools/repl_test.py to Rust ( #4096 )
...
ref #2988
2020-02-24 17:49:40 -05:00
hazæ41
08686cbc3a
feat: support UDP sockets ( #3946 )
2020-02-21 11:26:54 -05:00
geoFlux
2e7d449623
feat: add --cert flag for http client ( #3972 )
2020-02-17 11:59:51 -05:00
Bert Belder
f650c3edb3
Refactor deno_core_http_bench and make it single-threaded ( #3903 )
2020-02-07 18:17:03 -08:00
Luka Hartwig
7d115a2a65
refactor: port fetch test to rust ( #3887 )
2020-02-04 17:42:07 -05: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
Luka Hartwig
f168597b7a
Remove //tests symlink ( #3849 )
2020-02-02 16:55:22 -05:00
Ryan Dahl
af081d7449
upgrade: Rust 1.41.0 ( #3838 )
2020-01-31 04:49:13 -05:00
Ryan Dahl
2338e7679c
Remove --current-thread flag ( #3830 )
...
This flag was added to evaluate performance relative to tokio's threaded
runtime. Although it's faster in the HTTP benchmark, it's clear the runtime
is not the only perf problem.
Removing this flag will simplify further refactors, in particular
adopting the #[tokio::main] macro. This will be done in a follow up.
Ultimately we expect to move to the current thread runtime with Isolates
pinned to specific threads, but that will be a much larger refactor. The
--current-thread just complicates that effort.
2020-01-30 10:49:33 -05:00
Bartek Iwańczuk
73a3cc21d0
feat: dprint formatter ( #3820 )
...
* rewrite fmt_test in Rust, remove tools/fmt_test.py
* remove //std/prettier
2020-01-29 21:16:48 -05:00
Kitson Kelly
f604becaba
Improve support of type definitions ( #3755 )
2020-01-26 13:59:41 -05:00
Ryan Dahl
3059558d41
fix cargo-publish-on-tag ( #3781 )
...
Also rename the "test" CI worker to "test_release"
2020-01-24 14:24:27 -05:00
Takashi Idobe
108294deeb
change copyrights from 2019 to 2020 ( #3733 )
2020-01-21 10:01:55 -05:00
Ry Dahl
e83658138b
Fix bug in strace parser ( #3720 )
...
Co-authored-by: @kt3k
2020-01-20 09:49:18 -05:00
Bartek Iwańczuk
34b99fec8e
rename dial to connect and dialTLS to connectTLS ( #3710 )
2020-01-18 18:35:12 +01:00
Ry Dahl
020898762f
Debug strace issue ( #3706 )
2020-01-18 10:20:10 +01:00
Ry Dahl
d720309203
Auto cargo-publish on tags ( #3704 )
...
fix tools/cargo_publish.py
2020-01-17 17:53:13 -05:00
Bartek Iwańczuk
cad7b3e4fe
add "deno fetch" benchmarks ( #3688 )
2020-01-16 15:32:25 -05:00
Ry Dahl
a4dde552de
Revert "feat(flags): script arguments come after '--'" ( #3681 )
...
Due to complaints about ergonomics and because it breaks shebang on
linux.
This reverts commit 2d5457df15
.
BREAKING CHANGE
2020-01-15 19:21:35 -05:00
Bartek Iwańczuk
702ff4283f
extend bencharks to 20s
2020-01-13 07:12:30 -07:00
EnokMan
1ea06f9c84
Add gzip, brotli and ETag support for file fetcher ( #3597 )
2020-01-11 11:11:05 +01:00
Ry Dahl
d492c5abe3
feat: Deno.args now does not include script ( #3628 )
...
Previously Deno.args was ["script.js", "arg1", "arg2"]
Now it is just ["arg1", "arg2"]
BREAKING CHANGE
2020-01-09 11:37:01 -07:00
Ry Dahl
2d5457df15
feat(flags): script arguments come after '--' ( #3621 )
2020-01-08 14:59:53 -05:00
Ry Dahl
8466460311
update pylintrc ( #3618 )
2020-01-08 01:51:11 +01:00
Bert Belder
52a0f3a5ef
Upgrade rust crates and modernize hyper_hello ( #3606 )
2020-01-05 23:12:35 +01:00
Ry Dahl
5f1df038fb
Replace libdeno with rusty_v8 ( #3556 )
2020-01-05 09:19:29 -05:00
Luca Casonato
0a900949c8
Added textencoder benchmark ( #3589 )
2020-01-04 05:21:06 -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
Kevin (Kun) "Kassimo" Qian
d146d45861
benchmark: align deno_http and node_http response ( #3484 )
2019-12-12 13:02:23 +08:00
Christian Moritz
214b3eb29a
fix depot_tools on macOS Catalina by upgrading it to 23247b9 ( #3441 )
...
Fixes: #3440
Fixes: #3153
2019-12-04 18:16:39 -05:00
Bartek Iwańczuk
2ac107f548
fix: use AF_INET6 in ./tools/http_server.py ( #3374 )
2019-11-19 12:56:37 -05:00
Kevin (Kun) "Kassimo" Qian
e73a82dc42
feat(std/node) add CommonJS require ( #3380 )
2019-11-19 01:54:20 -05:00
Kevin (Kun) "Kassimo" Qian
4189cc1ab5
Loader: support .wasm imports ( #3328 )
...
* loader: support .wasm imports
* http_server: true
* Support named exports
* Clippy
2019-11-14 08:31:39 -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
Kitson Kelly
8d03397293
Make bundles fully standalone ( #3325 )
...
- Bundles are fully standalone. They now include the shared loader with
`deno_typescript`.
- Refactor of the loader in `deno_typescript` to perform module
instantiation in a more
- Change of behaviour when an output file is not specified on the CLI.
Previously a default name was determined and the bundle written to that
file, now the bundle will be sent to `stdout`.
- Refactors in the TypeScript compiler to be able to support the concept
of a request type. This provides a cleaner abstraction and makes it
easier to support things like single module transpiles to the userland.
- Remove a "dangerous" circular dependency between `os.ts` and `deno.ts`,
and define `pid` and `noColor` in a better way.
- Don't bind early to `console` in `repl.ts`.
- Add an integration test for generating a bundle.
2019-11-13 10:35:56 -05:00
Bert Belder
adab69bccc
Upgrade rust crates ( #3292 )
2019-11-07 16:21:51 -08:00
Ryan Dahl
508d728b5e
upgrade: V8 8.0.192
2019-11-07 17:58:05 -05:00
Ry Dahl
af61dbed87
Upgrade node_modules, change tagline, clean up root directory ( #3247 )
...
* Upgrade node_modules
* Simplify tagline
* Move gclient_config.py out of root
* Move package.json to tools
* Remove yarn.lock
* Remove CONTRIBUTING.md
2019-10-31 19:33:27 -07:00
Ry Dahl
8f571ef166
Remove TTY tests - dead code ( #3229 )
2019-10-29 17:52:57 -04:00
Andy Hayden
49e04fb240
fix race condition in test http server ( #3237 )
2019-10-29 16:06:14 -04:00
Ry Dahl
38f01f73a4
Move prebuilt binaries to third_party ( #3227 )
2019-10-28 22:04:24 -04:00
Andy Hayden
f484776384
Use top-level for-await in various places ( #3217 )
2019-10-28 15:58:35 -04:00
Andy Hayden
aec5a646c9
feat: top-level-for-await ( #3212 )
2019-10-27 09:04:42 -04:00
Ry Dahl
1d8f3cc896
Remove old website ( #3194 )
...
Move manual.md and style_guide.md into //std so they can be accessed
from https://deno.land/std/manual.md
Code for new website is https://github.com/denoland/deno_website2
Co-authored-by: Christian Moritz <chrmoritz@gmail.com>
2019-10-24 16:14:05 -04:00
JaePil Jung
4bebbda8db
Small cleanups in perrmission_prompt_test.ts ( #3188 )
2019-10-23 00:31:46 -07:00
Ry Dahl
dc80dd2ace
Add TextDecoder benchmark ( #3180 )
2019-10-22 18:50:56 -04:00
Ryan Dahl
99d8ac70db
Fix tools/docs.py ( #3135 )
2019-10-16 11:31:37 -07:00
Yusuke Sakurai
c1b302d769
fix: remote jsx/tsx files were compiled as js/ts ( #3125 )
2019-10-16 13:35:04 -04:00
Nayeem Rahman
04ed8d0531
Ensure DENO_DIR when saving the REPL history ( #3106 )
2019-10-11 10:12:39 -07:00
Ryan Dahl
93f7f00c95
Run deno_std tests in github actions
2019-10-09 17:22:22 -04:00
Christian Moritz
3e02d7ddbc
refactor benchmark results posting ( #3076 )
2019-10-06 11:18:15 -04:00
Christian Moritz
33e3ff5de8
remove appveyor specific code paths ( #3071 )
2019-10-05 21:19:00 -04:00
Ryan Dahl
b81e5db17a
Merge deno_cli_snapshots into deno_cli ( #3064 )
2019-10-04 20:28:51 -04:00
Ryan Dahl
ddcad56ee9
Move deno_std to a more convenient location. ( #3057 )
...
js/deps/https/deno.land/std -> js/std
2019-10-04 14:49:32 -04:00
Ryan Dahl
5f7ab4884c
Use 0.0.0.0 for servers in benchmarks and tests ( #3010 )
2019-09-30 12:35:48 -04:00
Christian Moritz
726f08694b
tools: fix cc_wrapper in setup.py ( #3017 )
2019-09-24 15:19:23 -04:00
Ryan Dahl
97bb2bdb79
dial/listen API change ( #3000 )
...
Previously: dial("tcp", "deno.land:80")
Now: dial({ hostname: "deno.land", port: 80, transport: "tcp" })
Similarly with listen().
2019-09-20 18:32:18 -04:00
Ryan Dahl
56ac638d93
Remove test.py, use cargo test as test frontend ( #2967 )
...
Fixes #2933
2019-09-19 14:48:05 -04:00
Bert Belder
a130e8858b
Clean up miscellaneous metafiles ( #2981 )
...
The yarn.lock file is moved from //third_party to the root of
the main repository. This is where other package metadata
files (e.g. Cargo.lock and package.json) are also located.
2019-09-19 03:32:48 +02:00
Ryan Dahl
4a807f4225
First pass at github actions ( #2966 )
2019-09-18 17:23:27 -04:00
Bert Belder
02cb34d8ad
Fix and enable linting of deno_typescript/*, tools/*, website/* ( #2962 )
2019-09-16 23:30:56 +02: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
Bert Belder
c8184eceb0
tools: remove unused function 'find_exts()' ( #2950 )
2019-09-15 20:12:16 +02:00
Bert Belder
63e1a4cf2b
tools: do not use 'find_exts()' in benchmarks.py ( #2950 )
2019-09-15 20:12:16 +02:00
Bert Belder
fbfd895bc7
tools: refactor lint.py and format.py ( #2950 )
2019-09-15 17:47:51 +02:00
Bert Belder
456b75cbf9
tools: add 'shell' parameter to 'run()' ( #2950 )
2019-09-15 17:47:51 +02:00
Bert Belder
e7d1da3671
tools: clean up third_party.py, and merge prebuilt.py into it ( #2950 )
...
* Remove reference to removed dir 'third_party/rust_crates'.
* Remove reference to unused environment variable 'DENO_NINJA_PATH'.
* Remove helper functions 'root()' and 'tp()'.
* Move definition of 'third_party_path' to build.py.
* Move definition of 'gn_exe()' to setup.py.
* Move 'download_sccache()' and 'download_hyperfine()' from prebuilt.py
to third_party.py, and delete prebuilt.py.
* Add helper function 'get_platform_dir_name()' to locate the
platform-specific 'v8/buildtools/<platform>' and
'prebuilt/<platform>' directories.
* Add helper function 'get_prebuilt_tool_path()' that returns the full
path to a platform-specific executable in //prebuilt.
* Cosmetic improvements.
2019-09-15 17:47:50 +02:00
Bert Belder
d936c49d53
tools: consistently use 'sys.executable' instead of 'python' ( #2950 )
2019-09-15 17:47:50 +02:00
Ryan Dahl
aa7a0f4bd8
Fix tools/cargo_package.py ( #2940 )
2019-09-13 16:39:42 -04:00
Bert Belder
ac68f628d2
Upgrade rust crates
2019-09-13 00:38:02 +02:00
Christian Moritz
19cd8deaf2
tools: download gn from CIPD ( #2912 )
2019-09-11 18:22:23 -04:00
Ryan Dahl
82dc1b8e59
Upgrade pylint ( #2917 )
...
depot_tools is removing pylint from its distribution so we must maintain
our own copy.
2019-09-11 16:47:42 -04:00
Bartek Iwańczuk
85c51404ae
feat: Set user agent for http client ( #2916 )
2019-09-11 07:31:00 -04:00
Bert Belder
df5b6cdd7f
Remove error message mentioning build.py
2019-09-10 20:23:59 -07:00
Ryan Dahl
dd70d8622b
Upgrade V8 to 7.9.8 ( #2907 )
...
//build was updated and our patch rebased:
https://github.com/denoland/chromium_build/tree/20190910_win_clang_depfile
V8 has removed the binaries third_party/v8/buildtools/*/gn.sha1 and started
using CIPD. In this patch, I've hacked in the original .sha1 files and continue to
use download_from_google_storage instead of the new CIPD. This will be fixed
in later work.
2019-09-10 19:18:31 -04:00
Ryan Dahl
49aea7abbc
Minor fixes in tools/ ( #2906 )
...
* Fix tools/docs.py
* Remove dead code: sync_rust_crates.py
2019-09-10 14:34:54 -04:00
Bartek Iwańczuk
acee1944b9
feat: Make integration tests rust unit tests ( #2884 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-10 11:09:54 -04:00
Ryan Dahl
acaff6d056
Remove tools/build.py ( #2865 )
...
Testing regression: ASAN build removed.
2019-09-06 20:32:58 -04:00
Ryan Dahl
9d62d77cfa
Run tests after "cargo build" on travis ( #2854 )
2019-09-04 17:16:46 -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
Nayeem Rahman
df2f54b2a6
Fix REPL '_' assignment, support '_error' ( #2845 )
2019-08-31 15:17:56 -04:00
Kevin (Kun) "Kassimo" Qian
07c3c76d0d
Save last execution result in for REPL ( #2843 )
2019-08-31 02:45:35 -04:00
Ryan Dahl
c370f749b2
Remove ts_library_builder, maintain lib.deno_runtime.d.ts by hand ( #2827 )
2019-08-30 11:11:33 -04:00
Bert Belder
e939ec0f21
third_party: upgrade 'rustls' and related crates
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
Ryan Dahl
f94900406d
Remove flatbuffers ( #2818 )
2019-08-26 17:02:34 -04:00
Ryan Dahl
7ff67017f2
Move TestFmt to the end of tests, because slow
2019-08-26 14:56:42 -04:00
Bartek Iwańczuk
017f88ee99
fix: shared queue requires aligned buffer ( #2816 )
2019-08-26 07:48:40 -04:00
Ryan Dahl
de713e42c8
Upgrade to rust 1.37.0 ( #2786 )
2019-08-16 20:49:00 -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
Daniel Buckmaster
520bdb6c31
Fix repl crash when deno dir doesn't exist ( #2727 )
2019-08-08 07:25:39 -04:00
Ryan Dahl
a517513182
Remove Deno.build.args feature ( #2728 )
...
This is a minor feature which complicates the build signifigantly.
Removing to ease refactoring the build system:
https://github.com/denoland/deno/issues/2608
2019-08-05 18:00:45 -04:00
Kevin (Kun) "Kassimo" Qian
52c13fb3ed
Enforce env permission on homeDir() and execPath ( #2714 )
2019-08-03 21:34:13 -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
Bartek Iwańczuk
e7cee29c84
Add --current-thread flag ( #2702 )
2019-07-31 11:02:20 -04:00
Bartek Iwańczuk
ff96e3dc63
benchmarks: make latency benchmark less noisy ( #2689 )
2019-07-28 21:31:18 +00:00
Bartek Iwańczuk
187310a3e1
benchmarks: add bundle size ( #2690 )
2019-07-28 10:11:08 +00:00
Ryan Dahl
bc12a3ba56
Reorder tools/format.py so slowest are last ( #2661 )
2019-07-18 15:00:50 -04:00
Bartek Iwańczuk
8214b686ce
Refactor DenoDir ( #2636 )
...
* rename `ModuleMetaData` to `SourceFile` and remove TS specific
functionality
* add `TsCompiler` struct encapsulating processing of TypeScript files
* move `SourceMapGetter` trait implementation to `//cli/compiler.rs`
* add low-level `DiskCache` API for general purpose caches and use it in
`DenoDir` and `TsCompiler` for filesystem access
* don't use hash-like filenames for compiled modules, instead use
metadata file for storing compilation hash
* add `SourceFileCache` for in-process caching of loaded files for fast
subsequent access
* define `SourceFileFetcher` trait encapsulating loading of local and
remote files and implement it for `DenoDir`
* define `use_cache` and `no_fetch` flags on `DenoDir` instead of using
in fetch methods
2019-07-17 18:15:30 -04:00
Ryan Dahl
bd6ebb32df
hyper_hello should be in its own crate ( #2641 )
...
So that "cargo build" will build it when the gn frontend is eventually
removed.
2019-07-15 14:00:27 -04:00
Ryan Dahl
1fde15c0bc
Fix REPL when it receives EOF ( #2638 )
2019-07-12 10:23:08 -04:00
Yoshiya Hinosawa
a948f9ff54
io: change Reader interface ( #2591 )
...
Instead of returning { nread: number, eof: bool }, read() returns EOF | number.
2019-07-06 10:16:03 -04:00
Bartek Iwańczuk
9d18f97327
fix: normalize Deno.execPath ( #2598 )
2019-06-30 13:32:24 -04:00
Yoshiya Hinosawa
1068b4848c
ts_library_builder: update README ( #2604 )
2019-06-30 10:52:28 -04:00
Long(Tony) Lian
1d0d54247c
feat: fetch() now handles redirects ( #2561 )
2019-06-24 06:34:09 -07:00
Yoshiya Hinosawa
201ddd29a7
fmt_test: resolve old absolute path issue ( #2562 )
2019-06-22 07:21:39 -07:00
Ryan Dahl
8693d0e0a7
Split up tools/sync_third_party
...
This is just encoding my actual workflow; not suggesting that this
workflow is ideal. Previously I would edit sync_third_party.py each time
I ran it.
2019-06-12 10:57:58 -04:00
Ryan Dahl
912e4f7177
feat: default output filename for deno bundle ( #2484 )
...
And improve bundle docs
2019-06-11 14:38:19 -04:00
Ryan Dahl
508e9849ff
Move TestFmt to end of tests ( #2491 )
2019-06-11 11:11:12 -04:00
Andy Hayden
5960e398ec
make tests quieter ( #2468 )
...
Don't mix every http request in with the tests output.
Don't print that the file servers are starting unless
-vv flag is passed.
Capture the output of run with run_output which returns
stdout, stderr and exit_code. Test against this rather
than relying on sys.exit.
2019-06-08 07:46:57 -04:00
Kurt Mackey
4ea2df6759
http benchmarks with unique ports ( #2471 )
2019-06-07 15:36:26 -04:00
Kurt Mackey
9a6cfd653d
add tcp proxy benchmarks + split out website section for proxy req/s ( #2464 )
2019-06-06 22:46:18 -04:00
Kurt Mackey
341150266e
add http proxy benchmark ( #2462 )
2019-06-06 12:44:35 -04:00
Bartek Iwańczuk
43c6c1a9f5
Refactor test infrastructure ( #2432 )
...
* use subclass of unittest.TestCase for all test cases
* allow to run single test file (eg. python tools/integration_tests.py)
* test filtering (via --pattern/-p CLI flag)
* use common CLI parser for all tests:
usage: test.py [-h] [--failfast] [--verbose] [--executable EXECUTABLE]
[--release] [--pattern PATTERN] [--build-dir BUILD_DIR]
optional arguments:
-h, --help show this help message and exit
--failfast, -f Stop on first failure
--verbose, -v Verbose output
--executable EXECUTABLE
Use external executable of Deno
--release Test against release executable
--pattern PATTERN, -p PATTERN
Run tests that match provided pattern
--build-dir BUILD_DIR
Deno build directory
* respect NO_COLOR variable
2019-06-03 12:35:55 -04:00
Kitson Kelly
d438a6d259
Upgrade TypeScript to 3.5.1 ( #2437 )
2019-06-01 11:13:36 -04:00
Andy Hayden
8fb44eba5b
chore: refactor python tests to use unittest ( #2414 )
...
Move every test to a method on DenoTestCase.
test.py is a single TestSuite of every TestCase.
Add a Spawn context manager for http_server,
this is explicitly used where it's needed.
Each python test file can now be run independently
without needing to manually run http_server.
Add --help and consistent flags using argparse for
each python test, including --failfast.
Use ColorTextTestRunner so that '... ok' is green.
2019-05-30 16:40:40 -04:00
Christian Moritz
0e780e8948
tools/setup: don't download sccache if --no-binary-download is passed
2019-05-30 13:18:30 -04:00
Christian Moritz
15dadf812c
tools/third_party: add DENO_GN_PATH and DENO_NINJA_PATH env vars
2019-05-30 13:18:30 -04:00
Ryan Dahl
64d2b7bc90
Change tools/fmt_test.py to always download prettier
...
This is to ensure a more fair test. Also we were already downloading
from the internet since we changed the URL to use std@v0.5.0. This
change exposes an OOM bug, which is then fixed in the upcoming compiler
refactor by changing checkJs compiler option to false.
2019-05-29 07:53:39 -04:00
Bartek Iwańczuk
824542e61e
chore: Port Python tests to unittest ( #2408 )
2019-05-27 09:27:55 -04:00
Bartek Iwańczuk
1105982586
re-fix permissions for dial and listen ( #2400 )
...
Closes #2397
2019-05-23 23:47:55 +03:00
Bert Belder
7d03a63ded
Revert "Fix permissions for dial and listen ( #2373 )"
...
This reverts commit 7219787894
.
2019-05-22 19:47:15 -07:00
Bartek Iwańczuk
7219787894
Fix permissions for dial and listen ( #2373 )
2019-05-17 14:50:53 -04:00
Bert Belder
6e7ccf0b49
tools: format .gn files in the 'cli' directory
2019-05-16 19:57:31 -07:00
Ryan Dahl
160a815767
Rename HTTP benchmarks ( #2350 )
2019-05-14 15:22:50 -04:00
Kevin (Kun) "Kassimo" Qian
d9cdc6788b
fix: support relative path for whitelisting ( #2317 )
...
Using `std::fs::canonicalize` to expand path to full existing path, such that
later attempt to loop-pop and compare path segment would work.
2019-05-09 12:20:34 -04:00
andy finch
2edee3367d
First pass at permissions whitelist ( #2129 )
2019-05-08 19:20:30 -04:00
Bartek Iwańczuk
ac8c6fec5b
Refactor unit test runner ( #2294 )
...
Properly discovers the permissions needed for each test.
2019-05-08 19:15:24 -04:00
Bartek Iwańczuk
f6a9d7d717
add "deno run" subcommand ( #2215 )
2019-05-03 17:15:16 -04:00
Kevin (Kun) "Kassimo" Qian
3608117132
feat(cli cmd): deno xeval ( #2260 )
2019-05-03 16:24:09 -04:00
Ryan Dahl
e4354ce739
Re-enable networking unit tests ( #2268 )
...
The following tests were commented out in order to get this to go green :
- bodyMultipartFormData
- bodyURLEncodedFormData
- fetchRequestInitStringBody
- netConcurrentAccept
- netListenAsyncIterator
2019-05-02 17:08:02 -04:00
Bartek Iwańczuk
8978870808
Rename test targets ( #2262 )
2019-05-01 09:48:56 -04:00
andy finch
c36b5dd01c
Make error in ast_util more informative. ( #2252 )
2019-04-30 12:15:03 -07:00
Bartek Iwańczuk
b7d8a0c6f6
Rename deno prefetch to deno fetch ( #2210 )
2019-04-25 13:47:33 -04:00
Ryan Dahl
9dfebbc949
Fix eslint warnings ( #2151 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: LE GOFF Vincent <g_n_s@hotmail.fr>
2019-04-21 16:40:10 -04:00
Bartek Iwańczuk
cd19da62d9
Refactor CLI entry point ( #2157 )
...
Changes "deno --types" to "deno types"
and "deno --prefetch" to "deno prefetch"
2019-04-21 11:34:18 -04:00
Jonathon Orsi
648d2f3ba8
fix typo in permissions explanation ( #2162 )
2019-04-20 15:12:00 -04:00
Ryan Dahl
f03280ead1
benchmarks: improve syscall and thread count ( #2140 )
2019-04-17 15:47:07 -04:00
Ryan Dahl
f20b05af24
benchmarks: fix max_memory and clean up ( #2137 )
2019-04-17 10:52:36 -04:00
Dmitry Sharshakov
0c46358220
Add max memory benchmark ( #2061 )
2019-04-16 13:57:05 -04:00
Yoshiya Hinosawa
5a3f3a7445
upgrade deno_std & add workaround prettier issue ( #2087 )
2019-04-09 13:32:48 -04:00
Vincent LE GOFF
734cf781c6
Allow high precision performance.now() ( #1977 )
2019-04-08 16:22:40 -04:00
Ryan Dahl
3995473925
Fix unit_tests.py ( #2065 )
...
They were silently broken in 780e72 due to flag reordering. This commit
also includes a new assert that would avoid that kind of failure in the
future.
2019-04-07 20:58:26 +03:00
Bartek Iwańczuk
780e72ab6a
Refactor CLI flag parsing ( #2025 )
2019-04-07 01:13:06 +03:00
Ryan Dahl
cb11bbd839
Test TCP_NODELAY in hyper_hello ( #2060 )
2019-04-06 16:56:30 +03:00
Ryan Dahl
9e890c260b
Fix tools/docs.py ( #2055 )
2019-04-06 15:54:54 +02:00
andy finch
7a3df0a184
Add worker benchmarks ( #2059 )
2019-04-05 22:57:59 +03:00
Kevin (Kun) "Kassimo" Qian
534b8d3021
Follow redirect location as new referrers for nested module imports ( #2031 )
...
Fixes #1742
Fixes #2021
2019-04-01 21:46:40 -04:00
andy finch
b0a23beb8f
Add web worker JS API ( #1993 )
...
* Refactored the way worker polling is scheduled and errors are handled.
* Share the worker future as a Shared
2019-04-01 15:09:59 -04:00
Kitson Kelly
ada5ffa610
Upgrade to TypeScript 3.4.1 ( #2027 )
2019-04-01 12:47:25 -04:00
Bert Belder
97265895ba
Publish rust crate on crates.io ( #2024 )
2019-03-31 17:22:02 -04:00
Ryan Dahl
6744bb8d75
Call ninja directly from build.rs ( #2020 )
2019-03-30 19:27:00 -04:00
Ryan Dahl
c9614d86c1
Move //libdeno to //core/libdeno ( #2015 )
...
Fixes some sed errors introduced in c43cfe.
Unfortunately moving libdeno required splitting build.rs into two parts,
one for cli and one for core.
I've also removed the arm64 build - it's complicating things at this
re-org and we're not even testing it. I need to swing back to it and get
tools/test.py running for it.
2019-03-30 14:45:36 -04:00
Ryan Dahl
c25e262b04
Merge the --recompile and --reload flags ( #2003 )
2019-03-28 16:05:41 -04:00
Bartek Iwańczuk
5ae78eb1de
Update ts_library_builder ( #1920 )
2019-03-25 00:23:24 -04:00
Bernard Lin
3cc90d9bcf
Add benchmark for max latency ( #1975 )
2019-03-24 23:36:27 -04:00
Ryan Dahl
12753e492f
Website updates ( #1984 )
2019-03-22 11:34:47 -04:00
Ryan Dahl
fa3c35301a
Rename //src/ to //cli/ ( #1962 )
...
To better distinguish the deno_core crate from the executable deno,
which will now be called "the cli" internally.
2019-03-19 12:18:05 -04:00
Ryan Dahl
c7d81fa9ff
Make write_gn_args.py quiet
2019-03-19 03:50:47 -04:00
Ryan Dahl
8f3d0ca664
Deprecate DENO_BUILD_MODE=release
...
Instead use: tools/build.py --release
2019-03-19 03:50:47 -04:00
andy finch
e98d3391de
Re-enable permissions prompt tests ( #1957 )
2019-03-18 18:54:59 -04:00
Ryan Dahl
44773c9b0f
Integrate //core into existing code base
...
This disables a few tests which are broken still:
- tests/error_004_missing_module.test
- tests/error_005_missing_dynamic_import.test
- tests/error_006_import_ext_failure.test
- repl_test test_set_timeout
- repl_test test_async_op
- repl_test test_set_timeout_interlaced
- all of permission_prompt_test
2019-03-18 17:17:08 -04:00
Ryan Dahl
33438b83a2
Re-order tests for sanity
2019-03-18 17:17:08 -04:00
andy finch
08a674bf91
More permissions prompt options ( #1926 )
2019-03-18 16:46:23 -04:00
Ryan Dahl
59ac2063e0
Remove unused tools/build_test.py file
2019-03-18 14:07:24 -04:00
Ryan Dahl
52b7cc5499
Fix entry point for tools/docs.py
2019-03-18 14:07:24 -04:00
Ryan Dahl
1811318097
core: Behavior shouldn't be generic
...
We always pass around Box<[u8]>, and adding this generic is an
unnecessary complication.
Add deno_core_http_bench_test to test.py
sharedQueue works on deno_core_http_bench
2019-03-15 10:58:18 -04:00
Ryan Dahl
76c73ec61e
Add --no-binary-download option to setup.py ( #1916 )
2019-03-15 10:06:17 -04:00
andy finch
7e09221031
--no-prompt flag for non-interactive environments ( #1913 )
2019-03-13 12:43:47 -04:00
Kitson Kelly
75a500ba81
Update to TypeScript 3.3 ( #1908 )
2019-03-11 10:53:18 -04:00
Kitson Kelly
034e2cc028
Migrate from tslint to eslint for linting ( #1905 )
2019-03-09 12:30:38 -05:00
Kitson Kelly
24d6bf6aeb
Remove 'deno' builtin module ( #1895 )
2019-03-07 21:56:56 -05:00
Kitson Kelly
0473d832c1
Cleanup node_modules, update packages ( #1894 )
...
And fix new lint issues.
2019-03-07 08:53:56 -05:00
Andy Hayden
91364cabae
Replace deno.land/x/std with deno.land/std ( #1890 )
2019-03-06 10:23:47 -05:00
Bert Belder
ee29ed79a7
tools/run_node: only create 'node_modules' symlink once
...
Previously run_node.py would always attempt to remove and then re-create
the 'target/xx/node_modules' symlink. This causes sporadic build errors
on windows when multiple build targets that use run_node.py are being
built concurrently.
2019-03-04 21:01:52 -08:00
Bert Belder
860be9f0de
tools: remove fix_symlinks() function
...
This fixes an issue on Windows that causes build to fails when
fix_symlinks() is called concurrently with another build step.
It is also no longer necessary, since recent versions of git know how to
properly create symbolic links on checkout.
2019-03-04 21:01:52 -08:00
Yoshiya Hinosawa
a7bb8ccce8
Add Deno.version.gnArgs ( #1845 )
...
To display specific build args passed to GN.
2019-03-01 19:33:28 -05:00
Ryan Dahl
b8a537d020
deno_core ( #1827 )
...
A new low-level crate with focus on speed.
This doesn't yet hook into the existing code base.
2019-02-26 17:36:05 -05:00
Ryan Dahl
e109941bd2
Improve readme ( #1822 )
2019-02-21 20:22:44 -08:00
Dmitry Sharshakov
4dc4329e27
Add execPath function ( #1743 )
2019-02-15 11:22:02 -05:00
Ryan Dahl
748e456cdb
Use prebuilt hyperfine ( #1755 )
2019-02-14 18:18:24 -05:00
Ryan Dahl
f29c40a433
Decouple ts_library_builder from std/testing ( #1749 )
2019-02-12 15:22:43 -05:00
Ryan Dahl
0b0d962eb9
Revert "Rewrite tools/format.py in deno ( #1528 )" ( #1752 )
...
tools/format.ts is making CI flaky and it's difficult to run right now.
Reverting to tools/format.py
This reverts commit f19622e768
.
2019-02-12 15:20:32 -05:00
Kitson Kelly
a21a5ad2fa
Add Deno global namespace ( #1748 )
...
Resolves #1705
This PR adds the Deno APIs as a global namespace named `Deno`. For backwards
compatibility, the ability to `import * from "deno"` is preserved. I have tried
to convert every test and internal code the references the module to use the
namespace instead, but because I didn't break compatibility I am not sure.
On the REPL, `deno` no longer exists, replaced only with `Deno` to align with
the regular runtime.
The runtime type library includes both the namespace and module. This means it
duplicates the whole type information. When we remove the functionality from the
runtime, it will be a one line change to the library generator to remove the
module definition from the type library.
I marked a `TODO` in a couple places where to remove the `"deno"` module, but
there are additional places I know I didn't mark.
2019-02-12 10:08:56 -05:00
Ryan Dahl
a4dec944bc
web design ( #1728 )
2019-02-11 17:41:13 -05:00
Kevin (Kun) "Kassimo" Qian
489c69f8e1
REPL multiline support with recoverable errors ( #1731 )
2019-02-11 14:01:28 -05:00
Yoshiya Hinosawa
d26655371b
fix: improve formatting ( #1732 )
2019-02-11 12:57:26 -05:00
Kevin (Kun) "Kassimo" Qian
1d36eb47eb
Support scoped variables, unblock REPL async op, and REPL error colors ( #1721 )
2019-02-09 16:55:40 -05:00
Yoshiya Hinosawa
1502051453
Add read permission for format.ts ( #1726 )
2019-02-09 10:55:18 -05:00
J2P
65cafd2edf
Add --allow-read test code
2019-02-09 05:57:41 -05:00
Bert Belder
394b81de15
Move .rustfmt.toml to the repository root
...
This allows rustfmt to automatically pick it up.
It's right there with similar files such as .prettierrc.
2019-02-08 20:06:21 -08:00
Ryan Dahl
526497bc29
Adds deno.noColor ( #1716 )
2019-02-08 22:13:04 -05:00
Yoshiya Hinosawa
4c869dc885
Use std/prettier in deno //tools/format.ts ( #1708 )
2019-02-08 21:38:59 -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
Dmitry Sharshakov
aea7884d11
Make integration tests standalone ( #1671 )
...
Co-authored-by: Sergey Golovin <golovim@gmail.com>
2019-02-07 15:11:03 -05:00
Ryan Dahl
79b95341d9
Upgrade V8 to 7.4.98 (kKeep fix) ( #1640 )
...
* Upgrade V8 to 7.4.98 (kKeep fix)
https://github.com/denoland/deno/issues/814
https://bugs.chromium.org/p/v8/issues/detail?id=8761
* fix tests
2019-02-06 23:43:31 -05:00
Kitson Kelly
48fedee34e
Add WebAssembly to runtime library ( #1677 )
...
This also modifies the `ts_library_builder` to support inlining assets.
Includes integration tests from @sh7dm
2019-02-05 08:12:58 -05:00
Dmitry Sharshakov
181b03273c
Add isTTY function ( #1622 )
2019-02-02 22:05:30 -05:00
Ryan Dahl
18b815e336
Support --fmt
2019-02-02 17:48:43 -05:00
Ryan Dahl
98d20cd178
Make it possible to run one integration test at a time
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
eff7a1484e
Upgrade deno_std to bef7ba ( #1609 )
2019-01-31 18:11:37 -05:00
Ryan Dahl
06c0e29118
Fix cpplint
2019-01-30 15:53:23 -05:00
Ryan Dahl
b9e368cb4c
Add snapshot_compiler.bin to binary size benchmark ( #1611 )
2019-01-30 14:01:13 -05:00
Sergey Golovin
240ca25617
Add repl functions "help" and "exit" ( #1563 )
2019-01-29 14:41:12 -05:00
JaePil Jung
7f88b5fff3
Minor code cleanups ( #1570 )
2019-01-24 10:54:43 -05:00
Yoshiya Hinosawa
77114fbda4
chore: update license lines ( #1557 )
2019-01-21 13:03:30 -06:00
Yoshiya Hinosawa
f19622e768
Rewrite tools/format.py in deno ( #1528 )
...
Note: findFiles and findFilesWalk are borrowed from the previous
attempt of @pseudo-su (#1434 )
2019-01-17 15:09:44 -05:00
J2P
befc6b2e76
Fixed copyright of types output
2019-01-17 14:44:31 -05:00
Kitson Kelly
00b655add1
Add globalThis definition to runtime ( #1534 )
2019-01-16 17:57:15 -05:00
Kevin (Kun) "Kassimo" Qian
c870cf4082
Add --prefetch flag for deps prefetch without running ( #1475 )
2019-01-15 12:19:58 -05:00
Ryan Dahl
8ae178e9ce
Fix permission_prompt_test ( #1509 )
2019-01-13 12:09:45 -05:00
JaePil Jung
37e3db00a2
Add --allow-run test code ( #1504 )
2019-01-12 11:29:45 -05:00
Maxim Mazurok
3634488caa
Fix flaky REPL test ( #1491 )
...
Fixes #1490
2019-01-09 15:32:05 -05:00
Ryan Dahl
4f62a56f90
Move testing module to deno_std ( #1451 )
...
Upgrades deno_std submodule.
2019-01-03 14:55:22 -05:00
Kevin (Kun) "Kassimo" Qian
8d452d74fa
Support more fetch init body types ( #1449 )
2019-01-03 06:41:20 -05:00
Ryan Dahl
2c477dd7cb
Happy new year!
2019-01-02 02:37:08 +01:00
Kevin (Kun) "Kassimo" Qian
73fb98ce70
Lazily create .mime files only with mismatch/no extension ( #1417 )
2018-12-27 20:40:06 +00:00
Ryan Dahl
32e1641628
deno_net -> deno_std rename
...
Also don't format external js/deps
2018-12-24 11:31:17 -05:00
Kevin (Kun) "Kassimo" Qian
cbee2895b3
Implement Body.formData
for fetch ( #1393 )
2018-12-21 17:09:53 -05:00
Ryan Dahl
aa66ef98ea
travis: Set CARGO_HOME to third_party/rust_crates ( #1370 )
...
Adds prebuilt hyperfine and sccache binaries
Only build test_cc for LSAN
Add Cargo.lock
Only run benchmarks in master
2018-12-18 21:09:30 -05:00
Ryan Dahl
7a0d9370e8
Load sccache from S3 on CI
2018-12-18 15:15:08 -05:00
Bert Belder
b40326875c
Remove prebuilt v8 support
2018-12-18 15:15:08 -05:00
Ryan Dahl
0481d6c2c0
Enable jumbo build in release. ( #1362 )
2018-12-18 09:16:49 -05:00
Ryan Dahl
bba1a0d44a
tools: remove_and_symlink can be skipped on unix
...
This is more optimial and this fixes a problem where occasionally
remove_and_symlink will error with:
gen/compiler_bundle/main.js --sourcemapFile /Users/rld/src/deno --silent
Traceback (most recent call last):
File "../../tools/run_node.py", line 18, in <module>
util.remove_and_symlink(target_rel, "node_modules", True)
File "/Users/rld/src/deno/tools/util.py", line 103, in remove_and_symlink
symlink(target, name, target_is_dir)
File "/Users/rld/src/deno/tools/util.py", line 141, in symlink
os.symlink(target, name)
OSError: [Errno 17] File exists
2018-12-11 15:07:38 -05:00
Ryan Dahl
9a960b9f58
Use stderr for exceptions ( #1303 )
2018-12-10 17:50:41 -05:00
Bartek Iwańczuk
ba429ccde8
Add benchmark for net/http ( #1289 )
2018-12-07 16:36:16 -05:00
Kitson Kelly
6cc89b9e27
Use alternate TextEncoder/TextDecoder implementation ( #1281 )
...
This is faster and smaller.
2018-12-06 10:01:15 -08:00
Ryan Dahl
8373046719
Add LSAN build to travis.
...
For now it only runs test_cc and has to filter out a test which leaks.
However we will expand this over time until the entire build is LSAN clean.
2018-12-03 15:31:06 -08:00
Bert Belder
7d02971c2c
third_party: symlink //third_party/v8/build => //build
2018-12-03 12:14:05 -08:00
Ryan Dahl
c5d8cf8eb6
Use pylint.
2018-11-30 11:33:45 -08:00
Ryan Dahl
122ccce89a
Fix flaky REPL test.
2018-11-30 09:23:04 -08:00
Ryan Dahl
cc126528f0
Add prebuilt/win/v8_debug.lib ( #1249 )
...
The windows debug build was broken due to libc link errors.
2018-11-29 23:25:59 -08:00
Ryan Dahl
1ac2934604
Make //build a git submodule
...
So we can float patches before sending them upstream.
https://github.com/denoland/chromium_build
Remove build_extra/toolchain
2018-11-29 23:12:38 -08:00
Ryan Dahl
84a1b4d793
Move libdeno build config to libdeno/BUILD.gn
2018-11-29 17:46:09 -08:00
Andy Hayden
e6309b78b0
Cleanup setTimeout repl test and alphabetize tests
2018-11-29 11:53:17 -08:00
Kevin (Kun) "Kassimo" Qian
09aa9b9698
REPL unblock event loop AND fix REPL setTimeout fire problems
2018-11-28 15:25:30 -08:00
Ryan Dahl
89096c9210
Use prebuilt V8 library by default.
...
This still retains the ability to build V8 from scratch, with an number
of configurations. The prebuilt binaries were created using
DENO_BUILD_MODE=release ./tools/build.py v8
2018-11-27 15:47:31 -08:00
Ryan Dahl
65cce40a89
gitignore vim .swp files
2018-11-27 15:47:31 -08:00
Bert Belder
48bf4062e4
First pass at running subprocesses ( #1156 )
2018-11-16 12:07:40 +08:00
Ryan Dahl
765863e87a
Add a simple doc generation tool.
...
And website upload tool.
2018-11-14 17:34:28 -08:00
Kitson Kelly
34b6b86c76
Ensure global type instances are available.
2018-11-09 08:39:49 -08:00
Ryan Dahl
a18e51fd61
build: Use target/ instead of out/ ( #1153 )
2018-11-08 10:38:20 -08:00
Andy Hayden
e9327be831
Support repl multiline input ( #1165 )
2018-11-06 11:19:16 -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
Kitson Kelly
5e48a681c4
Fix issue with runtime lib generation.
2018-11-05 07:17:47 -08:00
Kitson Kelly
4e07783663
Improve integration test harness ( #1142 )
2018-11-04 11:52:31 -08:00
Kitson Kelly
765f229357
Improve robustness of lib builder.
2018-11-04 05:56:49 -08: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
Ryan Dahl
0fbee30f05
Make format.py less verbose.
2018-10-30 17:42:19 -07:00
Kevin (Kun) "Kassimo" Qian
a68403d090
Add application/x-typescript mime type support
2018-10-28 11:18:53 -07:00
Ryan Dahl
6adc87e3eb
Ergonomics: Prompt TTY for permission escalation ( #1081 )
2018-10-27 06:11:39 -07:00
Bert Belder
dfe21af237
Disable treat_warnings_as_errors on windows when sccache is in use
2018-10-26 04:14:37 +02:00
Ryan Dahl
231bb9cfb6
Add error_001.ts to execution time benchmarks.
...
Ref #1087
2018-10-25 16:12:52 -07:00
Ryan Dahl
3438dbe350
Remove deno_ns
2018-10-24 14:52:38 -07:00
Ryan Dahl
a4fb5175ce
Add node_tcp target to http_benchmark. ( #1074 )
2018-10-23 15:02:30 -07:00
Bert Belder
e9bf206416
format: don't format files in third_party
...
It's annoying, and it also makes appveyor slow because it will re-upload
the third_party cache every time something changes in there.
2018-10-23 18:51:06 +02:00
Bert Belder
0dda87f962
third_party: install yapf with pip
2018-10-23 16:51:54 +02:00
Bert Belder
4ceb205512
Bundle pywin32 in third_party
2018-10-23 16:29:46 +02:00
Kitson Kelly
8ef7da2611
Enforce media types
2018-10-23 04:48:00 -07:00
Kitson Kelly
64f0dfd50e
Improve globals for runtime type library
2018-10-22 19:37:38 -07:00
Ryan Dahl
47c96a6152
CI should fail when code isn't formatted.
2018-10-21 13:59:53 -07:00
Ryan Dahl
bb9a927bd5
Add yapf to third_party.
2018-10-21 13:59:53 -07:00
Kyra
fbb3f05b6f
Add URLSearchParams ( #1049 )
2018-10-21 08:07:29 -07:00
Kevin (Kun) "Kassimo" Qian
86409eb836
Add Rust hyper http benchmark ( #1043 )
...
* Add go net/http benchmark
* Forget about Go. Let's do Rust Hyper
* Update BUILD.gn
* Rename
2018-10-20 19:56:16 -07:00
Yoshiya Hinosawa
f44ecdff97
feat: show only 20 benchmark data in inde.html
2018-10-20 08:07:20 -04:00
Ryan Dahl
00884d7164
Add rustfmt to third_party.
2018-10-20 01:19:59 -04:00
Andy Hayden
2d583f85ee
Exit http_server.py if it's crashed
2018-10-20 00:27:37 -04:00
ztplz
b809a82fd9
Add missing copyrights ( #1024 )
2018-10-19 15:25:29 -04:00
J2P
198fa31ec1
Fix a typo in http_benchmark.py
2018-10-19 09:07:55 -04:00
Ryan Dahl
213885a9d0
Optimization: Reuse ArrayBuffer during serialization.
2018-10-17 20:20:06 -04:00
Ryan Dahl
4e2e185de7
Add tools/build_test.py
2018-10-17 20:20:06 -04:00
Ryan Dahl
21bcdd49cd
Only run deno during ./tools/http_benchmark.py
2018-10-17 16:02:00 -04:00
Yoshiya Hinosawa
d4afbe6ef3
improve benchmark page performance and fix test ( #1002 )
2018-10-16 12:00:47 -04:00
Amos Lim
a90cf4c2ee
Interrupt http_server.py by ctrl + c ( #1001 )
2018-10-16 11:54:08 -04:00
Ryan Dahl
c61a0f2f84
First pass at http benchmark.
2018-10-16 09:37:38 -04:00
Ryan Dahl
62962e71fe
Fix throughput_benchmark
2018-10-16 09:37:38 -04:00
Ryan Dahl
590feb1c71
Format
2018-10-16 09:37:38 -04:00
Jinho Bang
28682a1d2c
Fix a binary size regression
...
This patch changes Jumbo build to use only in debug mode.
2018-10-15 14:22:15 -04:00
Kitson Kelly
25c97962f4
Update to TypeScript 3.1 and ts-simple-ast 17 ( #980 )
2018-10-15 12:47:48 -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
Kitson Kelly
298d755152
Add support for --types
2018-10-11 20:29:43 -04:00
Kitson Kelly
ec402c6932
Replace globals.d.ts with lib.deno_runtime.d.ts
2018-10-11 20:29:43 -04:00
Ryan Dahl
d4f72e18be
Improve tools/unit_tests.py ( #958 )
...
Checks the output more carefully. The first line of output from
js/unit_tests.ts should be something like "running 96 tests"
And the last line should be something like
"test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 36
filtered out"
This parses those strings and make sure they align.
This will catch silent death bugs.
2018-10-11 16:56:50 -04:00
Ryan Dahl
c814d5a914
Add throughput benchmark ( #961 )
2018-10-11 16:55:22 -04:00
Bartek Iwańczuk
51f9331ecb
Add deno.metrics()
2018-10-11 15:45:51 -04:00