Skip to content

Commit 4ecc5d6

Browse files
author
David Liu
authored
feat: allow to export names from global class or id (#21)
1 parent 59cc288 commit 4ecc5d6

File tree

7 files changed

+92
-0
lines changed

7 files changed

+92
-0
lines changed

src/index.js

+7
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
8686
(options && options.generateScopedName) || processor.generateScopedName;
8787
const generateExportEntry =
8888
(options && options.generateExportEntry) || processor.generateExportEntry;
89+
const exportGlobals = options && options.exportGlobals;
8990

9091
const exports = Object.create(null);
9192

@@ -173,6 +174,12 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
173174
node.each(traverseNode);
174175
break;
175176
}
177+
case 'id':
178+
case 'class':
179+
if (exportGlobals) {
180+
exports[node.value] = [node.value];
181+
}
182+
break;
176183
}
177184
return node;
178185
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
.exportName {
2+
color: green;
3+
}
4+
5+
.exportName:hover {
6+
color: red;
7+
}
8+
9+
@media screen {
10+
body {
11+
background: red;
12+
}
13+
}
14+
15+
._input__testLocal {
16+
color: blue;
17+
}
18+
19+
:export {
20+
exportName: exportName;
21+
testLocal: _input__testLocal;
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
exportGlobals: true,
3+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
.exportName {
2+
color: green;
3+
}
4+
5+
.exportName:hover {
6+
color: red;
7+
}
8+
9+
@media screen {
10+
body {
11+
background: red;
12+
}
13+
}
14+
15+
:local(.testLocal) {
16+
color: blue;
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#exportName {
2+
color: green;
3+
}
4+
5+
#exportName:hover {
6+
color: red;
7+
}
8+
9+
@media screen {
10+
#exportName-2 {
11+
background: red;
12+
}
13+
}
14+
15+
#_input__exportName-3 {
16+
color: green;
17+
}
18+
19+
:export {
20+
exportName: exportName;
21+
exportName-2: exportName-2;
22+
exportName-3: _input__exportName-3;
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
exportGlobals: true,
3+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#exportName {
2+
color: green;
3+
}
4+
5+
#exportName:hover {
6+
color: red;
7+
}
8+
9+
@media screen {
10+
#exportName-2 {
11+
background: red;
12+
}
13+
}
14+
15+
:local(#exportName-3) {
16+
color: green;
17+
}

0 commit comments

Comments
 (0)