--- description: Run ESLint with warnings as errors before pushing a merge request alwaysApply: true --- # ESLint before push Beta deploy runs `npm run build:beta` with `CI=true`. Create React App turns ESLint warnings into build errors. Unit tests do not catch this. The failure shows up only on the deploy runner (`ai-server-4080`), where `CI=true` is set. Before `git push` or opening a pull request that changes `llm-fe`: 1. From `llm-fe`, lint every changed file under `src` with warnings as errors: ```bash CI=true ./node_modules/.bin/eslint --max-warnings 0 path/to/ChangedFile.tsx ``` 2. Fix every warning in those files. Do not push while that command exits non-zero. 3. Do not set `DISABLE_ESLINT_PLUGIN` or `CI=false` to get the deploy through. A full `eslint src` run reports warnings in files the production build does not compile. Those do not fail deploy. The gate is warnings in files the build compiles. `react-hooks/exhaustive-deps` is the usual failure. Wrap the function in `useCallback` and list it in the dependency array. An empty dependency array that calls a component function fails the beta build.