Commit graph

6752 commits

Author SHA1 Message Date
Bartek Iwańczuk ad9fd589d4
core: factor out EsIsolate from Isolate (#3613) 2020-01-07 12:45:44 +01:00
Ry Dahl 29df272133
error on warnings (#3612) 2020-01-06 11:38:56 -05:00
Bartek Iwańczuk 870622d3cc
merge libdeno::DenoIsolate into core::Isolate (#3605) 2020-01-06 16:24:44 +01:00
Bert Belder 52a0f3a5ef
Upgrade rust crates and modernize hyper_hello (#3606) 2020-01-05 23:12:35 +01:00
Ry Dahl 76e44ddfd0
Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
Ry Dahl 5f1df038fb
Replace libdeno with rusty_v8 (#3556) 2020-01-05 09:19:29 -05:00
Luca Casonato c41280a057 perf: TextEncoder.encode improvement (#3596) 2020-01-04 17:00:03 -05:00
Luca Casonato 0a900949c8 Added textencoder benchmark (#3589) 2020-01-04 05:21:06 -05:00
Gurwinder Singh 9f6bab6010 Use async at places, use &self instead of self: &Self (#3594) 2020-01-04 05:20:52 -05:00
Ryan Dahl a61966a243 v0.28.1 2020-01-03 09:04:04 -05:00
Bartek Iwańczuk 5e61af7447
chore: disable default reqwest features (#3586) 2020-01-03 14:15:19 +01: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
Gurwinder Singh b0761138e5 Remove unnecessary use of Pin, use ready! (#3576) 2020-01-02 13:11:33 -05:00
Ry Dahl 328fef9cd6
v0.28.0 2020-01-02 08:41:25 -05:00
EnokMan d4f2fda623 fix typos (#3573) 2020-01-02 07:48:46 -05:00
Gurwinder Singh 55add2d366 cleanup after tokio upgrade (#3571)
tokio_util::run and tokio::run_on_current_thread should accept Future<Output=()> instead of Future<Output=Result<(), ()>>. Currently, all the passed futures have to add Ok(()) or futures::future::ok(()) unnecessarily to call this method.
2020-01-01 09:51:27 -05:00
Bartek Iwańczuk 4258ed262f
refactor: move HttpBody to cli/http_util.rs (#3569) 2019-12-31 15:09:58 +01:00
Bartek Iwańczuk 05dce90165
bump reqwest to 0.10.0 (#3567) 2019-12-30 20:14:52 +01:00
Bartek Iwańczuk 011d485ce5
use shared HTTP client (#3563)
This commit moves HTTP client to lazy_static. Effectively HTTP client is shared by whole Deno process and will reuse connections.
2019-12-30 15:58:25 +01:00
Bartek Iwańczuk 46d76a7562
upgrade: Tokio 0.2 (#3418) 2019-12-30 14:57:17 +01:00
Kevin (Kun) "Kassimo" Qian df1665a8fc net: expose shutdown TS def (#3560) 2019-12-30 11:30:20 +01:00
Kevin (Kun) "Kassimo" Qian 176d1ff12e net: expose shutdown() and ShutdownMode (#3558) 2019-12-29 10:20:23 -05:00
Alexandre Szymocha 4d4908dde3 Fix: allow reading into a 0-length array (#3329) 2019-12-28 08:48:36 -05:00
Kevin (Kun) "Kassimo" Qian 43fb24f4cd Drop unnecessary Object.assign from createResolvable() (#3548) 2019-12-24 21:59:46 -05:00
Axetroy 3bb15ceaea Upgrades rust to 1.40.0 (#3542) 2019-12-23 09:59:44 -05:00
Nayeem Rahman f07ffe8980 feat: Add Deno.dir("executable") (#3526) 2019-12-21 06:30:13 -05:00
Nayeem Rahman f4f4c6bcb4 fix: Use sync ops when clearing the console (#3533) 2019-12-21 03:58:28 -05:00
Nayeem Rahman b7b0668c78 feat: Return null on error in Deno.dir() (#3531) 2019-12-20 19:06:07 -05:00
Kevin (Kun) "Kassimo" Qian 9ef0b18eb0 repl: do not crash on async op reject (#3527) 2019-12-20 00:04:14 -05:00
Ryan Dahl fcae4a7c0d v0.27.0 2019-12-18 18:48:41 -05:00
Ry Dahl 077b6f7672
Reduce all directory functions to Deno.dir() (#3518) 2019-12-18 09:29:00 -05:00
Yoshiya Hinosawa 3115781e43 feat: show detailed version with --version (#3507) 2019-12-15 21:38:34 +08:00
Axetroy de94698915 Feat: Add more dir APIs for Deno (#3491) 2019-12-15 13:14:20 +08:00
Gurwinder Singh 22a2afe558 Use async-await at few places, fix spelling mistake (#3499) 2019-12-15 06:12:34 +08:00
Axetroy 83f95fb8df fetch support URL instance as input (#3496) 2019-12-14 20:49:30 +08:00
Axetroy 8cf470474f flag: upgrade std to v0.26.0 (#3492) 2019-12-14 10:00:29 +08:00
Kevin (Kun) "Kassimo" Qian ec7f3ce1c2 timer: due/now Math.max instead of min (#3477) 2019-12-10 12:21:30 +01:00
Luca Casonato 7144bbed34 fix: plugin ops should change op count metrics (#3455) 2019-12-08 04:09:09 +08:00
Ryan Dahl 0ce9011edc v0.26.0 2019-12-05 21:41:16 -05:00
Ry Dahl e6228bc3c4
Revert "Synchronize deno and deno_std versions" (#3446)
Preventing release v0.26.0
This reverts commit 81efa9d938.
2019-12-05 21:14:46 -05:00
Andy Finch 7c3b9b4f4f feat: first pass at native plugins (#3372) 2019-12-05 15:30:20 -05:00
Kevin (Kun) "Kassimo" Qian 3293725131 Timer/microtask ordering fix (#3439) 2019-12-03 22:19:03 -05:00
Nayeem Rahman 91da410fc3 feat: Add --no-remote, rename --no-fetch to --cached-only (#3417) 2019-12-03 17:48:53 -05:00
Ry Dahl ee013102ff
remove duplicated argv member from ThreadSafeGlobalState (#3433) 2019-12-03 17:23:10 -05:00
Andy Finch 00844b4142 fix some typos in permissions (#3436) 2019-12-03 12:22:51 -05:00
Bartek Iwańczuk 136b5e3da2 disable eager polling for ops (#3434) 2019-12-02 12:21:32 -08:00
木杉 537c6b3ed9 fix realpath behavior in windows (#3425) 2019-12-01 11:23:35 -08:00
Axetroy 81efa9d938 synchronize deno and deno_std versions (#3415) 2019-11-29 19:03:55 -08:00
Kevin (Kun) "Kassimo" Qian 3451c5fb55 Tweaks to arg_hacks and add v8-flags to repl (#3409) 2019-11-26 20:25:14 -08:00
Ryan Dahl 2cd22b5437 v0.25.0 2019-11-26 10:01:59 -08:00
Bartek Iwańczuk 9712e0c315 better error messages for 'relative import path not prefixed with / or ./ or ../' (#3405) 2019-11-26 09:14:04 -08:00
Ry Dahl c016684653
refactor: reorganize flags (#3389)
- Remove ability to specify run arguments like `--allow-net` after the
  script argument. It's too hacky to make work with clap.
- Remove `--v8-options`, instead use `--v8-flags=--help`
- Give more descriptive names to unit tests in flags.rs
- Assume argv and subcommand into DenoFlags struct so the output of
  flags module is only DenoFlags rather than the tuple (subcommand, flags,
  argv).
- Improve CLI help text
- Make `deno run` specific args like `--allow-net` only show up in 'deno
  help run' instead of as global flags in `deno help`.
- Removes `deno version` to simplify our implementation and be closer to
  clap defaults. `deno -V` now only shows Deno's version and not V8's nor
  TypeScript. `Deno.versions` can be used to see that information.
- Prevent clap from auto-detecting terminal width and attempting to wrap
  text.
2019-11-26 08:06:32 -08:00
Kevin (Kun) "Kassimo" Qian f88dc4e197 Add Deno.realpath (#3404) 2019-11-26 00:40:57 -08:00
Bartek Iwańczuk 658ec2aaf9 better error message for missing module (#3402) 2019-11-25 09:33:23 -05:00
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
Bartek Iwańczuk 75eeac03f3 use Isolate::register_op in deno_cli (#3039) 2019-10-01 18:51:05 -04:00
Ryan Dahl ae26a9c7a2
Support top-level-await in TypeScript (#3024) 2019-09-30 12:38:23 -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
Bartek Iwańczuk 3a982a014b bump deno_std deps (#3034) 2019-09-28 15:14:49 -04:00
Kevin (Kun) "Kassimo" Qian 6efca6d1a1 Add Deno.hostname() (#3032) 2019-09-27 19:09:42 -04:00
Ryan Dahl 3892cf5901 v0.19.0 2019-09-25 10:58:35 -04:00
Kitson Kelly 3d2d0ee771 Handle uncaught worker errors without panicking (#3019) 2019-09-25 10:46:58 -04:00
Bartek Iwańczuk 112ce0df1f test: add HTTP_PROXY tests (#2977) 2019-09-24 18:52:01 -04:00
Ryan Dahl a497f87b59
Upgrade V8 for top-level-await (#3015) 2019-09-24 18:37:04 -04:00
Bartek Iwańczuk 2201414a7a fix: run missing integration tests (#2997) 2019-09-24 10:46:57 -04:00
Jonathon Orsi 045e74bb39 feat: Add Deno.dialTLS()
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-23 15:12:42 -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
Bert Belder 93b7acf99d
js: reschedule global timer if it fires earlier than expected (#2989)
When the global timer fires earlier than expected, which apparently
happens sometimes on server editions of Windows, we didn't call any
setTimeout callbacks, but we *also* didn't reschedule the global timer
to fire again later.

When this situation occurred it would make deno exit abruptly if there
were no other asynchronous ops running on the event loop. It could also
lead to application hangs if the upcoming setTimeout callback was
critical for the application to make progress.
2019-09-20 19:00:12 +02:00
Yoshiya Hinosawa 560edc536c Fix handling of config file (#2996) 2019-09-20 10:19:51 -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
迷渡 1b1ae65a4a Make window compatible with ts 3.6 (#2984) 2019-09-19 11:40:52 -04:00
Kitson Kelly 693a45c3fd Utilise internal names for snapshot bundles (#2973) 2019-09-18 19:56:13 -04:00
Kitson Kelly 60a2b5a8d0 Update to TypeScript 3.6.3 (#2969) 2019-09-17 12:24:44 -04:00
Ryan Dahl 9cfdc60a23
Move integration tests to //cli/tests/ (#2964)
This ensures the deno executable is properly created before running the integration tests.

Also allows deno_cli to be used as a lib. Docs are now properly generated: https://docs.rs/deno_cli/0.18.4/deno_cli/

Towards #2933
Prep for #2955
2019-09-16 21:05:14 -04: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
Tomohito Nakayama a93b29007f Rename ansi.rs to colors.rs (#2956) 2019-09-15 14:48:25 -04:00
Bartek Iwańczuk 686b86edb1 feat: parallelize downloads from TS compiler (#2949) 2019-09-14 12:05:00 -04:00
Ryan Dahl 7e3296dad9 v0.18.0 2019-09-13 16:40:08 -04:00
Ryan Dahl f5afadc000 Remove old comment about gn build (#2944) 2019-09-13 21:45:46 +02:00
Bert Belder ac68f628d2
Upgrade rust crates 2019-09-13 00:38:02 +02:00
Bert Belder 111b19b0a3
Remove 'integer-atomics' crate 2019-09-13 00:38:02 +02:00
Ryan Dahl 93d6faacf5
Keep all deno_std URLs in sync (#2930) 2019-09-12 12:56:53 -04:00
Bartek Iwańczuk a8f44213ec bump prettier revision (#2928) 2019-09-12 06:32:24 -04:00
Bartek Iwańczuk 61231912e2 fix: panicking when can't create runtime for block_on (#2905) 2019-09-11 20:10:14 -04:00
Bartek Iwańczuk 945dc7b84b fix: panic during fetch (#2925) 2019-09-11 17:34:22 -04:00
Bartek Iwańczuk 85c51404ae feat: Set user agent for http client (#2916) 2019-09-11 07:31:00 -04:00
Nayeem Rahman 749ada608e Don't test resolve_from_cwd_absolute() on Windows (#2911) 2019-09-10 20:16:30 -07: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
Bartek Iwańczuk 2a83327a21 fix: replace bad rid panics with errors (#2870) 2019-09-10 00:59:40 -04:00
Ryan Dahl 35e3c06aed
Revert "feat: use trust-dns-resolver in HTTP client"
It caused the final executable to grow by 1.5 mb, and is not having any
other benefit.

This reverts commit 2b40fa065c.
2019-09-09 20:35:48 -04:00
Nayeem Rahman 718c8c4360 Fix path normalization in resolve_from_cwd() (#2875) 2019-09-07 14:13:09 -04:00
Bartek Iwańczuk 2b40fa065c feat: use trust-dns-resolver in HTTP client (#2847) 2019-09-07 13:16:36 -04:00
Nayeem Rahman 8e3c879d13 Add default-run (+ clean up old references) (#2876) 2019-09-06 22:31:56 -04:00
Ryan Dahl acaff6d056
Remove tools/build.py (#2865)
Testing regression: ASAN build removed.
2019-09-06 20:32:58 -04:00
Yoshiya Hinosawa 595b4daa77 Remove replacements hack in deno_typescript (#2864) 2019-09-06 12:57:15 -04:00
Ryan Dahl 9d62d77cfa
Run tests after "cargo build" on travis (#2854) 2019-09-04 17:16:46 -04:00
Ryan Dahl 82588ec09c v0.17.0 2019-09-04 17:15:32 -04:00
Yoshiya Hinosawa 249db0f7d9 Handle typescript version in rust (#2855) 2019-09-03 22:12:21 -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
Yoshiya Hinosawa 56508f113d ops/fetch: add statusText (#2851) 2019-09-02 12:30:14 -04:00
Nayeem Rahman 0ce15f08c7 Remove DenoSubcommand::Install (#2846) 2019-09-01 14:20:23 -04:00
Bartek Iwańczuk 723284fd20
Use 'reqwest' to implement HTTP client (#2822)
Closes #2720
2019-08-30 14:49:03 -07:00
Bert Belder 840c4aa2b2
third_party: add 'reqwest' crate and dependencies 2019-08-30 14:47:48 -07: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
Bert Belder 177727d730
third_party: downgrade 'url' crate to version 1.7.2 2019-08-29 10:45:09 -07:00
Bert Belder 89794d5d34
build: make it possible to pass arbitrary env vars to rustc 2019-08-29 10:45:00 -07:00
Ryan Dahl 2b79552dd1 Internalize base64-js, convert to TypeScript 2019-08-28 18:25:15 -04:00
Ryan Dahl 45ddff14b2 Remove unused GN action 2019-08-28 18:25:15 -04:00
Bartek Iwańczuk 20739a8111 feat: implement Addr interface (#2821) 2019-08-27 11:35:32 -04: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 d8ada4d3fc Port readSync/writeSync ops to minimal
This removes dispatch_flatbuffers as it is now unused. There are still a
few places where msg_generated is used: ErrorKind and MediaType. These
will be dealt with later.
2019-08-26 14:56:42 -04:00
Bartek Iwańczuk a6f6209f52 port fs ops to JSON (#2812) 2019-08-26 10:18:42 -04:00
Bartek Iwańczuk 520f9631e0 bring back json ops (#2815) 2019-08-26 08:50:21 -04:00
Bartek Iwańczuk 017f88ee99 fix: shared queue requires aligned buffer (#2816) 2019-08-26 07:48:40 -04:00
Ryan Dahl 2235dd795d
Revert json ops (#2814)
* Revert "port more ops to JSON (#2809)"

This reverts commit 137f33733d.

* Revert "port ops to JSON: compiler, errors, fetch, files (#2804)"

This reverts commit 79f82cf10e.

* Revert "Port rest of os ops to JSON (#2802)"

This reverts commit 5b2baa5c99.
2019-08-24 13:20:48 -07:00
Bartek Iwańczuk 137f33733d port more ops to JSON (#2809) 2019-08-24 08:31:14 -07:00
Bartek Iwańczuk 79f82cf10e port ops to JSON: compiler, errors, fetch, files (#2804) 2019-08-24 06:02:42 -07:00
Ryan Dahl 5b2baa5c99
Port rest of os ops to JSON (#2802) 2019-08-24 05:13:50 -07:00
Ryan Dahl bc467b265f
introduce JSON serialization for ops (#2799)
Converts env(), exit(), execPath(), utime() and utimeSync() to use JSON
instead of flatbuffers.
2019-08-22 22:30:14 -07:00
Bert Belder 47c216317f
build: enable 'derive' feature of 'serde' crate 2019-08-22 17:27:51 -07:00
Ryan Dahl 0809b06a39 v0.16.0 2019-08-22 15:11:22 -07:00
Bert Belder 7f9c6decc8
third_party: upgrade rust crates 2019-08-22 14:22:25 -07:00
Kitson Kelly 6c7d337960 Support .d.ts files (#2746)
Fixes #1432
2019-08-22 12:05:01 -04:00
Ryan Dahl bdc97b3976
Organize dispatch a bit (#2796)
Just some clean up reorganization around flatbuffer/minimal dispatch
code. This is prep for adding a JSON dispatcher.
2019-08-21 20:42:48 -04:00
Bartek Iwańczuk 389763c04e bump test runner revision (#2800) 2019-08-21 13:49:48 -04:00
Bartek Iwańczuk 4faab6a74b fix: handle tsconfig.json with comments (#2773) 2019-08-17 12:53:34 -04:00
Ryan Dahl de713e42c8
Upgrade to rust 1.37.0 (#2786) 2019-08-16 20:49:00 -04:00
Bartek Iwańczuk 1978358328 chore: bump test runner version (#2784) 2019-08-16 18:20:36 -04:00
Ryan Dahl 81f809f2a6 Revert "Remove dead code: legacy read/write ops"
This is causing a segfault for unknown reasons - see #2787.

This reverts commit 498f6ad431.
2019-08-16 14:41:08 -04:00
Nayeem Rahman 52a66c2796 Fix import map panics, use import map's location as its base URL (#2770) 2019-08-15 13:58:04 -04:00
Bartek Iwańczuk d2d3afaf2d add deno test subcommand (#2783) 2019-08-15 10:11:52 -04:00
Ryan Dahl 498f6ad431
Remove dead code: legacy read/write ops (#2776)
readSync and writeSync use dispatch_minimal now.
2019-08-14 19:54:35 -04:00
Bartek Iwańczuk e6c349af9f split up ops.rs (#2753)
Note cli/dispatch_minimal.rs ops are not yet included in cli/ops.

This is part of work towards #2730
2019-08-14 11:03:02 -04:00
Ryan Dahl 58f0e9b9b1 v0.15.0 2019-08-13 18:35:04 -04:00
Ryan Dahl 1f8b1a587c
Dynamic import should respect permissions (#2764) 2019-08-13 14:51:15 -04:00
Nayeem Rahman 1947f572d7 Fix permission requirements for Deno.rename() and Deno.link() (#2737) 2019-08-13 09:39:01 -04:00
Bert Belder c3afa55751
Propagate Url::to_file_path() errors instead of panicking (#2771)
* Propagate Url::to_file_path() errors instead of panicking
2019-08-13 03:52:03 +02:00
Bartek Iwańczuk 9bd473d8ac feat: print cache location when no arg in deno info (#2752) 2019-08-11 18:43:01 -06:00
Bartek Iwańczuk 54982e948e fix: cache paths on Windows are broken (#2760) 2019-08-12 01:12:09 +02: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
Bert Belder 83d5362f1d
v0.14.0 2019-08-09 03:03:27 +02:00
Bert Belder 6fbf2e9624
Dynamic import (#2516) 2019-08-09 01:19:45 +02:00
andy finch 56a82e72d9 Resolve worker specifiers relative to main module of host. (#2751) 2019-08-08 14:38:53 -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 e438ac2c74
Add op_id throughout op API (#2734)
Removes the magic number hack to switch between flatbuffers and the
minimal dispatcher.

Adds machinery to pass the op_id through the shared_queue.
2019-08-07 14:02:29 -04:00
Kevin (Kun) "Kassimo" Qian 4519f9a50d Make Deno.execPath a function (#2743)
And throws without allow-env
2019-08-06 17:05:47 -04:00
Kevin (Kun) "Kassimo" Qian ccee2f01ba Implement Blob url support for worker (#2729) 2019-08-06 09:22:11 -04:00
Nayeem Rahman 11c850af42 Enforce permissions on kill(), homeDir() and execPath (#2723) 2019-08-06 01:45:36 -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 ddee2dff14 Provide option to delete Deno namespace in worker (#2717) 2019-08-05 07:23:41 -04:00
Bartek Iwańczuk aaa7a3eac4 use BTreeMap for ResourceTable (#2721) 2019-08-04 09:35:03 -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
Ryan Dahl b3541c38f5 v0.13.0 2019-07-31 15:09:06 -04:00
Bartek Iwańczuk 2e1ab82321 refactor: cleanup compiler pipeline (#2686)
* remove fetch_source_file_and_maybe_compile_async and 
  replace it with State.fetch_compiled_module

* remove SourceFile.js_source()

* introduce CompiledModule which is basically the same as
  deno::SourceInfo and represents arbitrary file that has been 
  compiled to JS module

* introduce //cli/compilers module containing all compilers

* introduce JsCompiler which is a no-op compiler
  - output is the same as input, no compilation takes place
  - it is used for MediaType::JavaScript and MediaType::Unknown

* introduce JsonCompiler that wraps JSON in default export

* support JS-to-JS compilation using checkJs
2019-07-31 13:16:03 -04:00
Bartek Iwańczuk e7cee29c84 Add --current-thread flag (#2702) 2019-07-31 11:02:20 -04:00
Bartek Iwańczuk 421cbd39b4 factor out FileFetcher to separate module (#2683)
* merge SourceFileFetcher trait and FileFetcher struct

* move logic related to source file fetching to //cli/file_fetcher.rs

* use Result when creating new ThreadSafeState
2019-07-31 11:58:41 +00:00
Bartek Iwańczuk ac269beabe feat: add debug info to ModuleResolutionError (#2697) 2019-07-30 14:34:57 +00:00
Kitson Kelly 5083f5fd90 Remap stack traces of unthrown errors. (#2693) 2019-07-29 09:11:08 +00:00
Bartek Iwańczuk 729c4e9377 make importmap flag global (#2687) 2019-07-27 14:37:03 +00:00
Bartek Iwańczuk 89e6792203 cli: handle deno -v and deno --version (#2684) 2019-07-27 09:20:40 +00:00
Bartek Iwańczuk 3ae808986d cli: unify deno -h options (#2682) 2019-07-26 07:36:56 +00:00
Bartek Iwańczuk 70de8dd51d save headers for all intermediate redirects (#2677) 2019-07-22 18:52:40 -04:00
andy finch c98d9bf709 removed unnecessary implementation from SourceFileFetcher (#2670) 2019-07-20 11:02:54 -04:00
Bartek Iwańczuk 34f212f257 fix: bring back --no-fetch flag (#2671) 2019-07-20 09:19:06 -04:00
Ryan Dahl a37bc0088f
Remove hacky normalize_path (#2660) 2019-07-18 15:01:44 -04:00
Ryan Dahl 55ca0f09cb
REPL shouldn't panic when it gets SIGINT (#2662) 2019-07-18 15:01:15 -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 4e248ecda9 v0.12.0 2019-07-16 16:08:50 -04:00
Yoshiya Hinosawa 9c45499864 Support window.onload (#2643) 2019-07-16 00:19:26 -04:00
Ryan Dahl 1fde15c0bc
Fix REPL when it receives EOF (#2638) 2019-07-12 10:23:08 -04:00
Bert Belder abe8a113ad Refactor error to use dynamic dispatch and traits
This is in preperation for dynamic import (#1789), which is more easily
implemented when errors are dynamic.
2019-07-11 14:37:00 -04:00
Bartek Iwańczuk 963d56fc5e fix for '-' arg after script name (#2631) 2019-07-10 20:26:01 -04:00
Ryan Dahl d7fa8c3207
Update deno.land links v0.11 (#2628) 2019-07-09 18:59:13 -04:00
Bartek Iwańczuk d641782c82 Rewrite snapshot_creator in Rust 2019-07-08 18:18:28 -04:00
Bert Belder afd66bb010
cli: generate default file name for bundle when URL ends in a slash 2019-07-08 23:05:00 +02:00
Bert Belder f4c9b31405
core: replace ModuleSpecifier::to_url() by as_url() 2019-07-08 23:04:07 +02:00
Bartek Iwańczuk 72d9045528
cli: refactor deno_dir to use Url instead of String 2019-07-08 13:07:32 +02:00
Bert Belder 9b1997b8b6
core: clearly define when module lookup is path-based vs URL-based
The rules are now as follows:

* In `import` statements, as mandated by the WHATWG specification,
  the import specifier is always treated as a URL.
  If it is a relative URL, it must start with either / or ./ or ../

* A script name passed to deno as a command line argument may be either
  an absolute URL or a local path.
  - If the name starts with a valid URI scheme followed by a colon, e.g.
    'http:', 'https:', 'file:', 'foo+bar:', it always interpreted as a
    URL (even if Deno doesn't support the indicated protocol).
  - Otherwise, the script name is interpreted as a local path. The local
    path may be relative, and operating system semantics determine how
    it is resolved. Prefixing a relative path with ./ is not required.
2019-07-08 13:07:32 +02:00
Ryan Dahl 92ac616708 v0.11.0 2019-07-07 12:17:46 -04:00
Bert Belder 32cde32e54 core: return useful error when import path has no prefix like ./ 2019-06-30 19:46:32 +02:00
Bartek Iwańczuk 9d18f97327 fix: normalize Deno.execPath (#2598) 2019-06-30 13:32:24 -04:00
Bartek Iwańczuk 5a4bebb770 fix: test output for completions (#2597) 2019-06-29 18:35:56 -04:00
Bartek Iwańczuk 38cf346d5c feat: parse flags after script name (#2596) 2019-06-29 18:32:54 -04:00
Gurwinder Singh d7d3e9f9de Fix multiple error messages for a missing file (#2587) 2019-06-27 09:34:12 -04:00
Jimmy Cao fb6d57a281 fix: run blocking function on a different task (#2570)
This avoids freezing the current task if the fn blocks indefinitely
2019-06-26 19:12:11 -04:00
Bartek Iwańczuk 6906a2f75e feat: deno completions command (#2577) 2019-06-26 03:02:13 -07:00
Evgeniy Karagodin d089f97978 Add homeDir to Deno namespace (#2578) 2019-06-25 09:05:41 -07:00
Ryan Dahl c56df45355 v0.10.0 2019-06-25 07:09:46 -07:00
Ryan Dahl 3a4d88475b Port code from Cargo and use for progress
A lot of its functionality is unused still, but the goal it to slowly
migrate logging functionality to it. There is also a useful progress bar
which can be ported over later - it depends on this module.

4c1fa54d10/src/cargo/util/progress.rs
2019-06-25 06:32:28 -07:00
Bert Belder 89216c7baa third_party: add rust crate 'termcolor' 2019-06-25 06:32:28 -07:00
Ryan Dahl 046cbef4f0 simplify check_net test 2019-06-25 06:32:28 -07:00
Bartek Iwańczuk 70a9859adc refactor: use Path/PathBuf in deno dir (#2559) 2019-06-24 10:10:21 -07:00
Bartek Iwańczuk 3c81cca037 fix: prevent multiple downloads of modules (#2477) 2019-06-24 09:04:06 -07:00
Gurwinder Singh 6fa6828e5f Minor tweaks (#2569)
1. Separate Snapshot and Script StartupData functions based on cfg "no-snapshot-init"
2. Replace deprecated Once::ONCE_INIT with Once::new (https://github.com/rust-lang/rust/pull/61757)
3. Elide lifetime
4. Fix typos
2019-06-23 04:49:49 -07:00
Bartek Iwańczuk b9fbd55214 feat: log permission access (#2518)
Replaces -D/--log-debug flag with --log-level=debug

--log-level=info displays permission access
2019-06-22 09:02:51 -07:00
Bartek Iwańczuk 642eaf97c6 feat: redirect process stdio to file (#2554) 2019-06-21 16:00:14 -07:00
Matt Harrison 20f41e719d Fix comment (#2555) 2019-06-21 08:21:13 -07:00
Bartek Iwańczuk 77a00aef4c feat: upgrade installer and add docs (#2551) 2019-06-20 11:25:13 -07:00
Kitson Kelly 425df50484 Combine CLI Errors (#2487) 2019-06-19 19:07:01 -07:00
Bartek Iwańczuk 01858f115a fix: use Loader::resolve in op_fetch_module_meta_data (#2519) 2019-06-18 07:23:06 -07:00
Kitson Kelly ed390a51ca Add dyn to be rust nightly compatible (#2538) 2019-06-18 06:28:56 -07:00
andy finch 76d51b0f9a refactor dispatch take 2 (#2533) 2019-06-17 18:02:08 -07:00
Ryan Dahl 7b06aa3734 v0.9.0 2019-06-15 09:04:57 -07:00
Ryan Dahl 9142a7df46
Upgrade INSTALLER_URL to include fixes (#2532)
denoland/deno_std#492
2019-06-15 07:50:36 -07:00
Bartek Iwańczuk 061f6dd483 fix deno install (#2529) 2019-06-15 07:08:11 -07:00
Bert Belder 77737707e4
third_party: upgrade rust crates 2019-06-15 15:20:02 +02:00
Ryan Dahl 1361e30223 Revert "Refactor dispatch handling (#2452)"
Due to performance regression:
dc60fe9f30 (commitcomment-33943711)

This reverts commit dc60fe9f30.
2019-06-14 13:56:36 -07:00
Bartek Iwańczuk 3dff147d0c feat: add deno install command (#2522) 2019-06-14 10:05:06 -07:00
andy finch dc60fe9f30 Refactor dispatch handling (#2452)
Promise id is now created in core and passed back to JS.
2019-06-13 20:43:54 -07:00
Bartek Iwańczuk bca5cc5041 Move ModuleSpecifier to //core (#2509) 2019-06-12 16:55:59 -07:00
Bartek Iwańczuk b3c4307d02 Refactor module resolving (#2493)
Adds ModuleSpecifier, which wraps a URL. This is now passed around instead of
specifier and resolver strings.
2019-06-12 12:00:08 -07:00
Ryan Dahl 2a5138a516
Remove Config struct from core (#2502)
It's unnecessary indirection and is preventing the ability to easily
pass isolate references into the dispatch and dyn_import closures.

Note: this changes how StartupData::Script is executed. It's no longer done
during Isolate::new() but rather lazily on first poll or execution.
2019-06-12 10:53:24 -07:00
Gurwinder S 7fc3d5ed8b Removed unused method and update docs (#2499) 2019-06-11 16:09:31 -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 de8c85f8f2
Move Modules to ThreadSafeState (#2498) 2019-06-11 14:35:03 -04:00
Matt Harrison d82c1991cf Add --seed for setting RNG seed (#2483) 2019-06-11 10:34:39 -04:00
Ryan Dahl 523ab6a929
Upgrade V8 to 7.7.37 (#2492) 2019-06-10 18:49:30 -04:00
Neil Richter 163d60bf16 typo (#2489) 2019-06-10 09:20:19 -04:00
Bartek Iwańczuk a115340288 feat: Import maps (#2360) 2019-06-09 09:08:20 -04:00
Ryan Dahl d60bdb6350 v0.8.0 2019-06-08 15:16:34 -04:00
Kitson Kelly 307e092753 Add 'bundle' subcommand. (#2467) 2019-06-08 14:42:28 -04:00
gurv-s 35f879ad32 Remove tokio_util::block_on dep in compile_async and other cleanup 2019-06-08 10:59:20 -04:00
gurv-s 95eac608a6 Make print_file_info async 2019-06-08 10:59:20 -04:00
gurv-s 564222bc10 make op_create_worker async internally 2019-06-08 10:59:20 -04:00
gurv-s c0b28dc224 Use static dispatch 2019-06-08 10:59:20 -04:00
Kitson Kelly e3b2205eba Cleanup compiler API (#2466) 2019-06-06 20:37:26 -04:00
Ryan Dahl e152dae006
RecursiveLoad shouldn't own the Isolate (#2453)
This patch makes it so that RecursiveLoad doesn't own the Isolate, so
Worker::execute_mod_async does not consume itself.

Previously Worker implemented Loader, but now ThreadSafeState does.

This is necessary preparation work for dynamic import (#1789) and import
maps (#1921)
2019-06-05 16:35:38 -04:00
Bartek Iwańczuk 6fa4d2e759 feat: bring back deno <script> (#2451) 2019-06-05 13:44:46 -04:00
Kitson Kelly a71305b4fe Handle compiler diagnostics in Rust (#2445) 2019-06-04 09:03:56 -04:00
Gurwinder S bbc8de0c7a Fix typo (#2443) 2019-06-02 14:23:36 -04:00
Yoshiya Hinosawa 79f770b178 fmt: add --stdout option (#2439) 2019-06-01 08:54:32 -04:00
Bert Belder 1540b36ce7
third_party: upgrade rust crates 2019-05-30 11:28:05 -07:00
Axetroy 4c80394f54 bump std/prettier@0.5.0 to std/prettier@0.7.0 (#2425) 2019-05-30 08:35:42 -04:00
Ryan Dahl 5265bd7cb1 v0.7.0 2019-05-29 18:42:49 -04:00
Ryan Dahl 856c44213b TS compiler refactor
* Compiler no longer has its own Tokio runtime. Compiler handles one
  message and then exits.

* Uses the simpler ts.CompilerHost interface instead of
  ts.LanguageServiceHost.

* avoids recompiling the same module by introducing a hacky but simple
  `hashset<string>` that stores the module names that have been already
  compiled.

* Removes the CompilerConfig op.

* Removes a lot of the mocking stuff in compiler.ts like `this._ts`. It
  is not useful as we don't even have tests.

* Turns off checkJs because it causes fmt_test to die with OOM.
2019-05-29 07:53:39 -04:00
Ryan Dahl 53b6356ec5 Correct tokio_util::block_on() and op_fetch_module_meta_data
op_fetch_module_meta_data is an op that is used by the TypeScript
compiler. TypeScript requires this op to be sync. However the
implementation of the op does things on the event loop (like fetching
HTTP resources).

In certain situations this can lead to deadlocks. The runtime's thread
pool can be filled with ops waiting on the result of
op_fetch_module_meta_data. The runtime has a maximum number of
threads it can use (the number of logical CPUs on the system).

This patch changes tokio_util::block_on to launch a new Tokio runtime
for evaluating the future, thus bipassing the max-thread problem.

This is only an issue in op_fetch_module_meta_data. Other synchronous
ops are truly synchornous, not interacting with the event loop.  TODO
comments are added to direct future development.
2019-05-29 07:53:39 -04:00
Adam Conrad 9fd4096235 add EventTarget implementation (#2377) 2019-05-27 09:20:34 -04:00
Bartek Iwańczuk 73ac5f89f0 add module and line no for Rust logger (#2409) 2019-05-25 19:23:47 +03:00
ztplz 86684799c4 typo (#2366) 2019-05-24 14:36:50 +03:00
Bartek Iwańczuk 1105982586 re-fix permissions for dial and listen (#2400)
Closes #2397
2019-05-23 23:47:55 +03:00
Ryan Dahl f92af3576a
Improve CLI help (#2388) 2019-05-23 21:57:44 +03:00
Ryan Dahl 583a646be7
Fix concurrent accepts (#2403) 2019-05-23 21:22:52 +03:00
Ryan Dahl 2952fb5405
Rename --allow-high-precision to --allow-hrtime (#2398) 2019-05-23 19:28:29 +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 880265275f Use tagged version of prettier in CLI (#2387) 2019-05-21 15:39:50 -04:00
Ryan Dahl 22feb74ba1 v0.6.0 2019-05-20 15:22:08 -04:00
Bartek Iwańczuk 7219787894 Fix permissions for dial and listen (#2373) 2019-05-17 14:50:53 -04:00
chiefbiiko 00f6fa46b3 Add crypto.getRandomValues() (#2327) 2019-05-17 14:03:01 -04:00
Bartek Iwańczuk 7f6549532c Don't print new line if progress bar was not used (#2374) 2019-05-17 12:35:29 -04:00
Bert Belder 3ff240b963
third_party: add rust crate 'serde_derive' 2019-05-16 20:51:47 -07:00
Bert Belder e9c9d71633
third_party: upgrade rust crates 2019-05-16 20:43:23 -07:00
Bert Belder 3d6f0a85af
build: add support for rust proc-macro crates 2019-05-16 20:33:25 -07:00
Bert Belder 6e7ccf0b49
tools: format .gn files in the 'cli' directory 2019-05-16 19:57:31 -07:00
Daiki Ihara 9c9c58c84d Add permission whitelist docs (#2365) 2019-05-16 10:39:19 -04:00
Yoshiya Hinosawa 6a5893a269 fmt: use --write option of prettier/main.ts (#2363)
This is step 1 of the plan outlined here:
https://github.com/denoland/deno/issues/2090#issuecomment-492897028
2019-05-16 10:11:35 -04:00
Ryan Dahl e02d8bcf18 Remove FileInfo.path 2019-05-15 21:14:17 -04:00
diskkid 2508480465 Add error handling to dispatch_minimal::ops::read/write (#2349) 2019-05-15 14:50:54 -04:00
Ryan Dahl a00fa7056b
Fix command in docs (#2353) 2019-05-14 15:23:56 -04:00
Ryan Dahl 23aca36d52 v0.5.0 2019-05-11 17:19:21 -04:00
Ryan Dahl aba952397a
Add progress bar (#2309) 2019-05-11 10:23:19 -04:00
Bert Belder c0341cb1af
third_party: upgrade rust crates 2019-05-11 05:03:03 +02:00
Bartek Iwańczuk 1fc61f3b6a core: Privatize ModuleNameMap SymbolicModule deno_buf (#2324) 2019-05-09 16:44:30 -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
Yingbo (Max) Wang ec9080f34c Add Deno.chown (#2292) 2019-05-07 21:58:57 -04:00
Bartek Iwańczuk 1f7ad17152 fix: Add all permissions to deno xeval (#2290) 2019-05-06 10:48:19 -04:00
Ryan Dahl 2aae09c2b8 v0.4.0 2019-05-03 19:33:50 -04:00
Bartek Iwańczuk 5824e55efa fix: deno version panic (#2286) 2019-05-03 18:48:50 -04:00
Ryan Dahl 3b1e2f1ad4 v0.3.11 2019-05-03 18:05:41 -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
Kevin (Kun) "Kassimo" Qian 401a5c0211 feat: support .mjs extension resolution (#2283)
Removed `extmap` and added .mjs entry in `map_file_extension`.
The assert in the compiler does not need to be updated, since it is
resolving from the compiled cache instead of elsewhere (notice the .map
is asserted next to it)
2019-05-03 15:03:10 -04:00
Bartek Iwańczuk 459162fc6e add --no-fetch CLI flag to prevent remote downloads (#2213) 2019-05-03 11:09:51 -04:00
Bartek Iwańczuk bf9b0c8231 Fix: deno --v8-options does not print v8 options (#2277) 2019-05-03 08:59:52 -04:00
Ryan Dahl 00ac871607
Optimize read and write ops (#2259) 2019-05-03 00:06:43 -04:00
Bert Belder 8999517421
core,cli: fix clippy warnings 2019-05-03 03:29:42 +02:00
Kurt Mackey c05cbc8eac Add Request global constructor (#2253) 2019-05-01 23:56:42 -04:00
Kevin (Kun) "Kassimo" Qian 1dd30f658f doc: add long about messages for subcommands (#2264)
Type deno <subcommand> -h to view descriptions.
2019-05-01 19:15:36 -04:00
Ryan Dahl c171813e89
core: express op as enum (#2255) 2019-05-01 18:22:32 -04:00
Bert Belder 41c7e96f1a
Refactor zero-copy buffers for performance and to prevent memory leaks
* In order to prevent ArrayBuffers from getting garbage collected by V8,
  we used to store a v8::Persistent<ArrayBuffer> in a map. This patch
  introduces a custom ArrayBuffer allocator which doesn't use Persistent
  handles, but instead stores a pointer to the actual ArrayBuffer data
  alongside with a reference count. Since creating Persistent handles
  has quite a bit of overhead, this change significantly increases
  performance. Various HTTP server benchmarks report about 5-10% more
  requests per second than before.

* Previously the Persistent handle that prevented garbage collection had
  to be released manually, and this wasn't always done, which was
  causing memory leaks. This has been resolved by introducing a new
  `PinnedBuf` type in both Rust and C++ that automatically re-enables
  garbage collection when it goes out of scope.

* Zero-copy buffers are now correctly wrapped in an Option if there is a
  possibility that they're not present. This clears up a correctness
  issue where we were creating zero-length slices from a null pointer,
  which is against the rules.
2019-05-01 21:11:09 +02:00
Bartek Iwańczuk 8978870808 Rename test targets (#2262) 2019-05-01 09:48:56 -04:00
Kevin (Kun) "Kassimo" Qian 7237e9d34a fs: add Deno.utime/Deno.utimeSync (#2241) 2019-05-01 05:08:11 -04:00
Ryan Dahl 6c137342d7
flags: fix merge error (#2244) 2019-04-29 18:35:25 -07:00
Bartek Iwańczuk 636827a1d5 Rewrite flags.rs::parse_flags (#2237) 2019-04-29 16:43:06 -07:00
Kitson Kelly 1a0f53a807 Add support for custom tsconfig.json (#2089)
Use `--config`
2019-04-29 07:58:31 -07:00
Ryan Dahl 1af02b405e
Revert "recover: #1517 Kill all pending accepts when TCP listener is closed (#2224)" (#2239)
Crashes while running wrk against
js/deps/https/deno.land/std/http/http_bench.ts

This reverts commit 972ac03858.
2019-04-28 14:15:15 -07:00
Yusuke Sakurai 972ac03858 recover: #1517 Kill all pending accepts when TCP listener is closed (#2224) 2019-04-27 11:33:24 -07:00
Bartek Iwańczuk 02596c08bd disable --version flag from deno version (#2226) 2019-04-27 11:19:50 -07:00
Ryan Dahl 40d8ef1ec9 v0.3.10 2019-04-25 13:59:18 -06:00
Bartek Iwańczuk aa85a4d288 Rename CLI flags to subcommands (#2212) 2019-04-25 12:59:49 -06:00
Ryan Dahl b426ecce80
compile lib.deno_runtime.d.ts into executable (#2209) 2019-04-25 12:27:30 -06:00
Bartek Iwańczuk b7d8a0c6f6 Rename deno prefetch to deno fetch (#2210) 2019-04-25 13:47:33 -04:00
Ryan Dahl e725b26b28 v0.3.9 2019-04-25 17:44:34 +02:00
Ryan Dahl d68b44b6b2
core: make Isolate concrete, remove Dispatch trait (#2183)
Op dispatch is now dynamically dispatched, so slightly less efficient.
The immeasurable perf hit is a reasonable trade for the API simplicity
that is gained here.
2019-04-23 18:58:00 -04:00
Ryan Dahl 675919e915
Use tokio_threadpool's new panic_handler (#2188) 2019-04-23 16:27:44 -04:00
Bert Belder 6caf865507
third_party: upgrade rust crates 2019-04-23 18:01:57 +02:00
Kevin (Kun) "Kassimo" Qian 1d4b92ac85 Add Deno.kill(pid, signo) and process.kill(signo) (Unix only) (#2177) 2019-04-21 21:26:56 -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
Ryan Dahl 0796a8f2f7 v0.3.8 2019-04-19 11:41:13 -04:00
Ryan Dahl 5e5c8553e7
core: test Modules::deps and handle error cases better (#2141) 2019-04-19 11:18:46 -04:00
Kevin (Kun) "Kassimo" Qian afabb3f833 Fix redirects under async load (#2133) 2019-04-18 21:33:50 -04:00
Bert Belder 8477daa8b9
Fix clippy warnings 2019-04-17 15:35:46 +02:00
Bert Belder 90c2b10f47
Add cli dependency on tokio-rustls 2019-04-17 14:02:20 +02:00
Ryan Dahl 1bfb443369
Implement async module loading in CLI (#2084) 2019-04-16 15:13:42 -04:00
Bert Belder 97f0fe7437
third_party: upgrade rust crates 2019-04-15 18:56:29 +02:00
Ryan Dahl c7e1f8fabd
Fix silent error, add custom panic handler (#2098)
This is to work around Tokio's panic recovery feature.
Ref https://github.com/tokio-rs/tokio/issues/495
Ref https://github.com/tokio-rs/tokio/issues/209
Ref https://github.com/denoland/deno/issues/1311
Fixes #2097
2019-04-14 16:07:24 -04:00
Yoshiya Hinosawa 635ad2a18e fix absolute path resolution from remote (#2109) 2019-04-13 13:27:27 -04:00
Bartek Iwańczuk 591b5e4a7d Add deno eval subcommand (#2102) 2019-04-13 13:24:15 -04:00
andy finch d3bd5879c3 better wait for removed_from_resource_table_on_close test (#2104) 2019-04-12 18:39:31 -04:00
Ryan Dahl 8584d80cfd v0.3.7 2019-04-11 15:35:21 -04:00
andy finch 960ee5257a Improve op dispatch (#2088) 2019-04-11 10:58:31 -04:00
Bartek Iwańczuk 1034d9723d fix --v8-options (#2093) 2019-04-11 10:20:07 -04:00
Bert Belder 4ffe1612ff Silence clippy warnings and format source code 2019-04-09 20:05:47 +02:00
Bert Belder fe2f3ba889 Use correct type for source_bytes when buiding in check-only mode 2019-04-09 20:05:47 +02:00
Ryan Dahl d2579f4564
core: Rename Behavior to Dispatch (#2082)
And rename IsolateState to ThreadSafeState.

Also make ThreadSafeState directly implement Dispatch. This is simpler.
2019-04-09 13:11:25 -04:00
Ryan Dahl 2debbdacb9
Merge Worker and Isolate types (#2078)
Reduces generics.
2019-04-08 17:10:00 -04:00
Vincent LE GOFF 734cf781c6 Allow high precision performance.now() (#1977) 2019-04-08 16:22:40 -04:00
Ryan Dahl f7fdb90fd5
core: snapshot improvements (#2052)
* Moves how snapshots are supplied to the Isolate. Previously they were
  given by Behavior::startup_data() but it was only called once at
  startup. It makes more sense (and simplifies Behavior) to pass it to the
  constructor of Isolate.
* Adds new libdeno type deno_snapshot instead of overloading
  deno_buf.
* Adds new libdeno method to delete snapshot deno_snapshot_delete().
* Renames deno_get_snapshot() to deno_snapshot_new().
* Makes StartupData hold references to snapshots. This was implicit when
  it previously held a deno_buf but is made explicit now. Note that
  include_bytes!() returns a &'static [u8] and we want to avoid
  copying that.
2019-04-08 10:12:43 -04:00
Kevin (Kun) "Kassimo" Qian 1746a3ac69 Add link/linkSync fs call for hardlinks (#2074) 2019-04-08 09:11:32 -04:00
Bartek Iwańczuk 86aee7f137 Flags clean up: DenoFlags::from (#2068) 2019-04-07 14:58:16 -04:00
Bartek Iwańczuk 780e72ab6a Refactor CLI flag parsing (#2025) 2019-04-07 01:13:06 +03:00
andy finch 07f0d077c7 add compile_async (#2053) 2019-04-05 00:04:06 -04:00
Ryan Dahl 744e56cb58 v0.3.6 2019-04-04 09:59:41 -04:00
andy finch 0e7311e171 Non-fatal compile_sync failures (#2039)
And model worker resources as Stream
2019-04-04 05:33:32 -04:00
Bert Belder 5f1e42f8ac
cli: refactor compile_sync() for readability 2019-04-02 18:04:25 +02:00
Bert Belder b735155712
Clippy fixes 2019-04-02 18:04:25 +02: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
Bert Belder ff1c80d6d8
third_party: add rust crate 'clap' 2019-03-31 17:55:03 -04:00
Ryan Dahl e9910d8ae5
Rename crate deno_core to deno (#2022) 2019-03-30 19:30:40 -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
Bert Belder da1b98b690 Clippy fixes (#2009) 2019-03-28 08:09:19 -04:00
Bartek Iwańczuk 597ee38ef2 Rewrite readFile and writeFile (#2000)
Using open/read/write
2019-03-27 23:29:36 -04:00
Ryan Dahl d0b6152f11
Fix error when JS is executed with --recompile (#2007)
test case from @afinch7
2019-03-27 16:10:31 -04:00
Kevin (Kun) "Kassimo" Qian 5c4189a3b8 Do not close file on invalid seek mode (#2004) 2019-03-26 22:47:17 -04:00
Kitson Kelly c43cfedeba namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
Ryan Dahl d8714281b4
Resolve callback moved from Behavior to mod_instantiate() (#1999)
This simplifies the Behavior trait and makes it more explicit where the
resolve callback is being made.

Also s/StartupScript/Script
2019-03-25 17:43:31 -04:00
andy finch 1499d57490 Remove dead code (#1983) 2019-03-21 15:52:30 -04:00
Ryan Dahl 94405bb617
Fix clippy errors and upgrade Rust to 1.33.0 in CI (#1945) 2019-03-20 18:55:52 -04:00
Ryan Dahl 4c831f1eb5
Add more async module loading function (#1974)
* get_source_code_async
* fetch_module_meta_data_async
* fetch_module_meta_data_and_maybe_compile_async
2019-03-20 11:38:43 -04:00
andy finch 48bf419669 Separate behavior for the compiler isolate (#1973) 2019-03-19 20:55:59 -04:00
andy finch 6131152a57 Remove old Buf definition in cli.rs (#1971) 2019-03-19 16:47:35 -04:00
Ryan Dahl fb2c0c29ec
Add fetch_remote_source_async (#1972) 2019-03-19 16:45:39 -04:00
Ryan Dahl 5e4312de4d Move fetch_remote_source, fetch_local_source
They do not depend on DenoDir, so should not be methods of it.
2019-03-19 14:50:41 -04:00
Ryan Dahl 2c5030000b Add async version of http_util::fetch_sync_string 2019-03-19 14:50:41 -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