File tree Expand file tree Collapse file tree 4 files changed +74
-9
lines changed Expand file tree Collapse file tree 4 files changed +74
-9
lines changed Original file line number Diff line number Diff line change @@ -224,6 +224,18 @@ new Processor({
224
224
*/
225
225
```
226
226
227
+ ### ` exportValues `
228
+
229
+ Enable exporting ` @value ` identifiers.
230
+
231
+ ** Default** : ` true `
232
+
233
+ ``` js
234
+ new Processor ({
235
+ exportValues : false
236
+ });
237
+ ```
238
+
227
239
## Properties
228
240
229
241
### ` .files `
Original file line number Diff line number Diff line change @@ -37,13 +37,14 @@ class Processor {
37
37
const options = Object . assign (
38
38
Object . create ( null ) ,
39
39
{
40
- cwd : process . cwd ( ) ,
41
- map : false ,
42
- rewrite : true ,
43
- verbose : false ,
44
- resolvers : [ ] ,
45
- postcss : { } ,
46
- dupewarn : true ,
40
+ cwd : process . cwd ( ) ,
41
+ dupewarn : true ,
42
+ exportValues : true ,
43
+ map : false ,
44
+ postcss : { } ,
45
+ resolvers : [ ] ,
46
+ rewrite : true ,
47
+ verbose : false ,
47
48
} ,
48
49
opts
49
50
) ;
@@ -379,8 +380,11 @@ class Processor {
379
380
380
381
file . exports = Object . assign (
381
382
Object . create ( null ) ,
382
- // export @value entries
383
- mapValues ( file . values , ( { value } ) => value ) ,
383
+
384
+ // optionally export @value entries
385
+ this . _options . exportValues ?
386
+ mapValues ( file . values , ( { value } ) => value ) :
387
+ null ,
384
388
385
389
// export classes
386
390
message ( result , "classes" ) ,
Original file line number Diff line number Diff line change @@ -8,6 +8,23 @@ Object {
8
8
}
9
9
` ;
10
10
11
+ exports [` /processor.js options exportValues should not export @values by default 1` ] = `
12
+ Object {
13
+ " a" : " #F00" ,
14
+ " b" : Array [
15
+ " mc61ce7a4a_b" ,
16
+ ],
17
+ }
18
+ ` ;
19
+
20
+ exports [` /processor.js options exportValues should not export @values when exportValues is false 1` ] = `
21
+ Object {
22
+ " b" : Array [
23
+ " mc8df92ddf_b" ,
24
+ ],
25
+ }
26
+ ` ;
27
+
11
28
exports [` /processor.js options lifecycle options after should run async postcss plugins 1` ] = `
12
29
"/* packages/processor/test/specimens/relative.css */
13
30
.wooga {
Original file line number Diff line number Diff line change @@ -146,6 +146,38 @@ describe("/processor.js", () => {
146
146
} ) ;
147
147
} ) ;
148
148
149
+ describe ( "exportValues" , ( ) => {
150
+ it ( "should export @values by default" , async ( ) => {
151
+ const processor = new Processor ( { } ) ;
152
+
153
+ const { exports } = await processor . string (
154
+ "./exportValues.css" ,
155
+ dedent ( `
156
+ @value a: #F00;
157
+ .b {}
158
+ ` )
159
+ ) ;
160
+
161
+ expect ( exports ) . toMatchSnapshot ( ) ;
162
+ } ) ;
163
+
164
+ it ( "should not export @values when exportValues is false" , async ( ) => {
165
+ const processor = new Processor ( {
166
+ exportValues : false ,
167
+ } ) ;
168
+
169
+ const { exports } = await processor . string (
170
+ "./exportGlobals.css" ,
171
+ dedent ( `
172
+ @value a: #F00;
173
+ .b {}
174
+ ` )
175
+ ) ;
176
+
177
+ expect ( exports ) . toMatchSnapshot ( ) ;
178
+ } ) ;
179
+ } ) ;
180
+
149
181
describe ( "rewrite" , ( ) => {
150
182
it ( "should rewrite url() references by default" , async ( ) => {
151
183
const processor = new Processor ( ) ;
You can’t perform that action at this time.
0 commit comments