postcss-preset-env 6.7.0 → 6.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +20 -4
- package/index.js.map +1 -1
- package/index.mjs +20 -4
- package/index.mjs.map +1 -1
- package/package.json +1 -2
- package/CHANGELOG.md +0 -280
package/index.js
CHANGED
|
@@ -298,9 +298,7 @@ function _writeExportsToMjsFile() {
|
|
|
298
298
|
}
|
|
299
299
|
|
|
300
300
|
function writeToExports(customExports, destinations) {
|
|
301
|
-
return Promise.all([].concat(destinations).map(
|
|
302
|
-
/*#__PURE__*/
|
|
303
|
-
function () {
|
|
301
|
+
return Promise.all([].concat(destinations).map( /*#__PURE__*/function () {
|
|
304
302
|
var _ref = _asyncToGenerator(function* (destination) {
|
|
305
303
|
if (destination instanceof Function) {
|
|
306
304
|
yield destination({
|
|
@@ -439,7 +437,25 @@ var postcss = postcss$1.plugin('postcss-preset-env', opts => {
|
|
|
439
437
|
ignoreUnknownVersions: true
|
|
440
438
|
}).some(polyfillBrowser => polyfillBrowser === supportedBrowser)));
|
|
441
439
|
return (root, result) => {
|
|
442
|
-
|
|
440
|
+
const majorVersion = parseInt(result.processor.version.split('.')[0]);
|
|
441
|
+
|
|
442
|
+
if (majorVersion > 7) {
|
|
443
|
+
console.log('');
|
|
444
|
+
console.log(`
|
|
445
|
+
┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
446
|
+
│ │
|
|
447
|
+
│ This version of postcss-preset-env is not optimised to work with PostCSS 8. │
|
|
448
|
+
│ Please update to version 7 of PostCSS Preset Env. │
|
|
449
|
+
│ │
|
|
450
|
+
│ If you find issues, you can report it at: │
|
|
451
|
+
│ https://github.com/csstools/postcss-plugins/issues/new/choose │
|
|
452
|
+
│ │
|
|
453
|
+
└─────────────────────────────────────────────────────────────────────────────────┘
|
|
454
|
+
`);
|
|
455
|
+
console.log('');
|
|
456
|
+
} // polyfills run in execution order
|
|
457
|
+
|
|
458
|
+
|
|
443
459
|
const polyfills = supportedFeatures.reduce((promise, feature) => promise.then(() => feature.plugin(result.root, result)), Promise.resolve()).then(() => stagedAutoprefixer(result.root, result)).then(() => {
|
|
444
460
|
if (Object(opts).exportTo) {
|
|
445
461
|
writeToExports(sharedOpts.exportTo, opts.exportTo);
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["src/patch/postcss-system-ui-font-family.js","src/lib/plugins-by-id.js","src/lib/get-transformed-insertions.js","src/lib/get-unsupported-browsers-by-feature.js","src/lib/ids-by-execution-order.js","src/lib/write-to-exports.js","src/postcss.js"],"sourcesContent":["import postcss from 'postcss';\n\nexport default postcss.plugin('postcss-system-ui-font', () => root => {\n\troot.walkDecls(propertyRegExp, decl => {\n\t\tdecl.value = decl.value.replace(systemUiMatch, systemUiReplace);\n\t});\n});\n\nconst propertyRegExp = /(?:^(?:-|\\\\002d){2})|(?:^font(?:-family)?$)/i;\nconst whitespace = '[\\\\f\\\\n\\\\r\\\\x09\\\\x20]';\nconst systemUiFamily = [\n\t'system-ui',\n\t/* macOS 10.11-10.12 */ '-apple-system',\n\t/* Windows 6+ */ 'Segoe UI',\n\t/* Android 4+ */ 'Roboto',\n\t/* Ubuntu 10.10+ */ 'Ubuntu',\n\t/* Gnome 3+ */ 'Cantarell',\n\t/* KDE Plasma 5+ */ 'Noto Sans',\n\t/* fallback */ 'sans-serif'\n];\nconst systemUiMatch = new RegExp(`(^|,|${whitespace}+)(?:system-ui${whitespace}*)(?:,${whitespace}*(?:${systemUiFamily.join('|')})${whitespace}*)?(,|$)`, 'i');\nconst systemUiReplace = `$1${systemUiFamily.join(', ')}$2`;\n","import postcssAttributeCaseInsensitive from 'postcss-attribute-case-insensitive';\nimport postcssBlankPseudo from 'css-blank-pseudo/postcss';\nimport postcssColorFunctionalNotation from 'postcss-color-functional-notation';\nimport postcssColorGray from 'postcss-color-gray';\nimport postcssColorHexAlpha from 'postcss-color-hex-alpha';\nimport postcssColorModFunction from 'postcss-color-mod-function';\nimport postcssColorRebeccapurple from 'postcss-color-rebeccapurple';\nimport postcssCustomMedia from 'postcss-custom-media';\nimport postcssCustomProperties from 'postcss-custom-properties';\nimport postcssCustomSelectors from 'postcss-custom-selectors';\nimport postcssDirPseudoClass from 'postcss-dir-pseudo-class';\nimport postcssDoublePositionGradients from 'postcss-double-position-gradients';\nimport postcssEnvFunction from 'postcss-env-function';\nimport postcssFocusVisible from 'postcss-focus-visible';\nimport postcssFocusWithin from 'postcss-focus-within';\nimport postcssFontVariant from 'postcss-font-variant';\nimport postcssFontFamilySystemUi from '../patch/postcss-system-ui-font-family';\nimport postcssGapProperties from 'postcss-gap-properties';\nimport postcssHasPseudo from 'css-has-pseudo/postcss';\nimport postcssImageSetPolyfill from 'postcss-image-set-function';\nimport postcssInitial from 'postcss-initial';\nimport postcssLabFunction from 'postcss-lab-function';\nimport postcssLogical from 'postcss-logical';\nimport postcssMediaMinmax from 'postcss-media-minmax';\nimport postcssNesting from 'postcss-nesting';\nimport postcssOverflowShorthand from 'postcss-overflow-shorthand';\nimport postcssPageBreak from 'postcss-page-break';\nimport postcssPlace from 'postcss-place';\nimport postcssPrefersColorScheme from 'css-prefers-color-scheme/postcss';\nimport postcssPseudoClassAnyLink from 'postcss-pseudo-class-any-link';\nimport postcssReplaceOverflowWrap from 'postcss-replace-overflow-wrap';\nimport postcssSelectorMatches from 'postcss-selector-matches';\nimport postcssSelectorNot from 'postcss-selector-not';\n\n// postcss plugins ordered by id\nexport default {\n\t'all-property': postcssInitial,\n\t'any-link-pseudo-class': postcssPseudoClassAnyLink,\n\t'blank-pseudo-class': postcssBlankPseudo,\n\t'break-properties': postcssPageBreak,\n\t'case-insensitive-attributes': postcssAttributeCaseInsensitive,\n\t'color-functional-notation': postcssColorFunctionalNotation,\n\t'color-mod-function': postcssColorModFunction,\n\t'custom-media-queries': postcssCustomMedia,\n\t'custom-properties': postcssCustomProperties,\n\t'custom-selectors': postcssCustomSelectors,\n\t'dir-pseudo-class': postcssDirPseudoClass,\n\t'double-position-gradients': postcssDoublePositionGradients,\n\t'environment-variables': postcssEnvFunction,\n\t'focus-visible-pseudo-class': postcssFocusVisible,\n\t'focus-within-pseudo-class': postcssFocusWithin,\n\t'font-variant-property': postcssFontVariant,\n\t'gap-properties': postcssGapProperties,\n\t'gray-function': postcssColorGray,\n\t'has-pseudo-class': postcssHasPseudo,\n\t'hexadecimal-alpha-notation': postcssColorHexAlpha,\n\t'image-set-function': postcssImageSetPolyfill,\n\t'lab-function': postcssLabFunction,\n\t'logical-properties-and-values': postcssLogical,\n\t'matches-pseudo-class': postcssSelectorMatches,\n\t'media-query-ranges': postcssMediaMinmax,\n\t'nesting-rules': postcssNesting,\n\t'not-pseudo-class': postcssSelectorNot,\n\t'overflow-property': postcssOverflowShorthand,\n\t'overflow-wrap-property': postcssReplaceOverflowWrap,\n\t'place-properties': postcssPlace,\n\t'prefers-color-scheme-query': postcssPrefersColorScheme,\n\t'rebeccapurple-color': postcssColorRebeccapurple,\n\t'system-ui-font-family': postcssFontFamilySystemUi\n};\n","// return a list of features to be inserted before or after cssdb features\nexport default function getTransformedInsertions(insertions, placement) {\n\treturn Object.keys(insertions).map(\n\t\tid => [].concat(insertions[id]).map(\n\t\t\tplugin => ({\n\t\t\t\t[placement]: true,\n\t\t\t\tplugin,\n\t\t\t\tid\n\t\t\t})\n\t\t)\n\t).reduce(\n\t\t(array, feature) => array.concat(feature), []\n\t);\n}\n","import * as caniuse from 'caniuse-lite';\n\n// return a list of browsers that do not support the feature\nexport default function getUnsupportedBrowsersByFeature(feature) {\n\tconst caniuseFeature = caniuse.features[feature];\n\n\t// if feature support can be determined\n\tif (caniuseFeature) {\n\t\tconst stats = caniuse.feature(caniuseFeature).stats;\n\n\t\t// return an array of browsers and versions that do not support the feature\n\t\tconst results = Object.keys(stats).reduce(\n\t\t\t(browsers, browser) => browsers.concat(\n\t\t\t\tObject.keys(stats[browser]).filter(\n\t\t\t\t\tversion => stats[browser][version].indexOf('y') !== 0\n\t\t\t\t).map(\n\t\t\t\t\tversion => `${browser} ${version}`\n\t\t\t\t)\n\t\t\t),\n\t\t\t[]\n\t\t);\n\n\t\treturn results;\n\t} else {\n\t\t// otherwise, return that the feature does not work in any browser\n\t\treturn [ '> 0%' ];\n\t}\n}\n","// ids ordered by required execution, then alphabetically\nexport default [\n\t'custom-media-queries',\n\t'custom-properties',\n\t'environment-variables', // run environment-variables here to access transpiled custom media params and properties\n\t'image-set-function', // run images-set-function before nesting-rules so that it may fix nested media\n\t'media-query-ranges', // run media-query-range and\n\t'prefers-color-scheme-query', // run prefers-color-scheme-query here to prevent duplicate transpilation after nesting-rules\n\t'nesting-rules',\n\t'custom-selectors', // run custom-selectors after nesting-rules to correctly transpile &:--custom-selector\n\t'any-link-pseudo-class',\n\t'case-insensitive-attributes',\n\t'focus-visible-pseudo-class',\n\t'focus-within-pseudo-class',\n\t'matches-pseudo-class', // run matches-pseudo-class and\n\t'not-pseudo-class', // run not-pseudo-class after other selectors have been transpiled\n\t'logical-properties-and-values', // run logical-properties-and-values before dir-pseudo-class\n\t'dir-pseudo-class',\n\t'all-property', // run all-property before other property polyfills\n\t'color-functional-notation',\n\t'double-position-gradients',\n\t'gray-function',\n\t'hexadecimal-alpha-notation',\n\t'lab-function',\n\t'rebeccapurple-color',\n\t'color-mod-function', // run color-mod after other color modifications have finished\n\t'blank-pseudo-class',\n\t'break-properties',\n\t'font-variant-property',\n\t'has-pseudo-class',\n\t'gap-properties',\n\t'overflow-property',\n\t'overflow-wrap-property',\n\t'place-properties',\n\t'system-ui-font-family'\n];\n","/* eslint max-params: [\"error\", 4] */\n\nimport fs from 'fs';\nimport path from 'path';\n\n/* Write Exports to CSS File\n/* ========================================================================== */\n\nfunction getCustomMediaAsCss(customMedia) {\n\tconst cssContent = Object.keys(customMedia).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-media ${name} ${customMedia[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomPropertiesAsCss(customProperties) {\n\tconst cssContent = Object.keys(customProperties).reduce((cssLines, name) => {\n\t\tcssLines.push(`\\t${name}: ${customProperties[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `:root {\\n${cssContent}\\n}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomSelectorsAsCss(customSelectors) {\n\tconst cssContent = Object.keys(customSelectors).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-selector ${name} ${customSelectors[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nasync function writeExportsToCssFile(to, customMedia, customProperties, customSelectors) {\n\tconst customPropertiesAsCss = getCustomPropertiesAsCss(customProperties);\n\tconst customMediaAsCss = getCustomMediaAsCss(customMedia);\n\tconst customSelectorsAsCss = getCustomSelectorsAsCss(customSelectors);\n\tconst css = `${customMediaAsCss}\\n${customSelectorsAsCss}\\n${customPropertiesAsCss}`;\n\n\tawait writeFile(to, css);\n}\n\n/* Write Exports to JSON file\n/* ========================================================================== */\n\nasync function writeExportsToJsonFile(to, customMedia, customProperties, customSelectors) {\n\tconst jsonContent = JSON.stringify({\n\t\t'custom-media': customMedia,\n\t\t'custom-properties': customProperties,\n\t\t'custom-selectors': customSelectors\n\t}, null, ' ');\n\tconst json = `${jsonContent}\\n`;\n\n\tawait writeFile(to, json);\n}\n\n/* Write Exports to Common JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsCjs(key, object) {\n\tconst jsContents = Object.keys(object).reduce((jsLines, name) => {\n\t\tjsLines.push(`\\t\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn jsLines;\n\t}, []).join(',\\n');\n\tconst cjs = `\\n\\t${key}: {\\n${jsContents}\\n\\t}`;\n\n\treturn cjs;\n}\n\nasync function writeExportsToCjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsCjs = getObjectWithKeyAsCjs('customMedia', customMedia);\n\tconst customPropertiesAsCjs = getObjectWithKeyAsCjs('customProperties', customProperties);\n\tconst customSelectorsAsCjs = getObjectWithKeyAsCjs('customSelectors', customSelectors);\n\tconst cjs = `module.exports = {${customMediaAsCjs},${customPropertiesAsCjs},${customSelectorsAsCjs}\\n};\\n`;\n\n\tawait writeFile(to, cjs);\n}\n\n/* Write Exports to Module JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsMjs(key, object) {\n\tconst mjsContents = Object.keys(object).reduce((mjsLines, name) => {\n\t\tmjsLines.push(`\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn mjsLines;\n\t}, []).join(',\\n');\n\tconst mjs = `export const ${key} = {\\n${mjsContents}\\n};\\n`;\n\n\treturn mjs;\n}\n\nasync function writeExportsToMjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsMjs = getObjectWithKeyAsMjs('customMedia', customMedia);\n\tconst customPropertiesAsMjs = getObjectWithKeyAsMjs('customProperties', customProperties);\n\tconst customSelectorsAsMjs = getObjectWithKeyAsMjs('customSelectors', customSelectors);\n\tconst mjs = `${customMediaAsMjs}\\n${customPropertiesAsMjs}\\n${customSelectorsAsMjs}`;\n\n\tawait writeFile(to, mjs);\n}\n\n/* Write Exports to Exports\n/* ========================================================================== */\n\nexport default function writeToExports(customExports, destinations) {\n\treturn Promise.all([].concat(destinations).map(async destination => {\n\t\tif (destination instanceof Function) {\n\t\t\tawait destination({\n\t\t\t\tcustomMedia: getObjectWithStringifiedKeys(customExports.customMedia),\n\t\t\t\tcustomProperties: getObjectWithStringifiedKeys(customExports.customProperties),\n\t\t\t\tcustomSelectors: getObjectWithStringifiedKeys(customExports.customSelectors)\n\t\t\t});\n\t\t} else {\n\t\t\t// read the destination as an object\n\t\t\tconst opts = destination === Object(destination) ? destination : { to: String(destination) };\n\n\t\t\t// transformer for Exports into a JSON-compatible object\n\t\t\tconst toJSON = opts.toJSON || getObjectWithStringifiedKeys;\n\n\t\t\tif ('customMedia' in opts || 'customProperties' in opts || 'customSelectors' in opts) {\n\t\t\t\t// write directly to an object as customProperties\n\t\t\t\topts.customMedia = toJSON(customExports.customMedia);\n\t\t\t\topts.customProperties = toJSON(customExports.customProperties);\n\t\t\t\topts.customSelectors = toJSON(customExports.customSelectors);\n\t\t\t} else if ('custom-media' in opts || 'custom-properties' in opts || 'custom-selectors' in opts) {\n\t\t\t\t// write directly to an object as custom-properties\n\t\t\t\topts['custom-media'] = toJSON(customExports.customMedia);\n\t\t\t\topts['custom-properties'] = toJSON(customExports.customProperties);\n\t\t\t\topts['custom-selectors'] = toJSON(customExports.customSelectors);\n\t\t\t} else {\n\t\t\t\t// destination pathname\n\t\t\t\tconst to = String(opts.to || '');\n\n\t\t\t\t// type of file being written to\n\t\t\t\tconst type = (opts.type || path.extname(opts.to).slice(1)).toLowerCase();\n\n\t\t\t\t// transformed Exports\n\t\t\t\tconst customMediaJSON = toJSON(customExports.customMedia);\n\t\t\t\tconst customPropertiesJSON = toJSON(customExports.customProperties);\n\t\t\t\tconst customSelectorsJSON = toJSON(customExports.customSelectors);\n\n\t\t\t\tif (type === 'css') {\n\t\t\t\t\tawait writeExportsToCssFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'js') {\n\t\t\t\t\tawait writeExportsToCjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tawait writeExportsToJsonFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'mjs') {\n\t\t\t\t\tawait writeExportsToMjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}));\n}\n\n/* Helper utilities\n/* ========================================================================== */\n\nfunction getObjectWithStringifiedKeys(object) {\n\treturn Object.keys(object).reduce((objectJSON, key) => {\n\t\tobjectJSON[key] = String(object[key]);\n\n\t\treturn objectJSON;\n\t}, {});\n}\n\nfunction writeFile(to, text) {\n\treturn new Promise((resolve, reject) => {\n\t\tfs.writeFile(to, text, error => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction escapeForJS(string) {\n\treturn string.replace(/\\\\([\\s\\S])|(')/g, '\\\\$1$2').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r');\n}\n","import autoprefixer from 'autoprefixer'\nimport browserslist from 'browserslist';\nimport cssdb from 'cssdb';\nimport postcss from 'postcss';\nimport plugins from './lib/plugins-by-id';\nimport getTransformedInsertions from './lib/get-transformed-insertions';\nimport getUnsupportedBrowsersByFeature from './lib/get-unsupported-browsers-by-feature';\nimport idsByExecutionOrder from './lib/ids-by-execution-order';\nimport writeToExports from './lib/write-to-exports';\n\nexport default postcss.plugin('postcss-preset-env', opts => {\n\t// initialize options\n\tconst features = Object(Object(opts).features);\n\tconst insertBefore = Object(Object(opts).insertBefore);\n\tconst insertAfter = Object(Object(opts).insertAfter);\n\tconst browsers = Object(opts).browsers;\n\tconst stage = 'stage' in Object(opts)\n\t\t? opts.stage === false\n\t\t\t? 5\n\t\t: parseInt(opts.stage) || 0\n\t: 2;\n\tconst autoprefixerOptions = Object(opts).autoprefixer;\n\tconst sharedOpts = initializeSharedOpts(Object(opts));\n\tconst stagedAutoprefixer = autoprefixerOptions === false\n\t\t? () => {}\n\t: autoprefixer(Object.assign({ overrideBrowserslist: browsers }, autoprefixerOptions));\n\n\t// polyfillable features (those with an available postcss plugin)\n\tconst polyfillableFeatures = cssdb.concat(\n\t\t// additional features to be inserted before cssdb features\n\t\tgetTransformedInsertions(insertBefore, 'insertBefore'),\n\t\t// additional features to be inserted after cssdb features\n\t\tgetTransformedInsertions(insertAfter, 'insertAfter')\n\t).filter(\n\t\t// inserted features or features with an available postcss plugin\n\t\tfeature => feature.insertBefore || feature.id in plugins\n\t).sort(\n\t\t// features sorted by execution order and then insertion order\n\t\t(a, b) => idsByExecutionOrder.indexOf(a.id) - idsByExecutionOrder.indexOf(b.id) || (a.insertBefore ? -1 : b.insertBefore ? 1 : 0) || (a.insertAfter ? 1 : b.insertAfter ? -1 : 0)\n\t).map(\n\t\t// polyfillable features as an object\n\t\tfeature => {\n\t\t\t// target browsers for the polyfill\n\t\t\tconst unsupportedBrowsers = getUnsupportedBrowsersByFeature(feature.caniuse);\n\n\t\t\treturn feature.insertBefore || feature.insertAfter ? {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: feature.plugin,\n\t\t\t\tid: `${feature.insertBefore ? 'before' : 'after'}-${feature.id}`,\n\t\t\t\tstage: 6\n\t\t\t} : {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: plugins[feature.id],\n\t\t\t\tid: feature.id,\n\t\t\t\tstage: feature.stage\n\t\t\t};\n\t\t}\n\t);\n\n\t// staged features (those at or above the selected stage)\n\tconst stagedFeatures = polyfillableFeatures.filter(\n\t\tfeature => feature.id in features\n\t\t\t? features[feature.id]\n\t\t: feature.stage >= stage\n\t).map(\n\t\tfeature => ({\n\t\t\tbrowsers: feature.browsers,\n\t\t\tplugin: typeof feature.plugin.process === 'function'\n\t\t\t\t? features[feature.id] === true\n\t\t\t\t\t? sharedOpts\n\t\t\t\t\t\t// if the plugin is enabled and has shared options\n\t\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts))\n\t\t\t\t\t// otherwise, if the plugin is enabled\n\t\t\t\t\t: feature.plugin()\n\t\t\t\t: sharedOpts\n\t\t\t\t\t// if the plugin has shared options and individual options\n\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts, features[feature.id]))\n\t\t\t\t// if the plugin has individual options\n\t\t\t\t: feature.plugin(Object.assign({}, features[feature.id]))\n\t\t\t// if the plugin is already initialized\n\t\t\t: feature.plugin,\n\t\t\tid: feature.id\n\t\t})\n\t);\n\n\t// browsers supported by the configuration\n\tconst supportedBrowsers = browserslist(browsers, { ignoreUnknownVersions: true });\n\n\t// features supported by the stage and browsers\n\tconst supportedFeatures = stagedFeatures.filter(\n\t\tfeature => supportedBrowsers.some(\n\t\t\tsupportedBrowser => browserslist(feature.browsers, {\n\t\t\t\tignoreUnknownVersions: true\n\t\t\t}).some(\n\t\t\t\tpolyfillBrowser => polyfillBrowser === supportedBrowser\n\t\t\t)\n\t\t)\n\t);\n\n\treturn (root, result) => {\n\t\t// polyfills run in execution order\n\t\tconst polyfills = supportedFeatures.reduce(\n\t\t\t(promise, feature) => promise.then(\n\t\t\t\t() => feature.plugin(result.root, result)\n\t\t\t),\n\t\t\tPromise.resolve()\n\t\t).then(\n\t\t\t() => stagedAutoprefixer(result.root, result)\n\t\t).then(\n\t\t\t() => {\n\t\t\t\tif (Object(opts).exportTo) {\n\t\t\t\t\twriteToExports(sharedOpts.exportTo, opts.exportTo);\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\treturn polyfills;\n\t};\n});\n\nconst initializeSharedOpts = opts => {\n\tif ('importFrom' in opts || 'exportTo' in opts || 'preserve' in opts) {\n\t\tconst sharedOpts = {};\n\n\t\tif ('importFrom' in opts) {\n\t\t\tsharedOpts.importFrom = opts.importFrom;\n\t\t}\n\n\t\tif ('exportTo' in opts) {\n\t\t\tsharedOpts.exportTo = {\n\t\t\t\tcustomMedia: {},\n\t\t\t\tcustomProperties: {},\n\t\t\t\tcustomSelectors: {},\n\t\t\t};\n\t\t}\n\n\t\tif ('preserve' in opts) {\n\t\t\tsharedOpts.preserve = opts.preserve;\n\t\t}\n\n\t\treturn sharedOpts;\n\t}\n\n\treturn false;\n};\n"],"names":["postcss","plugin","root","walkDecls","propertyRegExp","decl","value","replace","systemUiMatch","systemUiReplace","whitespace","systemUiFamily","RegExp","join","postcssInitial","postcssPseudoClassAnyLink","postcssBlankPseudo","postcssPageBreak","postcssAttributeCaseInsensitive","postcssColorFunctionalNotation","postcssColorModFunction","postcssCustomMedia","postcssCustomProperties","postcssCustomSelectors","postcssDirPseudoClass","postcssDoublePositionGradients","postcssEnvFunction","postcssFocusVisible","postcssFocusWithin","postcssFontVariant","postcssGapProperties","postcssColorGray","postcssHasPseudo","postcssColorHexAlpha","postcssImageSetPolyfill","postcssLabFunction","postcssLogical","postcssSelectorMatches","postcssMediaMinmax","postcssNesting","postcssSelectorNot","postcssOverflowShorthand","postcssReplaceOverflowWrap","postcssPlace","postcssPrefersColorScheme","postcssColorRebeccapurple","postcssFontFamilySystemUi","getTransformedInsertions","insertions","placement","Object","keys","map","id","concat","reduce","array","feature","getUnsupportedBrowsersByFeature","caniuseFeature","caniuse","stats","results","browsers","browser","filter","version","indexOf","getCustomMediaAsCss","customMedia","cssContent","cssLines","name","push","css","getCustomPropertiesAsCss","customProperties","getCustomSelectorsAsCss","customSelectors","writeExportsToCssFile","to","customPropertiesAsCss","customMediaAsCss","customSelectorsAsCss","writeFile","writeExportsToJsonFile","jsonContent","JSON","stringify","json","getObjectWithKeyAsCjs","key","object","jsContents","jsLines","escapeForJS","cjs","writeExportsToCjsFile","customMediaAsCjs","customPropertiesAsCjs","customSelectorsAsCjs","getObjectWithKeyAsMjs","mjsContents","mjsLines","mjs","writeExportsToMjsFile","customMediaAsMjs","customPropertiesAsMjs","customSelectorsAsMjs","writeToExports","customExports","destinations","Promise","all","destination","Function","getObjectWithStringifiedKeys","opts","String","toJSON","type","path","extname","slice","toLowerCase","customMediaJSON","customPropertiesJSON","customSelectorsJSON","objectJSON","text","resolve","reject","fs","error","string","features","insertBefore","insertAfter","stage","parseInt","autoprefixerOptions","autoprefixer","sharedOpts","initializeSharedOpts","stagedAutoprefixer","assign","overrideBrowserslist","polyfillableFeatures","cssdb","plugins","sort","a","b","idsByExecutionOrder","unsupportedBrowsers","stagedFeatures","process","supportedBrowsers","browserslist","ignoreUnknownVersions","supportedFeatures","some","supportedBrowser","polyfillBrowser","result","polyfills","promise","then","exportTo","importFrom","preserve"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["src/patch/postcss-system-ui-font-family.js","src/lib/plugins-by-id.js","src/lib/get-transformed-insertions.js","src/lib/get-unsupported-browsers-by-feature.js","src/lib/ids-by-execution-order.js","src/lib/write-to-exports.js","src/postcss.js"],"sourcesContent":["import postcss from 'postcss';\n\nexport default postcss.plugin('postcss-system-ui-font', () => root => {\n\troot.walkDecls(propertyRegExp, decl => {\n\t\tdecl.value = decl.value.replace(systemUiMatch, systemUiReplace);\n\t});\n});\n\nconst propertyRegExp = /(?:^(?:-|\\\\002d){2})|(?:^font(?:-family)?$)/i;\nconst whitespace = '[\\\\f\\\\n\\\\r\\\\x09\\\\x20]';\nconst systemUiFamily = [\n\t'system-ui',\n\t/* macOS 10.11-10.12 */ '-apple-system',\n\t/* Windows 6+ */ 'Segoe UI',\n\t/* Android 4+ */ 'Roboto',\n\t/* Ubuntu 10.10+ */ 'Ubuntu',\n\t/* Gnome 3+ */ 'Cantarell',\n\t/* KDE Plasma 5+ */ 'Noto Sans',\n\t/* fallback */ 'sans-serif'\n];\nconst systemUiMatch = new RegExp(`(^|,|${whitespace}+)(?:system-ui${whitespace}*)(?:,${whitespace}*(?:${systemUiFamily.join('|')})${whitespace}*)?(,|$)`, 'i');\nconst systemUiReplace = `$1${systemUiFamily.join(', ')}$2`;\n","import postcssAttributeCaseInsensitive from 'postcss-attribute-case-insensitive';\nimport postcssBlankPseudo from 'css-blank-pseudo/postcss';\nimport postcssColorFunctionalNotation from 'postcss-color-functional-notation';\nimport postcssColorGray from 'postcss-color-gray';\nimport postcssColorHexAlpha from 'postcss-color-hex-alpha';\nimport postcssColorModFunction from 'postcss-color-mod-function';\nimport postcssColorRebeccapurple from 'postcss-color-rebeccapurple';\nimport postcssCustomMedia from 'postcss-custom-media';\nimport postcssCustomProperties from 'postcss-custom-properties';\nimport postcssCustomSelectors from 'postcss-custom-selectors';\nimport postcssDirPseudoClass from 'postcss-dir-pseudo-class';\nimport postcssDoublePositionGradients from 'postcss-double-position-gradients';\nimport postcssEnvFunction from 'postcss-env-function';\nimport postcssFocusVisible from 'postcss-focus-visible';\nimport postcssFocusWithin from 'postcss-focus-within';\nimport postcssFontVariant from 'postcss-font-variant';\nimport postcssFontFamilySystemUi from '../patch/postcss-system-ui-font-family';\nimport postcssGapProperties from 'postcss-gap-properties';\nimport postcssHasPseudo from 'css-has-pseudo/postcss';\nimport postcssImageSetPolyfill from 'postcss-image-set-function';\nimport postcssInitial from 'postcss-initial';\nimport postcssLabFunction from 'postcss-lab-function';\nimport postcssLogical from 'postcss-logical';\nimport postcssMediaMinmax from 'postcss-media-minmax';\nimport postcssNesting from 'postcss-nesting';\nimport postcssOverflowShorthand from 'postcss-overflow-shorthand';\nimport postcssPageBreak from 'postcss-page-break';\nimport postcssPlace from 'postcss-place';\nimport postcssPrefersColorScheme from 'css-prefers-color-scheme/postcss';\nimport postcssPseudoClassAnyLink from 'postcss-pseudo-class-any-link';\nimport postcssReplaceOverflowWrap from 'postcss-replace-overflow-wrap';\nimport postcssSelectorMatches from 'postcss-selector-matches';\nimport postcssSelectorNot from 'postcss-selector-not';\n\n// postcss plugins ordered by id\nexport default {\n\t'all-property': postcssInitial,\n\t'any-link-pseudo-class': postcssPseudoClassAnyLink,\n\t'blank-pseudo-class': postcssBlankPseudo,\n\t'break-properties': postcssPageBreak,\n\t'case-insensitive-attributes': postcssAttributeCaseInsensitive,\n\t'color-functional-notation': postcssColorFunctionalNotation,\n\t'color-mod-function': postcssColorModFunction,\n\t'custom-media-queries': postcssCustomMedia,\n\t'custom-properties': postcssCustomProperties,\n\t'custom-selectors': postcssCustomSelectors,\n\t'dir-pseudo-class': postcssDirPseudoClass,\n\t'double-position-gradients': postcssDoublePositionGradients,\n\t'environment-variables': postcssEnvFunction,\n\t'focus-visible-pseudo-class': postcssFocusVisible,\n\t'focus-within-pseudo-class': postcssFocusWithin,\n\t'font-variant-property': postcssFontVariant,\n\t'gap-properties': postcssGapProperties,\n\t'gray-function': postcssColorGray,\n\t'has-pseudo-class': postcssHasPseudo,\n\t'hexadecimal-alpha-notation': postcssColorHexAlpha,\n\t'image-set-function': postcssImageSetPolyfill,\n\t'lab-function': postcssLabFunction,\n\t'logical-properties-and-values': postcssLogical,\n\t'matches-pseudo-class': postcssSelectorMatches,\n\t'media-query-ranges': postcssMediaMinmax,\n\t'nesting-rules': postcssNesting,\n\t'not-pseudo-class': postcssSelectorNot,\n\t'overflow-property': postcssOverflowShorthand,\n\t'overflow-wrap-property': postcssReplaceOverflowWrap,\n\t'place-properties': postcssPlace,\n\t'prefers-color-scheme-query': postcssPrefersColorScheme,\n\t'rebeccapurple-color': postcssColorRebeccapurple,\n\t'system-ui-font-family': postcssFontFamilySystemUi\n};\n","// return a list of features to be inserted before or after cssdb features\nexport default function getTransformedInsertions(insertions, placement) {\n\treturn Object.keys(insertions).map(\n\t\tid => [].concat(insertions[id]).map(\n\t\t\tplugin => ({\n\t\t\t\t[placement]: true,\n\t\t\t\tplugin,\n\t\t\t\tid\n\t\t\t})\n\t\t)\n\t).reduce(\n\t\t(array, feature) => array.concat(feature), []\n\t);\n}\n","import * as caniuse from 'caniuse-lite';\n\n// return a list of browsers that do not support the feature\nexport default function getUnsupportedBrowsersByFeature(feature) {\n\tconst caniuseFeature = caniuse.features[feature];\n\n\t// if feature support can be determined\n\tif (caniuseFeature) {\n\t\tconst stats = caniuse.feature(caniuseFeature).stats;\n\n\t\t// return an array of browsers and versions that do not support the feature\n\t\tconst results = Object.keys(stats).reduce(\n\t\t\t(browsers, browser) => browsers.concat(\n\t\t\t\tObject.keys(stats[browser]).filter(\n\t\t\t\t\tversion => stats[browser][version].indexOf('y') !== 0\n\t\t\t\t).map(\n\t\t\t\t\tversion => `${browser} ${version}`\n\t\t\t\t)\n\t\t\t),\n\t\t\t[]\n\t\t);\n\n\t\treturn results;\n\t} else {\n\t\t// otherwise, return that the feature does not work in any browser\n\t\treturn [ '> 0%' ];\n\t}\n}\n","// ids ordered by required execution, then alphabetically\nexport default [\n\t'custom-media-queries',\n\t'custom-properties',\n\t'environment-variables', // run environment-variables here to access transpiled custom media params and properties\n\t'image-set-function', // run images-set-function before nesting-rules so that it may fix nested media\n\t'media-query-ranges', // run media-query-range and\n\t'prefers-color-scheme-query', // run prefers-color-scheme-query here to prevent duplicate transpilation after nesting-rules\n\t'nesting-rules',\n\t'custom-selectors', // run custom-selectors after nesting-rules to correctly transpile &:--custom-selector\n\t'any-link-pseudo-class',\n\t'case-insensitive-attributes',\n\t'focus-visible-pseudo-class',\n\t'focus-within-pseudo-class',\n\t'matches-pseudo-class', // run matches-pseudo-class and\n\t'not-pseudo-class', // run not-pseudo-class after other selectors have been transpiled\n\t'logical-properties-and-values', // run logical-properties-and-values before dir-pseudo-class\n\t'dir-pseudo-class',\n\t'all-property', // run all-property before other property polyfills\n\t'color-functional-notation',\n\t'double-position-gradients',\n\t'gray-function',\n\t'hexadecimal-alpha-notation',\n\t'lab-function',\n\t'rebeccapurple-color',\n\t'color-mod-function', // run color-mod after other color modifications have finished\n\t'blank-pseudo-class',\n\t'break-properties',\n\t'font-variant-property',\n\t'has-pseudo-class',\n\t'gap-properties',\n\t'overflow-property',\n\t'overflow-wrap-property',\n\t'place-properties',\n\t'system-ui-font-family'\n];\n","/* eslint max-params: [\"error\", 4] */\n\nimport fs from 'fs';\nimport path from 'path';\n\n/* Write Exports to CSS File\n/* ========================================================================== */\n\nfunction getCustomMediaAsCss(customMedia) {\n\tconst cssContent = Object.keys(customMedia).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-media ${name} ${customMedia[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomPropertiesAsCss(customProperties) {\n\tconst cssContent = Object.keys(customProperties).reduce((cssLines, name) => {\n\t\tcssLines.push(`\\t${name}: ${customProperties[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `:root {\\n${cssContent}\\n}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomSelectorsAsCss(customSelectors) {\n\tconst cssContent = Object.keys(customSelectors).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-selector ${name} ${customSelectors[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nasync function writeExportsToCssFile(to, customMedia, customProperties, customSelectors) {\n\tconst customPropertiesAsCss = getCustomPropertiesAsCss(customProperties);\n\tconst customMediaAsCss = getCustomMediaAsCss(customMedia);\n\tconst customSelectorsAsCss = getCustomSelectorsAsCss(customSelectors);\n\tconst css = `${customMediaAsCss}\\n${customSelectorsAsCss}\\n${customPropertiesAsCss}`;\n\n\tawait writeFile(to, css);\n}\n\n/* Write Exports to JSON file\n/* ========================================================================== */\n\nasync function writeExportsToJsonFile(to, customMedia, customProperties, customSelectors) {\n\tconst jsonContent = JSON.stringify({\n\t\t'custom-media': customMedia,\n\t\t'custom-properties': customProperties,\n\t\t'custom-selectors': customSelectors\n\t}, null, ' ');\n\tconst json = `${jsonContent}\\n`;\n\n\tawait writeFile(to, json);\n}\n\n/* Write Exports to Common JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsCjs(key, object) {\n\tconst jsContents = Object.keys(object).reduce((jsLines, name) => {\n\t\tjsLines.push(`\\t\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn jsLines;\n\t}, []).join(',\\n');\n\tconst cjs = `\\n\\t${key}: {\\n${jsContents}\\n\\t}`;\n\n\treturn cjs;\n}\n\nasync function writeExportsToCjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsCjs = getObjectWithKeyAsCjs('customMedia', customMedia);\n\tconst customPropertiesAsCjs = getObjectWithKeyAsCjs('customProperties', customProperties);\n\tconst customSelectorsAsCjs = getObjectWithKeyAsCjs('customSelectors', customSelectors);\n\tconst cjs = `module.exports = {${customMediaAsCjs},${customPropertiesAsCjs},${customSelectorsAsCjs}\\n};\\n`;\n\n\tawait writeFile(to, cjs);\n}\n\n/* Write Exports to Module JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsMjs(key, object) {\n\tconst mjsContents = Object.keys(object).reduce((mjsLines, name) => {\n\t\tmjsLines.push(`\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn mjsLines;\n\t}, []).join(',\\n');\n\tconst mjs = `export const ${key} = {\\n${mjsContents}\\n};\\n`;\n\n\treturn mjs;\n}\n\nasync function writeExportsToMjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsMjs = getObjectWithKeyAsMjs('customMedia', customMedia);\n\tconst customPropertiesAsMjs = getObjectWithKeyAsMjs('customProperties', customProperties);\n\tconst customSelectorsAsMjs = getObjectWithKeyAsMjs('customSelectors', customSelectors);\n\tconst mjs = `${customMediaAsMjs}\\n${customPropertiesAsMjs}\\n${customSelectorsAsMjs}`;\n\n\tawait writeFile(to, mjs);\n}\n\n/* Write Exports to Exports\n/* ========================================================================== */\n\nexport default function writeToExports(customExports, destinations) {\n\treturn Promise.all([].concat(destinations).map(async destination => {\n\t\tif (destination instanceof Function) {\n\t\t\tawait destination({\n\t\t\t\tcustomMedia: getObjectWithStringifiedKeys(customExports.customMedia),\n\t\t\t\tcustomProperties: getObjectWithStringifiedKeys(customExports.customProperties),\n\t\t\t\tcustomSelectors: getObjectWithStringifiedKeys(customExports.customSelectors)\n\t\t\t});\n\t\t} else {\n\t\t\t// read the destination as an object\n\t\t\tconst opts = destination === Object(destination) ? destination : { to: String(destination) };\n\n\t\t\t// transformer for Exports into a JSON-compatible object\n\t\t\tconst toJSON = opts.toJSON || getObjectWithStringifiedKeys;\n\n\t\t\tif ('customMedia' in opts || 'customProperties' in opts || 'customSelectors' in opts) {\n\t\t\t\t// write directly to an object as customProperties\n\t\t\t\topts.customMedia = toJSON(customExports.customMedia);\n\t\t\t\topts.customProperties = toJSON(customExports.customProperties);\n\t\t\t\topts.customSelectors = toJSON(customExports.customSelectors);\n\t\t\t} else if ('custom-media' in opts || 'custom-properties' in opts || 'custom-selectors' in opts) {\n\t\t\t\t// write directly to an object as custom-properties\n\t\t\t\topts['custom-media'] = toJSON(customExports.customMedia);\n\t\t\t\topts['custom-properties'] = toJSON(customExports.customProperties);\n\t\t\t\topts['custom-selectors'] = toJSON(customExports.customSelectors);\n\t\t\t} else {\n\t\t\t\t// destination pathname\n\t\t\t\tconst to = String(opts.to || '');\n\n\t\t\t\t// type of file being written to\n\t\t\t\tconst type = (opts.type || path.extname(opts.to).slice(1)).toLowerCase();\n\n\t\t\t\t// transformed Exports\n\t\t\t\tconst customMediaJSON = toJSON(customExports.customMedia);\n\t\t\t\tconst customPropertiesJSON = toJSON(customExports.customProperties);\n\t\t\t\tconst customSelectorsJSON = toJSON(customExports.customSelectors);\n\n\t\t\t\tif (type === 'css') {\n\t\t\t\t\tawait writeExportsToCssFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'js') {\n\t\t\t\t\tawait writeExportsToCjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tawait writeExportsToJsonFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'mjs') {\n\t\t\t\t\tawait writeExportsToMjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}));\n}\n\n/* Helper utilities\n/* ========================================================================== */\n\nfunction getObjectWithStringifiedKeys(object) {\n\treturn Object.keys(object).reduce((objectJSON, key) => {\n\t\tobjectJSON[key] = String(object[key]);\n\n\t\treturn objectJSON;\n\t}, {});\n}\n\nfunction writeFile(to, text) {\n\treturn new Promise((resolve, reject) => {\n\t\tfs.writeFile(to, text, error => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction escapeForJS(string) {\n\treturn string.replace(/\\\\([\\s\\S])|(')/g, '\\\\$1$2').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r');\n}\n","import autoprefixer from 'autoprefixer'\nimport browserslist from 'browserslist';\nimport cssdb from 'cssdb';\nimport postcss from 'postcss';\nimport plugins from './lib/plugins-by-id';\nimport getTransformedInsertions from './lib/get-transformed-insertions';\nimport getUnsupportedBrowsersByFeature from './lib/get-unsupported-browsers-by-feature';\nimport idsByExecutionOrder from './lib/ids-by-execution-order';\nimport writeToExports from './lib/write-to-exports';\n\nexport default postcss.plugin('postcss-preset-env', opts => {\n\t// initialize options\n\tconst features = Object(Object(opts).features);\n\tconst insertBefore = Object(Object(opts).insertBefore);\n\tconst insertAfter = Object(Object(opts).insertAfter);\n\tconst browsers = Object(opts).browsers;\n\tconst stage = 'stage' in Object(opts)\n\t\t? opts.stage === false\n\t\t\t? 5\n\t\t: parseInt(opts.stage) || 0\n\t: 2;\n\tconst autoprefixerOptions = Object(opts).autoprefixer;\n\tconst sharedOpts = initializeSharedOpts(Object(opts));\n\tconst stagedAutoprefixer = autoprefixerOptions === false\n\t\t? () => {}\n\t: autoprefixer(Object.assign({ overrideBrowserslist: browsers }, autoprefixerOptions));\n\n\t// polyfillable features (those with an available postcss plugin)\n\tconst polyfillableFeatures = cssdb.concat(\n\t\t// additional features to be inserted before cssdb features\n\t\tgetTransformedInsertions(insertBefore, 'insertBefore'),\n\t\t// additional features to be inserted after cssdb features\n\t\tgetTransformedInsertions(insertAfter, 'insertAfter')\n\t).filter(\n\t\t// inserted features or features with an available postcss plugin\n\t\tfeature => feature.insertBefore || feature.id in plugins\n\t).sort(\n\t\t// features sorted by execution order and then insertion order\n\t\t(a, b) => idsByExecutionOrder.indexOf(a.id) - idsByExecutionOrder.indexOf(b.id) || (a.insertBefore ? -1 : b.insertBefore ? 1 : 0) || (a.insertAfter ? 1 : b.insertAfter ? -1 : 0)\n\t).map(\n\t\t// polyfillable features as an object\n\t\tfeature => {\n\t\t\t// target browsers for the polyfill\n\t\t\tconst unsupportedBrowsers = getUnsupportedBrowsersByFeature(feature.caniuse);\n\n\t\t\treturn feature.insertBefore || feature.insertAfter ? {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: feature.plugin,\n\t\t\t\tid: `${feature.insertBefore ? 'before' : 'after'}-${feature.id}`,\n\t\t\t\tstage: 6\n\t\t\t} : {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: plugins[feature.id],\n\t\t\t\tid: feature.id,\n\t\t\t\tstage: feature.stage\n\t\t\t};\n\t\t}\n\t);\n\n\t// staged features (those at or above the selected stage)\n\tconst stagedFeatures = polyfillableFeatures.filter(\n\t\tfeature => feature.id in features\n\t\t\t? features[feature.id]\n\t\t: feature.stage >= stage\n\t).map(\n\t\tfeature => ({\n\t\t\tbrowsers: feature.browsers,\n\t\t\tplugin: typeof feature.plugin.process === 'function'\n\t\t\t\t? features[feature.id] === true\n\t\t\t\t\t? sharedOpts\n\t\t\t\t\t\t// if the plugin is enabled and has shared options\n\t\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts))\n\t\t\t\t\t// otherwise, if the plugin is enabled\n\t\t\t\t\t: feature.plugin()\n\t\t\t\t: sharedOpts\n\t\t\t\t\t// if the plugin has shared options and individual options\n\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts, features[feature.id]))\n\t\t\t\t// if the plugin has individual options\n\t\t\t\t: feature.plugin(Object.assign({}, features[feature.id]))\n\t\t\t// if the plugin is already initialized\n\t\t\t: feature.plugin,\n\t\t\tid: feature.id\n\t\t})\n\t);\n\n\t// browsers supported by the configuration\n\tconst supportedBrowsers = browserslist(browsers, { ignoreUnknownVersions: true });\n\n\t// features supported by the stage and browsers\n\tconst supportedFeatures = stagedFeatures.filter(\n\t\tfeature => supportedBrowsers.some(\n\t\t\tsupportedBrowser => browserslist(feature.browsers, {\n\t\t\t\tignoreUnknownVersions: true\n\t\t\t}).some(\n\t\t\t\tpolyfillBrowser => polyfillBrowser === supportedBrowser\n\t\t\t)\n\t\t)\n\t);\n\n\treturn (root, result) => {\n\t\tconst majorVersion = parseInt(result.processor.version.split('.')[0]);\n\t\tif (majorVersion > 7) {\n\t\t\tconsole.log('');\n\t\t\tconsole.log(`\n┌─────────────────────────────────────────────────────────────────────────────────┐\n│ │\n│ This version of postcss-preset-env is not optimised to work with PostCSS 8. │\n│ Please update to version 7 of PostCSS Preset Env. │\n│ │\n│ If you find issues, you can report it at: │\n│ https://github.com/csstools/postcss-plugins/issues/new/choose │\n│ │\n└─────────────────────────────────────────────────────────────────────────────────┘\n\t\t\t`);\n\t\t\tconsole.log('');\n\t\t}\n\n\t\t// polyfills run in execution order\n\t\tconst polyfills = supportedFeatures.reduce(\n\t\t\t(promise, feature) => promise.then(\n\t\t\t\t() => feature.plugin(result.root, result)\n\t\t\t),\n\t\t\tPromise.resolve()\n\t\t).then(\n\t\t\t() => stagedAutoprefixer(result.root, result)\n\t\t).then(\n\t\t\t() => {\n\t\t\t\tif (Object(opts).exportTo) {\n\t\t\t\t\twriteToExports(sharedOpts.exportTo, opts.exportTo);\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\treturn polyfills;\n\t};\n});\n\nconst initializeSharedOpts = opts => {\n\tif ('importFrom' in opts || 'exportTo' in opts || 'preserve' in opts) {\n\t\tconst sharedOpts = {};\n\n\t\tif ('importFrom' in opts) {\n\t\t\tsharedOpts.importFrom = opts.importFrom;\n\t\t}\n\n\t\tif ('exportTo' in opts) {\n\t\t\tsharedOpts.exportTo = {\n\t\t\t\tcustomMedia: {},\n\t\t\t\tcustomProperties: {},\n\t\t\t\tcustomSelectors: {},\n\t\t\t};\n\t\t}\n\n\t\tif ('preserve' in opts) {\n\t\t\tsharedOpts.preserve = opts.preserve;\n\t\t}\n\n\t\treturn sharedOpts;\n\t}\n\n\treturn false;\n};\n"],"names":["postcss","plugin","root","walkDecls","propertyRegExp","decl","value","replace","systemUiMatch","systemUiReplace","whitespace","systemUiFamily","RegExp","join","postcssInitial","postcssPseudoClassAnyLink","postcssBlankPseudo","postcssPageBreak","postcssAttributeCaseInsensitive","postcssColorFunctionalNotation","postcssColorModFunction","postcssCustomMedia","postcssCustomProperties","postcssCustomSelectors","postcssDirPseudoClass","postcssDoublePositionGradients","postcssEnvFunction","postcssFocusVisible","postcssFocusWithin","postcssFontVariant","postcssGapProperties","postcssColorGray","postcssHasPseudo","postcssColorHexAlpha","postcssImageSetPolyfill","postcssLabFunction","postcssLogical","postcssSelectorMatches","postcssMediaMinmax","postcssNesting","postcssSelectorNot","postcssOverflowShorthand","postcssReplaceOverflowWrap","postcssPlace","postcssPrefersColorScheme","postcssColorRebeccapurple","postcssFontFamilySystemUi","getTransformedInsertions","insertions","placement","Object","keys","map","id","concat","reduce","array","feature","getUnsupportedBrowsersByFeature","caniuseFeature","caniuse","stats","results","browsers","browser","filter","version","indexOf","getCustomMediaAsCss","customMedia","cssContent","cssLines","name","push","css","getCustomPropertiesAsCss","customProperties","getCustomSelectorsAsCss","customSelectors","writeExportsToCssFile","to","customPropertiesAsCss","customMediaAsCss","customSelectorsAsCss","writeFile","writeExportsToJsonFile","jsonContent","JSON","stringify","json","getObjectWithKeyAsCjs","key","object","jsContents","jsLines","escapeForJS","cjs","writeExportsToCjsFile","customMediaAsCjs","customPropertiesAsCjs","customSelectorsAsCjs","getObjectWithKeyAsMjs","mjsContents","mjsLines","mjs","writeExportsToMjsFile","customMediaAsMjs","customPropertiesAsMjs","customSelectorsAsMjs","writeToExports","customExports","destinations","Promise","all","destination","Function","getObjectWithStringifiedKeys","opts","String","toJSON","type","path","extname","slice","toLowerCase","customMediaJSON","customPropertiesJSON","customSelectorsJSON","objectJSON","text","resolve","reject","fs","error","string","features","insertBefore","insertAfter","stage","parseInt","autoprefixerOptions","autoprefixer","sharedOpts","initializeSharedOpts","stagedAutoprefixer","assign","overrideBrowserslist","polyfillableFeatures","cssdb","plugins","sort","a","b","idsByExecutionOrder","unsupportedBrowsers","stagedFeatures","process","supportedBrowsers","browserslist","ignoreUnknownVersions","supportedFeatures","some","supportedBrowser","polyfillBrowser","result","majorVersion","processor","split","console","log","polyfills","promise","then","exportTo","importFrom","preserve"],"mappings":"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"}
|
package/index.mjs
CHANGED
|
@@ -294,9 +294,7 @@ function _writeExportsToMjsFile() {
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
function writeToExports(customExports, destinations) {
|
|
297
|
-
return Promise.all([].concat(destinations).map(
|
|
298
|
-
/*#__PURE__*/
|
|
299
|
-
function () {
|
|
297
|
+
return Promise.all([].concat(destinations).map( /*#__PURE__*/function () {
|
|
300
298
|
var _ref = _asyncToGenerator(function* (destination) {
|
|
301
299
|
if (destination instanceof Function) {
|
|
302
300
|
yield destination({
|
|
@@ -435,7 +433,25 @@ var postcss = postcss$1.plugin('postcss-preset-env', opts => {
|
|
|
435
433
|
ignoreUnknownVersions: true
|
|
436
434
|
}).some(polyfillBrowser => polyfillBrowser === supportedBrowser)));
|
|
437
435
|
return (root, result) => {
|
|
438
|
-
|
|
436
|
+
const majorVersion = parseInt(result.processor.version.split('.')[0]);
|
|
437
|
+
|
|
438
|
+
if (majorVersion > 7) {
|
|
439
|
+
console.log('');
|
|
440
|
+
console.log(`
|
|
441
|
+
┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
442
|
+
│ │
|
|
443
|
+
│ This version of postcss-preset-env is not optimised to work with PostCSS 8. │
|
|
444
|
+
│ Please update to version 7 of PostCSS Preset Env. │
|
|
445
|
+
│ │
|
|
446
|
+
│ If you find issues, you can report it at: │
|
|
447
|
+
│ https://github.com/csstools/postcss-plugins/issues/new/choose │
|
|
448
|
+
│ │
|
|
449
|
+
└─────────────────────────────────────────────────────────────────────────────────┘
|
|
450
|
+
`);
|
|
451
|
+
console.log('');
|
|
452
|
+
} // polyfills run in execution order
|
|
453
|
+
|
|
454
|
+
|
|
439
455
|
const polyfills = supportedFeatures.reduce((promise, feature) => promise.then(() => feature.plugin(result.root, result)), Promise.resolve()).then(() => stagedAutoprefixer(result.root, result)).then(() => {
|
|
440
456
|
if (Object(opts).exportTo) {
|
|
441
457
|
writeToExports(sharedOpts.exportTo, opts.exportTo);
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["src/patch/postcss-system-ui-font-family.js","src/lib/plugins-by-id.js","src/lib/get-transformed-insertions.js","src/lib/get-unsupported-browsers-by-feature.js","src/lib/ids-by-execution-order.js","src/lib/write-to-exports.js","src/postcss.js"],"sourcesContent":["import postcss from 'postcss';\n\nexport default postcss.plugin('postcss-system-ui-font', () => root => {\n\troot.walkDecls(propertyRegExp, decl => {\n\t\tdecl.value = decl.value.replace(systemUiMatch, systemUiReplace);\n\t});\n});\n\nconst propertyRegExp = /(?:^(?:-|\\\\002d){2})|(?:^font(?:-family)?$)/i;\nconst whitespace = '[\\\\f\\\\n\\\\r\\\\x09\\\\x20]';\nconst systemUiFamily = [\n\t'system-ui',\n\t/* macOS 10.11-10.12 */ '-apple-system',\n\t/* Windows 6+ */ 'Segoe UI',\n\t/* Android 4+ */ 'Roboto',\n\t/* Ubuntu 10.10+ */ 'Ubuntu',\n\t/* Gnome 3+ */ 'Cantarell',\n\t/* KDE Plasma 5+ */ 'Noto Sans',\n\t/* fallback */ 'sans-serif'\n];\nconst systemUiMatch = new RegExp(`(^|,|${whitespace}+)(?:system-ui${whitespace}*)(?:,${whitespace}*(?:${systemUiFamily.join('|')})${whitespace}*)?(,|$)`, 'i');\nconst systemUiReplace = `$1${systemUiFamily.join(', ')}$2`;\n","import postcssAttributeCaseInsensitive from 'postcss-attribute-case-insensitive';\nimport postcssBlankPseudo from 'css-blank-pseudo/postcss';\nimport postcssColorFunctionalNotation from 'postcss-color-functional-notation';\nimport postcssColorGray from 'postcss-color-gray';\nimport postcssColorHexAlpha from 'postcss-color-hex-alpha';\nimport postcssColorModFunction from 'postcss-color-mod-function';\nimport postcssColorRebeccapurple from 'postcss-color-rebeccapurple';\nimport postcssCustomMedia from 'postcss-custom-media';\nimport postcssCustomProperties from 'postcss-custom-properties';\nimport postcssCustomSelectors from 'postcss-custom-selectors';\nimport postcssDirPseudoClass from 'postcss-dir-pseudo-class';\nimport postcssDoublePositionGradients from 'postcss-double-position-gradients';\nimport postcssEnvFunction from 'postcss-env-function';\nimport postcssFocusVisible from 'postcss-focus-visible';\nimport postcssFocusWithin from 'postcss-focus-within';\nimport postcssFontVariant from 'postcss-font-variant';\nimport postcssFontFamilySystemUi from '../patch/postcss-system-ui-font-family';\nimport postcssGapProperties from 'postcss-gap-properties';\nimport postcssHasPseudo from 'css-has-pseudo/postcss';\nimport postcssImageSetPolyfill from 'postcss-image-set-function';\nimport postcssInitial from 'postcss-initial';\nimport postcssLabFunction from 'postcss-lab-function';\nimport postcssLogical from 'postcss-logical';\nimport postcssMediaMinmax from 'postcss-media-minmax';\nimport postcssNesting from 'postcss-nesting';\nimport postcssOverflowShorthand from 'postcss-overflow-shorthand';\nimport postcssPageBreak from 'postcss-page-break';\nimport postcssPlace from 'postcss-place';\nimport postcssPrefersColorScheme from 'css-prefers-color-scheme/postcss';\nimport postcssPseudoClassAnyLink from 'postcss-pseudo-class-any-link';\nimport postcssReplaceOverflowWrap from 'postcss-replace-overflow-wrap';\nimport postcssSelectorMatches from 'postcss-selector-matches';\nimport postcssSelectorNot from 'postcss-selector-not';\n\n// postcss plugins ordered by id\nexport default {\n\t'all-property': postcssInitial,\n\t'any-link-pseudo-class': postcssPseudoClassAnyLink,\n\t'blank-pseudo-class': postcssBlankPseudo,\n\t'break-properties': postcssPageBreak,\n\t'case-insensitive-attributes': postcssAttributeCaseInsensitive,\n\t'color-functional-notation': postcssColorFunctionalNotation,\n\t'color-mod-function': postcssColorModFunction,\n\t'custom-media-queries': postcssCustomMedia,\n\t'custom-properties': postcssCustomProperties,\n\t'custom-selectors': postcssCustomSelectors,\n\t'dir-pseudo-class': postcssDirPseudoClass,\n\t'double-position-gradients': postcssDoublePositionGradients,\n\t'environment-variables': postcssEnvFunction,\n\t'focus-visible-pseudo-class': postcssFocusVisible,\n\t'focus-within-pseudo-class': postcssFocusWithin,\n\t'font-variant-property': postcssFontVariant,\n\t'gap-properties': postcssGapProperties,\n\t'gray-function': postcssColorGray,\n\t'has-pseudo-class': postcssHasPseudo,\n\t'hexadecimal-alpha-notation': postcssColorHexAlpha,\n\t'image-set-function': postcssImageSetPolyfill,\n\t'lab-function': postcssLabFunction,\n\t'logical-properties-and-values': postcssLogical,\n\t'matches-pseudo-class': postcssSelectorMatches,\n\t'media-query-ranges': postcssMediaMinmax,\n\t'nesting-rules': postcssNesting,\n\t'not-pseudo-class': postcssSelectorNot,\n\t'overflow-property': postcssOverflowShorthand,\n\t'overflow-wrap-property': postcssReplaceOverflowWrap,\n\t'place-properties': postcssPlace,\n\t'prefers-color-scheme-query': postcssPrefersColorScheme,\n\t'rebeccapurple-color': postcssColorRebeccapurple,\n\t'system-ui-font-family': postcssFontFamilySystemUi\n};\n","// return a list of features to be inserted before or after cssdb features\nexport default function getTransformedInsertions(insertions, placement) {\n\treturn Object.keys(insertions).map(\n\t\tid => [].concat(insertions[id]).map(\n\t\t\tplugin => ({\n\t\t\t\t[placement]: true,\n\t\t\t\tplugin,\n\t\t\t\tid\n\t\t\t})\n\t\t)\n\t).reduce(\n\t\t(array, feature) => array.concat(feature), []\n\t);\n}\n","import * as caniuse from 'caniuse-lite';\n\n// return a list of browsers that do not support the feature\nexport default function getUnsupportedBrowsersByFeature(feature) {\n\tconst caniuseFeature = caniuse.features[feature];\n\n\t// if feature support can be determined\n\tif (caniuseFeature) {\n\t\tconst stats = caniuse.feature(caniuseFeature).stats;\n\n\t\t// return an array of browsers and versions that do not support the feature\n\t\tconst results = Object.keys(stats).reduce(\n\t\t\t(browsers, browser) => browsers.concat(\n\t\t\t\tObject.keys(stats[browser]).filter(\n\t\t\t\t\tversion => stats[browser][version].indexOf('y') !== 0\n\t\t\t\t).map(\n\t\t\t\t\tversion => `${browser} ${version}`\n\t\t\t\t)\n\t\t\t),\n\t\t\t[]\n\t\t);\n\n\t\treturn results;\n\t} else {\n\t\t// otherwise, return that the feature does not work in any browser\n\t\treturn [ '> 0%' ];\n\t}\n}\n","// ids ordered by required execution, then alphabetically\nexport default [\n\t'custom-media-queries',\n\t'custom-properties',\n\t'environment-variables', // run environment-variables here to access transpiled custom media params and properties\n\t'image-set-function', // run images-set-function before nesting-rules so that it may fix nested media\n\t'media-query-ranges', // run media-query-range and\n\t'prefers-color-scheme-query', // run prefers-color-scheme-query here to prevent duplicate transpilation after nesting-rules\n\t'nesting-rules',\n\t'custom-selectors', // run custom-selectors after nesting-rules to correctly transpile &:--custom-selector\n\t'any-link-pseudo-class',\n\t'case-insensitive-attributes',\n\t'focus-visible-pseudo-class',\n\t'focus-within-pseudo-class',\n\t'matches-pseudo-class', // run matches-pseudo-class and\n\t'not-pseudo-class', // run not-pseudo-class after other selectors have been transpiled\n\t'logical-properties-and-values', // run logical-properties-and-values before dir-pseudo-class\n\t'dir-pseudo-class',\n\t'all-property', // run all-property before other property polyfills\n\t'color-functional-notation',\n\t'double-position-gradients',\n\t'gray-function',\n\t'hexadecimal-alpha-notation',\n\t'lab-function',\n\t'rebeccapurple-color',\n\t'color-mod-function', // run color-mod after other color modifications have finished\n\t'blank-pseudo-class',\n\t'break-properties',\n\t'font-variant-property',\n\t'has-pseudo-class',\n\t'gap-properties',\n\t'overflow-property',\n\t'overflow-wrap-property',\n\t'place-properties',\n\t'system-ui-font-family'\n];\n","/* eslint max-params: [\"error\", 4] */\n\nimport fs from 'fs';\nimport path from 'path';\n\n/* Write Exports to CSS File\n/* ========================================================================== */\n\nfunction getCustomMediaAsCss(customMedia) {\n\tconst cssContent = Object.keys(customMedia).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-media ${name} ${customMedia[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomPropertiesAsCss(customProperties) {\n\tconst cssContent = Object.keys(customProperties).reduce((cssLines, name) => {\n\t\tcssLines.push(`\\t${name}: ${customProperties[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `:root {\\n${cssContent}\\n}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomSelectorsAsCss(customSelectors) {\n\tconst cssContent = Object.keys(customSelectors).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-selector ${name} ${customSelectors[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nasync function writeExportsToCssFile(to, customMedia, customProperties, customSelectors) {\n\tconst customPropertiesAsCss = getCustomPropertiesAsCss(customProperties);\n\tconst customMediaAsCss = getCustomMediaAsCss(customMedia);\n\tconst customSelectorsAsCss = getCustomSelectorsAsCss(customSelectors);\n\tconst css = `${customMediaAsCss}\\n${customSelectorsAsCss}\\n${customPropertiesAsCss}`;\n\n\tawait writeFile(to, css);\n}\n\n/* Write Exports to JSON file\n/* ========================================================================== */\n\nasync function writeExportsToJsonFile(to, customMedia, customProperties, customSelectors) {\n\tconst jsonContent = JSON.stringify({\n\t\t'custom-media': customMedia,\n\t\t'custom-properties': customProperties,\n\t\t'custom-selectors': customSelectors\n\t}, null, ' ');\n\tconst json = `${jsonContent}\\n`;\n\n\tawait writeFile(to, json);\n}\n\n/* Write Exports to Common JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsCjs(key, object) {\n\tconst jsContents = Object.keys(object).reduce((jsLines, name) => {\n\t\tjsLines.push(`\\t\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn jsLines;\n\t}, []).join(',\\n');\n\tconst cjs = `\\n\\t${key}: {\\n${jsContents}\\n\\t}`;\n\n\treturn cjs;\n}\n\nasync function writeExportsToCjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsCjs = getObjectWithKeyAsCjs('customMedia', customMedia);\n\tconst customPropertiesAsCjs = getObjectWithKeyAsCjs('customProperties', customProperties);\n\tconst customSelectorsAsCjs = getObjectWithKeyAsCjs('customSelectors', customSelectors);\n\tconst cjs = `module.exports = {${customMediaAsCjs},${customPropertiesAsCjs},${customSelectorsAsCjs}\\n};\\n`;\n\n\tawait writeFile(to, cjs);\n}\n\n/* Write Exports to Module JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsMjs(key, object) {\n\tconst mjsContents = Object.keys(object).reduce((mjsLines, name) => {\n\t\tmjsLines.push(`\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn mjsLines;\n\t}, []).join(',\\n');\n\tconst mjs = `export const ${key} = {\\n${mjsContents}\\n};\\n`;\n\n\treturn mjs;\n}\n\nasync function writeExportsToMjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsMjs = getObjectWithKeyAsMjs('customMedia', customMedia);\n\tconst customPropertiesAsMjs = getObjectWithKeyAsMjs('customProperties', customProperties);\n\tconst customSelectorsAsMjs = getObjectWithKeyAsMjs('customSelectors', customSelectors);\n\tconst mjs = `${customMediaAsMjs}\\n${customPropertiesAsMjs}\\n${customSelectorsAsMjs}`;\n\n\tawait writeFile(to, mjs);\n}\n\n/* Write Exports to Exports\n/* ========================================================================== */\n\nexport default function writeToExports(customExports, destinations) {\n\treturn Promise.all([].concat(destinations).map(async destination => {\n\t\tif (destination instanceof Function) {\n\t\t\tawait destination({\n\t\t\t\tcustomMedia: getObjectWithStringifiedKeys(customExports.customMedia),\n\t\t\t\tcustomProperties: getObjectWithStringifiedKeys(customExports.customProperties),\n\t\t\t\tcustomSelectors: getObjectWithStringifiedKeys(customExports.customSelectors)\n\t\t\t});\n\t\t} else {\n\t\t\t// read the destination as an object\n\t\t\tconst opts = destination === Object(destination) ? destination : { to: String(destination) };\n\n\t\t\t// transformer for Exports into a JSON-compatible object\n\t\t\tconst toJSON = opts.toJSON || getObjectWithStringifiedKeys;\n\n\t\t\tif ('customMedia' in opts || 'customProperties' in opts || 'customSelectors' in opts) {\n\t\t\t\t// write directly to an object as customProperties\n\t\t\t\topts.customMedia = toJSON(customExports.customMedia);\n\t\t\t\topts.customProperties = toJSON(customExports.customProperties);\n\t\t\t\topts.customSelectors = toJSON(customExports.customSelectors);\n\t\t\t} else if ('custom-media' in opts || 'custom-properties' in opts || 'custom-selectors' in opts) {\n\t\t\t\t// write directly to an object as custom-properties\n\t\t\t\topts['custom-media'] = toJSON(customExports.customMedia);\n\t\t\t\topts['custom-properties'] = toJSON(customExports.customProperties);\n\t\t\t\topts['custom-selectors'] = toJSON(customExports.customSelectors);\n\t\t\t} else {\n\t\t\t\t// destination pathname\n\t\t\t\tconst to = String(opts.to || '');\n\n\t\t\t\t// type of file being written to\n\t\t\t\tconst type = (opts.type || path.extname(opts.to).slice(1)).toLowerCase();\n\n\t\t\t\t// transformed Exports\n\t\t\t\tconst customMediaJSON = toJSON(customExports.customMedia);\n\t\t\t\tconst customPropertiesJSON = toJSON(customExports.customProperties);\n\t\t\t\tconst customSelectorsJSON = toJSON(customExports.customSelectors);\n\n\t\t\t\tif (type === 'css') {\n\t\t\t\t\tawait writeExportsToCssFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'js') {\n\t\t\t\t\tawait writeExportsToCjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tawait writeExportsToJsonFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'mjs') {\n\t\t\t\t\tawait writeExportsToMjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}));\n}\n\n/* Helper utilities\n/* ========================================================================== */\n\nfunction getObjectWithStringifiedKeys(object) {\n\treturn Object.keys(object).reduce((objectJSON, key) => {\n\t\tobjectJSON[key] = String(object[key]);\n\n\t\treturn objectJSON;\n\t}, {});\n}\n\nfunction writeFile(to, text) {\n\treturn new Promise((resolve, reject) => {\n\t\tfs.writeFile(to, text, error => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction escapeForJS(string) {\n\treturn string.replace(/\\\\([\\s\\S])|(')/g, '\\\\$1$2').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r');\n}\n","import autoprefixer from 'autoprefixer'\nimport browserslist from 'browserslist';\nimport cssdb from 'cssdb';\nimport postcss from 'postcss';\nimport plugins from './lib/plugins-by-id';\nimport getTransformedInsertions from './lib/get-transformed-insertions';\nimport getUnsupportedBrowsersByFeature from './lib/get-unsupported-browsers-by-feature';\nimport idsByExecutionOrder from './lib/ids-by-execution-order';\nimport writeToExports from './lib/write-to-exports';\n\nexport default postcss.plugin('postcss-preset-env', opts => {\n\t// initialize options\n\tconst features = Object(Object(opts).features);\n\tconst insertBefore = Object(Object(opts).insertBefore);\n\tconst insertAfter = Object(Object(opts).insertAfter);\n\tconst browsers = Object(opts).browsers;\n\tconst stage = 'stage' in Object(opts)\n\t\t? opts.stage === false\n\t\t\t? 5\n\t\t: parseInt(opts.stage) || 0\n\t: 2;\n\tconst autoprefixerOptions = Object(opts).autoprefixer;\n\tconst sharedOpts = initializeSharedOpts(Object(opts));\n\tconst stagedAutoprefixer = autoprefixerOptions === false\n\t\t? () => {}\n\t: autoprefixer(Object.assign({ overrideBrowserslist: browsers }, autoprefixerOptions));\n\n\t// polyfillable features (those with an available postcss plugin)\n\tconst polyfillableFeatures = cssdb.concat(\n\t\t// additional features to be inserted before cssdb features\n\t\tgetTransformedInsertions(insertBefore, 'insertBefore'),\n\t\t// additional features to be inserted after cssdb features\n\t\tgetTransformedInsertions(insertAfter, 'insertAfter')\n\t).filter(\n\t\t// inserted features or features with an available postcss plugin\n\t\tfeature => feature.insertBefore || feature.id in plugins\n\t).sort(\n\t\t// features sorted by execution order and then insertion order\n\t\t(a, b) => idsByExecutionOrder.indexOf(a.id) - idsByExecutionOrder.indexOf(b.id) || (a.insertBefore ? -1 : b.insertBefore ? 1 : 0) || (a.insertAfter ? 1 : b.insertAfter ? -1 : 0)\n\t).map(\n\t\t// polyfillable features as an object\n\t\tfeature => {\n\t\t\t// target browsers for the polyfill\n\t\t\tconst unsupportedBrowsers = getUnsupportedBrowsersByFeature(feature.caniuse);\n\n\t\t\treturn feature.insertBefore || feature.insertAfter ? {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: feature.plugin,\n\t\t\t\tid: `${feature.insertBefore ? 'before' : 'after'}-${feature.id}`,\n\t\t\t\tstage: 6\n\t\t\t} : {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: plugins[feature.id],\n\t\t\t\tid: feature.id,\n\t\t\t\tstage: feature.stage\n\t\t\t};\n\t\t}\n\t);\n\n\t// staged features (those at or above the selected stage)\n\tconst stagedFeatures = polyfillableFeatures.filter(\n\t\tfeature => feature.id in features\n\t\t\t? features[feature.id]\n\t\t: feature.stage >= stage\n\t).map(\n\t\tfeature => ({\n\t\t\tbrowsers: feature.browsers,\n\t\t\tplugin: typeof feature.plugin.process === 'function'\n\t\t\t\t? features[feature.id] === true\n\t\t\t\t\t? sharedOpts\n\t\t\t\t\t\t// if the plugin is enabled and has shared options\n\t\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts))\n\t\t\t\t\t// otherwise, if the plugin is enabled\n\t\t\t\t\t: feature.plugin()\n\t\t\t\t: sharedOpts\n\t\t\t\t\t// if the plugin has shared options and individual options\n\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts, features[feature.id]))\n\t\t\t\t// if the plugin has individual options\n\t\t\t\t: feature.plugin(Object.assign({}, features[feature.id]))\n\t\t\t// if the plugin is already initialized\n\t\t\t: feature.plugin,\n\t\t\tid: feature.id\n\t\t})\n\t);\n\n\t// browsers supported by the configuration\n\tconst supportedBrowsers = browserslist(browsers, { ignoreUnknownVersions: true });\n\n\t// features supported by the stage and browsers\n\tconst supportedFeatures = stagedFeatures.filter(\n\t\tfeature => supportedBrowsers.some(\n\t\t\tsupportedBrowser => browserslist(feature.browsers, {\n\t\t\t\tignoreUnknownVersions: true\n\t\t\t}).some(\n\t\t\t\tpolyfillBrowser => polyfillBrowser === supportedBrowser\n\t\t\t)\n\t\t)\n\t);\n\n\treturn (root, result) => {\n\t\t// polyfills run in execution order\n\t\tconst polyfills = supportedFeatures.reduce(\n\t\t\t(promise, feature) => promise.then(\n\t\t\t\t() => feature.plugin(result.root, result)\n\t\t\t),\n\t\t\tPromise.resolve()\n\t\t).then(\n\t\t\t() => stagedAutoprefixer(result.root, result)\n\t\t).then(\n\t\t\t() => {\n\t\t\t\tif (Object(opts).exportTo) {\n\t\t\t\t\twriteToExports(sharedOpts.exportTo, opts.exportTo);\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\treturn polyfills;\n\t};\n});\n\nconst initializeSharedOpts = opts => {\n\tif ('importFrom' in opts || 'exportTo' in opts || 'preserve' in opts) {\n\t\tconst sharedOpts = {};\n\n\t\tif ('importFrom' in opts) {\n\t\t\tsharedOpts.importFrom = opts.importFrom;\n\t\t}\n\n\t\tif ('exportTo' in opts) {\n\t\t\tsharedOpts.exportTo = {\n\t\t\t\tcustomMedia: {},\n\t\t\t\tcustomProperties: {},\n\t\t\t\tcustomSelectors: {},\n\t\t\t};\n\t\t}\n\n\t\tif ('preserve' in opts) {\n\t\t\tsharedOpts.preserve = opts.preserve;\n\t\t}\n\n\t\treturn sharedOpts;\n\t}\n\n\treturn false;\n};\n"],"names":["postcss","plugin","root","walkDecls","propertyRegExp","decl","value","replace","systemUiMatch","systemUiReplace","whitespace","systemUiFamily","RegExp","join","postcssInitial","postcssPseudoClassAnyLink","postcssBlankPseudo","postcssPageBreak","postcssAttributeCaseInsensitive","postcssColorFunctionalNotation","postcssColorModFunction","postcssCustomMedia","postcssCustomProperties","postcssCustomSelectors","postcssDirPseudoClass","postcssDoublePositionGradients","postcssEnvFunction","postcssFocusVisible","postcssFocusWithin","postcssFontVariant","postcssGapProperties","postcssColorGray","postcssHasPseudo","postcssColorHexAlpha","postcssImageSetPolyfill","postcssLabFunction","postcssLogical","postcssSelectorMatches","postcssMediaMinmax","postcssNesting","postcssSelectorNot","postcssOverflowShorthand","postcssReplaceOverflowWrap","postcssPlace","postcssPrefersColorScheme","postcssColorRebeccapurple","postcssFontFamilySystemUi","getTransformedInsertions","insertions","placement","Object","keys","map","id","concat","reduce","array","feature","getUnsupportedBrowsersByFeature","caniuseFeature","caniuse","stats","results","browsers","browser","filter","version","indexOf","getCustomMediaAsCss","customMedia","cssContent","cssLines","name","push","css","getCustomPropertiesAsCss","customProperties","getCustomSelectorsAsCss","customSelectors","writeExportsToCssFile","to","customPropertiesAsCss","customMediaAsCss","customSelectorsAsCss","writeFile","writeExportsToJsonFile","jsonContent","JSON","stringify","json","getObjectWithKeyAsCjs","key","object","jsContents","jsLines","escapeForJS","cjs","writeExportsToCjsFile","customMediaAsCjs","customPropertiesAsCjs","customSelectorsAsCjs","getObjectWithKeyAsMjs","mjsContents","mjsLines","mjs","writeExportsToMjsFile","customMediaAsMjs","customPropertiesAsMjs","customSelectorsAsMjs","writeToExports","customExports","destinations","Promise","all","destination","Function","getObjectWithStringifiedKeys","opts","String","toJSON","type","path","extname","slice","toLowerCase","customMediaJSON","customPropertiesJSON","customSelectorsJSON","objectJSON","text","resolve","reject","fs","error","string","features","insertBefore","insertAfter","stage","parseInt","autoprefixerOptions","autoprefixer","sharedOpts","initializeSharedOpts","stagedAutoprefixer","assign","overrideBrowserslist","polyfillableFeatures","cssdb","plugins","sort","a","b","idsByExecutionOrder","unsupportedBrowsers","stagedFeatures","process","supportedBrowsers","browserslist","ignoreUnknownVersions","supportedFeatures","some","supportedBrowser","polyfillBrowser","result","polyfills","promise","then","exportTo","importFrom","preserve"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["src/patch/postcss-system-ui-font-family.js","src/lib/plugins-by-id.js","src/lib/get-transformed-insertions.js","src/lib/get-unsupported-browsers-by-feature.js","src/lib/ids-by-execution-order.js","src/lib/write-to-exports.js","src/postcss.js"],"sourcesContent":["import postcss from 'postcss';\n\nexport default postcss.plugin('postcss-system-ui-font', () => root => {\n\troot.walkDecls(propertyRegExp, decl => {\n\t\tdecl.value = decl.value.replace(systemUiMatch, systemUiReplace);\n\t});\n});\n\nconst propertyRegExp = /(?:^(?:-|\\\\002d){2})|(?:^font(?:-family)?$)/i;\nconst whitespace = '[\\\\f\\\\n\\\\r\\\\x09\\\\x20]';\nconst systemUiFamily = [\n\t'system-ui',\n\t/* macOS 10.11-10.12 */ '-apple-system',\n\t/* Windows 6+ */ 'Segoe UI',\n\t/* Android 4+ */ 'Roboto',\n\t/* Ubuntu 10.10+ */ 'Ubuntu',\n\t/* Gnome 3+ */ 'Cantarell',\n\t/* KDE Plasma 5+ */ 'Noto Sans',\n\t/* fallback */ 'sans-serif'\n];\nconst systemUiMatch = new RegExp(`(^|,|${whitespace}+)(?:system-ui${whitespace}*)(?:,${whitespace}*(?:${systemUiFamily.join('|')})${whitespace}*)?(,|$)`, 'i');\nconst systemUiReplace = `$1${systemUiFamily.join(', ')}$2`;\n","import postcssAttributeCaseInsensitive from 'postcss-attribute-case-insensitive';\nimport postcssBlankPseudo from 'css-blank-pseudo/postcss';\nimport postcssColorFunctionalNotation from 'postcss-color-functional-notation';\nimport postcssColorGray from 'postcss-color-gray';\nimport postcssColorHexAlpha from 'postcss-color-hex-alpha';\nimport postcssColorModFunction from 'postcss-color-mod-function';\nimport postcssColorRebeccapurple from 'postcss-color-rebeccapurple';\nimport postcssCustomMedia from 'postcss-custom-media';\nimport postcssCustomProperties from 'postcss-custom-properties';\nimport postcssCustomSelectors from 'postcss-custom-selectors';\nimport postcssDirPseudoClass from 'postcss-dir-pseudo-class';\nimport postcssDoublePositionGradients from 'postcss-double-position-gradients';\nimport postcssEnvFunction from 'postcss-env-function';\nimport postcssFocusVisible from 'postcss-focus-visible';\nimport postcssFocusWithin from 'postcss-focus-within';\nimport postcssFontVariant from 'postcss-font-variant';\nimport postcssFontFamilySystemUi from '../patch/postcss-system-ui-font-family';\nimport postcssGapProperties from 'postcss-gap-properties';\nimport postcssHasPseudo from 'css-has-pseudo/postcss';\nimport postcssImageSetPolyfill from 'postcss-image-set-function';\nimport postcssInitial from 'postcss-initial';\nimport postcssLabFunction from 'postcss-lab-function';\nimport postcssLogical from 'postcss-logical';\nimport postcssMediaMinmax from 'postcss-media-minmax';\nimport postcssNesting from 'postcss-nesting';\nimport postcssOverflowShorthand from 'postcss-overflow-shorthand';\nimport postcssPageBreak from 'postcss-page-break';\nimport postcssPlace from 'postcss-place';\nimport postcssPrefersColorScheme from 'css-prefers-color-scheme/postcss';\nimport postcssPseudoClassAnyLink from 'postcss-pseudo-class-any-link';\nimport postcssReplaceOverflowWrap from 'postcss-replace-overflow-wrap';\nimport postcssSelectorMatches from 'postcss-selector-matches';\nimport postcssSelectorNot from 'postcss-selector-not';\n\n// postcss plugins ordered by id\nexport default {\n\t'all-property': postcssInitial,\n\t'any-link-pseudo-class': postcssPseudoClassAnyLink,\n\t'blank-pseudo-class': postcssBlankPseudo,\n\t'break-properties': postcssPageBreak,\n\t'case-insensitive-attributes': postcssAttributeCaseInsensitive,\n\t'color-functional-notation': postcssColorFunctionalNotation,\n\t'color-mod-function': postcssColorModFunction,\n\t'custom-media-queries': postcssCustomMedia,\n\t'custom-properties': postcssCustomProperties,\n\t'custom-selectors': postcssCustomSelectors,\n\t'dir-pseudo-class': postcssDirPseudoClass,\n\t'double-position-gradients': postcssDoublePositionGradients,\n\t'environment-variables': postcssEnvFunction,\n\t'focus-visible-pseudo-class': postcssFocusVisible,\n\t'focus-within-pseudo-class': postcssFocusWithin,\n\t'font-variant-property': postcssFontVariant,\n\t'gap-properties': postcssGapProperties,\n\t'gray-function': postcssColorGray,\n\t'has-pseudo-class': postcssHasPseudo,\n\t'hexadecimal-alpha-notation': postcssColorHexAlpha,\n\t'image-set-function': postcssImageSetPolyfill,\n\t'lab-function': postcssLabFunction,\n\t'logical-properties-and-values': postcssLogical,\n\t'matches-pseudo-class': postcssSelectorMatches,\n\t'media-query-ranges': postcssMediaMinmax,\n\t'nesting-rules': postcssNesting,\n\t'not-pseudo-class': postcssSelectorNot,\n\t'overflow-property': postcssOverflowShorthand,\n\t'overflow-wrap-property': postcssReplaceOverflowWrap,\n\t'place-properties': postcssPlace,\n\t'prefers-color-scheme-query': postcssPrefersColorScheme,\n\t'rebeccapurple-color': postcssColorRebeccapurple,\n\t'system-ui-font-family': postcssFontFamilySystemUi\n};\n","// return a list of features to be inserted before or after cssdb features\nexport default function getTransformedInsertions(insertions, placement) {\n\treturn Object.keys(insertions).map(\n\t\tid => [].concat(insertions[id]).map(\n\t\t\tplugin => ({\n\t\t\t\t[placement]: true,\n\t\t\t\tplugin,\n\t\t\t\tid\n\t\t\t})\n\t\t)\n\t).reduce(\n\t\t(array, feature) => array.concat(feature), []\n\t);\n}\n","import * as caniuse from 'caniuse-lite';\n\n// return a list of browsers that do not support the feature\nexport default function getUnsupportedBrowsersByFeature(feature) {\n\tconst caniuseFeature = caniuse.features[feature];\n\n\t// if feature support can be determined\n\tif (caniuseFeature) {\n\t\tconst stats = caniuse.feature(caniuseFeature).stats;\n\n\t\t// return an array of browsers and versions that do not support the feature\n\t\tconst results = Object.keys(stats).reduce(\n\t\t\t(browsers, browser) => browsers.concat(\n\t\t\t\tObject.keys(stats[browser]).filter(\n\t\t\t\t\tversion => stats[browser][version].indexOf('y') !== 0\n\t\t\t\t).map(\n\t\t\t\t\tversion => `${browser} ${version}`\n\t\t\t\t)\n\t\t\t),\n\t\t\t[]\n\t\t);\n\n\t\treturn results;\n\t} else {\n\t\t// otherwise, return that the feature does not work in any browser\n\t\treturn [ '> 0%' ];\n\t}\n}\n","// ids ordered by required execution, then alphabetically\nexport default [\n\t'custom-media-queries',\n\t'custom-properties',\n\t'environment-variables', // run environment-variables here to access transpiled custom media params and properties\n\t'image-set-function', // run images-set-function before nesting-rules so that it may fix nested media\n\t'media-query-ranges', // run media-query-range and\n\t'prefers-color-scheme-query', // run prefers-color-scheme-query here to prevent duplicate transpilation after nesting-rules\n\t'nesting-rules',\n\t'custom-selectors', // run custom-selectors after nesting-rules to correctly transpile &:--custom-selector\n\t'any-link-pseudo-class',\n\t'case-insensitive-attributes',\n\t'focus-visible-pseudo-class',\n\t'focus-within-pseudo-class',\n\t'matches-pseudo-class', // run matches-pseudo-class and\n\t'not-pseudo-class', // run not-pseudo-class after other selectors have been transpiled\n\t'logical-properties-and-values', // run logical-properties-and-values before dir-pseudo-class\n\t'dir-pseudo-class',\n\t'all-property', // run all-property before other property polyfills\n\t'color-functional-notation',\n\t'double-position-gradients',\n\t'gray-function',\n\t'hexadecimal-alpha-notation',\n\t'lab-function',\n\t'rebeccapurple-color',\n\t'color-mod-function', // run color-mod after other color modifications have finished\n\t'blank-pseudo-class',\n\t'break-properties',\n\t'font-variant-property',\n\t'has-pseudo-class',\n\t'gap-properties',\n\t'overflow-property',\n\t'overflow-wrap-property',\n\t'place-properties',\n\t'system-ui-font-family'\n];\n","/* eslint max-params: [\"error\", 4] */\n\nimport fs from 'fs';\nimport path from 'path';\n\n/* Write Exports to CSS File\n/* ========================================================================== */\n\nfunction getCustomMediaAsCss(customMedia) {\n\tconst cssContent = Object.keys(customMedia).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-media ${name} ${customMedia[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomPropertiesAsCss(customProperties) {\n\tconst cssContent = Object.keys(customProperties).reduce((cssLines, name) => {\n\t\tcssLines.push(`\\t${name}: ${customProperties[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `:root {\\n${cssContent}\\n}\\n`;\n\n\treturn css;\n}\n\nfunction getCustomSelectorsAsCss(customSelectors) {\n\tconst cssContent = Object.keys(customSelectors).reduce((cssLines, name) => {\n\t\tcssLines.push(`@custom-selector ${name} ${customSelectors[name]};`);\n\n\t\treturn cssLines;\n\t}, []).join('\\n');\n\tconst css = `${cssContent}\\n`;\n\n\treturn css;\n}\n\nasync function writeExportsToCssFile(to, customMedia, customProperties, customSelectors) {\n\tconst customPropertiesAsCss = getCustomPropertiesAsCss(customProperties);\n\tconst customMediaAsCss = getCustomMediaAsCss(customMedia);\n\tconst customSelectorsAsCss = getCustomSelectorsAsCss(customSelectors);\n\tconst css = `${customMediaAsCss}\\n${customSelectorsAsCss}\\n${customPropertiesAsCss}`;\n\n\tawait writeFile(to, css);\n}\n\n/* Write Exports to JSON file\n/* ========================================================================== */\n\nasync function writeExportsToJsonFile(to, customMedia, customProperties, customSelectors) {\n\tconst jsonContent = JSON.stringify({\n\t\t'custom-media': customMedia,\n\t\t'custom-properties': customProperties,\n\t\t'custom-selectors': customSelectors\n\t}, null, ' ');\n\tconst json = `${jsonContent}\\n`;\n\n\tawait writeFile(to, json);\n}\n\n/* Write Exports to Common JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsCjs(key, object) {\n\tconst jsContents = Object.keys(object).reduce((jsLines, name) => {\n\t\tjsLines.push(`\\t\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn jsLines;\n\t}, []).join(',\\n');\n\tconst cjs = `\\n\\t${key}: {\\n${jsContents}\\n\\t}`;\n\n\treturn cjs;\n}\n\nasync function writeExportsToCjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsCjs = getObjectWithKeyAsCjs('customMedia', customMedia);\n\tconst customPropertiesAsCjs = getObjectWithKeyAsCjs('customProperties', customProperties);\n\tconst customSelectorsAsCjs = getObjectWithKeyAsCjs('customSelectors', customSelectors);\n\tconst cjs = `module.exports = {${customMediaAsCjs},${customPropertiesAsCjs},${customSelectorsAsCjs}\\n};\\n`;\n\n\tawait writeFile(to, cjs);\n}\n\n/* Write Exports to Module JS file\n/* ========================================================================== */\n\nfunction getObjectWithKeyAsMjs(key, object) {\n\tconst mjsContents = Object.keys(object).reduce((mjsLines, name) => {\n\t\tmjsLines.push(`\\t'${escapeForJS(name)}': '${escapeForJS(object[name])}'`);\n\n\t\treturn mjsLines;\n\t}, []).join(',\\n');\n\tconst mjs = `export const ${key} = {\\n${mjsContents}\\n};\\n`;\n\n\treturn mjs;\n}\n\nasync function writeExportsToMjsFile(to, customMedia, customProperties, customSelectors) {\n\tconst customMediaAsMjs = getObjectWithKeyAsMjs('customMedia', customMedia);\n\tconst customPropertiesAsMjs = getObjectWithKeyAsMjs('customProperties', customProperties);\n\tconst customSelectorsAsMjs = getObjectWithKeyAsMjs('customSelectors', customSelectors);\n\tconst mjs = `${customMediaAsMjs}\\n${customPropertiesAsMjs}\\n${customSelectorsAsMjs}`;\n\n\tawait writeFile(to, mjs);\n}\n\n/* Write Exports to Exports\n/* ========================================================================== */\n\nexport default function writeToExports(customExports, destinations) {\n\treturn Promise.all([].concat(destinations).map(async destination => {\n\t\tif (destination instanceof Function) {\n\t\t\tawait destination({\n\t\t\t\tcustomMedia: getObjectWithStringifiedKeys(customExports.customMedia),\n\t\t\t\tcustomProperties: getObjectWithStringifiedKeys(customExports.customProperties),\n\t\t\t\tcustomSelectors: getObjectWithStringifiedKeys(customExports.customSelectors)\n\t\t\t});\n\t\t} else {\n\t\t\t// read the destination as an object\n\t\t\tconst opts = destination === Object(destination) ? destination : { to: String(destination) };\n\n\t\t\t// transformer for Exports into a JSON-compatible object\n\t\t\tconst toJSON = opts.toJSON || getObjectWithStringifiedKeys;\n\n\t\t\tif ('customMedia' in opts || 'customProperties' in opts || 'customSelectors' in opts) {\n\t\t\t\t// write directly to an object as customProperties\n\t\t\t\topts.customMedia = toJSON(customExports.customMedia);\n\t\t\t\topts.customProperties = toJSON(customExports.customProperties);\n\t\t\t\topts.customSelectors = toJSON(customExports.customSelectors);\n\t\t\t} else if ('custom-media' in opts || 'custom-properties' in opts || 'custom-selectors' in opts) {\n\t\t\t\t// write directly to an object as custom-properties\n\t\t\t\topts['custom-media'] = toJSON(customExports.customMedia);\n\t\t\t\topts['custom-properties'] = toJSON(customExports.customProperties);\n\t\t\t\topts['custom-selectors'] = toJSON(customExports.customSelectors);\n\t\t\t} else {\n\t\t\t\t// destination pathname\n\t\t\t\tconst to = String(opts.to || '');\n\n\t\t\t\t// type of file being written to\n\t\t\t\tconst type = (opts.type || path.extname(opts.to).slice(1)).toLowerCase();\n\n\t\t\t\t// transformed Exports\n\t\t\t\tconst customMediaJSON = toJSON(customExports.customMedia);\n\t\t\t\tconst customPropertiesJSON = toJSON(customExports.customProperties);\n\t\t\t\tconst customSelectorsJSON = toJSON(customExports.customSelectors);\n\n\t\t\t\tif (type === 'css') {\n\t\t\t\t\tawait writeExportsToCssFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'js') {\n\t\t\t\t\tawait writeExportsToCjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tawait writeExportsToJsonFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\n\t\t\t\tif (type === 'mjs') {\n\t\t\t\t\tawait writeExportsToMjsFile(to, customMediaJSON, customPropertiesJSON, customSelectorsJSON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}));\n}\n\n/* Helper utilities\n/* ========================================================================== */\n\nfunction getObjectWithStringifiedKeys(object) {\n\treturn Object.keys(object).reduce((objectJSON, key) => {\n\t\tobjectJSON[key] = String(object[key]);\n\n\t\treturn objectJSON;\n\t}, {});\n}\n\nfunction writeFile(to, text) {\n\treturn new Promise((resolve, reject) => {\n\t\tfs.writeFile(to, text, error => {\n\t\t\tif (error) {\n\t\t\t\treject(error);\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction escapeForJS(string) {\n\treturn string.replace(/\\\\([\\s\\S])|(')/g, '\\\\$1$2').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r');\n}\n","import autoprefixer from 'autoprefixer'\nimport browserslist from 'browserslist';\nimport cssdb from 'cssdb';\nimport postcss from 'postcss';\nimport plugins from './lib/plugins-by-id';\nimport getTransformedInsertions from './lib/get-transformed-insertions';\nimport getUnsupportedBrowsersByFeature from './lib/get-unsupported-browsers-by-feature';\nimport idsByExecutionOrder from './lib/ids-by-execution-order';\nimport writeToExports from './lib/write-to-exports';\n\nexport default postcss.plugin('postcss-preset-env', opts => {\n\t// initialize options\n\tconst features = Object(Object(opts).features);\n\tconst insertBefore = Object(Object(opts).insertBefore);\n\tconst insertAfter = Object(Object(opts).insertAfter);\n\tconst browsers = Object(opts).browsers;\n\tconst stage = 'stage' in Object(opts)\n\t\t? opts.stage === false\n\t\t\t? 5\n\t\t: parseInt(opts.stage) || 0\n\t: 2;\n\tconst autoprefixerOptions = Object(opts).autoprefixer;\n\tconst sharedOpts = initializeSharedOpts(Object(opts));\n\tconst stagedAutoprefixer = autoprefixerOptions === false\n\t\t? () => {}\n\t: autoprefixer(Object.assign({ overrideBrowserslist: browsers }, autoprefixerOptions));\n\n\t// polyfillable features (those with an available postcss plugin)\n\tconst polyfillableFeatures = cssdb.concat(\n\t\t// additional features to be inserted before cssdb features\n\t\tgetTransformedInsertions(insertBefore, 'insertBefore'),\n\t\t// additional features to be inserted after cssdb features\n\t\tgetTransformedInsertions(insertAfter, 'insertAfter')\n\t).filter(\n\t\t// inserted features or features with an available postcss plugin\n\t\tfeature => feature.insertBefore || feature.id in plugins\n\t).sort(\n\t\t// features sorted by execution order and then insertion order\n\t\t(a, b) => idsByExecutionOrder.indexOf(a.id) - idsByExecutionOrder.indexOf(b.id) || (a.insertBefore ? -1 : b.insertBefore ? 1 : 0) || (a.insertAfter ? 1 : b.insertAfter ? -1 : 0)\n\t).map(\n\t\t// polyfillable features as an object\n\t\tfeature => {\n\t\t\t// target browsers for the polyfill\n\t\t\tconst unsupportedBrowsers = getUnsupportedBrowsersByFeature(feature.caniuse);\n\n\t\t\treturn feature.insertBefore || feature.insertAfter ? {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: feature.plugin,\n\t\t\t\tid: `${feature.insertBefore ? 'before' : 'after'}-${feature.id}`,\n\t\t\t\tstage: 6\n\t\t\t} : {\n\t\t\t\tbrowsers: unsupportedBrowsers,\n\t\t\t\tplugin: plugins[feature.id],\n\t\t\t\tid: feature.id,\n\t\t\t\tstage: feature.stage\n\t\t\t};\n\t\t}\n\t);\n\n\t// staged features (those at or above the selected stage)\n\tconst stagedFeatures = polyfillableFeatures.filter(\n\t\tfeature => feature.id in features\n\t\t\t? features[feature.id]\n\t\t: feature.stage >= stage\n\t).map(\n\t\tfeature => ({\n\t\t\tbrowsers: feature.browsers,\n\t\t\tplugin: typeof feature.plugin.process === 'function'\n\t\t\t\t? features[feature.id] === true\n\t\t\t\t\t? sharedOpts\n\t\t\t\t\t\t// if the plugin is enabled and has shared options\n\t\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts))\n\t\t\t\t\t// otherwise, if the plugin is enabled\n\t\t\t\t\t: feature.plugin()\n\t\t\t\t: sharedOpts\n\t\t\t\t\t// if the plugin has shared options and individual options\n\t\t\t\t\t? feature.plugin(Object.assign({}, sharedOpts, features[feature.id]))\n\t\t\t\t// if the plugin has individual options\n\t\t\t\t: feature.plugin(Object.assign({}, features[feature.id]))\n\t\t\t// if the plugin is already initialized\n\t\t\t: feature.plugin,\n\t\t\tid: feature.id\n\t\t})\n\t);\n\n\t// browsers supported by the configuration\n\tconst supportedBrowsers = browserslist(browsers, { ignoreUnknownVersions: true });\n\n\t// features supported by the stage and browsers\n\tconst supportedFeatures = stagedFeatures.filter(\n\t\tfeature => supportedBrowsers.some(\n\t\t\tsupportedBrowser => browserslist(feature.browsers, {\n\t\t\t\tignoreUnknownVersions: true\n\t\t\t}).some(\n\t\t\t\tpolyfillBrowser => polyfillBrowser === supportedBrowser\n\t\t\t)\n\t\t)\n\t);\n\n\treturn (root, result) => {\n\t\tconst majorVersion = parseInt(result.processor.version.split('.')[0]);\n\t\tif (majorVersion > 7) {\n\t\t\tconsole.log('');\n\t\t\tconsole.log(`\n┌─────────────────────────────────────────────────────────────────────────────────┐\n│ │\n│ This version of postcss-preset-env is not optimised to work with PostCSS 8. │\n│ Please update to version 7 of PostCSS Preset Env. │\n│ │\n│ If you find issues, you can report it at: │\n│ https://github.com/csstools/postcss-plugins/issues/new/choose │\n│ │\n└─────────────────────────────────────────────────────────────────────────────────┘\n\t\t\t`);\n\t\t\tconsole.log('');\n\t\t}\n\n\t\t// polyfills run in execution order\n\t\tconst polyfills = supportedFeatures.reduce(\n\t\t\t(promise, feature) => promise.then(\n\t\t\t\t() => feature.plugin(result.root, result)\n\t\t\t),\n\t\t\tPromise.resolve()\n\t\t).then(\n\t\t\t() => stagedAutoprefixer(result.root, result)\n\t\t).then(\n\t\t\t() => {\n\t\t\t\tif (Object(opts).exportTo) {\n\t\t\t\t\twriteToExports(sharedOpts.exportTo, opts.exportTo);\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\treturn polyfills;\n\t};\n});\n\nconst initializeSharedOpts = opts => {\n\tif ('importFrom' in opts || 'exportTo' in opts || 'preserve' in opts) {\n\t\tconst sharedOpts = {};\n\n\t\tif ('importFrom' in opts) {\n\t\t\tsharedOpts.importFrom = opts.importFrom;\n\t\t}\n\n\t\tif ('exportTo' in opts) {\n\t\t\tsharedOpts.exportTo = {\n\t\t\t\tcustomMedia: {},\n\t\t\t\tcustomProperties: {},\n\t\t\t\tcustomSelectors: {},\n\t\t\t};\n\t\t}\n\n\t\tif ('preserve' in opts) {\n\t\t\tsharedOpts.preserve = opts.preserve;\n\t\t}\n\n\t\treturn sharedOpts;\n\t}\n\n\treturn false;\n};\n"],"names":["postcss","plugin","root","walkDecls","propertyRegExp","decl","value","replace","systemUiMatch","systemUiReplace","whitespace","systemUiFamily","RegExp","join","postcssInitial","postcssPseudoClassAnyLink","postcssBlankPseudo","postcssPageBreak","postcssAttributeCaseInsensitive","postcssColorFunctionalNotation","postcssColorModFunction","postcssCustomMedia","postcssCustomProperties","postcssCustomSelectors","postcssDirPseudoClass","postcssDoublePositionGradients","postcssEnvFunction","postcssFocusVisible","postcssFocusWithin","postcssFontVariant","postcssGapProperties","postcssColorGray","postcssHasPseudo","postcssColorHexAlpha","postcssImageSetPolyfill","postcssLabFunction","postcssLogical","postcssSelectorMatches","postcssMediaMinmax","postcssNesting","postcssSelectorNot","postcssOverflowShorthand","postcssReplaceOverflowWrap","postcssPlace","postcssPrefersColorScheme","postcssColorRebeccapurple","postcssFontFamilySystemUi","getTransformedInsertions","insertions","placement","Object","keys","map","id","concat","reduce","array","feature","getUnsupportedBrowsersByFeature","caniuseFeature","caniuse","stats","results","browsers","browser","filter","version","indexOf","getCustomMediaAsCss","customMedia","cssContent","cssLines","name","push","css","getCustomPropertiesAsCss","customProperties","getCustomSelectorsAsCss","customSelectors","writeExportsToCssFile","to","customPropertiesAsCss","customMediaAsCss","customSelectorsAsCss","writeFile","writeExportsToJsonFile","jsonContent","JSON","stringify","json","getObjectWithKeyAsCjs","key","object","jsContents","jsLines","escapeForJS","cjs","writeExportsToCjsFile","customMediaAsCjs","customPropertiesAsCjs","customSelectorsAsCjs","getObjectWithKeyAsMjs","mjsContents","mjsLines","mjs","writeExportsToMjsFile","customMediaAsMjs","customPropertiesAsMjs","customSelectorsAsMjs","writeToExports","customExports","destinations","Promise","all","destination","Function","getObjectWithStringifiedKeys","opts","String","toJSON","type","path","extname","slice","toLowerCase","customMediaJSON","customPropertiesJSON","customSelectorsJSON","objectJSON","text","resolve","reject","fs","error","string","features","insertBefore","insertAfter","stage","parseInt","autoprefixerOptions","autoprefixer","sharedOpts","initializeSharedOpts","stagedAutoprefixer","assign","overrideBrowserslist","polyfillableFeatures","cssdb","plugins","sort","a","b","idsByExecutionOrder","unsupportedBrowsers","stagedFeatures","process","supportedBrowsers","browserslist","ignoreUnknownVersions","supportedFeatures","some","supportedBrowser","polyfillBrowser","result","majorVersion","processor","split","console","log","polyfills","promise","then","exportTo","importFrom","preserve"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postcss-preset-env",
|
|
3
|
-
"version": "6.7.
|
|
3
|
+
"version": "6.7.1",
|
|
4
4
|
"description": "Convert modern CSS into something browsers understand",
|
|
5
5
|
"author": "Jonathan Neal <jonathantneal@hotmail.com>",
|
|
6
6
|
"license": "CC0-1.0",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "rollup -c .rollup.js --silent",
|
|
20
|
-
"prepublishOnly": "npm test",
|
|
21
20
|
"pretest:tape": "npm run build",
|
|
22
21
|
"test": "npm run test:js && npm run test:tape",
|
|
23
22
|
"test:js": "eslint src/*.js src/lib/*.js src/patch/*.js --cache --ignore-path .gitignore --quiet",
|
package/CHANGELOG.md
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
# Changes to PostCSS Preset Env
|
|
2
|
-
|
|
3
|
-
### 6.7.0 (July 8, 2019)
|
|
4
|
-
|
|
5
|
-
- Fixed the issue of autoprefixer alerting an upcoming change to the API
|
|
6
|
-
- Updated `autoprefixer` to 9.6.1 (minor)
|
|
7
|
-
- Updated `browserslist` to 4.6.4 (minor)
|
|
8
|
-
- Updated `cssdb` to 4.4.0 (minor)
|
|
9
|
-
- Updated `caniuse-lite` to 1.0.30000981 (patch)
|
|
10
|
-
- Updated `postcss` to 7.0.17 (patch)
|
|
11
|
-
- Updated `postcss-color-hex-alpha` to 5.0.3 (patch)
|
|
12
|
-
- Updated `postcss-custom-media` to 7.0.8 (patch)
|
|
13
|
-
- Updated `postcss-custom-properties` to 8.0.11 (patch)
|
|
14
|
-
|
|
15
|
-
### 6.6.0 (February 28, 2019)
|
|
16
|
-
|
|
17
|
-
- Moved browserslist detection from using each input file per process to using
|
|
18
|
-
the working directory on intialization, as was implied by the documentation.
|
|
19
|
-
If fixing this previously undocumented behavior causes any harm to existing
|
|
20
|
-
projects, it can be easily rolled back in a subsequent patch. For the
|
|
21
|
-
majority of projects — those with a singular browserslist configuration and
|
|
22
|
-
potentially many individually processed CSS files — we should expect reported
|
|
23
|
-
build times around 35 seconds to drop to less than 2 seconds.
|
|
24
|
-
- Updated `browserslist` to 4.4.2 (minor)
|
|
25
|
-
- Updated `autoprefixer` to 9.4.9 (patch)
|
|
26
|
-
- Updated `caniuse-lite` to 1.0.30000939 (patch)
|
|
27
|
-
- Updated `postcss` to 7.0.14 (patch)
|
|
28
|
-
- Updated `postcss-attribute-case-insensitive` to 4.0.1 (patch)
|
|
29
|
-
|
|
30
|
-
### 6.5.0 (December 12, 2018)
|
|
31
|
-
|
|
32
|
-
- Added `css-blank-pseudo` polyfill
|
|
33
|
-
- Added `css-has-pseudo` polyfill
|
|
34
|
-
- Updated `autoprefixer` to 9.4.2 (minor)
|
|
35
|
-
- Updated `browserslist` to 4.3.5 (minor)
|
|
36
|
-
- Updated `caniuse-lite` to 1.0.30000918 (patch)
|
|
37
|
-
- Updated `css-prefers-color-scheme` to 3.1.1 (minor, patch for this project)
|
|
38
|
-
- Updated `cssdb` to 4.3.0 (minor)
|
|
39
|
-
- Updated `postcss` to 7.0.6 (patch)
|
|
40
|
-
|
|
41
|
-
### 6.4.0 (November 6, 2018)
|
|
42
|
-
|
|
43
|
-
- Fixed `exportTo` option to export Custom Media, Custom Properties, and Custom
|
|
44
|
-
Selectors all to the same function, object, or file
|
|
45
|
-
- Added `css-prefers-color-scheme` 3.0.0 (major, non-breaking for this project)
|
|
46
|
-
- Updated `cssdb` to 4.2.0 (minor)
|
|
47
|
-
|
|
48
|
-
### 6.3.1 (November 5, 2018)
|
|
49
|
-
|
|
50
|
-
- Updated `caniuse-lite` to 1.0.30000905 (patch)
|
|
51
|
-
- Updated `postcss-custom-properties` to 8.0.9 (patch)
|
|
52
|
-
|
|
53
|
-
### 6.3.0 (October 28, 2018)
|
|
54
|
-
|
|
55
|
-
- Added `postcss-double-position-gradients` 1.0.0 (major, non-breaking for this project)
|
|
56
|
-
- Updated `autoprefixer` to 9.3.1 (minor)
|
|
57
|
-
- Updated `browserslist` to 4.3.4 (patch)
|
|
58
|
-
- Updated `caniuse-lite` to 1.0.30000899 (patch)
|
|
59
|
-
- Updated `cssdb` to 4.1.0 (major, non-breaking for this project)
|
|
60
|
-
|
|
61
|
-
### 6.2.0 (October 22, 2018)
|
|
62
|
-
|
|
63
|
-
- Updated `autoprefixer` to 9.2.1 (minor)
|
|
64
|
-
- Updated `browserslist` to 4.3.1 (minor)
|
|
65
|
-
|
|
66
|
-
### 6.1.2 (October 19, 2018)
|
|
67
|
-
|
|
68
|
-
- Updated `browserslist` to 4.2.1 (patch)
|
|
69
|
-
- Updated `caniuse-lite` to 1.0.30000893 (patch)
|
|
70
|
-
- Updated `postcss-custom-media` to 7.0.7 (patch)
|
|
71
|
-
|
|
72
|
-
### 6.1.1 (October 12, 2018)
|
|
73
|
-
|
|
74
|
-
- Updated: `postcss-custom-media` to 7.0.6 (patch)
|
|
75
|
-
|
|
76
|
-
### 6.1.0 (October 10, 2018)
|
|
77
|
-
|
|
78
|
-
- Added: `postcss-color-gray`
|
|
79
|
-
- Added: Passing `autoprefixer: false` disables autoprefixer
|
|
80
|
-
- Updated: `browserslist` to 4.2.0 (minor)
|
|
81
|
-
- Updated: `caniuse-lite` to 1.0.30000890 (patch)
|
|
82
|
-
|
|
83
|
-
### 6.0.10 (October 2, 2018)
|
|
84
|
-
|
|
85
|
-
- Updated: `postcss-custom-properties` to 8.0.8 (patch)
|
|
86
|
-
|
|
87
|
-
### 6.0.9 (October 2, 2018)
|
|
88
|
-
|
|
89
|
-
- Updated: `browserslist` to 4.1.2 (patch)
|
|
90
|
-
- Updated: `postcss` to 7.0.5 (patch)
|
|
91
|
-
- Updated: `postcss-custom-properties` to 8.0.7 (patch)
|
|
92
|
-
|
|
93
|
-
### 6.0.8 (October 1, 2018)
|
|
94
|
-
|
|
95
|
-
- Updated: `caniuse-lite` to 1.0.30000888 (patch)
|
|
96
|
-
- Updated: `postcss` to 7.0.4 (patch)
|
|
97
|
-
|
|
98
|
-
**Did you hear? PostCSS Preset Env is now part of Create React App!** 🎉
|
|
99
|
-
|
|
100
|
-
### 6.0.7 (September 23, 2018)
|
|
101
|
-
|
|
102
|
-
- Updated: `postcss` to 7.0.3 (patch)
|
|
103
|
-
- Updated: `postcss-custom-properties` to 8.0.6 (patch)
|
|
104
|
-
|
|
105
|
-
### 6.0.6 (September 23, 2018)
|
|
106
|
-
|
|
107
|
-
- Updated: `postcss-custom-media` to 7.0.4 (patch)
|
|
108
|
-
|
|
109
|
-
### 6.0.5 (September 23, 2018)
|
|
110
|
-
|
|
111
|
-
- Updated: `postcss-color-mod-function` to 3.0.3 (patch)
|
|
112
|
-
|
|
113
|
-
### 6.0.4 (September 23, 2018)
|
|
114
|
-
|
|
115
|
-
- Updated: `caniuse-lite` to 1.0.30000887 (patch)
|
|
116
|
-
- Updated: `postcss-color-mod-function` to 3.0.2 (patch)
|
|
117
|
-
|
|
118
|
-
### 6.0.3 (September 21, 2018)
|
|
119
|
-
|
|
120
|
-
- Updated: `caniuse-lite` to 1.0.30000885 (patch)
|
|
121
|
-
- Updated: `postcss-custom-properties` to 8.0.5 (patch)
|
|
122
|
-
|
|
123
|
-
### 6.0.2 (September 20, 2018)
|
|
124
|
-
|
|
125
|
-
- Fixed: Do not break on an empty `importFrom` object
|
|
126
|
-
- Fixed: Actually run `postcss-env-function`
|
|
127
|
-
|
|
128
|
-
### 6.0.1 (September 20, 2018)
|
|
129
|
-
|
|
130
|
-
- Fixed: Issue with the `system-ui` font family polyfill by replacing
|
|
131
|
-
`postcss-font-family-system-ui` with an internal polyfill, at least until the
|
|
132
|
-
problem with the original plugin is resolved.
|
|
133
|
-
|
|
134
|
-
### 6.0.0 (September 20, 2018)
|
|
135
|
-
|
|
136
|
-
- Added: Support for PostCSS 7+
|
|
137
|
-
- Added: Support for PostCSS Values Parser 2+
|
|
138
|
-
- Added: Support for PostCSS Selector Parser 5+
|
|
139
|
-
- Added: Support for Node 6+
|
|
140
|
-
- Updated: All 28 plugins
|
|
141
|
-
|
|
142
|
-
### 5.4.0 (July 25, 2018)
|
|
143
|
-
|
|
144
|
-
- Added: `toggle` option to override which features are enabled or disabled
|
|
145
|
-
- Deprecated: toggle features with `toggle`, not `features`
|
|
146
|
-
|
|
147
|
-
### 5.3.0 (July 24, 2018)
|
|
148
|
-
|
|
149
|
-
- Updated: `postcss-lab-function` to v1.1.0 (minor update)
|
|
150
|
-
|
|
151
|
-
### 5.2.3 (July 21, 2018)
|
|
152
|
-
|
|
153
|
-
- Updated: `postcss-color-mod-function` to v2.4.3 (patch update)
|
|
154
|
-
|
|
155
|
-
### 5.2.2 (July 13, 2018)
|
|
156
|
-
|
|
157
|
-
- Updated: `autoprefixer` to v8.6.5 (patch update)
|
|
158
|
-
- Updated: `caniuse-lite` to v1.0.30000865 (patch update)
|
|
159
|
-
- Updated: `postcss-color-functional-notation` to v1.0.2 (patch update)
|
|
160
|
-
|
|
161
|
-
### 5.2.1 (June 26, 2018)
|
|
162
|
-
|
|
163
|
-
- Updated: `caniuse-lite` to v1.0.30000859 (patch update)
|
|
164
|
-
- Updated: `postcss-attribute-case-insensitive` to v3.0.1 (patch update)
|
|
165
|
-
|
|
166
|
-
### 5.2.0 (June 25, 2018)
|
|
167
|
-
|
|
168
|
-
- Updated: `autoprefixer` to v8.6.3 (minor update)
|
|
169
|
-
- Updated: `caniuse-lite` to v1.0.30000858 (patch update)
|
|
170
|
-
- Updated: `postcss` to 6.0.23 (patch update)
|
|
171
|
-
- Updated: `postcss-nesting` to v6.0.0 (major internal update, non-breaking for this project)
|
|
172
|
-
|
|
173
|
-
### 5.1.0 (May 21, 2018)
|
|
174
|
-
|
|
175
|
-
- Added: `autoprefixer` option to pass options into autoprefixer
|
|
176
|
-
- Updated: `autoprefixer` to v8.5.0 (minor update)
|
|
177
|
-
- Updated: `browserslist` to v3.2.8 (patch update)
|
|
178
|
-
- Updated: `caniuse-lite` to v1.0.30000844 (patch update)
|
|
179
|
-
- Updated: `postcss-color-functional-notation` to v1.0.1 (patch update)
|
|
180
|
-
|
|
181
|
-
### 5.0.0 (May 11, 2018)
|
|
182
|
-
|
|
183
|
-
- Added: `autoprefixer`
|
|
184
|
-
- Added: `postcss-color-functional-notation`
|
|
185
|
-
- Added: `postcss-env-function`
|
|
186
|
-
- Added: `postcss-lab-function`
|
|
187
|
-
- Added: `postcss-place`
|
|
188
|
-
- Added: `postcss-gap-properties`
|
|
189
|
-
- Added: `postcss-overflow-shorthand`
|
|
190
|
-
- Updated: `cssdb` to v3.1.0 (major update)
|
|
191
|
-
- Updated: In conformance with cssdb v3, the default stage is now 2
|
|
192
|
-
- Updated: `postcss-attribute-case-insensitive` to v3.0.0 (major update)
|
|
193
|
-
- Updated: `postcss-pseudo-class-any-link` to v5.0.0 (major update)
|
|
194
|
-
- Updated: `postcss-image-set-function` to v2.0.0 (major update)
|
|
195
|
-
- Updated: `postcss-dir-pseudo-class` to v4.0.0 (major update)
|
|
196
|
-
- Updated: `postcss-color-rebeccapurple` to v3.1.0 (minor update)
|
|
197
|
-
- Updated: `postcss` to v6.0.22 (patch update)
|
|
198
|
-
- Updated: `browserslist` to v3.2.7 (patch update)
|
|
199
|
-
- Updated: `caniuse-lite` to v1.0.30000839 (patch update)
|
|
200
|
-
|
|
201
|
-
All plugins now conform to the latest stable releases of `postcss-value-parser`
|
|
202
|
-
v1.5.0 and `postcss-selector-parser` v4.0.0.
|
|
203
|
-
|
|
204
|
-
### 4.1.0 (April 23, 2018)
|
|
205
|
-
|
|
206
|
-
- Updated: `browserslist` to v3.2.5 (patch update)
|
|
207
|
-
- Updated: `caniuse-lite` to v1.0.30000830 (patch update)
|
|
208
|
-
- Updated: `postcss-apply` to v0.10.0 (minor update)
|
|
209
|
-
- Updated: `postcss-nesting` to v5.0.0 (major update, non-breaking for this project)
|
|
210
|
-
|
|
211
|
-
### 4.0.0 (April 7, 2018)
|
|
212
|
-
|
|
213
|
-
- Added: `postcss-focus-within`
|
|
214
|
-
- Updated: `postcss-focus-visible` to v3.0.0 (major update)
|
|
215
|
-
- Updated: `caniuse-lite` to v1.0.30000824 (patch update)
|
|
216
|
-
- Updated: `cssdb` to v2.0.0 (major update)
|
|
217
|
-
- Changed: All `specificationId` names to new `id` names for the `cssdb` update.
|
|
218
|
-
|
|
219
|
-
### 3.5.0 (April 5, 2018)
|
|
220
|
-
|
|
221
|
-
- Fixed: `selectors-matches-pseudo` mapping to allow `:matches` polyfilling
|
|
222
|
-
- Updated: `postcss-dir-pseudo-class` to v3.0.0 (major update, non-breaking for this project)
|
|
223
|
-
- Updated: `postcss-logical` to v1.1.1 (minor update)
|
|
224
|
-
- Updated: `postcss` to v6.0.21 (patch update)
|
|
225
|
-
- Updated: `browserslist` to v3.2.4 (patch update)
|
|
226
|
-
- Updated: `caniuse-lite` to v1.0.30000823 (patch update)
|
|
227
|
-
|
|
228
|
-
### 3.4.0 (March 18, 2018)
|
|
229
|
-
|
|
230
|
-
- Updated: `browserslist` to v3.2.0 (minor update)
|
|
231
|
-
- Updated: `postcss` to v6.0.20 (patch update)
|
|
232
|
-
- Updated: `postcss-image-set-polyfill` to `@csstools/postcss-image-set-function` (hopefully temporarily)
|
|
233
|
-
|
|
234
|
-
### 3.3.0 (March 16, 2018)
|
|
235
|
-
|
|
236
|
-
- Updated: `postcss-apply` to v0.9.0 (minor update)
|
|
237
|
-
- Updated: `browserslist` to v3.1.2 (patch update)
|
|
238
|
-
- Updated: `caniuse-lite` to v1.0.30000815 (patch update)
|
|
239
|
-
- Updated: distribution to cjs and es bundles
|
|
240
|
-
|
|
241
|
-
### 3.2.2 (February 27, 2018)
|
|
242
|
-
|
|
243
|
-
- Updated: `postcss-color-mod-function` to v2.4.2 (patch update)
|
|
244
|
-
|
|
245
|
-
### 3.2.1 (February 21, 2018)
|
|
246
|
-
|
|
247
|
-
- Updated: Use the latest tested version of all dependencies
|
|
248
|
-
|
|
249
|
-
### 3.2.0 (February 18, 2018)
|
|
250
|
-
|
|
251
|
-
- Added: `postcss-page-break` which has moved here from Autoprefixer
|
|
252
|
-
|
|
253
|
-
### 3.1.0 (February 17, 2018)
|
|
254
|
-
|
|
255
|
-
- Added: `postcss-focus-visible`
|
|
256
|
-
|
|
257
|
-
### 3.0.0 (February 16, 2018)
|
|
258
|
-
|
|
259
|
-
- Updated: `postcss-color-mod-function` to v2.4 (minor update)
|
|
260
|
-
- Updated: `postcss-custom-properties` to v7.0 (major update)
|
|
261
|
-
|
|
262
|
-
### 2.2.0 (February 14, 2018)
|
|
263
|
-
|
|
264
|
-
- Updated: `browserslist` to v3.1 (major update)
|
|
265
|
-
- Updated: `postcss-color-mod-function` to v2.3 (minor update)
|
|
266
|
-
- Improved: cleaned up one reusable variable and added a few tests
|
|
267
|
-
|
|
268
|
-
### 2.1.0 (January 22, 2018)
|
|
269
|
-
|
|
270
|
-
- Updated: `cssdb` to v1.5 (minor update)
|
|
271
|
-
- Updated: `postcss-color-mod-function` to v2.2 (major update)
|
|
272
|
-
- Updated: `postcss-font-family-system-ui` to v3.0 (repo update)
|
|
273
|
-
|
|
274
|
-
### 2.0.0 (January 16, 2018)
|
|
275
|
-
|
|
276
|
-
- Initial version
|
|
277
|
-
|
|
278
|
-
### 1.0.0 (December 20, 2017)
|
|
279
|
-
|
|
280
|
-
- Unsupported version accidentally published by a member of the community
|