Skip to content

Adds support for SPFx v1.23.0-rc.0#7207

Merged
Adam-it merged 1 commit intopnp:mainfrom
milanholemans:spfx-123
Apr 14, 2026
Merged

Adds support for SPFx v1.23.0-rc.0#7207
Adam-it merged 1 commit intopnp:mainfrom
milanholemans:spfx-123

Conversation

@milanholemans
Copy link
Copy Markdown
Contributor

Closes #7170

Copilot AI review requested due to automatic review settings April 10, 2026 21:32
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds SharePoint Framework (SPFx) v1.23.0-rc.0 support to the CLI’s SPFx tooling, primarily impacting SPFx environment validation (spfx doctor/spfx project doctor) and upgrade guidance (spfx project upgrade). The PR also introduces/updates SPFx test fixtures to validate the new version behavior.

Changes:

  • Extend SPFx compatibility prerequisites and supported-version lists to include 1.23.0-rc.0.
  • Add SPFx 1.23.0-rc.0 project-doctor rules and upgrade rules (including ESLint flat-config migration).
  • Add a new SPFx 1.23.0-rc.0 test project and refresh/add SPFx 1.22.2 test projects used by upgrade/doctor e2e tests.

Reviewed changes

Copilot reviewed 211 out of 233 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/m365/spfx/commands/SpfxCompatibilityMatrix.ts Adds SPFx 1.23.0-rc.0 prerequisites; updates Yo compatibility ranges/fix guidance.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/tsconfig.json Fixture: adds tsconfig for SPFx 1.23 RC webpart project.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/teams/1f0f945b-62e3-4d88-97ad-2854c22fb2f3_outline.png Fixture: Teams icon asset.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/loc/mystrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/HelloWorldWebPart.ts Fixture: sample webpart implementation (React).
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/HelloWorldWebPart.manifest.json Fixture: webpart manifest.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/components/IHelloWorldProps.ts Fixture: React props typing.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/components/HelloWorld.tsx Fixture: React component for 1.23 RC project.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/src/webparts/helloWorld/components/HelloWorld.module.scss Fixture: styles for React component.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/README.md Fixture: scaffold README for the SPFx 1.23 RC project.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/package.json Fixture: dependencies/devDependencies for SPFx 1.23 RC project.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/eslint.config.js Fixture: ESLint flat config used by upgrade rules.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/.yo-rc.json Fixture: generator metadata for SPFx 1.23 RC.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1230-rc0-webpart-react/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 optional-deps webpart.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/teams/b1829bcb-60b2-4f9f-8843-5b353f6e80ef_outline.png Fixture: Teams icon asset.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/src/webparts/helloWorld/loc/mystrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/src/webparts/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/src/webparts/helloWorld/HelloWorldWebPart.ts Fixture: no-React webpart sample (optional deps).
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/src/webparts/helloWorld/HelloWorldWebPart.module.scss Fixture: styles for webpart sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/src/webparts/helloWorld/HelloWorldWebPart.manifest.json Fixture: webpart manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/package.json Fixture: dependencies/devDependencies for SPFx 1.22.2 optional-deps project.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-optionaldeps/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 no-lib webpart.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/teams/7ef76066-689d-49b5-92a7-d49c3b7ebb88_outline.png Fixture: Teams icon asset.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/src/webparts/helloWorld/loc/mystrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/src/webparts/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/src/webparts/helloWorld/HelloWorldWebPart.module.scss Fixture: styles for webpart sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/src/webparts/helloWorld/HelloWorldWebPart.manifest.json Fixture: webpart manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/package.json Fixture: dependencies/devDependencies for SPFx 1.22.2 no-lib project.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-webpart-nolib/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 listview command set.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/src/extensions/helloWorld/loc/myStrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/src/extensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/src/extensions/helloWorld/HelloWorldCommandSet.ts Fixture: listview command set sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/src/extensions/helloWorld/HelloWorldCommandSet.manifest.json Fixture: extension manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/sharepoint/assets/elements.xml Fixture: SharePoint assets.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/sharepoint/assets/ClientSideInstance.xml Fixture: SharePoint assets.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-listviewcommandset/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 React form customizer.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/loc/myStrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/HelloWorldFormCustomizer.ts Fixture: form customizer sample (React).
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/HelloWorldFormCustomizer.manifest.json Fixture: extension manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/components/HelloWorld.tsx Fixture: React component sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/src/extensions/helloWorld/components/HelloWorld.module.scss Fixture: component styles.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-react/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 no-lib form customizer.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/src/extensions/helloWorld/loc/myStrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/src/extensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/src/extensions/helloWorld/HelloWorldFormCustomizer.ts Fixture: form customizer sample (no lib).
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/src/extensions/helloWorld/HelloWorldFormCustomizer.module.scss Fixture: styles for sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/src/extensions/helloWorld/HelloWorldFormCustomizer.manifest.json Fixture: extension manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-formcustomizer-nolib/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 React field customizer.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/loc/myStrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/HelloWorldFieldCustomizer.ts Fixture: field customizer sample (React).
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/HelloWorldFieldCustomizer.manifest.json Fixture: extension manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/components/HelloWorld.tsx Fixture: React component sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/src/extensions/helloWorld/components/HelloWorld.module.scss Fixture: component styles.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/sharepoint/assets/elements.xml Fixture: SharePoint assets.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-fieldcustomizer-react/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 application customizer.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/src/extensions/helloWorld/loc/myStrings.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/src/extensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/src/extensions/helloWorld/HelloWorldApplicationCustomizer.ts Fixture: application customizer sample.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/src/extensions/helloWorld/HelloWorldApplicationCustomizer.manifest.json Fixture: extension manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/sharepoint/assets/elements.xml Fixture: SharePoint assets.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/sharepoint/assets/ClientSideInstance.xml Fixture: SharePoint assets.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-applicationcustomizer/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/tsconfig.json Fixture: adds tsconfig for SPFx 1.22.2 ACE project.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/quickView/template/QuickViewTemplate.json Fixture: ACE quick view template.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/quickView/QuickView.ts Fixture: ACE quick view logic.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/loc/mystring.d.ts Fixture: localization typings.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/loc/en-us.js Fixture: localization strings.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/HelloWorldPropertyPane.ts Fixture: ACE property pane.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/HelloWorldAdaptiveCardExtension.ts Fixture: ACE main class.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/HelloWorldAdaptiveCardExtension.manifest.json Fixture: ACE manifest.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/src/adaptiveCardExtensions/helloWorld/cardView/CardView.ts Fixture: ACE card view.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/README.md Fixture: scaffold README.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/package.json Fixture: dependencies/devDependencies.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/write-manifests.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/typescript.json Fixture: SPFx build config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/serve.json Fixture: SPFx serve config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/sass.json Fixture: Heft Sass config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/rig.json Fixture: Rushstack rig config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/package-solution.json Fixture: SPFx solution packaging config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/deploy-azure-storage.json Fixture: deployment sample config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/config/config.json Fixture: SPFx build bundle config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/.yo-rc.json Fixture: generator metadata.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/.vscode/settings.json Fixture: VS Code settings.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/.vscode/launch.json Fixture: VS Code launch config.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/.npmignore Fixture: npm publish ignore rules.
src/m365/spfx/commands/project/test-projects/spfx-1222-ace/.gitignore Fixture: git ignore rules.
src/m365/spfx/commands/project/project-upgrade/rules/FN015016_FILE_eslint_config_js.ts Adds upgrade rule to add eslint.config.js (flat config).
src/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.ts Makes .eslintrc.js rule more robust for remove-only usage.
src/m365/spfx/commands/project/project-upgrade/rules/FN002032_DEVDEP_typescript_eslint_parser.ts Adds “remove dependency” capability for the parser devDep rule.
src/m365/spfx/commands/project/project-upgrade/rules/FN002021_DEVDEP_rushstack_eslint_config.ts Adds “remove dependency” capability for Rushstack ESLint config rule.
src/m365/spfx/commands/project/project-upgrade.ts Adds prerelease-aware default toVersion selection (non-preview by default).
src/m365/spfx/commands/project/project-upgrade.spec.ts Adds e2e coverage for upgrading SPFx 1.22.2 projects to 1.23.0-rc.0.
src/m365/spfx/commands/project/project-doctor/doctor-1.23.0-rc.0.ts Adds SPFx 1.23.0-rc.0 doctor rules.
src/m365/spfx/commands/project/project-doctor.ts Extends supported versions to include 1.23.0-rc.0.
src/m365/spfx/commands/project/project-doctor.spec.ts Adds e2e coverage for validating a SPFx 1.23.0-rc.0 project.
docs/docs/cmd/spfx/project/project-upgrade.mdx Updates command remarks for latest supported SPFx version.

