build(eslint-config-fluid): remove ESLint 8/9 compatibility layer#26272
build(eslint-config-fluid): remove ESLint 8/9 compatibility layer#26272tylerbutler merged 3 commits intomicrosoft:mainfrom
Conversation
Simplify print-configs.ts by removing the hybrid ESLint 8/9 migration code. The script now imports flat configs directly and passes them via overrideConfig instead of using separate wrapper config files. - Remove .eslint-print-configs/ directory with wrapper config files - Remove cross-env dependency (no longer needed for ESLINT_USE_FLAT_CONFIG) - Import configs directly from flat.mjs instead of via config file paths
There was a problem hiding this comment.
Pull request overview
This pull request successfully removes the ESLint 8/9 hybrid compatibility layer from eslint-config-fluid, completing the migration to ESLint 9's flat config format. The changes eliminate temporary bridging infrastructure that was needed during the transition period.
Changes:
- Simplified
print-configs.tsto import flat configs directly fromflat.mjsand pass them viaoverrideConfiginstead of using wrapper config files - Removed
cross-envdependency andESLINT_USE_FLAT_CONFIGenvironment variable that were needed for dual ESLint 8/9 support - Deleted
.eslint-print-configs/directory containing wrapper config files that bridged multi-export flat configs with ESLint's single-config-per-file requirement
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| common/build/eslint-config-fluid/scripts/print-configs.ts | Refactored to directly import and use flat config arrays instead of loading config files via paths; removed all conditional ESLint 8/9 compatibility logic |
| common/build/eslint-config-fluid/package.json | Removed cross-env dependency and simplified print-configs script to remove ESLINT_USE_FLAT_CONFIG environment variable |
| common/build/eslint-config-fluid/pnpm-lock.yaml | Removed cross-env and its dependency @epic-web/invariant from lock file; added libc annotations to resolver bindings (unrelated maintenance) |
| common/build/eslint-config-fluid/.eslint-print-configs/strict.mjs | Deleted wrapper config file (no longer needed with direct imports) |
| common/build/eslint-config-fluid/.eslint-print-configs/recommended.mjs | Deleted wrapper config file (no longer needed with direct imports) |
| common/build/eslint-config-fluid/.eslint-print-configs/minimal.mjs | Deleted wrapper config file (no longer needed with direct imports) |
| common/build/eslint-config-fluid/.eslint-print-configs/README.md | Deleted documentation for wrapper configs (no longer applicable) |
Files not reviewed (1)
- common/build/eslint-config-fluid/pnpm-lock.yaml: Language not supported
jason-ha
left a comment
There was a problem hiding this comment.
No root pnpm-lock.yaml update? (I thought we had a temp funky config where root was also impacted by changes here.)
There was a problem hiding this comment.
I expected the removal to just show removals.
What are the libc additions?
There was a problem hiding this comment.
I don't know - maybe because I ran install on macOS? Regardless, I manually cleaned up the lockfile changes to remove other unrelated changes and they're still considered up-to-date now so further evidence those other changes were unnecessary. But a fresh re-resolve still brings them back. 😕
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Summary
Removes the ESLint 8/9 hybrid compatibility layer from
eslint-config-fluid's print-configs script now that the migration to ESLint 9 flat config is complete..eslint-print-configs/directory containing wrapper config files that were needed to bridge multi-export flat configs with ESLint's single-config-per-file requirementcross-envdependency (no longer needed forESLINT_USE_FLAT_CONFIGenvironment variable)print-configs.tsto import flat configs directly fromflat.mjsand pass them viaoverrideConfiginstead of using file paths