File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed
Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ module.exports = (opts = {}) => {
1919 promisesList . push (
2020 new Promise ( ( resolve ) => {
2121 const globList = [ ] ;
22+ let layer = new Map ( ) ;
2223
2324 const params = valueParser ( rule . params ) . nodes ;
2425
@@ -33,6 +34,9 @@ module.exports = (opts = {}) => {
3334 path . join ( dirName , param . value ) . replace ( / \\ / g, '/' )
3435 ) ;
3536 }
37+ if ( param . type === 'function' && param . value === 'layer' ) {
38+ layer . set ( dirName , param . nodes [ 0 ] . value )
39+ }
3640 }
3741
3842 if ( globList . length ) {
@@ -46,10 +50,11 @@ module.exports = (opts = {}) => {
4650 const sortedEntries = sort ( entries ) [ sorter ] ( ) ;
4751
4852 sortedEntries . forEach ( ( entry ) => {
53+ let paramValue = layer . get ( dirName ) ? `"${ entry } " layer(${ layer . get ( dirName ) } )` : `"${ entry } "`
4954 rule . before (
5055 new AtRule ( {
5156 name : 'import' ,
52- params : `" ${ entry } "` ,
57+ params : paramValue ,
5358 source : rule . source ,
5459 } )
5560 ) ;
Original file line number Diff line number Diff line change @@ -169,3 +169,16 @@ test('no entries warning', async (t) => {
169169 pluginsAfter : [ postcssImport ] ,
170170 } ) ;
171171} ) ;
172+
173+ test ( 'layer test' , async ( t ) => {
174+ const input = `
175+ @import-glob "fixtures/css/foo/**/*.css" layer(test);
176+ ` ;
177+
178+ const output = `
179+ @import "${ __dirname } /fixtures/css/foo/bar.css" layer(test);
180+ @import "${ __dirname } /fixtures/css/foo/foo.css" layer(test);
181+ ` ;
182+
183+ await tester . test ( input , output , t ) ;
184+ } ) ;
You can’t perform that action at this time.
0 commit comments