@@ -22,6 +22,7 @@ const path = require("path");
2222const log = require ( "fancy-log" ) ;
2323const rollupPluginNodeResolve = require ( "rollup-plugin-node-resolve" ) ;
2424const rollupPluginCJS = require ( "rollup-plugin-commonjs" ) ;
25+ const rollupPluginPostCSS = require ( "rollup-plugin-postcss" ) ;
2526const rollupPluginVirtual = require ( "rollup-plugin-virtual" ) ;
2627const rollupPluginReplace = require ( "rollup-plugin-replace" ) ;
2728const rollup = require ( "rollup" ) ;
@@ -96,6 +97,16 @@ async function buildCacheManifest() {
9697async function build ( ) {
9798 const generated = [ ] ;
9899
100+ const postcssConfig = { } ;
101+ if ( isProd ) {
102+ // nb. Only require() autoprefixer when used.
103+ const autoprefixer = require ( "autoprefixer" ) ;
104+ postcssConfig . plugins = [ autoprefixer ] ;
105+
106+ // uses cssnano vs. our regular CSS usees sass' builtin compression
107+ postcssConfig . minimize = true ;
108+ }
109+
99110 // Rollup bootstrap to generate graph of source needs. This eventually uses
100111 // dynamic import to bring in code required for each page (see router.js).
101112 // Does not hash "bootstrap.js" entrypoint, but hashes all generated chunks,
@@ -106,6 +117,7 @@ async function build() {
106117 rollupPluginVirtual ( {
107118 webdev_config : `export default ${ JSON . stringify ( bootstrapConfig ) } ;` ,
108119 } ) ,
120+ rollupPluginPostCSS ( postcssConfig ) ,
109121 ...defaultPlugins ,
110122 ] ,
111123 } ) ;
0 commit comments