summaryrefslogtreecommitdiff
path: root/cli/main.rs
AgeCommit message (Collapse)Author
2021-04-26remove #![deny(warnings)] (#10376)Ryan Dahl
Prefer RUSTFLAGS="-D warnings" to prevent warnings, but cannot enable yet due to #10378.
2021-04-25feat(cli): add test permissions to Deno.test (#10188)Casper Beyer
This commits adds adds "permissions" option to the test definitions which allows tests to run with different permission sets than the process's permission. The change will only be in effect within the test function, once the test has completed the original process permission set is restored. Test permissions cannot exceed the process's permission. You can only narrow or drop permissions, failure to acquire a permission results in an error being thrown and the test case will fail.
2021-04-25refactor(core): move op cache sync responsibility to rust space (#10340)Aaron O'Mullan
Even if bootstrapping the JS runtime is low level, it's an abstraction leak of core to require users to call `Deno.core.ops()` in JS space. So instead we're introducing a `JsRuntime::sync_ops_cache()` method, once we have runtime extensions a new runtime will ensure the ops cache is setup (for the provided extensions) and then loading/unloading plugins should be the only operations that require op cache syncs
2021-04-13feat(cli): raise file descriptor limit on startup (#10162)Ben Noordhuis
Raise the soft limit to the hard limit when possible. This is similar to what Node.js does to avoid running into "out of file descriptors" errors too quickly. On most Linux systems, raises the limit from 1,024 to 1,048,576. On most macOS systems, raises the limit from 256 to 10,240. Fixes #10148.
2021-04-09feat(lsp): add registry import auto-complete (#9934)Kitson Kelly
2021-04-07feat: blob URL support (#10045)Luca Casonato
This commit adds blob URL support. Blob URLs are stored in a process global storage, that can be accessed from all workers, and the module loader. Blob URLs can be created using `URL.createObjectURL` and revoked using `URL.revokeObjectURL`. This commit does not add support for `fetch`ing blob URLs. This will be added in a follow up commit.
2021-04-06refactor: add deno_file op crate (#10019)Luca Casonato
Also enables WPT for FileReader.
2021-03-26remove macro_use (#9884)Ryan Dahl
2021-03-26fix: include deno.crypto in "deno types" (#9863)Luca Casonato
2021-03-25upgrade: Rust 1.51.0 (#9895)Yusuke Tanaka
2021-03-18fix(cli/bundle): display anyhow error chain (#9822)Andrew Mitchell
2021-03-12refactor: move Console to op_crates/console (#9770)Luca Casonato
2021-03-12chore: split web op crate (#9635)Luca Casonato
This commit starts splitting out the deno_web op crate into multiple smaller crates. This commit splits out WebIDL and URL API, but in the future I want to split out each spec into its own crate. That means we will have (in rough order of loading): `webidl`, `dom`, `streams`, `console`, `encoding`, `url`, `file`, `fetch`, `websocket`, and `webgpu` crates.
2021-03-07fix(cli/compile): do not append .exe depending on target (#9668)Divy Srivastava
2021-03-01feat(cli): represent type dependencies in info (#9630)Kitson Kelly
Fixes #7927
2021-03-01feat: WebGPU API (#7977)crowlKats
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-03-01fix: typo in coverage exit_unstable (#9626)Luca Casonato
2021-02-26Improve 'deno lsp' help text (#9610)Ryan Dahl
2021-02-25feat(cli/doc): use type definitions "deno doc" if available (#8459)Liam Murphy
This commit adds support for type definitions in "deno doc"; with this change "deno doc" is able to leverage the same directives as TS compiler. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-02-24feat: add "deno coverage" subcommand (#8664)Casper Beyer
This commit adds a new subcommand called "coverage" which can generate code coverage reports to stdout in multiple formats from code coverage profiles collected to disk. Currently this supports outputting a pretty printed diff and the lcov format for interoperability with third-party services and tools. Code coverage is still collected via other subcommands that run and collect code coverage such as "deno test --coverage=<directory>" but that command no longer prints a pretty printed report at the end of a test run with coverage collection enabled. The restrictions on which files that can be reported on has also been relaxed and are fully controllable with the include and exclude regular expression flags on the coverage subcommand. Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-02-21feat: add --ext flag to deno eval (#9295)Satya Rohith
This PR deprecates the "--ts"/"-T" flag of "deno eval" (which will later be removed in 2.0) and introduces "--ext" which is used by "deno fmt" for content type selection. This is to ensure we have a single flag that can be used across subcommands to select the language (JS/TS).
2021-02-17Make ModuleSpecifier a type alias, not wrapper struct (#9531)Ryan Dahl
2021-02-17feat: support loading import map from URL (#9519)Bartek Iwańczuk
This commit adds support for loading import maps from URLs, both remote and local. This feature is supported in CLI flag as well as in runtime compiler API.
2021-02-16feat(cli): support auth tokens for accessing private modules (#9508)Kitson Kelly
Closes #5239
2021-01-19feat: add markdown support to deno fmt (#8887)Satya Rohith
This commit adds support for formatting markdown files with "deno fmt". Additionally "--ext={js|jsx|ts|tsx|md}" flag was added to "deno fmt" that allows to specify file type when providing contents over stdio.
2021-01-19fix: panic during `deno compile` with no args (#9167)Luca Casonato
2021-01-19feat: Standalone lite binaries and cross compilation (#9141)Bartek Iwańczuk
This commit adds --target and --lite flags to deno compile subcommand. --target allows to cross-compile binary to different target architectures by fetching appropriate binary from remote server on first run. All downloaded binaries are stored in "$DENO_DIR/dl". --lite allows to use lite version of the runtime (ie. the one that doesn't contain built-in tooling like formatter or linter).
2021-01-19fix(cli): print a newline after help and version (#9158)Casper Beyer
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka
2021-01-09fix: don't error on version and help flag (#9064)Luca Casonato
2021-01-08feat: denort binary (#9041)Luca Casonato
This commit adds new binary target called "denort". It is a "lite" version of "deno" binary that can only execute code embedded inside the binary itself. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-01-07feat: add --location=<href> and globalThis.location (#7369)Nayeem Rahman
2021-01-07fix(coverage): do not store source inline in raw reports (#9025)Casper Beyer
When we were doing single process in-memory reports getting the source from the runtime was practical, but now that we're writing to disk this conflicts with the format tools taking raw v8 coverage dumps expect.
2021-01-06feat: Add configurable permissions for Workers (#8215)Steven Guerrero
This commit adds new option to "Worker" Web API that allows to configure permissions. New "Worker.deno.permissions" option can be used to define limited permissions to the worker thread by either: - inherit set of parent thread permissions - use limited subset of parent thread permissions - revoke all permissions (full sandbox) In order to achieve this functionality "CliModuleLoader" was modified to accept "initial permissions", which are used for top module loading (ie. uses parent thread permission set to load top level module of a worker).
2021-01-06refactor: move WebSocket API to an op_crate (#9026)Luca Casonato
2021-01-06refactor(cli): remove 'js' module, simplify compiler snapshot (#9020)Bartek Iwańczuk
This commit removes "js" module from "cli". It contained stuff related to TypeScript compiler (snapshot, declaration files) and thus it was moved to "tsc" module.
2021-01-05feat(cli/standalone): support runtime flags for deno compile (#8738)Nayeem Rahman
2020-12-30feat(lsp): add cache command (#8911)Kitson Kelly
2020-12-29refactor(cli/flags): change allow_read/write/net types from bool to ↵Yusuke Tanaka
Option<Vec<T>> (#8896) This PR refactors "cli/flags.rs" and "runtime/permissions.rs" so that "allow_read", "allow_write" and "allow_net" themselves have allowlists, instead of storing them in additional fields.
2020-12-28feat(unstable): collect coverage from the run command (#8893)Casper Beyer
This adds implicit coverage collection to the run command when a coverage collection directory is set (via an environment variable).
2020-12-21refactor: rewrite lsp to be async (#8727)Luca Casonato
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2020-12-21feat(unstable): record raw coverage into a directory (#8642)Casper Beyer
2020-12-13refactor: deno_runtime crate (#8640)Bartek Iwańczuk
This commit moves Deno JS runtime, ops, permissions and inspector implementation to new "deno_runtime" crate located in "runtime/" directory. Details in "runtime/README.md". Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-12-12refactor(cli): more options on Worker (#8724)Bartek Iwańczuk
2020-12-11refactor(cli): decouple ops from ProgramState and Flags (#8659)Bartek Iwańczuk
This commit does major refactor of "Worker" and "WebWorker", in order to decouple them from "ProgramState" and "Flags". The main points of interest are "create_main_worker()" and "create_web_worker_callback()" functions which are responsible for creating "Worker" and "WebWorker" in CLI context. As a result it is now possible to factor out common "runtime" functionality into a separate crate.
2020-12-07feat: add mvp language server (#8515)Kitson Kelly
Resolves #8400
2020-12-06refactor(cli): remove Option from Flags.v8_flags (#8633)crowlKats
2020-12-01chore(cli/flags): Use deno compile --output for the out file (#8563)Nayeem Rahman
2020-11-30feat: deno compile (#8539)Luca Casonato
2020-11-29feat(cli/tools/upgrade): canary support (#8476)crowlKats