import Patch from "/it/snippets/cli/patch.mdx";
bun patch ti permette di applicare patch persistenti a node_modules in modo mantenibile e compatibile con git.
A volte, hai bisogno di fare una piccola modifica a un pacchetto in node_modules/ per correggere un bug o aggiungere una funzionalità. bun patch rende facile fare questo senza vendere l'intero pacchetto e riutilizzare la patch attraverso più installazioni, più progetti e più macchine.
Caratteristiche:
- Genera file
.patchapplicati alle dipendenze innode_modulesdurante l'installazione - I file
.patchpossono essere commitati nel tuo repository, riutilizzati attraverso più installazioni, progetti e macchine "patchedDependencies"inpackage.jsontiene traccia dei pacchetti patchatibun patchti permette di applicare patch ai pacchetti innode_modules/preservando l'integrità della Cache Globale di Bun- Testa le tue modifiche localmente prima di commitarle con
bun patch --commit <pkg> - Per preservare spazio su disco e mantenere
bun installveloce, i pacchetti patchati sono commitati nella Cache Globale e condivisi tra i progetti dove possibile
Passo 1. Preparare il pacchetto per la patch
Per iniziare, usa bun patch <pkg> per preparare il pacchetto per la patch:
# puoi fornire il nome del pacchetto
bun patch react
# ...e una versione precisa nel caso siano installate più versioni
bun patch react@17.0.2
# o il percorso al pacchetto
bun patch node_modules/reactNota
Non dimenticare di chiamare bun patch <pkg>! Questo assicura che la cartella del pacchetto in node_modules/ contenga una copia fresca del pacchetto senza symlink/hardlink alla cache di Bun. Se dimentichi di farlo, potresti finire per modificare il pacchetto globalmente nella cache!
Passo 2. Testare le modifiche localmente
bun patch <pkg> rende sicuro modificare <pkg> in node_modules/ direttamente, preservando l'integrità della Cache Globale di Bun. Questo funziona ricreando un clone non collegato del pacchetto in node_modules/ e confrontandolo con il pacchetto originale nella Cache Globale.
Passo 3. Commit delle modifiche
Una volta soddisfatto delle tue modifiche, esegui bun patch --commit <path or pkg>.
Bun genererà un file patch in patches/, aggiornerà il tuo package.json e lockfile, e Bun inizierà a usare il pacchetto patchato:
# puoi fornire il percorso al pacchetto patchato
bun patch --commit node_modules/react
# ... o il nome del pacchetto e opzionalmente la versione
bun patch --commit react@17.0.2
# scegli la directory dove memorizzare i file patch
bun patch --commit react --patches-dir=mypatches
# `patch-commit` è disponibile per compatibilità con pnpm
bun patch-commit react