Skip to content
Snippets Groups Projects
postcss.config.js 945 B
Newer Older
  • Learn to ignore specific revisions
  • const webpackPostcssTools = require('webpack-postcss-tools');
    const _ = require('underscore');
    const glob = require('glob');
    
    var SRC_PATH = __dirname + '/frontend/src/metabase';
    // Build mapping of CSS variables
    const CSS_SRC = glob.sync(SRC_PATH + '/css/**/*.css');
    const CSS_MAPS = { vars: {}, media: {}, selector: {} };
    CSS_SRC.map(webpackPostcssTools.makeVarMap).forEach(function(map) {
        for (let name in CSS_MAPS) _.extend(CSS_MAPS[name], map[name]);
    });
    
    // CSS Next:
    const CSSNEXT_CONFIG = {
        features: {
            // pass in the variables and custom media we scanned for before
            customProperties: { variables: CSS_MAPS.vars },
            customMedia: { extensions: CSS_MAPS.media }
        },
        import: {
            path: ['resources/frontend_client/app/css']
        },
        compress: false
    };
    
    module.exports = {
        plugins: {
            'postcss-import': {},
            'postcss-url': {},
            'postcss-cssnext': CSSNEXT_CONFIG,
        }
    }