1- import postcss from 'postcss' ;
21import _ from 'lodash' ;
32import {
43 defaults ,
@@ -18,34 +17,39 @@ import {
1817/**
1918 * Plugin registration.
2019 */
21- export default postcss . plugin ( 'postcss-sprites' , ( options = { } ) => {
22- return ( css , result ) => {
23- // Extend defaults
24- const opts = _ . merge ( { } , defaults , options ) ;
20+ const plugin = ( options = { } ) => {
21+ return {
22+ postcssPlugin : 'postcss-sprites' ,
23+ Once : ( css , { result } ) => {
24+ // Extend defaults
25+ const opts = _ . merge ( { } , defaults , options ) ;
2526
26- // Setup the logger
27- opts . logger = createLogger ( opts . verbose ) ;
27+ // Setup the logger
28+ opts . logger = createLogger ( opts . verbose ) ;
2829
29- // Prepare filter & group functions
30- prepareFilterBy ( opts , result ) ;
31- prepareGroupBy ( opts ) ;
30+ // Prepare filter & group functions
31+ prepareFilterBy ( opts , result ) ;
32+ prepareGroupBy ( opts ) ;
3233
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+ }
5052 }
51- } ) ;
53+ } ;
54+ export default plugin ;
55+ plugin . postcss = true ;
0 commit comments