Tengo una aplicación monorepo con algunas subaplicaciones. Quiero ejecutar el linter solo para una aplicación específica y no para todo el repositorio. Esta es la estructura de carpetas.
├── apps │ ├── app-1 │ ├── app-2Y estos son los scripts de npm.
"scripts": { "lint": "eslint --fix 'apps/$APP_NAME/**/*.{ts,tsx}' --ignore-pattern 'node_modules/'", },Como puede ver, estoy tratando de agregar alguna variable dentro de la ruta por línea de comando
npm run lint APP_NAME=app-1pero arroja un error como
No se encontraron archivos que coincidan con el patrón "apps/$APP_NAME/**/*.{ts,tsx}".
¿Qué tiene de malo este enfoque?
PD En un mundo ideal, me gustaría ejecutar npm run lint app-1 .
Usa entornos cruzados .
Instale el cross-env.
npm i -D cross-env Modificar package.json a:
"scripts" { "lint:app1": "cross-env APP_NAME=app-1 npm run lint", "lint": "cross-env-shell eslint --fix 'apps/$APP_NAME/**/*.{ts,tsx}' --ignore-pattern 'node_modules/'" } Luego ejecuta npm run lint:app1