UNPKG

@minko-fe/postcss-config

Version:
91 lines (86 loc) 2.84 kB
'use strict'; var lodashPro = require('@minko-fe/lodash-pro'); var module$1 = require('module'); var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null; // src/nextjs/index.ts var _require = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('out.js', document.baseURI).href))); var postcssConfig = (options, unPlugins2) => { if (options["postcss-import"] !== false) { unPlugins2("postcss-import"); } if (options["tailwindcss/nesting"] !== false) { unPlugins2("tailwindcss/nesting"); } { const { tailwindcss } = options; if (tailwindcss !== false) { const options2 = lodashPro.isObject(tailwindcss) ? tailwindcss : void 0; unPlugins2("tailwindcss", options2); } } { const { autoprefixer } = options; if (autoprefixer !== false) { unPlugins2("autoprefixer"); } } { const pxtorem = options["postcss-pxtorem"]; if (pxtorem) { unPlugins2("@minko-fe/postcss-pxtorem", options); } } { const pxtoviewport = options["postcss-pxtoviewport"]; if (pxtoviewport) { unPlugins2("@minko-fe/postcss-pxtoviewport", options); } } { const presetEnv = options["postcss-preset-env"]; if (presetEnv !== false) { const browserslist = _require("browserslist"); const defaultBrowserslist = browserslist.loadConfig({ path: "." }); const defaultOptions2 = { browsers: defaultBrowserslist || ["defaults"], features: { "nesting-rules": false, "custom-properties": false }, autoprefixer: { // Disable legacy flexbox support flexbox: "no-2009" }, // Enable CSS features that have shipped to the // web platform, i.e. in 2+ browsers unflagged. stage: 3 }; const _options = lodashPro.merge(defaultOptions2, lodashPro.isObject(presetEnv) ? presetEnv : {}); if (options["tailwindcss/nesting"] === false) { _options.features ??= {}; _options.features["nesting-rules"] = true; } unPlugins2("postcss-preset-env", _options); } } }; // src/nextjs/index.ts var defaultOptions = { "postcss-import": true, "tailwindcss/nesting": true, "tailwindcss": true, "postcss-pxtorem": false, "postcss-pxtoviewport": false, "autoprefixer": true, "postcss-preset-env": true }; var pluginsForNextjs = []; function unPlugins(pluginName, options) { pluginsForNextjs.push(options ? [pluginName, options] : pluginName); } function definePlugins(options) { options = lodashPro.merge(defaultOptions, options || {}); postcssConfig(options, unPlugins); return pluginsForNextjs; } exports.definePlugins = definePlugins;