chore(lint): collapse minimalDeprecated config into base#26801
chore(lint): collapse minimalDeprecated config into base#26801ChumpChief-bot wants to merge 8 commits intomicrosoft:mainfrom
Conversation
Merges the minimalDeprecated ESLint configuration into the base config, eliminating the minimalDeprecated layer from the config hierarchy. No consumers reference minimalDeprecated directly anymore (all were upgraded to recommended in microsoft#26772). The config hierarchy is now: base → recommended → strict → strictBiome Changes: - Merged all minimalDeprecated rules into base rules - Removed minimalDeprecated config, export, and rules file - Updated server config to use base directly - Updated build-tools to use recommended instead of minimalDeprecated - Removed minimal.json printed config Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove duplicate unified-signatures rule (was set to both error and off) - Add missing no-member-release-tags and no-unchecked-record-access rules - Remove empty region block - Update doc comments to remove minimalDeprecated references Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move no-multi-spaces after prettierConfig so it isn't overridden - Keep max-len config object to avoid unnecessary printed config churn Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Build-tools now uses recommended, so the TODO is resolved. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR simplifies the ESLint flat-config hierarchy in @fluidframework/eslint-config-fluid by folding the former minimalDeprecated layer into the base configuration, removing the deprecated config export and its printed output, and updating remaining internal consumers accordingly.
Changes:
- Merged
minimalDeprecatedrules and composition into the base config (including depend plugin + post-prettierno-multi-spacesordering). - Removed the
minimalDeprecatedconfig export and thelibrary/rules/minimal-deprecated.mtsrules module. - Updated downstream/internal usage: server config now composes
baseConfig + sharedConfigs, build-tools now usesrecommended, and the minimal printed config is removed.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| common/build/eslint-config-fluid/server.mts | Switches server config from minimalDeprecated to composing baseConfig + sharedConfigs + server overrides. |
| common/build/eslint-config-fluid/scripts/print-configs.ts | Stops printing the removed minimal config. |
| common/build/eslint-config-fluid/printed-configs/minimal.json | Removes the tracked printed minimal config output. |
| common/build/eslint-config-fluid/library/rules/recommended.mts | Updates docstring to reflect extending base (not minimalDeprecated). |
| common/build/eslint-config-fluid/library/rules/minimal-deprecated.mts | Deletes the deprecated rule set module. |
| common/build/eslint-config-fluid/library/rules/base.mts | Incorporates former minimalDeprecated rules into base rules (imports, TS, jsdoc/tsdoc, unicorn, etc.). |
| common/build/eslint-config-fluid/library/configs/factory.mts | Removes minimalDeprecated config assembly; recommended now builds from base directly. |
| common/build/eslint-config-fluid/library/configs/base.mts | Adds depend config, TS overrides previously in minimalDeprecated, and re-enables no-multi-spaces after prettier. |
| common/build/eslint-config-fluid/flat.mts | Removes the minimalDeprecated export from the flat-config entrypoint. |
| build-tools/eslint.config.base.mts | Updates build-tools shared config to re-export/extend recommended rather than minimalDeprecated. |
… and server The previous commits switched build-tools to recommended, but that adds unicorn/recommended and other rules beyond what minimalDeprecated provided. Export a new base config (baseConfig + sharedConfigs) from flat.mts as the direct replacement for minimalDeprecated, and use it in build-tools and server configs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/azp run Build - api-markdown-documenter, Build - benchmark-tool, Build - build-common, Build - build-tools, Build - client packages, Build - common-utils, Build - eslint-config-fluid |
|
/azp run Build - eslint-plugin-fluid, Build - protocol-definitions, Build - test-tools, repo-policy-check, server-gitrest, server-gitssh, server-historian, server-routerlicious |
|
Azure Pipelines successfully started running 4 pipeline(s). |
|
Azure Pipelines successfully started running 2 pipeline(s). |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/azp run Build - api-markdown-documenter, Build - benchmark-tool, Build - build-common, Build - build-tools, Build - client packages, Build - common-utils, Build - eslint-config-fluid |
|
/azp run Build - eslint-plugin-fluid, Build - protocol-definitions, Build - test-tools, repo-policy-check, server-gitrest, server-gitssh, server-historian, server-routerlicious |
|
Azure Pipelines successfully started running 4 pipeline(s). |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run Build - api-markdown-documenter, Build - benchmark-tool, Build - build-common, Build - build-tools, Build - client packages, Build - common-utils, Build - eslint-config-fluid |
|
/azp run Build - eslint-plugin-fluid, Build - protocol-definitions, Build - test-tools, repo-policy-check, server-gitrest, server-gitssh, server-historian, server-routerlicious |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
Azure Pipelines successfully started running 4 pipeline(s). |
Summary
Merges the
minimalDeprecatedESLint configuration into the base config, eliminating theminimalDeprecatedlayer from the config hierarchy. No consumers referenceminimalDeprecateddirectly anymore (all were upgraded torecommendedin #26772).The config hierarchy is now: base → recommended → strict → strictBiome
Changes
minimalDeprecatedrules into base rulesminimalDeprecatedconfig, export, and rules filebaseexport from eslint-config-fluid (baseConfig + sharedConfigs) as a safe replacementbasedirectlybaseinstead ofminimalDeprecated(AB#58054 remains open for upgrading torecommended)minimal.jsonprinted configRule migration details
12 rules from
minimalDeprecatedwere not explicitly added to the base rules file because they are already covered by other mechanisms:array-bracket-spacing,arrow-spacing,block-spacing,dot-location,jsx-quotes,key-spacing,space-unary-ops,switch-colon-spacing): all set to"off"inminimalDeprecated, andeslint-config-prettier(included in base) also sets them to"off"no-multi-spaces: re-enabled in a separate config block afterprettierConfigto preserve the override ordering@typescript-eslint/prefer-includes,@typescript-eslint/prefer-nullish-coalescing,@typescript-eslint/prefer-optional-chain): already enabled at"error"by thetypescript-eslint/stylistic-type-checkedpreset included in baseAll printed configs are verified identical before and after the change (excluding the removed
minimal.json).Test plan
pnpm buildpasses incommon/build/eslint-config-fluid🤖 Generated with Claude Code