]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
build: bump rollup, remove cjs re-exports hack
authorEvan You <yyx990803@gmail.com>
Thu, 23 Mar 2023 08:33:10 +0000 (16:33 +0800)
committerEvan You <yyx990803@gmail.com>
Thu, 23 Mar 2023 08:33:10 +0000 (16:33 +0800)
package.json
pnpm-lock.yaml
rollup.config.js

index 0e2377e73291521a2b8e0dce66ee03d9eefd9730..7a241011828e9b29a49c596dc4b1e3ac5c8dbc53 100644 (file)
@@ -89,7 +89,7 @@
     "prettier": "^2.7.1",
     "pug": "^3.0.1",
     "puppeteer": "^19.6.3",
-    "rollup": "~3.10.0",
+    "rollup": "^3.20.0",
     "rollup-plugin-dts": "^5.1.1",
     "rollup-plugin-esbuild": "^5.0.0",
     "rollup-plugin-node-builtins": "^2.1.2",
index 3f5ba686656357ad67e813f71a72448dfbff0b1c..e9030bd62a593fa4bc3bd10a9167217a12986080 100644 (file)
@@ -38,7 +38,7 @@ importers:
       prettier: ^2.7.1
       pug: ^3.0.1
       puppeteer: ^19.6.3
-      rollup: ~3.10.0
+      rollup: ^3.20.0
       rollup-plugin-dts: ^5.1.1
       rollup-plugin-esbuild: ^5.0.0
       rollup-plugin-node-builtins: ^2.1.2
@@ -57,12 +57,12 @@ importers:
       '@babel/parser': 7.20.15
       '@babel/types': 7.20.7
       '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.17.5
-      '@rollup/plugin-alias': 4.0.3_rollup@3.10.1
-      '@rollup/plugin-commonjs': 23.0.7_rollup@3.10.1
-      '@rollup/plugin-json': 5.0.2_rollup@3.10.1
-      '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.1
-      '@rollup/plugin-replace': 5.0.2_rollup@3.10.1
-      '@rollup/plugin-terser': 0.1.0_rollup@3.10.1
+      '@rollup/plugin-alias': 4.0.3_rollup@3.20.0
+      '@rollup/plugin-commonjs': 23.0.7_rollup@3.20.0
+      '@rollup/plugin-json': 5.0.2_rollup@3.20.0
+      '@rollup/plugin-node-resolve': 15.0.1_rollup@3.20.0
+      '@rollup/plugin-replace': 5.0.2_rollup@3.20.0
+      '@rollup/plugin-terser': 0.1.0_rollup@3.20.0
       '@types/hash-sum': 1.0.0
       '@types/node': 16.18.11
       '@typescript-eslint/parser': 5.50.0_4vsywjlpuriuw3tl5oq6zy5a64
@@ -88,12 +88,12 @@ importers:
       prettier: 2.8.3
       pug: 3.0.2
       puppeteer: 19.6.3
-      rollup: 3.10.1
-      rollup-plugin-dts: 5.1.1_3md6k4iljipbt7fzll35epzd3m
-      rollup-plugin-esbuild: 5.0.0_vnogblvxo6egyqdp3slxc3bipy
+      rollup: 3.20.0
+      rollup-plugin-dts: 5.1.1_pn5zetjg24cqcolt42iry5qj6a
+      rollup-plugin-esbuild: 5.0.0_iczynsknn7ny3sc5doji76wu6a
       rollup-plugin-node-builtins: 2.1.2
       rollup-plugin-node-globals: 1.4.0
-      rollup-plugin-polyfill-node: 0.11.0_rollup@3.10.1
+      rollup-plugin-polyfill-node: 0.11.0_rollup@3.20.0
       semver: 7.3.8
       serve: 12.0.1
       simple-git-hooks: 2.8.1
@@ -1023,7 +1023,7 @@ packages:
       fastq: 1.15.0
     dev: true
 
-  /@rollup/plugin-alias/4.0.3_rollup@3.10.1:
+  /@rollup/plugin-alias/4.0.3_rollup@3.20.0:
     resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1032,11 +1032,11 @@ packages:
       rollup:
         optional: true
     dependencies:
-      rollup: 3.10.1
+      rollup: 3.20.0
       slash: 4.0.0
     dev: true
 
