diff --git a/package.json b/package.json index 2b48e5208..a40898504 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "lint": "eslint . --cache --ignore-path .gitignore", "fixlint": "yarn lint -- --fix", "prepare": "lerna run --stream prepare", - "build:packages": "babel-node ./util/buildPackages.js", "build:metadata": "babel-node ./util/buildMetadata.js", "build:docs": "remark site/docs/**/*.md -o && yarn build:metadata && babel-node ./util/buildSiteMarkdown.js", "build:integration": "cross-env BABEL_ENV=test babel-node ./util/buildFrameworks.js", @@ -37,13 +36,11 @@ "cross-env": "^7.0.3", "css-color-names": "^1.0.1", "diff": "^5.0.0", - "dox": "^0.9.0", "eslint": "^7.27.0", "eslint-plugin-import": "^2.23.3", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-react": "^7.23.2", - "fs-extra": "^8.0.1", - "get-pkg-repo": "^4.1.0", + "fs-extra": "^9.1.0", "glob": "^7.1.4", "got": "^11.8.1", "html2plaintext": "^2.1.2", @@ -66,12 +63,8 @@ "remark-frontmatter": "^3.0.0", "remark-gfm": "^1.0.0", "remark-github": "^10.1.0", - "remark-heading-gap": "^4.0.0", "remark-html": "^13.0.1", - "remark-license": "^5.0.1", - "remark-toc": "^7.2.0", "rimraf": "^3.0.2", - "stringify-object": "^3.3.0", "toml": "^3.0.0", "tomlify-j0.4": "^3.0.0", "unist-builder": "^2.0.3", diff --git a/util/buildAliases.js b/util/buildAliases.js deleted file mode 100644 index bb9ee610f..000000000 --- a/util/buildAliases.js +++ /dev/null @@ -1,22 +0,0 @@ -import { basename, join } from 'path'; -import fs from 'fs-extra'; -import getPackages from './getPackages'; - -getPackages().then((packages) => { - const pkgPath = join(__dirname, '../package.json'); - const pkgJson = require(pkgPath); - - packages.forEach((pkg) => { - const name = basename(pkg); - const subPkgJson = require(join(pkg, 'package.json')); - if (subPkgJson.private) { - return; - } - pkgJson.babel.env.test.plugins[1][1].alias[ - `lerna:${name}` - ] = `${name}/src/index.js`; - pkgJson.babel.env.publish.plugins[1][1].alias[`lerna:${name}`] = name; - }); - - return fs.writeFile(pkgPath, `${JSON.stringify(pkgJson, null, 2)}\n`); -}); diff --git a/util/buildPackages.js b/util/buildPackages.js deleted file mode 100644 index bd18fff6d..000000000 --- a/util/buildPackages.js +++ /dev/null @@ -1,157 +0,0 @@ -import { readFileSync } from 'fs'; -import { basename } from 'path'; -import dox from 'dox'; -import getPkgRepo from 'get-pkg-repo'; -import remark from 'remark'; -import remarkHeadingGap from 'remark-heading-gap'; -import remarkLicense from 'remark-license'; -import remarkToc from 'remark-toc'; -import stringifyObject from 'stringify-object'; -import u from 'unist-builder'; -import fs from 'fs-extra'; -import pluginName from './pluginName'; -import getPackages from './getPackages'; -import getPresets from './getPresets'; -import contributorsSection from './contributorsSection'; -import installSection from './installSection'; -import sortAscending from './sortAscending'; - -const repository = `cssnano/cssnano`; -const homepage = `https://github.com/${repository}`; - -function sortPlugins(a, b) { - return sortAscending(pluginName(a[0]), pluginName(b[0])); -} - -function updatePreset(packageList, pkg) { - const managed = packageList.map((p) => basename(p)); - const pkgName = basename(pkg); - const pkgJson = require(`${pkg}/package.json`); - const plugins = []; - - const preset = require(pkg); - const instance = preset(); - - const code = readFileSync(`${pkg}/src/index.js`, `utf8`); - const { tags } = dox.parseComments(code)[0]; - - let overview = []; - - if (tags.length) { - const overviewDesc = tags.find((tag) => tag.type === 'overview'); - if (overviewDesc) { - overview.push( - u('heading', { depth: 2 }, [u('text', 'Overview')]), - ...remark().parse(overviewDesc.string).children - ); - } - } - - instance.plugins.sort(sortPlugins).forEach(([plugin, options]) => { - const name = pluginName(plugin); - let pluginDesc, pluginRepo, externalLink; - try { - let pluginPkg; - try { - pluginPkg = require(`${pkg}/node_modules/${name}/package.json`); - } catch (e) { - // Most likely it's a nested dependency from the default preset. - pluginPkg = require(`${pkg}/node_modules/cssnano-preset-default/node_modules/${name}/package.json`); - } - pluginDesc = pluginPkg.description; - if (~managed.indexOf(name)) { - pluginRepo = `${homepage}/tree/master/packages/${name}`; - } else { - externalLink = true; - const r = getPkgRepo(pluginPkg); - pluginRepo = `${r.default}://${r.domain}/${r.user}/${r.project}`; - } - } catch (e) { - // Make an exception for core processors that don't - // have their own repository. - } - const documentation = []; - if (pluginDesc) { - documentation.push( - u( - 'heading', - { depth: 3 }, - [ - u('link', { url: pluginRepo }, [u('inlineCode', name)]), - externalLink && u('text', ' (external)'), - ].filter(Boolean) - ), - u('blockquote', [u('text', pluginDesc)]) - ); - } else { - documentation.push(u('heading', { depth: 3 }, [u('inlineCode', name)])); - } - if (!options) { - documentation.push( - u('paragraph', [ - u('text', 'This plugin is loaded with its default configuration.'), - ]) - ); - } else { - documentation.push( - u('paragraph', [ - u('text', 'This plugin is loaded with the following configuration:'), - ]), - u('code', { lang: 'js' }, stringifyObject(options)) - ); - } - plugins.push.apply(plugins, documentation); - }); - - remark() - .use(contributorsSection) - .use(installSection) - .use(remarkLicense) - .use(remarkToc) - .run( - u('root', [ - u('heading', { depth: 1 }, [u('text', pkgName)]), - u('blockquote', [u('text', pkgJson.description)]), - u('heading', { depth: 2 }, [u('text', 'Table of Contents')]), - ...overview, - u('heading', { depth: 2 }, [u('text', 'Usage')]), - u('heading', { depth: 2 }, [u('text', 'Plugins')]), - ...plugins, - u('heading', { depth: 2 }, [u('text', 'Contributors')]), - u('heading', { depth: 2 }, [u('text', 'License')]), - ]), - { cwd: pkg } - ) - .then((transformedAST) => { - return fs.writeFile( - `${pkg}/README.md`, - remark().use(remarkHeadingGap).stringify(transformedAST) + '\n' - ); - }); -} - -function updatePackage(pkg) { - const pkgName = basename(pkg); - const pkgJson = require(`${pkg}/package.json`); - - pkgJson.name = pkgName; - pkgJson.repository = repository; - pkgJson.homepage = homepage; - - pkgJson.bugs = pkgJson.bugs || {}; - pkgJson.bugs.url = `${homepage}/issues`; - - pkgJson.engines = pkgJson.engines || {}; - pkgJson.engines.node = '>=10.13.0'; - - return fs.writeFile( - `${pkg}/package.json`, - `${JSON.stringify(pkgJson, null, 2)}\n` - ); -} - -getPackages().then((packages) => { - Promise.all(packages.map(updatePackage)).then(() => { - getPresets(packages).forEach(updatePreset.bind(null, packages)); - }); -}); diff --git a/util/contributorsSection.js b/util/contributorsSection.js deleted file mode 100644 index 657301bef..000000000 --- a/util/contributorsSection.js +++ /dev/null @@ -1,20 +0,0 @@ -import heading from 'mdast-util-heading-range'; -import u from 'unist-builder'; - -const url = `https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md`; - -export default function attacher() { - return function transformer(tree) { - heading(tree, /^contributors/i, (start, nodes, end) => { - return [ - start, - u('paragraph', [ - u('text', `See `), - u('link', { url }, [u('text', 'CONTRIBUTORS.md')]), - u('text', `.`), - ]), - end, - ]; - }); - }; -} diff --git a/util/installSection.js b/util/installSection.js deleted file mode 100644 index e2e1da3e1..000000000 --- a/util/installSection.js +++ /dev/null @@ -1,120 +0,0 @@ -import path from 'path'; -import camelcase from 'camelcase'; -import heading from 'mdast-util-heading-range'; -import u from 'unist-builder'; - -function getSugar(name) { - return name.replace('cssnano-preset-', ''); -} - -export default function attacher() { - return function transformer(tree, file) { - const { cwd } = file; - let pkgJson; - - try { - pkgJson = require(path.resolve(cwd, `package.json`)); - } catch (err) { - throw new Error(`Missing "package.json" in "${cwd}".`); - } - - const { name } = pkgJson; - const sugar = getSugar(name); - const installPage = `https://npmjs.com/package/${name}`; - const presetIdentifier = `${camelcase(sugar)}Preset`; - - heading(tree, /^usage/i, (start, nodes, end) => { - const section = [ - start, - u('heading', { depth: 3 }, [u('text', 'Install')]), - ]; - if (sugar === 'default') { - section.push( - u('paragraph', [ - u('text', `Note that this preset comes bundled with cssnano `), - u('emphasis', [u('text', `by default`)]), - u('text', `, so you don't need to install it separately.`), - ]), - u('heading', { depth: 3 }, [u('text', 'Configuration')]), - u('paragraph', [ - u( - 'text', - `If you would like to use the default configuration, then you don't need to add anything to your ` - ), - u('inlineCode', 'package.json'), - u('text', `.`), - ]) - ); - } else { - section.push( - u('paragraph', [ - u('text', `With `), - u('link', { url: installPage }, [u('text', 'npm')]), - u('text', ` do:`), - ]), - u('code', `npm install ${name} --save-dev`), - u('paragraph', [ - u('text', `If you don't have npm then `), - u('link', { url: `${installPage}/tutorial` }, [ - u('text', 'check out this installation tutorial'), - ]), - u('text', `.`), - ]), - u('heading', { depth: 3 }, [u('text', 'Configuration')]), - u('paragraph', [ - u( - 'text', - `If you would like to use the preset in its default configuration, specify a section in your ` - ), - u('inlineCode', 'package.json'), - u('text', `:`), - ]), - u( - 'code', - { lang: 'diff' }, - ` {\n "name": "awesome-application",\n+ "cssnano": {\n+ "preset": "${sugar}"\n+ }\n }` - ) - ); - } - return [ - ...section, - u('paragraph', [ - u( - 'text', - `But should you wish to customise this, you can pass an array with the second parameter as the options object to use. For example, to remove all comments:` - ), - ]), - u( - 'code', - { lang: 'diff' }, - ` {\n "name": "awesome-application",\n+ "cssnano": {\n+ "preset": [\n+ "${sugar}",\n+ {"discardComments": {"removeAll": true}}\n+ ]\n+ }\n }` - ), - u('paragraph', [ - u( - 'text', - `Depending on your usage, the JSON configuration might not work for you, such as in cases where you would like to use options with customisable function parameters. For this use case, we recommend a ` - ), - u('inlineCode', `cssnano.config.js`), - u('text', ` at the same location as your `), - u('inlineCode', 'package.json'), - u( - 'text', - `. You can then load a preset and export it with your custom parameters:` - ), - ]), - u( - 'code', - { lang: 'js' }, - `const ${presetIdentifier} = require('${name}');\n\nmodule.exports = ${presetIdentifier}({\n discardComments: {\n remove: comment => comment[0] === "@"\n }\n});` - ), - u('paragraph', [ - u( - 'text', - `Note that you may wish to publish your own preset to npm for reusability, should it differ a lot from this one. This is highly encouraged!` - ), - ]), - end, - ]; - }); - }; -} diff --git a/yarn.lock b/yarn.lock index dd3d89eca..4ac1785b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -955,11 +955,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2140,7 +2135,7 @@ dependencies: "@types/node" "*" -"@types/mdast@^3.0.0", "@types/mdast@^3.0.3": +"@types/mdast@^3.0.0": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== @@ -2189,7 +2184,7 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== @@ -2556,11 +2551,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -author-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" - integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA= - autoprefixer@^10.2.0: version "10.2.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.6.tgz#aadd9ec34e1c98d403e01950038049f0eb252949" @@ -3259,13 +3249,6 @@ commander@^7.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@~2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= - dependencies: - graceful-readlink ">= 1.0.0" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -3880,15 +3863,6 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -dox@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/dox/-/dox-0.9.0.tgz#be97b085cb9f4a0b7e80835d547e77b8687d0a0c" - integrity sha1-vpewhcufSgt+gINdVH53uGh9Cgw= - dependencies: - commander "~2.9.0" - jsdoctypeparser "^1.2.0" - markdown-it "~7.0.0" - duplexer@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -3917,11 +3891,6 @@ emittery@^0.8.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" - integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4288,7 +4257,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: +extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -4517,15 +4486,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fs-extra@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -4613,11 +4573,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -4634,16 +4589,6 @@ get-pkg-repo@^1.0.0: parse-github-repo-url "^1.3.0" through2 "^2.0.0" -get-pkg-repo@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz#c4ffd60015cf091be666a0212753fc158f01a4c0" - integrity sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - meow "^7.0.0" - through2 "^2.0.0" - get-port@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" @@ -4732,13 +4677,6 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -github-slugger@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9" - integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -4826,11 +4764,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -4998,7 +4931,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== @@ -5510,11 +5443,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -5567,11 +5495,6 @@ is-regex@^1.1.3: call-bind "^1.0.2" has-symbols "^1.0.2" -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -6153,13 +6076,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdoctypeparser@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz#e7dedc153a11849ffc5141144ae86a7ef0c25392" - integrity sha1-597cFToRhJ/8UUEUSuhqfvDCU5I= - dependencies: - lodash "^3.7.0" - jsdom@^16.6.0: version "16.6.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac" @@ -6266,13 +6182,6 @@ json5@^2.0.0, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -6421,13 +6330,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== - dependencies: - uc.micro "^1.0.1" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -6575,11 +6477,6 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^3.7.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= - lodash@^4.1.0, lodash@^4.11.2, lodash@^4.15.0, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -6716,17 +6613,6 @@ markdown-extensions@^1.1.0: resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== -markdown-it@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-7.0.1.tgz#f12d8b88a93e64254348dfd183bd70bf60567a42" - integrity sha1-8S2LiKk+ZCVDSN/Rg71wv2BWekI= - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.1" - markdown-table@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" @@ -6810,7 +6696,7 @@ mdast-util-gfm@^0.1.0: mdast-util-gfm-task-list-item "^0.1.0" mdast-util-to-markdown "^0.6.1" -mdast-util-heading-range@^2.0.0, mdast-util-heading-range@^2.1.2: +mdast-util-heading-range@^2.1.2: version "2.1.5" resolved "https://registry.yarnpkg.com/mdast-util-heading-range/-/mdast-util-heading-range-2.1.5.tgz#9a8e07bd46d07d40ad1596b0b6ab8535337725c3" integrity sha512-jXbFD0C+MfRkwsaze+btzG9CmVrxnc5kpcJLtx3SvSlPWnNdGMlDRHKDB9/TIPEq9nRHnkixppT8yvaUJ5agJg== @@ -6853,25 +6739,12 @@ mdast-util-to-string@^2.0.0: resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== -mdast-util-toc@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-5.1.0.tgz#3af0f9c9a764b993538af03f1f79f4e3cec22736" - integrity sha512-csimbRIVkiqc+PpFeKDGQ/Ck2N4f9FYH3zzBMMJzcxoKL8m+cM0n94xXm0I9eaxHnKdY9n145SGTdyJC7i273g== - dependencies: - "@types/mdast" "^3.0.3" - "@types/unist" "^2.0.3" - extend "^3.0.2" - github-slugger "^1.2.1" - mdast-util-to-string "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit "^2.0.0" - mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdurl@^1.0.0, mdurl@^1.0.1: +mdurl@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= @@ -6892,23 +6765,6 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -7794,13 +7650,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-author@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" - integrity sha1-00YL8d3Q367tQtp1QkLmX7aEqB8= - dependencies: - author-regex "^1.0.0" - parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -8678,11 +8527,6 @@ remark-github@^10.1.0: mdast-util-to-string "^1.0.0" unist-util-visit "^2.0.0" -remark-heading-gap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-heading-gap/-/remark-heading-gap-4.0.0.tgz#cb1a24c20f3f2752b409bbfc5dc8776a59d79c42" - integrity sha512-7kHv4qauAo/bJa73D/S9pU6sdJpLZS/6M75bJ5HYRLs6VRwpFz7XEReBP7tlPQ2CapD//qLd9LVRJ4ShieDbIg== - remark-html@^13.0.1: version "13.0.1" resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-13.0.1.tgz#d5b2d8be01203e61fc37403167ca7584879ad675" @@ -8692,15 +8536,6 @@ remark-html@^13.0.1: hast-util-to-html "^7.0.0" mdast-util-to-hast "^10.0.0" -remark-license@^5.0.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/remark-license/-/remark-license-5.2.0.tgz#904b89b37e1745e84f48acf7760b2b83b7cda2a3" - integrity sha512-1jrQYFS/xVN4M6LO4WJuWPdUCU/g6PnwCDKlI2RDfQP2EKy+8eEORU8XZ13rAws3q0McFKzYm20QNCdkH9Rbnw== - dependencies: - mdast-util-heading-range "^2.0.0" - parse-author "^2.0.0" - spdx-license-list "^6.0.0" - remark-parse@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" @@ -8715,14 +8550,6 @@ remark-stringify@^9.0.0: dependencies: mdast-util-to-markdown "^0.6.0" -remark-toc@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-7.2.0.tgz#1c5159e9091826150db14c97ac00c2ad5a7f1523" - integrity sha512-ppHepvpbg7j5kPFmU5rzDC4k2GTcPDvWcxXyr/7BZzO1cBSPk0stKtEJdsgAyw2WHKPGxadcHIZRjb2/sHxjkg== - dependencies: - "@types/unist" "^2.0.3" - mdast-util-toc "^5.0.0" - remark@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" @@ -9196,11 +9023,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== -spdx-license-list@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/spdx-license-list/-/spdx-license-list-6.4.0.tgz#9850c3699c1d35745285607d064d2a5145049d12" - integrity sha512-4BxgJ1IZxTJuX1YxMGu2cRYK46Bk9zJNTK2/R0wNZR0cm+6SVl26/uG7FQmQtxoJQX1uZ0EpTi2L7zvMLboaBA== - split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -9366,15 +9188,6 @@ stringify-entities@^3.0.1: character-entities-legacy "^1.0.0" xtend "^4.0.0" -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -9786,11 +9599,6 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -9833,11 +9641,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -uc.micro@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - uglify-js@^3.1.4: version "3.13.8" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.8.tgz#7c2f9f2553f611f3ff592bdc19c6fb208dc60afb" @@ -10076,7 +9879,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0, universalify@^0.1.2: +universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -10472,7 +10275,7 @@ yargs-parser@20.2.4: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==