From 1ca23adc35de86fc674fe8457904438a1eb46ec3 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Sun, 20 Aug 2023 00:22:37 +0000 Subject: [PATCH] tools: update lint-md-dependencies - @rollup/plugin-node-resolve@15.2.0 - unified@11.0.1 - vfile-reporter@8.1.0 PR-URL: https://github.com/nodejs/node/pull/49253 Reviewed-By: Moshe Atlow Reviewed-By: Daijiro Wachi Reviewed-By: Luigi Pinca Reviewed-By: Mohammed Keyvanzadeh --- tools/lint-md/lint-md.mjs | 1165 +++++++++++++++++++------------ tools/lint-md/package-lock.json | 983 ++++++++++++++++++++++++-- tools/lint-md/package.json | 6 +- 3 files changed, 1651 insertions(+), 503 deletions(-) diff --git a/tools/lint-md/lint-md.mjs b/tools/lint-md/lint-md.mjs index 3306e24daeb..762a678f21d 100644 --- a/tools/lint-md/lint-md.mjs +++ b/tools/lint-md/lint-md.mjs @@ -1,123 +1,222 @@ import fs from 'fs'; -import path$1 from 'path'; -import { fileURLToPath, pathToFileURL } from 'url'; -import proc from 'process'; -import fs$1 from 'node:fs'; -import path$2 from 'node:path'; +import path$2 from 'path'; +import { pathToFileURL } from 'url'; +import path$1 from 'node:path'; import process$1 from 'node:process'; -import { fileURLToPath as fileURLToPath$1 } from 'node:url'; +import { fileURLToPath } from 'node:url'; +import fs$1 from 'node:fs'; import os from 'node:os'; import tty from 'node:tty'; +const VOID = -1; +const PRIMITIVE = 0; +const ARRAY = 1; +const OBJECT = 2; +const DATE = 3; +const REGEXP = 4; +const MAP = 5; +const SET = 6; +const ERROR = 7; +const BIGINT = 8; + +const env$1 = typeof self === 'object' ? self : globalThis; +const deserializer = ($, _) => { + const as = (out, index) => { + $.set(index, out); + return out; + }; + const unpair = index => { + if ($.has(index)) + return $.get(index); + const [type, value] = _[index]; + switch (type) { + case PRIMITIVE: + case VOID: + return as(value, index); + case ARRAY: { + const arr = as([], index); + for (const index of value) + arr.push(unpair(index)); + return arr; + } + case OBJECT: { + const object = as({}, index); + for (const [key, index] of value) + object[unpair(key)] = unpair(index); + return object; + } + case DATE: + return as(new Date(value), index); + case REGEXP: { + const {source, flags} = value; + return as(new RegExp(source, flags), index); + } + case MAP: { + const map = as(new Map, index); + for (const [key, index] of value) + map.set(unpair(key), unpair(index)); + return map; + } + case SET: { + const set = as(new Set, index); + for (const index of value) + set.add(unpair(index)); + return set; + } + case ERROR: { + const {name, message} = value; + return as(new env$1[name](message), index); + } + case BIGINT: + return as(BigInt(value), index); + case 'BigInt': + return as(Object(BigInt(value)), index); + } + return as(new env$1[type](value), index); + }; + return unpair; +}; +const deserialize = serialized => deserializer(new Map, serialized)(0); + +const EMPTY = ''; +const {toString: toString$1} = {}; +const {keys} = Object; +const typeOf = value => { + const type = typeof value; + if (type !== 'object' || !value) + return [PRIMITIVE, type]; + const asString = toString$1.call(value).slice(8, -1); + switch (asString) { + case 'Array': + return [ARRAY, EMPTY]; + case 'Object': + return [OBJECT, EMPTY]; + case 'Date': + return [DATE, EMPTY]; + case 'RegExp': + return [REGEXP, EMPTY]; + case 'Map': + return [MAP, EMPTY]; + case 'Set': + return [SET, EMPTY]; + } + if (asString.includes('Array')) + return [ARRAY, asString]; + if (asString.includes('Error')) + return [ERROR, asString]; + return [OBJECT, asString]; +}; +const shouldSkip = ([TYPE, type]) => ( + TYPE === PRIMITIVE && + (type === 'function' || type === 'symbol') +); +const serializer = (strict, json, $, _) => { + const as = (out, value) => { + const index = _.push(out) - 1; + $.set(value, index); + return index; + }; + const pair = value => { + if ($.has(value)) + return $.get(value); + let [TYPE, type] = typeOf(value); + switch (TYPE) { + case PRIMITIVE: { + let entry = value; + switch (type) { + case 'bigint': + TYPE = BIGINT; + entry = value.toString(); + break; + case 'function': + case 'symbol': + if (strict) + throw new TypeError('unable to serialize ' + type); + entry = null; + break; + case 'undefined': + return as([VOID], value); + } + return as([TYPE, entry], value); + } + case ARRAY: { + if (type) + return as([type, [...value]], value); + const arr = []; + const index = as([TYPE, arr], value); + for (const entry of value) + arr.push(pair(entry)); + return index; + } + case OBJECT: { + if (type) { + switch (type) { + case 'BigInt': + return as([type, value.toString()], value); + case 'Boolean': + case 'Number': + case 'String': + return as([type, value.valueOf()], value); + } + } + if (json && ('toJSON' in value)) + return pair(value.toJSON()); + const entries = []; + const index = as([TYPE, entries], value); + for (const key of keys(value)) { + if (strict || !shouldSkip(typeOf(value[key]))) + entries.push([pair(key), pair(value[key])]); + } + return index; + } + case DATE: + return as([TYPE, value.toISOString()], value); + case REGEXP: { + const {source, flags} = value; + return as([TYPE, {source, flags}], value); + } + case MAP: { + const entries = []; + const index = as([TYPE, entries], value); + for (const [key, entry] of value) { + if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) + entries.push([pair(key), pair(entry)]); + } + return index; + } + case SET: { + const entries = []; + const index = as([TYPE, entries], value); + for (const entry of value) { + if (strict || !shouldSkip(typeOf(entry))) + entries.push(pair(entry)); + } + return index; + } + } + const {message} = value; + return as([TYPE, {name: type, message}], value); + }; + return pair; +}; + const serialize$1 = (value, {json, lossy} = {}) => { + const _ = []; + return serializer(!(json || lossy), !!json, new Map, _)(value), _; +}; + +var structuredClone$1 = typeof structuredClone === "function" ? + (any, options) => ( + options && ('json' in options || 'lossy' in options) ? + deserialize(serialize$1(any, options)) : structuredClone(any) + ) : + (any, options) => deserialize(serialize$1(any, options)); + function bail(error) { if (error) { throw error } } -var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - -function getDefaultExportFromCjs (x) { - return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; -} - -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var isBuffer = function isBuffer (obj) { - return obj != null && obj.constructor != null && - typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -}; -var isBuffer$1 = getDefaultExportFromCjs(isBuffer); - -var hasOwn = Object.prototype.hasOwnProperty; -var toStr = Object.prototype.toString; -var defineProperty = Object.defineProperty; -var gOPD = Object.getOwnPropertyDescriptor; -var isArray = function isArray(arr) { - if (typeof Array.isArray === 'function') { - return Array.isArray(arr); - } - return toStr.call(arr) === '[object Array]'; -}; -var isPlainObject$1 = function isPlainObject(obj) { - if (!obj || toStr.call(obj) !== '[object Object]') { - return false; - } - var hasOwnConstructor = hasOwn.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - var key; - for (key in obj) { } - return typeof key === 'undefined' || hasOwn.call(obj, key); -}; -var setProperty = function setProperty(target, options) { - if (defineProperty && options.name === '__proto__') { - defineProperty(target, options.name, { - enumerable: true, - configurable: true, - value: options.newValue, - writable: true - }); - } else { - target[options.name] = options.newValue; - } -}; -var getProperty = function getProperty(obj, name) { - if (name === '__proto__') { - if (!hasOwn.call(obj, name)) { - return void 0; - } else if (gOPD) { - return gOPD(obj, name).value; - } - } - return obj[name]; -}; -var extend$1 = function extend() { - var options, name, src, copy, copyIsArray, clone; - var target = arguments[0]; - var i = 1; - var length = arguments.length; - var deep = false; - if (typeof target === 'boolean') { - deep = target; - target = arguments[1] || {}; - i = 2; - } - if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { - target = {}; - } - for (; i < length; ++i) { - options = arguments[i]; - if (options != null) { - for (name in options) { - src = getProperty(target, name); - copy = getProperty(options, name); - if (target !== copy) { - if (deep && copy && (isPlainObject$1(copy) || (copyIsArray = isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && isArray(src) ? src : []; - } else { - clone = src && isPlainObject$1(src) ? src : {}; - } - setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); - } else if (typeof copy !== 'undefined') { - setProperty(target, { name: name, newValue: copy }); - } - } - } - } - } - return target; -}; -var extend$2 = getDefaultExportFromCjs(extend$1); - function isPlainObject(value) { if (typeof value !== 'object' || value === null) { return false; @@ -206,83 +305,111 @@ function wrap(middleware, callback) { } } -function stringifyPosition$1(value) { +function stringifyPosition$3(value) { if (!value || typeof value !== 'object') { return '' } if ('position' in value || 'type' in value) { - return position$1(value.position) + return position$3(value.position) } if ('start' in value || 'end' in value) { - return position$1(value) + return position$3(value) } if ('line' in value || 'column' in value) { - return point$3(value) + return point$5(value) } return '' } -function point$3(point) { - return index$1(point && point.line) + ':' + index$1(point && point.column) +function point$5(point) { + return index$3(point && point.line) + ':' + index$3(point && point.column) } -function position$1(pos) { - return point$3(pos && pos.start) + '-' + point$3(pos && pos.end) +function position$3(pos) { + return point$5(pos && pos.start) + '-' + point$5(pos && pos.end) } -function index$1(value) { +function index$3(value) { return value && typeof value === 'number' ? value : 1 } let VFileMessage$1 = class VFileMessage extends Error { - constructor(reason, place, origin) { - const parts = [null, null]; - let position = { - start: {line: null, column: null}, - end: {line: null, column: null} - }; + constructor(causeOrReason, optionsOrParentOrPlace, origin) { super(); - if (typeof place === 'string') { - origin = place; - place = undefined; + if (typeof optionsOrParentOrPlace === 'string') { + origin = optionsOrParentOrPlace; + optionsOrParentOrPlace = undefined; } - if (typeof origin === 'string') { + let reason = ''; + let options = {}; + let legacyCause = false; + if (optionsOrParentOrPlace) { + if ( + 'line' in optionsOrParentOrPlace && + 'column' in optionsOrParentOrPlace + ) { + options = {place: optionsOrParentOrPlace}; + } + else if ( + 'start' in optionsOrParentOrPlace && + 'end' in optionsOrParentOrPlace + ) { + options = {place: optionsOrParentOrPlace}; + } + else if ('type' in optionsOrParentOrPlace) { + options = { + ancestors: [optionsOrParentOrPlace], + place: optionsOrParentOrPlace.position + }; + } + else { + options = {...optionsOrParentOrPlace}; + } + } + if (typeof causeOrReason === 'string') { + reason = causeOrReason; + } + else if (!options.cause && causeOrReason) { + legacyCause = true; + reason = causeOrReason.message; + options.cause = causeOrReason; + } + if (!options.ruleId && !options.source && typeof origin === 'string') { const index = origin.indexOf(':'); if (index === -1) { - parts[1] = origin; + options.ruleId = origin; } else { - parts[0] = origin.slice(0, index); - parts[1] = origin.slice(index + 1); + options.source = origin.slice(0, index); + options.ruleId = origin.slice(index + 1); } } - if (place) { - if ('type' in place || 'position' in place) { - if (place.position) { - position = place.position; - } - } - else if ('start' in place || 'end' in place) { - position = place; - } - else if ('line' in place || 'column' in place) { - position.start = place; + if (!options.place && options.ancestors && options.ancestors) { + const parent = options.ancestors[options.ancestors.length - 1]; + if (parent) { + options.place = parent.position; } } - this.name = stringifyPosition$1(place) || '1:1'; - this.message = typeof reason === 'object' ? reason.message : reason; - this.stack = ''; - if (typeof reason === 'object' && reason.stack) { - this.stack = reason.stack; - } - this.reason = this.message; - this.fatal; - this.line = position.start.line; - this.column = position.start.column; - this.position = position; - this.source = parts[0]; - this.ruleId = parts[1]; + const start = + options.place && 'start' in options.place + ? options.place.start + : options.place; + this.ancestors = options.ancestors || undefined; + this.cause = options.cause || undefined; + this.column = start ? start.column : undefined; + this.fatal = undefined; this.file; + this.message = reason; + this.line = start ? start.line : undefined; + this.name = stringifyPosition$3(options.place) || '1:1'; + this.place = options.place || undefined; + this.reason = this.message; + this.ruleId = options.ruleId || undefined; + this.source = options.source || undefined; + this.stack = + legacyCause && options.cause && typeof options.cause.stack === 'string' + ? options.cause.stack + : ''; this.actual; this.expected; - this.url; this.note; + this.url; } }; VFileMessage$1.prototype.file = ''; @@ -290,43 +417,55 @@ VFileMessage$1.prototype.name = ''; VFileMessage$1.prototype.reason = ''; VFileMessage$1.prototype.message = ''; VFileMessage$1.prototype.stack = ''; -VFileMessage$1.prototype.fatal = null; -VFileMessage$1.prototype.column = null; -VFileMessage$1.prototype.line = null; -VFileMessage$1.prototype.source = null; -VFileMessage$1.prototype.ruleId = null; -VFileMessage$1.prototype.position = null; +VFileMessage$1.prototype.column = undefined; +VFileMessage$1.prototype.line = undefined; +VFileMessage$1.prototype.ancestors = undefined; +VFileMessage$1.prototype.cause = undefined; +VFileMessage$1.prototype.fatal = undefined; +VFileMessage$1.prototype.place = undefined; +VFileMessage$1.prototype.ruleId = undefined; +VFileMessage$1.prototype.source = undefined; function isUrl$1(fileUrlOrPath) { - return ( + return Boolean( fileUrlOrPath !== null && - typeof fileUrlOrPath === 'object' && - fileUrlOrPath.href && - fileUrlOrPath.origin + typeof fileUrlOrPath === 'object' && + 'href' in fileUrlOrPath && + fileUrlOrPath.href && + 'protocol' in fileUrlOrPath && + fileUrlOrPath.protocol && + fileUrlOrPath.auth === undefined ) } -const order$1 = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']; +const order$1 = ([ + 'history', + 'path', + 'basename', + 'stem', + 'extname', + 'dirname' +]); let VFile$1 = class VFile { constructor(value) { let options; if (!value) { options = {}; - } else if (typeof value === 'string' || buffer(value)) { - options = {value}; } else if (isUrl$1(value)) { options = {path: value}; + } else if (typeof value === 'string' || isUint8Array$3(value)) { + options = {value}; } else { options = value; } + this.cwd = process$1.cwd(); this.data = {}; - this.messages = []; this.history = []; - this.cwd = proc.cwd(); + this.messages = []; this.value; - this.stored; - this.result; this.map; + this.result; + this.stored; let index = -1; while (++index < order$1.length) { const prop = order$1[index]; @@ -345,6 +484,37 @@ let VFile$1 = class VFile { } } } + get basename() { + return typeof this.path === 'string' ? path$1.basename(this.path) : undefined + } + set basename(basename) { + assertNonEmpty$1(basename, 'basename'); + assertPart$1(basename, 'basename'); + this.path = path$1.join(this.dirname || '', basename); + } + get dirname() { + return typeof this.path === 'string' ? path$1.dirname(this.path) : undefined + } + set dirname(dirname) { + assertPath$1(this.basename, 'dirname'); + this.path = path$1.join(dirname || '', this.basename); + } + get extname() { + return typeof this.path === 'string' ? path$1.extname(this.path) : undefined + } + set extname(extname) { + assertPart$1(extname, 'extname'); + assertPath$1(this.dirname, 'extname'); + if (extname) { + if (extname.codePointAt(0) !== 46 ) { + throw new Error('`extname` must start with `.`') + } + if (extname.includes('.', 1)) { + throw new Error('`extname` cannot contain multiple dots') + } + } + this.path = path$1.join(this.dirname, this.stem + (extname || '')); + } get path() { return this.history[this.history.length - 1] } @@ -357,37 +527,6 @@ let VFile$1 = class VFile { this.history.push(path); } } - get dirname() { - return typeof this.path === 'string' ? path$1.dirname(this.path) : undefined - } - set dirname(dirname) { - assertPath$1(this.basename, 'dirname'); - this.path = path$1.join(dirname || '', this.basename); - } - get basename() { - return typeof this.path === 'string' ? path$1.basename(this.path) : undefined - } - set basename(basename) { - assertNonEmpty$1(basename, 'basename'); - assertPart$1(basename, 'basename'); - this.path = path$1.join(this.dirname || '', basename); - } - get extname() { - return typeof this.path === 'string' ? path$1.extname(this.path) : undefined - } - set extname(extname) { - assertPart$1(extname, 'extname'); - assertPath$1(this.dirname, 'extname'); - if (extname) { - if (extname.charCodeAt(0) !== 46 ) { - throw new Error('`extname` must start with `.`') - } - if (extname.includes('.', 1)) { - throw new Error('`extname` cannot contain multiple dots') - } - } - this.path = path$1.join(this.dirname, this.stem + (extname || '')); - } get stem() { return typeof this.path === 'string' ? path$1.basename(this.path, this.extname) @@ -398,11 +537,22 @@ let VFile$1 = class VFile { assertPart$1(stem, 'stem'); this.path = path$1.join(this.dirname || '', stem + (this.extname || '')); } - toString(encoding) { - return (this.value || '').toString(encoding || undefined) + fail(causeOrReason, optionsOrParentOrPlace, origin) { + const message = this.message(causeOrReason, optionsOrParentOrPlace, origin); + message.fatal = true; + throw message } - message(reason, place, origin) { - const message = new VFileMessage$1(reason, place, origin); + info(causeOrReason, optionsOrParentOrPlace, origin) { + const message = this.message(causeOrReason, optionsOrParentOrPlace, origin); + message.fatal = undefined; + return message + } + message(causeOrReason, optionsOrParentOrPlace, origin) { + const message = new VFileMessage$1( + causeOrReason, + optionsOrParentOrPlace, + origin + ); if (this.path) { message.name = this.path + ':' + message.name; message.file = this.path; @@ -411,15 +561,15 @@ let VFile$1 = class VFile { this.messages.push(message); return message } - info(reason, place, origin) { - const message = this.message(reason, place, origin); - message.fatal = null; - return message - } - fail(reason, place, origin) { - const message = this.message(reason, place, origin); - message.fatal = true; - throw message + toString(encoding) { + if (this.value === undefined) { + return '' + } + if (typeof this.value === 'string') { + return this.value + } + const decoder = new TextDecoder(encoding || undefined); + return decoder.decode(this.value) } }; function assertPart$1(part, name) { @@ -439,82 +589,218 @@ function assertPath$1(path, name) { throw new Error('Setting `' + name + '` requires `path` to be set too') } } -function buffer(value) { - return isBuffer$1(value) +function isUint8Array$3(value) { + return Boolean( + value && + typeof value === 'object' && + 'byteLength' in value && + 'byteOffset' in value + ) } -const unified = base().freeze(); +const CallableInstance = + ( + ( + function (property) { + const self = this; + const constr = self.constructor; + const proto = ( + constr.prototype + ); + const func = proto[property]; + const apply = function () { + return func.apply(apply, arguments) + }; + Object.setPrototypeOf(apply, proto); + const names = Object.getOwnPropertyNames(func); + for (const p of names) { + const descriptor = Object.getOwnPropertyDescriptor(func, p); + if (descriptor) Object.defineProperty(apply, p, descriptor); + } + return apply + } + ) + ); + const own$6 = {}.hasOwnProperty; -function base() { - const transformers = trough(); - const attachers = []; - let namespace = {}; - let frozen; - let freezeIndex = -1; - processor.data = data; - processor.Parser = undefined; - processor.Compiler = undefined; - processor.freeze = freeze; - processor.attachers = attachers; - processor.use = use; - processor.parse = parse; - processor.stringify = stringify; - processor.run = run; - processor.runSync = runSync; - processor.process = process; - processor.processSync = processSync; - return processor - function processor() { - const destination = base(); +class Processor extends CallableInstance { + constructor() { + super('copy'); + this.Compiler = undefined; + this.Parser = undefined; + this.attachers = []; + this.compiler = undefined; + this.freezeIndex = -1; + this.frozen = undefined; + this.namespace = {}; + this.parser = undefined; + this.transformers = trough(); + } + copy() { + const destination = + ( + new Processor() + ); let index = -1; - while (++index < attachers.length) { - destination.use(...attachers[index]); + while (++index < this.attachers.length) { + const attacher = this.attachers[index]; + destination.use(...attacher); } - destination.data(extend$2(true, {}, namespace)); + destination.data(structuredClone$1(this.namespace)); return destination } - function data(key, value) { + data(key, value) { if (typeof key === 'string') { if (arguments.length === 2) { - assertUnfrozen('data', frozen); - namespace[key] = value; - return processor + assertUnfrozen('data', this.frozen); + this.namespace[key] = value; + return this } - return (own$6.call(namespace, key) && namespace[key]) || null + return (own$6.call(this.namespace, key) && this.namespace[key]) || undefined } if (key) { - assertUnfrozen('data', frozen); - namespace = key; - return processor + assertUnfrozen('data', this.frozen); + this.namespace = key; + return this } - return namespace + return this.namespace } - function freeze() { - if (frozen) { - return processor + freeze() { + if (this.frozen) { + return this } - while (++freezeIndex < attachers.length) { - const [attacher, ...options] = attachers[freezeIndex]; + const self = ( (this)); + while (++this.freezeIndex < this.attachers.length) { + const [attacher, ...options] = this.attachers[this.freezeIndex]; if (options[0] === false) { continue } if (options[0] === true) { options[0] = undefined; } - const transformer = attacher.call(processor, ...options); + const transformer = attacher.call(self, ...options); if (typeof transformer === 'function') { - transformers.use(transformer); + this.transformers.use(transformer); } } - frozen = true; - freezeIndex = Number.POSITIVE_INFINITY; - return processor + this.frozen = true; + this.freezeIndex = Number.POSITIVE_INFINITY; + return this } - function use(value, ...options) { - let settings; - assertUnfrozen('use', frozen); + parse(file) { + this.freeze(); + const realFile = vfile(file); + const parser = this.parser || this.Parser; + assertParser('parse', parser); + return parser(String(realFile), realFile) + } + process(file, done) { + const self = this; + this.freeze(); + assertParser('process', this.parser || this.Parser); + assertCompiler('process', this.compiler || this.Compiler); + return done ? executor(undefined, done) : new Promise(executor) + function executor(resolve, reject) { + const realFile = vfile(file); + const parseTree = + ( + (self.parse(realFile)) + ); + self.run(parseTree, realFile, function (error, tree, file) { + if (error || !tree || !file) { + return realDone(error) + } + const compileTree = + ( + (tree) + ); + const compileResult = self.stringify(compileTree, file); + if (looksLikeAValue(compileResult)) { + file.value = compileResult; + } else { + file.result = compileResult; + } + realDone(error, (file)); + }); + function realDone(error, file) { + if (error || !file) { + reject(error); + } else if (resolve) { + resolve(file); + } else { + done(undefined, file); + } + } + } + } + processSync(file) { + let complete = false; + let result; + this.freeze(); + assertParser('processSync', this.parser || this.Parser); + assertCompiler('processSync', this.compiler || this.Compiler); + this.process(file, realDone); + assertDone('processSync', 'process', complete); + return result + function realDone(error, file) { + complete = true; + bail(error); + result = file; + } + } + run(tree, file, done) { + assertNode(tree); + this.freeze(); + const transformers = this.transformers; + if (!done && typeof file === 'function') { + done = file; + file = undefined; + } + return done ? executor(undefined, done) : new Promise(executor) + function executor(resolve, reject) { + const realFile = vfile(file); + transformers.run(tree, realFile, realDone); + function realDone(error, outputTree, file) { + const resultingTree = + ( + outputTree || tree + ); + if (error) { + reject(error); + } else if (resolve) { + resolve(resultingTree); + } else { + done(undefined, resultingTree, file); + } + } + } + } + runSync(tree, file) { + let complete = false; + let result; + this.run(tree, file, realDone); + assertDone('runSync', 'run', complete); + return result + function realDone(error, tree) { + bail(error); + result = tree; + complete = true; + } + } + stringify(tree, file) { + this.freeze(); + const realFile = vfile(file); + const compiler = this.compiler || this.Compiler; + assertCompiler('stringify', compiler); + assertNode(tree); + return compiler(tree, realFile) + } + use(value, ...parameters) { + const attachers = this.attachers; + const namespace = this.namespace; + assertUnfrozen('use', this.frozen); if (value === null || value === undefined) ; else if (typeof value === 'function') { - addPlugin(value, ...options); + addPlugin(value, parameters); } else if (typeof value === 'object') { if (Array.isArray(value)) { addList(value); @@ -524,17 +810,15 @@ function base() { } else { throw new TypeError('Expected usable value, not `' + value + '`') } - if (settings) { - namespace.settings = Object.assign(namespace.settings || {}, settings); - } - return processor + return this function add(value) { if (typeof value === 'function') { - addPlugin(value); + addPlugin(value, []); } else if (typeof value === 'object') { if (Array.isArray(value)) { - const [plugin, ...options] = value; - addPlugin(plugin, ...options); + const [plugin, ...parameters] = + (value); + addPlugin(plugin, parameters); } else { addPreset(value); } @@ -543,9 +827,17 @@ function base() { } } function addPreset(result) { + if (!('plugins' in result) && !('settings' in result)) { + throw new Error( + 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither' + ) + } addList(result.plugins); if (result.settings) { - settings = Object.assign(settings || {}, result.settings); + namespace.settings = { + ...namespace.settings, + ...structuredClone$1(result.settings) + }; } } function addList(plugins) { @@ -559,156 +851,38 @@ function base() { throw new TypeError('Expected a list of plugins, not `' + plugins + '`') } } - function addPlugin(plugin, value) { + function addPlugin(plugin, parameters) { let index = -1; - let entry; + let entryIndex = -1; while (++index < attachers.length) { if (attachers[index][0] === plugin) { - entry = attachers[index]; + entryIndex = index; break } } - if (entry) { - if (isPlainObject(entry[1]) && isPlainObject(value)) { - value = extend$2(true, entry[1], value); + if (entryIndex === -1) { + attachers.push([plugin, ...parameters]); + } + else if (parameters.length > 0) { + let [primary, ...rest] = parameters; + const currentPrimary = attachers[entryIndex][1]; + if (isPlainObject(currentPrimary) && isPlainObject(primary)) { + primary = structuredClone$1({...currentPrimary, ...primary}); } - entry[1] = value; - } else { - attachers.push([...arguments]); + attachers[entryIndex] = [plugin, primary, ...rest]; } } } - function parse(doc) { - processor.freeze(); - const file = vfile(doc); - const Parser = processor.Parser; - assertParser('parse', Parser); - if (newable(Parser, 'parse')) { - return new Parser(String(file), file).parse() - } - return Parser(String(file), file) - } - function stringify(node, doc) { - processor.freeze(); - const file = vfile(doc); - const Compiler = processor.Compiler; - assertCompiler('stringify', Compiler); - assertNode(node); - if (newable(Compiler, 'compile')) { - return new Compiler(node, file).compile() - } - return Compiler(node, file) - } - function run(node, doc, callback) { - assertNode(node); - processor.freeze(); - if (!callback && typeof doc === 'function') { - callback = doc; - doc = undefined; - } - if (!callback) { - return new Promise(executor) - } - executor(null, callback); - function executor(resolve, reject) { - transformers.run(node, vfile(doc), done); - function done(error, tree, file) { - tree = tree || node; - if (error) { - reject(error); - } else if (resolve) { - resolve(tree); - } else { - callback(null, tree, file); - } - } - } - } - function runSync(node, file) { - let result; - let complete; - processor.run(node, file, done); - assertDone('runSync', 'run', complete); - return result - function done(error, tree) { - bail(error); - result = tree; - complete = true; - } - } - function process(doc, callback) { - processor.freeze(); - assertParser('process', processor.Parser); - assertCompiler('process', processor.Compiler); - if (!callback) { - return new Promise(executor) - } - executor(null, callback); - function executor(resolve, reject) { - const file = vfile(doc); - processor.run(processor.parse(file), file, (error, tree, file) => { - if (error || !tree || !file) { - done(error); - } else { - const result = processor.stringify(tree, file); - if (result === undefined || result === null) ; else if (looksLikeAVFileValue(result)) { - file.value = result; - } else { - file.result = result; - } - done(error, file); - } - }); - function done(error, file) { - if (error || !file) { - reject(error); - } else if (resolve) { - resolve(file); - } else { - callback(null, file); - } - } - } - } - function processSync(doc) { - let complete; - processor.freeze(); - assertParser('processSync', processor.Parser); - assertCompiler('processSync', processor.Compiler); - const file = vfile(doc); - processor.process(file, done); - assertDone('processSync', 'process', complete); - return file - function done(error) { - complete = true; - bail(error); - } - } -} -function newable(value, name) { - return ( - typeof value === 'function' && - value.prototype && - (keys(value.prototype) || name in value.prototype) - ) -} -function keys(value) { - let key; - for (key in value) { - if (own$6.call(value, key)) { - return true - } - } - return false } +const unified = new Processor().freeze(); function assertParser(name, value) { if (typeof value !== 'function') { - throw new TypeError('Cannot `' + name + '` without `Parser`') + throw new TypeError('Cannot `' + name + '` without `parser`') } } function assertCompiler(name, value) { if (typeof value !== 'function') { - throw new TypeError('Cannot `' + name + '` without `Compiler`') + throw new TypeError('Cannot `' + name + '` without `compiler`') } } function assertUnfrozen(name, frozen) { @@ -743,8 +917,16 @@ function looksLikeAVFile$1(value) { 'messages' in value ) } -function looksLikeAVFileValue(value) { - return typeof value === 'string' || isBuffer$1(value) +function looksLikeAValue(value) { + return typeof value === 'string' || isUint8Array$2(value) +} +function isUint8Array$2(value) { + return Boolean( + value && + typeof value === 'object' && + 'byteLength' in value && + 'byteOffset' in value + ) } const emptyOptions = {}; @@ -7123,6 +7305,31 @@ function decode($0, $1, $2) { return decodeNamedCharacterReference($2) || $0 } +function stringifyPosition$2(value) { + if (!value || typeof value !== 'object') { + return '' + } + if ('position' in value || 'type' in value) { + return position$2(value.position) + } + if ('start' in value || 'end' in value) { + return position$2(value) + } + if ('line' in value || 'column' in value) { + return point$4(value) + } + return '' +} +function point$4(point) { + return index$2(point && point.line) + ':' + index$2(point && point.column) +} +function position$2(pos) { + return point$4(pos && pos.start) + '-' + point$4(pos && pos.end) +} +function index$2(value) { + return value && typeof value === 'number' ? value : 1 +} + const own$4 = {}.hasOwnProperty; const fromMarkdown = function (value, encoding, options) { @@ -7289,7 +7496,7 @@ function compiler(options) { handler.call(context, undefined, tail[0]); } tree.position = { - start: point$2( + start: point$3( events.length > 0 ? events[0][1].start : { @@ -7298,7 +7505,7 @@ function compiler(options) { offset: 0 } ), - end: point$2( + end: point$3( events.length > 0 ? events[events.length - 2][1].end : { @@ -7448,7 +7655,7 @@ function compiler(options) { this.stack.push(node); this.tokenStack.push([token, errorHandler]); node.position = { - start: point$2(token.start) + start: point$3(token.start) }; return node } @@ -7467,7 +7674,7 @@ function compiler(options) { 'Cannot close `' + token.type + '` (' + - stringifyPosition$1({ + stringifyPosition$2({ start: token.start, end: token.end }) + @@ -7481,7 +7688,7 @@ function compiler(options) { handler.call(this, token, open[0]); } } - node.position.end = point$2(token.end); + node.position.end = point$3(token.end); return node } function resume() { @@ -7564,7 +7771,7 @@ function compiler(options) { if (!tail || tail.type !== 'text') { tail = text(); tail.position = { - start: point$2(token.start) + start: point$3(token.start) }; node.children.push(tail); } @@ -7573,13 +7780,13 @@ function compiler(options) { function onexitdata(token) { const tail = this.stack.pop(); tail.value += this.sliceSerialize(token); - tail.position.end = point$2(token.end); + tail.position.end = point$3(token.end); } function onexitlineending(token) { const context = this.stack[this.stack.length - 1]; if (getData('atHardBreak')) { const tail = context.children[context.children.length - 1]; - tail.position.end = point$2(token.end); + tail.position.end = point$3(token.end); setData('atHardBreak'); return } @@ -7699,7 +7906,7 @@ function compiler(options) { } const tail = this.stack.pop(); tail.value += value; - tail.position.end = point$2(token.end); + tail.position.end = point$3(token.end); } function onexitautolinkprotocol(token) { onexitdata.call(this, token); @@ -7821,7 +8028,7 @@ function compiler(options) { } } } -function point$2(d) { +function point$3(d) { return { line: d.line, column: d.column, @@ -7868,14 +8075,14 @@ function defaultOnError(left, right) { 'Cannot close `' + left.type + '` (' + - stringifyPosition$1({ + stringifyPosition$2({ start: left.start, end: left.end }) + '): a different token (`' + right.type + '`, ' + - stringifyPosition$1({ + stringifyPosition$2({ start: right.start, end: right.end }) + @@ -7886,7 +8093,7 @@ function defaultOnError(left, right) { 'Cannot close document, a token (`' + right.type + '`, ' + - stringifyPosition$1({ + stringifyPosition$2({ start: right.start, end: right.end }) + @@ -12339,6 +12546,12 @@ const remarkLintFinalNewline = lintRule( ); var remarkLintFinalNewline$1 = remarkLintFinalNewline; +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + function commonjsRequire(path) { throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } @@ -12767,9 +12980,9 @@ const remarkLintListItemBulletIndent = lintRule( ); var remarkLintListItemBulletIndent$1 = remarkLintListItemBulletIndent; -const pointStart = point$1('start'); -const pointEnd = point$1('end'); -function point$1(type) { +const pointStart = point$2('start'); +const pointEnd = point$2('end'); +function point$2(type) { return point function point(node) { const point = (node && node.position && node.position[type]) || {}; @@ -13396,7 +13609,7 @@ const remarkLintNoDuplicateDefinitions = lintRule( node ); } - map[identifier] = stringifyPosition$1(pointStart(node)); + map[identifier] = stringifyPosition$2(pointStart(node)); } }); } @@ -15965,7 +16178,7 @@ const remarkLintNoMultipleToplevelHeadings = lintRule( node ); } else { - duplicate = stringifyPosition$1(pointStart(node)); + duplicate = stringifyPosition$2(pointStart(node)); } } }); @@ -16662,7 +16875,7 @@ function* getLinksRecursively(node) { } } function validateLinks(tree, vfile) { - const currentFileURL = pathToFileURL(path$1.join(vfile.cwd, vfile.path)); + const currentFileURL = pathToFileURL(path$2.join(vfile.cwd, vfile.path)); let previousDefinitionLabel; for (const node of getLinksRecursively(tree)) { if (node.url[0] !== "#") { @@ -21053,28 +21266,28 @@ const settings = { }; const remarkPresetLintNode = { plugins, settings }; -function stringifyPosition(value) { +function stringifyPosition$1(value) { if (!value || typeof value !== 'object') { return '' } if ('position' in value || 'type' in value) { - return position(value.position) + return position$1(value.position) } if ('start' in value || 'end' in value) { - return position(value) + return position$1(value) } if ('line' in value || 'column' in value) { - return point(value) + return point$1(value) } return '' } -function point(point) { - return index(point && point.line) + ':' + index(point && point.column) +function point$1(point) { + return index$1(point && point.line) + ':' + index$1(point && point.column) } -function position(pos) { - return point(pos && pos.start) + '-' + point(pos && pos.end) +function position$1(pos) { + return point$1(pos && pos.start) + '-' + point$1(pos && pos.end) } -function index(value) { +function index$1(value) { return value && typeof value === 'number' ? value : 1 } @@ -21145,7 +21358,7 @@ class VFileMessage extends Error { this.file; this.message = reason; this.line = start ? start.line : undefined; - this.name = stringifyPosition(options.place) || '1:1'; + this.name = stringifyPosition$1(options.place) || '1:1'; this.place = options.place || undefined; this.reason = this.message; this.ruleId = options.ruleId || undefined; @@ -21233,22 +21446,22 @@ class VFile { } } get basename() { - return typeof this.path === 'string' ? path$2.basename(this.path) : undefined + return typeof this.path === 'string' ? path$1.basename(this.path) : undefined } set basename(basename) { assertNonEmpty(basename, 'basename'); assertPart(basename, 'basename'); - this.path = path$2.join(this.dirname || '', basename); + this.path = path$1.join(this.dirname || '', basename); } get dirname() { - return typeof this.path === 'string' ? path$2.dirname(this.path) : undefined + return typeof this.path === 'string' ? path$1.dirname(this.path) : undefined } set dirname(dirname) { assertPath(this.basename, 'dirname'); - this.path = path$2.join(dirname || '', this.basename); + this.path = path$1.join(dirname || '', this.basename); } get extname() { - return typeof this.path === 'string' ? path$2.extname(this.path) : undefined + return typeof this.path === 'string' ? path$1.extname(this.path) : undefined } set extname(extname) { assertPart(extname, 'extname'); @@ -21261,14 +21474,14 @@ class VFile { throw new Error('`extname` cannot contain multiple dots') } } - this.path = path$2.join(this.dirname, this.stem + (extname || '')); + this.path = path$1.join(this.dirname, this.stem + (extname || '')); } get path() { return this.history[this.history.length - 1] } set path(path) { if (isUrl(path)) { - path = fileURLToPath$1(path); + path = fileURLToPath(path); } assertNonEmpty(path, 'path'); if (this.path !== path) { @@ -21277,13 +21490,13 @@ class VFile { } get stem() { return typeof this.path === 'string' - ? path$2.basename(this.path, this.extname) + ? path$1.basename(this.path, this.extname) : undefined } set stem(stem) { assertNonEmpty(stem, 'stem'); assertPart(stem, 'stem'); - this.path = path$2.join(this.dirname || '', stem + (this.extname || '')); + this.path = path$1.join(this.dirname || '', stem + (this.extname || '')); } fail(causeOrReason, optionsOrParentOrPlace, origin) { const message = this.message(causeOrReason, optionsOrParentOrPlace, origin); @@ -21321,9 +21534,9 @@ class VFile { } } function assertPart(part, name) { - if (part && part.includes(path$2.sep)) { + if (part && part.includes(path$1.sep)) { throw new Error( - '`' + name + '` cannot be a path: did not expect `' + path$2.sep + '`' + '`' + name + '` cannot be a path: did not expect `' + path$1.sep + '`' ) } } @@ -21362,7 +21575,7 @@ function read(description, options, callback) { function executor(resolve, reject) { let fp; try { - fp = path$2.resolve(file.cwd, file.path); + fp = path$1.resolve(file.cwd, file.path); } catch (error) { const exception = (error); return reject(exception) @@ -21778,6 +21991,31 @@ function stringWidth(string, options) { return width; } +function stringifyPosition(value) { + if (!value || typeof value !== 'object') { + return '' + } + if ('position' in value || 'type' in value) { + return position(value.position) + } + if ('start' in value || 'end' in value) { + return position(value) + } + if ('line' in value || 'column' in value) { + return point(value) + } + return '' +} +function point(point) { + return index(point && point.line) + ':' + index(point && point.column) +} +function position(pos) { + return point(pos && pos.start) + '-' + point(pos && pos.end) +} +function index(value) { + return value && typeof value === 'number' ? value : 1 +} + function compareFile(a, b) { return compareString(a, b, 'path') } @@ -22035,7 +22273,7 @@ function createAncestorsLines(state, ancestors) { typeof value.name === 'string' ? value.name : undefined; - const position = stringifyPosition$1(node.position); + const position = stringifyPosition(node.position); lines.push( ' at ' + state.yellow + @@ -22075,9 +22313,24 @@ function createByline(state, stats) { } function createCauseLines(state, cause) { const lines = [' ' + state.bold + '[cause]' + state.normalIntensity + ':']; - const stackLines = (cause.stack || cause.message).split(eol); - stackLines[0] = ' ' + stackLines[0]; - lines.push(...stackLines); + let foundReasonableCause = false; + if (cause !== null && typeof cause === 'object') { + const stackValue = + ('stack' in cause ? String(cause.stack) : undefined) || + ('message' in cause ? String(cause.message) : undefined); + if (typeof stackValue === 'string') { + foundReasonableCause = true; + const stackLines = stackValue.split(eol); + stackLines[0] = ' ' + stackLines[0]; + lines.push(...stackLines); + if ('cause' in cause && cause.cause) { + lines.push(...createCauseLines(state, cause.cause)); + } + } + } + if (!foundReasonableCause) { + lines.push(' ' + cause); + } return lines } function createFileLine(state, file) { @@ -22125,7 +22378,7 @@ function createMessageLine(state, message) { } const place = message.place || message.position; const row = [ - stringifyPosition$1(place), + stringifyPosition(place), (label === 'error' ? state.red : state.yellow) + label + state.defaultColor, formatReason(state, reason), message.ruleId || '', diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json index 8421d22ae37..5703ec6f2ff 100644 --- a/tools/lint-md/package-lock.json +++ b/tools/lint-md/package-lock.json @@ -12,12 +12,12 @@ "remark-preset-lint-node": "^4.0.0", "remark-stringify": "^10.0.3", "to-vfile": "^8.0.0", - "unified": "^10.1.2", - "vfile-reporter": "^8.0.0" + "unified": "^11.0.1", + "vfile-reporter": "^8.1.0" }, "devDependencies": { "@rollup/plugin-commonjs": "^25.0.4", - "@rollup/plugin-node-resolve": "^15.1.0", + "@rollup/plugin-node-resolve": "^15.2.0", "rollup": "^3.28.0", "rollup-plugin-cleanup": "^3.2.1" } @@ -54,9 +54,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", - "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.0.tgz", + "integrity": "sha512-mKur03xNGT8O9ODO6FtT43ITGqHWZbKPdVJHZb+iV9QYcdlhUUB0wgknvA4KCUmC5oHJF6O2W1EgmyOQyVUI4Q==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -79,9 +79,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz", + "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==", "dev": true, "dependencies": { "@types/estree": "^1.0.0", @@ -158,6 +158,11 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, "node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -284,6 +289,18 @@ "node": ">=6" } }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -1385,6 +1402,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-gfm/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.2.tgz", @@ -1417,6 +1452,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-blockquote-indentation/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-checkbox-character-style": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-checkbox-character-style/-/remark-lint-checkbox-character-style-4.1.2.tgz", @@ -1433,6 +1486,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-checkbox-character-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-checkbox-content-indent": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-checkbox-content-indent/-/remark-lint-checkbox-content-indent-4.1.2.tgz", @@ -1450,6 +1521,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-checkbox-content-indent/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-code-block-style": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-3.1.2.tgz", @@ -1467,6 +1556,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-code-block-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-definition-spacing": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-3.1.2.tgz", @@ -1483,6 +1590,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-definition-spacing/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-fenced-code-flag": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz", @@ -1500,6 +1625,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-fenced-code-flag/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-fenced-code-marker": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-3.1.2.tgz", @@ -1516,6 +1659,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-fenced-code-marker/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-file-extension": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-2.1.2.tgz", @@ -1530,6 +1691,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-file-extension/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-final-definition": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-3.1.2.tgz", @@ -1547,6 +1726,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-final-definition/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-final-newline": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-2.1.2.tgz", @@ -1561,6 +1758,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-final-newline/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-first-heading-level": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-first-heading-level/-/remark-lint-first-heading-level-3.1.2.tgz", @@ -1577,6 +1792,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-first-heading-level/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-hard-break-spaces": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-3.1.2.tgz", @@ -1594,6 +1827,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-hard-break-spaces/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-heading-style": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-3.1.2.tgz", @@ -1611,6 +1862,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-heading-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-list-item-bullet-indent": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-4.1.2.tgz", @@ -1627,6 +1896,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-list-item-bullet-indent/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-list-item-indent": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-3.1.2.tgz", @@ -1645,6 +1932,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-list-item-indent/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-maximum-line-length": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-3.1.3.tgz", @@ -1662,6 +1967,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-maximum-line-length/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-blockquote-without-marker": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-5.1.2.tgz", @@ -1680,6 +2003,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-blockquote-without-marker/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-consecutive-blank-lines": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-4.1.3.tgz", @@ -1699,6 +2040,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-consecutive-blank-lines/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-duplicate-definitions": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-3.1.2.tgz", @@ -1717,6 +2076,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-duplicate-definitions/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-file-name-articles": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-2.1.2.tgz", @@ -1731,6 +2108,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-file-name-articles/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-file-name-consecutive-dashes": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-2.1.2.tgz", @@ -1745,6 +2140,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-file-name-consecutive-dashes/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-file-name-outer-dashes": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-2.1.2.tgz", @@ -1759,6 +2172,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-file-name-outer-dashes/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-heading-content-indent": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-4.1.2.tgz", @@ -1778,6 +2209,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-heading-content-indent/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-heading-indent": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-heading-indent/-/remark-lint-no-heading-indent-4.1.2.tgz", @@ -1796,6 +2245,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-heading-indent/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-inline-padding": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-4.1.2.tgz", @@ -1813,6 +2280,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-inline-padding/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-literal-urls": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-3.1.2.tgz", @@ -1831,6 +2316,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-literal-urls/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-multiple-toplevel-headings": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-3.1.2.tgz", @@ -1849,6 +2352,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-multiple-toplevel-headings/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-shell-dollars": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz", @@ -1865,6 +2386,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-shell-dollars/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-shortcut-reference-image": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-3.1.2.tgz", @@ -1881,6 +2420,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-shortcut-reference-image/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-shortcut-reference-link": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-3.1.2.tgz", @@ -1897,6 +2454,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-shortcut-reference-link/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-table-indentation": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-4.1.2.tgz", @@ -1914,6 +2489,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-table-indentation/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-tabs": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-tabs/-/remark-lint-no-tabs-3.1.2.tgz", @@ -1929,6 +2522,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-tabs/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-trailing-spaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/remark-lint-no-trailing-spaces/-/remark-lint-no-trailing-spaces-2.0.1.tgz", @@ -1968,6 +2579,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-undefined-references/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-no-unused-definitions": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-3.1.2.tgz", @@ -1984,6 +2613,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-no-unused-definitions/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-ordered-list-marker-style": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-3.1.2.tgz", @@ -2001,6 +2648,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-ordered-list-marker-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-prohibited-strings": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-3.1.0.tgz", @@ -2029,6 +2694,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-rule-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-strong-marker": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-3.1.2.tgz", @@ -2045,6 +2728,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-strong-marker/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-table-cell-padding": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-4.1.3.tgz", @@ -2062,6 +2763,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-table-cell-padding/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-table-pipes": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-4.1.2.tgz", @@ -2078,6 +2797,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-table-pipes/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-lint-unordered-list-marker-style": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.2.tgz", @@ -2095,6 +2832,42 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-lint-unordered-list-marker-style/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-lint/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-message-control": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-7.1.1.tgz", @@ -2111,6 +2884,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-message-control/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-parse": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", @@ -2125,6 +2916,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-parse/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-preset-lint-node": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-4.0.0.tgz", @@ -2198,6 +3007,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-preset-lint-recommended/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-stringify": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", @@ -2212,6 +3039,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-stringify/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/resolve": { "version": "1.22.4", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", @@ -2441,17 +3286,17 @@ } }, "node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.1.tgz", + "integrity": "sha512-v4p/Tcbn44UjLtASIyrKi29qqSbWY+u3awY5M6fTMVuT3KQ9DfWd4q/JaFGoNEDtQt8+e4yg150oHx34ABwrsg==", "dependencies": { - "@types/unist": "^2.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", + "devlop": "^1.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", - "vfile": "^5.0.0" + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -2473,6 +3318,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unified-lint-rule/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unified-message-control": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-4.0.0.tgz", @@ -2517,6 +3380,50 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unified/node_modules/@types/unist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz", + "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" + }, + "node_modules/unified/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-generated": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", @@ -2648,14 +3555,14 @@ } }, "node_modules/vfile-reporter": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-8.0.0.tgz", - "integrity": "sha512-+FOLKQHgz0WmXLcZ/8mx0z1Tn1MfHq1d9juGZVKoz9p0/FXFYZr2vpUbnY6qNxNHnyJah3DVFIFGtfjOSRDyWQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-8.1.0.tgz", + "integrity": "sha512-NfHyHdkCcy0BsXiLA3nId29TY7W7hgpc8nd8Soe3imATx5N4/+mkLYdMR+Y6Zvu6BXMMi0FZsD4FLCm1dN85Pg==", "dependencies": { "@types/supports-color": "^8.0.0", "string-width": "^6.0.0", "supports-color": "^9.0.0", - "unist-util-stringify-position": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0", "vfile-sort": "^4.0.0", @@ -2671,6 +3578,18 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz", "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" }, + "node_modules/vfile-reporter/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vfile-reporter/node_modules/vfile": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", @@ -2698,30 +3617,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/vfile-reporter/node_modules/vfile-message/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/vfile-sort": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-4.0.0.tgz", diff --git a/tools/lint-md/package.json b/tools/lint-md/package.json index d3296faa7c8..5b8b91e00db 100644 --- a/tools/lint-md/package.json +++ b/tools/lint-md/package.json @@ -10,12 +10,12 @@ "remark-preset-lint-node": "^4.0.0", "remark-stringify": "^10.0.3", "to-vfile": "^8.0.0", - "unified": "^10.1.2", - "vfile-reporter": "^8.0.0" + "unified": "^11.0.1", + "vfile-reporter": "^8.1.0" }, "devDependencies": { "@rollup/plugin-commonjs": "^25.0.4", - "@rollup/plugin-node-resolve": "^15.1.0", + "@rollup/plugin-node-resolve": "^15.2.0", "rollup": "^3.28.0", "rollup-plugin-cleanup": "^3.2.1" }