-  /@rollup/plugin-commonjs/23.0.7_rollup@3.10.1:
+  /@rollup/plugin-commonjs/23.0.7_rollup@3.20.0:
     resolution: {integrity: sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1045,16 +1045,16 @@ packages:
       rollup:
         optional: true
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
       commondir: 1.0.1
       estree-walker: 2.0.2
       glob: 8.1.0
       is-reference: 1.2.1
       magic-string: 0.27.0
-      rollup: 3.10.1
+      rollup: 3.20.0
     dev: true
 
-  /@rollup/plugin-inject/5.0.3_rollup@3.10.1:
+  /@rollup/plugin-inject/5.0.3_rollup@3.20.0:
     resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1063,13 +1063,13 @@ packages:
       rollup:
         optional: true
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
       estree-walker: 2.0.2
       magic-string: 0.27.0
-      rollup: 3.10.1
+      rollup: 3.20.0
     dev: true
 
-  /@rollup/plugin-json/5.0.2_rollup@3.10.1:
+  /@rollup/plugin-json/5.0.2_rollup@3.20.0:
     resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1078,11 +1078,11 @@ packages:
       rollup:
         optional: true
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
-      rollup: 3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
+      rollup: 3.20.0
     dev: true
 
-  /@rollup/plugin-node-resolve/15.0.1_rollup@3.10.1:
+  /@rollup/plugin-node-resolve/15.0.1_rollup@3.20.0:
     resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1091,16 +1091,16 @@ packages:
       rollup:
         optional: true
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
       '@types/resolve': 1.20.2
       deepmerge: 4.3.0
       is-builtin-module: 3.2.1
       is-module: 1.0.0
       resolve: 1.22.1
-      rollup: 3.10.1
+      rollup: 3.20.0
     dev: true
 
-  /@rollup/plugin-replace/5.0.2_rollup@3.10.1:
+  /@rollup/plugin-replace/5.0.2_rollup@3.20.0:
     resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1109,12 +1109,12 @@ packages:
       rollup:
         optional: true
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
       magic-string: 0.27.0
-      rollup: 3.10.1
+      rollup: 3.20.0
     dev: true
 
-  /@rollup/plugin-terser/0.1.0_rollup@3.10.1:
+  /@rollup/plugin-terser/0.1.0_rollup@3.20.0:
     resolution: {integrity: sha512-N2KK+qUfHX2hBzVzM41UWGLrEmcjVC37spC8R3c9mt3oEDFKh3N2e12/lLp9aVSt86veR0TQiCNQXrm8C6aiUQ==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1123,11 +1123,11 @@ packages:
       rollup:
         optional: true
     dependencies:
-      rollup: 3.10.1
+      rollup: 3.20.0
       terser: 5.16.2
     dev: true
 
-  /@rollup/pluginutils/5.0.2_rollup@3.10.1:
+  /@rollup/pluginutils/5.0.2_rollup@3.20.0:
     resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
@@ -1139,7 +1139,7 @@ packages:
       '@types/estree': 1.0.0
       estree-walker: 2.0.2
       picomatch: 2.3.1
-      rollup: 3.10.1
+      rollup: 3.20.0
     dev: true
 
   /@tootallnate/once/2.0.0:
@@ -5334,7 +5334,7 @@ packages:
       inherits: 2.0.4
     dev: true
 
-  /rollup-plugin-dts/5.1.1_3md6k4iljipbt7fzll35epzd3m:
+  /rollup-plugin-dts/5.1.1_pn5zetjg24cqcolt42iry5qj6a:
     resolution: {integrity: sha512-zpgo52XmnLg8w4k3MScinFHZK1+ro6r7uVe34fJ0Ee8AM45FvgvTuvfWWaRgIpA4pQ1BHJuu2ospncZhkcJVeA==}
     engines: {node: '>=v14'}
     peerDependencies:
@@ -5342,26 +5342,26 @@ packages:
       typescript: ^4.1
     dependencies:
       magic-string: 0.27.0
-      rollup: 3.10.1
+      rollup: 3.20.0
       typescript: 4.9.5
     optionalDependencies:
       '@babel/code-frame': 7.18.6
     dev: true
 
-  /rollup-plugin-esbuild/5.0.0_vnogblvxo6egyqdp3slxc3bipy:
+  /rollup-plugin-esbuild/5.0.0_iczynsknn7ny3sc5doji76wu6a:
     resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==}
     engines: {node: '>=14.18.0', npm: '>=8.0.0'}
     peerDependencies:
       esbuild: '>=0.10.1'
       rollup: ^1.20.0 || ^2.0.0 || ^3.0.0
     dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.10.1
+      '@rollup/pluginutils': 5.0.2_rollup@3.20.0
       debug: 4.3.4
       es-module-lexer: 1.1.0
       esbuild: 0.17.5
       joycon: 3.1.1
       jsonc-parser: 3.2.0
-      rollup: 3.10.1
+      rollup: 3.20.0
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -5401,13 +5401,13 @@ packages:
       rollup-plugin-inject: 3.0.2
     dev: true
 
-  /rollup-plugin-polyfill-node/0.11.0_rollup@3.10.1:
+  /rollup-plugin-polyfill-node/0.11.0_rollup@3.20.0:
     resolution: {integrity: sha512-5t+qhq4LAQKQBgbPOQJEoxxGzU5b+zLfvzpUAGy9u0MCMs8y+mrjUAv8+xrkWdxnwXQwJtjmCMnA9lCflsMzNw==}
     peerDependencies:
       rollup: ^1.20.0 || ^2.0.0 || ^3.0.0
     dependencies:
-      '@rollup/plugin-inject': 5.0.3_rollup@3.10.1
-      rollup: 3.10.1
+      '@rollup/plugin-inject': 5.0.3_rollup@3.20.0
+      rollup: 3.20.0
     dev: true
 
   /rollup-pluginutils/2.8.2:
@@ -5416,8 +5416,8 @@ packages:
       estree-walker: 0.6.1
     dev: true
 
-  /rollup/3.10.1:
-    resolution: {integrity: sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==}
+  /rollup/3.20.0:
+    resolution: {integrity: sha512-YsIfrk80NqUDrxrjWPXUa7PWvAfegZEXHuPsEZg58fGCdjL1I9C1i/NaG+L+27kxxwkrG/QEDEQc8s/ynXWWGQ==}
     engines: {node: '>=14.18.0', npm: '>=8.0.0'}
     hasBin: true
     optionalDependencies:
@@ -6247,7 +6247,7 @@ packages:
       esbuild: 0.16.17
       postcss: 8.4.21
       resolve: 1.22.1
-      rollup: 3.10.1
+      rollup: 3.20.0
     optionalDependencies:
       fsevents: 2.3.2
     dev: true
@@ -6281,7 +6281,7 @@ packages:
       esbuild: 0.16.17
       postcss: 8.4.21
       resolve: 1.22.1
-      rollup: 3.10.1
+      rollup: 3.20.0
       terser: 5.16.2
     optionalDependencies:
       fsevents: 2.3.2
index 7645a0221edbbf05b44c61ca1a40010db83735a2..21ee72b4ea38a67066ebe3b40433bfa4b7b1124f 100644 (file)
@@ -270,10 +270,6 @@ function createConfig(format, output, plugins = []) {
           ]
         : []
 
-    if (format === 'cjs') {
-      nodePlugins.push(cjsReExportsPatchPlugin())
-    }
-
     return nodePlugins
   }
 
