summaryrefslogtreecommitdiff
path: root/cli/main.rs
AgeCommit message (Collapse)Author
2021-05-23feat(extensions): BroadcastChannel WPT conformanceBen Noordhuis
Replaces the file-backed provider by an in-memory one because proper file locking is a hard problem that detracts from the proof of concept. Teach the WPT runner how to extract tests from .html files because all the relevant tests in test_util/wpt/webmessaging/broadcastchannel are inside basics.html and interface.html.
2021-05-23feat(extensions): add BroadcastChannelBen Noordhuis
Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl> Fixes: #10354
2021-05-21fix(test): ensure coverage dir exists (#10717)Yoshiya Hinosawa
2021-05-19fix(cli): canonicalize coverage dir (#10364)Casper Beyer
2021-05-17fix: static import permissions in dynamic importsLuca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-05-11feat(lsp): add internal debugging logging (#10438)Kitson Kelly
Ref: #10368
2021-05-11feat(test): add support for type checking documentation (#10521)Casper Beyer
This commit adds support for type checking codeblocks in the JS doc comments.
2021-05-10refactor(cli): replace loading file for --config flag with generic structure ↵Bartek Iwańczuk
(#10481) Currently file passed to --config file is parsed using TsConfig structure that does multiple things when loading the file. Instead of relying on that structure I've introduced ConfigFile structure that can be updated to sniff out more fields from the config file in the future.
2021-05-10feat: add WebStorage API (#7819)crowlKats
This commit introduces localStorage and sessionStorage.
2021-05-10feat: add deno test --watch (#9160)Liam Murphy
This commit implements file watching for deno test. When a file is changed, only the test modules which use it as a dependency are rerun. This is accomplished by reworking the file watching infrastructure to pass the paths which have changed to the resolver, and then constructing a module graph for each test module to check if it contains any changed files.
2021-05-06chore: update wgpu and realign to spec (#9760)Luca Casonato
2021-04-28feat(test): run test modules in parallel (#9815)Casper Beyer
This commit adds support for running test in parallel. Entire test runner functionality has been rewritten from JavaScript to Rust and a set of ops was added to support reporting in Rust. A new "--jobs" flag was added to "deno test" that allows to configure how many threads will be used. When given no value it defaults to 2.
2021-04-27remove --unstable flag from CLI features (#10190)Bartek Iwańczuk
2021-04-26Remove denort optimization (#10350)Ryan Dahl
denort is an optimization to "deno compile" to produce slightly smaller output. It's a decent idea, but causes a lot of negative side-effects: - Deno's link time is a source of constant agony both locally and in CI, denort doubles link time. - The release process is a long and arduous undertaking with many manual steps. denort necessitates an additional manual zip + upload from M1 apple computers. - The "deno compile" interface is complicated with the "--lite" option. This is confusing for uses ("why wouldn't you want lite?"). The benefits of this feature do not outweigh the negatives. We must find a different approach to optimizing "deno compile" output.
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.