Allow `npm`-Based Formatters to Pin Transitive Dependencies by Populating `overrides` in `package.json`
- Vorherrschende Sprache
- Java
- Sterne
- 5.6k
- Forks
- 559
- Ø Merge
- 1 T. 14 Std.
- Gemergte PRs (30 T.)
- 43
Beschreibung
When using an npm package to format code, and that npm package has a range dependency onto another library, the formatting output can change silently. This just happened to us: we use `prettier-plugin-sql`, which has a `^`-dependency on `sql-formatter`. `sql-formatter` released a new version that changed the formatting output, and our project’s build broke because the checked-in SQL files didn’t match the expected format.
Proposal: add the configuration method `dependencyOverrides` to `PrettierFormatterStep`. This method accepts a `Map` to populate the [`overrides` field](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#overrides) in the generated `package.json`. This mechanism could work exactly like the one populating the `devDependencies`.
Beitragsleitfaden
Rechercherichtung
Finde PrettierFormatterStep und den Code, der derzeit devDependencies in der generierten package.json befüllt. Lies, wie die Formatter-Konfiguration zusammengestellt wird, und überprüfe anschließend, dass dependencyOverrides als npm overrides ausgegeben wird, während das bestehende Verhalten von devDependencies unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, javascript, sql
- Bereich
- build-system, tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100