@@ -4,7 +4,6 @@ import { satisfies } from "semver";
44import postcssPackage from "postcss/package.json" ;
55
66import Warning from "./Warning" ;
7- import SyntaxError from "./Error" ;
87import schema from "./options.json" ;
98import {
109 loadConfig ,
@@ -14,6 +13,7 @@ import {
1413 normalizeSourceMapAfterPostcss ,
1514 findPackageJSONDir ,
1615 getPostcssImplementation ,
16+ reportError ,
1717} from "./utils" ;
1818
1919let hasExplicitDependencyOnPostCSS = false ;
@@ -169,15 +169,7 @@ export default async function loader(content, sourceMap, meta) {
169169 }
170170 }
171171
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 ) ;
181173
182174 return ;
183175 }
@@ -223,11 +215,19 @@ export default async function loader(content, sourceMap, meta) {
223215 map = normalizeSourceMapAfterPostcss ( map , this . context ) ;
224216 }
225217
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+ }
231231
232232 callback ( null , result . css , map , { ast } ) ;
233233}
0 commit comments