summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
AgeCommit message (Collapse)Author
2022-08-29refactor(cli): Remove cli/node dependency on cli/compat (#15654)Bartek Iwańczuk
2022-08-24fix(npm): always require --unstable flag even for esm (#15583)David Sherret
2022-08-24fix: resolve `jsxImportSource` relative to module (#15561)Luca Casonato
Previously `jsxImportSource` was resolved relative to the config file during graph building, and relative to the emitted module during runtime. This is now fixed so that the JSX import source is resolved relative to the module both during graph building and at runtime.
2022-08-23feat: binary npm commands (#15542)David Sherret
2022-08-23fix(cache): do not attempt to emit non-emitable files (#15562)David Sherret
2022-08-22perf: cache swc dependency analysis and don't hold onto `ParsedSource`s in ↵David Sherret
memory (#15502)
2022-08-22feat(unstable): Respect --cached-only flags for npm: specifiers (#15512)Bartek Iwańczuk
This commit changes "npm:" specifier handling to respect "--cached-only" flags and adds "Download" messages for npm registry api calls. Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-20feat(unstable): initial support for npm specifiers (#15484)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-08-12fix(coverage): ensure coverage is only collected in certain situations (#15467)David Sherret
2022-07-19feat: emit files on demand and fix racy emit (#15220)David Sherret
2022-07-15refactor: remove redundant qualification of symbols in Rust (#15201)orvit
2022-07-13chore(cli): remove dead code related to previous tsc emit (#15196)Nayeem Rahman
2022-07-12fix: fallback to no type checking cache when db file can't be created (#15180)David Sherret
2022-07-12perf: use emit from swc instead of tsc (#15118)David Sherret
2022-07-11perf(cli/proc_state): Get error source lines from memory (#15031)Nayeem Rahman
2022-07-01refactor: extract `deno_graph::create_graph` use to common function (#15009)David Sherret
2022-06-29fix(vendor): ignore import map in output directory instead of erroring (#14998)David Sherret
2022-06-29refactor: rename `RootConfig` to `CliOptions` (#15007)David Sherret
2022-06-28refactor: add `RootConfig` (#14985)David Sherret
2022-06-27refactor: create `args` folder (#14982)David Sherret
2022-06-20refactor: add `EmitCache` trait (#14925)David Sherret
2022-06-20fix: do not panic running .d.cts and .d.mts files (#14917)David Sherret
2022-06-20perf(core): Cache source lookups (#14816)Nayeem Rahman
Keep a cache for source maps and source lines. We sort of already had a cache argument for source map lookup functions but we just passed an empty map instead of storing it. Extended it to cache source line lookups as well and plugged it into runtime state.
2022-06-14feat(vendor): support using an existing import map (#14836)David Sherret
2022-06-08fix: watch dynamic imports in --watch (#14775)Bartek Iwańczuk
Fix dynamic imports being watched in the watcher when using `--watch`.
2022-05-20refactor: upgrade to deno_ast 0.15 (#14680)David Sherret
2022-05-05refactor(core): use Box<u8> for ModuleSource.code instead of a String (#14487)Bartek Iwańczuk
2022-04-15refactor: Move source map lookups to core (#14274)Nayeem Rahman
The following transformations gradually faced by "JsError" have all been moved up front to "JsError::from_v8_exception()": - finding the first non-"deno:" source line; - moving "JsError::script_resource_name" etc. into the first error stack in case of syntax errors; - source mapping "JsError::script_resource_name" etc. when wrapping the error even though the frame locations are source mapped earlier; - removing "JsError::{script_resource_name,line_number,start_column,end_column}" entirely in favour of "js_error.frames.get(0)". We also no longer pass a js-side callback to "core/02_error.js" from cli. I avoided doing this on previous occasions because the source map lookups were in an awkward place.
2022-04-11feat: Add "deno check" subcommand for type checking (#14072)Bartek Iwańczuk
This commit adds new "deno check" subcommand. Currently it is an alias for "deno cache" with the difference that remote modules don't emit TS diagnostics by default. Prints warning for "deno run" subcommand if "--check" flag is not present and there's no "--no-check" flag. Adds "DENO_FUTURE_CHECK" env variable that allows to opt into new behavior now.
2022-03-29refactor(flags): rename CheckFlag to TypecheckMode (#14111)Bartek Iwańczuk
2022-03-23chore: remove all `pub(crate)`s from the cli crate (#14083)David Sherret
2022-03-11fix(compat): cjs/esm interop for dynamic imports (#13792)Bartek Iwańczuk
This commit fixes CJS/ESM interop in compat mode for dynamically imported modules. "ProcState::prepare_module_load" was changed to accept a list of "graph roots" without associated "module kind". That module kind was always hardcoded to "ESM" which is not true for CJS/ESM interop - a CommonJs module might be imported using "import()" function. In such case the root of the graph should have "CommonJs" module kind instead of "ESM".
2022-02-27feat(compat): CJS/ESM interoperability (#13553)Bartek Iwańczuk
This commit adds CJS/ESM interoperability when running in --compat mode. Before executing files, they are analyzed and all CommonJS modules are transformed on the fly to a ES modules. This is done by utilizing analyze_cjs() functionality from deno_ast. After discovering exports and reexports, an ES module is rendered and saved in memory for later use. There's a caveat that all files ending with ".js" extension are considered as CommonJS modules (unless there's a related "package.json" with "type": "module").
2022-02-24chore: upgrade to Rust 1.59 (#13767)David Sherret
2022-02-23feat: allow specification of import map in config file (#13739)Kitson Kelly
Closes: #12800
2022-02-11refactor: use `Arc` instead of making copies of `Flags` struct (#13610)Maxim
2022-02-10feat(lsp): provide completions from import map if available (#13624)Kitson Kelly
Closes #13619
2022-02-01refactor: integrate deno_graph breaking changes (#13495)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-01-24fix(lsp): respect DENO_CERT and other options related to TLS certs (#13467)Kitson Kelly
Fixes #13437
2022-01-17feat: auto-discover config file (#13313)Ryan Dahl
2022-01-13refactor: upgrade to import_map v0.6 (#13368)David Sherret
2022-01-13refactor: move transpiling to deno_ast (#13332)David Sherret
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-12-22chore: update deno_graph and deno_doc (#13173)Kitson Kelly
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-12-07chore: upgrade to rustls 0.20 (#12488)Ryan Dahl
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-12-01refactor: cli doesn't need to depend on deno_tls (#12952)Ryan Dahl
also move create_http_client to deno_fetch