diff --git a/.changeset/chatty-turtles-explode.md b/.changeset/chatty-turtles-explode.md new file mode 100644 index 0000000..580529e --- /dev/null +++ b/.changeset/chatty-turtles-explode.md @@ -0,0 +1,5 @@ +--- +'@rocket/engine': patch +--- + +Update es-module-lexer, small typecast fix because koa.context.body isn't always a string. diff --git a/.changeset/hot-peas-marry.md b/.changeset/hot-peas-marry.md new file mode 100644 index 0000000..898cca7 --- /dev/null +++ b/.changeset/hot-peas-marry.md @@ -0,0 +1,5 @@ +--- +'@mdjs/core': minor +--- + +BREAKING: Refactor @mdjs/core to ESM-only package, use latest rehype/remark/unified dependencies. diff --git a/packages/check-html-links/package.json b/packages/check-html-links/package.json index ef3ab14..23cf8f0 100644 --- a/packages/check-html-links/package.json +++ b/packages/check-html-links/package.json @@ -38,7 +38,7 @@ "glob": "^7.0.0", "minimatch": "^3.0.4", "sax-wasm": "^2.0.0", - "slash": "^3.0.0" + "slash": "^4.0.0" }, "devDependencies": { "@types/glob": "^7.0.0" diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 3ec47bb..8b849b2 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -15,6 +15,9 @@ { "path": "../plugins-manager/tsconfig.json" }, + { + "path": "../mdjs-core/tsconfig.json" + }, { "path": "../engine/tsconfig.json" } diff --git a/packages/engine/package.json b/packages/engine/package.json index 2cdb323..17ab57e 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -51,10 +51,11 @@ "@mdjs/core": "^0.9.5", "@parcel/watcher": "^2.0.5", "@web/dev-server": "^0.1.4", - "es-module-lexer": "^0.9.3", + "es-module-lexer": "^0.10.5", "lit": "^2.2.5", "plugins-manager": "^0.3.0", - "sax-wasm": "^2.1.3" + "sax-wasm": "^2.1.3", + "unist-util-visit": "^4.1.0" }, "types": "./dist-types/src/index.d.ts", "typesVersions": { diff --git a/packages/engine/src/formats/markdown.js b/packages/engine/src/formats/markdown.js index 95534c9..8c43581 100644 --- a/packages/engine/src/formats/markdown.js +++ b/packages/engine/src/formats/markdown.js @@ -11,7 +11,7 @@ import { readFile, writeFile } from 'fs/promises'; import path from 'path'; import { addPlugin } from 'plugins-manager'; import markdown from 'remark-parse'; -import visit from 'unist-util-visit'; +import { visit } from 'unist-util-visit'; /** * @param {string} string diff --git a/packages/engine/tsconfig.json b/packages/engine/tsconfig.json index 00453df..79637d4 100644 --- a/packages/engine/tsconfig.json +++ b/packages/engine/tsconfig.json @@ -14,6 +14,9 @@ "references": [ { "path": "../plugins-manager/tsconfig.json" + }, + { + "path": "../mdjs-core/tsconfig.json" } ], "include": [ diff --git a/packages/launch/tsconfig.json b/packages/launch/tsconfig.json index fce9f22..4da8e56 100644 --- a/packages/launch/tsconfig.json +++ b/packages/launch/tsconfig.json @@ -15,6 +15,9 @@ { "path": "../plugins-manager/tsconfig.json" }, + { + "path": "../mdjs-core/tsconfig.json" + }, { "path": "../engine/tsconfig.json" }, diff --git a/packages/mdjs-core/index.js b/packages/mdjs-core/index.js index 924ae93..d1b2d32 100644 --- a/packages/mdjs-core/index.js +++ b/packages/mdjs-core/index.js @@ -2,18 +2,11 @@ /** @typedef {import('./types/code.js').Story} Story */ /** @typedef {import('./types/code.js').MdjsProcessPlugin} MdjsProcessPlugin */ -const { mdjsParse } = require('./src/mdjsParse.js'); -const { mdjsSetupCode } = require('./src/mdjsSetupCode.js'); -const { mdjsStoryParse } = require('./src/mdjsStoryParse.js'); -const { mdjsDocPage } = require('./src/mdjsDocPage.js'); -const { mdjsProcess } = require('./src/mdjsProcess.js'); -const { isMdjsContent } = require('./src/isMdjsContent.js'); +import { mdjsParse } from './src/mdjsParse.js'; +import { mdjsSetupCode } from './src/mdjsSetupCode.js'; +import { mdjsStoryParse } from './src/mdjsStoryParse.js'; +import { mdjsDocPage } from './src/mdjsDocPage.js'; +import { mdjsProcess } from './src/mdjsProcess.js'; +import { isMdjsContent } from './src/isMdjsContent.js'; -module.exports = { - mdjsParse, - mdjsStoryParse, - mdjsDocPage, - mdjsProcess, - isMdjsContent, - mdjsSetupCode, -}; +export { mdjsParse, mdjsStoryParse, mdjsDocPage, mdjsProcess, isMdjsContent, mdjsSetupCode }; diff --git a/packages/mdjs-core/index.mjs b/packages/mdjs-core/index.mjs deleted file mode 100644 index 2494c37..0000000 --- a/packages/mdjs-core/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -import cjsEntrypoint from './index.js'; - -const { mdjsParse, mdjsStoryParse, mdjsDocPage, mdjsProcess, isMdjsContent, mdjsSetupCode } = - cjsEntrypoint; - -export { mdjsParse, mdjsStoryParse, mdjsDocPage, mdjsProcess, isMdjsContent, mdjsSetupCode }; diff --git a/packages/mdjs-core/package.json b/packages/mdjs-core/package.json index 9b6d719..749fd57 100644 --- a/packages/mdjs-core/package.json +++ b/packages/mdjs-core/package.json @@ -14,11 +14,11 @@ "author": "Modern Web (https://modern-web.dev/)", "homepage": "https://rocket.modern-web.dev/docs/markdown-javascript/overview/", "main": "./index.js", + "type": "module", "exports": { ".": { "types": "./dist-types/index.d.ts", - "require": "./index.js", - "default": "./index.mjs" + "default": "./index.js" } }, "scripts": { @@ -46,32 +46,32 @@ "remark" ], "dependencies": { - "@mdjs/mdjs-preview": "^0.5.8", + "@mdjs/mdjs-preview": "^0.5.9", "@mdjs/mdjs-story": "^0.3.2", - "@types/unist": "^2.0.3", - "es-module-lexer": "^0.9.3", - "github-markdown-css": "^4.0.0", - "plugins-manager": "^0.3.0", - "rehype-autolink-headings": "^5.0.1", - "rehype-prism": "^1.0.1", - "rehype-raw": "^5.0.0", - "rehype-slug": "^4.0.1", - "rehype-stringify": "^8.0.0", - "remark": "^13.0.0", - "remark-gfm": "^1.0.0", - "remark-parse": "^9.0.0", - "remark-rehype": "^8.0.0", - "slash": "^3.0.0", - "unified": "^9.2.0", - "unist-util-remove": "^2.0.1", - "unist-util-visit": "^2.0.3" + "@types/unist": "^2.0.6", + "es-module-lexer": "^0.10.5", + "github-markdown-css": "^5.1.0", + "plugins-manager": "^0.3.1", + "rehype-autolink-headings": "^6.1.1", + "rehype-prism": "^2.1.3", + "rehype-raw": "^6.1.1", + "rehype-slug": "^5.0.1", + "rehype-stringify": "^9.0.3", + "remark": "^14.0.2", + "remark-gfm": "^3.0.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "slash": "^4.0.0", + "unified": "^10.1.2", + "unist-util-remove": "^3.1.0", + "unist-util-visit": "^4.1.0" }, "devDependencies": { "demo-wc-card": "^0.1.0", - "remark-autolink-headings": "^6.0.1", - "remark-html": "^13.0.2", - "remark-slug": "^6.0.0", - "remark-stringify": "^9.0.1" + "remark-autolink-headings": "^7.0.1", + "remark-html": "^15.0.1", + "remark-slug": "^7.0.1", + "remark-stringify": "^10.0.2" }, "types": "dist-types/index.d.ts" } diff --git a/packages/mdjs-core/src/isMdjsContent.js b/packages/mdjs-core/src/isMdjsContent.js index ae67330..e53a871 100644 --- a/packages/mdjs-core/src/isMdjsContent.js +++ b/packages/mdjs-core/src/isMdjsContent.js @@ -4,7 +4,7 @@ * @param {string} text * @returns {boolean} */ -function isMdjsContent(text) { +export function isMdjsContent(text) { if (!text) { return false; } @@ -18,7 +18,3 @@ function isMdjsContent(text) { return false; } } - -module.exports = { - isMdjsContent, -}; diff --git a/packages/mdjs-core/src/mdjsDocPage.js b/packages/mdjs-core/src/mdjsDocPage.js index 0f6bf7a..b24f456 100644 --- a/packages/mdjs-core/src/mdjsDocPage.js +++ b/packages/mdjs-core/src/mdjsDocPage.js @@ -1,11 +1,11 @@ -const { mdjsProcess } = require('./mdjsProcess.js'); +import { mdjsProcess } from './mdjsProcess.js'; /** * * @param {string} body * @returns {Promise} */ -async function mdjsDocPage(body) { +export async function mdjsDocPage(body) { const data = await mdjsProcess(body); return ` @@ -92,7 +92,3 @@ async function mdjsDocPage(body) { `; } - -module.exports = { - mdjsDocPage, -}; diff --git a/packages/mdjs-core/src/mdjsParse.js b/packages/mdjs-core/src/mdjsParse.js index 272f17a..730e32a 100644 --- a/packages/mdjs-core/src/mdjsParse.js +++ b/packages/mdjs-core/src/mdjsParse.js @@ -1,12 +1,10 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -const visit = require('unist-util-visit'); -// @ts-ignore -const remove = require('unist-util-remove'); +import { visit } from 'unist-util-visit'; +import { remove } from 'unist-util-remove'; /** @typedef {import('vfile').VFileOptions} VFileOptions */ /** @typedef {import('unist').Node} Node */ -function mdjsParse() { +export function mdjsParse() { let jsCode = ''; /** @@ -14,26 +12,37 @@ function mdjsParse() { * @param {VFileOptions} file */ function transformer(tree, file) { - visit(tree, 'code', node => { - if (node.lang === 'js' && node.meta === 'script') { - jsCode += node.value; - } - if (node.lang === 'js' && node.meta === 'client') { - jsCode += node.value; - } - }); + visit( + tree, + 'code', + /** @param {Node & {[key: string]: unknown;}} node */ node => { + if (node.lang === 'js' && node.meta === 'script') { + jsCode += node.value; + } + if (node.lang === 'js' && node.meta === 'client') { + jsCode += node.value; + } + }, + ); // we can only return/modify the tree but jsCode should not be part of the tree // so we attach it globally to the file.data // eslint-disable-next-line no-param-reassign + if (!file.data) { + file.data = {}; + } file.data.jsCode = jsCode; /** * @param {Node} node */ - const removeFunction = node => - node.type === 'code' && - node.lang === 'js' && - (node.meta === 'script' || node.meta === 'client'); + const removeFunction = node => { + const _node = /** @type {Node & {[key: string]: unknown;}} */ (node); + return ( + _node.type === 'code' && + _node.lang === 'js' && + (_node.meta === 'script' || _node.meta === 'client') + ); + }; remove(tree, removeFunction); return tree; @@ -41,7 +50,3 @@ function mdjsParse() { return transformer; } - -module.exports = { - mdjsParse, -}; diff --git a/packages/mdjs-core/src/mdjsProcess.js b/packages/mdjs-core/src/mdjsProcess.js index 5c6821b..497a75f 100644 --- a/packages/mdjs-core/src/mdjsProcess.js +++ b/packages/mdjs-core/src/mdjsProcess.js @@ -4,21 +4,23 @@ /** @typedef {import('../types/code').ProcessResult} ProcessResult */ /** @typedef {import('../types/code').MdjsProcessPlugin} MdjsProcessPlugin */ -const unified = require('unified'); -const markdown = require('remark-parse'); -const gfm = require('remark-gfm'); -const remark2rehype = require('remark-rehype'); -const raw = require('rehype-raw'); -const htmlStringify = require('rehype-stringify'); -const htmlSlug = require('rehype-slug'); -const htmlHeading = require('rehype-autolink-headings'); +import { unified } from 'unified'; +import markdown from 'remark-parse'; +import gfm from 'remark-gfm'; +import remark2rehype from 'remark-rehype'; +import raw from 'rehype-raw'; +import htmlSlug from 'rehype-slug'; +import htmlHeading from 'rehype-autolink-headings'; +import htmlStringify from 'rehype-stringify'; // @ts-ignore -const { executeSetupFunctions } = require('plugins-manager'); -const loadLanguages = require('prismjs/components/'); +import { executeSetupFunctions } from 'plugins-manager'; +import { mdjsParse } from './mdjsParse.js'; +import { mdjsStoryParse } from './mdjsStoryParse.js'; +import { mdjsSetupCode } from './mdjsSetupCode.js'; -const { mdjsParse } = require('./mdjsParse.js'); -const { mdjsStoryParse } = require('./mdjsStoryParse.js'); -const { mdjsSetupCode } = require('./mdjsSetupCode.js'); +import { createRequire } from 'module'; +const require = createRequire(import.meta.url); +const loadLanguages = require('prismjs/components/'); let prismLoaded = false; @@ -52,7 +54,7 @@ const defaultMetaPlugins = [ * @param {function[]} [options.setupUnifiedPlugins] * @param {MdjsProcessPlugin[]} [options.plugins] deprecated option use setupUnifiedPlugins instead */ -async function mdjsProcess(mdjs, { setupUnifiedPlugins = [] } = {}) { +export async function mdjsProcess(mdjs, { setupUnifiedPlugins = [] } = {}) { const parser = unified(); if (!prismLoaded) { prismLoaded = true; @@ -74,9 +76,5 @@ async function mdjsProcess(mdjs, { setupUnifiedPlugins = [] } = {}) { const { stories, setupJsCode } = result.data; - return { stories, jsCode: setupJsCode, html: result.contents }; + return { stories, jsCode: setupJsCode, html: result.value }; } - -module.exports = { - mdjsProcess, -}; diff --git a/packages/mdjs-core/src/mdjsSetupCode.js b/packages/mdjs-core/src/mdjsSetupCode.js index 38e0049..02a7c56 100644 --- a/packages/mdjs-core/src/mdjsSetupCode.js +++ b/packages/mdjs-core/src/mdjsSetupCode.js @@ -1,5 +1,5 @@ -const path = require('path'); -const slash = require('slash'); +import path from 'path'; +import slash from 'slash'; /** @typedef {import('vfile').VFileOptions} VFileOptions */ /** @typedef {import('unist').Node} Node */ @@ -22,7 +22,7 @@ const slash = require('slash'); * @param {rocketConfig} [options.rocketConfig] * @returns */ -function mdjsSetupCode({ +export function mdjsSetupCode({ rootNodeQueryCode = 'document', simulationSettings = {}, rocketConfig = {}, @@ -43,11 +43,13 @@ function mdjsSetupCode({ * @param {VFileOptions} file */ async function transformer(tree, file) { + if (!file.data) { + file.data = {}; + } const { stories, jsCode } = file.data; - file.data.setupJsCode = jsCode; - if (stories && stories.length > 0) { + if (Array.isArray(stories) && stories.length > 0) { const storiesCode = stories.map(/** @param {Story} story */ story => story.code).join('\n'); const invokeStoriesCode = []; @@ -86,7 +88,3 @@ function mdjsSetupCode({ return transformer; } - -module.exports = { - mdjsSetupCode, -}; diff --git a/packages/mdjs-core/src/mdjsStoryParse.js b/packages/mdjs-core/src/mdjsStoryParse.js index e2c2bf7..fe734a3 100644 --- a/packages/mdjs-core/src/mdjsStoryParse.js +++ b/packages/mdjs-core/src/mdjsStoryParse.js @@ -6,8 +6,8 @@ /** @typedef {import('unist').Parent} UnistParent */ /** @typedef {import('vfile').VFileOptions} VFileOptions */ -const visit = require('unist-util-visit'); -const { init, parse } = require('es-module-lexer'); +import { visit } from 'unist-util-visit'; +import { init, parse } from 'es-module-lexer'; /** * @typedef {object} MDJSNodeProperties @@ -50,7 +50,7 @@ function defaultPreviewStoryTag(name) { * @param {TagFunction} [arg.previewStoryTag] * @param {number} [arg.counter] */ -function mdjsStoryParse({ +export function mdjsStoryParse({ storyTag = defaultStoryTag, previewStoryTag = defaultPreviewStoryTag, } = {}) { @@ -61,11 +61,12 @@ function mdjsStoryParse({ /* eslint-disable no-param-reassign */ /** - * @param {UnistNode} node + * @param {UnistNode} _node * @param {number} index * @param {UnistParent} parent */ - const nodeCodeVisitor = (node, index, parent) => { + const nodeCodeVisitor = (_node, index, parent) => { + let node = /** @type {UnistNode & {[key: string]: unknown}} */ (_node); if (node.lang === 'js' && node.meta === 'story' && typeof node.value === 'string') { const storyData = extractStoryData(node.value); node.type = 'html'; @@ -80,12 +81,17 @@ function mdjsStoryParse({ const inside = [node]; let skipAmount = 1; - const next = parent.children[index + 1]; + + const next = /** @type {UnistNode & {[key: string]: unknown}} */ ( + parent.children[index + 1] + ); if (next && next.type === 'code' && next.meta === 'story-code') { inside.push(next); skipAmount += 1; - const next2 = parent.children[index + 2]; + const next2 = /** @type {UnistNode & {[key: string]: unknown}} */ ( + parent.children[index + 2] + ); if (next2 && next2.type === 'code' && next2.meta === 'story-code') { inside.push(next2); skipAmount += 1; @@ -132,12 +138,16 @@ function mdjsStoryParse({ const tagParts = newValue.split('[[CODE SLOT]]'); const inside = [node]; let skipAmount = 1; - const next = parent.children[index + 1]; + const next = /** @type {UnistNode & {[key: string]: unknown}} */ ( + parent.children[index + 1] + ); if (next && next.type === 'code' && next.meta === 'story-code') { inside.push(next); skipAmount += 1; - const next2 = parent.children[index + 2]; + const next2 = /** @type {UnistNode & {[key: string]: unknown}} */ ( + parent.children[index + 2] + ); if (next2 && next2.type === 'code' && next2.meta === 'story-code') { inside.push(next2); skipAmount += 1; @@ -176,6 +186,9 @@ function mdjsStoryParse({ visit(tree, 'code', nodeCodeVisitor); // we can only return/modify the tree but stories should not be part of the tree // so we attach it globally to the file.data + if (!file.data) { + file.data = {}; + } file.data.stories = stories; return tree; @@ -184,7 +197,3 @@ function mdjsStoryParse({ return transformer; /* eslint-enable no-param-reassign */ } - -module.exports = { - mdjsStoryParse, -}; diff --git a/packages/mdjs-core/test-node/integration.test.js b/packages/mdjs-core/test-node/integration.test.js index 0d57ac5..cf487bc 100644 --- a/packages/mdjs-core/test-node/integration.test.js +++ b/packages/mdjs-core/test-node/integration.test.js @@ -1,22 +1,20 @@ /* eslint-disable no-template-curly-in-string */ -const unified = require('unified'); -const markdown = require('remark-parse'); -const remark2rehype = require('remark-rehype'); -const htmlStringify = require('rehype-stringify'); -const htmlSlug = require('rehype-slug'); -const htmlHeading = require('rehype-autolink-headings'); -const raw = require('rehype-raw'); +import { unified } from 'unified'; +import markdown from 'remark-parse'; +import remark2rehype from 'remark-rehype'; +import htmlStringify from 'rehype-stringify'; +import htmlSlug from 'rehype-slug'; +import htmlHeading from 'rehype-autolink-headings'; +import raw from 'rehype-raw'; -const mdSlug = require('remark-slug'); -const mdHeadings = require('remark-autolink-headings'); -const mdStringify = require('remark-html'); +import mdSlug from 'remark-slug'; +import mdHeadings from 'remark-autolink-headings'; +import mdStringify from 'remark-html'; -const chai = require('chai'); -const { mdjsParse } = require('../src/mdjsParse.js'); -const { mdjsStoryParse } = require('../src/mdjsStoryParse.js'); - -const { expect } = chai; +import { expect } from 'chai'; +import { mdjsParse } from '../src/mdjsParse.js'; +import { mdjsStoryParse } from '../src/mdjsStoryParse.js'; /** @typedef {import("../src/mdjsParse.js").MDJSVFileData} MDJSVFileData */ @@ -67,8 +65,8 @@ describe('Integration', () => { .use(htmlHeading) .use(htmlStringify); const result = await parser.process(input); - if (result.contents instanceof Buffer) throw new Error('contents should not be a buffer'); - expect(result.contents.split('\n')).to.deep.equal(expected); + if (result.value instanceof Buffer) throw new Error('contents should not be a buffer'); + expect(result.value.split('\n')).to.deep.equal(expected); expect(/** @type {MDJSVFileData} */ (result.data).jsCode).to.equal('const bar = 22;'); }); @@ -108,7 +106,7 @@ describe('Integration', () => { .use(mdHeadings) .use(mdStringify, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); expect(/** @type {MDJSVFileData} */ (result.data).stories).to.deep.equal([ { key: 'fooStory', diff --git a/packages/mdjs-core/test-node/mdJsProcess.test.js b/packages/mdjs-core/test-node/mdJsProcess.test.js index ed69a36..dcdf860 100644 --- a/packages/mdjs-core/test-node/mdJsProcess.test.js +++ b/packages/mdjs-core/test-node/mdJsProcess.test.js @@ -1,12 +1,10 @@ /* eslint-disable no-template-curly-in-string */ +import { adjustPluginOptions } from 'plugins-manager'; +import { mdjsProcess } from '../src/mdjsProcess.js'; +import { mdjsSetupCode } from '../src/mdjsSetupCode.js'; +import { mdjsStoryParse } from '../src/mdjsStoryParse.js'; -const chai = require('chai'); -const { adjustPluginOptions } = require('plugins-manager'); -const { mdjsProcess } = require('../src/mdjsProcess.js'); -const { mdjsSetupCode } = require('../src/mdjsSetupCode.js'); -const { mdjsStoryParse } = require('../src/mdjsStoryParse.js'); - -const { expect } = chai; +import { expect } from 'chai'; describe('mdjsProcess', () => { const input = [ @@ -68,7 +66,6 @@ describe('mdjsProcess', () => { ].join('\n'); const result = await mdjsProcess(input); - expect(result.html).to.equal(expected); expect(result.jsCode).to.equal(expectedJsCode); }); diff --git a/packages/mdjs-core/test-node/mdjsParse.test.js b/packages/mdjs-core/test-node/mdjsParse.test.js index e94260e..7655bfa 100644 --- a/packages/mdjs-core/test-node/mdjsParse.test.js +++ b/packages/mdjs-core/test-node/mdjsParse.test.js @@ -1,11 +1,9 @@ -const unified = require('unified'); -const markdown = require('remark-parse'); -const html = require('remark-html'); +import { unified } from 'unified'; +import markdown from 'remark-parse'; +import html from 'remark-html'; +import { mdjsParse } from '../src/mdjsParse.js'; -const chai = require('chai'); -const { mdjsParse } = require('../src/mdjsParse.js'); - -const { expect } = chai; +import { expect } from 'chai'; /** @typedef {import("../src/mdjsParse.js").MDJSVFileData} MDJSVFileData */ @@ -22,7 +20,7 @@ describe('mdjsParse', () => { ].join('\n'); const parser = unified().use(markdown).use(mdjsParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal( + expect(result.value).to.equal( '

