diff options
Diffstat (limited to 'node_modules/postcss-merge-rules')
9 files changed, 0 insertions, 950 deletions
diff --git a/node_modules/postcss-merge-rules/LICENSE-MIT b/node_modules/postcss-merge-rules/LICENSE-MIT deleted file mode 100644 index fd0e863a..00000000 --- a/node_modules/postcss-merge-rules/LICENSE-MIT +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) Ben Briggs <beneb.info@gmail.com> (http://beneb.info) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-merge-rules/README.md b/node_modules/postcss-merge-rules/README.md deleted file mode 100644 index ab93f9a7..00000000 --- a/node_modules/postcss-merge-rules/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# [postcss][postcss]-merge-rules - -> Merge CSS rules with PostCSS. - -## Install - -With [npm](https://npmjs.org/package/postcss-merge-rules) do: - -``` -npm install postcss-merge-rules --save -``` - -## Examples - -This module will attempt to merge *adjacent* CSS rules: - -### By declarations - -#### Input - -```css -a { - color: blue; - font-weight: bold -} - -p { - color: blue; - font-weight: bold -} -``` - -#### Output - -```css -a,p { - color: blue; - font-weight: bold -} -``` - -### By selectors - -#### Input - -```css -a { - color: blue -} - -a { - font-weight: bold -} -``` - -#### Output - -```css -a { - color: blue; - font-weight: bold -} -``` - -### By partial declarations - -#### Input - -```css -a { - font-weight: bold -} - -p { - color: blue; - font-weight: bold -} -``` - -#### Output - -```css -a,p { - font-weight: bold -} - -p { - color: blue -} -``` - -## Usage - -See the [PostCSS documentation](https://github.com/postcss/postcss#usage) for -examples for your environment. - -## Contributors - -See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md). - -## License - -MIT © [Ben Briggs](http://beneb.info) - -[postcss]: https://github.com/postcss/postcss diff --git a/node_modules/postcss-merge-rules/package.json b/node_modules/postcss-merge-rules/package.json deleted file mode 100644 index 904f06c1..00000000 --- a/node_modules/postcss-merge-rules/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "postcss-merge-rules", - "version": "6.1.1", - "description": "Merge CSS rules with PostCSS.", - "types": "types/index.d.ts", - "main": "src/index.js", - "files": [ - "LICENSE-MIT", - "src", - "types" - ], - "keywords": [ - "css", - "optimise", - "postcss", - "postcss-plugin" - ], - "license": "MIT", - "homepage": "https://github.com/cssnano/cssnano", - "author": { - "name": "Ben Briggs", - "email": "beneb.info@gmail.com", - "url": "http://beneb.info" - }, - "repository": "cssnano/cssnano", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "postcss-selector-parser": "^6.0.16", - "cssnano-utils": "^4.0.2" - }, - "bugs": { - "url": "https://github.com/cssnano/cssnano/issues" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "devDependencies": { - "@types/caniuse-api": "^3.0.6", - "postcss": "^8.4.37", - "postcss-simple-vars": "^7.0.1", - "postcss-discard-comments": "^6.0.2" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } -}
\ No newline at end of file diff --git a/node_modules/postcss-merge-rules/src/index.js b/node_modules/postcss-merge-rules/src/index.js deleted file mode 100644 index 686f880d..00000000 --- a/node_modules/postcss-merge-rules/src/index.js +++ /dev/null @@ -1,448 +0,0 @@ -'use strict'; -const { dirname } = require('path'); -const browserslist = require('browserslist'); -const { sameParent } = require('cssnano-utils'); -const { - ensureCompatibility, - sameVendor, - noVendor, -} = require('./lib/ensureCompatibility'); - -/** - * @param {import('postcss').Declaration} a - * @param {import('postcss').Declaration} b - * @return {boolean} - */ -function declarationIsEqual(a, b) { - return ( - a.important === b.important && a.prop === b.prop && a.value === b.value - ); -} - -/** - * @param {import('postcss').Declaration[]} array - * @param {import('postcss').Declaration} decl - * @return {number} - */ -function indexOfDeclaration(array, decl) { - return array.findIndex((d) => declarationIsEqual(d, decl)); -} - -/** - * Returns filtered array of matched or unmatched declarations - * @param {import('postcss').Declaration[]} a - * @param {import('postcss').Declaration[]} b - * @param {boolean} [not=false] - * @return {import('postcss').Declaration[]} - */ -function intersect(a, b, not) { - return a.filter((c) => { - const index = indexOfDeclaration(b, c) !== -1; - return not ? !index : index; - }); -} - -/** - * @param {import('postcss').Declaration[]} a - * @param {import('postcss').Declaration[]} b - * @return {boolean} - */ -function sameDeclarationsAndOrder(a, b) { - if (a.length !== b.length) { - return false; - } - return a.every((d, index) => declarationIsEqual(d, b[index])); -} - -/** - * @param {import('postcss').Rule} ruleA - * @param {import('postcss').Rule} ruleB - * @param {string[]=} browsers - * @param {Map<string, boolean>=} compatibilityCache - * @return {boolean} - */ -function canMerge(ruleA, ruleB, browsers, compatibilityCache) { - const a = ruleA.selectors; - const b = ruleB.selectors; - - const selectors = a.concat(b); - - if (!ensureCompatibility(selectors, browsers, compatibilityCache)) { - return false; - } - - const parent = sameParent( - /** @type {any} */ (ruleA), - /** @type {any} */ (ruleB) - ); - if ( - parent && - ruleA.parent && - ruleA.parent.type === 'atrule' && - /** @type {import('postcss').AtRule} */ (ruleA.parent).name.includes( - 'keyframes' - ) - ) { - return false; - } - if (ruleA.some(isRuleOrAtRule) || ruleB.some(isRuleOrAtRule)) { - return false; - } - return parent && (selectors.every(noVendor) || sameVendor(a, b)); -} - -/** - * @param {import('postcss').ChildNode} node - * @return {boolean} - */ -function isRuleOrAtRule(node) { - return node.type === 'rule' || node.type === 'atrule'; -} -/** - * @param {import('postcss').ChildNode} node - * @return {node is import('postcss').Declaration} - */ -function isDeclaration(node) { - return node.type === 'decl'; -} -/** - * @param {import('postcss').Rule} rule - * @return {import('postcss').Declaration[]} - */ -function getDecls(rule) { - return rule.nodes.filter(isDeclaration); -} - -/** @type {(...rules: import('postcss').Rule[]) => string} */ -const joinSelectors = (...rules) => rules.map((s) => s.selector).join(); - -/** - * @param {...import('postcss').Rule} rules - * @return {number} - */ -function ruleLength(...rules) { - return rules.map((r) => (r.nodes.length ? String(r) : '')).join('').length; -} - -/** - * @param {string} prop - * @return {{prefix: string?, base:string?, rest:string[]}} - */ -function splitProp(prop) { - // Treat vendor prefixed properties as if they were unprefixed; - // moving them when combined with non-prefixed properties can - // cause issues. e.g. moving -webkit-background-clip when there - // is a background shorthand definition. - - const parts = prop.split('-'); - if (prop[0] !== '-') { - return { - prefix: '', - base: parts[0], - rest: parts.slice(1), - }; - } - // Don't split css variables - if (prop[1] === '-') { - return { - prefix: null, - base: null, - rest: [prop], - }; - } - // Found prefix - return { - prefix: parts[1], - base: parts[2], - rest: parts.slice(3), - }; -} - -/** - * @param {string} propA - * @param {string} propB - * @return {boolean} - */ -function isConflictingProp(propA, propB) { - if (propA === propB) { - // Same specificity - return true; - } - const a = splitProp(propA); - const b = splitProp(propB); - // Don't resort css variables - if (!a.base && !b.base) { - return true; - } - - // Different base and none is `place`; - if (a.base !== b.base && a.base !== 'place' && b.base !== 'place') { - return false; - } - - // Conflict if rest-count mismatches - if (a.rest.length !== b.rest.length) { - return true; - } - - /* Do not merge conflicting border properties */ - if (a.base === 'border') { - const allRestProps = new Set([...a.rest, ...b.rest]); - if ( - allRestProps.has('image') || - allRestProps.has('width') || - allRestProps.has('color') || - allRestProps.has('style') - ) { - return true; - } - } - // Conflict if rest parameters are equal (same but unprefixed) - return a.rest.every((s, index) => b.rest[index] === s); -} - -/** - * @param {import('postcss').Rule} first - * @param {import('postcss').Rule} second - * @return {boolean} merged - */ -function mergeParents(first, second) { - // Null check for detached rules - if (!first.parent || !second.parent) { - return false; - } - - // Check if parents share node - if (first.parent === second.parent) { - return false; - } - - // sameParent() already called by canMerge() - - second.remove(); - first.parent.append(second); - return true; -} - -/** - * @param {import('postcss').Rule} first - * @param {import('postcss').Rule} second - * @return {import('postcss').Rule} mergedRule - */ -function partialMerge(first, second) { - let intersection = intersect(getDecls(first), getDecls(second)); - if (intersection.length === 0) { - return second; - } - let nextRule = second.next(); - if (!nextRule) { - // Grab next cousin - /** @type {any} */ - const parentSibling = - /** @type {import('postcss').Container<import('postcss').ChildNode>} */ ( - second.parent - ).next(); - nextRule = parentSibling && parentSibling.nodes && parentSibling.nodes[0]; - } - if (nextRule && nextRule.type === 'rule' && canMerge(second, nextRule)) { - let nextIntersection = intersect(getDecls(second), getDecls(nextRule)); - if (nextIntersection.length > intersection.length) { - mergeParents(second, nextRule); - first = second; - second = nextRule; - intersection = nextIntersection; - } - } - - const firstDecls = getDecls(first); - // Filter out intersections with later conflicts in First - intersection = intersection.filter((decl, intersectIndex) => { - const indexOfDecl = indexOfDeclaration(firstDecls, decl); - const nextConflictInFirst = firstDecls - .slice(indexOfDecl + 1) - .filter((d) => isConflictingProp(d.prop, decl.prop)); - if (nextConflictInFirst.length === 0) { - return true; - } - const nextConflictInIntersection = intersection - .slice(intersectIndex + 1) - .filter((d) => isConflictingProp(d.prop, decl.prop)); - if (nextConflictInFirst.length !== nextConflictInIntersection.length) { - return false; - } - return nextConflictInFirst.every((d, index) => - declarationIsEqual(d, nextConflictInIntersection[index]) - ); - }); - - // Filter out intersections with previous conflicts in Second - const secondDecls = getDecls(second); - intersection = intersection.filter((decl) => { - const nextConflictIndex = secondDecls.findIndex((d) => - isConflictingProp(d.prop, decl.prop) - ); - if (nextConflictIndex === -1) { - return false; - } - if (!declarationIsEqual(secondDecls[nextConflictIndex], decl)) { - return false; - } - if ( - decl.prop.toLowerCase() !== 'direction' && - decl.prop.toLowerCase() !== 'unicode-bidi' && - secondDecls.some( - (declaration) => declaration.prop.toLowerCase() === 'all' - ) - ) { - return false; - } - secondDecls.splice(nextConflictIndex, 1); - return true; - }); - - if (intersection.length === 0) { - // Nothing to merge - return second; - } - - const receivingBlock = second.clone(); - receivingBlock.selector = joinSelectors(first, second); - receivingBlock.nodes = []; - - /** @type {import('postcss').Container<import('postcss').ChildNode>} */ ( - second.parent - ).insertBefore(second, receivingBlock); - - const firstClone = first.clone(); - const secondClone = second.clone(); - - /** - * @param {function(import('postcss').Declaration):void} callback - * @this void - * @return {function(import('postcss').Declaration)} - */ - function moveDecl(callback) { - return (decl) => { - if (indexOfDeclaration(intersection, decl) !== -1) { - callback.call(this, decl); - } - }; - } - firstClone.walkDecls( - moveDecl((decl) => { - decl.remove(); - receivingBlock.append(decl); - }) - ); - secondClone.walkDecls(moveDecl((decl) => decl.remove())); - const merged = ruleLength(firstClone, receivingBlock, secondClone); - const original = ruleLength(first, second); - if (merged < original) { - first.replaceWith(firstClone); - second.replaceWith(secondClone); - [firstClone, receivingBlock, secondClone].forEach((r) => { - if (r.nodes.length === 0) { - r.remove(); - } - }); - if (!secondClone.parent) { - return receivingBlock; - } - return secondClone; - } else { - receivingBlock.remove(); - return second; - } -} - -/** - * @param {string[]} browsers - * @param {Map<string, boolean>} compatibilityCache - * @return {function(import('postcss').Rule)} - */ -function selectorMerger(browsers, compatibilityCache) { - /** @type {import('postcss').Rule | null} */ - let cache = null; - return function (rule) { - // Prime the cache with the first rule, or alternately ensure that it is - // safe to merge both declarations before continuing - if (!cache || !canMerge(rule, cache, browsers, compatibilityCache)) { - cache = rule; - return; - } - // Ensure that we don't deduplicate the same rule; this is sometimes - // caused by a partial merge - if (cache === rule) { - cache = rule; - return; - } - - // Parents merge: check if the rules have same parents, but not same parent nodes - mergeParents(cache, rule); - - // Merge when declarations are exactly equal - // e.g. h1 { color: red } h2 { color: red } - if (sameDeclarationsAndOrder(getDecls(rule), getDecls(cache))) { - rule.selector = joinSelectors(cache, rule); - cache.remove(); - cache = rule; - return; - } - // Merge when both selectors are exactly equal - // e.g. a { color: blue } a { font-weight: bold } - if (cache.selector === rule.selector) { - const cached = getDecls(cache); - rule.walk((node) => { - if (node.type === 'decl' && indexOfDeclaration(cached, node) !== -1) { - node.remove(); - return; - } - /** @type {import('postcss').Rule} */ (cache).append(node); - }); - rule.remove(); - return; - } - // Partial merge: check if the rule contains a subset of the last; if - // so create a joined selector with the subset, if smaller. - cache = partialMerge(cache, rule); - }; -} - -/** - * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions - * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions - * @typedef {AutoprefixerOptions & BrowserslistOptions} Options - */ - -/** - * @type {import('postcss').PluginCreator<Options>} - * @param {Options} opts - * @return {import('postcss').Plugin} - */ -function pluginCreator(opts = {}) { - return { - postcssPlugin: 'postcss-merge-rules', - - /** - * @param {import('postcss').Result & {opts: BrowserslistOptions & {file?: string}}} result - */ - prepare(result) { - const { stats, env, from, file } = result.opts || {}; - const browsers = browserslist(opts.overrideBrowserslist, { - stats: opts.stats || stats, - path: opts.path || dirname(from || file || __filename), - env: opts.env || env, - }); - - const compatibilityCache = new Map(); - return { - OnceExit(css) { - css.walkRules(selectorMerger(browsers, compatibilityCache)); - }, - }; - }, - }; -} - -pluginCreator.postcss = true; -module.exports = pluginCreator; diff --git a/node_modules/postcss-merge-rules/src/lib/ensureCompatibility.js b/node_modules/postcss-merge-rules/src/lib/ensureCompatibility.js deleted file mode 100644 index e8f60f09..00000000 --- a/node_modules/postcss-merge-rules/src/lib/ensureCompatibility.js +++ /dev/null @@ -1,231 +0,0 @@ -'use strict'; -const { isSupported } = require('caniuse-api'); -const selectorParser = require('postcss-selector-parser'); - -const simpleSelectorRe = /^#?[-._a-z0-9 ]+$/i; - -const cssSel2 = 'css-sel2'; -const cssSel3 = 'css-sel3'; -const cssGencontent = 'css-gencontent'; -const cssFirstLetter = 'css-first-letter'; -const cssFirstLine = 'css-first-line'; -const cssInOutOfRange = 'css-in-out-of-range'; -const formValidation = 'form-validation'; - -const vendorPrefix = - /-(ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)-/; - -const level2Sel = new Set(['=', '~=', '|=']); -const level3Sel = new Set(['^=', '$=', '*=']); - -/** - * @param {string} selector - * @return {RegExpMatchArray | null} - */ -function filterPrefixes(selector) { - return selector.match(vendorPrefix); -} - -/** - * Internet Explorer use :-ms-input-placeholder. - * Microsoft Edge use ::-ms-input-placeholder. - * - * @type {(selector: string) => number} - */ -const findMsInputPlaceholder = (selector) => - ~selector.search(/-ms-input-placeholder/i); - -/** - * @param {string[]} selectorsA - * @param {string[]} selectorsB - * @return {boolean} - */ -function sameVendor(selectorsA, selectorsB) { - /** @type {(selectors: string[]) => string} */ - let same = (selectors) => selectors.map(filterPrefixes).join(); - /** @type {(selectors: string[]) => string | undefined} */ - let findMsVendor = (selectors) => selectors.find(findMsInputPlaceholder); - return ( - same(selectorsA) === same(selectorsB) && - !(findMsVendor(selectorsA) && findMsVendor(selectorsB)) - ); -} - -/** - * @param {string} selector - * @return {boolean} - */ -function noVendor(selector) { - return !vendorPrefix.test(selector); -} - -const pseudoElements = { - ':active': cssSel2, - ':after': cssGencontent, - ':any-link': 'css-any-link', - ':before': cssGencontent, - ':checked': cssSel3, - ':default': 'css-default-pseudo', - ':dir': 'css-dir-pseudo', - ':disabled': cssSel3, - ':empty': cssSel3, - ':enabled': cssSel3, - ':first-child': cssSel2, - ':first-letter': cssFirstLetter, - ':first-line': cssFirstLine, - ':first-of-type': cssSel3, - ':focus': cssSel2, - ':focus-within': 'css-focus-within', - ':focus-visible': 'css-focus-visible', - ':has': 'css-has', - ':hover': cssSel2, - ':in-range': cssInOutOfRange, - ':indeterminate': 'css-indeterminate-pseudo', - ':invalid': formValidation, - ':is': 'css-matches-pseudo', - ':lang': cssSel2, - ':last-child': cssSel3, - ':last-of-type': cssSel3, - ':link': cssSel2, - ':matches': 'css-matches-pseudo', - ':not': cssSel3, - ':nth-child': cssSel3, - ':nth-last-child': cssSel3, - ':nth-last-of-type': cssSel3, - ':nth-of-type': cssSel3, - ':only-child': cssSel3, - ':only-of-type': cssSel3, - ':optional': 'css-optional-pseudo', - ':out-of-range': cssInOutOfRange, - ':placeholder-shown': 'css-placeholder-shown', - ':required': formValidation, - ':root': cssSel3, - ':target': cssSel3, - '::after': cssGencontent, - '::backdrop': 'dialog', - '::before': cssGencontent, - '::first-letter': cssFirstLetter, - '::first-line': cssFirstLine, - '::marker': 'css-marker-pseudo', - '::placeholder': 'css-placeholder', - '::selection': 'css-selection', - ':valid': formValidation, - ':visited': cssSel2, -}; - -/** - * @param {string} selector - * @return {boolean} - */ -function isCssMixin(selector) { - return selector[selector.length - 1] === ':'; -} - -/** - * @param {string} selector - * @return {boolean} - */ -function isHostPseudoClass(selector) { - return selector.includes(':host'); -} - -const isSupportedCache = new Map(); - -// Move to util in future -/** - * @param {string} feature - * @param {string[] | undefined} browsers - */ -function isSupportedCached(feature, browsers) { - const key = JSON.stringify({ feature, browsers }); - let result = isSupportedCache.get(key); - - if (!result) { - result = isSupported(feature, /** @type {string[]} */ (browsers)); - isSupportedCache.set(key, result); - } - - return result; -} - -/** - * @param {string[]} selectors - * @param{string[]=} browsers - * @param{Map<string,boolean>=} compatibilityCache - * @return {boolean} - */ -function ensureCompatibility(selectors, browsers, compatibilityCache) { - // Should not merge mixins - if (selectors.some(isCssMixin)) { - return false; - } - - // Should not merge :host selector https://github.com/angular/angular-cli/issues/18672 - if (selectors.some(isHostPseudoClass)) { - return false; - } - return selectors.every((selector) => { - if (simpleSelectorRe.test(selector)) { - return true; - } - if (compatibilityCache && compatibilityCache.has(selector)) { - return compatibilityCache.get(selector); - } - let compatible = true; - selectorParser((ast) => { - ast.walk((node) => { - const { type, value } = node; - if (type === 'pseudo') { - const entry = - pseudoElements[/** @type {keyof pseudoElements} */ (value)]; - if (!entry && noVendor(value)) { - compatible = false; - } - if (entry && compatible) { - compatible = isSupportedCached(entry, browsers); - } - } - if (type === 'combinator') { - if (value.includes('~')) { - compatible = isSupportedCached(cssSel3, browsers); - } - if (value.includes('>') || value.includes('+')) { - compatible = isSupportedCached(cssSel2, browsers); - } - } - if (type === 'attribute' && node.attribute) { - // [foo] - if (!node.operator) { - compatible = isSupportedCached(cssSel2, browsers); - } - if (value) { - // [foo="bar"], [foo~="bar"], [foo|="bar"] - if (level2Sel.has(/** @type {string} */ (node.operator))) { - compatible = isSupportedCached(cssSel2, browsers); - } - // [foo^="bar"], [foo$="bar"], [foo*="bar"] - if (level3Sel.has(/** @type {string} */ (node.operator))) { - compatible = isSupportedCached(cssSel3, browsers); - } - } - - // [foo="bar" i] - if (node.insensitive) { - compatible = isSupportedCached('css-case-insensitive', browsers); - } - } - if (!compatible) { - // If this node was not compatible, - // break out early from walking the rest - return false; - } - }); - }).processSync(selector); - if (compatibilityCache) { - compatibilityCache.set(selector, compatible); - } - return compatible; - }); -} - -module.exports = { sameVendor, noVendor, pseudoElements, ensureCompatibility }; diff --git a/node_modules/postcss-merge-rules/types/index.d.ts b/node_modules/postcss-merge-rules/types/index.d.ts deleted file mode 100644 index 9d7777f9..00000000 --- a/node_modules/postcss-merge-rules/types/index.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -export = pluginCreator; -/** - * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions - * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions - * @typedef {AutoprefixerOptions & BrowserslistOptions} Options - */ -/** - * @type {import('postcss').PluginCreator<Options>} - * @param {Options} opts - * @return {import('postcss').Plugin} - */ -declare function pluginCreator(opts?: Options): import('postcss').Plugin; -declare namespace pluginCreator { - export { postcss, AutoprefixerOptions, BrowserslistOptions, Options }; -} -type Options = AutoprefixerOptions & BrowserslistOptions; -declare var postcss: true; -type AutoprefixerOptions = { - overrideBrowserslist?: string | string[]; -}; -type BrowserslistOptions = Pick<browserslist.Options, 'stats' | 'path' | 'env'>; -import browserslist = require("browserslist"); -//# sourceMappingURL=index.d.ts.map
\ No newline at end of file diff --git a/node_modules/postcss-merge-rules/types/index.d.ts.map b/node_modules/postcss-merge-rules/types/index.d.ts.map deleted file mode 100644 index 9d8590f9..00000000 --- a/node_modules/postcss-merge-rules/types/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";AA0ZA;;;;GAIG;AAEH;;;;GAIG;AACH,sCAHW,OAAO,GACN,OAAO,SAAS,EAAE,MAAM,CAyBnC;;;;eA/BY,mBAAmB,GAAG,mBAAmB;;2BAFzC;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE;2BAC5C,KAAK,oBAAoB,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC"}
\ No newline at end of file diff --git a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts b/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts deleted file mode 100644 index 5fe9eea7..00000000 --- a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * @param {string[]} selectorsA - * @param {string[]} selectorsB - * @return {boolean} - */ -export function sameVendor(selectorsA: string[], selectorsB: string[]): boolean; -/** - * @param {string} selector - * @return {boolean} - */ -export function noVendor(selector: string): boolean; -export const pseudoElements: { - ':active': string; - ':after': string; - ':any-link': string; - ':before': string; - ':checked': string; - ':default': string; - ':dir': string; - ':disabled': string; - ':empty': string; - ':enabled': string; - ':first-child': string; - ':first-letter': string; - ':first-line': string; - ':first-of-type': string; - ':focus': string; - ':focus-within': string; - ':focus-visible': string; - ':has': string; - ':hover': string; - ':in-range': string; - ':indeterminate': string; - ':invalid': string; - ':is': string; - ':lang': string; - ':last-child': string; - ':last-of-type': string; - ':link': string; - ':matches': string; - ':not': string; - ':nth-child': string; - ':nth-last-child': string; - ':nth-last-of-type': string; - ':nth-of-type': string; - ':only-child': string; - ':only-of-type': string; - ':optional': string; - ':out-of-range': string; - ':placeholder-shown': string; - ':required': string; - ':root': string; - ':target': string; - '::after': string; - '::backdrop': string; - '::before': string; - '::first-letter': string; - '::first-line': string; - '::marker': string; - '::placeholder': string; - '::selection': string; - ':valid': string; - ':visited': string; -}; -/** - * @param {string[]} selectors - * @param{string[]=} browsers - * @param{Map<string,boolean>=} compatibilityCache - * @return {boolean} - */ -export function ensureCompatibility(selectors: string[], browsers?: string[] | undefined, compatibilityCache?: Map<string, boolean> | undefined): boolean; -//# sourceMappingURL=ensureCompatibility.d.ts.map
\ No newline at end of file diff --git a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts.map b/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts.map deleted file mode 100644 index 2c2ae719..00000000 --- a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ensureCompatibility.d.ts","sourceRoot":"","sources":["../../src/lib/ensureCompatibility.js"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,uCAJW,MAAM,EAAE,cACR,MAAM,EAAE,GACP,OAAO,CAWlB;AAED;;;GAGG;AACH,mCAHW,MAAM,GACL,OAAO,CAIlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDE;AAqCF;;;;;GAKG;AACH,+CALW,MAAM,EAAE,aACT,MAAM,EAAE,mCACR,IAAI,MAAM,EAAC,OAAO,CAAC,eACjB,OAAO,CA0ElB"}
\ No newline at end of file |
