Commit Graph

68 Commits

Author SHA1 Message Date
Evan You 526fa3b2cc feat(deprecation): unwrap injected refs in Options API by default, deprecate app.config.unwrapInjectedRefs 2023-04-21 15:54:03 +08:00
Eduardo San Martin Morote 869f3fb93e
feat(app): app.runWithContext() (#7451) 2023-04-05 15:18:13 +08:00
Evan You 6213b73cd2 build: custom const enum processing 2023-02-03 09:54:15 +08:00
Tony Trinh c513126c5d
types(runtime-core): support plugin options type inference (#3969) 2022-11-13 20:13:32 -05:00
nandi95 506a42a9a5
types(runtime-core): added `ComponentCustomProperties` type to `globalProperties` (#5389) 2022-10-26 05:00:47 -04:00
Evan You 5381abc057 fix(types): support TypeScript 4.8
fix #6554
2022-08-31 14:03:08 +08:00
zs 0c07f12541
chore: warn when mounting different apps on the same host element (#5573) 2022-05-12 21:09:18 -04:00
qinxiaosen_ccc 292ce69439
chore: remove outdated type comment (#5103) 2022-05-06 06:44:28 -04:00
Evan You 7efb9dba30 refactor: remove use of Object.assign
TS already transpiles spread to Object.assign with target:es2016
2022-04-12 15:22:11 +08:00
Yuchao d121a9bc7e
fix(runtime-core): Avoid mutating original options object in createApp (#4840)
fix #4398
2022-04-12 03:14:23 -04:00
Evan You 50f13278f9 chore: avoid api-extractor warnings 2021-12-12 00:14:25 +08:00
skirtle 5aa4255808
fix(runtime-core): return the exposeProxy from mount (#4606) 2021-09-21 12:55:08 -04:00
Evan You 561e210157 fix(inject): should auto unwrap injected refs
fix #4196
2021-07-27 17:52:37 -04:00
Evan You 47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Guillaume 2b52d5d7c5 fix(devtools): expose root instance
related to https://github.com/vuejs/vue-devtools/issues/1376
2021-06-07 23:23:45 +02:00
Evan You 51d2be2038 perf: avoid deopt for props/emits normalization when global mixins are used 2021-06-02 15:22:52 -04:00
Evan You e2ca67b59a fix(runtime-core): align option merge behavior with Vue 2
fix #3566, #2791
2021-06-02 15:19:56 -04:00
Evan You 1e35a860b9 refactor: adjust component options merge cache strategy
BREAKING CHANGE: optionMergeStrategies functions no longer receive
the component instance as the 3rd argument. The argument was technically
internal in Vue 2 and only used for generating warnings, and should not
be needed in userland code. This removal enables much more efficient
caching of option merging.
2021-06-02 10:42:52 -04:00
Evan You b10db86711 wip: make legacy global apis available on app instance as well 2021-05-06 17:15:11 -04:00
Evan You f2a5a3ee55 wip: make singleton mutations affect all app instances 2021-05-05 17:56:09 -04:00
Evan You d0dd6674bb wip: fix isCustomElement 2021-04-28 12:36:08 -04:00
Evan You c27f01bc74 wip: tests for global config compat 2021-04-28 12:29:51 -04:00
Evan You 091e6d67bf feat(config): support configuring runtime compiler via `app.config.compilerOptions`
- `config.isCustomElement` is deprecated - use `app.config.compilerOptions.isCustomElement` instead.
2021-04-26 11:46:29 -04:00
Evan You 7dc681c196 wip: filters compat 2021-04-19 12:29:55 -04:00
Evan You 62bfdae043 wip: Vue.util compat 2021-04-11 16:53:43 -04:00
Evan You 960e0943f7 wip: config.ignoredElements compat 2021-04-07 16:19:24 -04:00
Evan You 53b8127a9c wip: progress 2021-04-07 16:19:24 -04:00
Evan You 40e3dd28e1 wip: restructure compat code + global api alignment 2021-04-07 16:19:24 -04:00
Evan You e2d6ff845b wip: root mount api compat 2021-04-07 16:19:24 -04:00
HcySunYang 8ffcde2836
fix(runtime-dom): support mounting app to svg container (#2929)
fix #2926
2021-03-01 11:51:32 -05:00
hiroki 18b0c9a011
docs(type): remove unmount parameters (#2601) 2021-02-03 19:09:59 +01:00
Thorsten Lünborg 60e05eff23
fix(runtime-core): ensure app instance can be garbage collected after unmount (close #2907) (#2909)
close #2907

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-03 19:09:20 +01:00
Evan You a66e53a24f fix(runtime-core): fix SSR memoery leak due to props normalization cache
fix #2225

The previous props/emits normlaization was caching normalized result per
app instance, but during SSR there is a new app instance created for
every request.

The fix now de-opts props/emits normlaization caching when there are
props/emits declared in global mixins - which is a very rare use case.
2020-10-06 15:31:29 -04:00
Evan You 8ed0b342d4 fix(runtime-core): fix props/emits resolving with global mixins
fix #1975
2020-08-31 18:32:07 -04:00
Guillaume Chau 6eb7fd8333 fix(devtools): unmountApp not behind compile flag 2020-08-22 16:34:18 +02:00
Evan You 7454e2a52b build(deps): upgrade to TypeScript 4 2020-08-20 17:48:28 -04:00
Evan You eb2ae44d94 refactor(types): widen `Component` type to include consutructor types
returned from `defineComponent`

ref: https://github.com/vuejs/vue-router-next/pull/421
also close #1880

Previous `Component` type is now exported as `ConcreteComponent`.

This introduces a minor breaking change when calling `h(comp, { ... })`
will now fail if `comp` is a of generic `Component` type, since it does
not specify what props it expects.
2020-08-19 16:19:25 -04:00
Evan You 54727f9874 feat: provide ability to overwrite feature flags in esm-bundler builds
e.g. by replacing `__VUE_OPTIONS_API__` to `false` using webpack's
`DefinePlugin`, the final bundle will drop all code supporting the
options API.

This does not break existing usage, but requires the user to explicitly
configure the feature flags via bundlers to properly tree-shake the
disabled branches. As a result, users will see a console warning if
the flags have not been properly configured.
2020-07-20 21:51:30 -04:00
Guillaume Chau 568b6db12b
feat: Initial devtools support (#1125) 2020-07-16 18:18:52 -04:00
Evan You 056cac9185 feat(runtime-core): expose version on app instance
close #1449
2020-06-26 09:03:55 -04:00
underfin 0b93440146
chore: better warning when remounting a mounted app (#1297) 2020-06-11 17:20:38 -04:00
Eduardo San Martin Morote 71a942b25a
fix(warn): cast symbols to strings (#1103) 2020-05-02 10:26:32 -04:00
Evan You 19223f5462 build: remove __BUNLDER__ flag so that HMR is available for all builds 2020-04-20 13:39:47 -04:00
Evan You 24e9efcc21 refactor(runtime-core): extract component emit related logic into dedicated file 2020-04-03 19:08:17 -04:00
Evan You 27873dbe1c feat(runtime-core): support app.config.globalProperties
per https://github.com/vuejs/rfcs/pull/117/
2020-03-25 09:28:43 -04:00
Evan You 528621ba41 feat(runtime-core): support `config.optionMergeStrategies`
Note the behavior is different from Vue 2:
- merge strategies no longer apply to built-in options.
- the default value is now an empty object and no longer exposes merge
  strategies for built-in options.
2020-03-24 11:59:00 -04:00
Evan You b8c1be18f3 refactor(types): use stricter settings
fix #847
2020-03-23 11:08:22 -04:00
hareku 1e9d1319c3
fix(types): app.component should accept defineComponent return type (#822)
fix #730
2020-03-12 10:19:30 -04:00
hareku 257727569a
types(runtime-core): update error type to unknown (#798) 2020-03-09 15:58:52 -04:00
djy0 04f83fa681
fix(runtime-core): set appContext.provides to Object.create(null) (#781) 2020-02-26 10:20:10 -05:00