From 17e76d772c1ffb97dbff0594c7994197eb50f1d6 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 2 Feb 2022 23:05:12 +0100 Subject: [PATCH] Upgrade to PostCSS 8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The PostCSS 7’ `postcss.plugin` method has been deprecated in favour of manually created function returning an object containing various event handling functions like `Once`, `Declaration`, `Rule` and many more. ```patch - module.exports = postcss.plugin('postcss-dark-theme-class', (opts = {}) => { - checkOpts(opts) - return (root, result) => { root.walkAtRules(atrule => { … }) - } - }) ``` ```patch + module.exports = (opts = {}) => { + checkOpts(opts) + return { + postcssPlugin: 'postcss-dark-theme-class', + Once (root, { result }) { root.walkAtRules(atrule => { … }) + } + } + } + module.exports.postcss = true ``` https://evilmartians.com/chronicles/postcss-8-plugin-migration --- example.js | 4 +- index.js | 9 +-- package.json | 3 +- yarn.lock | 163 ++++++++++++++------------------------------------- 4 files changed, 52 insertions(+), 127 deletions(-) diff --git a/example.js b/example.js index 8da3073..3d50e77 100644 --- a/example.js +++ b/example.js @@ -5,10 +5,10 @@ const postcssNested = require("postcss-nested"); const isPostCSSPlugin = require("./"); /* Plugin (factory) */ -console.log(validateValue(postcssNested, [ isPostCSSPlugin ])); // { process: [Function] } +console.log(validateValue(postcssNested, [ isPostCSSPlugin ])); // [Function (anonymous)] { postcss: true } /* Plugin function (instance) */ -console.log(validateValue(postcssNested(), [ isPostCSSPlugin ])); // { postcssPlugin: 'postcss-nested', postcssVersion: '7.0.32' } +console.log(validateValue(postcssNested(), [ isPostCSSPlugin ])); // { postcssPlugin: 'postcss-nested', Rule: [Function: Rule] } console.log(validateValue("hello world", [ isPostCSSPlugin ])); /* AggregrateValidationError: One or more validation errors occurred: diff --git a/index.js b/index.js index f140989..ff6cd7f 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ const wrapError = require("@validatem/wrap-error"); const hasShape = require("@validatem/has-shape"); const isFunction = require("@validatem/is-function"); +const isPlainObject = require("@validatem/is-plain-object"); const allowExtraProperties = require("@validatem/allow-extra-properties"); const either = require("@validatem/either"); const required = require("@validatem/required"); @@ -11,7 +12,7 @@ const ValidationError = require("@validatem/error"); // NOTE: We use `hasShape` explicitly here, since the implicit `hasShape` wrapper you get when specifying an object literal will also enforce that the value *itself* is a plain object. But that is not the case for PostCSS plugins, which are functions that happen to have additional properties specified on them. function hasPostCSSProperty(object) { - // This is custom logic that only checks whether the property *exists*, and is guaranteed not to attempt to get its *value*, as the property is a getter that lazily constructs an instance. We don't want to trigger that logic just by checking the shape of the object, which might happen if we specify the property in the `hasShape` rule instead. + // This is custom logic that only checks whether the property *exists*, and is guaranteed not to attempt to get its *value* as on PostCSS 7, the property is a getter that lazily constructs an instance. We don't want to trigger that logic just by checking the shape of the object, which might happen if we specify the property in the `hasShape` rule instead. if (!("postcss" in object)) { throw new ValidationError(`Must have a 'postcss' property`); } @@ -20,16 +21,12 @@ function hasPostCSSProperty(object) { let plugin = [ isFunction, hasPostCSSProperty, - allowExtraProperties(hasShape({ - process: [ required, isFunction ] - })), ]; let pluginFunction = [ - isFunction, + isPlainObject, allowExtraProperties(hasShape({ postcssPlugin: [ required ], - postcssVersion: [ required ] })) ]; diff --git a/package.json b/package.json index bae0b55..d8b8a5e 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,12 @@ "@validatem/error": "^1.0.0", "@validatem/has-shape": "^0.1.5", "@validatem/is-function": "^0.1.0", + "@validatem/is-plain-object": "^0.1.1", "@validatem/required": "^0.1.1", "@validatem/wrap-error": "^0.1.2" }, "devDependencies": { "@validatem/core": "^0.3.3", - "postcss-nested": "^4.2.1" + "postcss-nested": "^5.0.0" } } diff --git a/yarn.lock b/yarn.lock index 4675e88..d94d98c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,21 +4,21 @@ "@validatem/allow-extra-properties@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/allow-extra-properties/-/allow-extra-properties-0.1.0.tgz#e8c434818d6fd74b8cb237cfaa4d548295de13c1" + resolved "https://registry.npmjs.org/@validatem/allow-extra-properties/-/allow-extra-properties-0.1.0.tgz" integrity sha512-9jihpYxw1vp4FdjnbN0bTVZMLYv//9OjFNTsVLG5OV4xHESwtgkgQEF5/N5rY1iBwoH/pcKuRl44MBZ8eMdrKw== dependencies: "@validatem/with-context" "^0.1.0" "@validatem/annotate-errors@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/annotate-errors/-/annotate-errors-0.1.2.tgz#fa9152bb30f4f42b69496b527e38f0c31ff605a9" + resolved "https://registry.npmjs.org/@validatem/annotate-errors/-/annotate-errors-0.1.2.tgz" integrity sha512-EuX7pzdYI/YpTmZcgdPG481Oi3elAg8JWh/LYXuE1h6MaZk3A8eP5DD33/l7EoKzrysn6y8nCsqNa1ngei562w== dependencies: "@validatem/match-validation-error" "^0.1.0" "@validatem/any-property@^0.1.0": version "0.1.3" - resolved "https://registry.yarnpkg.com/@validatem/any-property/-/any-property-0.1.3.tgz#fc7768c1922a8bacff9369ae48913672e5350f52" + resolved "https://registry.npmjs.org/@validatem/any-property/-/any-property-0.1.3.tgz" integrity sha512-jYWxif5ff9pccu7566LIQ/4+snlApXEJUimBywzAriBgS3r4eDBbz3oZFHuiPmhxNK/NNof5YUS+L6Sk3zaMfg== dependencies: "@validatem/annotate-errors" "^0.1.2" @@ -30,12 +30,12 @@ "@validatem/combinator@^0.1.0", "@validatem/combinator@^0.1.1": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/combinator/-/combinator-0.1.2.tgz#eab893d55f1643b9c6857eaf6ff7ed2a728e89ff" + resolved "https://registry.npmjs.org/@validatem/combinator/-/combinator-0.1.2.tgz" integrity sha512-vE8t1tNXknmN62FlN6LxQmA2c6TwVKZ+fl/Wit3H2unFdOhu7SZj2kRPGjAXdK/ARh/3svYfUBeD75pea0j1Sw== "@validatem/core@^0.3.3": version "0.3.3" - resolved "https://registry.yarnpkg.com/@validatem/core/-/core-0.3.3.tgz#f9d812ba75c073e3879b3afae8f5c8c356992717" + resolved "https://registry.npmjs.org/@validatem/core/-/core-0.3.3.tgz" integrity sha512-2rJdTwc/KlyjQtdn9uWgWYdqLOB3F47tV/Ew5XQ67bHabZhrF6xZF97B6I+C340HH0A7YW1tgNTnKsNh0PvhCg== dependencies: "@validatem/annotate-errors" "^0.1.2" @@ -56,7 +56,7 @@ "@validatem/either@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/either/-/either-0.1.2.tgz#61ff451b5596ef4dacb1be39a1bd3e40203505c8" + resolved "https://registry.npmjs.org/@validatem/either/-/either-0.1.2.tgz" integrity sha512-oZwINgEKZ52lrKM5gNEWIdGVlEurdjTonslBWRVbVTxCEEKyXi4dQ7k84yxuG6JOXg3apw1xOBPgzOiQyH89SQ== dependencies: "@validatem/combinator" "^0.1.1" @@ -64,14 +64,14 @@ "@validatem/error@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@validatem/error/-/error-1.0.0.tgz#a975904aa4c3e7618d89088a393567a5e1778340" + resolved "https://registry.npmjs.org/@validatem/error/-/error-1.0.0.tgz" integrity sha512-7M3tV4DhCuimuCRdC2L/topBByDjhzspzeQGNU0S4/mdn2aDNtESYE43K/2Kh/utCAhqXh2gyw89WYxy//t3fQ== dependencies: create-error "^0.3.1" "@validatem/has-shape@^0.1.0", "@validatem/has-shape@^0.1.5": version "0.1.5" - resolved "https://registry.yarnpkg.com/@validatem/has-shape/-/has-shape-0.1.5.tgz#7fc727e8254fa17c30e1eb4a7661767bb7701535" + resolved "https://registry.npmjs.org/@validatem/has-shape/-/has-shape-0.1.5.tgz" integrity sha512-Ht+GOOZOle5A7QpcI8cXSfDoGIe//JrA70ibpFOVy7946WQAFmB2icoyUXwsZY+ybnZwY4g/y1NqyqVQ/Z8hzw== dependencies: "@validatem/annotate-errors" "^0.1.2" @@ -91,7 +91,7 @@ "@validatem/error" "^1.0.0" is-callable "^1.1.5" -"@validatem/is-plain-object@^0.1.0": +"@validatem/is-plain-object@^0.1.0", "@validatem/is-plain-object@^0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@validatem/is-plain-object/-/is-plain-object-0.1.1.tgz#b7a3ef8ef960882c7c41e84ed709fa0bfb932e93" integrity sha512-aNGbNIbKRpYI0lRBczlTBbiA+nqN52ADAASdySKg2/QeSCVtYS4uOIeCNIJRAgXe/5sUnLTuL4pgq628uAl7Kw== @@ -101,29 +101,29 @@ "@validatem/match-special@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/match-special/-/match-special-0.1.0.tgz#4e0c28f1aee5bf53c1ef30bbf8c755d4946ae0ff" + resolved "https://registry.npmjs.org/@validatem/match-special/-/match-special-0.1.0.tgz" integrity sha512-TFiq9Wk/1Hoja4PK85WwNYnwBXk3+Lgoj59ZIMxm2an1qmNYp8j+BnSvkKBflba451yIn6V1laU9NJf+/NYZgw== "@validatem/match-validation-error@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/match-validation-error/-/match-validation-error-0.1.0.tgz#fa87f5f1836e7c1d9bf6b75b2addf0a5b21e4c1e" + resolved "https://registry.npmjs.org/@validatem/match-validation-error/-/match-validation-error-0.1.0.tgz" integrity sha512-6akGTk7DdulOreyqDiGdikwRSixQz/AlvARSX18dcWaTFc79KxCLouL2hyoFcor9IIUhu5RTY4/i756y4T1yxA== dependencies: "@validatem/match-versioned-special" "^0.1.0" "@validatem/match-versioned-special@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/match-versioned-special/-/match-versioned-special-0.1.0.tgz#2eacc48debecdbbe7e3d02f0c0a665afaea9bedf" + resolved "https://registry.npmjs.org/@validatem/match-versioned-special/-/match-versioned-special-0.1.0.tgz" integrity sha512-xoOTY0bdA2ELj+ntcDVJ8YyMEFIJpjZ4HNPL9lGcbnRFwJBhQcHUAhUpZwkMxu02zH9wkNM1FvYGHxPz40745Q== "@validatem/match-virtual-property@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/match-virtual-property/-/match-virtual-property-0.1.0.tgz#4de2de1075987b5f3b356d3f2bcf6c0be5b5fb83" + resolved "https://registry.npmjs.org/@validatem/match-virtual-property/-/match-virtual-property-0.1.0.tgz" integrity sha512-ssd3coFgwbLuqvZftLZTy3eHN0TFST8oTS2XTViQdXJPXVoJmwEKBpFhXgwnb5Ly1CE037R/KWpjhd1TP/56kQ== "@validatem/normalize-rules@^0.1.0": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/normalize-rules/-/normalize-rules-0.1.2.tgz#6529f17a6f36c6e2ae3ef285c59347c2ea208aa1" + resolved "https://registry.npmjs.org/@validatem/normalize-rules/-/normalize-rules-0.1.2.tgz" integrity sha512-IHc81Sy/W0OiCbmvE3kTB+5OPVJnXWHP2tTXvKO6hVH0qykclMvIPRGgZf1s4dLaeOLKdkkfKyO/pLTVyNCIbA== dependencies: "@validatem/has-shape" "^0.1.0" @@ -136,31 +136,31 @@ "@validatem/required@^0.1.0", "@validatem/required@^0.1.1": version "0.1.1" - resolved "https://registry.yarnpkg.com/@validatem/required/-/required-0.1.1.tgz#64f4a87333fc5955511634036b7f8948ed269170" + resolved "https://registry.npmjs.org/@validatem/required/-/required-0.1.1.tgz" integrity sha512-vI4NzLfay4RFAzp7xyU34PHb8sAo6w/3frrNh1EY9Xjnw2zxjY5oaxwmbFP1jVevBE6QQEnKogtzUHz/Zuvh6g== "@validatem/validation-result@^0.1.1", "@validatem/validation-result@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/validation-result/-/validation-result-0.1.2.tgz#4e75cfd87305fc78f8d05ac84921a2c99a0348e0" + resolved "https://registry.npmjs.org/@validatem/validation-result/-/validation-result-0.1.2.tgz" integrity sha512-okmP8JarIwIgfpaVcvZGuQ1yOsLKT3Egt49Ynz6h1MAeGsP/bGHXkkXtbiWOVsk5Tzku5vDVFSrFnF+5IEHKxw== dependencies: default-value "^1.0.0" "@validatem/virtual-property@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@validatem/virtual-property/-/virtual-property-0.1.0.tgz#880540dfd149f98ecf1095d93912e34443381fe4" + resolved "https://registry.npmjs.org/@validatem/virtual-property/-/virtual-property-0.1.0.tgz" integrity sha512-JUUvWtdqoSkOwlsl20oB3qFHYIL05a/TAfdY4AJcs55QeVTiX5iI1b8IoQW644sIWWooBuLv+XwoxjRsQFczlQ== "@validatem/with-context@^0.1.0": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/with-context/-/with-context-0.1.2.tgz#3645c04897664f70995104961277e07b61b4f615" + resolved "https://registry.npmjs.org/@validatem/with-context/-/with-context-0.1.2.tgz" integrity sha512-noAWf4CsmU+BCz+KOg3GPq9+R9BQLWOQnOgWVfkYHFdLnnbLhl8w/ONdzvFzUYGHIZGKZwsWVCp+Kwz/tAfMnA== dependencies: "@validatem/combinator" "^0.1.1" "@validatem/wrap-error@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@validatem/wrap-error/-/wrap-error-0.1.2.tgz#146394ef8c9f78df0bb249a03e14b760f6c749fc" + resolved "https://registry.npmjs.org/@validatem/wrap-error/-/wrap-error-0.1.2.tgz" integrity sha512-UgXDcBUEyo0cHRbUWi8Wl0Bf88L/QLNVKIlxGhiyQwsatk9aDVsNC3H7NgLev1mjjST0idxic8+zGAP4UcYRuA== dependencies: "@validatem/combinator" "^0.1.1" @@ -171,47 +171,19 @@ default-value "^1.0.0" split-filter-n "^1.1.2" -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - as-expression@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/as-expression/-/as-expression-1.0.0.tgz#7bc620ca4cb2fe0ee90d86729bd6add33b8fd831" + resolved "https://registry.npmjs.org/as-expression/-/as-expression-1.0.0.tgz" integrity sha512-Iqh4GxNUfxbJdGn6b7/XMzc8m1Dz2ZHouBQ9DDTzyMRO3VPPIAXeoY/sucRxxxXKbUtzwzWZSN6jPR3zfpYHHA== assure-array@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assure-array/-/assure-array-1.0.0.tgz#4f4ad16a87659d6200a4fb7103462033d216ec1f" + resolved "https://registry.npmjs.org/assure-array/-/assure-array-1.0.0.tgz" integrity sha1-T0rRaodlnWIApPtxA0YgM9IW7B8= -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - create-error@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/create-error/-/create-error-0.3.1.tgz#69810245a629e654432bf04377360003a5351a23" + resolved "https://registry.npmjs.org/create-error/-/create-error-0.3.1.tgz" integrity sha1-aYECRaYp5lRDK/BDdzYAA6U1GiM= cssesc@^3.0.0: @@ -221,102 +193,57 @@ cssesc@^3.0.0: default-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/default-value/-/default-value-1.0.0.tgz#8c6f52a5a1193fe78fdc9f86eb71d16c9757c83a" + resolved "https://registry.npmjs.org/default-value/-/default-value-1.0.0.tgz" integrity sha1-jG9SpaEZP+eP3J+G63HRbJdXyDo= dependencies: es6-promise-try "0.0.1" es6-promise-try@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/es6-promise-try/-/es6-promise-try-0.0.1.tgz#10f140dad27459cef949973e5d21a087f7274b20" + resolved "https://registry.npmjs.org/es6-promise-try/-/es6-promise-try-0.0.1.tgz" integrity sha1-EPFA2tJ0Wc75SZc+XSGgh/cnSyA= -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - flatten@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - is-arguments@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz" integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== is-callable@^1.1.5: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -postcss-nested@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.1.tgz#4bc2e5b35e3b1e481ff81e23b700da7f82a8b248" - integrity sha512-AMayXX8tS0HCp4O4lolp4ygj9wBn32DJWXvG6gCv+ZvJrEa00GUxJcJEEzMh87BIe6FrWdYkpR2cuyqHKrxmXw== +postcss-nested@^5.0.0: + version "5.0.6" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" + integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== dependencies: - postcss "^7.0.21" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^6.0.6" -postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== +postcss-selector-parser@^6.0.6: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@^7.0.21: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + util-deprecate "^1.0.2" split-filter-n@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/split-filter-n/-/split-filter-n-1.1.2.tgz#268be1ec9c4d93dfb27b030c06165ac1b6f70f66" + resolved "https://registry.npmjs.org/split-filter-n/-/split-filter-n-1.1.2.tgz" integrity sha512-+hXSQYpKe1uyXPXI4zQtAJAlaF2EzEc+BaF2goMeNL5oUD5YLqrVcpjxELJxpomXfwMCUaYLAszEbdY9gKVdHQ== -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=