1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-23 15:16:54 -05:00
denoland-deno/cli/tests/testdata/npm
David Sherret cbb3f85433
feat(unstable/npm): support peer dependencies (#16561)
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-08 14:17:24 -05:00
..
builtin_module_module fix(ext/node): fix builtin module module (#15904) 2022-09-17 20:35:32 +09:00
cached_only feat(unstable): Respect --cached-only flags for npm: specifiers (#15512) 2022-08-22 17:35:04 +02:00
cached_only_after_first_run feat(unstable): Respect --cached-only flags for npm: specifiers (#15512) 2022-08-22 17:35:04 +02:00
check_errors feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
child_process_fork_test feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
cjs_local_global_decls fix: avoid global declaration collisions in cjs (#15608) 2022-08-25 20:24:18 -04:00
cjs_module_export_assignment chore(npm): add explicit tests for module.exports assignment with type checking (#16435) 2022-10-27 17:54:46 -04:00
cjs_module_export_assignment_number chore(npm): add explicit tests for module.exports assignment with type checking (#16435) 2022-10-27 17:54:46 -04:00
cjs_reexport_collision fix(npm): align Deno importing Node cjs with Node esm importing cjs (#15879) 2022-09-12 14:28:51 -04:00
cjs_sub_path feat: binary npm commands (#15542) 2022-08-23 10:39:19 -04:00
cjs_this_in_exports fix(npm): remove export binding to match node (#15837) 2022-09-10 11:38:11 -04:00
cjs_with_deps feat(unstable/npm): deno info --json support for npm specifiers (#16472) 2022-10-31 10:25:46 -04:00
cjs_yargs fix(npm): fix CJS resolution with local node_modules dir (#16547) 2022-11-06 00:58:21 +01:00
compare_globals feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
conditional_exports fix(npm): conditional exports with wildcards (#15652) 2022-08-29 19:15:20 +02:00
dual_cjs_esm feat(unstable/npm): support providing npm dist-tag in npm package specifier (#16293) 2022-10-17 09:16:19 -04:00
dynamic_import fix(unstable): various resolution bugs for npm: specifiers (#15546) 2022-08-24 14:54:20 +02:00
env_var_re_export fix(npm): recursive translation of reexports, remove window global in node code (#15806) 2022-09-08 22:01:48 +02:00
error_version_after_subpath fix(npm): better error is version is specified after subpath (#16131) 2022-10-03 19:10:53 +02:00
esm chore: fix flaky esm_module_deno_test test (#16419) 2022-10-25 13:18:54 -04:00
esm_import_cjs_default feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
import_map feat(unstable): Respect --cached-only flags for npm: specifiers (#15512) 2022-08-22 17:35:04 +02:00
info feat(unstable/npm): deno info --json support for npm specifiers (#16472) 2022-10-31 10:25:46 -04:00
invalid_package_name fix(npm): panic on invalid package name (#16123) 2022-10-03 17:45:01 +02:00
lock_file fix(lock): autodiscovery of lockfile (#16498) 2022-11-02 16:32:30 +01:00
no_npm_after_first_run feat: add --no-npm flag to disable npm: imports (#15673) 2022-09-07 15:33:51 +02:00
no_unstable fix(npm): always require --unstable flag even for esm (#15583) 2022-08-24 13:44:38 -04:00
nonexistent_file fix(npm): add more context to errors when file doesn't exist (#15749) 2022-09-03 15:43:35 +02:00
peer_deps_with_copied_folders feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
registry feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
reload feat(npm): add support for --reload=npm: and --reload=npm:<package> (#15972) 2022-09-22 10:39:58 -04:00
require_added_nm_folder feat(npm): add flag for creating and resolving npm packages to a local node_modules folder (#15971) 2022-09-22 11:17:02 -04:00
require_json fix(npm): handle json files in require (#16125) 2022-10-01 22:21:19 +02:00
sub_paths feat: support subpaths in npm package references (#15578) 2022-08-24 11:25:32 -04:00
tarball_with_global_header fix(npm): remove export binding to match node (#15837) 2022-09-10 11:38:11 -04:00
translate_cjs_to_esm fix(npm): remove export binding to match node (#15837) 2022-09-10 11:38:11 -04:00
types_ambient_module feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
deno_cache.out feat(unstable): add support for npm specifier cli arguments for 'deno cache' (#16141) 2022-10-03 23:26:42 +02:00
deno_run_cjs.out fix(npm): binary entrypoint for .js or no extension (#15900) 2022-09-14 10:41:47 -04:00
deno_run_cowsay.out feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
deno_run_cowthink.out feat(npm): support packages with multiple command names (#15565) 2022-08-23 22:01:21 -04:00
deno_run_esm.out chore(npm): add test for esm npm binary package (#15609) 2022-08-26 09:17:48 -04:00
deno_run_no_ext.out fix(npm): binary entrypoint for .js or no extension (#15900) 2022-09-14 10:41:47 -04:00
deno_run_non_existent.out fix(npm): correct exact matching of pre-release versions (#15745) 2022-09-02 11:21:40 -04:00
README.md fix: avoid global declaration collisions in cjs (#15608) 2022-08-25 20:24:18 -04:00

npm test data

This folder contains test data for npm specifiers.

Registry

The registry is served by the test server (server in test_util) at http://localhost:4545/npm/registry/ via the ./registry folder.

Updating with real npm packages

  1. Set the DENO_TEST_UTIL_UPDATE_NPM=1 environment variable
  2. Run the test and it should download the packages.

Using a custom npm package

  1. Add the custom package to ./registry/@denotest
  2. Reference npm:@denotest/<your-package-name> in the tests.