From 1070f127a78bfe7da6fe550cc272ef11a1f434a0 Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Wed, 9 Mar 2022 14:30:24 +0100 Subject: [PATCH 01/72] fix(devtools): perf: use high-resolution time --- packages/runtime-core/src/profiling.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/src/profiling.ts b/packages/runtime-core/src/profiling.ts index b2616947821..9b0f9852622 100644 --- a/packages/runtime-core/src/profiling.ts +++ b/packages/runtime-core/src/profiling.ts @@ -14,7 +14,7 @@ export function startMeasure( } if (__DEV__ || __FEATURE_PROD_DEVTOOLS__) { - devtoolsPerfStart(instance, type, supported ? perf.now() : Date.now()) + devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now()) } } @@ -33,7 +33,7 @@ export function endMeasure(instance: ComponentInternalInstance, type: string) { } if (__DEV__ || __FEATURE_PROD_DEVTOOLS__) { - devtoolsPerfEnd(instance, type, supported ? perf.now() : Date.now()) + devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now()) } } From 245230e135152900189f13a4281302de45fdcfaa Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 31 Mar 2022 08:15:59 +0800 Subject: [PATCH 02/72] chore: remove no longer present V_FOR_REF compat entry close vuejs/v3-migration-guide#10 --- packages/vue-compat/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/vue-compat/README.md b/packages/vue-compat/README.md index 01bd71643a8..a5302276202 100644 --- a/packages/vue-compat/README.md +++ b/packages/vue-compat/README.md @@ -308,7 +308,6 @@ Features that start with `COMPILER_` are compiler-specific: if you are using the | OPTIONS_BEFORE_DESTROY | ✔ | `beforeDestroy` -> `beforeUnmount` | | | OPTIONS_DESTROYED | ✔ | `destroyed` -> `unmounted` | | | WATCH_ARRAY | ✔ | watching an array no longer triggers on mutation unless deep | [link](https://v3-migration.vuejs.org/breaking-changes/watch.html) | -| V_FOR_REF | ✔ | `ref` inside `v-for` no longer registers array of refs | [link](https://v3-migration.vuejs.org/breaking-changes/array-refs.html) | | V_ON_KEYCODE_MODIFIER | ✔ | `v-on` no longer supports keyCode modifiers | [link](https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html) | | CUSTOM_DIR | ✔ | Custom directive hook names changed | [link](https://v3-migration.vuejs.org/breaking-changes/custom-directives.html) | | ATTR_FALSE_VALUE | ✔ | No longer removes attribute if binding value is boolean `false` | [link](https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html) | From b2b6b6ff6215dfce23e49defe70ec386d30956de Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 12 Apr 2022 14:29:49 +0800 Subject: [PATCH 03/72] chore: bump vite & esbuild --- package.json | 4 +- .../src/compat/instanceChildren.ts | 2 +- packages/runtime-core/src/componentProps.ts | 1 + pnpm-lock.yaml | 236 ++++++++++++------ 4 files changed, 158 insertions(+), 85 deletions(-) diff --git a/package.json b/package.json index 9e4db32d354..16048f0417a 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "conventional-changelog-cli": "^2.0.31", "csstype": "^3.0.3", "enquirer": "^2.3.2", - "esbuild": "^0.14.11", + "esbuild": "^0.14.35", "eslint": "^7.7.0", "execa": "^4.0.2", "fs-extra": "^9.0.1", @@ -91,7 +91,7 @@ "ts-jest": "^27.0.5", "tslib": "^2.3.1", "typescript": "^4.2.2", - "vite": "^2.7.12", + "vite": "^2.9.0", "vue": "workspace:*", "yorkie": "^2.0.0" } diff --git a/packages/runtime-core/src/compat/instanceChildren.ts b/packages/runtime-core/src/compat/instanceChildren.ts index 349b5a3fcbd..7524e53b7f1 100644 --- a/packages/runtime-core/src/compat/instanceChildren.ts +++ b/packages/runtime-core/src/compat/instanceChildren.ts @@ -1,4 +1,4 @@ -import { ShapeFlags } from '@vue/shared/src' +import { ShapeFlags } from '@vue/shared' import { ComponentInternalInstance } from '../component' import { ComponentPublicInstance } from '../componentPublicInstance' import { VNode } from '../vnode' diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 7ed8aeee4a1..8c09903ecb1 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -197,6 +197,7 @@ export function updateProps( rawPrevProps: Data | null, optimized: boolean ) { + debugger const { props, attrs, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1af4d31bca8..0ff67a55462 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,7 +24,7 @@ importers: conventional-changelog-cli: ^2.0.31 csstype: ^3.0.3 enquirer: ^2.3.2 - esbuild: ^0.14.11 + esbuild: ^0.14.35 eslint: ^7.7.0 execa: ^4.0.2 fs-extra: ^9.0.1 @@ -48,12 +48,12 @@ importers: ts-jest: ^27.0.5 tslib: ^2.3.1 typescript: ^4.2.2 - vite: ^2.7.12 + vite: ^2.9.0 vue: workspace:* yorkie: ^2.0.0 devDependencies: '@babel/types': 7.16.0 - '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.14.11 + '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.14.35 '@microsoft/api-extractor': 7.19.2 '@rollup/plugin-commonjs': 18.1.0_rollup@2.38.5 '@rollup/plugin-json': 4.1.0_rollup@2.38.5 @@ -72,7 +72,7 @@ importers: conventional-changelog-cli: 2.1.1 csstype: 3.0.10 enquirer: 2.3.6 - esbuild: 0.14.11 + esbuild: 0.14.35 eslint: 7.32.0 execa: 4.1.0 fs-extra: 9.1.0 @@ -93,10 +93,10 @@ importers: semver: 7.3.5 serve: 12.0.1 todomvc-app-css: 2.4.1 - ts-jest: 27.1.1_305b6a4a69ca4f1a88855b62d81fc1b0 + ts-jest: 27.1.1_044236483439d51e55e98a1311368c5f tslib: 2.3.1 typescript: 4.5.3 - vite: 2.7.12 + vite: 2.9.1 vue: link:packages/vue yorkie: 2.0.0 @@ -246,7 +246,7 @@ importers: vite: ^2.7.1 vue: 3.2.31 dependencies: - '@vue/repl': 0.4.8 + '@vue/repl': 0.4.8_vue@packages+vue file-saver: 2.0.5 jszip: 3.7.1 vue: link:../vue @@ -633,12 +633,12 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.14.11: + /@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.14.35: resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==} peerDependencies: esbuild: '*' dependencies: - esbuild: 0.14.11 + esbuild: 0.14.35 escape-string-regexp: 4.0.0 rollup-plugin-node-polyfills: 0.2.1 dev: true @@ -1283,10 +1283,12 @@ packages: engines: {node: '>= 0.12.0'} dev: true - /@vue/repl/0.4.8: + /@vue/repl/0.4.8_vue@packages+vue: resolution: {integrity: sha512-MP4xVHMuInTQEo6b3Q8OQF3R4fTrfFzWqQl157/S6hOnPDW3b05pMisC2RRubp+scHzR/1M+OnCNCRfpAHzPGg==} peerDependencies: vue: ^3.2.13 + dependencies: + vue: link:packages/vue dev: false /@zeit/schemas/2.6.0: @@ -2590,6 +2592,15 @@ packages: is-symbol: 1.0.4 dev: true + /esbuild-android-64/0.14.35: + resolution: {integrity: sha512-R11Eu5NDc5YpbmpXSczxnwrqIsaslE08I+gf/QUVxiuPid5DLQHRWKnkPiSXUgQGPZVjn4aASsAdq8L4uhcyXQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-android-arm64/0.13.15: resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} cpu: [arm64] @@ -2598,8 +2609,9 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.11: - resolution: {integrity: sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw==} + /esbuild-android-arm64/0.14.35: + resolution: {integrity: sha512-fOjTdzEvZer2+5xNWP2bUmpWccuHQBm/aPoTqoiLiS3VErvxOpbY2808UUEHHxRJucRxMUxHi+apKUpdj8NBjA==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -2614,8 +2626,9 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.11: - resolution: {integrity: sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ==} + /esbuild-darwin-64/0.14.35: + resolution: {integrity: sha512-cN7ejc3Q0+5hFYXSLKd7GfnrY3hEjx/QxYUiU5f8KEJpH1CJsQEl69ALS5WYYrPrlgKHGKusRVKOkK1x20fe6g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -2630,8 +2643,9 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.11: - resolution: {integrity: sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg==} + /esbuild-darwin-arm64/0.14.35: + resolution: {integrity: sha512-x4AK8UY14p2AYQNXQ5hd0HNnmcmBjd6bpFkmPmtrm8Khh/HT96JfVa06bYFute25aUOTHgWv5kU/k+JrqDTO2A==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -2646,8 +2660,9 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.11: - resolution: {integrity: sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA==} + /esbuild-freebsd-64/0.14.35: + resolution: {integrity: sha512-S83TQ+LgeQt9n9sc7LVELBlpRzaSWGaMvPHtE/91AxEKBuqx47RhuII60LVUzwfOMXHbgroOuSMqA1D2C+vuxQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -2662,8 +2677,9 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.11: - resolution: {integrity: sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w==} + /esbuild-freebsd-arm64/0.14.35: + resolution: {integrity: sha512-D7NDa9ZquQkgz6nwH/HJ1E9wvcb4EEWw7L+uY7jGG4N7Z2Y/wWxQ5dH207gp0TsRCXuE9cYN5HfnHwgav7zAdw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -2678,8 +2694,9 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.11: - resolution: {integrity: sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg==} + /esbuild-linux-32/0.14.35: + resolution: {integrity: sha512-0/bt6wQzZmBYv+NY9r7OHxPzs5H4ktz0UK/x7iUs5pAEnj+NkdR/uCzhYVFgNRIO/b22O5P0Vs9LIcj0Z5Uc9A==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -2694,8 +2711,9 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.11: - resolution: {integrity: sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg==} + /esbuild-linux-64/0.14.35: + resolution: {integrity: sha512-50FLXlOdEfyc9NFR9lavX3W75zJNi5FTEU25EZY87MQlHlUqmoSfd/0BaO2xefcZK9XV7lTPZ+b8Wj/jFRMB2A==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -2710,8 +2728,9 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.11: - resolution: {integrity: sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ==} + /esbuild-linux-arm/0.14.35: + resolution: {integrity: sha512-VIH+bxbk7NM0ZSAeFHOdFWsdVIw2RnrZEG340yFlf7PI9DLUkn0m5+Q8mgZiIZW29VBtpCQ7aiieFo+ZykhoUA==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -2726,8 +2745,9 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.11: - resolution: {integrity: sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg==} + /esbuild-linux-arm64/0.14.35: + resolution: {integrity: sha512-Kknr+jl0dNVTyuUTczfaXlsmuGKPBZsNNDuUnLMEDi6Y6bi8ccC4QE4nwUDtkGyB1elr6BQYvb78wYhtfPVLew==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -2742,8 +2762,9 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.11: - resolution: {integrity: sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw==} + /esbuild-linux-mips64le/0.14.35: + resolution: {integrity: sha512-urTrLRUAbH3e91vu3/20Sc+qCvokgB4gepHk41AkS/nnM1PBSdRl8SKP3TkRXaJjb4LRGu6I2JAxLOmQWGzo/g==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -2758,16 +2779,27 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.11: - resolution: {integrity: sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ==} + /esbuild-linux-ppc64le/0.14.35: + resolution: {integrity: sha512-B98j5OMZQHTw/MnjOQgxYDt+sJfLmvHSI6GhCcf55l11voyyR66SYTBFiz4RvEB1F8V6TQTpHwFhBWo/p5Fq8w==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-s390x/0.14.11: - resolution: {integrity: sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw==} + /esbuild-linux-riscv64/0.14.35: + resolution: {integrity: sha512-SP41XnWjMOK0WcaXKzfcGr0jA5vMoXu36Oe/SeHrdRrffuHr5/5IboLqCKCQeGAjoGRPSgSLTKB7T8ENXQpgCg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.35: + resolution: {integrity: sha512-H0K7+0i0crGrXul8q0RlOdatputTj299JGSvyhXXSMNCTqNd5hd8JOONS2Fbbgrv2Hu9bwkP57g8X94V8GeyMA==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -2782,8 +2814,9 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.11: - resolution: {integrity: sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw==} + /esbuild-netbsd-64/0.14.35: + resolution: {integrity: sha512-Z+DdBPbSWlOgFdXDhpyqDBTy5NKtTjSFwXfjs95BROJYXFu+ciF85bT10Olg3/EywvDDdpfSeGh+ExeOQ3fugA==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -2798,8 +2831,9 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.11: - resolution: {integrity: sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q==} + /esbuild-openbsd-64/0.14.35: + resolution: {integrity: sha512-uNWRf9p69irg4X2yZ5M5GrPi7+F54+DsmYKBXGTIImtyanSAy0nEH6ejmHD2/uypPrlKFf+U746bMwZFIxy5zw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -2814,8 +2848,9 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.11: - resolution: {integrity: sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg==} + /esbuild-sunos-64/0.14.35: + resolution: {integrity: sha512-WwAS084DuK2AHe+9z0DGbLbv3Cf9H4H7YsBhS7sBIIZ9iY2r0Oikrw11p1VSPDXjgtB/6AYIckJDCRAFEX07rQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -2830,8 +2865,9 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.11: - resolution: {integrity: sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ==} + /esbuild-windows-32/0.14.35: + resolution: {integrity: sha512-XQgY0pLopKMuRvNsMlc4RuN8wKku4w/LGGhonYEOxibVx/aNMl6vS0P0xbZoUpej4EP8Gras0JihAxigvPqaiA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -2846,8 +2882,9 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.11: - resolution: {integrity: sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg==} + /esbuild-windows-64/0.14.35: + resolution: {integrity: sha512-7PaFQb5QDNWQGNmbXBNHewuXq5iDtgTjT3ILif3oGeMd9IVD2hvQ6Twc3s3NDqj5NJFZL1ZK+l9WZ8BZidv7Vw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -2862,8 +2899,9 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.11: - resolution: {integrity: sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ==} + /esbuild-windows-arm64/0.14.35: + resolution: {integrity: sha512-TxVKDkjlRxoCJQpCYS7FbHA249WdCfWKhLhNYk6PtT0CQmD7Ogp51MG7Plx57/jtxE9/aZVOcAf3igGKyGijHw==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -2894,29 +2932,32 @@ packages: esbuild-windows-arm64: 0.13.15 dev: true - /esbuild/0.14.11: - resolution: {integrity: sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg==} + /esbuild/0.14.35: + resolution: {integrity: sha512-0aeHPwXVVUUo9qOWnu/zILmTexFYE+RJ3o4owjbEUIJuBhLUgL4wBuS94++4+t7sykSABsNyyMZEAZ2r+1qZ4A==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.14.11 - esbuild-darwin-64: 0.14.11 - esbuild-darwin-arm64: 0.14.11 - esbuild-freebsd-64: 0.14.11 - esbuild-freebsd-arm64: 0.14.11 - esbuild-linux-32: 0.14.11 - esbuild-linux-64: 0.14.11 - esbuild-linux-arm: 0.14.11 - esbuild-linux-arm64: 0.14.11 - esbuild-linux-mips64le: 0.14.11 - esbuild-linux-ppc64le: 0.14.11 - esbuild-linux-s390x: 0.14.11 - esbuild-netbsd-64: 0.14.11 - esbuild-openbsd-64: 0.14.11 - esbuild-sunos-64: 0.14.11 - esbuild-windows-32: 0.14.11 - esbuild-windows-64: 0.14.11 - esbuild-windows-arm64: 0.14.11 + esbuild-android-64: 0.14.35 + esbuild-android-arm64: 0.14.35 + esbuild-darwin-64: 0.14.35 + esbuild-darwin-arm64: 0.14.35 + esbuild-freebsd-64: 0.14.35 + esbuild-freebsd-arm64: 0.14.35 + esbuild-linux-32: 0.14.35 + esbuild-linux-64: 0.14.35 + esbuild-linux-arm: 0.14.35 + esbuild-linux-arm64: 0.14.35 + esbuild-linux-mips64le: 0.14.35 + esbuild-linux-ppc64le: 0.14.35 + esbuild-linux-riscv64: 0.14.35 + esbuild-linux-s390x: 0.14.35 + esbuild-netbsd-64: 0.14.35 + esbuild-openbsd-64: 0.14.35 + esbuild-sunos-64: 0.14.35 + esbuild-windows-32: 0.14.35 + esbuild-windows-64: 0.14.35 + esbuild-windows-arm64: 0.14.35 dev: true /escalade/3.1.1: @@ -3801,6 +3842,12 @@ packages: has: 1.0.3 dev: true + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + dependencies: + has: 1.0.3 + dev: true + /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -4342,7 +4389,7 @@ packages: jest-pnp-resolver: 1.2.2_jest-resolve@27.4.4 jest-util: 27.4.2 jest-validate: 27.4.2 - resolve: 1.20.0 + resolve: 1.22.0 resolve.exports: 1.1.0 slash: 3.0.0 dev: true @@ -5135,6 +5182,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid/3.3.2: + resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: true @@ -5169,7 +5222,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.20.0 + resolve: 1.22.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -5579,22 +5632,22 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.4: - resolution: {integrity: sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==} + /postcss/8.4.12: + resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.1.30 + nanoid: 3.3.2 picocolors: 1.0.0 - source-map-js: 1.0.1 + source-map-js: 1.0.2 + dev: true - /postcss/8.4.5: - resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} + /postcss/8.4.4: + resolution: {integrity: sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.1.30 picocolors: 1.0.0 source-map-js: 1.0.1 - dev: true /prelude-ls/1.1.2: resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} @@ -6020,6 +6073,15 @@ packages: path-parse: 1.0.7 dev: true + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.8.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /restore-cursor/3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -6330,6 +6392,11 @@ packages: resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} engines: {node: '>=0.10.0'} + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -6569,6 +6636,11 @@ packages: supports-color: 7.2.0 dev: true + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + /symbol-tree/3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true @@ -6735,7 +6807,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-jest/27.1.1_305b6a4a69ca4f1a88855b62d81fc1b0: + /ts-jest/27.1.1_044236483439d51e55e98a1311368c5f: resolution: {integrity: sha512-Ds0VkB+cB+8g2JUmP/GKWndeZcCKrbe6jzolGrVWdqVUFByY/2KDHqxJ7yBSon7hDB1TA4PXxjfZ+JjzJisvgA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -6758,7 +6830,7 @@ packages: dependencies: '@types/jest': 27.0.3 bs-logger: 0.2.6 - esbuild: 0.14.11 + esbuild: 0.14.35 fast-json-stable-stringify: 2.1.0 jest: 27.4.4 jest-util: 27.4.2 @@ -6970,8 +7042,8 @@ packages: fsevents: 2.3.2 dev: true - /vite/2.7.12: - resolution: {integrity: sha512-KvPYToRQWhRfBeVkyhkZ5hASuHQkqZUUdUcE3xyYtq5oYEPIJ0h9LWiWTO6v990glmSac2cEPeYeXzpX5Z6qKQ==} + /vite/2.9.1: + resolution: {integrity: sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==} engines: {node: '>=12.2.0'} hasBin: true peerDependencies: @@ -6986,9 +7058,9 @@ packages: stylus: optional: true dependencies: - esbuild: 0.13.15 - postcss: 8.4.5 - resolve: 1.20.0 + esbuild: 0.14.35 + postcss: 8.4.12 + resolve: 1.22.0 rollup: 2.61.1 optionalDependencies: fsevents: 2.3.2 From 8eceabd14ebab2ba6523f920134b02fdf21e0a1c Mon Sep 17 00:00:00 2001 From: iwusong Date: Tue, 12 Apr 2022 14:42:00 +0800 Subject: [PATCH 04/72] fix(runtime-core): fix event listener as dynamicProp is added erroneously to props (#5517) fix #5520 --- packages/runtime-core/src/componentProps.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 8c09903ecb1..ad691607608 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -225,6 +225,10 @@ export function updateProps( const propsToUpdate = instance.vnode.dynamicProps! for (let i = 0; i < propsToUpdate.length; i++) { let key = propsToUpdate[i] + // skip if the prop key is a declared emit event listener + if (isEmitListener(instance.emitsOptions, key)){ + continue + } // PROPS flag guarantees rawProps to be non-null const value = rawProps![key] if (options) { From 68bb8f25298b26720da17867fce68fd1b54a5a08 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 12 Apr 2022 14:47:15 +0800 Subject: [PATCH 05/72] chore: remove debugger --- packages/runtime-core/src/componentProps.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index ad691607608..6b267ad1444 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -197,7 +197,6 @@ export function updateProps( rawPrevProps: Data | null, optimized: boolean ) { - debugger const { props, attrs, From 4311dddfa72b405b20f469f8f219ec3027972f55 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 12 Apr 2022 15:06:46 +0800 Subject: [PATCH 06/72] fix(transition): ensure flattened transition group children inherit parent keys close #4718 close #5360 close #5392 --- .../src/components/BaseTransition.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/runtime-core/src/components/BaseTransition.ts b/packages/runtime-core/src/components/BaseTransition.ts index 27bfb5f523a..c8a94594371 100644 --- a/packages/runtime-core/src/components/BaseTransition.ts +++ b/packages/runtime-core/src/components/BaseTransition.ts @@ -164,7 +164,9 @@ const BaseTransitionImpl: ComponentOptions = { if ( __DEV__ && mode && - mode !== 'in-out' && mode !== 'out-in' && mode !== 'default' + mode !== 'in-out' && + mode !== 'out-in' && + mode !== 'default' ) { warn(`invalid mode: ${mode}`) } @@ -460,22 +462,28 @@ export function setTransitionHooks(vnode: VNode, hooks: TransitionHooks) { export function getTransitionRawChildren( children: VNode[], - keepComment: boolean = false + keepComment: boolean = false, + parentKey?: VNode['key'] ): VNode[] { let ret: VNode[] = [] let keyedFragmentCount = 0 for (let i = 0; i < children.length; i++) { - const child = children[i] + let child = children[i] + // #5360 inherit parent key in case of