diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-08-17 10:39:06 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 10:39:06 -0400 |
commit | 4535f79a4afb3bd58e46b9fbbb216cffe9d05129 (patch) | |
tree | e6cd40fe05214dfe04be4e22376a23a72fec21e1 /cli/tests | |
parent | 23ff0e722e3c4b0827940853c53c5ee2ede5ec9f (diff) |
fix(npm): do not panic providing file url to require.resolve paths (#20182)
Closes #19922
Diffstat (limited to 'cli/tests')
4 files changed, 31 insertions, 0 deletions
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index fb8d88dca..f27befe54 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -2155,3 +2155,13 @@ itest!(check_package_file_dts_dmts_dcts { http_server: true, exit_code: 1, }); + +itest!(require_resolve_url_paths { + args: "run -A --quiet --node-modules-dir url_paths.ts", + output: "npm/require_resolve_url/url_paths.out", + envs: env_vars_for_npm_tests_no_sync_download(), + http_server: true, + exit_code: 0, + cwd: Some("npm/require_resolve_url/"), + copy_temp_dir: Some("npm/require_resolve_url/"), +}); diff --git a/cli/tests/testdata/npm/require_resolve_url/package.json b/cli/tests/testdata/npm/require_resolve_url/package.json new file mode 100644 index 000000000..814c77a5b --- /dev/null +++ b/cli/tests/testdata/npm/require_resolve_url/package.json @@ -0,0 +1,7 @@ +{ + "name": "@denotest/example", + "version": "1.0.0", + "dependencies": { + "@denotest/esm-basic": "*" + } +} diff --git a/cli/tests/testdata/npm/require_resolve_url/url_paths.out b/cli/tests/testdata/npm/require_resolve_url/url_paths.out new file mode 100644 index 000000000..404d7dcba --- /dev/null +++ b/cli/tests/testdata/npm/require_resolve_url/url_paths.out @@ -0,0 +1,2 @@ +file:///[WILDCARD]/npm/require_resolve_url/ +[WILDCARD]require_resolve_url[WILDCARD]node_modules[WILDCARD].deno[WILDCARD]@denotest+esm-basic@1.0.0[WILDCARD]node_modules[WILDCARD]@denotest[WILDCARD]esm-basic[WILDCARD]main.mjs diff --git a/cli/tests/testdata/npm/require_resolve_url/url_paths.ts b/cli/tests/testdata/npm/require_resolve_url/url_paths.ts new file mode 100644 index 000000000..7826568fe --- /dev/null +++ b/cli/tests/testdata/npm/require_resolve_url/url_paths.ts @@ -0,0 +1,12 @@ +import { createRequire } from "node:module"; +const require = createRequire(import.meta.url); + +console.log(getParentUrl()); +console.log(require.resolve("@denotest/esm-basic", { + paths: [getParentUrl()], +})); + +function getParentUrl() { + const fileUrl = import.meta.url; + return fileUrl.substring(0, fileUrl.lastIndexOf("/") + 1); +} |