diff --git a/.changeset/bright-brooms-give.md b/.changeset/bright-brooms-give.md new file mode 100644 index 000000000000..6fb69863b6cd --- /dev/null +++ b/.changeset/bright-brooms-give.md @@ -0,0 +1,7 @@ +--- +'@modern-js/babel-preset-base': patch +--- + +refactor: remove @babel/plugin-proposal-function-bind + +refactor: 移除 @babel/plugin-proposal-function-bind diff --git a/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/babel.test.ts.snap b/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/babel.test.ts.snap index 87a1db1b5015..b63dd33489e0 100644 --- a/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/babel.test.ts.snap +++ b/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/babel.test.ts.snap @@ -76,9 +76,6 @@ exports[`plugins/babel > should add rule to compile Data URI when enable source. "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -205,9 +202,6 @@ exports[`plugins/babel > should add rule to compile Data URI when enable source. "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -348,9 +342,6 @@ exports[`plugins/babel > should adjust browserslist when target is node 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -472,9 +463,6 @@ exports[`plugins/babel > should adjust browserslist when target is node 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -618,9 +606,6 @@ exports[`plugins/babel > should override targets of babel-preset-env when using "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -745,9 +730,6 @@ exports[`plugins/babel > should override targets of babel-preset-env when using "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -886,9 +868,6 @@ exports[`plugins/babel > should set babel-loader 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -1015,9 +994,6 @@ exports[`plugins/babel > should set babel-loader 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -1162,9 +1138,6 @@ exports[`plugins/babel > should set include/exclude 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -1291,9 +1264,6 @@ exports[`plugins/babel > should set include/exclude 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], diff --git a/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/react.test.ts.snap b/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/react.test.ts.snap index aef3ee56bafe..f328cbc49cfc 100644 --- a/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/react.test.ts.snap +++ b/packages/builder/builder-webpack-provider/tests/plugins/__snapshots__/react.test.ts.snap @@ -67,9 +67,6 @@ exports[`plugins/react > should work with babel-loader 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], @@ -202,9 +199,6 @@ exports[`plugins/react > should work with babel-loader 1`] = ` "version": "7.18.6", }, ], - [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], diff --git a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.d.ts b/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.d.ts deleted file mode 100644 index a2ac5f9bc2ef..000000000000 --- a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export = any; diff --git a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js b/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js deleted file mode 100644 index fecd5c368e46..000000000000 --- a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e={408:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=r(345);var i=(0,n.declare)((e=>{e.assertVersion(7);return{name:"syntax-function-bind",manipulateOptions(e,t){t.plugins.push("functionBind")}}}));t["default"]=i},345:e=>{e.exports=require("../helper-plugin-utils")},718:e=>{e.exports=require("@babel/core")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var s=true;try{e[r](i,i.exports,__nccwpck_require__);s=false}finally{if(s)delete t[r]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r={};(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:true});e["default"]=void 0;var t=__nccwpck_require__(345);var n=__nccwpck_require__(408);var i=__nccwpck_require__(718);var s=(0,t.declare)((e=>{e.assertVersion(7);function getTempId(e){let t=e.path.getData("functionBind");if(t)return i.types.cloneNode(t);t=e.generateDeclaredUidIdentifier("context");return e.path.setData("functionBind",t)}function getStaticContext(e,t){const r=e.object||e.callee.object;return t.isStatic(r)&&(i.types.isSuper(r)?i.types.thisExpression():r)}function inferBindContext(e,t){const r=getStaticContext(e,t);if(r)return i.types.cloneNode(r);const n=getTempId(t);if(e.object){e.callee=i.types.sequenceExpression([i.types.assignmentExpression("=",n,e.object),e.callee])}else{e.callee.object=i.types.assignmentExpression("=",n,e.callee.object)}return i.types.cloneNode(n)}return{name:"proposal-function-bind",inherits:n.default,visitor:{CallExpression({node:e,scope:t}){const r=e.callee;if(!i.types.isBindExpression(r))return;const n=inferBindContext(r,t);e.callee=i.types.memberExpression(r.callee,i.types.identifier("call"));e.arguments.unshift(n)},BindExpression(e){const{node:t,scope:r}=e;const n=inferBindContext(t,r);e.replaceWith(i.types.callExpression(i.types.memberExpression(t.callee,i.types.identifier("bind")),[n]))}}}}));e["default"]=s})();module.exports=r})(); \ No newline at end of file diff --git a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/license b/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/license deleted file mode 100644 index f31575ec773b..000000000000 --- a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/license +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/package.json b/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/package.json deleted file mode 100644 index 0bec21b6960f..000000000000 --- a/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/package.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"@babel/plugin-proposal-function-bind","author":"The Babel Team (https://babel.dev/team)","version":"7.16.7","license":"MIT","types":"index.d.ts"} diff --git a/packages/cli/babel-preset-base/src/plugins.ts b/packages/cli/babel-preset-base/src/plugins.ts index ae3f293df95b..bab01c1b735f 100644 --- a/packages/cli/babel-preset-base/src/plugins.ts +++ b/packages/cli/babel-preset-base/src/plugins.ts @@ -109,10 +109,6 @@ export const getPluginsChain = (option: IBaseBabelConfigOption) => { ); } - chain - .plugin('@babel/plugin-proposal-function-bind') - .use(require.resolve('../compiled/@babel/plugin-proposal-function-bind')); - // link: https://github.com/tc39/proposal-export-default-from chain .plugin('@babel/plugin-proposal-export-default-from') diff --git a/packages/cli/webpack/tests/__snapshots__/utils.test.ts.snap b/packages/cli/webpack/tests/__snapshots__/utils.test.ts.snap index 11ee216829a1..36cb7d480631 100644 --- a/packages/cli/webpack/tests/__snapshots__/utils.test.ts.snap +++ b/packages/cli/webpack/tests/__snapshots__/utils.test.ts.snap @@ -45,9 +45,6 @@ Object { "version": "7.18.6", }, ], - Array [ - /cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js, - ], Array [ /cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js, ], diff --git a/packages/server/utils/tests/__snapshots__/babel.test.ts.snap b/packages/server/utils/tests/__snapshots__/babel.test.ts.snap index d66297fea863..520c44d39c31 100644 --- a/packages/server/utils/tests/__snapshots__/babel.test.ts.snap +++ b/packages/server/utils/tests/__snapshots__/babel.test.ts.snap @@ -42,9 +42,6 @@ Object { "removeImport": true, }, ], - Array [ - "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-function-bind/index.js", - ], Array [ "/packages/cli/babel-preset-base/compiled/@babel/plugin-proposal-export-default-from/index.js", ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ecc7b7d161e..cb488e24ec08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3215,7 +3215,6 @@ importers: '@babel/parser': 7.18.4 '@babel/plugin-proposal-decorators': 7.18.2 '@babel/plugin-proposal-export-default-from': 7.17.12 - '@babel/plugin-proposal-function-bind': 7.16.7 '@babel/plugin-proposal-partial-application': 7.17.12 '@babel/plugin-proposal-pipeline-operator': 7.18.2 '@babel/template': 7.16.7 @@ -3359,7 +3358,6 @@ importers: '@babel/parser': 7.18.4 '@babel/plugin-proposal-decorators': 7.18.2_@babel+core@7.18.6 '@babel/plugin-proposal-export-default-from': 7.17.12_@babel+core@7.18.6 - '@babel/plugin-proposal-function-bind': 7.16.7_@babel+core@7.18.6 '@babel/plugin-proposal-partial-application': 7.17.12_@babel+core@7.18.6 '@babel/plugin-proposal-pipeline-operator': 7.18.2_@babel+core@7.18.6 '@babel/template': 7.16.7 @@ -5417,17 +5415,6 @@ packages: '@babel/helper-plugin-utils': 7.18.6 '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 - /@babel/plugin-proposal-function-bind/7.16.7_@babel+core@7.18.6: - resolution: {integrity: sha512-jPhqHqKvjlswvdbo0KlGJDxOJbauEfzvBG0E0P8kdIubQcDcW295PbLsJhrJcTUWfWPJawTxBTOWOohZfCSHXg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-function-bind': 7.18.6_@babel+core@7.18.6 - dev: true - /@babel/plugin-proposal-function-sent/7.18.6_@babel+core@7.18.6: resolution: {integrity: sha512-UdaOKPOLPt0O+Xu26tnw6oAZMLXhk+yMrXOzn6kAzTHBnWHJsoN1hlrgxFAQ+FRLS0ql1oYIQ2phvoFzmN3GMw==} engines: {node: '>=6.9.0'} @@ -5683,16 +5670,6 @@ packages: '@babel/helper-plugin-utils': 7.18.6 dev: false - /@babel/plugin-syntax-function-bind/7.18.6_@babel+core@7.18.6: - resolution: {integrity: sha512-wZN0Aq/AScknI9mKGcR3TpHdASMufFGaeJgc1rhPmLtZ/PniwjePSh8cfh8tXMB3U4kh/3cRKrLjDtedejg8jQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.18.6 - '@babel/helper-plugin-utils': 7.18.6 - dev: true - /@babel/plugin-syntax-function-sent/7.18.6_@babel+core@7.18.6: resolution: {integrity: sha512-f3OJHIlFIkg+cP1Hfo2SInLhsg0pz2Ikmgo7jMdIIKC+3jVXQlHB0bgSapOWxeWI0SU28qIWmfn5ZKu1yPJHkg==} engines: {node: '>=6.9.0'} diff --git a/scripts/prebundle/package.json b/scripts/prebundle/package.json index ae48e045c1d4..0e9219425344 100644 --- a/scripts/prebundle/package.json +++ b/scripts/prebundle/package.json @@ -31,7 +31,6 @@ "@babel/parser": "7.18.4", "@babel/plugin-proposal-decorators": "7.18.2", "@babel/plugin-proposal-export-default-from": "7.17.12", - "@babel/plugin-proposal-function-bind": "7.16.7", "@babel/plugin-proposal-partial-application": "7.17.12", "@babel/plugin-proposal-pipeline-operator": "7.18.2", "@babel/template": "7.16.7", diff --git a/scripts/prebundle/src/constant.ts b/scripts/prebundle/src/constant.ts index 272c8420a54b..b256873dd7f2 100644 --- a/scripts/prebundle/src/constant.ts +++ b/scripts/prebundle/src/constant.ts @@ -767,13 +767,6 @@ export const TASKS: TaskConfig[] = [ '@babel/helper-plugin-utils': '../helper-plugin-utils', }, }, - { - name: '@babel/plugin-proposal-function-bind', - ignoreDts: true, - externals: { - '@babel/helper-plugin-utils': '../helper-plugin-utils', - }, - }, { name: '@babel/helper-create-class-features-plugin', ignoreDts: true,