@@ -4,7 +4,6 @@ import { satisfies } from "semver";
4
4
import postcssPackage from "postcss/package.json" ;
5
5
6
6
import Warning from "./Warning" ;
7
- import SyntaxError from "./Error" ;
8
7
import schema from "./options.json" ;
9
8
import {
10
9
loadConfig ,
@@ -14,6 +13,7 @@ import {
14
13
normalizeSourceMapAfterPostcss ,
15
14
findPackageJSONDir ,
16
15
getPostcssImplementation ,
16
+ reportError ,
17
17
} from "./utils" ;
18
18
19
19
let hasExplicitDependencyOnPostCSS = false ;
@@ -169,15 +169,7 @@ export default async function loader(content, sourceMap, meta) {
169
169
}
170
170
}
171
171
172
- if ( error . file ) {
173
- this . addDependency ( error . file ) ;
174
- }
175
-
176
- if ( error . name === "CssSyntaxError" ) {
177
- callback ( new SyntaxError ( error ) ) ;
178
- } else {
179
- callback ( error ) ;
180
- }
172
+ reportError ( this , callback , error ) ;
181
173
182
174
return ;
183
175
}
@@ -223,11 +215,19 @@ export default async function loader(content, sourceMap, meta) {
223
215
map = normalizeSourceMapAfterPostcss ( map , this . context ) ;
224
216
}
225
217
226
- const ast = {
227
- type : "postcss" ,
228
- version : result . processor . version ,
229
- root : result . root ,
230
- } ;
218
+ let ast ;
219
+
220
+ try {
221
+ ast = {
222
+ type : "postcss" ,
223
+ version : result . processor . version ,
224
+ root : result . root ,
225
+ } ;
226
+ } catch ( error ) {
227
+ reportError ( this , callback , error ) ;
228
+
229
+ return ;
230
+ }
231
231
232
232
callback ( null , result . css , map , { ast } ) ;
233
233
}
0 commit comments