summaryrefslogtreecommitdiff
path: root/cli/tests/integration/npm_tests.rs
AgeCommit message (Collapse)Author
2022-11-16fix(npm): don't fail if conditional exports don't contains types (#16651)Bartek Iwańczuk
If resolving types for an npm package, we didn't find "types" entry in the conditional exports declaration we were falling-through to regular resolution, instead of short-circuiting and giving up on resolving types, which might lead to unwarranted errors. Closes https://github.com/denoland/deno/issues/16649
2022-11-14fix(bundle): explicit error when using an npm specifier with deno bundle ↵David Sherret
(#16637)
2022-11-13feat(npm): require --unstable for npm specifiers in remote modules (#16612)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-06fix(npm): fix CJS resolution with local node_modules dir (#16547)Bartek Iwańczuk
This commit fixes CJS resolution when there's a local "node_modules/" directory. Before this commit relative imports from CJS files where resolved relative to root directory of the package instead of relative to referrer file.
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-02fix(lockfile): error if a referenced package id doesn't exist in list of ↵David Sherret
packages (#16509) Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-10-31feat(unstable/npm): `deno info --json` support for npm specifiers (#16472)David Sherret
2022-10-28feat: support npm specifiers in `deno info` for display text output only ↵David Sherret
(#16470)
2022-10-27chore(npm): add explicit tests for `module.exports` assignment with type ↵David Sherret
checking (#16435)
2022-10-26fix(compile): show an error when using npm specifiers (#16430)David Sherret
Closes #16427
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-21feat(unstable/npm): initial type checking of npm specifiers (#16332)David Sherret
2022-10-03feat(unstable): add support for npm specifier cli arguments for 'deno cache' ↵Bartek Iwańczuk
(#16141) This commit adds support for npm specifier in "deno cache" subcommand. ``` $ deno cache --unstable npm:vite npm:chalk https://deno.land/std/http/file_server.ts ``` Besides downloading requested npm package(s), it will also download necessary code from "std/node/".
2022-10-03fix(npm): better error is version is specified after subpath (#16131)Bartek Iwańczuk
2022-10-03fix(npm): panic on invalid package name (#16123)Bartek Iwańczuk
2022-10-01fix(npm): handle json files in require (#16125)Bartek Iwańczuk
2022-09-28feat(npm): functionality to support child_process.fork (#15891)David Sherret
2022-09-23perf: don't re-download package tarball to global cache if local ↵David Sherret
node_modules folder exists for package (#16005)
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-14fix(npm): binary entrypoint for .js or no extension (#15900)Bartek Iwańczuk
2022-09-12fix(npm): use shim from deno_node crate for 'module' built-in module (#15881)Bartek Iwańczuk
2022-09-10fix(npm): align Node esm code importing cjs with Node (#15838)David Sherret
2022-09-10fix(npm): remove export binding to match node (#15837)David Sherret
2022-09-08fix(npm): recursive translation of reexports, remove window global in node ↵Bartek Iwańczuk
code (#15806) Co-authored-by: David Sherret <dsherret@gmail.com>
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-03fix(npm): add more context to errors when file doesn't exist (#15749)Bartek Iwańczuk
2022-08-31fix(npm): translate CJS to ESM with name clashes for files and dirs (#15697)Bartek Iwańczuk
2022-08-30fix(npm): prefer importing esm from esm (#15676)David Sherret
2022-08-30fix(npm): skip extracting pax_global_header from tarballs (#15677)Bartek Iwańczuk
2022-08-29fix(npm): conditional exports with wildcards (#15652)Bartek Iwańczuk
2022-08-29chore: update test_util/std/ submodule (#15657)Bartek Iwańczuk
2022-08-26fix(npm): handle cjs re-exports with the same name as an export (#15626)David Sherret
2022-08-26fix(ext/node): fix global in node env (#15622)Yoshiya Hinosawa
2022-08-26chore(npm): add test for esm npm binary package (#15609)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(npm): always require --unstable flag even for esm (#15583)David Sherret
2022-08-24feat: support subpaths in npm package references (#15578)David Sherret
2022-08-23feat(npm): support packages with multiple command names (#15565)David Sherret
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>