HcySunYang
48f0d2944f
fix(types): extract the correct props type for the DateConstructor ( #2676 )
2021-02-05 19:56:23 +01:00
edison
ffd5288545
feat(runtime-core): props type support BigInt
( #2891 )
2021-02-03 19:25:45 +01:00
被雨水过滤的空气
edd49dcab4
fix(runtime-core): avoid mutating EMPTY_ARR when setting dev root ( #2419 )
...
also freeze EMPTY_ARR in dev
fix #2413
2020-10-19 18:08:54 -04:00
Carlos Rodrigues
d9ad45ad6c
types(defineComponent): fix optional Boolean prop types ( #2401 )
...
fix #2338
2020-10-19 17:25:55 -04:00
underfin
e78915a740
fix(hmr): full diff props for non-sfc component ( #2359 )
...
close #https://github.com/vitejs/vite/issues/872
2020-10-15 11:05:12 -04: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
58c31e3699
feat(runtime-core): support using inject() inside props default functions
2020-09-17 15:59:01 -04:00
wonderful-panda
89e9ab8a2a
fix(types/tsx): optional props from Mixin/Extends are treated as required ( #2048 )
2020-09-16 10:09:35 -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
Evan You
499bc0bfc4
fix(hmr): properly force hmr full component props update
...
fix #1942
2020-08-24 18:13:29 -04:00
Carlos Rodrigues
c2913d57d1
fix(types): handling PropType<Function> with default value ( #1896 )
...
fix #1891
2020-08-19 16:36:42 -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
9f92871c80
types(runtime-core): argument for props validator
...
Unfortunately it requires explicit annotation for now
2020-08-18 11:37:34 -04:00
HcySunYang
9d36c61796
types(runtime-core): improve PropType inference precision ( #1863 )
2020-08-18 11:23:18 -04:00
Evan You
0d508e9f51
feat(runtime-core): pass current props to prop default value functions
...
close #1886
2020-08-18 10:52:50 -04:00
Evan You
6ccd9ac2bc
fix(runtime-core): fix Object props validation for objects with custom toStringTag
...
fix #1872
2020-08-17 11:25:38 -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
Stanislav
fa5ddf8d06
chore(types): convert type literals to records ( #1615 )
2020-07-18 22:56:28 -04:00
Evan You
ba3b3cdda9
fix(runtime-core/emits): merge emits options from mixins/extends
...
fix #1562
2020-07-13 11:55:46 -04:00
Evan You
903e8f697e
fix(runtime-core): should allow v-model listeners to fallthrough, but ignore for warning
...
fix #1543
2020-07-08 11:56:47 -04:00
Evan You
6dd59ee301
fix(v-model): should ignore compiled v-model listeners in attr fallthrough
...
fix #1510
2020-07-06 17:00:34 -04:00
underfin
1c4e1b6792
fix(runtime-core): should remove no longer present camelCase props ( #1413 )
...
fix #1412
2020-06-26 09:16:06 -04:00
Albert Liu
a60f3b1430
refactor(types): remove unnecessary as any ( #1411 )
2020-06-25 11:05:39 -04:00
Evan You
6abac87b3d
fix(runtime-core): track access to $attrs
...
fix #1346
2020-06-12 16:59:15 -04:00
tangjinzhou
d437a0145d
fix(runtime-core): default value for function type prop ( #1349 )
...
fix #1348
2020-06-12 09:06:28 -04:00
Carlos Rodrigues
4c4f39b6ea
types(props): fix typo on prototype ( #1334 )
2020-06-11 17:34:21 -04:00
Evan You
80c868aefe
workflow: setup eslint for prohibited syntax and globals
...
fix #1285
2020-06-10 16:54:23 -04:00
Evan You
2417a0cb30
fix(runtime-core): respect props from mixins and extends
...
fix #1236 , close #1250
2020-06-09 11:27:40 -04:00
doly mood
d3c436ae2e
feat(types): mixins/extends support in TypeScript ( #626 )
2020-06-09 10:37:00 -04:00
Alexandre Bonaventure Geissmann
4a5021e763
fix(runtime-core): use array destructuring instead of object for edge compat ( #1302 )
...
fix #1294
2020-06-05 10:57:44 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Evan You
171cfa404f
fix(runtime-core): should not cast prop value if prop did not change
...
fix #999
2020-04-20 14:16:25 -04:00
Evan You
09b4202a22
refactor(reactivity): adjust APIs
...
BREAKING CHANGE: Reactivity APIs adjustments:
- `readonly` is now non-tracking if called on plain objects.
`lock` and `unlock` have been removed. A `readonly` proxy can no
longer be directly mutated. However, it can still wrap an already
reactive object and track changes to the source reactive object.
- `isReactive` now only returns true for proxies created by `reactive`,
or a `readonly` proxy that wraps a `reactive` proxy.
- A new utility `isProxy` is introduced, which returns true for both
reactive or readonly proxies.
- `markNonReactive` has been renamed to `markRaw`.
2020-04-15 16:45:20 -04:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
Evan You
c80b857eb5
fix(runtime-core): should resolve value instead of delete for dynamic props with options
2020-04-14 16:17:35 -04:00
Evan You
7cbf684611
fix(runtime-core): fix kebab-case props update
...
fix #955
2020-04-13 12:37:31 -04:00
Evan You
c5f0f63b91
refactor(runtime-core): make setup attrs proxy dev only
2020-04-06 17:57:27 -04:00
Evan You
ec4a4c1e06
refactor(runtime-core): refactor props resolution
...
Improve performance in optimized mode + tests
2020-04-06 17:37:47 -04:00
Evan You
c7c3a6a3be
feat(runtime-core): emits validation and warnings
2020-04-03 20:40:34 -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
bf473a64ea
feat(runtime-core): type and attr fallthrough support for emits option
2020-04-03 12:05:52 -04:00
Carlos Rodrigues
026eb729f3
fix(types): allow use PropType with Function ( #915 )
...
close #748
2020-04-03 09:28:13 -04:00
Evan You
b3890a93e3
fix(runtime-core): fix component proxy props presence check
...
fix #864
2020-03-21 16:25:33 -04:00
Evan You
ba9a91c48c
refactor: remove null comparisons
2020-03-18 18:14:51 -04:00
Evan You
aa4ab39c1a
refactor: separate vnode hooks and directive hooks
2020-03-18 12:30:26 -04:00
Evan You
3b282e7e3c
fix(runtime-core): fix boolean props validation
2020-03-17 10:35:32 -04:00
yang
3d38e6faf3
refactor(componentProps): extract validate prop name logic ( #825 )
2020-03-16 18:45:08 -04:00
jods
c7ae269972
fix(runtime-core): empty boolean props ( #844 )
...
close #843
2020-03-16 10:19:06 -04:00
Evan You
e1660f4338
refactor(runtime-core): adjust attr fallthrough behavior
...
BREAKING CHANGE: adjust attr fallthrough behavior
Updated per pending RFC https://github.com/vuejs/rfcs/pull/137
- Implicit fallthrough now by default only applies for a whitelist
of attributes (class, style, event listeners, a11y attributes, and
data attributes).
- Fallthrough is now applied regardless of whether the component has
explicitly declared props. (close #749 )
2020-02-28 17:53:26 -05:00
Evan You
cfadb98011
fix(runtime-core): rework vnode hooks handling
...
- peroperly support directive on components (e.g. <foo v-show="x">)
- consistently invoke raw vnode hooks on component vnodes (fix #684 )
2020-02-10 13:15:36 -05:00