Recentemente ho biforcato un repository GitHub per risolvere un problema e ho creato una richiesta di pull. Mentre aspetto la richiesta di pull per essere accettato, ho indicato il mio locale package.json
al mio repo biforcuta, in questo modo:Qual è il modo corretto con NPM di impacchettare una versione BUILT di un repository Git biforcato?
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}
Tuttavia si scopre che karma-mocha
richiede un passaggio di generazione da eseguire per generare lib/adapter.js
- un parte vitale del pacchetto. Questo file è elencato in .gitignore
, quindi non esiste nel repository. La fase di creazione è un'attività grunt che viene normalmente eseguita quando il pacchetto viene pubblicato su npm, quindi adapter.js
esiste nel modulo npm scaricato.
La mia domanda è questa: qual è il modo corretto di impacchettare una versione forked, costruita del repository in modo che io possa usarlo come dipendenza? Per quanto posso dire, ho le seguenti opzioni:
- Costruire il repository locale, creare un file
.tgz
con i file incorporati, quindi ospitare questo da qualche parte e puntare il mio package.json a quel file. - Creare il repository localmente, modificare
.gitignore
per consentireadapter.js
, quindi passare a un ramo su Github e utilizzare tale ramo come dipendenza.
Uno di questi funzionerebbe, ma mi sento come se mi mancasse qualcosa. NPM ha un concetto di pacchetti a forcella? Non tutti i repository git possono essere usati come dipendenza senza una sorta di build/dist step, quindi qual è il modo accettato di fare questo genere di cose?