summaryrefslogtreecommitdiff
path: root/cli/tsc.rs
AgeCommit message (Collapse)Author
2021-12-16refactor(cli): use GraphData for check and emit (#12960)Nayeem Rahman
2021-12-15feat: Add support for import assertions and JSON modules (#12866)Bartek Iwańczuk
This commit adds proper support for import assertions and JSON modules. Implementation of "core/modules.rs" was changed to account for multiple possible module types, instead of always assuming that the code is an "ES module". In effect "ModuleMap" now has knowledge about each modules' type (stored via "ModuleType" enum). Module loading pipeline now stores information about expected module type for each request and validates that expected type matches discovered module type based on file's "MediaType". Relevant tests were added to "core/modules.rs" and integration tests, additionally multiple WPT tests were enabled. There are still some rough edges in the implementation and not all WPT were enabled, due to: a) unclear BOM handling in source code by "FileFetcher" b) design limitation of Deno's "FileFetcher" that doesn't download the same module multiple times in a single run Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-12-15chore: updates to support deno_graph API changes (#13080)Kitson Kelly
2021-12-10feat(cli): update to TypeScript 4.5 (#12410)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-11-16refactor: re-export anyhow from deno_core (#12777)Ryan Dahl
2021-11-09feat(cli): support React 17 JSX transforms (#12631)Kitson Kelly
Closes #8440
2021-11-01chore: upgrade deno_ast to 0.5.0 (#12595)David Sherret
2021-10-11refactor: integrate deno_graph into CLI (#12369)Kitson Kelly
2021-09-07refactor(lsp): use deno_ast and cache swc ASTs (#11780)David Sherret
2021-08-31fix: move unstable declarations to deno.unstable (#11876)Luca Casonato
2021-08-11chore: move test files to testdata directory (#11601)David Sherret
2021-07-30chore: upgrade Rust to 1.54.0 (#11554)Yusuke Tanaka
2021-07-12refactor: deno_http op crate (#11335)Luca Casonato
2021-07-06chore: use parking_lot for synchronization primitives to align with tokio ↵David Sherret
(#11289) parking_lot is already transitively used in tokio via the "full" cargo feature
2021-06-29feat: Add "deno_net" extension (#11150)Bartek Iwańczuk
This commits moves implementation of net related APIs available on "Deno" namespace to "deno_net" extension. Following APIs were moved: - Deno.listen() - Deno.connect() - Deno.listenTls() - Deno.serveHttp() - Deno.shutdown() - Deno.resolveDns() - Deno.listenDatagram() - Deno.startTls() - Deno.Conn - Deno.Listener - Deno.DatagramConn
2021-06-22refactor: unify JavaScript script execution method (#11043)Bartek Iwańczuk
This commit renames "JsRuntime::execute" to "JsRuntime::execute_script". Additionally same renames were applied to methods on "deno_runtime::Worker" and "deno_runtime::WebWorker". A new macro was added to "deno_core" called "located_script_name" which returns the name of Rust file alongside line no and col no of that call site. This macro is useful in combination with "JsRuntime::execute_script" and allows to provide accurate place where "one-off" JavaScript scripts are executed for internal runtime functions. Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2021-06-22feat(cli): support "types" when type checking (#10999)Kitson Kelly
Fixes #10677
2021-06-10refactor: merge deno_file crate into deno_web (#10914)Bartek Iwańczuk
This refactor makes it so there's one less crate to publish on each release.
2021-05-28feat(cli): upgrade to TypeScript 4.3 (#9960)Kitson Kelly
2021-05-23feat(extensions): add BroadcastChannelBen Noordhuis
Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl> Fixes: #10354
2021-05-11feat(lsp): add internal debugging logging (#10438)Kitson Kelly
Ref: #10368
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-06refactor(ops): replace `ZeroCopyBuf` arg by 2nd generic deserializable arg ↵Aaron O'Mullan
(#10448)
2021-05-02clean(cli): prefix all op functions with op_ (#10463)Aaron O'Mullan
Makes the codebase more searchable and helps distinguish op functions from helper functions Besides tests/examples/benches this pattern appears to be used everywhere else in the codebase
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-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
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-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-01feat: WebGPU API (#7977)crowlKats
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-02-26chore(cli/runtime): use re-export serde from deno_core (#9599)Kitson Kelly
2021-02-18fix(lsp): handle data URLs properly (#9522)Kitson Kelly
Fixes #9514 Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2021-02-17Make ModuleSpecifier a type alias, not wrapper struct (#9531)Ryan Dahl
2021-02-12fix(lsp): properly handle static assets (#9476)Kitson Kelly
2021-01-29fix(cli): add lib dom.asynciterable (#9288)Kitson Kelly
Fixes #9218
2021-01-28fix(cli): early abort before type checking on missing modules (#9285)Kitson Kelly
Fixes #9275
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka
2021-01-06refactor: move WebSocket API to an op_crate (#9026)Luca Casonato
2021-01-06feat(cli): support data urls (#8866)Kitson Kelly
Closes: #5059 Co-authored-by: Valentin Anger <syrupthinker@gryphno.de>
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.
2020-12-30feat(lsp): add cache command (#8911)Kitson Kelly
2020-12-16refactor(lsp): optimise static assets (#8771)Kitson Kelly
Fixes #8158
2020-12-07feat: add mvp language server (#8515)Kitson Kelly
Resolves #8400
2020-11-24feat(cli): update to TypeScript 4.1 (#7573)Kitson Kelly
2020-11-10fix(cli): allow root modules be .mjs/.cjs (#8310)Kitson Kelly
Fixes #6176