Files
2024-12-17 13:23:11 -08:00

29 lines
1.2 KiB
JavaScript

'use strict';
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var postcss = _interopDefault(require('postcss'));
var postcssAdvancedVariables = _interopDefault(require('postcss-advanced-variables'));
var postcssAtroot = _interopDefault(require('postcss-atroot'));
var postcssExtendRule = _interopDefault(require('postcss-extend-rule'));
var postcssNested = _interopDefault(require('postcss-nested'));
var postcssPresetEnv = _interopDefault(require('postcss-preset-env'));
var postcssPropertyLookup = _interopDefault(require('postcss-property-lookup'));
// tooling
const plugins = [postcssExtendRule, postcssAdvancedVariables, postcssPresetEnv, postcssAtroot, postcssPropertyLookup, postcssNested]; // plugin
var index = postcss.plugin('precss', rawopts => {
// initialize options, defaulting preset-env to stage 0 features
const opts = Object.assign({
stage: 0
}, rawopts); // initialize all plugins
const initializedPlugins = plugins.map(plugin => plugin(opts)); // process css with all plugins
return (root, result) => initializedPlugins.reduce((promise, plugin) => promise.then(() => plugin(result.root, result)), Promise.resolve());
});
module.exports = index;