diffplug / diffplug/spotless

Allow `npm`-Based Formatters to Pin Transitive Dependencies by Populating `overrides` in `package.json`

Offen
#2,534 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

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