1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00
Commit graph

673 commits

Author SHA1 Message Date
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