diff --git a/cli/tests/testdata/npm/conditional_exports/main.js b/cli/tests/testdata/npm/conditional_exports/main.js index a40e2e68932fd..eb243a52c7f43 100644 --- a/cli/tests/testdata/npm/conditional_exports/main.js +++ b/cli/tests/testdata/npm/conditional_exports/main.js @@ -1,10 +1,12 @@ import mod from "npm:@denotest/conditional-exports"; +import foo from "npm:@denotest/conditional-exports/foo.js"; import client from "npm:@denotest/conditional-exports/client"; import clientFoo from "npm:@denotest/conditional-exports/client/foo"; import clientBar from "npm:@denotest/conditional-exports/client/bar"; import supportsESM from "npm:supports-esm"; console.log(mod); +console.log(foo); console.log(client); console.log(clientFoo); console.log(clientBar); diff --git a/cli/tests/testdata/npm/conditional_exports/main.out b/cli/tests/testdata/npm/conditional_exports/main.out index a24f456e30264..b374d9f6c9a95 100644 --- a/cli/tests/testdata/npm/conditional_exports/main.out +++ b/cli/tests/testdata/npm/conditional_exports/main.out @@ -7,6 +7,7 @@ Download http://localhost:4545/npm/registry/@ljharb/has-package-exports-patterns Download http://localhost:4545/npm/registry/has-package-exports/has-package-exports-1.3.0.tgz Download http://localhost:4545/npm/registry/supports-esm/supports-esm-1.0.0.tgz { hello: "from esm" } +{ hello: "from foo" } { hello: "from esm client" } { hello: "from esm client foo" } { hello: "from esm client bar" } diff --git a/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/foo.js b/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/foo.js new file mode 100644 index 0000000000000..6060c8a673821 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/foo.js @@ -0,0 +1,3 @@ +export default { + hello: "from foo", +} diff --git a/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/package.json index c020158354846..5a2536aa07ea2 100644 --- a/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/package.json +++ b/cli/tests/testdata/npm/registry/@denotest/conditional-exports/1.0.0/package.json @@ -15,6 +15,7 @@ "./client/*": { "types": "./types/src/client/*.d.ts", "import": "./esm/client/*.js" - } + }, + "./*": "./*" } } diff --git a/ext/node/resolution.rs b/ext/node/resolution.rs index e930215fd39b5..81a2521b5644f 100644 --- a/ext/node/resolution.rs +++ b/ext/node/resolution.rs @@ -339,7 +339,7 @@ fn resolve_package_target_string( )); } let invalid_segment_re = - Regex::new(r"(^|\|/)(..?|node_modules)(\|/|$)").expect("bad regex"); + Regex::new(r"(^|\\|/)(\.\.?|node_modules)(\\|/|$)").expect("bad regex"); let pattern_re = Regex::new(r"\*").expect("bad regex"); if !target.starts_with("./") { if internal && !target.starts_with("../") && !target.starts_with('/') {