summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
AgeCommit message (Collapse)Author
2023-01-05refactor(cli,core,ext,rt): remove some unnecessary `clone` or `malloc` (#17274)Yiyu Lin
2023-01-05refactor(cli): clean up clones (#17268)Geert-Jan Zwiers
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-13feat(repl): support npm packages (#16770)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-12-12fix: always derive http client from cli flags (#17029)David Sherret
I'm not sure how to test this. It doesn't seem to have an existing test. Closes #15921
2022-12-12feat: improve download progress bar (#16984)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-12-09refactor: cleanup main.rs (#16996)David Sherret
1. Extracts out some code from main.rs 2. Inlines all the `x_command` functions in main.rs
2022-12-08fix(compile): ensure import map is used when specified in deno config file ↵David Sherret
(#16990) Closes #14246
2022-12-06refactor: remove `deno_graph::Locker` usage (#16877)David Sherret
This is just a straight refactor and doesn't make any improvements to the code that could now be made. Closes #16493
2022-11-30fix(npm): improve package.json exports support for types (#16880)David Sherret
2022-11-28refactor: create util folder, move nap_sym to napi/sym, move http_cache to ↵David Sherret
cache folder (#16857)
2022-11-27fix(npm): ensure npm package downloaded once per run when using `--reload` ↵David Sherret
(#16842)
2022-11-26refactor: `DenoDir` - move to cache folder and make `root_dir` private (#16823)David Sherret
2022-11-25refactor: move dts files, diagnostics.rs, and tsc.rs to tsc folder (#16820)David Sherret
2022-11-25refactor: move lockfile.rs to args module (#16818)David Sherret
This should be in the `args` folder as it's similar to `config_file`.
2022-11-24fix(npm/check): prioritize exports over types entry (#16788)David Sherret
2022-11-23chore: more debug logging and avoid allocating strings in ts logging when ↵David Sherret
not debug (#16689)
2022-11-18fix(npm): use an http client with connection pool (#16705)David Sherret
Should make downloading npm packages faster and more reliable.
2022-11-16fix(lock): ensure npm dependencies are written with --lock-write (#16668)Bartek Iwańczuk
If "--lock-write" flag was present we never passed instance of the lockfile to the npm resolver, which made it skip adding discovered npm packages to the lockfile. This commit fixes that, by always passing lockfile to the npm resolver and only regenerating resolver snapshot is "--lock-write" is not present. Closes https://github.com/denoland/deno/issues/16666
2022-11-13feat(npm): require --unstable for npm specifiers in remote modules (#16612)David Sherret
2022-11-11feat(unstable/npm): module graph derived npm specifier resolution order (#16602)David Sherret
2022-11-10feat: don't require --unstable flag for npm programs (#16520)Bartek Iwańczuk
This PR adds copies of several unstable APIs that are available in "Deno[Deno.internal].nodeUnstable" namespace. These copies do not perform unstable check (ie. don't require "--unstable" flag to be present). Otherwise they work exactly the same, including permission checks. These APIs are not meant to be used by users directly and can change at any time. Copies of following APIs are available in that namespace: - Deno.spawnChild - Deno.spawn - Deno.spawnSync - Deno.serve - Deno.upgradeHttpRaw - Deno.listenDatagram
2022-11-10feat: remove --unstable flag requirement for npm: specifiers (#16473)Bartek Iwańczuk
This commit makes "npm:" specifiers not require "--unstable" flag. At the moment some APIs used by Node polyfills still require "--unstable" which will be addressed in follow up PRs.
2022-11-08feat(unstable/npm): support peer dependencies (#16561)David Sherret
This adds support for peer dependencies in npm packages. 1. If not found higher in the tree (ancestor and ancestor siblings), peer dependencies are resolved like a dependency similar to npm 7. 2. Optional peer dependencies are only resolved if found higher in the tree. 3. This creates "copy packages" or duplicates of a package when a package has different resolution due to peer dependency resolution—see https://pnpm.io/how-peers-are-resolved. Unlike pnpm though, duplicates of packages will have `_1`, `_2`, etc. added to the end of the package version in the directory in order to minimize the chance of hitting the max file path limit on Windows. This is done for both the local "node_modules" directory and also the global npm cache. The files are hard linked in this case to reduce hard drive space. This is a first pass and the code is definitely more inefficient than it could be. Closes #15823
2022-11-02fix(lock): autodiscovery of lockfile (#16498)Bartek Iwańczuk
This commit adds autodiscovery of lockfile. This only happens if Deno discovers the configuration file (either "deno.json" or "deno.jsonc"). In such case Deno tries to load "deno.lock" file that sits next to the configuration file, or creates one for user if the lockfile doesn't exist yet. As a consequence, "--lock" and "--lock-write" flags had been updated. "--lock" no longer requires a value, if one is not provided, it defaults to "./deno.lock" resolved from the current working directory. "--lock-write" description was updated to say that it forces to overwrite a lockfile. Autodiscovery is currently not handled by the LSP.
2022-11-02refactor: Combine ImportMapResolver and JsxResolver (#16508)Bartek Iwańczuk
These resolvers are used in `deno_graph` APIs. Combining them removes a lot of code and unblocks me on https://github.com/denoland/deno/pull/16157
2022-11-01fix(lock): Additive lock file (#16500)Bartek Iwańczuk
This commit changes lockfile to be "additive" - ie. integrity check only fails if file/package is already specified in the lockfile, but its integrity doesn't match. If file/package is not present in the lockfile, it will be added to the lockfile and the lockfile will be written to disk.
2022-10-31chore: remove stale comments (#16491)Bartek Iwańczuk
Just a drive-by, noticed some stale comments that haven't been removed earlier.
2022-10-28refactor(npm): reorganize initialization of compat layer (#16471)Bartek Iwańczuk
Ensures that "std/node" graph is analyzed only once.
2022-10-25fix(npm): add support for npm packages in lock files (#15938)Bartek Iwańczuk
This commit adds support for npm packages in the lock file.
2022-10-25fix: upgrade swc_ecma_parser to 0.122.19 - deno_ast 0.20 (#16406)David Sherret
2022-10-24fix(cli): Fixed bug where the progress bar did not clear (#16401)nasa
2022-10-21feat(unstable/npm): initial type checking of npm specifiers (#16332)David Sherret
2022-10-20fix(lsp): allow caching deps in non-saved files (#16353)David Sherret
2022-10-04refactor: remove old Node compat code (#16142)Bartek Iwańczuk
This code was introduced in 808f797633ba82c0e9198481ddd742284a03cb9c and was needed for "compat mode". Since "compat mode" was removed in v1.26, this code is no longer needed.
2022-10-01perf: node cjs & esm analysis cache (#16097)David Sherret
This commit adds a cache for CJS and ESM analysis that is backed by an SQLite file. The connection to the DB is lazily created on first use, so shouldn't have impact on the startup time. Benched with running Vite Deno v1.26: ``` $ deno task dev Warning deno task is unstable and may drastically change in the future Task dev deno run -A --unstable --node-modules-dir npm:vite VITE v3.1.4 ready in 961 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ``` This branch: ``` ../deno/target/release/deno task dev Warning deno task is unstable and may drastically change in the future Task dev deno run -A --unstable --node-modules-dir npm:vite VITE v3.1.4 ready in 330 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ``` Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-09-22feat(npm): add flag for creating and resolving npm packages to a local ↵David Sherret
node_modules folder (#15971)
2022-09-22feat(npm): add support for --reload=npm: and --reload=npm:<package> (#15972)Bartek Iwańczuk
2022-09-13refactor(npm): create general use `NpmPackageResolver` (#15882)David Sherret
2022-09-09feat: download progress bar (#15814)Bartek Iwańczuk
2022-09-07fix: upgrade deno_ast to 0.19 (#15808)David Sherret
2022-09-07feat: add --no-npm flag to disable npm: imports (#15673)Bartek Iwańczuk
This commit adds "--no-npm" flag, it's similar to "--no-remote" flag. This flag makes Deno error out if "npm:" specifier is encountered.
2022-09-06refactor(npm): reorganize remapping built-in Node modules to remote URLs ↵Bartek Iwańczuk
(#15755) Changes how built-in Node modules are mapped to polyfills from "deno_std". Instead of intertwining this logic into Node resolution logic, we map them to "NodeResolution::BuiltIn" which are remapped to "deno_std" URLs in ProcState.
2022-09-03BREAKING(unstable): remove --compat mode (#15678)Bartek Iwańczuk
This commit removes "compat" mode. We shipped support for "npm:" specifier support in v1.25 and that is preferred way to interact with Node code that we will iterate and improve upon.
2022-09-02refactor: extract out check code from emit (#15729)David Sherret
Closes #15535
2022-09-01fix(npm): ignore npm cache directory creation errors (#15728)David Sherret
2022-09-01fix(npm): ignore the unstable error in the lsp (#15727)David Sherret
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.