diff --git a/package.json b/package.json index eb6779a1..edf9f47d 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lerna": "^3.16.4", "lint-staged": "^9.2.3", "minimist": "^1.2.0", - "prettier": "^1.18.2", + "prettier": "~1.14.0", "rollup": "^1.19.4", "rollup-plugin-alias": "^2.0.0", "rollup-plugin-json": "^4.0.0", diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 58c9c639..efedc4f4 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -72,11 +72,9 @@ export type UnwrapRef = { }[T extends ComputedRef ? 'cRef' : T extends Ref - ? 'ref' - : T extends Array - ? 'array' - : T extends Function | CollectionTypes - ? 'ref' // bail out on types that shouldn't be unwrapped - : T extends object - ? 'object' - : 'ref'] + ? 'ref' + : T extends Array + ? 'array' + : T extends Function | CollectionTypes + ? 'ref' // bail out on types that shouldn't be unwrapped + : T extends object ? 'object' : 'ref'] diff --git a/packages/runtime-core/src/apiOptions.ts b/packages/runtime-core/src/apiOptions.ts index 4d50317d..26d1ceac 100644 --- a/packages/runtime-core/src/apiOptions.ts +++ b/packages/runtime-core/src/apiOptions.ts @@ -288,12 +288,12 @@ export function applyOptions( set: isFunction(set) ? set.bind(ctx) : __DEV__ - ? () => { - warn( - `Computed property "${key}" was assigned to but it has no setter.` - ) - } - : NOOP + ? () => { + warn( + `Computed property "${key}" was assigned to but it has no setter.` + ) + } + : NOOP }) } else if (__DEV__) { warn(`Computed property "${key}" has no getter.`) diff --git a/packages/runtime-core/src/apiWatch.ts b/packages/runtime-core/src/apiWatch.ts index ff899d94..f374940e 100644 --- a/packages/runtime-core/src/apiWatch.ts +++ b/packages/runtime-core/src/apiWatch.ts @@ -61,7 +61,7 @@ export function watch( ): StopHandle // overload #3: array of multiple sources + cb -export function watch[]>( +export function watch[]>>( sources: T, cb: WatchHandler>, options?: WatchOptions @@ -94,10 +94,11 @@ function doWatch( let getter: () => any if (isArray(source)) { getter = () => - source.map(s => - isRef(s) - ? s.value - : callWithErrorHandling(s, instance, ErrorCodes.WATCH_GETTER) + source.map( + s => + isRef(s) + ? s.value + : callWithErrorHandling(s, instance, ErrorCodes.WATCH_GETTER) ) } else if (isRef(source)) { getter = () => source.value diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 9bd682a3..fc8120ef 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -53,12 +53,10 @@ type OptionalKeys = Exclude< type InferPropType = T extends null ? any // null & true would fail to infer : T extends { type: null | true } - ? any // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` - : T extends ObjectConstructor | { type: ObjectConstructor } - ? { [key: string]: any } - : T extends Prop - ? V - : T + ? any // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` + : T extends ObjectConstructor | { type: ObjectConstructor } + ? { [key: string]: any } + : T extends Prop ? V : T export type ExtractPropTypes< O, diff --git a/packages/runtime-core/src/createRenderer.ts b/packages/runtime-core/src/createRenderer.ts index 253c42c9..16ca8e8d 100644 --- a/packages/runtime-core/src/createRenderer.ts +++ b/packages/runtime-core/src/createRenderer.ts @@ -1162,83 +1162,72 @@ export function createRenderer< ) { // create reactive effect for rendering let mounted = false - instance.update = effect( - function componentEffect() { - if (!mounted) { - const subTree = (instance.subTree = renderComponentRoot(instance)) - // beforeMount hook - if (instance.bm !== null) { - invokeHooks(instance.bm) - } - patch( - null, - subTree, - container, - anchor, - instance, - parentSuspense, - isSVG - ) - initialVNode.el = subTree.el - // mounted hook - if (instance.m !== null) { - queuePostRenderEffect(instance.m, parentSuspense) - } - mounted = true - } else { - // updateComponent - // This is triggered by mutation of component's own state (next: null) - // OR parent calling processComponent (next: HostVNode) - const { next } = instance - - if (__DEV__) { - pushWarningContext(next || instance.vnode) - } - - if (next !== null) { - updateComponentPreRender(instance, next) - } - const prevTree = instance.subTree - const nextTree = (instance.subTree = renderComponentRoot(instance)) - // beforeUpdate hook - if (instance.bu !== null) { - invokeHooks(instance.bu) - } - // reset refs - // only needed if previous patch had refs - if (instance.refs !== EMPTY_OBJ) { - instance.refs = {} - } - patch( - prevTree, - nextTree, - // parent may have changed if it's in a portal - hostParentNode(prevTree.el as HostNode) as HostElement, - // anchor may have changed if it's in a fragment - getNextHostNode(prevTree), - instance, - parentSuspense, - isSVG - ) - instance.vnode.el = nextTree.el - if (next === null) { - // self-triggered update. In case of HOC, update parent component - // vnode el. HOC is indicated by parent instance's subTree pointing - // to child component's vnode - updateHOCHostEl(instance, nextTree.el) - } - // updated hook - if (instance.u !== null) { - queuePostRenderEffect(instance.u, parentSuspense) - } - - if (__DEV__) { - popWarningContext() - } + instance.update = effect(function componentEffect() { + if (!mounted) { + const subTree = (instance.subTree = renderComponentRoot(instance)) + // beforeMount hook + if (instance.bm !== null) { + invokeHooks(instance.bm) } - }, - __DEV__ ? createDevEffectOptions(instance) : prodEffectOptions - ) + patch(null, subTree, container, anchor, instance, parentSuspense, isSVG) + initialVNode.el = subTree.el + // mounted hook + if (instance.m !== null) { + queuePostRenderEffect(instance.m, parentSuspense) + } + mounted = true + } else { + // updateComponent + // This is triggered by mutation of component's own state (next: null) + // OR parent calling processComponent (next: HostVNode) + const { next } = instance + + if (__DEV__) { + pushWarningContext(next || instance.vnode) + } + + if (next !== null) { + updateComponentPreRender(instance, next) + } + const prevTree = instance.subTree + const nextTree = (instance.subTree = renderComponentRoot(instance)) + // beforeUpdate hook + if (instance.bu !== null) { + invokeHooks(instance.bu) + } + // reset refs + // only needed if previous patch had refs + if (instance.refs !== EMPTY_OBJ) { + instance.refs = {} + } + patch( + prevTree, + nextTree, + // parent may have changed if it's in a portal + hostParentNode(prevTree.el as HostNode) as HostElement, + // anchor may have changed if it's in a fragment + getNextHostNode(prevTree), + instance, + parentSuspense, + isSVG + ) + instance.vnode.el = nextTree.el + if (next === null) { + // self-triggered update. In case of HOC, update parent component + // vnode el. HOC is indicated by parent instance's subTree pointing + // to child component's vnode + updateHOCHostEl(instance, nextTree.el) + } + // updated hook + if (instance.u !== null) { + queuePostRenderEffect(instance.u, parentSuspense) + } + + if (__DEV__) { + popWarningContext() + } + } + }, __DEV__ ? createDevEffectOptions(instance) : prodEffectOptions) } function updateComponentPreRender( diff --git a/packages/runtime-core/src/helpers/toString.ts b/packages/runtime-core/src/helpers/toString.ts index 8e8ee56b..968f51d6 100644 --- a/packages/runtime-core/src/helpers/toString.ts +++ b/packages/runtime-core/src/helpers/toString.ts @@ -5,6 +5,6 @@ export function toString(val: unknown): string { return val == null ? '' : isArray(val) || (isPlainObject(val) && val.toString === objectToString) - ? JSON.stringify(val, null, 2) - : String(val) + ? JSON.stringify(val, null, 2) + : String(val) } diff --git a/packages/runtime-dom/src/directives/vModel.ts b/packages/runtime-dom/src/directives/vModel.ts index 65802a60..20dfb918 100644 --- a/packages/runtime-dom/src/directives/vModel.ts +++ b/packages/runtime-dom/src/directives/vModel.ts @@ -35,7 +35,9 @@ function toNumber(val: string): number | string { // We are exporting the v-model runtime directly as vnode hooks so that it can // be tree-shaken in case v-model is never used. -export const vModelText: ObjectDirective = { +export const vModelText: ObjectDirective< + HTMLInputElement | HTMLTextAreaElement +> = { beforeMount(el, { value, modifiers: { lazy, trim, number } }, vnode) { el.value = value const assign = getModelAssigner(vnode) diff --git a/yarn.lock b/yarn.lock index 77e6d3f4..26504e59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5597,10 +5597,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" - integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== +prettier@~1.14.0: + version "1.14.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.3.tgz#90238dd4c0684b7edce5f83b0fb7328e48bd0895" + integrity sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg== pretty-format@^24.9.0: version "24.9.0"