fix(admin-web/eslint): hoist .cjs ignore to index-0 ignores block

The previous fix (commit a4ee36b6) added '.pnpmfile.cjs' to the
globalIgnores() call at the END of the admin-web eslint config,
but flat-config v9 only applies ignores from the FIRST config
object that contains an 'ignores' key — every subsequent config
item is matched against the file before the late ignore is read.
That's why CI run 66 still failed with the same require() error
even after the dashboard-level ignore was in place.

Fix: declare an explicit '{ ignores: [...] }' at array index 0,
which is the documented eslint v9 pattern for skipping files
before any rule config attaches:

  defineConfig([
    { ignores: ['**/.pnpmfile.cjs', '**/*.cjs'] },  // <-- now first
    ...nextVitals,
    ...nextTs,
    { rules: { ... } },
    globalIgnores([ ... ]),
  ])

Verified locally:
  cd dashboards/admin-web && npx eslint .  -> 0 errors, 0 warnings
This commit is contained in:
saravanakumardb1 2026-05-23 17:15:09 -07:00
parent a4ee36b681
commit eed654418e

View File

@ -3,6 +3,19 @@ import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
const eslintConfig = defineConfig([
// Ignores MUST come first so they apply to every subsequent
// config item. globalIgnores() at the bottom of the array works
// for *.next / out / build / next-env.d.ts because eslint-config-
// next handles those internally, but .pnpmfile.cjs is not in that
// default list — declaring an explicit `{ ignores: [...] }` block
// at index 0 is the documented way to make eslint v9 skip files
// entirely before any config rules apply.
{
ignores: [
"**/.pnpmfile.cjs",
"**/*.cjs",
],
},
...nextVitals,
...nextTs,
{