/** * 脚手架能力注册表。 * 类型可以保留历史模板能力,但只有 enabled 的能力会进入交互和生成链路。 */ import type { MicroFrontendEngine, RouteModeType, UILibraryType } from '../types/index.ts'; export interface CapabilityOption { name: string; value: TValue; enabled: boolean; } export type StateManagementFeature = 'pinia' | 'zustand'; export interface FrameworkCapability { name: string; enabled: boolean; uiLibraries: readonly CapabilityOption[]; stateManagement: StateManagementFeature; routeModes: readonly RouteModeType[]; microFrontendEngines: readonly MicroFrontendEngine[]; } export declare const FRAMEWORK_ORDER: readonly ["vue", "react"]; export declare const FRAMEWORK_CAPABILITIES: { readonly vue: { readonly name: "Vue 3"; readonly enabled: true; readonly uiLibraries: readonly [{ readonly name: "Element Plus"; readonly value: "element-plus"; readonly enabled: true; }, { readonly name: "Ant Design Vue"; readonly value: "ant-design-vue"; readonly enabled: false; }]; readonly stateManagement: "pinia"; readonly routeModes: readonly ["pageRoutes", "manualRoutes"]; readonly microFrontendEngines: readonly ["qiankun"]; }; readonly react: { readonly name: "React"; readonly enabled: true; readonly uiLibraries: readonly [{ readonly name: "Ant Design"; readonly value: "ant-design"; readonly enabled: true; }]; readonly stateManagement: "zustand"; readonly routeModes: readonly ["pageRoutes", "manualRoutes"]; readonly microFrontendEngines: readonly ["qiankun"]; }; }; export declare const ROUTE_MODE_CAPABILITIES: readonly [{ readonly name: "文件系统路由 (vite-plugin-pages)"; readonly value: "pageRoutes"; readonly enabled: true; }, { readonly name: "手动配置路由"; readonly value: "manualRoutes"; readonly enabled: true; }]; export declare const MICRO_FRONTEND_ENGINE_CAPABILITIES: readonly [{ readonly name: "qiankun (阿里开源)"; readonly value: "qiankun"; readonly enabled: true; }, { readonly name: "micro-app (京东开源)"; readonly value: "micro-app"; readonly enabled: false; }]; export declare const PACKAGE_MANAGER_CAPABILITIES: readonly [{ readonly name: "pnpm (推荐)"; readonly value: "pnpm"; readonly enabled: true; }, { readonly name: "npm"; readonly value: "npm"; readonly enabled: true; }, { readonly name: "yarn"; readonly value: "yarn"; readonly enabled: true; }];