diff --git a/.github/workflows/dependabot-sync.yml b/.github/workflows/dependabot-sync.yml index 90cf2eefb4d..0706705a3cb 100644 --- a/.github/workflows/dependabot-sync.yml +++ b/.github/workflows/dependabot-sync.yml @@ -22,7 +22,12 @@ jobs: with: node-version: ${{ matrix.node-version }} - name: Install dependencies - run: npx lerna bootstrap + run: | + cd packages/core + npm i --workspaces=false --no-save + cd ../../scripts + npm i --workspaces=false --no-save + cd ../ env: CI: true - name: Run Sync Script diff --git a/config/dependencies.yaml b/config/dependencies.yaml index 002b686d496..8e944b06f6b 100644 --- a/config/dependencies.yaml +++ b/config/dependencies.yaml @@ -58,6 +58,7 @@ core: 'lodash.get': &_get '4.4.2' 'lodash.set': &_set '4.3.2' 'lodash.unset': &_unset '4.5.2' + 'lodash.clonedeep': '^4.5.0' dev: 'eslint': &eslint '8.33.0' 'nyc': '15.1.0' diff --git a/packages/core/package.json b/packages/core/package.json index b8f7dd8b1dc..a3f6cb7bc9a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -55,7 +55,8 @@ "hooks": "0.3.2", "lodash.get": "4.4.2", "lodash.set": "4.3.2", - "lodash.unset": "4.5.2" + "lodash.unset": "4.5.2", + "lodash.clonedeep": "^4.5.0" }, "devDependencies": { "eslint": "8.33.0", diff --git a/scripts/addpatterndocs.js b/scripts/addpatterndocs.js index f042e9546c9..3f61ad14bc9 100644 --- a/scripts/addpatterndocs.js +++ b/scripts/addpatterndocs.js @@ -6,23 +6,15 @@ const pi = require('../packages/pattern-info/dist') const models = require('../packages/models/dist') const wb32 = models.withBreasts.size32 const i18n = require('../packages/i18n/dist') -let capitalize = require('../packages/utils/capitalize/index.js') -capitalize = capitalize.default +let { capitalize } = require('../packages/core/src/utils.mjs') const missing = [] const lacking = [] const extra = [] const file = 'en.md' -const subpages = [ - 'cutting', - 'fabric', - 'instructions', - 'options', - 'measurements', - 'needs' -] +const subpages = ['cutting', 'fabric', 'instructions', 'options', 'measurements', 'needs'] -const patternDocsPage = pattern => `--- +const patternDocsPage = (pattern) => `--- title: "Fixme" --- @@ -55,32 +47,35 @@ const patternDocsSubPage = (pattern, sub) => { case 'measurements': case 'options': return component(sub, pattern) - break; + break default: return fixme } } -const optionDocsPage = (pattern, option) => `--- -title: ` + i18n.strings.en[`options.${pattern}.${option}.title`] + - "\n---\n\n" + - i18n.strings.en[`options.${pattern}.${option}.description`] + "\n" +const optionDocsPage = (pattern, option) => + `--- +title: ` + + i18n.strings.en[`options.${pattern}.${option}.title`] + + '\n---\n\n' + + i18n.strings.en[`options.${pattern}.${option}.description`] + + '\n' -const present = folder => { +const present = (folder) => { try { if (fs.readFileSync(path.join(folder, file))) return true - } - catch (err) { + } catch (err) { return false } return false } -const getSubFolders = folder => fs - .readdirSync(folder, {withFileTypes: true }) - .filter(dirent => dirent.isDirectory()) - .map(dirent => dirent.name) +const getSubFolders = (folder) => + fs + .readdirSync(folder, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name) const checkOptionDocs = () => { const steps = ['markdown', 'org', 'docs', 'patterns'] @@ -96,20 +91,14 @@ const checkOptionDocs = () => { } if (!present(folder)) { fs.mkdirSync(folder, { recursive: true }) - fs.writeFileSync( - path.join(folder, file), - patternDocsPage(pattern), - ) + fs.writeFileSync(path.join(folder, file), patternDocsPage(pattern)) } // Sub pages for (const sub of subpages) { const folder = path.join(...steps, pattern, sub) if (!present(folder)) { fs.mkdirSync(folder, { recursive: true }) - fs.writeFileSync( - path.join(folder, file), - patternDocsSubPage(pattern, sub), - ) + fs.writeFileSync(path.join(folder, file), patternDocsSubPage(pattern, sub)) } } @@ -123,10 +112,7 @@ const checkOptionDocs = () => { if (!present(folder)) { missing.push(path.join(folder, file)) fs.mkdirSync(folder, { recursive: true }) - fs.writeFileSync( - path.join(folder, file), - optionDocsPage(pattern, option), - ) + fs.writeFileSync(path.join(folder, file), optionDocsPage(pattern, option)) } } // Now check for extra folders @@ -136,18 +122,17 @@ const checkOptionDocs = () => { } if (missing.length < 1 && extra.length < 1 && lacking.length < 1) { - console.log("\n 🎉 Everything looks fine 😀\n") + console.log('\n 🎉 Everything looks fine 😀\n') } else { if (missing.length > 0) { - console.log("\n", 'Added documenation pages for the following options:', "\n\n") + console.log('\n', 'Added documenation pages for the following options:', '\n\n') for (const line of missing) console.log(line) } if (extra.length > 0) { - console.log("\n", 'Found extra folders that should not be there:', "\n\n") + console.log('\n', 'Found extra folders that should not be there:', '\n\n') for (const line of extra) console.log(line) } } } checkOptionDocs() - diff --git a/scripts/optiondocsimages.js b/scripts/optiondocsimages.js index e2d5cc46a78..a234ede01cd 100644 --- a/scripts/optiondocsimages.js +++ b/scripts/optiondocsimages.js @@ -17,7 +17,7 @@ const pi = require('../packages/pattern-info/dist') const models = require('../packages/models/dist') const wb32 = models.withBreasts.size32 const noVersions = require('../plugins/plugin-versionfree-svg') -let capitalize = require('../packages/utils/capitalize/index.js') +let { capitalize } = require('../packages/core/src/utils.mjs') capitalize = capitalize.default let theme = require('../plugins/plugin-theme/dist') theme = theme.default @@ -28,10 +28,10 @@ const image = (pattern, option) => ` ![This image shows the effect of this option by superimposing several variants that have a different value for this option](${pattern}_${option.toLowerCase()}_sample.svg "Effect of this option on the pattern") ` - const insertImage = (file, pattern, option) => { const md = fs.readFileSync(file, 'utf-8') - if (md.indexOf('image shows the effect of this option') === -1) fs.writeFileSync(file, md+image(pattern, option)) + if (md.indexOf('image shows the effect of this option') === -1) + fs.writeFileSync(file, md + image(pattern, option)) } const createImages = () => { @@ -44,20 +44,40 @@ const createImages = () => { settings: { idPrefix: `${pattern}_${option}`, embed: true, - } - }).use(theme).use(noVersions) - const file = path.join('markdown', 'org', 'docs', 'patterns', pattern, 'options', option.toLowerCase(), `${pattern}_${option.toLowerCase()}_sample.svg`) + }, + }) + .use(theme) + .use(noVersions) + const file = path.join( + 'markdown', + 'org', + 'docs', + 'patterns', + pattern, + 'options', + option.toLowerCase(), + `${pattern}_${option.toLowerCase()}_sample.svg` + ) try { const svg = p.sampleOption(option).render() fs.writeFileSync(path.join(__dirname, '..', file), svg) insertImage( - path.join('markdown', 'org', 'docs', 'patterns', pattern, 'options', option.toLowerCase(), 'en.md'), + path.join( + 'markdown', + 'org', + 'docs', + 'patterns', + pattern, + 'options', + option.toLowerCase(), + 'en.md' + ), pattern, option ) - console.log('✅ '+file) + console.log('✅ ' + file) } catch (err) { - console.log('⚠️ '+file) + console.log('⚠️ ' + file) console.log(err) } } diff --git a/scripts/package.json b/scripts/package.json new file mode 100644 index 00000000000..fcefae62162 --- /dev/null +++ b/scripts/package.json @@ -0,0 +1,30 @@ +{ + "name": "@freesewing/scripts", + "version": "1.0.0", + "description": "Scripts to run various business tasks for the @freesewing monorepo", + "repository": { + "type": "git", + "url": "github:freesewing/freesewing" + }, + "author": "Joost De Cock (https://github.com/joostdecock)", + "license": "MIT", + "dependencies": { + "axios": "^1.3.2", + "chalk": "^5.2.0", + "glob": "^8.0.3", + "i18n": "^0.15.1", + "js-yaml": "^4.1.0", + "lodash.get": "^4.4.2", + "lodash.orderby": "^4.6.0", + "lodash.set": "^4.3.2", + "mustache": "^4.2.0", + "nodemailer": "^6.9.1", + "prompts": "^2.4.2", + "rehype-format": "^4.0.1", + "rehype-stringify": "^9.0.3", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "tlds": "^1.236.0", + "unified": "^10.1.2" + } +} diff --git a/scripts/reconfigure.mjs b/scripts/reconfigure.mjs index ca2cf1f6511..b877c3696c8 100644 --- a/scripts/reconfigure.mjs +++ b/scripts/reconfigure.mjs @@ -14,7 +14,7 @@ import { } from '../config/software/index.mjs' import { buildOrder } from '../config/build-order.mjs' import rootPackageJson from '../package.json' assert { type: 'json' } -import { capitalize } from '../sites/shared/utils.mjs' +import { capitalize } from '../packages/core/src/index.mjs' // Working directory const cwd = process.cwd() diff --git a/scripts/yarn.lock b/scripts/yarn.lock new file mode 100644 index 00000000000..15cbf06d3dc --- /dev/null +++ b/scripts/yarn.lock @@ -0,0 +1,955 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@messageformat/core@^3.0.0": + "integrity" "sha512-yxj2+0e46hcZqJfNf0ZYbC2q6WlcGoh4g11mCyRtTueR0AD8F9z4JMYAS1aOiFG8Vl1LZg/h5hZHKmWTAyZq8g==" + "resolved" "https://registry.npmjs.org/@messageformat/core/-/core-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "@messageformat/date-skeleton" "^1.0.0" + "@messageformat/number-skeleton" "^1.0.0" + "@messageformat/parser" "^5.0.0" + "@messageformat/runtime" "^3.0.1" + "make-plural" "^7.0.0" + "safe-identifier" "^0.4.1" + +"@messageformat/date-skeleton@^1.0.0": + "integrity" "sha512-jPXy8fg+WMPIgmGjxSlnGJn68h/2InfT0TNSkVx0IGXgp4ynnvYkbZ51dGWmGySEK+pBiYUttbQdu5XEqX5CRg==" + "resolved" "https://registry.npmjs.org/@messageformat/date-skeleton/-/date-skeleton-1.0.1.tgz" + "version" "1.0.1" + +"@messageformat/number-skeleton@^1.0.0": + "integrity" "sha512-F0Io+GOSvFFxvp9Ze3L5kAoZ2NnOAT0Mr/jpGNd3fqo8A0t4NxNIAcCdggtl2B/gN2ErkIKSBVPrF7xcW1IGvA==" + "resolved" "https://registry.npmjs.org/@messageformat/number-skeleton/-/number-skeleton-1.1.0.tgz" + "version" "1.1.0" + +"@messageformat/parser@^5.0.0": + "integrity" "sha512-WiDKhi8F0zQaFU8cXgqq69eYFarCnTVxKcvhAONufKf0oUxbqLMW6JX6rV4Hqh+BEQWGyKKKHY4g1XA6bCLylA==" + "resolved" "https://registry.npmjs.org/@messageformat/parser/-/parser-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "moo" "^0.5.1" + +"@messageformat/runtime@^3.0.1": + "integrity" "sha512-6RU5ol2lDtO8bD9Yxe6CZkl0DArdv0qkuoZC+ZwowU+cdRlVE1157wjCmlA5Rsf1Xc/brACnsZa5PZpEDfTFFg==" + "resolved" "https://registry.npmjs.org/@messageformat/runtime/-/runtime-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "make-plural" "^7.0.0" + +"@types/debug@^4.0.0": + "integrity" "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==" + "resolved" "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" + "version" "4.1.7" + dependencies: + "@types/ms" "*" + +"@types/hast@^2.0.0": + "integrity" "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==" + "resolved" "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" + "version" "2.3.4" + dependencies: + "@types/unist" "*" + +"@types/mdast@^3.0.0": + "integrity" "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==" + "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" + "version" "3.0.10" + dependencies: + "@types/unist" "*" + +"@types/ms@*": + "integrity" "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + "resolved" "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" + "version" "0.7.31" + +"@types/parse5@^6.0.0": + "integrity" "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" + "resolved" "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz" + "version" "6.0.3" + +"@types/unist@*", "@types/unist@^2.0.0": + "integrity" "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" + "version" "2.0.6" + +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" + +"asynckit@^0.4.0": + "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"axios@^1.3.2": + "integrity" "sha512-1M3O703bYqYuPhbHeya5bnhpYVsDDRyQSabNja04mZtboLNSuZ4YrltestrLXfHgmzua4TpUqRiVKbiQuo2epw==" + "resolved" "https://registry.npmjs.org/axios/-/axios-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "follow-redirects" "^1.15.0" + "form-data" "^4.0.0" + "proxy-from-env" "^1.1.0" + +"bail@^2.0.0": + "integrity" "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" + "resolved" "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + "version" "2.0.2" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"boolean@^3.1.4": + "integrity" "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + "resolved" "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" + "version" "3.2.0" + +"brace-expansion@^2.0.1": + "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "balanced-match" "^1.0.0" + +"ccount@^2.0.0": + "integrity" "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + "resolved" "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + "version" "2.0.1" + +"chalk@^5.2.0": + "integrity" "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" + "version" "5.2.0" + +"character-entities-html4@^2.0.0": + "integrity" "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" + "resolved" "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + "version" "2.1.0" + +"character-entities-legacy@^3.0.0": + "integrity" "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" + "resolved" "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + "version" "3.0.0" + +"character-entities@^2.0.0": + "integrity" "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" + "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + "version" "2.0.2" + +"combined-stream@^1.0.8": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"comma-separated-tokens@^2.0.0": + "integrity" "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + "version" "2.0.3" + +"debug@^4.0.0", "debug@^4.3.3": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"decode-named-character-reference@^1.0.0": + "integrity" "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==" + "resolved" "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "character-entities" "^2.0.0" + +"delayed-stream@~1.0.0": + "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"dequal@^2.0.0": + "integrity" "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + "resolved" "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + "version" "2.0.3" + +"diff@^5.0.0": + "integrity" "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + "resolved" "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + "version" "5.1.0" + +"extend@^3.0.0": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"fast-printf@^1.6.9": + "integrity" "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" + "resolved" "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz" + "version" "1.6.9" + dependencies: + "boolean" "^3.1.4" + +"follow-redirects@^1.15.0": + "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + "version" "1.15.2" + +"form-data@^4.0.0": + "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"glob@^8.0.3": + "integrity" "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" + "resolved" "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^5.0.1" + "once" "^1.3.0" + +"hast-util-embedded@^2.0.0": + "integrity" "sha512-QUdSOP1/o+/TxXtpPFXR2mUg2P+ySrmlX7QjwHZCXqMFyYk7YmcGSvqRW+4XgXAoHifdE1t2PwFaQK33TqVjSw==" + "resolved" "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "hast-util-is-element" "^2.0.0" + +"hast-util-from-parse5@^7.0.0": + "integrity" "sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==" + "resolved" "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + "hastscript" "^7.0.0" + "property-information" "^6.0.0" + "vfile" "^5.0.0" + "vfile-location" "^4.0.0" + "web-namespaces" "^2.0.0" + +"hast-util-has-property@^2.0.0": + "integrity" "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==" + "resolved" "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz" + "version" "2.0.1" + +"hast-util-is-body-ok-link@^2.0.0": + "integrity" "sha512-S58hCexyKdD31vMsErvgLfflW6vYWo/ixRLPJTtkOvLld24vyI8vmYmkgLA5LG3la2ME7nm7dLGdm48gfLRBfw==" + "resolved" "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "@types/hast" "^2.0.0" + "hast-util-has-property" "^2.0.0" + "hast-util-is-element" "^2.0.0" + +"hast-util-is-element@^2.0.0": + "integrity" "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==" + "resolved" "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz" + "version" "2.1.3" + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + +"hast-util-parse-selector@^3.0.0": + "integrity" "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==" + "resolved" "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@types/hast" "^2.0.0" + +"hast-util-phrasing@^2.0.0": + "integrity" "sha512-yGkCfPkkfCyiLfK6KEl/orMDr/zgCnq/NaO9HfULx6/Zga5fso5eqQA5Ov/JZVqACygvw9shRYWgXNcG2ilo7w==" + "resolved" "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "@types/hast" "^2.0.0" + "hast-util-embedded" "^2.0.0" + "hast-util-has-property" "^2.0.0" + "hast-util-is-body-ok-link" "^2.0.0" + "hast-util-is-element" "^2.0.0" + +"hast-util-raw@^7.0.0": + "integrity" "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==" + "resolved" "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz" + "version" "7.2.3" + dependencies: + "@types/hast" "^2.0.0" + "@types/parse5" "^6.0.0" + "hast-util-from-parse5" "^7.0.0" + "hast-util-to-parse5" "^7.0.0" + "html-void-elements" "^2.0.0" + "parse5" "^6.0.0" + "unist-util-position" "^4.0.0" + "unist-util-visit" "^4.0.0" + "vfile" "^5.0.0" + "web-namespaces" "^2.0.0" + "zwitch" "^2.0.0" + +"hast-util-to-html@^8.0.0": + "integrity" "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==" + "resolved" "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz" + "version" "8.0.4" + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + "ccount" "^2.0.0" + "comma-separated-tokens" "^2.0.0" + "hast-util-raw" "^7.0.0" + "hast-util-whitespace" "^2.0.0" + "html-void-elements" "^2.0.0" + "property-information" "^6.0.0" + "space-separated-tokens" "^2.0.0" + "stringify-entities" "^4.0.0" + "zwitch" "^2.0.4" + +"hast-util-to-parse5@^7.0.0": + "integrity" "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==" + "resolved" "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz" + "version" "7.1.0" + dependencies: + "@types/hast" "^2.0.0" + "comma-separated-tokens" "^2.0.0" + "property-information" "^6.0.0" + "space-separated-tokens" "^2.0.0" + "web-namespaces" "^2.0.0" + "zwitch" "^2.0.0" + +"hast-util-whitespace@^2.0.0": + "integrity" "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + "resolved" "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" + "version" "2.0.1" + +"hastscript@^7.0.0": + "integrity" "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==" + "resolved" "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "@types/hast" "^2.0.0" + "comma-separated-tokens" "^2.0.0" + "hast-util-parse-selector" "^3.0.0" + "property-information" "^6.0.0" + "space-separated-tokens" "^2.0.0" + +"html-void-elements@^2.0.0": + "integrity" "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==" + "resolved" "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz" + "version" "2.0.1" + +"html-whitespace-sensitive-tag-names@^2.0.0": + "integrity" "sha512-SQdIvTTtnHAx72xGUIUudvVOCjeWvV1U7rvSFnNGxTGRw3ZC7RES4Gw6dm1nMYD60TXvm6zjk/bWqgNc5pjQaw==" + "resolved" "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-2.0.0.tgz" + "version" "2.0.0" + +"i18n@^0.15.1": + "integrity" "sha512-yue187t8MqUPMHdKjiZGrX+L+xcUsDClGO0Cz4loaKUOK9WrGw5pgan4bv130utOwX7fHE9w2iUeHFalVQWkXA==" + "resolved" "https://registry.npmjs.org/i18n/-/i18n-0.15.1.tgz" + "version" "0.15.1" + dependencies: + "@messageformat/core" "^3.0.0" + "debug" "^4.3.3" + "fast-printf" "^1.6.9" + "make-plural" "^7.0.0" + "math-interval-parser" "^2.0.1" + "mustache" "^4.2.0" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"is-buffer@^2.0.0": + "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + "version" "2.0.5" + +"is-plain-obj@^4.0.0": + "integrity" "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + "version" "4.1.0" + +"js-yaml@^4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"kleur@^4.0.3": + "integrity" "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" + "version" "4.1.5" + +"lodash.get@^4.4.2": + "integrity" "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + "resolved" "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + "version" "4.4.2" + +"lodash.orderby@^4.6.0": + "integrity" "sha512-T0rZxKmghOOf5YPnn8EY5iLYeWCpZq8G41FfqoVHH5QDTAFaghJRmAdLiadEDq+ztgM2q5PjA+Z1fOwGrLgmtg==" + "resolved" "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz" + "version" "4.6.0" + +"lodash.set@^4.3.2": + "integrity" "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + "resolved" "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" + "version" "4.3.2" + +"make-plural@^7.0.0": + "integrity" "sha512-WkdI+iaWaBCFM2wUXwos8Z7spg5Dt64Xe/VI6NpRaly21cDtD76N6S97K//UtzV0dHOiXX+E90TnszdXHG0aMg==" + "resolved" "https://registry.npmjs.org/make-plural/-/make-plural-7.2.0.tgz" + "version" "7.2.0" + +"math-interval-parser@^2.0.1": + "integrity" "sha512-VmlAmb0UJwlvMyx8iPhXUDnVW1F9IrGEd9CIOmv+XL8AErCUUuozoDMrgImvnYt2A+53qVX/tPW6YJurMKYsvA==" + "resolved" "https://registry.npmjs.org/math-interval-parser/-/math-interval-parser-2.0.1.tgz" + "version" "2.0.1" + +"mdast-util-definitions@^5.0.0": + "integrity" "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==" + "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + "unist-util-visit" "^4.0.0" + +"mdast-util-from-markdown@^1.0.0": + "integrity" "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==" + "resolved" "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + "decode-named-character-reference" "^1.0.0" + "mdast-util-to-string" "^3.1.0" + "micromark" "^3.0.0" + "micromark-util-decode-numeric-character-reference" "^1.0.0" + "micromark-util-decode-string" "^1.0.0" + "micromark-util-normalize-identifier" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + "unist-util-stringify-position" "^3.0.0" + "uvu" "^0.5.0" + +"mdast-util-to-hast@^12.1.0": + "integrity" "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==" + "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz" + "version" "12.3.0" + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + "mdast-util-definitions" "^5.0.0" + "micromark-util-sanitize-uri" "^1.1.0" + "trim-lines" "^3.0.0" + "unist-util-generated" "^2.0.0" + "unist-util-position" "^4.0.0" + "unist-util-visit" "^4.0.0" + +"mdast-util-to-string@^3.1.0": + "integrity" "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==" + "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "@types/mdast" "^3.0.0" + +"micromark-core-commonmark@^1.0.1": + "integrity" "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==" + "resolved" "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "decode-named-character-reference" "^1.0.0" + "micromark-factory-destination" "^1.0.0" + "micromark-factory-label" "^1.0.0" + "micromark-factory-space" "^1.0.0" + "micromark-factory-title" "^1.0.0" + "micromark-factory-whitespace" "^1.0.0" + "micromark-util-character" "^1.0.0" + "micromark-util-chunked" "^1.0.0" + "micromark-util-classify-character" "^1.0.0" + "micromark-util-html-tag-name" "^1.0.0" + "micromark-util-normalize-identifier" "^1.0.0" + "micromark-util-resolve-all" "^1.0.0" + "micromark-util-subtokenize" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.1" + "uvu" "^0.5.0" + +"micromark-factory-destination@^1.0.0": + "integrity" "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==" + "resolved" "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-character" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-factory-label@^1.0.0": + "integrity" "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==" + "resolved" "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "micromark-util-character" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + "uvu" "^0.5.0" + +"micromark-factory-space@^1.0.0": + "integrity" "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==" + "resolved" "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-character" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-factory-title@^1.0.0": + "integrity" "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==" + "resolved" "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "micromark-factory-space" "^1.0.0" + "micromark-util-character" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + "uvu" "^0.5.0" + +"micromark-factory-whitespace@^1.0.0": + "integrity" "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==" + "resolved" "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-factory-space" "^1.0.0" + "micromark-util-character" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-util-character@^1.0.0": + "integrity" "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==" + "resolved" "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-util-chunked@^1.0.0": + "integrity" "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==" + "resolved" "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-symbol" "^1.0.0" + +"micromark-util-classify-character@^1.0.0": + "integrity" "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==" + "resolved" "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-character" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-util-combine-extensions@^1.0.0": + "integrity" "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==" + "resolved" "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-chunked" "^1.0.0" + "micromark-util-types" "^1.0.0" + +"micromark-util-decode-numeric-character-reference@^1.0.0": + "integrity" "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==" + "resolved" "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-symbol" "^1.0.0" + +"micromark-util-decode-string@^1.0.0": + "integrity" "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==" + "resolved" "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "decode-named-character-reference" "^1.0.0" + "micromark-util-character" "^1.0.0" + "micromark-util-decode-numeric-character-reference" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + +"micromark-util-encode@^1.0.0": + "integrity" "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" + "resolved" "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz" + "version" "1.0.1" + +"micromark-util-html-tag-name@^1.0.0": + "integrity" "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==" + "resolved" "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz" + "version" "1.1.0" + +"micromark-util-normalize-identifier@^1.0.0": + "integrity" "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==" + "resolved" "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-symbol" "^1.0.0" + +"micromark-util-resolve-all@^1.0.0": + "integrity" "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==" + "resolved" "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "micromark-util-types" "^1.0.0" + +"micromark-util-sanitize-uri@^1.0.0", "micromark-util-sanitize-uri@^1.1.0": + "integrity" "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==" + "resolved" "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "micromark-util-character" "^1.0.0" + "micromark-util-encode" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + +"micromark-util-subtokenize@^1.0.0": + "integrity" "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==" + "resolved" "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "micromark-util-chunked" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.0" + "uvu" "^0.5.0" + +"micromark-util-symbol@^1.0.0": + "integrity" "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" + "resolved" "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz" + "version" "1.0.1" + +"micromark-util-types@^1.0.0", "micromark-util-types@^1.0.1": + "integrity" "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" + "resolved" "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz" + "version" "1.0.2" + +"micromark@^3.0.0": + "integrity" "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==" + "resolved" "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "@types/debug" "^4.0.0" + "debug" "^4.0.0" + "decode-named-character-reference" "^1.0.0" + "micromark-core-commonmark" "^1.0.1" + "micromark-factory-space" "^1.0.0" + "micromark-util-character" "^1.0.0" + "micromark-util-chunked" "^1.0.0" + "micromark-util-combine-extensions" "^1.0.0" + "micromark-util-decode-numeric-character-reference" "^1.0.0" + "micromark-util-encode" "^1.0.0" + "micromark-util-normalize-identifier" "^1.0.0" + "micromark-util-resolve-all" "^1.0.0" + "micromark-util-sanitize-uri" "^1.0.0" + "micromark-util-subtokenize" "^1.0.0" + "micromark-util-symbol" "^1.0.0" + "micromark-util-types" "^1.0.1" + "uvu" "^0.5.0" + +"mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.12": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"minimatch@^5.0.1": + "integrity" "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + "version" "5.1.6" + dependencies: + "brace-expansion" "^2.0.1" + +"moo@^0.5.1": + "integrity" "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==" + "resolved" "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz" + "version" "0.5.2" + +"mri@^1.1.0": + "integrity" "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + "resolved" "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" + "version" "1.2.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"mustache@^4.2.0": + "integrity" "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" + "resolved" "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" + "version" "4.2.0" + +"nodemailer@^6.9.1": + "integrity" "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==" + "resolved" "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz" + "version" "6.9.1" + +"once@^1.3.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"parse5@^6.0.0": + "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + "version" "6.0.1" + +"prompts@^2.4.2": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"property-information@^6.0.0": + "integrity" "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" + "resolved" "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz" + "version" "6.2.0" + +"proxy-from-env@^1.1.0": + "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + "version" "1.1.0" + +"rehype-format@^4.0.1": + "integrity" "sha512-HA92WeqFri00yiClrz54IIpM9no2DH9Mgy5aFmInNODoAYn+hN42a6oqJTIie2nj0HwFyV7JvOYx5YHBphN8mw==" + "resolved" "https://registry.npmjs.org/rehype-format/-/rehype-format-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "@types/hast" "^2.0.0" + "hast-util-embedded" "^2.0.0" + "hast-util-is-element" "^2.0.0" + "hast-util-phrasing" "^2.0.0" + "hast-util-whitespace" "^2.0.0" + "html-whitespace-sensitive-tag-names" "^2.0.0" + "rehype-minify-whitespace" "^5.0.0" + "unified" "^10.0.0" + "unist-util-visit-parents" "^5.0.0" + +"rehype-minify-whitespace@^5.0.0": + "integrity" "sha512-PPp4lWJiBPlePI/dv1BeYktbwkfgXkrK59MUa+tYbMPgleod+4DvFK2PLU0O0O60/xuhHfiR9GUIUlXTU8sRIQ==" + "resolved" "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "@types/hast" "^2.0.0" + "hast-util-embedded" "^2.0.0" + "hast-util-is-element" "^2.0.0" + "hast-util-whitespace" "^2.0.0" + "unified" "^10.0.0" + "unist-util-is" "^5.0.0" + +"rehype-stringify@^9.0.3": + "integrity" "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==" + "resolved" "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz" + "version" "9.0.3" + dependencies: + "@types/hast" "^2.0.0" + "hast-util-to-html" "^8.0.0" + "unified" "^10.0.0" + +"remark-parse@^10.0.1": + "integrity" "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==" + "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz" + "version" "10.0.1" + dependencies: + "@types/mdast" "^3.0.0" + "mdast-util-from-markdown" "^1.0.0" + "unified" "^10.0.0" + +"remark-rehype@^10.1.0": + "integrity" "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==" + "resolved" "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + "mdast-util-to-hast" "^12.1.0" + "unified" "^10.0.0" + +"sade@^1.7.3": + "integrity" "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==" + "resolved" "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" + "version" "1.8.1" + dependencies: + "mri" "^1.1.0" + +"safe-identifier@^0.4.1": + "integrity" "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==" + "resolved" "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz" + "version" "0.4.2" + +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + +"space-separated-tokens@^2.0.0": + "integrity" "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" + "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + "version" "2.0.2" + +"stringify-entities@^4.0.0": + "integrity" "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==" + "resolved" "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "character-entities-html4" "^2.0.0" + "character-entities-legacy" "^3.0.0" + +"tlds@^1.236.0": + "integrity" "sha512-oP2PZ3KeGlgpHgsEfrtva3/K9kzsJUNliQSbCfrJ7JMCWFoCdtG+9YMq/g2AnADQ1v5tVlbtvKJZ4KLpy/P6MA==" + "resolved" "https://registry.npmjs.org/tlds/-/tlds-1.236.0.tgz" + "version" "1.236.0" + +"trim-lines@^3.0.0": + "integrity" "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" + "resolved" "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + "version" "3.0.1" + +"trough@^2.0.0": + "integrity" "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + "resolved" "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" + "version" "2.1.0" + +"unified@^10.0.0", "unified@^10.1.2": + "integrity" "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==" + "resolved" "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" + "version" "10.1.2" + dependencies: + "@types/unist" "^2.0.0" + "bail" "^2.0.0" + "extend" "^3.0.0" + "is-buffer" "^2.0.0" + "is-plain-obj" "^4.0.0" + "trough" "^2.0.0" + "vfile" "^5.0.0" + +"unist-util-generated@^2.0.0": + "integrity" "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==" + "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz" + "version" "2.0.1" + +"unist-util-is@^5.0.0": + "integrity" "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==" + "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz" + "version" "5.2.0" + +"unist-util-position@^4.0.0": + "integrity" "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==" + "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "@types/unist" "^2.0.0" + +"unist-util-stringify-position@^3.0.0": + "integrity" "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==" + "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "@types/unist" "^2.0.0" + +"unist-util-visit-parents@^5.0.0", "unist-util-visit-parents@^5.1.1": + "integrity" "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==" + "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" + "version" "5.1.3" + dependencies: + "@types/unist" "^2.0.0" + "unist-util-is" "^5.0.0" + +"unist-util-visit@^4.0.0": + "integrity" "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==" + "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "@types/unist" "^2.0.0" + "unist-util-is" "^5.0.0" + "unist-util-visit-parents" "^5.1.1" + +"uvu@^0.5.0": + "integrity" "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==" + "resolved" "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" + "version" "0.5.6" + dependencies: + "dequal" "^2.0.0" + "diff" "^5.0.0" + "kleur" "^4.0.3" + "sade" "^1.7.3" + +"vfile-location@^4.0.0": + "integrity" "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==" + "resolved" "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "@types/unist" "^2.0.0" + "vfile" "^5.0.0" + +"vfile-message@^3.0.0": + "integrity" "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==" + "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" + "version" "3.1.4" + dependencies: + "@types/unist" "^2.0.0" + "unist-util-stringify-position" "^3.0.0" + +"vfile@^5.0.0": + "integrity" "sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==" + "resolved" "https://registry.npmjs.org/vfile/-/vfile-5.3.6.tgz" + "version" "5.3.6" + dependencies: + "@types/unist" "^2.0.0" + "is-buffer" "^2.0.0" + "unist-util-stringify-position" "^3.0.0" + "vfile-message" "^3.0.0" + +"web-namespaces@^2.0.0": + "integrity" "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" + "resolved" "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + "version" "2.0.1" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"zwitch@^2.0.0", "zwitch@^2.0.4": + "integrity" "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" + "resolved" "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + "version" "2.0.4"