vue3-yuanma/packages/runtime-core
Evan You 629ee75588 perf: prevent renderer hot functions being inlined by minifiers
Terser will aggressively inline hot functions in renderer.ts in order
to reduce "function" declarations, but the inlining leads to performance
overhead (small, but noticeable in benchmarks).

Since we cannot control user's minifier options, we have to avoid the
deopt in the source code by using arrow functions in hot paths.
2020-02-14 03:27:27 -05:00
..
__tests__ refactor(types): move shapeFlags to shared 2020-02-14 01:36:42 -05:00
src perf: prevent renderer hot functions being inlined by minifiers 2020-02-14 03:27:27 -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
LICENSE chore: license 2019-10-28 11:15:17 -04:00
package.json release: v3.0.0-alpha.4 2020-01-27 16:20:00 -05:00
README.md chore: update readme 2019-12-09 14:06:31 -05:00

@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.