vue3-core/packages/runtime-core
Evan You 9571ede84b refactor(watch): adjsut watch API behavior
BREAKING CHANGE: `watch` behavior has been adjusted.

    - When using the `watch(source, callback, options?)` signature, the
      callback now fires lazily by default (consistent with 2.x
      behavior).

      Note that the `watch(effect, options?)` signature is still eager,
      since it must invoke the `effect` immediately to collect
      dependencies.

    - The `lazy` option has been replaced by the opposite `immediate`
      option, which defaults to `false`. (It's ignored when using the
      effect signature)

    - Due to the above changes, the `watch` option in Options API now
      behaves exactly the same as 2.x.

    - When using the effect signature or `{ immediate: true }`, the
      intital execution is now performed synchronously instead of
      deferred until the component is mounted. This is necessary for
      certain use cases to work properly with `async setup()` and
      Suspense.

      The side effect of this is the immediate watcher invocation will
      no longer have access to the mounted DOM. However, the watcher can
      be initiated inside `onMounted` to retain previous behavior.
2020-02-17 23:16:58 -05:00
..
__tests__ refactor(watch): adjsut watch API behavior 2020-02-17 23:16:58 -05:00
src refactor(watch): adjsut watch API behavior 2020-02-17 23:16:58 -05:00
LICENSE chore: license 2019-10-28 11:15:17 -04:00
README.md chore: update readme 2019-12-09 14:06:31 -05:00
api-extractor.json build: use api-extractor for type rollup 2019-09-03 12:16:22 -04:00
index.js refactor: rename packages 2018-10-26 15:44:50 -04:00
package.json release: v3.0.0-alpha.4 2020-01-27 16:20:00 -05:00

README.md

@vue/runtime-core

This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.

For full exposed APIs, see src/index.ts. You can also run yarn build runtime-core --types from repo root, which will generate an API report at temp/runtime-core.api.md.

Building a Custom Renderer

import { createRenderer } from '@vue/runtime-core'

const { render, createApp } = createRenderer({
  patchProp,
  insert,
  remove,
  createElement,
  // ...
})

// `render` is the low-level API
// `createApp` returns an app instance with configurable context shared
// by the entire app tree.
export { render, createApp }

export * from '@vue/runtime-core'

See @vue/runtime-dom for how a DOM-targeting renderer is implemented.