Skip to content

Commit ac917c5

Browse files
author
Adam Argyle
committed
fixes #3
1 parent ded14e9 commit ac917c5

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff 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
);

test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
});

0 commit comments

Comments
 (0)