commitizen / commitizen/cz-cli

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

Offen
#996 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
17.5k
Forks
566
Ø Merge
8 Std. 16 Min.
Gemergte PRs (30 T.)
1

Beschreibung

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

**package.json**
```Json
{
"type": "module",
"scripts": {
"commit": "cz",
...
},
...
}
```

**error in cli**
```Bash
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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Fehler aus package.json mit pnpm commit zu reproduzieren, indem du commitizen@4.2.5 und spätere Versionen mit commitizen@4.2.2 vergleichst. Verfolge anschließend das Laden der in der Fehlermeldung angezeigten Abhängigkeiten wrap-ansi und string-width und überprüfe dann, dass der ausgewählte Fix die Ausführung des CLI-Befehls mit beiden Module-Typeinstellungen ermöglicht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, node.js
Bereich
cli, tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.