@@ -2,27 +2,34 @@ import postcss from 'postcss'
22import localByDefault from 'postcss-modules-local-by-default'
33import extractImports from 'postcss-modules-extract-imports'
44import scope from 'postcss-modules-scope'
5+ import customMedia from 'postcss-custom-media'
56
67import Parser from './parser'
78
89export default class Core {
9- constructor ( plugins ) {
10+ constructor ( plugins , postLinkers ) {
1011 this . plugins = plugins || Core . defaultPlugins
12+ this . postLinkers = postLinkers || Core . defaultPostLinkers
1113 }
1214
1315 load ( sourceString , sourcePath , trace , pathFetcher ) {
14- let parser = new Parser ( pathFetcher , trace )
16+ let parser = new Parser ( pathFetcher , trace ) ,
17+ pluginChain = this . plugins
18+ . concat ( [ parser . plugin ] )
19+ . concat ( this . postLinkers ) ;
1520
16- return postcss ( this . plugins . concat ( [ parser . plugin ] ) )
21+ return postcss ( pluginChain )
1722 . process ( sourceString , { from : "/" + sourcePath } )
1823 . then ( result => {
1924 return { injectableSource : result . css , exportTokens : parser . exportTokens }
2025 } )
2126 }
2227}
2328
24- // These three plugins are aliased under this package for simplicity.
29+ // These four plugins are aliased under this package for simplicity.
2530Core . localByDefault = localByDefault
2631Core . extractImports = extractImports
2732Core . scope = scope
33+ Core . customMedia = customMedia
2834Core . defaultPlugins = [ localByDefault , extractImports , scope ]
35+ Core . defaultPostLinkers = [ customMedia ]
0 commit comments