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({
224224*/
225225```
226226
227+ ### ` exportValues `
228+
229+ Enable exporting ` @value ` identifiers.
230+
231+ ** Default** : ` true `
232+
233+ ``` js
234+ new Processor ({
235+ exportValues : false
236+ });
237+ ```
238+
227239## Properties
228240
229241### ` .files `
Original file line number Diff line number Diff line change @@ -37,13 +37,14 @@ class Processor {
3737 const options = Object . assign (
3838 Object . create ( null ) ,
3939 {
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 ,
4748 } ,
4849 opts
4950 ) ;
@@ -379,8 +380,11 @@ class Processor {
379380
380381 file . exports = Object . assign (
381382 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 ,
384388
385389 // export classes
386390 message ( result , "classes" ) ,
Original file line number Diff line number Diff line change @@ -8,6 +8,23 @@ Object {
88}
99` ;
1010
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+
1128exports [` /processor.js options lifecycle options after should run async postcss plugins 1` ] = `
1229"/* packages/processor/test/specimens/relative.css */
1330.wooga {
Original file line number Diff line number Diff line change @@ -146,6 +146,38 @@ describe("/processor.js", () => {
146146 } ) ;
147147 } ) ;
148148
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+
149181 describe ( "rewrite" , ( ) => {
150182 it ( "should rewrite url() references by default" , async ( ) => {
151183 const processor = new Processor ( ) ;
You can’t perform that action at this time.
0 commit comments