index.ts 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. // Core API ------------------------------------------------------------------
  2. export const version = __VERSION__
  3. export {
  4. // core
  5. reactive,
  6. ref,
  7. readonly,
  8. // utilities
  9. unref,
  10. proxyRefs,
  11. isRef,
  12. toRef,
  13. toRefs,
  14. isProxy,
  15. isReactive,
  16. isReadonly,
  17. isShallow,
  18. // advanced
  19. customRef,
  20. triggerRef,
  21. shallowRef,
  22. shallowReactive,
  23. shallowReadonly,
  24. markRaw,
  25. toRaw,
  26. // effect
  27. effect,
  28. stop,
  29. ReactiveEffect,
  30. // effect scope
  31. effectScope,
  32. EffectScope,
  33. getCurrentScope,
  34. onScopeDispose
  35. } from '@vue/reactivity'
  36. export { computed } from './apiComputed'
  37. export {
  38. watch,
  39. watchEffect,
  40. watchPostEffect,
  41. watchSyncEffect
  42. } from './apiWatch'
  43. export {
  44. onBeforeMount,
  45. onMounted,
  46. onBeforeUpdate,
  47. onUpdated,
  48. onBeforeUnmount,
  49. onUnmounted,
  50. onActivated,
  51. onDeactivated,
  52. onRenderTracked,
  53. onRenderTriggered,
  54. onErrorCaptured,
  55. onServerPrefetch
  56. } from './apiLifecycle'
  57. export { provide, inject } from './apiInject'
  58. export { nextTick } from './scheduler'
  59. export { defineComponent } from './apiDefineComponent'
  60. export { defineAsyncComponent } from './apiAsyncComponent'
  61. export { useAttrs, useSlots } from './apiSetupHelpers'
  62. // <script setup> API ----------------------------------------------------------
  63. export {
  64. // macros runtime, for typing and warnings only
  65. defineProps,
  66. defineEmits,
  67. defineExpose,
  68. withDefaults,
  69. // internal
  70. mergeDefaults,
  71. createPropsRestProxy,
  72. withAsyncContext
  73. } from './apiSetupHelpers'
  74. // Advanced API ----------------------------------------------------------------
  75. // For getting a hold of the internal instance in setup() - useful for advanced
  76. // plugins
  77. export { getCurrentInstance } from './component'
  78. // For raw render function users
  79. export { h } from './h'
  80. // Advanced render function utilities
  81. export { createVNode, cloneVNode, mergeProps, isVNode } from './vnode'
  82. // VNode types
  83. export { Fragment, Text, Comment, Static, type VNodeRef } from './vnode'
  84. // Built-in components
  85. export { Teleport, type TeleportProps } from './components/Teleport'
  86. export { Suspense, type SuspenseProps } from './components/Suspense'
  87. export { KeepAlive, type KeepAliveProps } from './components/KeepAlive'
  88. export {
  89. BaseTransition,
  90. BaseTransitionPropsValidators,
  91. type BaseTransitionProps
  92. } from './components/BaseTransition'
  93. // For using custom directives
  94. export { withDirectives } from './directives'
  95. // SSR context
  96. export { useSSRContext, ssrContextKey } from './helpers/useSsrContext'
  97. // Custom Renderer API ---------------------------------------------------------
  98. export { createRenderer, createHydrationRenderer } from './renderer'
  99. export { queuePostFlushCb } from './scheduler'
  100. export { warn, assertNumber } from './warning'
  101. export {
  102. handleError,
  103. callWithErrorHandling,
  104. callWithAsyncErrorHandling,
  105. ErrorCodes
  106. } from './errorHandling'
  107. export {
  108. resolveComponent,
  109. resolveDirective,
  110. resolveDynamicComponent
  111. } from './helpers/resolveAssets'
  112. // For integration with runtime compiler
  113. export { registerRuntimeCompiler, isRuntimeOnly } from './component'
  114. export {
  115. useTransitionState,
  116. resolveTransitionHooks,
  117. setTransitionHooks,
  118. getTransitionRawChildren
  119. } from './components/BaseTransition'
  120. export { initCustomFormatter } from './customFormatter'
  121. // For devtools
  122. export { devtools, setDevtoolsHook } from './devtools'
  123. // Types -------------------------------------------------------------------------
  124. import { VNode } from './vnode'
  125. import { ComponentInternalInstance } from './component'
  126. // Augment Ref unwrap bail types.
  127. // Note: if updating this, also update `types/refBail.d.ts`.
  128. declare module '@vue/reactivity' {
  129. export interface RefUnwrapBailTypes {
  130. runtimeCoreBailTypes:
  131. | VNode
  132. | {
  133. // directly bailing on ComponentPublicInstance results in recursion
  134. // so we use this as a bail hint
  135. $: ComponentInternalInstance
  136. }
  137. }
  138. }
  139. export { TrackOpTypes, TriggerOpTypes } from '@vue/reactivity'
  140. export type {
  141. Ref,
  142. ToRef,
  143. ToRefs,
  144. UnwrapRef,
  145. ShallowRef,
  146. ShallowUnwrapRef,
  147. CustomRefFactory,
  148. ReactiveFlags,
  149. DeepReadonly,
  150. ShallowReactive,
  151. UnwrapNestedRefs,
  152. ComputedRef,
  153. WritableComputedRef,
  154. WritableComputedOptions,
  155. ComputedGetter,
  156. ComputedSetter,
  157. ReactiveEffectRunner,
  158. ReactiveEffectOptions,
  159. EffectScheduler,
  160. DebuggerOptions,
  161. DebuggerEvent,
  162. DebuggerEventExtraInfo,
  163. Raw
  164. } from '@vue/reactivity'
  165. export type {
  166. WatchEffect,
  167. WatchOptions,
  168. WatchOptionsBase,
  169. WatchCallback,
  170. WatchSource,
  171. WatchStopHandle
  172. } from './apiWatch'
  173. export type { InjectionKey } from './apiInject'
  174. export type {
  175. App,
  176. AppConfig,
  177. AppContext,
  178. Plugin,
  179. CreateAppFunction,
  180. OptionMergeFunction
  181. } from './apiCreateApp'
  182. export type {
  183. VNode,
  184. VNodeChild,
  185. VNodeTypes,
  186. VNodeProps,
  187. VNodeArrayChildren,
  188. VNodeNormalizedChildren
  189. } from './vnode'
  190. export type {
  191. Component,
  192. ConcreteComponent,
  193. FunctionalComponent,
  194. ComponentInternalInstance,
  195. SetupContext,
  196. ComponentCustomProps,
  197. AllowedComponentProps
  198. } from './component'
  199. export type { DefineComponent } from './apiDefineComponent'
  200. export type {
  201. ComponentOptions,
  202. ComponentOptionsMixin,
  203. ComponentOptionsWithoutProps,
  204. ComponentOptionsWithObjectProps,
  205. ComponentOptionsWithArrayProps,
  206. ComponentCustomOptions,
  207. ComponentOptionsBase,
  208. ComponentProvideOptions,
  209. RenderFunction,
  210. MethodOptions,
  211. ComputedOptions,
  212. RuntimeCompilerOptions,
  213. ComponentInjectOptions
  214. } from './componentOptions'
  215. export type { EmitsOptions, ObjectEmitsOptions } from './componentEmits'
  216. export type {
  217. ComponentPublicInstance,
  218. ComponentCustomProperties,
  219. CreateComponentPublicInstance
  220. } from './componentPublicInstance'
  221. export type {
  222. Renderer,
  223. RendererNode,
  224. RendererElement,
  225. HydrationRenderer,
  226. RendererOptions,
  227. RootRenderFunction
  228. } from './renderer'
  229. export type { RootHydrateFunction } from './hydration'
  230. export type { Slot, Slots } from './componentSlots'
  231. export type {
  232. Prop,
  233. PropType,
  234. ComponentPropsOptions,
  235. ComponentObjectPropsOptions,
  236. ExtractPropTypes,
  237. ExtractDefaultPropTypes
  238. } from './componentProps'
  239. export type {
  240. Directive,
  241. DirectiveBinding,
  242. DirectiveHook,
  243. ObjectDirective,
  244. FunctionDirective,
  245. DirectiveArguments
  246. } from './directives'
  247. export type { SuspenseBoundary } from './components/Suspense'
  248. export type {
  249. TransitionState,
  250. TransitionHooks
  251. } from './components/BaseTransition'
  252. export type {
  253. AsyncComponentOptions,
  254. AsyncComponentLoader
  255. } from './apiAsyncComponent'
  256. export type { HMRRuntime } from './hmr'
  257. // Internal API ----------------------------------------------------------------
  258. // **IMPORTANT** Internal APIs may change without notice between versions and
  259. // user code should avoid relying on them.
  260. // For compiler generated code
  261. // should sync with '@vue/compiler-core/src/runtimeHelpers.ts'
  262. export {
  263. withCtx,
  264. pushScopeId,
  265. popScopeId,
  266. withScopeId
  267. } from './componentRenderContext'
  268. export { renderList } from './helpers/renderList'
  269. export { toHandlers } from './helpers/toHandlers'
  270. export { renderSlot } from './helpers/renderSlot'
  271. export { createSlots } from './helpers/createSlots'
  272. export { withMemo, isMemoSame } from './helpers/withMemo'
  273. export {
  274. openBlock,
  275. createBlock,
  276. setBlockTracking,
  277. createTextVNode,
  278. createCommentVNode,
  279. createStaticVNode,
  280. createElementVNode,
  281. createElementBlock,
  282. guardReactiveProps
  283. } from './vnode'
  284. export {
  285. toDisplayString,
  286. camelize,
  287. capitalize,
  288. toHandlerKey,
  289. normalizeProps,
  290. normalizeClass,
  291. normalizeStyle
  292. } from '@vue/shared'
  293. // For test-utils
  294. export { transformVNodeArgs } from './vnode'
  295. // SSR -------------------------------------------------------------------------
  296. // **IMPORTANT** These APIs are exposed solely for @vue/server-renderer and may
  297. // change without notice between versions. User code should never rely on them.
  298. import { createComponentInstance, setupComponent } from './component'
  299. import { renderComponentRoot } from './componentRenderUtils'
  300. import { setCurrentRenderingInstance } from './componentRenderContext'
  301. import { isVNode, normalizeVNode } from './vnode'
  302. const _ssrUtils = {
  303. createComponentInstance,
  304. setupComponent,
  305. renderComponentRoot,
  306. setCurrentRenderingInstance,
  307. isVNode,
  308. normalizeVNode
  309. }
  310. /**
  311. * SSR utils for \@vue/server-renderer. Only exposed in ssr-possible builds.
  312. * @internal
  313. */
  314. export const ssrUtils = (__SSR__ ? _ssrUtils : null) as typeof _ssrUtils
  315. // 2.x COMPAT ------------------------------------------------------------------
  316. export { DeprecationTypes } from './compat/compatConfig'
  317. export type { CompatVue } from './compat/global'
  318. export type { LegacyConfig } from './compat/globalConfig'
  319. import { warnDeprecation } from './compat/compatConfig'
  320. import { createCompatVue } from './compat/global'
  321. import {
  322. isCompatEnabled,
  323. checkCompatEnabled,
  324. softAssertCompatEnabled
  325. } from './compat/compatConfig'
  326. import { resolveFilter as _resolveFilter } from './helpers/resolveAssets'
  327. /**
  328. * @internal only exposed in compat builds
  329. */
  330. export const resolveFilter = __COMPAT__ ? _resolveFilter : null
  331. const _compatUtils = {
  332. warnDeprecation,
  333. createCompatVue,
  334. isCompatEnabled,
  335. checkCompatEnabled,
  336. softAssertCompatEnabled
  337. }
  338. /**
  339. * @internal only exposed in compat builds.
  340. */
  341. export const compatUtils = (
  342. __COMPAT__ ? _compatUtils : null
  343. ) as typeof _compatUtils