commitizen / cz-cli

The commitizen command line utility. #BlackLivesMatter
http://commitizen.github.io/cz-cli/
MIT License
16.9k stars 552 forks source link

regression: Pnpm `wrap-ans` require() of ES Module error #996

Open MengLinMaker opened 2 months ago

MengLinMaker commented 2 months ago

Description

cz-cli dependency wrap-ans does not import properly, causing error when running pnpm commit

package.json

{
  "type": "module",
  "scripts": {
      "commit": "cz",
      ...
    },
    ...
}

error in cli

require() of ES Module /Users/menglinmaker/Documents/2-Engineering/OpenSource/npm-library-boilerplate/node_modules/wrap-ansi/node_modules/string-width/index.js from /Users/menglinmaker/Documents/2-Engineering/OpenSource/npm-library-boilerplate/node_modules/wrap-ansi/index.js not supported.
Instead change the require of /Users/menglinmaker/Documents/2-Engineering/OpenSource/npm-library-boilerplate/node_modules/wrap-ansi/node_modules/string-width/index.js in /Users/menglinmaker/Documents/2-Engineering/OpenSource/npm-library-boilerplate/node_modules/wrap-ansi/index.js to a dynamic import() which is available in all CommonJS modules.

Note: using "type": "commonjs" leads to the same result

Additional details

This issue only occurs on commitizen@4.2.5 and after. I found commitizen@4.2.2 to behave exactly how I liked.