Skip to content

Why not to migrate ​

TL;DR: RSPFx targets SPFx Online. Stay on the official toolchain if you need on premises or you have hard blockers listed here.

This guide helps you decide with honesty, not hype. If a row matches your project, staying on gulp and Heft is lower risk.

Try a branch first:

sh
rspfx migrate --dry-run
rspfx doctor
rspfx dev
rspfx package

You will know within an hour if you are on the happy path.

Hard blockers - do not migrate ​

FeatureStatusWhat to do
SharePoint 2019 or on premisesnot supportedstay official. See ../../reference/compatibility.md.
Other framework without presetbring your own presetadd a FrameworkPreset and BaseWebPart before you migrate. See Custom framework guide.

All other cases are supported or have a workable path.

What is verified ​

All these build, preview, and install from the catalog:

ComponentStatusNotes
Web parts - React, Vanilla, Solid, Preact, Vue, Svelteyesuse rspfx new --framework <id>
Application extensionsyesrspfx new --component applicationcustomizer
Field customizersyesrspfx new --component fieldcustomizer
List view command setsyesmock list view with onExecute
Form customizersyesrspfx new --component formcustomizer
LibrariesyescomponentType: Library to Library_<id>.xml
Teams tab and personal appyesteams/manifest.json v1.13 plus icons

See ../../reference/compatibility.md.

Warnings - eyes open ​

FeatureImpactAlternative
Custom gulp pipelinesno gulp tasksuse plugin-api hooks or your bundler config
Webpack surgeryspfx-customize-webpack.js deletedconfigure via RspfxPlugin or rspfxVite
SPFx version pinningspfxVersion typed to supported targetskeep sp-* pins in sync - rspfx doctor warns
Multi localeworksper locale AMD modules with ?locale=fr-fr preview
React 18 and 19 skewsame as officialbundle React per web part

If your webpack changes only add aliases or polyfills, try building without them and run rspfx doctor.

Softer risks ​

  • RSPFx is young with fewer users than gulp serve and spfx-fast-serve.
  • Framework APIs stay unstable until M5.
  • No build extension ecosystem - PnPjs libraries still work.
  • Microsoft supports the official toolchain. Community supports RSPFx.
  • You own CI port - about 10 lines.
  • .sppkg format is captured from official packages and validated on install.

When migration is the right call ​

  • You build web parts, extensions, or libraries for SPFx Online.
  • You want fast builds in seconds, not minutes.
  • You want one config file or zero config.
  • You can live without gulp plumbing.

Decision table ​

Your projectVerdict
One web part, React, standard configmigrate
Four web parts, locales, PnP controlsmigrate - ?locale= works
Extension or librarymigrate
Other framework without presetbring a preset first
Custom webpack doing real worktry it - add bundler config
SPFx 1.16, 2019, or on premisesdo not migrate
Risk averse enterprisedo not migrate - revisit at stable

Comparison ​

AspectOfficial toolchainRSPFx
Web parts plus extensions and libraries Onlineyesyes
On premises or 2019yesno
Other frameworksno presetone file preset
Build speedminutesseconds
Config filesmanyone or none
SupportMicrosoft plus communitycommunity

For tech checks, see ../../reference/commands.md.

Released under the MIT License.