summaryrefslogtreecommitdiff
path: root/cli/npm/registry.rs
AgeCommit message (Collapse)Author
2023-01-23refactor: Move lockfile to a separate crate (#17503)Bartek Iwańczuk
Moves the lockfile implementation to a separate crate so other projects like Deploy can use it as well.
2023-01-06fix(npm): support old packages and registries with no integrity, but with a ↵David Sherret
sha1sum (#17289) Closes #17281
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-12feat: improve download progress bar (#16984)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-12-07feat(npm): add support for `NPM_CONFIG_REGISTRY` (#16980)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-18fix(npm): use an http client with connection pool (#16705)David Sherret
Should make downloading npm packages faster and more reliable.
2022-11-18chore: use Rust 1.65.0 (#16688)Aaron O'Mullan
2022-11-15fix(npm): support dist tags specified in npm package dependencies (#16652)David Sherret
Closes #16321
2022-11-11perf: more efficient `deno cache` and npm package info usage (#16592)David Sherret
1. There was a lot of cloning going on with `NpmPackageInfo`. This is now stored in an `Arc<NpmPackageInfo>` and cloning only happens on the individual version. 2. The package cache is now cleared from memory after resolution. 3. This surfaced a bug in `deno cache` and I noticed it can be more efficient if we have multiple root specifiers if we provide all the specifiers as roots.
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-09-28feat(npm): functionality to support child_process.fork (#15891)David Sherret
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-02fix(npm): respect `latest` dist tag for getting current version (#15746)David Sherret
2022-09-01fix(npm): better node version and version requirement compatibility (#15714)David Sherret
2022-08-25fix: avoid global declaration collisions in cjs (#15608)David Sherret
* Use a default stack size * 2 in debug for Windows because swc using so much stack size. We should look into this more later though.
2022-08-24fix(unstable): various resolution bugs for npm: specifiers (#15546)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-23feat: binary npm commands (#15542)David Sherret
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-10feat: add initial internal npm client and dependency resolver (#15446)David Sherret