Comment thread docs/docs/cmd/spfx/project/project-upgrade.mdx
Comment thread src/m365/spfx/commands/project/project-upgrade.ts
@Adam-it Adam-it self-assigned this Apr 14, 2026
Copy link
Copy Markdown
Member

@Adam-it Adam-it left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes seem ok but when testting the spfx project upgrade from SPFx 1.22.2 to 1.23.0 we have the following problem

The 1.22.2 has

 "overrides": {
    "@rushstack/heft": "1.1.2"
  },

in the package.json which we now need to update to

 "overrides": {
    "@rushstack/heft": "1.2.7"
  },

The upgrade guidance suggests running

npm i -DE @microsoft/sp-module-interfaces@1.23.0-rc.0 @microsoft/eslint-plugin-spfx@1.23.0-rc.0 @microsoft/eslint-config-spfx@1.23.0-rc.0 @microsoft/spfx-web-build-rig@1.23.0-rc.0 @microsoft/spfx-heft-plugins@1.23.0-rc.0 @rushstack/heft@1.2.7 eslint-plugin-react-hooks@5.2.0 eslint@9.37.0

which will fail as if we try to run npm i -DE @rushstack/heft@1.2.7 we get

Image

😕

in order to update this one we should use npm pkg set overrides.@rushstack/heft=1.2.7

