1
- import postcss from 'postcss' ;
2
1
import _ from 'lodash' ;
3
2
import {
4
3
defaults ,
@@ -18,34 +17,38 @@ import {
18
17
/**
19
18
* Plugin registration.
20
19
*/
21
- export default postcss . plugin ( 'postcss-sprites' , ( options = { } ) => {
22
- return ( css , result ) => {
23
- // Extend defaults
24
- const opts = _ . merge ( { } , defaults , options ) ;
20
+ export default ( options = { } ) => {
21
+ return {
22
+ postcssPlugin : 'postcss-sprites' ,
23
+ Once : ( css , { result } ) => {
24
+ // Extend defaults
25
+ const opts = _ . merge ( { } , defaults , options ) ;
25
26
26
- // Setup the logger
27
- opts . logger = createLogger ( opts . verbose ) ;
27
+ // Setup the logger
28
+ opts . logger = createLogger ( opts . verbose ) ;
28
29
29
- // Prepare filter & group functions
30
- prepareFilterBy ( opts , result ) ;
31
- prepareGroupBy ( opts ) ;
30
+ // Prepare filter & group functions
31
+ prepareFilterBy ( opts , result ) ;
32
+ prepareGroupBy ( opts ) ;
32
33
33
- // Process it
34
- return extractImages ( css , opts , result )
35
- . spread ( ( opts , images ) => applyFilterBy ( opts , images ) )
36
- . spread ( ( opts , images ) => applyGroupBy ( opts , images ) )
37
- . spread ( ( opts , images ) => setTokens ( css , opts , images ) )
38
- . spread ( ( root , opts , images ) => runSpritesmith ( opts , images ) )
39
- . spread ( ( opts , images , spritesheets ) => saveSpritesheets ( opts , images , spritesheets ) )
40
- . spread ( ( opts , images , spritesheets ) => mapSpritesheetProps ( opts , images , spritesheets ) )
41
- . spread ( ( opts , images , spritesheets ) => updateReferences ( css , opts , images , spritesheets ) )
42
- . spread ( ( root , opts , images , spritesheets ) => {
43
- opts . logger ( `${ spritesheets . length } ${ spritesheets . length > 1 ? 'spritesheets' : 'spritesheet' } generated.` ) ;
44
- } )
45
- . catch ( ( err ) => {
46
- console . error ( `postcss-sprites: An error occurred while processing files - ${ err . message } ` ) ;
47
- console . error ( err . stack ) ;
48
- throw err ;
49
- } ) ;
34
+ // Process it
35
+ return extractImages ( css , opts , result )
36
+ . spread ( ( opts , images ) => applyFilterBy ( opts , images ) )
37
+ . spread ( ( opts , images ) => applyGroupBy ( opts , images ) )
38
+ . spread ( ( opts , images ) => setTokens ( css , opts , images ) )
39
+ . spread ( ( root , opts , images ) => runSpritesmith ( opts , images ) )
40
+ . spread ( ( opts , images , spritesheets ) => saveSpritesheets ( opts , images , spritesheets ) )
41
+ . spread ( ( opts , images , spritesheets ) => mapSpritesheetProps ( opts , images , spritesheets ) )
42
+ . spread ( ( opts , images , spritesheets ) => updateReferences ( css , opts , images , spritesheets ) )
43
+ . spread ( ( root , opts , images , spritesheets ) => {
44
+ opts . logger ( `${ spritesheets . length } ${ spritesheets . length > 1 ? 'spritesheets' : 'spritesheet' } generated.` ) ;
45
+ } )
46
+ . catch ( ( err ) => {
47
+ console . error ( `postcss-sprites: An error occurred while processing files - ${ err . message } ` ) ;
48
+ console . error ( err . stack ) ;
49
+ throw err ;
50
+ } ) ;
51
+ }
50
52
}
51
- } ) ;
53
+ }
54
+ export const postcss = true ;
0 commit comments