@@ -106,13 +106,16 @@ function expectAdjacentSibling (names) {
106
106
function loadBabelOpts ( opts ) {
107
107
const filename = opts . from && opts . from . replace ( / \? .* $ / , "" ) ;
108
108
opts = {
109
- sourceFilename : filename ,
110
- sourceType : filename && / \. m [ t j ] s x ? $ / . test ( filename ) ? "module" : "unambiguous" ,
111
- plugins,
112
- allowImportExportEverywhere : true ,
113
- allowAwaitOutsideFunction : true ,
114
- allowReturnOutsideFunction : true ,
115
- allowSuperOutsideMethod : true ,
109
+ filename,
110
+ parserOpts : {
111
+ plugins,
112
+ sourceFilename : filename ,
113
+ sourceType : filename && / \. m [ t j ] s x ? $ / . test ( filename ) ? "module" : "unambiguous" ,
114
+ allowImportExportEverywhere : true ,
115
+ allowAwaitOutsideFunction : true ,
116
+ allowReturnOutsideFunction : true ,
117
+ allowSuperOutsideMethod : true ,
118
+ } ,
116
119
} ;
117
120
let fileOpts ;
118
121
try {
@@ -126,17 +129,17 @@ function loadBabelOpts (opts) {
126
129
if ( Array . isArray ( fileOpts [ key ] ) && ! fileOpts [ key ] . length ) {
127
130
continue ;
128
131
}
132
+ // because some options need to be passed to parser also
129
133
opts [ key ] = fileOpts [ key ] ;
134
+ opts . parserOpts [ key ] = fileOpts [ key ] ;
130
135
}
131
136
return opts ;
132
137
}
133
138
134
139
function literalParser ( source , opts , styles ) {
135
140
let ast ;
136
141
try {
137
- ast = parse ( source , {
138
- parserOpts : loadBabelOpts ( opts ) ,
139
- } ) ;
142
+ ast = parse ( source , loadBabelOpts ( opts ) ) ;
140
143
} catch ( ex ) {
141
144
// console.error(ex);
142
145
return styles || [ ] ;
0 commit comments