Intro

\n
const foo = 1;\n
\n', ); expect(/** @type {MDJSVFileData} */ (result.data).jsCode).to.equal('const bar = 22;'); @@ -40,7 +38,7 @@ describe('mdjsParse', () => { ].join('\n'); const parser = unified().use(markdown).use(mdjsParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal( + expect(result.value).to.equal( '

Intro

\n
const foo = 1;\n
\n', ); expect(/** @type {MDJSVFileData} */ (result.data).jsCode).to.equal('const bar = 22;'); @@ -56,7 +54,7 @@ describe('mdjsParse', () => { ].join('\n'); const parser = unified().use(markdown).use(mdjsParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(''); + expect(result.value).to.equal(''); expect(/** @type {MDJSVFileData} */ (result.data).jsCode).to.equal('const bar = 22;'); }); }); diff --git a/packages/mdjs-core/test-node/mdjsStoryParse.test.js b/packages/mdjs-core/test-node/mdjsStoryParse.test.js index f2b508c..0b4e0a1 100644 --- a/packages/mdjs-core/test-node/mdjsStoryParse.test.js +++ b/packages/mdjs-core/test-node/mdjsStoryParse.test.js @@ -1,13 +1,11 @@ /* eslint-disable no-template-curly-in-string */ -const unified = require('unified'); -const markdown = require('remark-parse'); -const html = require('remark-html'); +import { unified } from 'unified'; +import markdown from 'remark-parse'; +import html from 'remark-html'; +import { mdjsStoryParse } from '../src/mdjsStoryParse.js'; -const chai = require('chai'); -const { mdjsStoryParse } = require('../src/mdjsStoryParse.js'); - -const { expect } = chai; +import { expect } from 'chai'; /** @typedef {import("../src/mdjsParse.js").MDJSVFileData} MDJSVFileData */ @@ -63,7 +61,7 @@ describe('mdjsStoryParse', () => { const parser = unified().use(markdown).use(mdjsStoryParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); expect(/** @type {MDJSVFileData} */ (result.data).stories).to.deep.equal([ { key: 'fooStory', @@ -112,7 +110,7 @@ describe('mdjsStoryParse', () => { }) .use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); }); it('will wrap following story-code blocks', async () => { @@ -150,7 +148,7 @@ describe('mdjsStoryParse', () => { const parser = unified().use(markdown).use(mdjsStoryParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); }); it('will wrap following story-code blocks also for html stories', async () => { @@ -188,7 +186,7 @@ describe('mdjsStoryParse', () => { const parser = unified().use(markdown).use(mdjsStoryParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); }); it('will wrap only following story-code blocks', async () => { @@ -244,6 +242,6 @@ describe('mdjsStoryParse', () => { const parser = unified().use(markdown).use(mdjsStoryParse).use(html, { sanitize: false }); const result = await parser.process(input); - expect(result.contents).to.equal(expected); + expect(result.value).to.equal(expected); }); }); diff --git a/packages/mdjs-core/tsconfig.json b/packages/mdjs-core/tsconfig.json index 0364bee..3ed26db 100644 --- a/packages/mdjs-core/tsconfig.json +++ b/packages/mdjs-core/tsconfig.json @@ -3,7 +3,7 @@ { "extends": "../../tsconfig.node-base.json", "compilerOptions": { - "module": "commonjs", + "module": "ESNext", "outDir": "./dist-types", "rootDir": ".", "composite": true, diff --git a/packages/mdjs-core/types/code.d.ts b/packages/mdjs-core/types/code.d.ts index 78389b9..66f4a75 100644 --- a/packages/mdjs-core/types/code.d.ts +++ b/packages/mdjs-core/types/code.d.ts @@ -23,7 +23,7 @@ export interface ProcessResult { } export interface ParseResult { - contents: string; + value: string; data: { stories: Story[]; jsCode: string; diff --git a/packages/mdjs-core/types/remark.d.ts b/packages/mdjs-core/types/remark.d.ts index 9b22925..dbde268 100644 --- a/packages/mdjs-core/types/remark.d.ts +++ b/packages/mdjs-core/types/remark.d.ts @@ -27,11 +27,3 @@ declare module 'rehype-autolink-headings' { export = unified.Plugin; } - -declare module 'unist-util-remove' { - import unified from 'unified'; - - function remove(ast: unified.Node, opts: any, test?: any): unified.Node; - - export = remove; -} diff --git a/packages/search/tsconfig.json b/packages/search/tsconfig.json index fce9f22..4da8e56 100644 --- a/packages/search/tsconfig.json +++ b/packages/search/tsconfig.json @@ -15,6 +15,9 @@ { "path": "../plugins-manager/tsconfig.json" }, + { + "path": "../mdjs-core/tsconfig.json" + }, { "path": "../engine/tsconfig.json" }, diff --git a/tsconfig.json b/tsconfig.json index 523ab59..9cb7e34 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,9 @@ { "path": "./packages/plugins-manager/tsconfig.json" }, + { + "path": "./packages/mdjs-core/tsconfig.json" + }, { "path": "./packages/engine/tsconfig.json" }, diff --git a/workspace-packages.mjs b/workspace-packages.mjs index 9f6cb0b..9148602 100644 --- a/workspace-packages.mjs +++ b/workspace-packages.mjs @@ -6,7 +6,7 @@ const packages = [ { name: 'search', type: 'js', environment: 'node-esm' }, // { name: 'check-html-links', type: 'js', environment: 'node-esm' }, // { name: 'drawer', type: 'js', environment: 'browser' }, - // { name: 'mdjs-core', type: 'js', environment: 'node' }, + { name: 'mdjs-core', type: 'js', environment: 'node-esm' }, // { name: 'mdjs-preview', type: 'js', environment: 'browser' }, // { name: 'mdjs-story', type: 'js', environment: 'browser' }, ]; diff --git a/yarn.lock b/yarn.lock index d9edae0..1265ffc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1653,7 +1653,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/hast@^2.0.0": +"@types/hast@*", "@types/hast@^2.0.0", "@types/hast@^2.3.2": version "2.3.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== @@ -1727,13 +1727,18 @@ "@types/koa-compose" "*" "@types/node" "*" -"@types/mdast@^3.0.0": +"@types/mdast@*", "@types/mdast@^3.0.0": version "3.0.10" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== dependencies: "@types/unist" "*" +"@types/mdurl@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + "@types/mime@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" @@ -1764,12 +1769,12 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*": +"@types/node@*", "@types/node@>12": version "18.7.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.1.tgz#352bee64f93117d867d05f7406642a52685cbca6" integrity sha512-GKX1Qnqxo4S+Z/+Z8KKPLpH282LD7jLHWJcVryOflnsnH+BtSDfieR6ObwBMwpnNws0bUK8GI7z0unQf9bARNQ== -"@types/node@14.x", "@types/node@^14.14.20", "@types/node@^14.14.31": +"@types/node@14.x", "@types/node@^14.14.20": version "14.18.23" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.23.tgz#70f5f20b0b1b38f696848c1d3647bb95694e615e" integrity sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA== @@ -1794,12 +1799,7 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/parse5@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" - integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== - -"@types/parse5@^6.0.1": +"@types/parse5@^6.0.0", "@types/parse5@^6.0.1": version "6.0.3" resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== @@ -1871,7 +1871,7 @@ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== -"@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", "@types/unist@^2.0.3", "@types/unist@^2.0.6": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== @@ -2472,6 +2472,11 @@ bail@^1.0.0: resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -2727,16 +2732,21 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-html4@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" - integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + character-entities@^1.0.0: version "1.2.4" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" @@ -2917,10 +2927,10 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -comma-separated-tokens@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +comma-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" + integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== command-line-args@^5.1.1, command-line-args@^5.1.2: version "5.2.1" @@ -3478,10 +3488,10 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" -es-module-lexer@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.10.5.tgz#06f76d51fa53b1f78e3bd8bb36dd275eda2fdd53" + integrity sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw== es-module-lexer@^1.0.0: version "1.0.3" @@ -4032,10 +4042,10 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -github-markdown-css@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/github-markdown-css/-/github-markdown-css-4.0.0.tgz#be9f4caf7a389228d4c368336260ffc909061f35" - integrity sha512-mH0bcIKv4XAN0mQVokfTdKo2OD5K8WJE9+lbMdM32/q0Ie5tXgVN/2o+zvToRMxSTUuiTRcLg5hzkFfOyBYreg== +github-markdown-css@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/github-markdown-css/-/github-markdown-css-5.1.0.tgz#a96281cd90a8969e3c13b9d3ca6a733a523a00a6" + integrity sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug== github-slugger@^1.0.0, github-slugger@^1.1.1: version "1.4.0" @@ -4193,122 +4203,134 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hast-to-hyperscript@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" - integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== +hast-to-hyperscript@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-10.0.1.tgz#3decd7cb4654bca8883f6fcbd4fb3695628c4296" + integrity sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw== dependencies: - "@types/unist" "^2.0.3" - comma-separated-tokens "^1.0.0" - property-information "^5.3.0" - space-separated-tokens "^1.0.0" + "@types/unist" "^2.0.0" + comma-separated-tokens "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" style-to-object "^0.3.0" - unist-util-is "^4.0.0" - web-namespaces "^1.0.0" + unist-util-is "^5.0.0" + web-namespaces "^2.0.0" -hast-util-from-parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" - integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== - dependencies: - "@types/parse5" "^5.0.0" - hastscript "^6.0.0" - property-information "^5.0.0" - vfile "^4.0.0" - vfile-location "^3.2.0" - web-namespaces "^1.0.0" - -hast-util-has-property@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-1.0.4.tgz#9f137565fad6082524b382c1e7d7d33ca5059f36" - integrity sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg== - -hast-util-heading-rank@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hast-util-heading-rank/-/hast-util-heading-rank-1.0.1.tgz#28dfd8b0724cfb0da48308e2a794b1d9f24fd80d" - integrity sha512-P6Hq7RCky9syMevlrN90QWpqWDXCxwIVOfQR2rK6P4GpY4bqjKEuCzoWSRORZ7vz+VgRpLnXimh+mkwvVFjbyQ== - -hast-util-is-element@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== - -hast-util-parse-selector@^2.0.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" - integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== - -hast-util-raw@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.1.0.tgz#e16a3c2642f65cc7c480c165400a40d604ab75d0" - integrity sha512-5FoZLDHBpka20OlZZ4I/+RBw5piVQ8iI1doEvffQhx5CbCyTtP8UCq8Tw6NmTAMtXgsQxmhW7Ly8OdFre5/YMQ== +hast-util-from-parse5@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.0.tgz#c129dd3a24dd8a867ab8a029ca47e27aa54864b7" + integrity sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ== dependencies: "@types/hast" "^2.0.0" - hast-util-from-parse5 "^6.0.0" - hast-util-to-parse5 "^6.0.0" - html-void-elements "^1.0.0" + "@types/parse5" "^6.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: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-2.0.0.tgz#c15cd6180f3e535540739fcc9787bcffb5708cae" + integrity sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w== + +hast-util-heading-rank@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hast-util-heading-rank/-/hast-util-heading-rank-2.1.0.tgz#c39f34fa8330ebfec03a08b5d5019ed56122029c" + integrity sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-is-element@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz#fc0b0dc7cef3895e839b8d66979d57b0338c68f3" + integrity sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + +hast-util-parse-selector@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.0.tgz#a519e27e8b61bd5a98fad494ed06131ce68d9c3f" + integrity sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-raw@^7.2.0: + version "7.2.2" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.2.tgz#1974360b2d7f15b5ce26c2a4bac892d5d8185a18" + integrity sha512-0x3BhhdlBcqRIKyc095lBSDvmQNMY3Eulj2PLsT5XCyKYrxssI5yr3P4Kv/PBo1s/DMkZy2voGkMXECnFCZRLQ== + 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 "^3.0.0" - unist-util-visit "^2.0.0" - vfile "^4.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.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-sanitize@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz#b0b783220af528ba8fe6999f092d138908678520" - integrity sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA== - dependencies: - xtend "^4.0.0" - -hast-util-to-html@^7.0.0, hast-util-to-html@^7.1.1: - version "7.1.3" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz#9f339ca9bea71246e565fc79ff7dbfe98bb50f5e" - integrity sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw== - dependencies: - ccount "^1.0.0" - comma-separated-tokens "^1.0.0" - hast-util-is-element "^1.0.0" - hast-util-whitespace "^1.0.0" - html-void-elements "^1.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" - stringify-entities "^3.0.1" - unist-util-is "^4.0.0" - xtend "^4.0.0" - -hast-util-to-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" - integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== - dependencies: - hast-to-hyperscript "^9.0.0" - property-information "^5.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hast-util-to-string@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-1.0.4.tgz#9b24c114866bdb9478927d7e9c36a485ac728378" - integrity sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w== - -hast-util-whitespace@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41" - integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A== - -hastscript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" - integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== +hast-util-sanitize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz#71a02ca2e50d04b852a5500846418070ca364f60" + integrity sha512-pw56+69jq+QSr/coADNvWTmBPDy+XsmwaF5KnUys4/wM1jt/fZdl7GPxhXXXYdXnz3Gj3qMkbUCH2uKjvX0MgQ== dependencies: "@types/hast" "^2.0.0" - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" + +hast-util-to-html@^8.0.0: + version "8.0.3" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz#4e37580872e143ea9ce0dba87918b19e4ea997e3" + integrity sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A== + dependencies: + "@types/hast" "^2.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-is-element "^2.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.2" + unist-util-is "^5.0.0" + +hast-util-to-parse5@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.0.0.tgz#a39808e69005d10afeed1866029a1fb137df3f7c" + integrity sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A== + dependencies: + "@types/hast" "^2.0.0" + "@types/parse5" "^6.0.0" + hast-to-hyperscript "^10.0.0" + property-information "^6.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a" + integrity sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-whitespace@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz#4fc1086467cc1ef5ba20673cb6b03cec3a970f1c" + integrity sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg== + +hastscript@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.0.2.tgz#d811fc040817d91923448a28156463b2e40d590a" + integrity sha512-uA8ooUY4ipaBvKcMuPehTAB/YfFLSSzCwFSwT6ltJbocFUKH/GDHLN+tflq7lSRf9H86uOuxOFkh1KgIy3Gg2g== + 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" he@1.2.0, he@^1.2.0: version "1.2.0" @@ -4338,10 +4360,10 @@ html-minifier-terser@^6.0.0: relateurl "^0.2.7" terser "^5.10.0" -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== +html-void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" + integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== http-assert@^1.3.0: version "1.5.0" @@ -4686,6 +4708,11 @@ is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -5301,12 +5328,14 @@ mdast-builder@^1.1.1: dependencies: "@types/unist" "^2.0.3" -mdast-util-definitions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" - integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== +mdast-util-definitions@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz#2c1d684b28e53f84938bb06317944bee8efa79db" + integrity sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ== dependencies: - unist-util-visit "^2.0.0" + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" mdast-util-find-and-replace@^1.1.0: version "1.1.1" @@ -5326,17 +5355,6 @@ mdast-util-find-and-replace@^2.0.0: unist-util-is "^5.0.0" unist-util-visit-parents "^5.0.0" -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - mdast-util-from-markdown@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268" @@ -5374,6 +5392,15 @@ mdast-util-gfm-autolink-literal@^1.0.0: mdast-util-find-and-replace "^2.0.0" micromark-util-character "^1.0.0" +mdast-util-gfm-footnote@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz#11d2d40a1a673a399c459e467fa85e00223191fe" + integrity sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-markdown "^1.3.0" + micromark-util-normalize-identifier "^1.0.0" + mdast-util-gfm-strikethrough@^0.2.0: version "0.2.3" resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz#45eea337b7fff0755a291844fbea79996c322890" @@ -5442,19 +5469,35 @@ mdast-util-gfm@^1.0.0: mdast-util-gfm-table "^1.0.0" mdast-util-gfm-task-list-item "^1.0.0" -mdast-util-to-hast@^10.0.0, mdast-util-to-hast@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz#61875526a017d8857b71abc9333942700b2d3604" - integrity sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ== +mdast-util-gfm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz#16fcf70110ae689a06d77e8f4e346223b64a0ea6" + integrity sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ== dependencies: + mdast-util-from-markdown "^1.0.0" + mdast-util-gfm-autolink-literal "^1.0.0" + mdast-util-gfm-footnote "^1.0.0" + mdast-util-gfm-strikethrough "^1.0.0" + mdast-util-gfm-table "^1.0.0" + mdast-util-gfm-task-list-item "^1.0.0" + mdast-util-to-markdown "^1.0.0" + +mdast-util-to-hast@^12.0.0, mdast-util-to-hast@^12.1.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.0.tgz#4dbff7ab2b20b8d12fc8fe98bf804d97e7358cbf" + integrity sha512-YDwT5KhGzLgPpSnQhAlK1+WpCW4gsPmNNAxUNMkMTDhxQyPp2eX86WOelnKnLKEvSpfxqJbPbInHFkefXZBhEA== + dependencies: + "@types/hast" "^2.0.0" "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" + "@types/mdurl" "^1.0.0" + mdast-util-definitions "^5.0.0" mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" + micromark-util-sanitize-uri "^1.0.0" + trim-lines "^3.0.0" + unist-builder "^3.0.0" + unist-util-generated "^2.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: version "0.6.5" @@ -5468,7 +5511,7 @@ mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-mark repeat-string "^1.0.0" zwitch "^1.0.0" -mdast-util-to-markdown@^1.0.1, mdast-util-to-markdown@^1.3.0: +mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.0.1, mdast-util-to-markdown@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e" integrity sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA== @@ -5481,11 +5524,6 @@ mdast-util-to-markdown@^1.0.1, mdast-util-to-markdown@^1.3.0: unist-util-visit "^4.0.0" zwitch "^2.0.0" -mdast-util-to-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" - integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== - mdast-util-to-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" @@ -5538,7 +5576,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromark-core-commonmark@^1.0.1: +micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== @@ -5560,6 +5598,17 @@ micromark-core-commonmark@^1.0.1: micromark-util-types "^1.0.1" uvu "^0.5.0" +micromark-extension-gfm-autolink-literal@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058" + integrity sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-extension-gfm-autolink-literal@~0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz#53866c1f0c7ef940ae7ca1f72c6faef8fed9f204" @@ -5567,6 +5616,32 @@ micromark-extension-gfm-autolink-literal@~0.5.0: dependencies: micromark "~2.11.3" +micromark-extension-gfm-footnote@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5" + integrity sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg== + dependencies: + micromark-core-commonmark "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + +micromark-extension-gfm-strikethrough@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz#162232c284ffbedd8c74e59c1525bda217295e18" + integrity sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-classify-character "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-extension-gfm-strikethrough@~0.6.5: version "0.6.5" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz#96cb83356ff87bf31670eefb7ad7bba73e6514d1" @@ -5574,6 +5649,17 @@ micromark-extension-gfm-strikethrough@~0.6.5: dependencies: micromark "~2.11.0" +micromark-extension-gfm-table@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4" + integrity sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg== + 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-extension-gfm-table@~0.4.0: version "0.4.3" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz#4d49f1ce0ca84996c853880b9446698947f1802b" @@ -5581,11 +5667,29 @@ micromark-extension-gfm-table@~0.4.0: dependencies: micromark "~2.11.0" +micromark-extension-gfm-tagfilter@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz#fb2e303f7daf616db428bb6a26e18fda14a90a4d" + integrity sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA== + dependencies: + micromark-util-types "^1.0.0" + micromark-extension-gfm-tagfilter@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz#d9f26a65adee984c9ccdd7e182220493562841ad" integrity sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== +micromark-extension-gfm-task-list-item@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz#7683641df5d4a09795f353574d7f7f66e47b7fc4" + integrity sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q== + 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-extension-gfm-task-list-item@~0.3.0: version "0.3.3" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz#d90c755f2533ed55a718129cee11257f136283b8" @@ -5605,6 +5709,20 @@ micromark-extension-gfm@^0.3.0: micromark-extension-gfm-tagfilter "~0.3.0" micromark-extension-gfm-task-list-item "~0.3.0" +micromark-extension-gfm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz#40f3209216127a96297c54c67f5edc7ef2d1a2a2" + integrity sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA== + dependencies: + micromark-extension-gfm-autolink-literal "^1.0.0" + micromark-extension-gfm-footnote "^1.0.0" + micromark-extension-gfm-strikethrough "^1.0.0" + micromark-extension-gfm-table "^1.0.0" + micromark-extension-gfm-tagfilter "^1.0.0" + micromark-extension-gfm-task-list-item "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-destination@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" @@ -6478,12 +6596,10 @@ prompts@^2.2.0: kleur "^3.0.3" sisteransi "^1.0.5" -property-information@^5.0.0, property-information@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" - integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== - dependencies: - xtend "^4.0.0" +property-information@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22" + integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w== proxy-from-env@1.1.0: version "1.1.0" @@ -6758,76 +6874,91 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" -rehype-autolink-headings@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/rehype-autolink-headings/-/rehype-autolink-headings-5.1.0.tgz#08a4dac4f98638ae2e46d66cb2697e6669f71f66" - integrity sha512-ujU4/ALnWLJQubobQaMdC0h9nkzi7HlW9SOuCxZOkkJqhc/TrQ1cigIjMFQ2Tfc/es0KiFopKvwCUGw7Gw+mFw== +rehype-autolink-headings@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/rehype-autolink-headings/-/rehype-autolink-headings-6.1.1.tgz#0cb874a56f3de6ead1c2268d7f0fc5006f244db5" + integrity sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA== dependencies: + "@types/hast" "^2.0.0" extend "^3.0.0" - hast-util-has-property "^1.0.0" - hast-util-heading-rank "^1.0.0" - unist-util-visit "^2.0.0" + hast-util-has-property "^2.0.0" + hast-util-heading-rank "^2.0.0" + hast-util-is-element "^2.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" -rehype-parse@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-7.0.1.tgz#58900f6702b56767814afc2a9efa2d42b1c90c57" - integrity sha512-fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw== +"rehype-parse@^7 || ^ 8": + version "8.0.4" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688" + integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg== dependencies: - hast-util-from-parse5 "^6.0.0" + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^7.0.0" parse5 "^6.0.0" + unified "^10.0.0" -rehype-prism@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/rehype-prism/-/rehype-prism-1.0.2.tgz#5ac4fc3326c4d7acee0dd71a98d69871dbc7b903" - integrity sha512-+asp8vJJoF4nHkQgjytnXi3ZuHuy1xGWaKMxHOakH8Ax9qva8GcSGVEM+VRavIQHpMUtKtqaLlG2asTsMz3Akw== +rehype-prism@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/rehype-prism/-/rehype-prism-2.1.3.tgz#1930234c89b48da6c63728fda7ab2458f763211d" + integrity sha512-s75NcA63NgkiiWeoCnT9sIdBkXtNY4Zyn7AScsVCi0EA6/qPLH5Waqj229bHARDzyZ4s4yFezO6h6LV7G/lQsg== dependencies: - "@types/node" "^14.14.31" + "@types/hast" "*" + "@types/mdast" "*" + "@types/node" ">12" "@types/prismjs" "^1.16.6" + "@types/unist" "*" prismjs "^1.24.1" - rehype-parse "^7.0.1" - unist-util-is "^4.1.0" - unist-util-select "^4.0.0" - unist-util-visit "^3.1.0" + rehype-parse "^7 || ^ 8" + unist-util-is "^4 || ^5" + unist-util-select "^4" + unist-util-visit "^3 || ^4" -rehype-raw@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-5.1.0.tgz#66d5e8d7188ada2d31bc137bc19a1000cf2c6b7e" - integrity sha512-MDvHAb/5mUnif2R+0IPCYJU8WjHa9UzGtM/F4AVy5GixPlDZ1z3HacYy4xojDU+uBa+0X/3PIfyQI26/2ljJNA== +rehype-raw@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-6.1.1.tgz#81bbef3793bd7abacc6bf8335879d1b6c868c9d4" + integrity sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ== dependencies: - hast-util-raw "^6.1.0" + "@types/hast" "^2.0.0" + hast-util-raw "^7.2.0" + unified "^10.0.0" -rehype-slug@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/rehype-slug/-/rehype-slug-4.0.1.tgz#313274501cffa997bd52dd57bf2da5851959747a" - integrity sha512-KIlJALf9WfHFF21icwTd2yI2IP+RQRweaxH9ChVGQwRYy36+hiomG4ZSe0yQRyCt+D/vE39LbAcOI/h4O4GPhA== +rehype-slug@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/rehype-slug/-/rehype-slug-5.0.1.tgz#6e732d0c55b3b1e34187e74b7363fb53229e5f52" + integrity sha512-X5v3wV/meuOX9NFcGhJvUpEjIvQl2gDvjg3z40RVprYFt7q3th4qMmYLULiu3gXvbNX1ppx+oaa6JyY1W67pTA== dependencies: + "@types/hast" "^2.0.0" github-slugger "^1.1.1" - hast-util-has-property "^1.0.0" - hast-util-heading-rank "^1.0.0" - hast-util-to-string "^1.0.0" - unist-util-visit "^2.0.0" + hast-util-has-property "^2.0.0" + hast-util-heading-rank "^2.0.0" + hast-util-to-string "^2.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" -rehype-stringify@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-8.0.0.tgz#9b6afb599bcf3165f10f93fc8548f9a03d2ec2ba" - integrity sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g== +rehype-stringify@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17" + integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw== dependencies: - hast-util-to-html "^7.1.1" + "@types/hast" "^2.0.0" + hast-util-to-html "^8.0.0" + unified "^10.0.0" relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== -remark-autolink-headings@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/remark-autolink-headings/-/remark-autolink-headings-6.1.0.tgz#45fa1f8860e0fc6b78bcbc4b0f5d5dd696170e04" - integrity sha512-oeMSIfjaNboWPDVKahQAjF8iJ8hsz5aI8KFzAmmBdznir7zBvkgUjYE/BrpWvd02DCf/mSQ1IklznLkl3dVvZQ== +remark-autolink-headings@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/remark-autolink-headings/-/remark-autolink-headings-7.0.1.tgz#1d8528ea8783b828200d13c055ec2d5f2cae5060" + integrity sha512-a1BIwoJ0cSnX+sPp5u3AFULBFWHGYBt57Fo4a+7IlGiJOQxs8b7uYAE5Iu26Ocl7Y5cvinZy3FaGVruLCKg6vA== dependencies: "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" extend "^3.0.0" - unified "^9.0.0" - unist-util-visit "^2.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" remark-emoji@^2.1.0: version "2.2.0" @@ -6846,53 +6977,83 @@ remark-gfm@^1.0.0: mdast-util-gfm "^0.1.0" micromark-extension-gfm "^0.3.0" -remark-html@^13.0.2: - version "13.0.2" - resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-13.0.2.tgz#de5f052749ff61fc904c9708c155c88a2e2655dc" - integrity sha512-LhSRQ+3RKdBqB/RGesFWkNNfkGqprDUCwjq54SylfFeNyZby5kqOG8Dn/vYsRoM8htab6EWxFXCY6XIZvMoRiQ== +remark-gfm@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f" + integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== dependencies: - hast-util-sanitize "^3.0.0" - hast-util-to-html "^7.0.0" - mdast-util-to-hast "^10.0.0" + "@types/mdast" "^3.0.0" + mdast-util-gfm "^2.0.0" + micromark-extension-gfm "^2.0.0" + unified "^10.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" - integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== +remark-html@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-15.0.1.tgz#199cc78656d857834de0304c4b54a773f3272078" + integrity sha512-7ta5UPRqj8nP0GhGMYUAghZ/DRno7dgq7alcW90A7+9pgJsXzGJlFgwF8HOP1b1tMgT3WwbeANN+CaTimMfyNQ== dependencies: - mdast-util-from-markdown "^0.8.0" + "@types/mdast" "^3.0.0" + hast-util-sanitize "^4.0.0" + hast-util-to-html "^8.0.0" + mdast-util-to-hast "^12.0.0" + unified "^10.0.0" -remark-rehype@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-8.1.0.tgz#610509a043484c1e697437fa5eb3fd992617c945" - integrity sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA== +remark-parse@^10.0.0, remark-parse@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" + integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== dependencies: - mdast-util-to-hast "^10.2.0" + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" -remark-slug@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce" - integrity sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ== +remark-rehype@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-to-hast "^12.1.0" + unified "^10.0.0" + +remark-slug@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-7.0.1.tgz#9827ce6d6ee81ca82b79891b0e5931a8123ce63b" + integrity sha512-NRvYePr69LdeCkEGwL4KYAmq7kdWG5rEavCXMzUR4qndLoXHJAOLSUmPY6Qm4NJfKix7/EmgObyVaYivONAFhg== + dependencies: + "@types/hast" "^2.3.2" + "@types/mdast" "^3.0.0" github-slugger "^1.0.0" - mdast-util-to-string "^1.0.0" - unist-util-visit "^2.0.0" + mdast-util-to-string "^3.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" -remark-stringify@^9.0.0, remark-stringify@^9.0.1: +remark-stringify@^10.0.0, remark-stringify@^10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.2.tgz#50414a6983f5008eb9e72eed05f980582d1f69d7" + integrity sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-markdown "^1.0.0" + unified "^10.0.0" + +remark-stringify@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== dependencies: mdast-util-to-markdown "^0.6.0" -remark@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" - integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== +remark@^14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/remark/-/remark-14.0.2.tgz#4a1833f7441a5c29e44b37bb1843fb820797b40f" + integrity sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA== dependencies: - remark-parse "^9.0.0" - remark-stringify "^9.0.0" - unified "^9.1.0" + "@types/mdast" "^3.0.0" + remark-parse "^10.0.0" + remark-stringify "^10.0.0" + unified "^10.0.0" repeat-string@^1.0.0: version "1.6.1" @@ -7229,6 +7390,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -7282,10 +7448,10 @@ sourcemap-codec@^1.4.8: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +space-separated-tokens@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b" + integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw== spawn-command@^0.0.2-1: version "0.0.2-1" @@ -7437,14 +7603,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-entities@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" - integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== +stringify-entities@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - xtend "^4.0.0" + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" stringify-object@^3.3.0: version "3.3.0" @@ -7659,6 +7824,11 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -7669,6 +7839,11 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +trough@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" + integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + ts-node@^9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" @@ -7829,7 +8004,20 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== -unified@^9.0.0, unified@^9.1.0, unified@^9.2.0, unified@^9.2.1: +unified@^10.0.0, unified@^10.1.2: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + 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" + +unified@^9.2.1: version "9.2.2" resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== @@ -7841,39 +8029,45 @@ unified@^9.0.0, unified@^9.1.0, unified@^9.2.0, unified@^9.2.1: trough "^1.0.0" vfile "^4.0.0" -unist-builder@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" - integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== +unist-builder@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.0.tgz#728baca4767c0e784e1e64bb44b5a5a753021a04" + integrity sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ== + dependencies: + "@types/unist" "^2.0.0" -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== +unist-util-generated@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.0.tgz#86fafb77eb6ce9bfa6b663c3f5ad4f8e56a60113" + integrity sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw== -unist-util-is@^4.0.0, unist-util-is@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== - -unist-util-is@^5.0.0: +"unist-util-is@^4 || ^5", unist-util-is@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236" integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ== -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== -unist-util-remove@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" - integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== +unist-util-position@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.3.tgz#5290547b014f6222dff95c48d5c3c13a88fadd07" + integrity sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ== dependencies: - unist-util-is "^4.0.0" + "@types/unist" "^2.0.0" -unist-util-select@^4.0.0: +unist-util-remove@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-3.1.0.tgz#8042577e151dac989b7517976bfe4bac58f76ccd" + integrity sha512-rO/sIghl13eN8irs5OBN2a4RC10MsJdiePCfwrvnzGtgIbHcDXr2REr0qi9F2r/CIb1r9FyyFmcMRIGs+EyUFw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.0.0" + +unist-util-select@^4: version "4.0.1" resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-4.0.1.tgz#d1913d7a0ab4e5d4b6dd1b33b3ea79b9f9645b0b" integrity sha512-zPozyEo5vr1csbHf1TqlQrnuLVJ0tNMo63og3HrnINh2+OIDAgQpqHVr+0BMw1DIVHJV8ft/e6BZqtvD1Y5enw== @@ -7906,14 +8100,6 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit-parents@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2" - integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521" @@ -7922,7 +8108,7 @@ unist-util-visit-parents@^5.0.0: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: +unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -7931,16 +8117,7 @@ unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: unist-util-is "^4.0.0" unist-util-visit-parents "^3.0.0" -unist-util-visit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b" - integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^4.0.0" - -unist-util-visit@^4.0.0: +"unist-util-visit@^3 || ^4", unist-util-visit@^4.0.0, unist-util-visit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5" integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ== @@ -8056,10 +8233,13 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== +vfile-location@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95" + integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw== + dependencies: + "@types/unist" "^2.0.0" + vfile "^5.0.0" vfile-message@^2.0.0: version "2.0.4" @@ -8069,6 +8249,14 @@ vfile-message@^2.0.0: "@types/unist" "^2.0.0" unist-util-stringify-position "^2.0.0" +vfile-message@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d" + integrity sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile@^4.0.0: version "4.2.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" @@ -8079,6 +8267,16 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vfile@^5.0.0: + version "5.3.4" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.4.tgz#bbb8c96b956693bbf70b2c67fdb5781dff769b93" + integrity sha512-KI+7cnst03KbEyN1+JE504zF5bJBZa+J+CrevLeyIMq0aPU681I2rQ5p4PlnQ6exFtWiUrg26QUdFMnAKR6PIw== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -8086,10 +8284,10 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-namespaces@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" - integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== web-streams-polyfill@^3.0.3: version "3.2.1" @@ -8279,7 +8477,7 @@ ws@^7.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xtend@^4.0.0, xtend@~4.0.1: +xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==