summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)Author
2020-02-04reenable some tests (#3882)Bartek Iwańczuk
2020-02-03refactor: Use Tokio's single-threaded runtime (#3844)Ryan Dahl
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-03upgrade: dprint 0.3.0-alpha.6Ryan Dahl
2020-02-03v0.32.0Bartek Iwańczuk
2020-02-03Make fetch API more standards compliant (#3667)serverhiccups
2020-02-03Use tokio::test for some of cli's unit tests (#3868)Ryan Dahl
2020-02-03fix: Deno.remove() to properly remove dangling symlinks (#3860)Rafael Vargas
For some reason, the unit tests for Deno.remove() were not being imported to unit_tests.ts and, consequently, not being executed. Thus, I imported them, refactored some existent ones and wrote new ones for the symlink removal case. Since the creation of a symlink is not implemented for Windows yet, assertions that consider this state were added when the tests are executed in this OS.
2020-02-02Remove //tests symlink (#3849)Luka Hartwig
2020-02-01feat: support crate imports in deno_typescript (#3814)Andy Finch
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-01-31Add support for multiple files in fetch command (#3845)Tim Ermilov
2020-01-31Add NO_BUILD_SNAPSHOTS to speed up incremental builds (#3847)Ryan Dahl
2020-01-31chore: remove std/installer, port installer tests to Rust (#3843)Bartek Iwańczuk
2020-01-31chore: upgrade dprint (#3842)Bartek Iwańczuk
2020-01-30feat: deno install in Rust (#3806)Bartek Iwańczuk
//std/installer couldn't be removed due to bug, but it's now deprecated.
2020-01-30Use tokio::main (#3831)Ryan Dahl
2020-01-30Remove --current-thread flag (#3830)Ryan Dahl
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-30Adjust dprint configuration to be closer to prettier (#3824)Ryan Dahl
2020-01-30Try to fix docs.rs for cli crate (#3823)Ryan Dahl
2020-01-29Deno.makeTempDir() check permissions (#3810)EnokMan
2020-01-29feat: dprint formatter (#3820)Bartek Iwańczuk
* rewrite fmt_test in Rust, remove tools/fmt_test.py * remove //std/prettier
2020-01-29workers: proper TS libs, more spec-compliant APIs (#3812)Bartek Iwańczuk
* split lib.deno_main.d.ts into: - lib.deno.shared_globals.d.ts - lib.deno.window.d.ts - lib.deno.worker.d.ts * remove no longer used libs: - lib.deno_main.d.ts - lib.deno_worker.d.ts * change module loading to use proper TS library for compilation * align to Worker API spec: - Worker.terminate() - self.close() - self.name
2020-01-27dx: descriptive permission errors (#3808)Bartek Iwańczuk
Before: ``` ▶ target/debug/deno https://deno.land/std/examples/echo_server.ts error: Uncaught PermissionDenied: run again with the --allow-net flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendSync ($deno$/dispatch_json.ts:67:10) at listen ($deno$/net.ts:170:15) at https://deno.land/std/examples/echo_server.ts:4:23 ``` ``` ▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd error: Uncaught PermissionDenied: run again with the --allow-read flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendAsync ($deno$/dispatch_json.ts:91:10) ``` After: ``` ▶ target/debug/deno https://deno.land/std/examples/echo_server.ts error: Uncaught PermissionDenied: network access to "0.0.0.0:8080", run again with the --allow-net flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendSync ($deno$/dispatch_json.ts:67:10) at listen ($deno$/net.ts:170:15) at https://deno.land/std/examples/echo_server.ts:4:23 ``` ``` ▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd error: Uncaught PermissionDenied: read access to "/etc/passwd", run again with the --allow-read flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendAsync ($deno$/dispatch_json.ts:91:10) ```
2020-01-27refactor: isomorphic snapshot for CLI (#3728)Bartek Iwańczuk
2020-01-26Improve support of type definitions (#3755)Kitson Kelly
2020-01-26lock: support lock-write for fetch command (#3787)Kevin (Kun) "Kassimo" Qian
2020-01-26Remove dead code in cli/shell.rs (#3792)Ryan Dahl
2020-01-26fix clippy warnings (#3798)Ben Noordhuis
2020-01-26feat: make eval support --v8-flags=... (#3797)Ben Noordhuis
Closes #3796
2020-01-25refactor: Modules and Loader trait (#3791)Bartek Iwańczuk
* move is_dyn_import argument from Loader::resolve to Loader::load - it was always kind of strange that resolve() checks permissions. * change argument type from &str to &ModuleSpecifier where applicable
2020-01-25Refactor error tracking and scope juggling in deno_core (#3783)Bert Belder
2020-01-24Do not panic and improve error message on cache failure (#3784)Kevin (Kun) "Kassimo" Qian
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-24Break out runtime lib to main and worker (#3771)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-24v0.31.0Ryan Dahl
2020-01-24Mark signal APIs as unstable (#3779)Ryan Dahl
2020-01-24Add signal handlers (#3757)Yoshiya Hinosawa
2020-01-23update readmes (#3765)Ryan Dahl
2020-01-22refactor: snapshotting (#3753)Bartek Iwańczuk
2020-01-22Reland "Create an old program to be used in snapshot." (#3747)Bartek Iwańczuk
* read CLI assets from disk during snapshotting
2020-01-21Revert "Create an old program to be used in snapshot. (#3644)"Ry Dahl
Ref #3712. This change allowed the deno_typescript crate to reference cli/js/lib.deno_runtime.d.ts which breaks "cargo package". We intend to reintroduce a revised version of this patch later once "cargo package" is working and tested. This reverts commit 737ab94ea1bdf65eeef323ea37e84bcf430fb92c.
2020-01-21v0.30.1Ryan Dahl
This patch release is being done only to test crate publishing, hence lack of release notes or published binaries.
2020-01-21feat: add AsyncUnref ops (#3721)Yoshiya Hinosawa
This is in order to support features like signal handlers, which shouldn't prevent the program from exiting.
2020-01-21refactor: split cli::Worker (#3735)Bartek Iwańczuk
* cli::Worker is base struct to create specialized workers * add MainWorker * add CompilerWorker * refactor WebWorker to use Worker
2020-01-21Revert "don't include assets in binary (#3661)"Ry Dahl
Ref #3712 This reverts commit 32cbcfe4e9943a0318c497188e045d23c5f6703a.
2020-01-21change copyrights from 2019 to 2020 (#3733)Takashi Idobe
2020-01-21refactor: Rename JS entry functions (#3732)Bartek Iwańczuk
2020-01-21refactor: don't create new runtime for fs ops (#3730)Bartek Iwańczuk
2020-01-21Implemented alternative open mode in files (#3119)Michał Sabiniarz
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-21refactor: split worker and worker host logic (#3722)Bartek Iwańczuk
* split ops/worker.rs into ops/worker_host.rs and ops/web_worker.rs * refactor js/workers.ts and factor out js/worker_main.ts - entry point for WebWorker runtime * BREAKING CHANGE: remove support for blob: URL in Worker * BREAKING CHANGE: remove Deno namespace support and noDenoNamespace option in Worker constructor * introduce WebWorker struct which is a stripped down version of cli::Worker
2020-01-20refactor: reduce number of ErrorKind variants (#3662)Bartek Iwańczuk