@@ -339,46 +335,3 @@ function createMinifiedConfig(format) {
     ]
   )
 }
-
-// temporary patch for https://github.com/nodejs/cjs-module-lexer/issues/79
-//
-// When importing a cjs module from esm, Node.js uses cjs-module-lexer to
-// detect * re-exports from other packages. However, the detection logic is
-// fragile and breaks when Rollup generates different code for the re-exports.
-// We were locked on an old version of Rollup because of this.
-//
-// The latest versions of Node ships an updated version of cjs-module-lexer that
-// has fixed https://github.com/nodejs/cjs-module-lexer/issues/38, however we
-// still need to support older versions of Node that does not have the latest
-// version of cjs-module-lexer (Node < 14.18)
-//
-// At the same time, we want to upgrade to Rollup 3 so we are not forever locked
-// on an old version of Rollup.
-//
-// What this patch does:
-// 1. Rewrite the for...in loop to Object.keys() so cjs-module-lexer can find it
-//    The for...in loop is only used when output.externalLiveBindings is set to
-//    false, and we do want to set it to false to avoid perf costs during SSR.
-// 2. Also remove exports.hasOwnProperty check, which breaks the detection in
-//    Node.js versions that
-//
-// TODO in the future, we should no longer rely on this if we inline all deps
-// in the main `vue` package.
-function cjsReExportsPatchPlugin() {
-  const matcher =
-    /for \(var k in (\w+)\) {(\s+if \(k !== 'default') && !exports.hasOwnProperty\(k\)(\) exports\[k\] = (?:\w+)\[k\];\s+)}/
-  return {
-    name: 'patch-cjs-re-exports',
-    renderChunk(code, _, options) {
-      if (matcher.test(code)) {
-        return code.replace(matcher, (_, r1, r2, r3) => {
-          return `Object.keys(${r1}).forEach(function(k) {${r2}${r3}});`
-        })
-      } else if (options.file.endsWith('packages/vue/dist/vue.cjs.js')) {
-        // make sure we don't accidentally miss the rewrite in case Rollup
-        // changes the output again.
-        throw new Error('cjs build re-exports rewrite failed.')
-      }
-    }
-  }
-}