1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-24 16:19:12 -05:00
denoland-deno/cli/tests/testdata/npm
Bartek Iwańczuk 4d1a14ca7f
feat: auto-discover package.json for npm dependencies (#17272)
This commits adds auto-discovery of "package.json" file when running
"deno run" and "deno task" subcommands. In case of "deno run" the
"package.json" is being looked up starting from the directory of the
script that is being run, stopping early if "deno.json(c)" file is found
(ie. FS tree won't be traversed "up" from "deno.json").

When "package.json" is discovered the "--node-modules-dir" flag is
implied, leading to creation of local "node_modules/" directory - we
did that, because most tools relying on "package.json" will expect
"node_modules/" directory to be present (eg. Vite). Additionally 
"dependencies" and "devDependencies" specified in the "package.json"
are downloaded on startup. 

This is a stepping stone to supporting bare specifier imports, but
the actual integration will be done in a follow up commit.

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
2023-02-20 19:14:06 +01:00
..
builtin_module_module fix(ext/node): fix builtin module module (#15904) 2022-09-17 20:35:32 +09:00
cached_only feat: auto-discover package.json for npm dependencies (#17272) 2023-02-20 19:14:06 +01: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 fix: use static Reflect methods in nodeGlobalThis proxy (#17696) 2023-02-08 19:11:12 -05:00
conditional_exports fix(npm): use original node regex in npm resolution (#17404) 2023-01-14 00:57:24 +01:00
create_require fix(ext/node): allow absolute path in createRequire (#16853) 2022-11-29 14:13:14 +09: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
dynamic_import_reload_same_package fix(npm): ensure npm package downloaded once per run when using --reload (#16842) 2022-11-27 13:25:08 -05: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 fix(npm/check): prioritize exports over types entry (#16788) 2022-11-24 17:07:36 +00:00
esm_import_cjs_default fix(ext/console): log class for class constructor (#17615) 2023-02-05 00:34:36 +01:00
import_map fix: Make npm packages works with import maps (#16754) 2022-11-22 20:09:30 +01: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
mixed_case_package_name fix(npm): support non-all lowercase package names (#16669) 2022-11-16 18:44:31 +00: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_types_cjs fix(npm): don't resolve JS files when resolving types (#16854) 2022-11-28 17:48:56 -05:00
no_types_in_conditional_exports fix(npm/check): prioritize exports over types entry (#16788) 2022-11-24 17:07:36 +00: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
permissions_outside_package fix(npm): allow to read package.json if permissions are granted (#17209) 2023-01-10 14:35:44 +01:00
registry fix: use static Reflect methods in nodeGlobalThis proxy (#17696) 2023-02-08 19:11:12 -05:00
reload feat(npm): add support for --reload=npm: and --reload=npm:<package> (#15972) 2022-09-22 10:39:58 -04:00
remote_npm_specifier feat(npm): require --unstable for npm specifiers in remote modules (#16612) 2022-11-13 10:42:15 -05: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(ext/console): log class for class constructor (#17615) 2023-02-05 00:34:36 +01:00
translate_cjs_to_esm fix(npm): probing for files that have a file stem (#16641) 2022-11-15 13:58:04 +01:00
types fix(npm): handle declaration file resolution where packages incorrectly define "types" last in "exports" (#17290) 2023-01-06 12:57:52 -05:00
types_ambient_module feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
types_entry_value_not_exists chore(npm): fix types tests (#16882) 2022-12-01 12:26:33 -05:00
types_exports_import_types chore(npm): fix types tests (#16882) 2022-12-01 12:26:33 -05:00
types_no_types_entry fix(npm): dependency types were sometimes not being resolved when package had no types entry (#16958) 2022-12-05 20:09:31 -05:00
typescript_file_in_package fix(npm): better error message when attempting to use typescript in npm packages (#16813) 2022-11-25 13:42:05 -05:00
deno_cache.out perf: more efficient deno cache and npm package info usage (#16592) 2022-11-11 11:33:57 -05: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.