diff options
Diffstat (limited to 'node_modules/postcss-normalize-charset/src')
| -rw-r--r-- | node_modules/postcss-normalize-charset/src/index.js | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/node_modules/postcss-normalize-charset/src/index.js b/node_modules/postcss-normalize-charset/src/index.js deleted file mode 100644 index eb8cde80..00000000 --- a/node_modules/postcss-normalize-charset/src/index.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; -const charset = 'charset'; -// eslint-disable-next-line no-control-regex -const nonAscii = /[^\x00-\x7F]/; - -/** - * @typedef {{add?: boolean}} Options - */ -/** - * @type {import('postcss').PluginCreator<Options>} - * @param {Options} opts - * @return {import('postcss').Plugin} - */ -function pluginCreator(opts = {}) { - return { - postcssPlugin: 'postcss-normalize-' + charset, - - OnceExit(css, { AtRule }) { - /** @type {import('postcss').AtRule | undefined} */ - let charsetRule; - /** @type {import('postcss').Node | undefined} */ - let nonAsciiNode; - - css.walk((node) => { - if (node.type === 'atrule' && node.name === charset) { - if (!charsetRule) { - charsetRule = node; - } - node.remove(); - } else if ( - !nonAsciiNode && - node.parent === css && - nonAscii.test(node.toString()) - ) { - nonAsciiNode = node; - } - }); - - if (nonAsciiNode) { - if (!charsetRule && opts.add !== false) { - charsetRule = new AtRule({ - name: charset, - params: '"utf-8"', - }); - } - if (charsetRule) { - charsetRule.source = nonAsciiNode.source; - css.prepend(charsetRule); - } - } - }, - }; -} - -pluginCreator.postcss = true; -module.exports = pluginCreator; |
