{"id":22838,"library":"vite-plugin-single-spa","title":"vite-plugin-single-spa","description":"Vite plugin (v1.1.1) to convert Vite-based projects into single-spa root or micro-frontend applications. Supports Vite 5, 6, and 7. Maintained by WJSoftware, but now in maintenance-only mode after the author's decision to discontinue feature development due to disputes. Key differentiator: opinionated integration of Vite with single-spa, handling asset naming, FOUC prevention, and CSS lifecycle exports. Provides TypeScript types and ESM-first exports.","status":"maintenance","version":"1.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/WJSoftware/vite-plugin-single-spa","tags":["javascript","vite","vite-plugin","single-spa","mife","mfe","micro-frontend","root-config","typescript"],"install":[{"cmd":"npm install vite-plugin-single-spa","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-single-spa","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-single-spa","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: requires Vite 5, 6, or 7.","package":"vite","optional":false}],"imports":[{"note":"Default export is ESM-only; CommonJS require will fail.","wrong":"const vitePluginSingleSpa = require('vite-plugin-single-spa')","symbol":"vitePluginSingleSpa","correct":"import vitePluginSingleSpa from 'vite-plugin-single-spa'"},{"note":"Also available as a named export, same as default.","wrong":null,"symbol":"vitePluginSingleSpa","correct":"import { vitePluginSingleSpa } from 'vite-plugin-single-spa'"},{"note":"Type-only import for TypeScript users.","wrong":null,"symbol":"type SingleSpaRootPluginOptions","correct":"import type { SingleSpaRootPluginOptions } from 'vite-plugin-single-spa'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport vitePluginSingleSpa from 'vite-plugin-single-spa';\n\nexport default defineConfig({\n  plugins: [\n    vitePluginSingleSpa({\n      type: 'root',\n      importMaps: {\n        'single-spa': 'https://cdn.jsdelivr.net/npm/single-spa@6.0.1/lib/system/single-spa.min.js'\n      }\n    })\n  ]\n});","lang":"typescript","description":"Configures a Vite project as a single-spa root config with import maps and plugin options."},"warnings":[{"fix":"Update Vite to ^5.0.0 || ^6.0.0 || ^7.0.0.","message":"Drop support for Vite v4 in v0.8.0. If using Vite 4, upgrade to Vite 5+ or stay on v0.7.0.","severity":"breaking","affected_versions":">=0.8.0"},{"fix":"Ensure compatibility with other Vite plugins that also use resolveId with 'pre' order.","message":"The resolveId hook order changed to 'pre' in v0.9.0. May cause issues with other plugins that assume default order.","severity":"deprecated","affected_versions":">=0.9.0"},{"fix":"Update plugin to v1.1.1 and verify CSS lifecycle works.","message":"CSS collection moved to generateBundle hook in v1.1.1 for Vite 6 & 7 compatibility. Ensure your project uses generateBundle if relying on CSS lifecycle exports.","severity":"gotcha","affected_versions":">=1.1.1"},{"fix":"Evaluate other single-spa integrations or contribute to this project.","message":"Project is in maintenance mode only (as of 2025-04-13). No new features, only bug fixes. Consider alternatives for long-term support.","severity":"gotcha","affected_versions":">=1.1.1"},{"fix":"Create src/spa.ts exporting lifecycle functions.","message":"The plugin requires a file src/spa.ts|js|jsx|tsx for micro-frontend projects. Missing this file will cause build errors.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade to v0.6.0 or later where this was fixed.","cause":"This error occurred in v0.5.x when using certain Vite versions or configurations.","error":"Cannot read properties of undefined (reading 'viteMetadata')"},{"fix":"Upgrade Vite to ^5.0.0 or update plugin to v0.7.0.","cause":"Vite 4 support was dropped in v0.8.0.","error":"Error: The plugin 'vite-plugin-single-spa' doesn't support Vite v4. Minimum required version is 5."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}