TryGhost
OSS
Ghost
Changed foundation libs to ESLint 9 / flat config (#28802) no ref Migrates `apps/shade`, `apps/admin-x-design-system`, and `apps/admin-x-framework` — the three internal foundation libraries consumed by the admin React apps. - Each workspace had a `src/.eslintrc.cjs` + `test/.eslintrc.cjs` split; collapsed each into a single `eslint.config.js` with `src/` and `test/` file globs. - Swapped `eslint: catalog:` to `catalog:eslint9` and added `@eslint/js`, `globals`, `eslint-plugin-react`, `eslint-plugin-ghost`, `typescript-eslint` (unified) as direct deps. `apps/shade` also keeps `eslint-plugin-storybook` (story files get a `react-hooks/rules-of-hooks` override since `render()` bodies intentionally call hooks outside React components). - `'no-undef'` and `'no-redeclare'` are disabled in TS blocks (TypeScript handles them) — matches the legacy posture of `plugin:@typescript-eslint/recommended`. - All `ghost/mocha/*` rules disabled in test blocks; these workspaces use Vitest, not Mocha. - Fixed two pre-existing non-breaking-space chars (U+00A0) inside jsdoc comments that `no-irregular-whitespace` correctly caught — they had been hiding in the legacy cache: - [apps/shade/src/components/ui/simple-pagination.tsx](apps/shade/src/components/ui/simple-pagination.tsx) - [apps/admin-x-design-system/src/global/layout/page.tsx](apps/admin-x-design-system/src/global/layout/page.tsx) - ESLint 9 dropped the `--ext` CLI flag; `lint:code` / `lint:test` scripts now pass directory args. - No version bumps — all three are private workspaces, not CDN-published. - No `"type": "module"` change — all three already declare it. ## Test plan - [ ] CI lint passes - [ ] \`pnpm --filter @tryghost/shade lint\` is green locally - [ ] \`pnpm --filter @tryghost/admin-x-design-system lint\` is green locally - [ ] \`pnpm --filter @tryghost/admin-x-framework lint\` is green locally - [ ] Downstream admin apps (admin-x-settings, posts, stats, activitypub) still build — these workspaces depend on the foundation libs
nx build @tryghost/comments-ui
Sign in / Sign up
Open main menu
Succeeded
CI Pipeline Execution
1 run failed
nx build @tryghost/comments-ui
Click to copy
Linux
4 CPU cores
read-write
access token used
3f995e01
28801