vue.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. /**
  2. * shims/vue.ts —— 'vue' 模块名 → UMD 全局 Vue 的唯一胶水层(README §3.3-1)。
  3. *
  4. * 存在理由:SFC 模板编译器(@vitejs/plugin-vue)产物内部会生成
  5. * 'import { X } from "vue"' 这类模块名 import,vite define 无法改写模块名(只处理裸标识符),
  6. * 故 vite.config 的 alias 将 'vue' 重定向到本文件。
  7. *
  8. * 关键实现(保证 dist 不含框架运行时):
  9. * - import type 仅取 ESM 命名空间类型(编译期擦除,不进产物);
  10. * - 运行时值全部取自 globalThis.Vue(index.html 引入的 UMD 全局);
  11. * - 编译后只剩"取全局 + 转发"代码,框架本体不进 dist。
  12. *
  13. * 本文件由 scripts/gen-shims.cjs 生成(导出清单来自当前安装版本,跳过 ESM 类型未声明的 SSR/compat 边缘键);
  14. * 框架升级(README §1.5 五步流程)时须重新生成并按 typecheck 报错维护排除清单。
  15. * 纪律:shims/ 是全项目唯一允许出现框架模块名的目录。
  16. */
  17. import type * as VUE_NS from 'vue';
  18. /** 运行时框架全局(index.html 按序注入;经 unknown 收窄为 ESM 命名空间类型) */
  19. const V: typeof VUE_NS = (globalThis as unknown as { Vue: typeof VUE_NS }).Vue;
  20. // eslint-disable-next-line import/no-mutable-exports
  21. export const compile = V.compile;
  22. // eslint-disable-next-line import/no-mutable-exports
  23. export const Transition = V.Transition;
  24. // eslint-disable-next-line import/no-mutable-exports
  25. export const TransitionGroup = V.TransitionGroup;
  26. // eslint-disable-next-line import/no-mutable-exports
  27. export const VueElement = V.VueElement;
  28. // eslint-disable-next-line import/no-mutable-exports
  29. export const createApp = V.createApp;
  30. // eslint-disable-next-line import/no-mutable-exports
  31. export const createSSRApp = V.createSSRApp;
  32. // eslint-disable-next-line import/no-mutable-exports
  33. export const defineCustomElement = V.defineCustomElement;
  34. // eslint-disable-next-line import/no-mutable-exports
  35. export const defineSSRCustomElement = V.defineSSRCustomElement;
  36. // eslint-disable-next-line import/no-mutable-exports
  37. export const hydrate = V.hydrate;
  38. // eslint-disable-next-line import/no-mutable-exports
  39. export const nodeOps = V.nodeOps;
  40. // eslint-disable-next-line import/no-mutable-exports
  41. export const patchProp = V.patchProp;
  42. // eslint-disable-next-line import/no-mutable-exports
  43. export const render = V.render;
  44. // eslint-disable-next-line import/no-mutable-exports
  45. export const useCssModule = V.useCssModule;
  46. // eslint-disable-next-line import/no-mutable-exports
  47. export const useCssVars = V.useCssVars;
  48. // eslint-disable-next-line import/no-mutable-exports
  49. export const useHost = V.useHost;
  50. // eslint-disable-next-line import/no-mutable-exports
  51. export const useShadowRoot = V.useShadowRoot;
  52. // eslint-disable-next-line import/no-mutable-exports
  53. export const vModelCheckbox = V.vModelCheckbox;
  54. // eslint-disable-next-line import/no-mutable-exports
  55. export const vModelDynamic = V.vModelDynamic;
  56. // eslint-disable-next-line import/no-mutable-exports
  57. export const vModelRadio = V.vModelRadio;
  58. // eslint-disable-next-line import/no-mutable-exports
  59. export const vModelSelect = V.vModelSelect;
  60. // eslint-disable-next-line import/no-mutable-exports
  61. export const vModelText = V.vModelText;
  62. // eslint-disable-next-line import/no-mutable-exports
  63. export const vShow = V.vShow;
  64. // eslint-disable-next-line import/no-mutable-exports
  65. export const withKeys = V.withKeys;
  66. // eslint-disable-next-line import/no-mutable-exports
  67. export const withModifiers = V.withModifiers;
  68. // eslint-disable-next-line import/no-mutable-exports
  69. export const EffectScope = V.EffectScope;
  70. // eslint-disable-next-line import/no-mutable-exports
  71. export const ReactiveEffect = V.ReactiveEffect;
  72. // eslint-disable-next-line import/no-mutable-exports
  73. export const TrackOpTypes = V.TrackOpTypes;
  74. // eslint-disable-next-line import/no-mutable-exports
  75. export const TriggerOpTypes = V.TriggerOpTypes;
  76. // eslint-disable-next-line import/no-mutable-exports
  77. export const customRef = V.customRef;
  78. // eslint-disable-next-line import/no-mutable-exports
  79. export const effect = V.effect;
  80. // eslint-disable-next-line import/no-mutable-exports
  81. export const effectScope = V.effectScope;
  82. // eslint-disable-next-line import/no-mutable-exports
  83. export const getCurrentScope = V.getCurrentScope;
  84. // eslint-disable-next-line import/no-mutable-exports
  85. export const getCurrentWatcher = V.getCurrentWatcher;
  86. // eslint-disable-next-line import/no-mutable-exports
  87. export const isProxy = V.isProxy;
  88. // eslint-disable-next-line import/no-mutable-exports
  89. export const isReactive = V.isReactive;
  90. // eslint-disable-next-line import/no-mutable-exports
  91. export const isReadonly = V.isReadonly;
  92. // eslint-disable-next-line import/no-mutable-exports
  93. export const isRef = V.isRef;
  94. // eslint-disable-next-line import/no-mutable-exports
  95. export const isShallow = V.isShallow;
  96. // eslint-disable-next-line import/no-mutable-exports
  97. export const markRaw = V.markRaw;
  98. // eslint-disable-next-line import/no-mutable-exports
  99. export const onScopeDispose = V.onScopeDispose;
  100. // eslint-disable-next-line import/no-mutable-exports
  101. export const onWatcherCleanup = V.onWatcherCleanup;
  102. // eslint-disable-next-line import/no-mutable-exports
  103. export const proxyRefs = V.proxyRefs;
  104. // eslint-disable-next-line import/no-mutable-exports
  105. export const reactive = V.reactive;
  106. // eslint-disable-next-line import/no-mutable-exports
  107. export const readonly = V.readonly;
  108. // eslint-disable-next-line import/no-mutable-exports
  109. export const ref = V.ref;
  110. // eslint-disable-next-line import/no-mutable-exports
  111. export const shallowReactive = V.shallowReactive;
  112. // eslint-disable-next-line import/no-mutable-exports
  113. export const shallowReadonly = V.shallowReadonly;
  114. // eslint-disable-next-line import/no-mutable-exports
  115. export const shallowRef = V.shallowRef;
  116. // eslint-disable-next-line import/no-mutable-exports
  117. export const stop = V.stop;
  118. // eslint-disable-next-line import/no-mutable-exports
  119. export const toRaw = V.toRaw;
  120. // eslint-disable-next-line import/no-mutable-exports
  121. export const toRef = V.toRef;
  122. // eslint-disable-next-line import/no-mutable-exports
  123. export const toRefs = V.toRefs;
  124. // eslint-disable-next-line import/no-mutable-exports
  125. export const toValue = V.toValue;
  126. // eslint-disable-next-line import/no-mutable-exports
  127. export const triggerRef = V.triggerRef;
  128. // eslint-disable-next-line import/no-mutable-exports
  129. export const unref = V.unref;
  130. // eslint-disable-next-line import/no-mutable-exports
  131. export const camelize = V.camelize;
  132. // eslint-disable-next-line import/no-mutable-exports
  133. export const capitalize = V.capitalize;
  134. // eslint-disable-next-line import/no-mutable-exports
  135. export const normalizeClass = V.normalizeClass;
  136. // eslint-disable-next-line import/no-mutable-exports
  137. export const normalizeProps = V.normalizeProps;
  138. // eslint-disable-next-line import/no-mutable-exports
  139. export const normalizeStyle = V.normalizeStyle;
  140. // eslint-disable-next-line import/no-mutable-exports
  141. export const toDisplayString = V.toDisplayString;
  142. // eslint-disable-next-line import/no-mutable-exports
  143. export const toHandlerKey = V.toHandlerKey;
  144. // eslint-disable-next-line import/no-mutable-exports
  145. export const BaseTransition = V.BaseTransition;
  146. // eslint-disable-next-line import/no-mutable-exports
  147. export const BaseTransitionPropsValidators = V.BaseTransitionPropsValidators;
  148. // eslint-disable-next-line import/no-mutable-exports
  149. export const Comment = V.Comment;
  150. // eslint-disable-next-line import/no-mutable-exports
  151. export const DeprecationTypes = V.DeprecationTypes;
  152. // eslint-disable-next-line import/no-mutable-exports
  153. export const ErrorCodes = V.ErrorCodes;
  154. // eslint-disable-next-line import/no-mutable-exports
  155. export const Fragment = V.Fragment;
  156. // eslint-disable-next-line import/no-mutable-exports
  157. export const KeepAlive = V.KeepAlive;
  158. // eslint-disable-next-line import/no-mutable-exports
  159. export const Static = V.Static;
  160. // eslint-disable-next-line import/no-mutable-exports
  161. export const Suspense = V.Suspense;
  162. // eslint-disable-next-line import/no-mutable-exports
  163. export const Teleport = V.Teleport;
  164. // eslint-disable-next-line import/no-mutable-exports
  165. export const Text = V.Text;
  166. // eslint-disable-next-line import/no-mutable-exports
  167. export const callWithAsyncErrorHandling = V.callWithAsyncErrorHandling;
  168. // eslint-disable-next-line import/no-mutable-exports
  169. export const callWithErrorHandling = V.callWithErrorHandling;
  170. // eslint-disable-next-line import/no-mutable-exports
  171. export const cloneVNode = V.cloneVNode;
  172. // eslint-disable-next-line import/no-mutable-exports
  173. export const computed = V.computed;
  174. // eslint-disable-next-line import/no-mutable-exports
  175. export const createBlock = V.createBlock;
  176. // eslint-disable-next-line import/no-mutable-exports
  177. export const createCommentVNode = V.createCommentVNode;
  178. // eslint-disable-next-line import/no-mutable-exports
  179. export const createElementBlock = V.createElementBlock;
  180. // eslint-disable-next-line import/no-mutable-exports
  181. export const createElementVNode = V.createElementVNode;
  182. // eslint-disable-next-line import/no-mutable-exports
  183. export const createHydrationRenderer = V.createHydrationRenderer;
  184. // eslint-disable-next-line import/no-mutable-exports
  185. export const createRenderer = V.createRenderer;
  186. // eslint-disable-next-line import/no-mutable-exports
  187. export const createSlots = V.createSlots;
  188. // eslint-disable-next-line import/no-mutable-exports
  189. export const createStaticVNode = V.createStaticVNode;
  190. // eslint-disable-next-line import/no-mutable-exports
  191. export const createTextVNode = V.createTextVNode;
  192. // eslint-disable-next-line import/no-mutable-exports
  193. export const createVNode = V.createVNode;
  194. // eslint-disable-next-line import/no-mutable-exports
  195. export const defineAsyncComponent = V.defineAsyncComponent;
  196. // eslint-disable-next-line import/no-mutable-exports
  197. export const defineComponent = V.defineComponent;
  198. // eslint-disable-next-line import/no-mutable-exports
  199. export const defineEmits = V.defineEmits;
  200. // eslint-disable-next-line import/no-mutable-exports
  201. export const defineExpose = V.defineExpose;
  202. // eslint-disable-next-line import/no-mutable-exports
  203. export const defineModel = V.defineModel;
  204. // eslint-disable-next-line import/no-mutable-exports
  205. export const defineOptions = V.defineOptions;
  206. // eslint-disable-next-line import/no-mutable-exports
  207. export const defineProps = V.defineProps;
  208. // eslint-disable-next-line import/no-mutable-exports
  209. export const defineSlots = V.defineSlots;
  210. // eslint-disable-next-line import/no-mutable-exports
  211. export const devtools = V.devtools;
  212. // eslint-disable-next-line import/no-mutable-exports
  213. export const getCurrentInstance = V.getCurrentInstance;
  214. // eslint-disable-next-line import/no-mutable-exports
  215. export const getTransitionRawChildren = V.getTransitionRawChildren;
  216. // eslint-disable-next-line import/no-mutable-exports
  217. export const guardReactiveProps = V.guardReactiveProps;
  218. // eslint-disable-next-line import/no-mutable-exports
  219. export const h = V.h;
  220. // eslint-disable-next-line import/no-mutable-exports
  221. export const handleError = V.handleError;
  222. // eslint-disable-next-line import/no-mutable-exports
  223. export const hasInjectionContext = V.hasInjectionContext;
  224. // eslint-disable-next-line import/no-mutable-exports
  225. export const hydrateOnIdle = V.hydrateOnIdle;
  226. // eslint-disable-next-line import/no-mutable-exports
  227. export const hydrateOnInteraction = V.hydrateOnInteraction;
  228. // eslint-disable-next-line import/no-mutable-exports
  229. export const hydrateOnMediaQuery = V.hydrateOnMediaQuery;
  230. // eslint-disable-next-line import/no-mutable-exports
  231. export const hydrateOnVisible = V.hydrateOnVisible;
  232. // eslint-disable-next-line import/no-mutable-exports
  233. export const initCustomFormatter = V.initCustomFormatter;
  234. // eslint-disable-next-line import/no-mutable-exports
  235. export const inject = V.inject;
  236. // eslint-disable-next-line import/no-mutable-exports
  237. export const isMemoSame = V.isMemoSame;
  238. // eslint-disable-next-line import/no-mutable-exports
  239. export const isRuntimeOnly = V.isRuntimeOnly;
  240. // eslint-disable-next-line import/no-mutable-exports
  241. export const isVNode = V.isVNode;
  242. // eslint-disable-next-line import/no-mutable-exports
  243. export const mergeProps = V.mergeProps;
  244. // eslint-disable-next-line import/no-mutable-exports
  245. export const nextTick = V.nextTick;
  246. // eslint-disable-next-line import/no-mutable-exports
  247. export const onActivated = V.onActivated;
  248. // eslint-disable-next-line import/no-mutable-exports
  249. export const onBeforeMount = V.onBeforeMount;
  250. // eslint-disable-next-line import/no-mutable-exports
  251. export const onBeforeUnmount = V.onBeforeUnmount;
  252. // eslint-disable-next-line import/no-mutable-exports
  253. export const onBeforeUpdate = V.onBeforeUpdate;
  254. // eslint-disable-next-line import/no-mutable-exports
  255. export const onDeactivated = V.onDeactivated;
  256. // eslint-disable-next-line import/no-mutable-exports
  257. export const onErrorCaptured = V.onErrorCaptured;
  258. // eslint-disable-next-line import/no-mutable-exports
  259. export const onMounted = V.onMounted;
  260. // eslint-disable-next-line import/no-mutable-exports
  261. export const onRenderTracked = V.onRenderTracked;
  262. // eslint-disable-next-line import/no-mutable-exports
  263. export const onRenderTriggered = V.onRenderTriggered;
  264. // eslint-disable-next-line import/no-mutable-exports
  265. export const onServerPrefetch = V.onServerPrefetch;
  266. // eslint-disable-next-line import/no-mutable-exports
  267. export const onUnmounted = V.onUnmounted;
  268. // eslint-disable-next-line import/no-mutable-exports
  269. export const onUpdated = V.onUpdated;
  270. // eslint-disable-next-line import/no-mutable-exports
  271. export const openBlock = V.openBlock;
  272. // eslint-disable-next-line import/no-mutable-exports
  273. export const popScopeId = V.popScopeId;
  274. // eslint-disable-next-line import/no-mutable-exports
  275. export const provide = V.provide;
  276. // eslint-disable-next-line import/no-mutable-exports
  277. export const pushScopeId = V.pushScopeId;
  278. // eslint-disable-next-line import/no-mutable-exports
  279. export const queuePostFlushCb = V.queuePostFlushCb;
  280. // eslint-disable-next-line import/no-mutable-exports
  281. export const registerRuntimeCompiler = V.registerRuntimeCompiler;
  282. // eslint-disable-next-line import/no-mutable-exports
  283. export const renderList = V.renderList;
  284. // eslint-disable-next-line import/no-mutable-exports
  285. export const renderSlot = V.renderSlot;
  286. // eslint-disable-next-line import/no-mutable-exports
  287. export const resolveComponent = V.resolveComponent;
  288. // eslint-disable-next-line import/no-mutable-exports
  289. export const resolveDirective = V.resolveDirective;
  290. // eslint-disable-next-line import/no-mutable-exports
  291. export const resolveDynamicComponent = V.resolveDynamicComponent;
  292. // eslint-disable-next-line import/no-mutable-exports
  293. export const resolveTransitionHooks = V.resolveTransitionHooks;
  294. // eslint-disable-next-line import/no-mutable-exports
  295. export const setBlockTracking = V.setBlockTracking;
  296. // eslint-disable-next-line import/no-mutable-exports
  297. export const setDevtoolsHook = V.setDevtoolsHook;
  298. // eslint-disable-next-line import/no-mutable-exports
  299. export const setTransitionHooks = V.setTransitionHooks;
  300. // eslint-disable-next-line import/no-mutable-exports
  301. export const ssrContextKey = V.ssrContextKey;
  302. // eslint-disable-next-line import/no-mutable-exports
  303. export const toHandlers = V.toHandlers;
  304. // eslint-disable-next-line import/no-mutable-exports
  305. export const transformVNodeArgs = V.transformVNodeArgs;
  306. // eslint-disable-next-line import/no-mutable-exports
  307. export const useAttrs = V.useAttrs;
  308. // eslint-disable-next-line import/no-mutable-exports
  309. export const useId = V.useId;
  310. // eslint-disable-next-line import/no-mutable-exports
  311. export const useModel = V.useModel;
  312. // eslint-disable-next-line import/no-mutable-exports
  313. export const useSSRContext = V.useSSRContext;
  314. // eslint-disable-next-line import/no-mutable-exports
  315. export const useSlots = V.useSlots;
  316. // eslint-disable-next-line import/no-mutable-exports
  317. export const useTemplateRef = V.useTemplateRef;
  318. // eslint-disable-next-line import/no-mutable-exports
  319. export const useTransitionState = V.useTransitionState;
  320. // eslint-disable-next-line import/no-mutable-exports
  321. export const version = V.version;
  322. // eslint-disable-next-line import/no-mutable-exports
  323. export const warn = V.warn;
  324. // eslint-disable-next-line import/no-mutable-exports
  325. export const watch = V.watch;
  326. // eslint-disable-next-line import/no-mutable-exports
  327. export const watchEffect = V.watchEffect;
  328. // eslint-disable-next-line import/no-mutable-exports
  329. export const watchPostEffect = V.watchPostEffect;
  330. // eslint-disable-next-line import/no-mutable-exports
  331. export const watchSyncEffect = V.watchSyncEffect;
  332. // eslint-disable-next-line import/no-mutable-exports
  333. export const withCtx = V.withCtx;
  334. // eslint-disable-next-line import/no-mutable-exports
  335. export const withDefaults = V.withDefaults;
  336. // eslint-disable-next-line import/no-mutable-exports
  337. export const withDirectives = V.withDirectives;
  338. // eslint-disable-next-line import/no-mutable-exports
  339. export const withMemo = V.withMemo;
  340. // eslint-disable-next-line import/no-mutable-exports
  341. export const withScopeId = V.withScopeId;