From 98454c1eb802b91a8c77dd97888a8994c85dfa46 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 12 Sep 2022 15:47:54 -0400 Subject: fix(npm): support cjs resolution of package subpath with package.json (#15855) --- cli/tests/testdata/npm/dual_cjs_esm/main.out | 2 ++ cli/tests/testdata/npm/dual_cjs_esm/main.ts | 3 +++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/main.cjs | 10 ++++++++++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/package.json | 3 +++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/index.cjs | 3 --- .../npm/registry/@denotest/dual-cjs-esm/1.0.0/index.mjs | 3 --- .../npm/registry/@denotest/dual-cjs-esm/1.0.0/main.cjs | 3 +++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/main.mjs | 3 +++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/package.json | 4 ++-- .../npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.cjs | 3 +++ .../npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.mjs | 3 +++ .../registry/@denotest/dual-cjs-esm/1.0.0/subpath/package.json | 5 +++++ 12 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/main.cjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/package.json delete mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.cjs delete mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.mjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.cjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.mjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.cjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.mjs create mode 100644 cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/package.json (limited to 'cli/tests') diff --git a/cli/tests/testdata/npm/dual_cjs_esm/main.out b/cli/tests/testdata/npm/dual_cjs_esm/main.out index 3d329be7a..32e232f11 100644 --- a/cli/tests/testdata/npm/dual_cjs_esm/main.out +++ b/cli/tests/testdata/npm/dual_cjs_esm/main.out @@ -1 +1,3 @@ esm +cjs +cjs diff --git a/cli/tests/testdata/npm/dual_cjs_esm/main.ts b/cli/tests/testdata/npm/dual_cjs_esm/main.ts index 3e80402c6..6d973affb 100644 --- a/cli/tests/testdata/npm/dual_cjs_esm/main.ts +++ b/cli/tests/testdata/npm/dual_cjs_esm/main.ts @@ -1,3 +1,6 @@ import { getKind } from "npm:@denotest/dual-cjs-esm"; +import * as cjs from "npm:@denotest/dual-cjs-esm/cjs/main.cjs"; console.log(getKind()); +console.log(cjs.getKind()); +console.log(cjs.getSubPathKind()); diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/main.cjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/main.cjs new file mode 100644 index 000000000..51d32ff89 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/main.cjs @@ -0,0 +1,10 @@ +const root = require("../"); +const subPath = require("../subpath"); + +module.exports.getKind = function() { + return root.getKind(); +}; + +module.exports.getSubPathKind = function() { + return subPath.getSubPathKind(); +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/package.json b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/package.json new file mode 100644 index 000000000..73847e365 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/cjs/package.json @@ -0,0 +1,3 @@ +{ + "main": "./main.cjs" +} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.cjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.cjs deleted file mode 100644 index 990605527..000000000 --- a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.cjs +++ /dev/null @@ -1,3 +0,0 @@ -exports.getKind = function() { - return "cjs"; -}; diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.mjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.mjs deleted file mode 100644 index b48b9a3a6..000000000 --- a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/index.mjs +++ /dev/null @@ -1,3 +0,0 @@ -export function getKind() { - return "esm"; -} diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.cjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.cjs new file mode 100644 index 000000000..990605527 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.cjs @@ -0,0 +1,3 @@ +exports.getKind = function() { + return "cjs"; +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.mjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.mjs new file mode 100644 index 000000000..b48b9a3a6 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/main.mjs @@ -0,0 +1,3 @@ +export function getKind() { + return "esm"; +} diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/package.json index e0315b7f6..18b72e97a 100644 --- a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/package.json +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/package.json @@ -2,6 +2,6 @@ "name": "@denotest/dual-cjs-esm", "version": "1.0.0", "type": "module", - "main": "./index.cjs", - "module": "./index.mjs" + "main": "./main.cjs", + "module": "./main.mjs" } diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.cjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.cjs new file mode 100644 index 000000000..18a22e6f1 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.cjs @@ -0,0 +1,3 @@ +exports.getSubPathKind = function() { + return "cjs"; +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.mjs b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.mjs new file mode 100644 index 000000000..47e8cd516 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/main.mjs @@ -0,0 +1,3 @@ +export function getSubPathKind() { + return "esm"; +} diff --git a/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/package.json b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/package.json new file mode 100644 index 000000000..149ce36a3 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/dual-cjs-esm/1.0.0/subpath/package.json @@ -0,0 +1,5 @@ +{ + "type": "module", + "main": "./main.cjs", + "module": "./main.mjs" +} \ No newline at end of file -- cgit v1.2.3