Mirror: CSS prefixing helpers in less than 1KB ๐ŸŒˆ

Compare changes

Choose any two refs to compare.

+26
.github/workflows/mirror.yml
···
+
# Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh)
+
name: Mirror (Git Backup)
+
on:
+
push:
+
branches:
+
- main
+
jobs:
+
mirror:
+
runs-on: ubuntu-latest
+
steps:
+
- name: Checkout repository
+
uses: actions/checkout@v4
+
with:
+
fetch-depth: 0
+
fetch-tags: true
+
- name: Mirror
+
env:
+
MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }}
+
GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes'
+
run: |
+
mkdir -p ~/.ssh
+
echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa
+
chmod 600 ~/.ssh/id_rsa
+
ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts
+
git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}"
+
git push --mirror mirror
+9
README.md
···
return css;
};
```
+
+
Additionally `prefixValue` can accept full declarations to avoid
+
having to apply it before concatenation, which can be useful in case
+
you're trying to minimise string operations:
+
+
```js
+
const declaration = 'position: sticky';
+
prefixValue(declaration, declaration); // 'position: -webkit-sticky, sticky'
+
```
+12 -2
package.json
···
{
"name": "tiny-css-prefixer",
"description": "CSS prefixing helpers in less than 1KB",
-
"version": "1.1.2",
+
"version": "1.1.4",
"main": "dist/tiny-css-prefixer.js",
"module": "dist/tiny-css-prefixer.es.js",
"source": "src/index.js",
"types": "src/index.d.ts",
+
"sideEffects": false,
"author": "Phil Pluckthun <phil@kitten.sh>",
"license": "MIT",
+
"keywords": [
+
"css",
+
"prefixer",
+
"autoprefixer"
+
],
+
"repository": "https://github.com/kitten/tiny-css-prefixer",
+
"bugs": {
+
"url": "https://github.com/kitten/tiny-css-prefixer/issues"
+
},
"files": [
"*.md",
"dist",
···
"@rollup/plugin-commonjs": "^11.0.1",
"@rollup/plugin-node-resolve": "^7.0.0",
"babel-plugin-codegen": "^3.1.0",
-
"codegen.macro": "^3.0.0",
"inline-style-prefixer": "^5.1.0",
"mdn-data": "^2.0.6",
"npm-run-all": "^4.1.5",
"rollup": "^1.29.0",
"rollup-plugin-babel": "^4.3.3",
+
"rollup-plugin-filesize": "6.2.1",
"rollup-plugin-terser": "^5.2.0"
}
}
+5
rollup.config.js
···
import buble from '@rollup/plugin-buble';
import babel from 'rollup-plugin-babel';
import { terser } from 'rollup-plugin-terser';
+
import filesize from 'rollup-plugin-filesize';
+
const terserMinified = terser({
sourcemap: false,
···
esModule: false,
file: `./dist/tiny-css-prefixer.es.js`,
format: 'esm',
+
plugins: [
+
filesize()
+
]
},
],
};
+24 -17
scripts/generate-prefix-map.js
···
// NOTE: Their variants with before/after are not supported
// by Firefox and should be avoided
properties.push(...[
-
'margin-start',
-
'margin-end',
-
'padding-start',
-
'padding-end',
'border-start',
'border-start-color',
'border-start-style',
···
!properties.some(({ name }) => name === x)
));
+
/** Finds the minimum starting substring that uniquely identifier a property out of all known CSS properties */
+
const findMinimumSubstr = name => {
+
for (let i = 2, l = name.length; i < l; i++) {
+
const substr = name.slice(0, i);
+
// Check for any name that conflicts with the substring in all known CSS properties
+
if (stablePropertyNames.every(x => x === name || !x.startsWith(substr))) {
+
return substr;
+
}
+
}
+
+
return name;
+
};
+
/** Lists each prefixed property with the minimum substring that is needed to uniquely identity it */
-
const prefixPatterns = properties
-
.map(prop => {
-
let name = prop.name;
-
for (let i = 2, l = name.length; i < l; i++) {
-
const substr = name.slice(0, i);
-
// Check for any name that conflicts with the substring in all known CSS properties
-
if (stablePropertyNames.every(x => x === name || !x.startsWith(substr))) {
-
name = substr;
-
break;
-
}
-
}
+
const prefixPatterns = properties.map(prop => ({
+
...prop,
+
name: findMinimumSubstr(prop.name)
+
}));
-
return { ...prop, name };
-
});
+
/** For Webkit prefixes, these properties will need some values to be prefixed */
+
const prefixValuePatterns = ['position', 'background-clip'].map(findMinimumSubstr);
/** Accepts a filter and builds a list of names in `prefixPatterns` */
const reducePrefixes = (filter = x => !!x) => {
···
});
};
+
/** Creates a regex matching property names */
const buildRegex = groups => `^(${groups.join('|')})`;
// Create all prefix sets for each prefix
···
const mozPrefixes = buildRegex(reducePrefixes(x => x.moz));
const webkitPrefixes = buildRegex(reducePrefixes(x => x.webkit));
+
// Create a regex for webkit value transforms
+
const webkitValuePrefix = buildRegex(prefixValuePatterns);
+
module.exports = `
var msPrefixRe = /${msPrefixes}/;
var mozPrefixRe = /${mozPrefixes}/;
var webkitPrefixRe = /${webkitPrefixes}/;
+
var webkitValuePrefixRe = /${webkitValuePrefix}/;
`.trim();
+2 -5
src/index.js
···
};
export const prefixValue = (prop, value) => {
-
if (
-
(prop === 'position' && value === 'sticky') ||
-
(prop === 'background-clip' && value === 'text')
-
) {
-
return `-webkit-${value}, ${value}`;
+
if (webkitValuePrefixRe.test(prop)) {
+
return value.replace(/(sticky|text)/, '-webkit-$1, $1');
}
return value;
+207 -6
yarn.lock
···
dependencies:
magic-string "^0.25.0"
+
"@types/color-name@^1.1.1":
+
version "1.1.1"
+
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+
"@types/estree@*":
version "0.0.42"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.42.tgz#8d0c1f480339efedb3e46070e22dd63e0430dd11"
···
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==
+
ansi-align@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
+
integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+
dependencies:
+
string-width "^3.0.0"
+
+
ansi-regex@^4.1.0:
+
version "4.1.0"
+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+
ansi-regex@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
···
dependencies:
color-convert "^1.9.0"
-
babel-plugin-codegen@^3.0.0, babel-plugin-codegen@^3.1.0:
+
ansi-styles@^4.1.0:
+
version "4.2.1"
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+
integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+
dependencies:
+
"@types/color-name" "^1.1.1"
+
color-convert "^2.0.1"
+
+
babel-plugin-codegen@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/babel-plugin-codegen/-/babel-plugin-codegen-3.1.0.tgz#a5eeccd269f868d9173a32b9b3ceb052f307a826"
integrity sha512-etFLWBRmsCY6aT44GW6SXAv7NfjXAbNB6XNbH+ZiX5B00yYL4TSPZlETaZ5dZ5kYO2wpSc72z9HeK99BX7uERw==
···
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
boxen@^4.1.0:
+
version "4.2.0"
+
resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
+
integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
+
dependencies:
+
ansi-align "^3.0.0"
+
camelcase "^5.3.1"
+
chalk "^3.0.0"
+
cli-boxes "^2.2.0"
+
string-width "^4.1.0"
+
term-size "^2.1.0"
+
type-fest "^0.8.1"
+
widest-line "^3.1.0"
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
···
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
+
+
brotli-size@4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/brotli-size/-/brotli-size-4.0.0.tgz#a05ee3faad3c0e700a2f2da826ba6b4d76e69e5e"
+
integrity sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==
+
dependencies:
+
duplexer "0.1.1"
buble@^0.19.8:
version "0.19.8"
···
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
camelcase@^5.3.1:
+
version "5.3.1"
+
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
···
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-
codegen.macro@^3.0.0:
+
chalk@^3.0.0:
version "3.0.0"
-
resolved "https://registry.yarnpkg.com/codegen.macro/-/codegen.macro-3.0.0.tgz#5998646d53d3cfd832204cd6b20f58c245f60a80"
-
integrity sha512-gDDnd8JmoQTms9ctoe7Olcr8KuIOnU85e7wieNMC14H4at3abNokxbqwRjKS0na5omOGQez3wdaFalbe0Z2tTA==
+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
dependencies:
-
babel-plugin-codegen "^3.0.0"
+
ansi-styles "^4.1.0"
+
supports-color "^7.1.0"
+
+
cli-boxes@^2.2.0:
+
version "2.2.0"
+
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
+
integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
color-convert@^1.9.0:
version "1.9.3"
···
dependencies:
color-name "1.1.3"
+
color-convert@^2.0.1:
+
version "2.0.1"
+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+
dependencies:
+
color-name "~1.1.4"
+
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=
+
color-name@~1.1.4:
+
version "1.1.4"
+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+
colors@^1.3.3:
+
version "1.4.0"
+
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
···
dependencies:
object-keys "^1.0.12"
+
duplexer@0.1.1, duplexer@^0.1.1:
+
version "0.1.1"
+
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
+
+
emoji-regex@^7.0.1:
+
version "7.0.3"
+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+
emoji-regex@^8.0.0:
+
version "8.0.0"
+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
···
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
filesize@^4.1.2:
+
version "4.2.1"
+
resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.2.1.tgz#ab1cb2069db5d415911c1a13e144c0e743bc89bc"
+
integrity sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
···
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
+
gzip-size@^5.1.1:
+
version "5.1.1"
+
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
+
integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==
+
dependencies:
+
duplexer "^0.1.1"
+
pify "^4.0.1"
+
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=
+
has-flag@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
has-symbols@^1.0.0, has-symbols@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
···
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+
+
is-fullwidth-code-point@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+
is-fullwidth-code-point@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-module@^1.0.0:
version "1.0.0"
···
pify "^3.0.0"
strip-bom "^3.0.0"
+
lodash.merge@^4.6.2:
+
version "4.6.2"
+
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
lodash@^4.17.13:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
···
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+
pify@^4.0.1:
+
version "4.0.1"
+
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
read-pkg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
···
"@babel/helper-module-imports" "^7.0.0"
rollup-pluginutils "^2.8.1"
+
rollup-plugin-filesize@6.2.1:
+
version "6.2.1"
+
resolved "https://registry.yarnpkg.com/rollup-plugin-filesize/-/rollup-plugin-filesize-6.2.1.tgz#552eebc88dd69db3321d99c27dbd49e550812e54"
+
integrity sha512-JQ2+NMoka81lCR2caGWyngqMKpvJCl7EkFYU7A+T0dA7U1Aml13FW5Ky0aiZIeU3/13cjsKQLRr35SQVmk6i/A==
+
dependencies:
+
boxen "^4.1.0"
+
brotli-size "4.0.0"
+
colors "^1.3.3"
+
filesize "^4.1.2"
+
gzip-size "^5.1.1"
+
lodash.merge "^4.6.2"
+
terser "^4.1.3"
+
rollup-plugin-terser@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.2.0.tgz#ba758adf769347b7f1eaf9ef35978d2e207dccc7"
···
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
+
string-width@^3.0.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+
dependencies:
+
emoji-regex "^7.0.1"
+
is-fullwidth-code-point "^2.0.0"
+
strip-ansi "^5.1.0"
+
+
string-width@^4.0.0, string-width@^4.1.0:
+
version "4.2.0"
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+
integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+
dependencies:
+
emoji-regex "^8.0.0"
+
is-fullwidth-code-point "^3.0.0"
+
strip-ansi "^6.0.0"
+
string.prototype.padend@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3"
···
dependencies:
define-properties "^1.1.3"
function-bind "^1.1.1"
+
+
strip-ansi@^5.1.0:
+
version "5.2.0"
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+
dependencies:
+
ansi-regex "^4.1.0"
+
+
strip-ansi@^6.0.0:
+
version "6.0.0"
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+
dependencies:
+
ansi-regex "^5.0.0"
strip-bom@^3.0.0:
version "3.0.0"
···
dependencies:
has-flag "^3.0.0"
-
terser@^4.6.2:
+
supports-color@^7.1.0:
+
version "7.1.0"
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+
integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+
dependencies:
+
has-flag "^4.0.0"
+
+
term-size@^2.1.0:
+
version "2.1.1"
+
resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.1.1.tgz#f81ec25854af91a480d2f9d0c77ffcb26594ed1a"
+
integrity sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A==
+
+
terser@^4.1.3, terser@^4.6.2:
version "4.6.3"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87"
integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==
···
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+
type-fest@^0.8.1:
+
version "0.8.1"
+
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
···
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
+
+
widest-line@^3.1.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+
integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+
dependencies:
+
string-width "^4.0.0"
yaml@^1.7.2:
version "1.7.2"