Commit Graph

81 Commits

Author SHA1 Message Date
Evan You e2ca67b59a fix(runtime-core): align option merge behavior with Vue 2
fix #3566, #2791
2021-06-02 15:19:56 -04:00
HcySunYang 201060717d
fix(runtime-core): should not track dynamic children when the user calls a compiled slot inside template expression (#3554)
fix #3548, partial fix for #3569
2021-05-25 13:33:41 -04:00
GU Yiling 9b160b9405
fix(types): declared prop keys should always exist in `props` argument (#3726) 2021-05-12 17:47:31 -04:00
Evan You 7dc681c196 wip: filters compat 2021-04-19 12:29:55 -04:00
Evan You 37c17091fd fix: ensure backwards compat for pre-compiled sfc components
fix #3493
2021-03-27 10:53:45 -04:00
Evan You abd129d845 fix(component): prioritize registered component over implicit self-reference via filename
ref: #2827
2021-03-26 10:04:36 -04:00
Evan You 02cbbb718c perf: support only attaching slot scope ids when necessary
This is done by adding the `slotted: false` option to:

- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)

At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.

Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You aea88c3280 refactor: fix implementation of SFC :slotted id handling
fix #2892
2021-03-05 18:28:12 -05:00
Evan You 310cb8cfab chore: fix useSSRContext casing in warning message 2021-01-29 15:03:52 -05:00
edison 82bf7ebf36
refactor(runtime-core): extract common getComponentName function (#2454) 2020-12-04 17:03:03 -05:00
Evan You 67d1aac6ae feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You 2ab8c41a1a fix(slots): dynamically named slots should be keyed by name
fix #2535
2020-11-27 14:35:46 -05:00
HcySunYang ce4915d8be
fix(slots): should render fallback content when slot content contains no valid nodes (#2485)
fix #2347, fix #2461
2020-11-26 11:35:45 -05:00
Carlos Rodrigues 1f2a652a9d
fix(types): h support for resolveComponent (#2402)
close #2357
2020-10-20 15:56:29 -04:00
ᴜɴвʏтᴇ 052a621762
feat(compile-core): handle falsy dynamic args for v-on and v-bind (#2393)
fix #2388
2020-10-19 17:15:53 -04:00
underfin 02f355eb69
fix(v-for): handle and warn when `v-for` receives non-integer range number (#2247)
close #2245
2020-10-13 16:28:24 -04:00
HcySunYang 5b82c48c7b
fix(runtime-core): enable block tracking when normalizing plain element with slot children (#1987)
fix #1980
2020-09-01 12:38:47 -04:00
Evan You 0cb7f7f880 fix(runtime-core): fix resolving assets from mixins and extends
fix #1963
2020-08-26 18:09:54 -04:00
Evan You f02e2f99d9 fix(runtime-core): disable block tracking when calling compiled slot function in tempalte expressions
fix #1745, fix #1918
2020-08-21 12:47:45 -04:00
HcySunYang 7ffb79c563
fix(runtime-core): correctly track dynamic nodes in renderSlot (#1911) 2020-08-20 09:37:26 -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 791eff3dfb fix(runtime-core): avoid manual slot invocation in template expressions interfering with block tracking
fix #1745
2020-08-06 10:16:13 -04:00
Evan You a75b8a268f fix(build): fix component resolution when disabling options API
fix #1688
2020-07-23 14:33:15 -04:00
lawvs a935998b33
chore: better comment hovers preview [ci skip] (#1612) 2020-07-17 11:24:12 -04:00
Evan You aab99abd28 fix(slots): properly force update on forwarded slots
fix #1594
2020-07-15 20:12:49 -04:00
Evan You 65beba98fe fix(slots): differentiate dynamic/static compiled slots
fix #1557
2020-07-13 12:36:41 -04:00
Evan You 9f706a9f5e feat(runtime-dom): useCssVars 2020-07-09 16:25:29 -04:00
Evan You fe9e227ae4 types: adjust resolveDynamicComponent return type 2020-07-07 12:43:05 -04:00
Evan You 5453e791ae chore: fix types 2020-06-26 10:07:07 -04:00
Evan You e765d81404 fix(runtime-core): fix component name inference in warnings
Should not pollute component definition name property
fix #1418
2020-06-26 09:28:15 -04:00
Cathrine Vaage 250eb4a5bc
fix(runtime-core): properly capitalize v-on object keys (#1358) 2020-06-15 11:12:08 -04:00
Evan You e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage
- v-model and v-show directives are now exposed as public
- compiler-used runtime helpers are now exposed for TS tooling, but marked as @private

close #1329
2020-06-10 14:57:21 -04:00
doly mood d3c436ae2e
feat(types): mixins/extends support in TypeScript (#626) 2020-06-09 10:37:00 -04:00
Evan You 64ef7c76bf feat(types): re-expose resolve asset utitlies and registerRuntimeCompiler in type definitions
close #1109
2020-05-04 08:52:59 -04:00
Evan You c9bf7ded2e refactor(types): mark internal API exports and exclude from d.ts
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You ded92f93b4 fix(runtime-core): dynamic component should support falsy values without warning 2020-04-24 15:32:47 -04:00
underfin 2b19965bcf
fix(slots): compiled slot fallback should be functions (#1030)
This avoids it being collected as dynamic children when it's not used.

fix #1021
2020-04-22 16:52:41 -04:00
Evan You e422b8b082 fix(runtime-core): only infer component name for object components
close #1023
2020-04-22 04:39:12 -04:00
Evan You dece6102aa feat(warn): infer anonymous component named based on resolve name 2020-04-20 16:17:29 -04:00
Rahul Kadyan 4d196366c8
types(runtime-core): Adds type signature for renderList helper (#924) 2020-04-06 09:57:32 -04:00
Evan You cb31eb4d0a feat(runtime-core): failed component resolution should fallback to native element 2020-03-25 15:08:15 -04:00
Evan You d99437f870 chore: rmeove debugger [ci skip] 2020-03-24 18:18:59 -04:00
Evan You 4c1a193617 fix: do not drop SFC runtime behavior code in global builds
fix #873
2020-03-23 15:10:35 -04:00
Evan You f529dbde23 fix: dynamic component fallback to native element
fix #870
2020-03-23 14:47:04 -04:00
Evan You b8c1be18f3 refactor(types): use stricter settings
fix #847
2020-03-23 11:08:22 -04:00
Evan You 4dc8ffc378 fix: simplify and use correct ctx in withCtx 2020-03-16 13:06:46 -04:00
Evan You 19228a469a refactor: simplify resolveDyanmicComponent 2020-03-16 13:06:46 -04:00
Evan You 8a58dce603 feat(runtime-core): set context for manual slot functions as well 2020-03-16 13:06:46 -04:00
Evan You ecd7ce60d5 feat(compiler-core): wrap slot functions with render context 2020-03-16 13:06:46 -04:00
Evan You 3357ff438c fix(slots): fix conditional slot
fix #787
2020-02-26 21:43:27 -05:00