1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 15:49:44 -05:00
Commit graph

447 commits

Author SHA1 Message Date
Kevin (Kun) "Kassimo" Qian
bca23e6433 refactor: Elevate DenoPermissions lock to top level (#3398) 2019-11-24 10:42:30 -05:00
Kitson Kelly
9e97eb2879 Make private namespaces in lib.deno_runtime.d.ts more private (#3400) 2019-11-24 10:36:49 -05:00
Bartek Iwańczuk
c6bb3d5a10 remove tokio_util::block_on (#3388)
This PR removes tokio_util::block_on - refactored compiler and file 
fetcher slightly so that we can safely block there - that's because 
only blocking path consist of only synchronous operations.

Additionally I removed excessive use of tokio_util::panic_on_error 
and tokio_util::run_in_task and moved both functions to cli/worker.rs, 
to tests module.

Closes #2960
2019-11-22 12:46:57 -05:00
Bartek Iwańczuk
363b968bfc minor clean ups in TS compiler (#3394) 2019-11-22 12:14:34 -05:00
Kitson Kelly
8d977d0117 feat: Support named exports on bundles. (#3352) 2019-11-20 11:02:08 -05:00
Bartek Iwańczuk
1912ed6740 remove tokio_util::block_on from ops/workers.rs (#3381) 2019-11-19 19:17:05 -05:00
Bartek Iwańczuk
2ac107f548 fix: use AF_INET6 in ./tools/http_server.py (#3374) 2019-11-19 12:56:37 -05:00
Bartek Iwańczuk
f437521afb chore: remove unneeded tokio deps (#3376) 2019-11-18 21:11:50 -05:00
罗文
542ec461c4 feat: add --check for deno fmt (#3369) 2019-11-18 13:19:59 -05:00
Bartek Iwańczuk
f356b2bd5e refactor: fixes for futures (#3363)
After landing #3358 the benchmarks exploded indicating problems with workers and deno_core_http_bench.

This PR dramatically fixes thread/syscall count that showed up on benchmarks. Thread count is not back to previous levels but difference went from hundreds/thousands to about ~50.
2019-11-17 08:14:50 -05:00
Kevin (Kun) "Kassimo" Qian
2b3afda625 Use async to replace FutureExt in lib.rs (#3359) 2019-11-16 23:25:12 -05:00
Bartek Iwańczuk
8f9a942cb9 Use futures 0.3 API (#3358) 2019-11-16 19:17:47 -05:00
罗文
cb00fd6e98 fmt: respect prettierrc and prettierignore (#3346) 2019-11-16 11:48:45 -05:00
Bartek Iwańczuk
34ed16ed3a run std test with cargo test (#3344)
Removes three CI jobs
2019-11-15 13:31:53 -05:00
Kevin (Kun) "Kassimo" Qian
306ab015e8 Fix remote .wasm import content type issue (#3351) 2019-11-15 00:14:08 -05:00
Ryan Dahl
0fffef8e5a v0.24.0 2019-11-14 22:52:58 -05:00
Ry Dahl
4902a1cacb
Turn on TS strict mode for deno_typescript (#3330) 2019-11-14 15:05:36 -05:00
Bartek Iwańczuk
8b90b8e883 refactor: per-worker resource table, take 2 (#3342)
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker`
  in `State`
- renames `CliResource` to `StreamResource` and moves all logic related
  to it to `cli/ops/io.rs`
- removes `cli/resources.rs`
- adds `state` argument to `op_read` and `op_write` and consequently adds
  `stateful_minimal_op` to `State`
- IMPORTANT NOTE: workers don't have access to process stdio - this is
  caused by fact that dropping worker would close stdout for process
  (because it's constructed from raw handle, which closes underlying file
  descriptor on drop)
2019-11-14 12:10:25 -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
Ryan Dahl
fdf0ede2ac Revert "refactor: per-worker resource table (#3306)"
This patch does not work with the recent bundler changes (#3325).
Unfortunately I didn't merge master before landing this patch. It has
something to do with console.log not working inside the compiler worker.

This reverts commit fd62379eaf.
2019-11-13 23:42:35 -05:00
Bartek Iwańczuk
fd62379eaf refactor: per-worker resource table (#3306)
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker`
  in `State`
- renames `CliResource` to `StreamResource` and moves all logic related
  to it to `cli/ops/io.rs`
- removes `cli/resources.rs`
- adds `state` argument to `op_read` and `op_write` and consequently adds
  `stateful_minimal_op` to `State`
- IMPORTANT NOTE: workers don't have access to process stdio - this is
  caused by fact that dropping worker would close stdout for process
  (because it's constructed from raw handle, which closes underlying file
  descriptor on drop)
2019-11-13 22:16:57 -05:00
Ryan Dahl
af448e864c Revert "tests: share http server between tests (#3336)"
This reverts commit dbf861f8a0.
2019-11-13 21:00:56 -05:00
Bartek Iwańczuk
dbf861f8a0 tests: share http server between tests (#3336)
Re-enable flaky tests
2019-11-13 18:48:34 -05:00
Ry Dahl
dab5457870 Disable flaky tests lock_check_ok2 again (#3334)
Mistakenly re-enabled in #3275.
2019-11-13 13:34:39 -08: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
Ry Dahl
279191ad94
Disable flaky tests lock_check_ok2 and lock_check_err2 (#3331) 2019-11-13 12:48:17 -05:00
罗文
80b1371548 fmt: allow configuration of Prettier options (#3314) 2019-11-13 11:21:17 -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
木杉
0f33bf6885 fix url parse bug (#3316) 2019-11-12 13:45:48 -05:00
罗文
7ba42ee4a6 flags: bump deno_std to v0.23.0 (#3322) 2019-11-12 08:34:09 -05:00
Yoshiya Hinosawa
31115067cd Add permissions.request (#3296) 2019-11-11 10:33:29 -05:00
Bartek Iwańczuk
335e8bd33c refactor: worker is no longer a resource (#3290) 2019-11-09 12:07:14 -08:00
Nayeem Rahman
d586f119fa net: Check for closing status when iterating Listener (#3309)
std/http/server.ts: Use listener.next() instead of listener.accept()
2019-11-09 14:40:22 -05:00
Yoshiya Hinosawa
54f23b7caa test: re-enable integration test 045 (#3300)
This test was improved in #3185.
2019-11-08 20:11:22 -08:00
Ryan Dahl
964b84091a disable flaky test 2019-11-08 17:27:09 -05:00
Bert Belder
adab69bccc
Upgrade rust crates (#3292) 2019-11-07 16:21:51 -08:00
Bartek Iwańczuk
c57207e96a refactor: move Child resource to ops/process.rs (#3291) 2019-11-07 18:52:21 -05:00
Ryan Dahl
e1d1836854 disable flaky test 2019-11-07 17:58:05 -05:00
Ry Dahl
2cf0866ba3 upgrade: Rust 1.39.0 (#3286) 2019-11-07 11:21:45 -08:00
Bartek Iwańczuk
25c276055b refactor: remove cli::resources::Resource (#3285) 2019-11-07 11:11:15 -05:00
Bartek Iwańczuk
415d4c2e52 refactor: rewrite accept resources (#3271) 2019-11-07 09:59:02 -05:00
Ry Dahl
5c1deac0cf
Remove CoreResource::inspect_repr method (#3274)
Towards simplifying (or better removing entirely) the CoreResource
trait. Resources should be any bit of privileged heap allocated memory
that needs to be referenced from JS, not very specific trait
implementations. Therefore CoreResource should be pushed towards being
as general as possible.
2019-11-06 12:17:28 -05:00
Ry Dahl
adc3467c9c
Disable flaky tests (#3270) 2019-11-05 15:45:00 -05:00
Ryan Dahl
a611788834 v0.23.0 2019-11-04 19:46:27 -05:00
Ry Dahl
1726194452
Revert "reduce redundancies in the fetch code (#3249)" (#3264)
Max latency benchmark went to zero for deno_proxy.

This reverts commit 65e9179672
2019-11-04 19:10:54 -05:00
Ry Dahl
c04ff22afe
Remove tsconfig files - they are not part of build process (#3262) 2019-11-04 18:13:28 -05:00
Bartek Iwańczuk
0049d4e50c Refactor Worker and ThreadSafeState (#3242)
* Split ThreadSafeState into State and GlobalState. State is a "local"
  state belonging to "Worker" while "GlobalState" is state shared by
  whole program.
* Update "Worker" and ops to use "GlobalState" where applicable
* Move and refactor "WorkerChannels" resource
2019-11-04 10:38:52 -05:00
Ry Dahl
86b3ac5108
feat: lockfiles (#3231)
Use --lock-write=lock.json or --lock-check=lock.json on the command
line.
2019-11-03 10:39:27 -05:00
Nick Stott
65e9179672 reduce redundancies in the fetch code (#3249) 2019-11-02 11:47:55 -04: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
Kevin (Kun) Kassimo Qian
9d6cbb73a8
cli: replace timer map with red-black tree (#3218)
This avoids a crash when the Deno process has been running for
2**32 ms (about 50 days). Additionaly, time complexity of finding which
timer is due to fire next is reduced from from O(n) to O(log n).
2019-10-31 17:11:58 -07:00
Sven Nicolai Viig
d7a5aed511 Adds custom inspect method for URL (#3241) 2019-10-31 14:55:54 -04:00
Yoshiya Hinosawa
4f8c936974 Make EOF unique symbol (#3244) 2019-10-31 10:57:09 -04:00
Ry Dahl
8f571ef166
Remove TTY tests - dead code (#3229) 2019-10-29 17:52:57 -04:00
Andy Hayden
3c2399e437 Use top-level await in jsdoc examples (#3239) 2019-10-29 17:11:41 -04:00
Andy Hayden
49e04fb240 fix race condition in test http server (#3237) 2019-10-29 16:06:14 -04:00
Bartek Iwańczuk
a7992e7703 refactor: use core ResourceTable in cli (#3206) 2019-10-28 20:42:44 -04:00
Kevin (Kun) "Kassimo" Qian
2f0f236d56 Prevent customInspect error from crashing console (#3226) 2019-10-28 18:29:15 -04:00
Ryan Dahl
71efe6f2c5 v0.22.0 2019-10-28 14:12:12 -04:00
Nick Stott
65d9286203 Re-enable basic stream support for fetch bodies (#3192)
* Add sd-streams from https://github.com/stardazed/sd-streams/blob/master/packages/streams/src/

* change the interfaces in dom_types to match what sd-streams expects
2019-10-28 12:41:36 -04:00
Rory Malcolm
967c236fa5 Add CustomInspect for Headers (#3130)
Worth noting due to implementation of the Headers class the contents of headersMap have lowercase keys, although this matches the specification as header keys are case agnostic it does seem to not match behaviour of other implementations in other languages I have seen, would require some rewriting of Headers.ts
2019-10-28 12:23:39 -04:00
Yoshiya Hinosawa
efd7e78af3 Use web standard Permissions API (#3200) 2019-10-27 11:22:53 -04:00
Andy Hayden
aec5a646c9 feat: top-level-for-await (#3212) 2019-10-27 09:04:42 -04:00
Kevin (Kun) "Kassimo" Qian
6869bfa4c6 Support named imports/exports for subset of properties in JSON modules (#3210) 2019-10-26 21:04:34 -04:00
Kitson Kelly
c5fe657dd3 Use a more performant utf8 decoder algorithm. (#3204)
Fixes #3163

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
Co-authored-by: Qwerasd <qwerasd205@users.noreply.github.com>
2019-10-26 10:51:53 -04:00
Bartek Iwańczuk
dfcdc03152 fix: handle malformed control buffers (#3202) 2019-10-25 13:23:16 -04:00
Bartek Iwańczuk
492b87d460 Add error handling for minimal dispatch (#3176) 2019-10-24 17:22:31 -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
EnokMan
7c60ab4664 refactor DenoPermissions.check_net & resolve_addr (#3182) 2019-10-23 10:19:26 -04:00
Yoshiya Hinosawa
2804ba8674 remove --no-prompt flag, fail on missing permissions (#3183) 2019-10-22 19:35:43 -04:00
Ry Dahl
dc80dd2ace
Add TextDecoder benchmark (#3180) 2019-10-22 18:50:56 -04:00
Yoshiya Hinosawa
ec44b5b6af test: improve http_proxy test (#3185) 2019-10-22 09:52:41 -04:00
Bartek Iwańczuk
6c5a981fd2 feat: Deno.listenTLS (#3152) 2019-10-21 14:38:28 -04:00
Ry Dahl
1f52c66ced Fix build warning (#3146) 2019-10-21 11:20:58 -07:00
Yusuke Sakurai
f1fa3bd792 update: use v0.21.0 for subcommands (#3168) 2019-10-21 13:11:19 -04:00
Ryan Dahl
4e88ba9a11 v0.21.0 2019-10-19 18:46:02 -04:00
Kevin (Kun) "Kassimo" Qian
eff2a27bd0 feat: Allow "deno eval" to run code as module (#3148) 2019-10-19 17:19:19 -04:00
Ry Dahl
4ae1838a6e
Fix clearTimer bug (#3143) 2019-10-19 17:09:24 -04:00
Kevin (Kun) "Kassimo" Qian
b112e14b16 chore: remove xevalDelim from Start interface (#3147) 2019-10-19 02:38:59 -04:00
Michał Sabiniarz
75ec9426f3 feat: --reload flag to take arg for partial reload (#3109)
Example: To reload only std modules --reload=https://deno.land/std/
2019-10-17 10:29:06 -04:00
Yusuke Sakurai
c1b302d769 fix: remote jsx/tsx files were compiled as js/ts (#3125) 2019-10-16 13:35:04 -04:00
Ryan Dahl
ddbfe9b5aa Add debug build to github actions
This disabled the tty_tests which seem to be very flaky with the debug
build.
2019-10-15 11:50:01 -04:00
Bartek Iwańczuk
4221b90c3f perf: eager poll async ops in Isolate (#3046) 2019-10-14 17:46:27 -04:00
Yusuke Sakurai
6056595357 fix: [tls] op_dial_tls is not registerd and broken (#3121) 2019-10-13 10:37:37 -04:00
Bartek Iwańczuk
b3331e81d9 support --allow-net=:4500 (#3115) 2019-10-12 14:13:52 -07:00
Ryan Dahl
4b7204babe Update various links to deno_std (#3096) 2019-10-12 12:23:58 -07:00
Ryan Dahl
97d8498d46
Add init methods for each op module (#3087) 2019-10-11 11:41:54 -07: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
Ryan Dahl
a4b27db21a v0.20.0 2019-10-07 12:57:29 -04:00
Bartek Iwańczuk
41ed4cd34e use single thread runime in tokio_util::block_on (#3080) 2019-10-07 04:31:56 -04:00
Bartek Iwańczuk
e1d49fe0fe remove more calls to tokio_util::block_on (#3059)
towards #2960
2019-10-06 15:03:30 -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
Nayeem Rahman
eecb4fea26 Use xeval from deno_std (#3058) 2019-10-04 09:02:36 -04:00
Andy Hayden
f7bbd71e21 Update rust to 1.38.0 (#3030) 2019-10-03 09:16:06 -04:00
Kitson Kelly
d9ff4eccb5 Async compiler processing (#3043)
Basically this does pre-processing of TypeScript files and gathers all the
dependencies asynchronously. Only then after all the dependencies are gathered,
does it do a compile, which at that point all the dependencies are cached in
memory in the compiler, so with the exception of the hard coded assets, there
are no ops during the compilation.

Because op_fetch_source_files is now handled asynchronously in the runtime, we
can eliminate the tokio_util::block_on() which was causing the increase in
threads. Benchmarking on my machine has shown about a 5% improvement in speed
when dealing with compiling TypeScript. Still a long way to go, but an
improvement.

In theory the module name resolution and the fetching of the source files could
be broken out as two different ops. This would prevent situations of sending the
full source file all the time when actually the module is the same module
referenced by multiple modules, but that could be done subsequently to this.
2019-10-03 07:23:29 -04:00
Jed Fox
99eec73b4b feat: Add support for passing a key to Deno.env() (#2952)
This adds a new op to get a single env var.
2019-10-02 11:55:28 -04:00
Bartek Iwańczuk
c920c5f62a feat: window.onunload (#3023) 2019-10-02 11:32:51 -04:00
Yusuke Sakurai
d32f39f2ec feat: JSX Support (#3038) 2019-10-02 10:46:36 -04:00