| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /**
- * shims/pinia.ts —— 'pinia' 模块名 → UMD 全局 Pinia 的唯一胶水层(README §3.3-1)。
- *
- * 存在理由:SFC 模板编译器(@vitejs/plugin-vue)产物内部会生成
- * 'import { X } from "pinia"' 这类模块名 import,vite define 无法改写模块名(只处理裸标识符),
- * 故 vite.config 的 alias 将 'pinia' 重定向到本文件。
- *
- * 关键实现(保证 dist 不含框架运行时):
- * - import type 仅取 ESM 命名空间类型(编译期擦除,不进产物);
- * - 运行时值全部取自 globalThis.Pinia(index.html 引入的 UMD 全局);
- * - 编译后只剩"取全局 + 转发"代码,框架本体不进 dist。
- *
- * 本文件由 scripts/gen-shims.cjs 生成(导出清单来自当前安装版本,跳过 ESM 类型未声明的 SSR/compat 边缘键);
- * 框架升级(README §1.5 五步流程)时须重新生成并按 typecheck 报错维护排除清单。
- * 纪律:shims/ 是全项目唯一允许出现框架模块名的目录。
- */
- import type * as PINIA_NS from 'pinia';
- /** 运行时框架全局(index.html 按序注入;经 unknown 收窄为 ESM 命名空间类型) */
- const V: typeof PINIA_NS = (globalThis as unknown as { Pinia: typeof PINIA_NS }).Pinia;
- // eslint-disable-next-line import/no-mutable-exports
- export const MutationType = V.MutationType;
- // eslint-disable-next-line import/no-mutable-exports
- export const PiniaVuePlugin = V.PiniaVuePlugin;
- // eslint-disable-next-line import/no-mutable-exports
- export const acceptHMRUpdate = V.acceptHMRUpdate;
- // eslint-disable-next-line import/no-mutable-exports
- export const createPinia = V.createPinia;
- // eslint-disable-next-line import/no-mutable-exports
- export const defineStore = V.defineStore;
- // eslint-disable-next-line import/no-mutable-exports
- export const disposePinia = V.disposePinia;
- // eslint-disable-next-line import/no-mutable-exports
- export const getActivePinia = V.getActivePinia;
- // eslint-disable-next-line import/no-mutable-exports
- export const mapActions = V.mapActions;
- // eslint-disable-next-line import/no-mutable-exports
- export const mapGetters = V.mapGetters;
- // eslint-disable-next-line import/no-mutable-exports
- export const mapState = V.mapState;
- // eslint-disable-next-line import/no-mutable-exports
- export const mapStores = V.mapStores;
- // eslint-disable-next-line import/no-mutable-exports
- export const mapWritableState = V.mapWritableState;
- // eslint-disable-next-line import/no-mutable-exports
- export const setActivePinia = V.setActivePinia;
- // eslint-disable-next-line import/no-mutable-exports
- export const setMapStoreSuffix = V.setMapStoreSuffix;
- // eslint-disable-next-line import/no-mutable-exports
- export const shouldHydrate = V.shouldHydrate;
- // eslint-disable-next-line import/no-mutable-exports
- export const skipHydrate = V.skipHydrate;
- // eslint-disable-next-line import/no-mutable-exports
- export const storeToRefs = V.storeToRefs;
|