consola icon indicating copy to clipboard operation
consola copied to clipboard

Error: Package subpath './browser' is not defined by "exports" in .../common/node_modules/consola/package.json

Open forgetso opened this issue 9 months ago • 0 comments

Environment

npm list consola
[email protected]
├─┬ @prosopo/[email protected] -> ./../captcha/packages/cli
│ ├─┬ @prosopo/[email protected] -> ./../captcha/packages/common
│ │ └── [email protected] deduped
├─┬ @prosopo/[email protected] -> ./../captcha/packages/common
│ └── [email protected]
node --version
v18.14.2

Reproduction

  • Create a commonjs package
  • Import the commonJS version of consola.
  • Try to run the commonjs package in the browser
Error: Package subpath './browser' is not defined by "exports" in /common/node_modules/consola/package.json
 new NodeError (node:internal/errors:399:5)
 exportsNotFound (node:internal/modules/esm/resolve:361:10)
 packageExportsResolve (node:internal/modules/esm/resolve:641:13)
 resolveExports (node:internal/modules/cjs/loader:565:36)
 Module._findPath (node:internal/modules/cjs/loader:634:31)
 Module._resolveFilename (node:internal/modules/cjs/loader:1061:27)
 Module._load (node:internal/modules/cjs/loader:920:27)
 Module.require (node:internal/modules/cjs/loader:1141:19)
 require (node:internal/modules/cjs/helpers:110:18)
 Module.<anonymous> (/common/dist/cjs/logger.cjs:5:17)

Describe the bug

Browser cjs path seems to be missing from consola package.json

    "./browser": {
      "types": "./dist/browser.d.ts",
      "import": "./dist/browser.mjs"
    },

But the cjs file is present in consola dist

/node_modules/consola/dist/browser.cjs

This could potentially be fixed simply by adding the path to package.json

    "./browser": {
      "types": "./dist/browser.d.ts",
      "import": "./dist/browser.mjs",
      "require": "./dist/browser.cjs"
    },

Additional context

No response

Logs

No response

forgetso avatar Sep 21 '23 09:09 forgetso