index.ts 8.5 KB

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