Besides that simple point, I didn't find anything else

@Adam-it Adam-it marked this pull request as draft April 14, 2026 22:21
@Adam-it Adam-it marked this pull request as ready for review April 14, 2026 22:28
@Adam-it
Copy link
Copy Markdown
Member

Adam-it commented Apr 14, 2026

The changes seem ok but when testting the spfx project upgrade from SPFx 1.22.2 to 1.23.0 we have the following problem

The 1.22.2 has

 "overrides": {
    "@rushstack/heft": "1.1.2"
  },

in the package.json which we now need to update to

 "overrides": {
    "@rushstack/heft": "1.2.7"
  },

The upgrade guidance suggests running

npm i -DE @microsoft/sp-module-interfaces@1.23.0-rc.0 @microsoft/eslint-plugin-spfx@1.23.0-rc.0 @microsoft/eslint-config-spfx@1.23.0-rc.0 @microsoft/spfx-web-build-rig@1.23.0-rc.0 @microsoft/spfx-heft-plugins@1.23.0-rc.0 @rushstack/heft@1.2.7 eslint-plugin-react-hooks@5.2.0 eslint@9.37.0

which will fail as if we try to run npm i -DE @rushstack/heft@1.2.7 we get

Image 😕

in order to update this one we should use npm pkg set overrides.@rushstack/heft=1.2.7

Besides that simple point, I didn't find anything else

ok saw a related issue #7208 that covers exactly this case. In this case lets proceed

@milanholemans
Copy link
Copy Markdown
Contributor Author

milanholemans commented Apr 14, 2026

The changes seem ok but when testting the spfx project upgrade from SPFx 1.22.2 to 1.23.0 we have the following problem
The 1.22.2 has

 "overrides": {
    "@rushstack/heft": "1.1.2"
  },

in the package.json which we now need to update to

 "overrides": {
    "@rushstack/heft": "1.2.7"
  },

The upgrade guidance suggests running

npm i -DE @microsoft/sp-module-interfaces@1.23.0-rc.0 @microsoft/eslint-plugin-spfx@1.23.0-rc.0 @microsoft/eslint-config-spfx@1.23.0-rc.0 @microsoft/spfx-web-build-rig@1.23.0-rc.0 @microsoft/spfx-heft-plugins@1.23.0-rc.0 @rushstack/heft@1.2.7 eslint-plugin-react-hooks@5.2.0 eslint@9.37.0

which will fail as if we try to run npm i -DE @rushstack/heft@1.2.7 we get
Image
😕
in order to update this one we should use npm pkg set overrides.@rushstack/heft=1.2.7
Besides that simple point, I didn't find anything else

ok saw a related issue #7208 that covers exactly this case. In this case lets proceed

Yep, that's an issue indeed. I pulled it into a separate issue because it needs quite some (complex) rework of the project upgrade command. I'm still working on it, but I didn't want to stall the upgrade issue.
I hope it can be merged when v1.23.0 goes GA.

@Adam-it Adam-it merged commit 3581680 into pnp:main Apr 14, 2026
14 checks passed
@milanholemans milanholemans deleted the spfx-123 branch April 14, 2026 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support v1.23.0-rc0 of SPFx

3 participants