@@ -29,7 +29,7 @@ const unpackOptions = ({
2929 } ;
3030} ;
3131
32- const unpackInputPluginOptions = ( { skipPreflightCheck = false , ...rest } ) => {
32+ const unpackInputPluginOptions = ( { skipPreflightCheck = false , ...rest } , rollupVersion ) => {
3333 if ( ! rest . babelHelpers ) {
3434 // eslint-disable-next-line no-console
3535 console . warn (
@@ -45,6 +45,8 @@ const unpackInputPluginOptions = ({ skipPreflightCheck = false, ...rest }) => {
4545 supportsStaticESM : true ,
4646 supportsDynamicImport : true ,
4747 supportsTopLevelAwait : true ,
48+ // todo: remove version checks for 1.20 - 1.25 when we bump peer deps
49+ supportsExportNamespaceFrom : ! rollupVersion . match ( / ^ 1 \. 2 [ 0 - 5 ] \. / ) ,
4850 ...rest . caller
4951 }
5052 } ) ;
@@ -90,22 +92,30 @@ function createBabelInputPluginFactory(customCallback = returnObject) {
9092 overrides
9193 ) ;
9294
93- const {
94- exclude,
95- extensions,
96- babelHelpers,
97- include,
98- skipPreflightCheck,
99- ...babelOptions
100- } = unpackInputPluginOptions ( pluginOptionsWithOverrides ) ;
101-
102- const extensionRegExp = new RegExp ( `(${ extensions . map ( escapeRegExpCharacters ) . join ( '|' ) } )$` ) ;
103- const includeExcludeFilter = createFilter ( include , exclude ) ;
104- const filter = ( id ) => extensionRegExp . test ( id ) && includeExcludeFilter ( id ) ;
105-
95+ let babelHelpers , babelOptions , filter , skipPreflightCheck ;
10696 return {
10797 name : 'babel' ,
10898
99+ options ( ) {
100+ //todo: remove options hook and hoist declarations when version checks are removed
101+ let exclude , include , extensions ;
102+
103+ ( {
104+ exclude,
105+ extensions,
106+ babelHelpers,
107+ include,
108+ skipPreflightCheck,
109+ ...babelOptions
110+ } = unpackInputPluginOptions ( pluginOptionsWithOverrides , this . meta . rollupVersion ) ) ;
111+
112+ const extensionRegExp = new RegExp ( `(${ extensions . map ( escapeRegExpCharacters ) . join ( '|' ) } )$` ) ;
113+ const includeExcludeFilter = createFilter ( include , exclude ) ;
114+ filter = ( id ) => extensionRegExp . test ( id ) && includeExcludeFilter ( id ) ;
115+
116+ return null ;
117+ } ,
118+
109119 resolveId ( id ) {
110120 if ( id !== HELPERS ) {
111121 return null ;
0 commit comments