File tree Expand file tree Collapse file tree 2 files changed +43
-1
lines changed
Expand file tree Collapse file tree 2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -218,7 +218,11 @@ function resolveImportId(
218218 state
219219) {
220220 var atRule = stmt . node
221- var base = atRule . source && atRule . source . input && atRule . source . input . file
221+ var sourceFile
222+ if ( atRule . source && atRule . source . input && atRule . source . input . file ) {
223+ sourceFile = atRule . source . input . file
224+ }
225+ var base = sourceFile
222226 ? path . dirname ( atRule . source . input . file )
223227 : options . root
224228
@@ -227,6 +231,16 @@ function resolveImportId(
227231 if ( ! Array . isArray ( resolved ) ) {
228232 resolved = [ resolved ]
229233 }
234+
235+ // Add dependency messages:
236+ resolved . forEach ( function ( file ) {
237+ result . messages . push ( {
238+ type : "dependency" ,
239+ file : file ,
240+ parent : sourceFile ,
241+ } )
242+ } )
243+
230244 return Promise . all ( resolved . map ( function ( file ) {
231245 return loadImportContent (
232246 result ,
Original file line number Diff line number Diff line change @@ -52,3 +52,31 @@ test("should have a callback shortcut for webpack", t => {
5252 )
5353 } )
5454} )
55+
56+ test ( "should add dependency message for each import" , t => {
57+ return postcss ( )
58+ . use ( atImport ( {
59+ path : "fixtures/imports" ,
60+ } ) )
61+ . process ( readFileSync ( "fixtures/media-import.css" ) , {
62+ from : "fixtures/media-import.css" ,
63+ } )
64+ . then ( ( result ) => {
65+ var deps = result . messages . filter (
66+ message => message . type === "dependency"
67+ )
68+ var expected = [
69+ {
70+ type : "dependency" ,
71+ file : resolve ( "fixtures/imports/media-import-level-2.css" ) ,
72+ parent : resolve ( "fixtures/media-import.css" ) ,
73+ } ,
74+ {
75+ type : "dependency" ,
76+ file : resolve ( "fixtures/imports/media-import-level-3.css" ) ,
77+ parent : resolve ( "fixtures/imports/media-import-level-2.css" ) ,
78+ } ,
79+ ]
80+ t . deepEqual ( deps , expected )
81+ } )
82+ } )
You can’t perform that action at this time.
0 commit comments