Tengo un 'script' que ejecuta eslint en mi paquete.json así:
{ "name": "overthinkingJs", "scripts": { "lint": "node lint.js && echo No lint errors" "lint": "node lint.js --fix && echo No lint errors" } } Donde el archivo de lint tiene este tipo de cosas, donde el engendro es de engendro cruzado :
const eslint = path.join(__dirname, 'path/to/eslint'); const args = process.argv.slice(2); spawn(eslint, args, { stdio: 'inherit' }) Soy consciente de que args = process.argv.slice(2); parte significa que llamar node lint.js --fix pasa --fix a eslint.
Soy consciente de que puedo crear nuevos scripts, pero quiero una forma de pasar argumentos arbitrarios al primer proceso bash ( lint.js ) y no al último comando ( echo ) en la cadena de ampersand.
He intentado:
npm run lint:fix -- --rule 'rule-name: off'Pero se ejecuta:
node lint.js --fix && echo No lint errors "--rule" "rule-name: off" ¿Cómo especifico a qué comando en la cadena pasar argumentos, sin cambiar mi lint.js ?