diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 37b865597e5d25..89f34a076a0988 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -27,23 +27,6 @@ updates:
patterns:
- '*'
- - package-ecosystem: npm
- directory: /tools/lint-md
- schedule:
- interval: monthly
- cooldown:
- semver-major-days: 5
- semver-minor-days: 5
- semver-patch-days: 5
- commit-message:
- prefix: tools
- open-pull-requests-limit: 10
- groups:
- lint-md:
- applies-to: version-updates
- patterns:
- - '*'
-
- package-ecosystem: npm
directory: /tools/doc
schedule:
diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml
index a9ae6020cd038a..edb71809550a33 100644
--- a/.github/workflows/build-tarball.yml
+++ b/.github/workflows/build-tarball.yml
@@ -22,7 +22,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- vcbuild.bat
- .**
@@ -51,7 +50,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- vcbuild.bat
- .**
diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml
index 3a207e91ed91ac..6774f76429d63e 100644
--- a/.github/workflows/coverage-windows.yml
+++ b/.github/workflows/coverage-windows.yml
@@ -22,7 +22,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- .**
- '!.github/workflows/coverage-windows.yml'
@@ -48,7 +47,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- .**
- '!.github/workflows/coverage-windows.yml'
diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml
index 3cb2689061d67b..0718184354a23e 100644
--- a/.github/workflows/linters.yml
+++ b/.github/workflows/linters.yml
@@ -130,10 +130,6 @@ jobs:
echo
exit "$EXIT_CODE"
fi
- - name: Get release version numbers
- if: ${{ github.event.pull_request && github.event.pull_request.base.ref == github.event.pull_request.base.repo.default_branch }}
- id: get-released-versions
- run: ./tools/lint-md/list-released-versions-from-changelogs.mjs >> $GITHUB_OUTPUT
- name: Lint markdown files
run: |
echo "::add-matcher::.github/workflows/remark-lint-problem-matcher.json"
diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml
index e227877f38a007..78a47fb63f6cb0 100644
--- a/.github/workflows/test-macos.yml
+++ b/.github/workflows/test-macos.yml
@@ -22,7 +22,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- vcbuild.bat
- .**
@@ -52,7 +51,6 @@ on:
- tools/doc/**
- tools/eslint-rules/**
- tools/eslint/**
- - tools/lint-md/**
- typings/**
- vcbuild.bat
- .**
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad4a4bdafecabf..56c57a59b2fd3a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -155,9 +155,9 @@ release.
LTS releases.
* Release versions in **bold** text are the most recent supported releases.
-***
+---
-***
+---
## 2016-05-06, Version 0.12.14 (Maintenance), @rvagg
diff --git a/Makefile b/Makefile
index c50a5c26da16f5..704bc8c04ebe5d 100644
--- a/Makefile
+++ b/Makefile
@@ -1403,14 +1403,10 @@ LINT_MD_TARGETS = doc src lib benchmark test tools/doc tools/icu $(wildcard *.md
LINT_MD_FILES = $(shell $(FIND) $(LINT_MD_TARGETS) -type f \
! -path '*node_modules*' ! -path 'test/fixtures/*' -name '*.md' \
$(LINT_MD_NEWER))
-run-lint-md = tools/lint-md/lint-md.mjs $(LINT_MD_FILES)
-
-# Check for a specific file, as (empty) directories are persisted in git.
-tools/lint-md/node_modules/remark-parse/package.json:
- -cd tools/lint-md && $(call available-node,$(run-npm-ci))
+run-lint-md = tools/doc/lint-md.mjs $(LINT_MD_FILES)
# Lint all changed markdown files maintained by us
-tools/.mdlintstamp: tools/lint-md/node_modules/remark-parse/package.json $(LINT_MD_FILES)
+tools/.mdlintstamp: tools/doc/node_modules $(LINT_MD_FILES)
$(info Running Markdown linter...)
@$(call available-node,$(run-lint-md))
@touch $@
@@ -1418,9 +1414,9 @@ tools/.mdlintstamp: tools/lint-md/node_modules/remark-parse/package.json $(LINT_
.PHONY: lint-md
lint-md: lint-js-doc | tools/.mdlintstamp ## Lint the markdown documents maintained by us in the codebase.
-run-format-md = tools/lint-md/lint-md.mjs --format $(LINT_MD_FILES)
+run-format-md = tools/doc/lint-md.mjs --format $(LINT_MD_FILES)
.PHONY: format-md
-format-md: tools/lint-md/node_modules/remark-parse/package.json ## Format the markdown documents maintained by us in the codebase.
+format-md: tools/doc/node_modules ## Format the markdown documents maintained by us in the codebase.
$(info Formatting Markdown...)
@$(call available-node,$(run-format-md))
@@ -1659,7 +1655,6 @@ lint-clean: ## Remove linting artifacts.
$(RM) tools/.*lintstamp
$(RM) .eslintcache
$(RM) -r tools/eslint/node_modules
- $(RM) -r tools/lint-md/node_modules
$(RM) tools/pip/site_packages
HAS_DOCKER ?= $(shell command -v docker > /dev/null 2>&1; [ $$? -eq 0 ] && echo 1 || echo 0)
diff --git a/doc/README.md b/doc/README.md
index a026746ff713a0..264ace778a6141 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -15,7 +15,7 @@ professionalism across all documents.
7. [Formatting](#formatting)
8. [Product and Project Naming](#product-and-project-naming)
-***
+---
## General guidelines
@@ -38,7 +38,7 @@ professionalism across all documents.
* Validate documentation changes using `make test-doc -j` or `vcbuild test-doc`.
-***
+---
## Writing style
@@ -68,7 +68,7 @@ professionalism across all documents.
* Use precise technical terms and avoid colloquialisms.
* Define any specialized terms or acronyms at first use.
-***
+---
## Punctuation
@@ -87,7 +87,7 @@ professionalism across all documents.
* Use colons to introduce lists or explanations.
* Use semicolons to link closely related independent clauses.
-***
+---
## Document structure
@@ -109,7 +109,7 @@ professionalism across all documents.
* Use tables to present structured information clearly. Ensure they are readable in plain text.
-***
+---
## API documentation
@@ -129,7 +129,7 @@ professionalism across all documents.
* `byteOffset` {integer} Index of first byte to expose. **Default:** `0`.
```
-***
+---
## Code blocks
@@ -165,7 +165,7 @@ professionalism across all documents.
* Use comments to explain complex logic within code examples.
* Follow the standard commenting style of the respective language.
-***
+---
## Formatting
@@ -198,7 +198,7 @@ professionalism across all documents.
* Returns: {AsyncHook} A reference to `asyncHook`.
```
-***
+---
## Product and project naming
@@ -225,7 +225,7 @@ professionalism across all documents.
For topics not addressed here, please consult the [Microsoft Writing Style Guide][].
-***
+---
[Microsoft Writing Style Guide]: https://learn.microsoft.com/en-us/style-guide/welcome/
[US spelling]: https://learn.microsoft.com/en-us/style-guide/word-choice/use-us-spelling-avoid-non-english-words
diff --git a/doc/api/buffer.md b/doc/api/buffer.md
index 329d1f3f9915df..81c4e2f78dbe24 100644
--- a/doc/api/buffer.md
+++ b/doc/api/buffer.md
@@ -1039,7 +1039,7 @@ changes:
description: The elements of `list` can now be `Uint8Array`s.
-->
-* `list` {Buffer\[] | Uint8Array\[]} List of `Buffer` or {Uint8Array}
+* `list` {Buffer\[]|Uint8Array\[]} List of `Buffer` or {Uint8Array}
instances to concatenate.
* `totalLength` {integer} Total length of the `Buffer` instances in `list`
when concatenated.
@@ -5288,7 +5288,7 @@ added:
- v18.15.0
-->
-* `input` {Buffer | ArrayBuffer | TypedArray} The input to validate.
+* `input` {Buffer|ArrayBuffer|TypedArray} The input to validate.
* Returns: {boolean}
This function returns `true` if `input` contains only valid ASCII-encoded data,
@@ -5304,7 +5304,7 @@ added:
- v18.14.0
-->
-* `input` {Buffer | ArrayBuffer | TypedArray} The input to validate.
+* `input` {Buffer|ArrayBuffer|TypedArray} The input to validate.
* Returns: {boolean}
This function returns `true` if `input` contains only valid UTF-8-encoded data,
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index 65b61292e70891..851dc41bbb68e3 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -568,7 +568,7 @@ added: v0.1.94
-->
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string} Any remaining enciphered contents.
+* Returns: {Buffer|string} Any remaining enciphered contents.
If `outputEncoding` is specified, a string is
returned. If an `outputEncoding` is not provided, a [`Buffer`][] is returned.
@@ -651,7 +651,7 @@ changes:
* `data` {string|Buffer|TypedArray|DataView}
* `inputEncoding` {string} The [encoding][] of the data.
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Updates the cipher with `data`. If the `inputEncoding` argument is given,
the `data`
@@ -878,7 +878,7 @@ added: v0.1.94
-->
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string} Any remaining deciphered contents.
+* Returns: {Buffer|string} Any remaining deciphered contents.
If `outputEncoding` is specified, a string is
returned. If an `outputEncoding` is not provided, a [`Buffer`][] is returned.
@@ -1002,7 +1002,7 @@ changes:
* `data` {string|Buffer|TypedArray|DataView}
* `inputEncoding` {string} The [encoding][] of the `data` string.
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Updates the decipher with `data`. If the `inputEncoding` argument is given,
the `data`
@@ -1091,7 +1091,7 @@ added: v0.5.0
* `otherPublicKey` {string|ArrayBuffer|Buffer|TypedArray|DataView}
* `inputEncoding` {string} The [encoding][] of an `otherPublicKey` string.
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Computes the shared secret using `otherPublicKey` as the other
party's public key and returns the computed shared secret. The supplied
@@ -1111,7 +1111,7 @@ added: v0.5.0
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Generates private and public Diffie-Hellman key values unless they have been
generated or computed already, and returns
@@ -1131,7 +1131,7 @@ added: v0.5.0
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Returns the Diffie-Hellman generator in the specified `encoding`.
If `encoding` is provided a string is
@@ -1144,7 +1144,7 @@ added: v0.5.0
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Returns the Diffie-Hellman prime in the specified `encoding`.
If `encoding` is provided a string is
@@ -1157,7 +1157,7 @@ added: v0.5.0
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Returns the Diffie-Hellman private key in the specified `encoding`.
If `encoding` is provided a
@@ -1170,7 +1170,7 @@ added: v0.5.0
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Returns the Diffie-Hellman public key in the specified `encoding`.
If `encoding` is provided a
@@ -1330,7 +1330,7 @@ added: v10.0.0
* `inputEncoding` {string} The [encoding][] of the `key` string.
* `outputEncoding` {string} The [encoding][] of the return value.
* `format` {string} **Default:** `'uncompressed'`
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Converts the EC Diffie-Hellman public key specified by `key` and `curve` to the
format specified by `format`. The `format` argument specifies point encoding
@@ -1409,7 +1409,7 @@ changes:
* `otherPublicKey` {string|ArrayBuffer|Buffer|TypedArray|DataView}
* `inputEncoding` {string} The [encoding][] of the `otherPublicKey` string.
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Computes the shared secret using `otherPublicKey` as the other
party's public key and returns the computed shared secret. The supplied
@@ -1436,7 +1436,7 @@ added: v0.11.14
* `encoding` {string} The [encoding][] of the return value.
* `format` {string} **Default:** `'uncompressed'`
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Generates private and public EC Diffie-Hellman key values, and returns
the public key in the specified `format` and `encoding`. This key should be
@@ -1456,7 +1456,7 @@ added: v0.11.14
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string} The EC Diffie-Hellman in the specified `encoding`.
+* Returns: {Buffer|string} The EC Diffie-Hellman in the specified `encoding`.
If `encoding` is specified, a string is returned; otherwise a [`Buffer`][] is
returned.
@@ -1469,7 +1469,7 @@ added: v0.11.14
* `encoding` {string} The [encoding][] of the return value.
* `format` {string} **Default:** `'uncompressed'`
-* Returns: {Buffer | string} The EC Diffie-Hellman public key in the specified
+* Returns: {Buffer|string} The EC Diffie-Hellman public key in the specified
`encoding` and `format`.
The `format` argument specifies point encoding and can be `'compressed'` or
@@ -1759,7 +1759,7 @@ added: v0.1.92
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Calculates the digest of all of the data passed to be hashed (using the
[`hash.update()`][] method).
@@ -1920,7 +1920,7 @@ added: v0.1.94
-->
* `encoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
Calculates the HMAC digest of all of the data passed using [`hmac.update()`][].
If `encoding` is
@@ -2127,7 +2127,7 @@ changes:
-->
* `options` {Object}
-* Returns: {string | Buffer | Object}
+* Returns: {string|Buffer|Object}
For symmetric keys, the following encoding options can be used:
@@ -2146,7 +2146,7 @@ For private keys, the following encoding options can be used:
* `cipher` {string} If specified, the private key will be encrypted with
the given `cipher` and `passphrase` using PKCS#5 v2.0 password based
encryption.
-* `passphrase` {string | Buffer} The passphrase to use for encryption, see
+* `passphrase` {string|Buffer} The passphrase to use for encryption, see
`cipher`.
The result type depends on the selected encoding format, when PEM the
@@ -2356,7 +2356,7 @@ changes:
* `padding` {integer}
* `saltLength` {integer}
* `outputEncoding` {string} The [encoding][] of the return value.
-* Returns: {Buffer | string}
+* Returns: {Buffer|string}
@@ -3650,7 +3650,7 @@ changes:
**Default:** `'pem'`.
* `type` {string} Must be `'pkcs1'`, `'pkcs8'` or `'sec1'`. This option is
required only if the `format` is `'der'` and ignored otherwise.
- * `passphrase` {string | Buffer} The passphrase to use for decryption.
+ * `passphrase` {string|Buffer} The passphrase to use for decryption.
* `encoding` {string} The string encoding to use when `key` is a string.
* Returns: {KeyObject}
@@ -4011,8 +4011,8 @@ changes:
* `privateKeyEncoding` {Object} See [`keyObject.export()`][].
* `callback` {Function}
* `err` {Error}
- * `publicKey` {string | Buffer | KeyObject}
- * `privateKey` {string | Buffer | KeyObject}
+ * `publicKey` {string|Buffer|KeyObject}
+ * `privateKey` {string|Buffer|KeyObject}
Generates a new asymmetric key pair of the given `type`. See the
supported [asymmetric key types][].
@@ -4133,8 +4133,8 @@ changes:
* `publicKeyEncoding` {Object} See [`keyObject.export()`][].
* `privateKeyEncoding` {Object} See [`keyObject.export()`][].
* Returns: {Object}
- * `publicKey` {string | Buffer | KeyObject}
- * `privateKey` {string | Buffer | KeyObject}
+ * `publicKey` {string|Buffer|KeyObject}
+ * `privateKey` {string|Buffer|KeyObject}
Generates a new asymmetric key pair of the given `type`. See the
supported [asymmetric key types][].
@@ -5766,7 +5766,7 @@ changes:
-* `algorithm` {string | null | undefined}
+* `algorithm` {string|null|undefined}
* `data` {ArrayBuffer|Buffer|TypedArray|DataView}
* `key` {Object|string|ArrayBuffer|Buffer|TypedArray|DataView|KeyObject|CryptoKey}
* `callback` {Function}
@@ -5895,7 +5895,7 @@ changes:
* `algorithm` {string|null|undefined}
-* `data` {ArrayBuffer| Buffer|TypedArray|DataView}
+* `data` {ArrayBuffer|Buffer|TypedArray|DataView}
* `key` {Object|string|ArrayBuffer|Buffer|TypedArray|DataView|KeyObject|CryptoKey}
* `signature` {ArrayBuffer|Buffer|TypedArray|DataView}
* `callback` {Function}
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index 186cb2381935cc..ec355e1a78b9c2 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -2644,11 +2644,13 @@ of Node.js core and was removed.
Type: Documentation-only (supports [`--pending-deprecation`][])
diff --git a/doc/api/diagnostics_channel.md b/doc/api/diagnostics_channel.md
index 4587ee649b5173..ae3a456ded46fc 100644
--- a/doc/api/diagnostics_channel.md
+++ b/doc/api/diagnostics_channel.md
@@ -1247,7 +1247,7 @@ Emitted when a stream is received on the client.
* `stream` {ClientHttp2Stream}
* `writev` {boolean}
-* `data` {Buffer | string | Buffer\[] | Object\[]}
+* `data` {Buffer|string|Buffer\[]|Object\[]}
* `chunk` {Buffer|string}
* `encoding` {string}
* `encoding` {string}
diff --git a/doc/api/dns.md b/doc/api/dns.md
index b2e350bfc6caa6..cb7d4909625cb6 100644
--- a/doc/api/dns.md
+++ b/doc/api/dns.md
@@ -248,7 +248,7 @@ changes:
-->
* `hostname` {string}
-* `options` {integer | Object}
+* `options` {integer|Object}
* `family` {integer|string} The record family. Must be `4`, `6`, or `0`. For
backward compatibility reasons,`'IPv4'` and `'IPv6'` are interpreted as `4`
and `6` respectively. The value `0` indicates that either an IPv4 or IPv6
@@ -427,7 +427,7 @@ changes:
* `rrtype` {string} Resource record type. **Default:** `'A'`.
* `callback` {Function}
* `err` {Error}
- * `records` {string\[] | Object\[] | Object}
+ * `records` {string\[]|Object\[]|Object}
Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
of the resource records. The `callback` function has arguments
@@ -477,7 +477,7 @@ changes:
with the TTL expressed in seconds.
* `callback` {Function}
* `err` {Error}
- * `addresses` {string\[] | Object\[]}
+ * `addresses` {string\[]|Object\[]}
Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the
`hostname`. The `addresses` argument passed to the `callback` function
@@ -508,7 +508,7 @@ changes:
strings, with the TTL expressed in seconds.
* `callback` {Function}
* `err` {Error}
- * `addresses` {string\[] | Object\[]}
+ * `addresses` {string\[]|Object\[]}
Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the
`hostname`. The `addresses` argument passed to the `callback` function
@@ -1099,7 +1099,7 @@ changes:
-->
* `hostname` {string}
-* `options` {integer | Object}
+* `options` {integer|Object}
* `family` {integer} The record family. Must be `4`, `6`, or `0`. The value
`0` indicates that either an IPv4 or IPv6 address is returned. If the
value `0` is used with `{ all: true }` (see below), either one of or both
diff --git a/doc/api/errors.md b/doc/api/errors.md
index 65ef2ce7bf5d01..fa9104b5f9bf9e 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -3497,7 +3497,7 @@ changes:
- version:
- v11.4.0
- v10.15.0
- commit: 186035243fad247e3955f
+ commit: 186035243fad247e3955fa0c202987cae99e82db
pr-url: https://github.com/nodejs-private/node-private/pull/143
description: Max header size in `http_parser` was set to 8 KiB.
-->
diff --git a/doc/api/http.md b/doc/api/http.md
index 50f0ad464b562a..06af4e38e86789 100644
--- a/doc/api/http.md
+++ b/doc/api/http.md
@@ -244,7 +244,7 @@ added: v0.11.4
* `callback` {Function} (Optional, primarily for custom agents) A function to be
called by a custom `createConnection` implementation when the socket is
created, especially for asynchronous operations.
- * `err` {Error | null} An error object if socket creation failed.
+ * `err` {Error|null} An error object if socket creation failed.
* `socket` {stream.Duplex} The created socket.
* Returns: {stream.Duplex} The created socket. This is returned by the default
implementation or by a custom synchronous `createConnection` implementation.
@@ -2194,7 +2194,7 @@ added: v0.4.0
-->
* `name` {string}
-* Returns: {number | string | string\[] | undefined}
+* Returns: {number|string|string\[]|undefined}
Reads out a header that's already been queued but not sent to the client.
The name is case-insensitive. The type of the return value depends
@@ -2329,7 +2329,7 @@ added: v0.4.0
-->
* `name` {string}
-* `value` {number | string | string\[]}
+* `value` {number|string|string\[]}
* Returns: {http.ServerResponse}
Returns the response object.
@@ -3280,7 +3280,7 @@ added: v0.4.0
-->
* `name` {string} Name of header
-* Returns: {number | string | string\[] | undefined}
+* Returns: {number|string|string\[]|undefined}
Gets the value of the HTTP header with the given name. If that header is not
set, the returned value will be `undefined`.
@@ -3382,7 +3382,7 @@ added: v0.4.0
-->
* `name` {string} Header name
-* `value` {number | string | string\[]} Header value
+* `value` {number|string|string\[]} Header value
* Returns: {this}
Sets a single header value. If the header already exists in the to-be-sent
@@ -3794,7 +3794,7 @@ changes:
description: The `options` parameter can be a WHATWG `URL` object.
-->
-* `url` {string | URL}
+* `url` {string|URL}
* `options` {Object} Accepts the same `options` as
[`http.request()`][], with the method set to GET by default.
* `callback` {Function}
@@ -3930,9 +3930,9 @@ changes:
description: The `options` parameter can be a WHATWG `URL` object.
-->
-* `url` {string | URL}
+* `url` {string|URL}
* `options` {Object}
- * `agent` {http.Agent | boolean} Controls [`Agent`][] behavior. Possible
+ * `agent` {http.Agent|boolean} Controls [`Agent`][] behavior. Possible
values:
* `undefined` (default): use [`http.globalAgent`][] for this host and port.
* `Agent` object: explicitly use the passed in `Agent`.
diff --git a/doc/api/https.md b/doc/api/https.md
index 85e6a77c7ff262..3fbbfe17b2ed0c 100644
--- a/doc/api/https.md
+++ b/doc/api/https.md
@@ -355,8 +355,8 @@ changes:
description: The `options` parameter can be a WHATWG `URL` object.
-->
-* `url` {string | URL}
-* `options` {Object | string | URL} Accepts the same `options` as
+* `url` {string|URL}
+* `options` {Object|string|URL} Accepts the same `options` as
[`https.request()`][], with the method set to GET by default.
* `callback` {Function}
* Returns: {http.ClientRequest}
@@ -452,8 +452,8 @@ changes:
description: The `options` parameter can be a WHATWG `URL` object.
-->
-* `url` {string | URL}
-* `options` {Object | string | URL} Accepts all `options` from
+* `url` {string|URL}
+* `options` {Object|string|URL} Accepts all `options` from
[`http.request()`][], with some differences in default values:
* `protocol` **Default:** `'https:'`
* `port` **Default:** `443`
diff --git a/doc/api/inspector.md b/doc/api/inspector.md
index d5401e83789435..86bf7edf64a9e5 100644
--- a/doc/api/inspector.md
+++ b/doc/api/inspector.md
@@ -652,8 +652,6 @@ added:
- v22.19.0
-->
-> Stability: 1.1 - Active Development
-
This feature is only available with the `--experimental-inspector-network-resource` flag enabled.
The inspector.NetworkResources.put method is used to provide a response for a loadNetworkResource
diff --git a/doc/api/modules.md b/doc/api/modules.md
index 84252b9819d2b4..628042bd8e8c1e 100644
--- a/doc/api/modules.md
+++ b/doc/api/modules.md
@@ -942,7 +942,7 @@ extensions gets slower with each registered extension.
added: v0.1.17
-->
-* Type: {module | undefined}
+* Type: {module|undefined}
The `Module` object representing the entry script loaded when the Node.js
process launched, or `undefined` if the entry point of the program is not a
@@ -1198,7 +1198,7 @@ deprecated:
> Stability: 0 - Deprecated: Please use [`require.main`][] and
> [`module.children`][] instead.
-* Type: {module | null | undefined}
+* Type: {module|null|undefined}
The module that first required this one, or `null` if the current module is the
entry point of the current process, or `undefined` if the module was loaded by
diff --git a/doc/api/process.md b/doc/api/process.md
index 163449b26c6da3..2ef92af43a0720 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -2045,10 +2045,10 @@ added: v22.5.0
> Stability: 1.1 - Active Development
-* `ref` {Object | Function} The reference to the resource that is being tracked.
+* `ref` {Object|Function} The reference to the resource that is being tracked.
* `callback` {Function} The callback function to be called when the resource
is finalized.
- * `ref` {Object | Function} The reference to the resource that is being tracked.
+ * `ref` {Object|Function} The reference to the resource that is being tracked.
* `event` {string} The event that triggered the finalization. Defaults to 'exit'.
This function registers a callback to be called when the process emits the `exit`
@@ -2154,11 +2154,11 @@ added: v22.5.0
> Stability: 1.1 - Active Development
-* `ref` {Object | Function} The reference
+* `ref` {Object|Function} The reference
to the resource that is being tracked.
* `callback` {Function} The callback function to be called when the resource
is finalized.
- * `ref` {Object | Function} The reference to the resource that is being tracked.
+ * `ref` {Object|Function} The reference to the resource that is being tracked.
* `event` {string} The event that triggered the finalization. Defaults to 'beforeExit'.
This function behaves exactly like the `register`, except that the callback will be called
@@ -2175,7 +2175,7 @@ added: v22.5.0
> Stability: 1.1 - Active Development
-* `ref` {Object | Function} The reference
+* `ref` {Object|Function} The reference
to the resource that was registered previously.
This function remove the register of the object from the finalization
@@ -2712,7 +2712,7 @@ changes:
description: This API is no longer experimental.
-->
-* `path` {string | URL | Buffer | undefined}. **Default:** `'./.env'`
+* `path` {string|URL|Buffer|undefined}. **Default:** `'./.env'`
Loads the `.env` file into `process.env`. Usage of `NODE_OPTIONS`
in the `.env` file will not have any effect on Node.js.
@@ -3954,7 +3954,7 @@ This feature is not available in [`Worker`][] threads.
added: v0.1.28
-->
-* `id` {integer | string}
+* `id` {integer|string}
The `process.setuid(id)` method sets the user identity of the process. (See
setuid(2).) The `id` can be passed as either a numeric ID or a username string.
diff --git a/doc/api/quic.md b/doc/api/quic.md
index 723c26c5bd0b99..425170f5498ecb 100644
--- a/doc/api/quic.md
+++ b/doc/api/quic.md
@@ -475,7 +475,7 @@ added: v23.8.0
-->
* `options` {Object}
- * `body` {ArrayBuffer | ArrayBufferView | Blob}
+ * `body` {ArrayBuffer|ArrayBufferView|Blob}
* `sendOrder` {number}
* Returns: {Promise} for a {quic.QuicStream}
@@ -489,7 +489,7 @@ added: v23.8.0
-->
* `options` {Object}
- * `body` {ArrayBuffer | ArrayBufferView | Blob}
+ * `body` {ArrayBuffer|ArrayBufferView|Blob}
* `sendOrder` {number}
* Returns: {Promise} for a {quic.QuicStream}
@@ -962,7 +962,7 @@ The endpoint configuration options passed when constructing a new `QuicEndpoint`
added: v23.8.0
-->
-* Type: {net.SocketAddress | string} The local UDP address and port the endpoint should bind to.
+* Type: {net.SocketAddress|string} The local UDP address and port the endpoint should bind to.
If not specified the endpoint will bind to IPv4 `localhost` on a random port.
diff --git a/doc/api/sqlite.md b/doc/api/sqlite.md
index ca04c5d6ea388f..f59af3c07d7371 100644
--- a/doc/api/sqlite.md
+++ b/doc/api/sqlite.md
@@ -124,7 +124,7 @@ changes:
description: Add new SQLite database options.
-->
-* `path` {string | Buffer | URL} The path of the database. A SQLite database can be
+* `path` {string|Buffer|URL} The path of the database. A SQLite database can be
stored in a file or completely [in memory][]. To use a file-backed database,
the path should be a file path. To use an in-memory database, the path
should be the special name `':memory:'`.
@@ -207,7 +207,7 @@ Registers a new aggregate function with the SQLite database. This method is a wr
arguments (between zero and [`SQLITE_MAX_FUNCTION_ARG`][]). If `false`,
`inverse` and `step` must be invoked with exactly `length` arguments.
**Default:** `false`.
- * `start` {number | string | null | Array | Object | Function} The identity
+ * `start` {number|string|null|Array|Object|Function} The identity
value for the aggregation function. This value is used when the aggregation
function is initialized. When a {Function} is passed the identity will be its return value.
* `step` {Function} The function to call for each row in the aggregation. The
@@ -325,7 +325,7 @@ added:
* `dbName` {string} Name of the database. This can be `'main'` (the default primary database) or any other
database that has been added with [`ATTACH DATABASE`][] **Default:** `'main'`.
-* Returns: {string | null} The location of the database file. When using an in-memory database,
+* Returns: {string|null} The location of the database file. When using an in-memory database,
this method returns null.
This method is a wrapper around [`sqlite3_db_filename()`][]
@@ -1107,7 +1107,7 @@ added: v24.9.0
query.
* `...boundParameters` {null|number|bigint|string|Buffer|TypedArray|DataView}
Parameter values to be bound to placeholders in the template string.
-* Returns: {Object | undefined} An object representing the first row returned by
+* Returns: {Object|undefined} An object representing the first row returned by
the query, or `undefined` if no rows are returned.
Executes the given SQL query and returns the first resulting row as an object.
@@ -1222,7 +1222,7 @@ changes:
-->
* `sourceDb` {DatabaseSync} The database to backup. The source database must be open.
-* `path` {string | Buffer | URL} The path where the backup will be created. If the file already exists,
+* `path` {string|Buffer|URL} The path where the backup will be created. If the file already exists,
the contents will be overwritten.
* `options` {Object} Optional configuration for the backup. The
following properties are supported:
diff --git a/doc/api/test.md b/doc/api/test.md
index 96c9c4000319e7..d7ae6d1a5d36d2 100644
--- a/doc/api/test.md
+++ b/doc/api/test.md
@@ -2666,7 +2666,7 @@ Enables timer mocking for the specified timers.
If no array is provided, all time related APIs (`'setInterval'`, `'clearInterval'`,
`'setTimeout'`, `'clearTimeout'`, `'setImmediate'`, `'clearImmediate'`, and
`'Date'`) will be mocked by default.
- * `now` {number | Date} An optional number or Date object representing the
+ * `now` {number|Date} An optional number or Date object representing the
initial time (in milliseconds) to use as the value
for `Date.now()`. **Default:** `0`.
diff --git a/doc/api/url.md b/doc/api/url.md
index 4cea4b15059098..edbb688ac3e7a9 100644
--- a/doc/api/url.md
+++ b/doc/api/url.md
@@ -762,7 +762,7 @@ Instantiate a new empty `URLPattern` object.
#### `new URLPattern(string[, baseURL][, options])`
* `string` {string} A URL string
-* `baseURL` {string | undefined} A base URL string
+* `baseURL` {string|undefined} A base URL string
* `options` {Object} Options
Parse the `string` as a URL, and use it to instantiate a new
@@ -778,7 +778,7 @@ The constructor can throw a `TypeError` to indicate parsing failure.
#### `new URLPattern(obj[, baseURL][, options])`
* `obj` {Object} An input pattern
-* `baseURL` {string | undefined} A base URL string
+* `baseURL` {string|undefined} A base URL string
* `options` {Object} Options
Parse the `Object` as an input pattern, and use it to instantiate a new
@@ -794,8 +794,8 @@ The constructor can throw a `TypeError` to indicate parsing failure.
#### `urlPattern.exec(input[, baseURL])`
-* `input` {string | Object} A URL or URL parts
-* `baseURL` {string | undefined} A base URL string
+* `input` {string|Object} A URL or URL parts
+* `baseURL` {string|undefined} A base URL string
Input can be a string or an object providing the individual URL parts. The
object members can be any of `protocol`, `username`, `password`, `hostname`,
@@ -828,8 +828,8 @@ console.log(myPattern.exec('https://nodejs.org/docs/latest/api/dns.html'));
#### `urlPattern.test(input[, baseURL])`
-* `input` {string | Object} A URL or URL parts
-* `baseURL` {string | undefined} A base URL string
+* `input` {string|Object} A URL or URL parts
+* `baseURL` {string|undefined} A base URL string
Input can be a string or an object providing the individual URL parts. The
object members can be any of `protocol`, `username`, `password`, `hostname`,
@@ -1075,7 +1075,7 @@ myURL.searchParams.forEach((value, name, searchParams) => {
#### `urlSearchParams.get(name)`
* `name` {string}
-* Returns: {string | null} A string or `null` if there is no name-value pair
+* Returns: {string|null} A string or `null` if there is no name-value pair
with the given `name`.
Returns the value of the first name-value pair whose name is `name`. If there
@@ -1318,7 +1318,7 @@ changes:
determine how to parse the `path` argument.
-->
-* `url` {URL | string} The file URL string or URL object to convert to a path.
+* `url` {URL|string} The file URL string or URL object to convert to a path.
* `options` {Object}
* `windows` {boolean|undefined} `true` if the `path` should be
return as a windows filepath, `false` for posix, and
@@ -1383,7 +1383,7 @@ added:
- v22.18.0
-->
-* `url` {URL | string} The file URL string or URL object to convert to a path.
+* `url` {URL|string} The file URL string or URL object to convert to a path.
* `options` {Object}
* `windows` {boolean|undefined} `true` if the `path` should be
return as a windows filepath, `false` for posix, and
diff --git a/doc/api/util.md b/doc/api/util.md
index 45a624e10f84fc..ecde0695ee3e45 100644
--- a/doc/api/util.md
+++ b/doc/api/util.md
@@ -1922,7 +1922,7 @@ is the `name`, the second item of the array is the `value`.
### `mimeParams.get(name)`
* `name` {string}
-* Returns: {string | null} A string or `null` if there is no name-value pair
+* Returns: {string|null} A string or `null` if there is no name-value pair
with the given `name`.
Returns the value of the first name-value pair whose name is `name`. If there
@@ -2071,7 +2071,7 @@ changes:
times. If `true`, all values will be collected in an array. If
`false`, values for the option are last-wins. **Default:** `false`.
* `short` {string} A single character alias for the option.
- * `default` {string | boolean | string\[] | boolean\[]} The value to assign to
+ * `default` {string|boolean|string\[]|boolean\[]} The value to assign to
the option if it does not appear in the arguments to be parsed. The value
must match the type specified by the `type` property. If `multiple` is
`true`, it must be an array. No default value is applied when the option
@@ -2096,7 +2096,7 @@ changes:
* `values` {Object} A mapping of parsed option names with their {string}
or {boolean} values.
* `positionals` {string\[]} Positional arguments.
- * `tokens` {Object\[] | undefined} See [parseArgs tokens](#parseargs-tokens)
+ * `tokens` {Object\[]|undefined} See [parseArgs tokens](#parseargs-tokens)
section. Only returned if `config` includes `tokens: true`.
Provides a higher level API for command-line argument parsing than interacting
@@ -2156,9 +2156,9 @@ The returned tokens have properties describing:
* option tokens
* `name` {string} Long name of option.
* `rawName` {string} How option used in args, like `-f` of `--foo`.
- * `value` {string | undefined} Option value specified in args.
+ * `value` {string|undefined} Option value specified in args.
Undefined for boolean options.
- * `inlineValue` {boolean | undefined} Whether option value specified inline,
+ * `inlineValue` {boolean|undefined} Whether option value specified inline,
like `--foo=bar`.
* positional tokens
* `value` {string} The value of the positional argument in args (i.e. `args[index]`).
@@ -2548,7 +2548,7 @@ changes:
such as NO_COLOR, NODE_DISABLE_COLORS, and FORCE_COLOR.
-->
-* `format` {string | Array} A text format or an Array
+* `format` {string|Array} A text format or an Array
of text formats defined in `util.inspect.colors`.
* `text` {string} The text to to be formatted.
* `options` {Object}
diff --git a/doc/changelogs/CHANGELOG_IOJS.md b/doc/changelogs/CHANGELOG_IOJS.md
index 3217c3b165cc28..e71b4a436a759e 100644
--- a/doc/changelogs/CHANGELOG_IOJS.md
+++ b/doc/changelogs/CHANGELOG_IOJS.md
@@ -2605,7 +2605,7 @@ Rebuild due to stale build worker git reflogs for 1.0.0 release
* doc: improve write style consistency (Rui Marinho)
* win,msi: correct doc website link (Bert Belder)
-***
+---
Below is a summary of the user-facing changes to be found in the io.js v1.0.0 release as compared to the
diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md
index 2a6ee6ce7cf76d..495c52db0cc13d 100644
--- a/doc/changelogs/CHANGELOG_V12.md
+++ b/doc/changelogs/CHANGELOG_V12.md
@@ -2989,7 +2989,7 @@ function or pressing Ctrl+C).
legendecas [#30516](https://github.com/nodejs/node/pull/30516).
-***
+---
The new `--trace-uncaught` CLI flag makes Node.js print a stack trace at the
time of throwing uncaught exceptions, rather than at the creation of the `Error`
@@ -2999,7 +2999,7 @@ behavior negatively.
Anna Henningsen [#30025](https://github.com/nodejs/node/pull/30025).
-***
+---
The `--disallow-code-generation-from-strings` V8 CLI flag is now whitelisted in
the `NODE_OPTIONS` environment variable.
@@ -3017,7 +3017,7 @@ option, which can have one of two values:
Tobias Nießen [#29292](https://github.com/nodejs/node/pull/29292).
-***
+---
A new method was added to `Hash`: `Hash.prototype.copy`. It makes it possible to
clone the internal state of a `Hash` object into a new `Hash` object, allowing
@@ -3050,7 +3050,7 @@ libuv was updated to 1.34.0. This includes fixes to `uv_fs_copyfile()` and
Colin Ihrig [#30783](https://github.com/nodejs/node/pull/30783).
-***
+---
V8 was updated to 7.8.279.23. This includes performance improvements to object
destructuring, RegExp match failures and WebAssembly startup time.
@@ -3087,7 +3087,7 @@ const { on, EventEmitter } = require('events');
Matteo Collina [#27994](https://github.com/nodejs/node/pull/27994).
-***
+---
It is now possible to monitor `'error'` events on an `EventEmitter` without
consuming the emitted error by installing a listener using the symbol
@@ -3106,7 +3106,7 @@ myEmitter.emit('error', new Error('whoops!'));
Gerhard Stoebich [#30932](https://github.com/nodejs/node/pull/30932).
-***
+---
Using `async` functions with event handlers is problematic, because it
can lead to an unhandled rejection in case of a thrown exception:
diff --git a/doc/changelogs/CHANGELOG_V15.md b/doc/changelogs/CHANGELOG_V15.md
index 7e1606efa03ddd..8f29f06c27ffb5 100644
--- a/doc/changelogs/CHANGELOG_V15.md
+++ b/doc/changelogs/CHANGELOG_V15.md
@@ -1110,7 +1110,7 @@ A new `IsolateSettingsFlag` is available for those calling `SetIsolateUpForNode(
Contributed by Shelley Vohr [#36447](https://github.com/nodejs/node/pull/36447).
-***
+---
Added `node::GetEnvironmentIsolateData()` and `node::GetArrayBufferAllocator()` to respectively get the current `IsolateData*` and, from it, the current Node.js `ArrayBufferAllocator` if there is one.
diff --git a/doc/contributing/collaborator-guide.md b/doc/contributing/collaborator-guide.md
index 6f2e400d440181..3be36de553973b 100644
--- a/doc/contributing/collaborator-guide.md
+++ b/doc/contributing/collaborator-guide.md
@@ -932,7 +932,7 @@ If you cannot find who to cc for a file, `git shortlog -n -s ` can help.
* `tsc-agenda`: Open issues and pull requests with this label will be added to
the Technical Steering Committee meeting agenda
-***
+---
* `author-ready` - A pull request is _author ready_ when:
* There is a CI run in progress or completed.
@@ -944,7 +944,7 @@ Please always add the `author ready` label to pull requests that qualify.
Please always remove it again as soon as the conditions are not met anymore,
such as if the CI run fails or a new outstanding review comment is posted.
-***
+---
* `semver-{minor,major}`
* be conservative – that is, if a change has the remote _chance_ of breaking
diff --git a/doc/contributing/releases.md b/doc/contributing/releases.md
index 48a9a0bb2e9759..b79d29b91940d8 100644
--- a/doc/contributing/releases.md
+++ b/doc/contributing/releases.md
@@ -302,7 +302,7 @@ git node release -S --prepare x.y.z
to automate the remaining steps until step 6 or you can perform it manually
following the below steps.
-***
+---
Create a new branch named `vx.y.z-proposal`, off the corresponding staging
branch.
@@ -768,7 +768,7 @@ git node release --promote \
-***
+---
Create a new tag: By waiting until this stage to create tags, you can discard
a proposed release if something goes wrong or additional commits are required.
diff --git a/doc/type-map.json b/doc/type-map.json
index 4741264f60e46f..c44747076b58f3 100644
--- a/doc/type-map.json
+++ b/doc/type-map.json
@@ -3,7 +3,7 @@
"AbortSignal": "globals.html#class-abortsignal",
"Algorithm": "webcrypto.html#class-algorithm",
"AlgorithmIdentifier": "webcrypto.html#class-algorithmidentifier",
- "AsyncHook": "async_hooks.html#async_hookscreatehookoptions",
+ "AsyncHook": "async_hooks.html#async_hookscreatehookcallbacks",
"AsyncLocalStorage": "async_context.html#class-asynclocalstorage",
"AsyncResource": "async_hooks.html#class-asyncresource",
"AesCbcParams": "webcrypto.html#class-aescbcparams",
@@ -45,6 +45,8 @@
"EventListener": "events.html#event-listener",
"EventTarget": "events.html#class-eventtarget",
"File": "buffer.html#class-file",
+ "EncapsulatedBits": "webcrypto.html#class-encapsulatedbits",
+ "EncapsulatedKey": "webcrypto.html#class-encapsulatedkey",
"FileHandle": "fs.html#class-filehandle",
"Handle": "net.html#serverlistenhandle-backlog-callback",
"Hash": "crypto.html#class-hash",
@@ -80,6 +82,7 @@
"ReadableStreamDefaultController": "webstreams.html#class-readablestreamdefaultcontroller",
"ReadableStreamDefaultReader": "webstreams.html#class-readablestreamdefaultreader",
"ModuleRequest": "vm.html#type-modulerequest",
+ "SyncCPUProfileHandle": "v8.html#class-synccpuprofilehandle",
"DatabaseSync": "sqlite.html#class-databasesync",
"RecordableHistogram": "perf_hooks.html#class-recordablehistogram-extends-histogram",
"RsaHashedKeyAlgorithm": "webcrypto.html#class-rsahashedkeyalgorithm",
@@ -93,6 +96,7 @@
"Disposable": "https://tc39.es/proposal-explicit-resource-management/#sec-disposable-interface",
"Session": "sqlite.html#class-session",
"StatementSync": "sqlite.html#class-statementsync",
+ "SQLTagStore": "sqlite.html#class-sqltagstore",
"Stream": "stream.html#stream",
"SubtleCrypto": "webcrypto.html#class-subtlecrypto",
"TestsStream": "test.html#class-testsstream",
@@ -123,5 +127,6 @@
"zlib options": "zlib.html#class-options",
"zstd options": "zlib.html#class-zstdoptions",
"HTTP/2 Headers Object": "http2.html#headers-object",
+ "HTTP/2 Raw Headers": "http2.html#raw-headers",
"HTTP/2 Settings Object": "http2.html#settings-object"
}
diff --git a/tools/doc/lint-md.mjs b/tools/doc/lint-md.mjs
new file mode 100644
index 00000000000000..72145502095b55
--- /dev/null
+++ b/tools/doc/lint-md.mjs
@@ -0,0 +1,65 @@
+import fs from 'node:fs';
+import { parseArgs } from 'node:util';
+
+import { remark } from 'remark';
+import remarkLintApi from '@node-core/remark-lint/api';
+import remarkLintBase from '@node-core/remark-lint';
+import { read } from 'to-vfile';
+import { reporter } from 'vfile-reporter';
+import typeMap from '../../doc/type-map.json' with { type: 'json' };
+import { dirname, sep } from 'node:path';
+import { getReleasedVersions } from './list-released-versions-from-changelogs.mjs';
+
+const {
+ values: { format },
+ positionals: paths,
+} = parseArgs({
+ options: {
+ format: { type: 'boolean', default: false },
+ },
+ allowPositionals: true,
+});
+
+if (!paths.length) {
+ console.error('Usage: lint-md.mjs [--format] [ ...]');
+ process.exit(1);
+}
+
+const apiLintProcessor = remarkLintApi({
+ typeMap,
+ releasedVersions: await getReleasedVersions(),
+});
+
+const apiLinter = remark().use(apiLintProcessor);
+const baseLinter = remark()
+ .use(remarkLintBase)
+ .use({ settings: apiLintProcessor.settings });
+
+paths.forEach(async (path) => {
+ const file = await read(path);
+ const dir = dirname(path);
+ const linter = dir.endsWith(`doc${sep}api`) ? apiLinter : baseLinter;
+
+ // We need to calculate `fileContents` before running `linter.process(files)`
+ // because `linter.process(files)` mutates `file` and returns it as `result`.
+ // So we won't be able to use `file` after that to see if its contents have
+ // changed as they will have been altered to the changed version.
+ const fileContents = file.toString();
+ const result = await linter.process(file);
+ const isDifferent = fileContents !== result.toString();
+
+ if (result.messages.length) {
+ process.exitCode = 1;
+ console.error(reporter(result));
+ }
+
+ if (format) {
+ if (isDifferent) {
+ fs.writeFileSync(path, result.toString());
+ }
+ } else if (isDifferent) {
+ process.exitCode = 1;
+ const cmd = process.platform === 'win32' ? 'vcbuild' : 'make';
+ console.error(`${path} is not formatted. Please run '${cmd} format-md'.`);
+ }
+});
diff --git a/tools/lint-md/list-released-versions-from-changelogs.mjs b/tools/doc/list-released-versions-from-changelogs.mjs
old mode 100755
new mode 100644
similarity index 56%
rename from tools/lint-md/list-released-versions-from-changelogs.mjs
rename to tools/doc/list-released-versions-from-changelogs.mjs
index 39835136c31219..ff884b31730b21
--- a/tools/lint-md/list-released-versions-from-changelogs.mjs
+++ b/tools/doc/list-released-versions-from-changelogs.mjs
@@ -1,12 +1,10 @@
-#!/usr/bin/env node
-
import fs from 'node:fs';
import { createInterface } from 'node:readline';
const dataFolder = new URL('../../doc/changelogs/', import.meta.url);
-const result = [];
async function getVersionsFromFile(file) {
+ const result = [];
const input = fs.createReadStream(file);
let toc = false;
for await (const line of createInterface({
@@ -17,26 +15,28 @@ async function getVersionsFromFile(file) {
toc = true;
} else if (toc && line[0] !== '<') {
input.close();
- return;
+ return result;
} else if (toc && line.startsWith('') + 1, -'
'.length));
} else if (toc && line.startsWith('', 3) + 1, -'
'.length));
+ result.push(
+ line.slice(line.indexOf('>', 3) + 1, -'
'.length),
+ );
}
}
+ return result;
}
-const filesToCheck = [];
+export async function getReleasedVersions() {
+ const filesToCheck = [];
-const dir = await fs.promises.opendir(dataFolder);
-for await (const dirent of dir) {
- if (dirent.isFile()) {
- filesToCheck.push(
- getVersionsFromFile(new URL(dirent.name, dataFolder)),
- );
+ const dir = await fs.promises.opendir(dataFolder);
+ for await (const dirent of dir) {
+ if (dirent.isFile()) {
+ filesToCheck.push(getVersionsFromFile(new URL(dirent.name, dataFolder)));
+ }
}
-}
-await Promise.all(filesToCheck);
-
-console.log(`NODE_RELEASED_VERSIONS=${result.join(',')}`);
+ const versions = await Promise.all(filesToCheck);
+ return versions.flat();
+}
diff --git a/tools/doc/package-lock.json b/tools/doc/package-lock.json
index 49a34931f135ba..e78f1b91fb60fa 100644
--- a/tools/doc/package-lock.json
+++ b/tools/doc/package-lock.json
@@ -6,7 +6,11 @@
"": {
"name": "doc",
"dependencies": {
- "@nodejs/doc-kit": "https://github.com/nodejs/doc-kit/archive/64655f3d4492d60be359cae352ddca750bb1278d.tar.gz"
+ "@node-core/remark-lint": "^1.2.1",
+ "@nodejs/doc-kit": "https://github.com/nodejs/doc-kit/archive/64655f3d4492d60be359cae352ddca750bb1278d.tar.gz",
+ "remark": "^15.0.1",
+ "to-vfile": "^8.0.0",
+ "vfile-reporter": "^8.1.1"
}
},
"node_modules/@actions/core": {
@@ -538,6 +542,47 @@
"node": ">=20"
}
},
+ "node_modules/@node-core/remark-lint": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@node-core/remark-lint/-/remark-lint-1.2.1.tgz",
+ "integrity": "sha512-9DW56tKZIMmEFuHpoU0idoWtawxzaYA3a1mdTyWLVMKM3kh1HSVPOzUTLVjy/V8WweuXvS/Gu79ECYPemU04Jg==",
+ "dependencies": {
+ "@nodejs/doc-kit": "github:nodejs/doc-kit#be7fc307395005ea362d035c43e3818650bf075f",
+ "remark-gfm": "^4.0.1",
+ "remark-lint-blockquote-indentation": "^4.0.1",
+ "remark-lint-checkbox-character-style": "^5.0.1",
+ "remark-lint-checkbox-content-indent": "^5.0.1",
+ "remark-lint-code-block-style": "^4.0.1",
+ "remark-lint-definition-spacing": "^4.0.1",
+ "remark-lint-fenced-code-flag": "^4.2.0",
+ "remark-lint-fenced-code-marker": "^4.0.1",
+ "remark-lint-final-definition": "^4.0.2",
+ "remark-lint-heading-style": "^4.0.1",
+ "remark-lint-maximum-line-length": "^4.1.1",
+ "remark-lint-no-consecutive-blank-lines": "^5.0.1",
+ "remark-lint-no-file-name-consecutive-dashes": "^3.0.1",
+ "remark-lint-no-file-name-outer-dashes": "^3.0.1",
+ "remark-lint-no-heading-indent": "^5.0.1",
+ "remark-lint-no-literal-urls": "^4.0.1",
+ "remark-lint-no-multiple-toplevel-headings": "^4.0.1",
+ "remark-lint-no-shell-dollars": "^4.0.1",
+ "remark-lint-no-table-indentation": "^5.0.1",
+ "remark-lint-no-tabs": "^4.0.1",
+ "remark-lint-no-trailing-spaces": "^4.0.3",
+ "remark-lint-no-unused-definitions": "^4.0.2",
+ "remark-lint-prohibited-strings": "^4.0.0",
+ "remark-lint-rule-style": "^4.0.1",
+ "remark-lint-strong-marker": "^4.0.1",
+ "remark-lint-table-cell-padding": "^5.1.1",
+ "remark-lint-table-pipes": "^5.0.1",
+ "remark-lint-unordered-list-marker-style": "^4.0.1",
+ "remark-preset-lint-recommended": "^7.0.1",
+ "semver": "^7.7.3",
+ "unified-lint-rule": "^3.0.1",
+ "unist-util-visit": "^5.1.0",
+ "yaml": "^2.8.2"
+ }
+ },
"node_modules/@node-core/ui-components": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@node-core/ui-components/-/ui-components-1.6.0.tgz",
@@ -2609,6 +2654,12 @@
"csstype": "^3.2.2"
}
},
+ "node_modules/@types/supports-color": {
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
+ "integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
+ "license": "MIT"
+ },
"node_modules/@types/unist": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
@@ -2712,6 +2763,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
"node_modules/aria-hidden": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
@@ -2805,6 +2868,16 @@
"integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
"license": "MIT"
},
+ "node_modules/collapse-white-space": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
+ "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/comma-separated-tokens": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -2940,6 +3013,18 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "license": "MIT"
+ },
+ "node_modules/emoji-regex": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+ "license": "MIT"
+ },
"node_modules/enhanced-resolve": {
"version": "5.19.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz",
@@ -3365,6 +3450,29 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/is-decimal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
@@ -3708,6 +3816,41 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/mdast-comment-marker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-3.0.0.tgz",
+ "integrity": "sha512-bt08sLmTNg00/UtVDiqZKocxqvQqqyQZAg1uaRuO/4ysXV5motg7RolF5o5yy/sY1rG0v2XgZEqFWho1+2UquA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-mdx-expression": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-directive": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz",
+ "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-find-and-replace": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
@@ -3862,6 +4005,36 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-heading-style": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-3.0.0.tgz",
+ "integrity": "sha512-tsUfM9Kj9msjlemA/38Z3pvraQay880E3zP2NgIthMoGcpU9bcPX9oSM6QC/+eFXGGB4ba+VCB1dKAPHB7Veug==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
+ "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
+ "license": "MIT",
+ "dependencies": {
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-mdx-expression": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
@@ -4708,6 +4881,15 @@
"@napi-rs/nice": "^1.0.4"
}
},
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss": {
"version": "8.5.6",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
@@ -4809,6 +4991,16 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/quotation": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/quotation/-/quotation-2.0.3.tgz",
+ "integrity": "sha512-yEc24TEgCFLXx7D4JHJJkK4JFVtatO8fziwUxY4nB/Jbea9o9CVS3gt22mA0W7rPYAGW2fWzYDSOtD94PwOyqA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/react": {
"version": "19.2.4",
"resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
@@ -5055,6 +5247,22 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/remark": {
+ "version": "15.0.1",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz",
+ "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-stringify": "^11.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/remark-gfm": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
@@ -5073,15 +5281,14 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-parse": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
- "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+ "node_modules/remark-lint": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-10.0.1.tgz",
+ "integrity": "sha512-1+PYGFziOg4pH7DDf1uMd4AR3YuO2EMnds/SdIWMPGT7CAfDRSnAmpxPsJD0Ds3IKpn97h3d5KPGf1WFOg6hXQ==",
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "micromark-util-types": "^2.0.0",
+ "remark-message-control": "^8.0.0",
"unified": "^11.0.0"
},
"funding": {
@@ -5089,136 +5296,969 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-rehype": {
- "version": "11.1.2",
- "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
- "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+ "node_modules/remark-lint-blockquote-indentation": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-4.0.1.tgz",
+ "integrity": "sha512-7BhOsImFgTD7IIliu2tt+yJbx5gbMbXCOspc3VdYf/87iLJdWKqJoMy2V6DZG7kBjBlBsIZi38fDDngJttXt4w==",
"license": "MIT",
"dependencies": {
- "@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
- "mdast-util-to-hast": "^13.0.0",
- "unified": "^11.0.0",
- "vfile": "^6.0.0"
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-stringify": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
- "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
+ "node_modules/remark-lint-checkbox-character-style": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-checkbox-character-style/-/remark-lint-checkbox-character-style-5.0.1.tgz",
+ "integrity": "sha512-6qilm7XQXOcTvjFEqqNY57Ki7md9rkSdpMIfIzVXdEnI4Npl2BnUff6ANrGRM7qTgJTrloaf8H0eQ91urcU6Og==",
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "unified": "^11.0.0"
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/rolldown": {
- "version": "1.0.0-rc.5",
- "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.5.tgz",
- "integrity": "sha512-0AdalTs6hNTioaCYIkAa7+xsmHBfU5hCNclZnM/lp7lGGDuUOb6N4BVNtwiomybbencDjq/waKjTImqiGCs5sw==",
+ "node_modules/remark-lint-checkbox-content-indent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-checkbox-content-indent/-/remark-lint-checkbox-content-indent-5.0.1.tgz",
+ "integrity": "sha512-R1gV4vGkgJQZQFIGve1paj4mVDUWlgX0KAHhjNpSyzuwuSIDoxWpEuSJSxcnczESgcjM4yVrZqEGMYi/fqZK0w==",
"license": "MIT",
"dependencies": {
- "@oxc-project/types": "=0.114.0",
- "@rolldown/pluginutils": "1.0.0-rc.5"
- },
- "bin": {
- "rolldown": "bin/cli.mjs"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
},
- "optionalDependencies": {
- "@rolldown/binding-android-arm64": "1.0.0-rc.5",
- "@rolldown/binding-darwin-arm64": "1.0.0-rc.5",
- "@rolldown/binding-darwin-x64": "1.0.0-rc.5",
- "@rolldown/binding-freebsd-x64": "1.0.0-rc.5",
- "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.5",
- "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.5",
- "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.5",
- "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.5",
- "@rolldown/binding-linux-x64-musl": "1.0.0-rc.5",
- "@rolldown/binding-openharmony-arm64": "1.0.0-rc.5",
- "@rolldown/binding-wasm32-wasi": "1.0.0-rc.5",
- "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.5",
- "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.5"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/scheduler": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
- "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "node_modules/remark-lint-code-block-style": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-4.0.1.tgz",
+ "integrity": "sha512-d4mHsEpv1yqXWl2dd+28tGRX0Lzk5qw7cfxAQVkOXPUONhsMFwXJEBeeqZokeG4lOKtkKdIJR7ezScDfWR0X4w==",
"license": "MIT",
- "peer": true
- },
- "node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
},
- "engines": {
- "node": ">=10"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/shiki": {
- "version": "3.22.0",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.22.0.tgz",
- "integrity": "sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==",
+ "node_modules/remark-lint-definition-spacing": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-4.0.1.tgz",
+ "integrity": "sha512-ZjShKaBUGeHrZyIZWwOZOxX3guj/P7gRR5wbDADQctL4oK+ZLQfOvJFmAsF1nD4gNr0Ficjd0AuiWxQcc1qTMA==",
"license": "MIT",
"dependencies": {
- "@shikijs/core": "3.22.0",
- "@shikijs/engine-javascript": "3.22.0",
- "@shikijs/engine-oniguruma": "3.22.0",
- "@shikijs/langs": "3.22.0",
- "@shikijs/themes": "3.22.0",
- "@shikijs/types": "3.22.0",
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
- "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/space-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "license": "MIT",
+ "@types/mdast": "^4.0.0",
+ "longest-streak": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/stringify-entities": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
- "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "node_modules/remark-lint-fenced-code-flag": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-4.2.0.tgz",
+ "integrity": "sha512-QWGTrnYbcopOFZR98djDREmKApLonJ7hmXE7pEcOGee9JY/EUIVS7Lq54Hy9CtU3cVIvQQmiMTxCwUhfddDJFA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "quotation": "^2.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-fenced-code-marker": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-4.0.1.tgz",
+ "integrity": "sha512-uI91OcVPKjNxV+vpjDW9T64hkE0a/CRn3JhwdMxUAJYpVsKnA7PFPSFJOx/abNsVZHNSe7ZFGgGdaH/lqgSizA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-final-definition": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-4.0.2.tgz",
+ "integrity": "sha512-fz3UAcFQef77Zb8rz4za2R6y7pdyJot22iGtFoNIKdtbcNa8IKKEVoY3NIfrsLfhrjwzcha1Sp3fFA9NF6lc4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-mdx": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-final-newline": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-3.0.1.tgz",
+ "integrity": "sha512-q5diKHD6BMbzqWqgvYPOB8AJgLrMzEMBAprNXjcpKoZ/uCRqly+gxjco+qVUMtMWSd+P+KXZZEqoa7Y6QiOudw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "vfile-location": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-hard-break-spaces": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-4.1.1.tgz",
+ "integrity": "sha512-AKDPDt39fvmr3yk38OKZEWJxxCOOUBE+96AsBfs+ExS5LW6oLa9041X5ahFDQHvHGzdoremEIaaElursaPEkNg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-heading-style": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-4.0.1.tgz",
+ "integrity": "sha512-+rUpJ/N2CGC5xPgZ18XgsCsUBtadgEhdTi0BJPrsFmHPzL22BUHajeg9im8Y7zphUcbi1qFiKuxZd2nzDgZSXQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-heading-style": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-list-item-bullet-indent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-5.0.1.tgz",
+ "integrity": "sha512-LKuTxkw5aYChzZoF3BkfaBheSCHs0T8n8dPHLQEuOLo6iC5wy98iyryz0KZ61GD8stlZgQO2KdWSdnP6vr40Iw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-list-item-indent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-4.0.1.tgz",
+ "integrity": "sha512-gJd1Q+jOAeTgmGRsdMpnRh01DUrAm0O5PCQxE8ttv1QZOV015p/qJH+B4N6QSmcUuPokHLAh9USuq05C73qpiA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-maximum-line-length": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-4.1.1.tgz",
+ "integrity": "sha512-oIncZkI0oIXZk+1kJOMnE3WPbyMTUbds0q1E8WbCwtjN9pAZsQD2e+wK+xdi5VqOLPkvLER+yzbmi/A3Tp+XEg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-mdx": "^3.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-blockquote-without-marker": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-6.0.1.tgz",
+ "integrity": "sha512-b4IOkNcG7C16HYAdKUeAhO7qPt45m+v7SeYbVrqvbSFtlD3EUBL8fgHRgLK1mdujFXDP1VguOEMx+Txv8JOT4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-directive": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-location": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-consecutive-blank-lines": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-5.0.1.tgz",
+ "integrity": "sha512-yLtYCrEBtGDao4ozmZruRzjMYAcBVFK69PoYjPfNwFO8pQ/LPt8KCq6oyg1ronNyRbDYEGqVdLIHcT/zL3LjPA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-directive": "^3.0.0",
+ "mdast-util-mdx": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-duplicate-definitions": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-4.0.1.tgz",
+ "integrity": "sha512-Ek+A/xDkv5Nn+BXCFmf+uOrFSajCHj6CjhsHjtROgVUeEPj726yYekDBoDRA0Y3+z+U30AsJoHgf/9Jj1IFSug==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-file-name-consecutive-dashes": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-3.0.1.tgz",
+ "integrity": "sha512-qGJRZ81sowEjv1dBodbHZ29pDZbrFpxiQQ6gBvkkHkkoYPekdnr8iUxmV38HcqH8+JNW1O4ELr+m71AA9/34Mw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-file-name-outer-dashes": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-3.0.1.tgz",
+ "integrity": "sha512-QIMrBPZKZ6BwQRPM65HhEHcJv6+wZnZ4z2ikvx2ht40cSmIN7ZTL7wKKJlnpF+4Ioi9XUj+cRHWqEhwJ9LCQIw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-heading-content-indent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-5.0.1.tgz",
+ "integrity": "sha512-YIWktnZo7M9aw7PGnHdshvetSH3Y0qW+Fm143R66zsk5lLzn1XA5NEd/MtDzP8tSxxV+gcv+bDd5St1QUI4oSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-heading-indent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-heading-indent/-/remark-lint-no-heading-indent-5.0.1.tgz",
+ "integrity": "sha512-R/KkR9Qfh0AM3asadSnQQXMHu6BNZxPbxLI9h9JBPIZM+EtzycDlhaAHbOlQUdaHA5UEANhYENZBLrueH50Cdg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-literal-urls": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-4.0.1.tgz",
+ "integrity": "sha512-RhTANFkFFXE6bM+WxWcPo2TTPEfkWG3lJZU50ycW7tJJmxUzDNzRed/z80EVJIdGwFa0NntVooLUJp3xrogalQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-string": "^4.0.0",
+ "micromark-util-character": "^2.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-literal-urls/node_modules/mdast-util-to-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
+ "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-multiple-toplevel-headings": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-4.0.1.tgz",
+ "integrity": "sha512-8sepobIOu3PlDOuMH7jtri+LH4tFNVQU+aqKSkrlNRdp831fYz9S+jA2crTVqWqxVbTwiF96uJWePv8/9qmHnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-mdx": "^3.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-shell-dollars": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-4.0.1.tgz",
+ "integrity": "sha512-UPE1DNCIkLtnS3YFD065Gkq5lQqfndBDpX8Ct/Zjn7M0/hzCyf9B6tpwCU0I20m9jzhS/CSY6mxYnAiEg+KkFA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "collapse-white-space": "^2.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-shortcut-reference-image": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-4.0.1.tgz",
+ "integrity": "sha512-hQhJ3Dr8ZWRdj7qm6+9vcPpqtGchhENA2UHOmcTraLf6dN1cFATCgY/HbTbRIN6NkG/EEClTgRC1QCokWR2Mmw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-shortcut-reference-link": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-4.0.1.tgz",
+ "integrity": "sha512-YxciuUZc90QaJYhayGO80lS3zxEOBgwwLW1MKYB7AfUdkrLcLVlS+DFloiq0MZ7EDVXuuGUEnIzyjyLSbI5BUA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-table-indentation": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-5.0.1.tgz",
+ "integrity": "sha512-LHw9MGsuilM+3HkbRFZmdSE4T+sziaQzULH5ImYkLH2MLF8GKnAm2mgtveLZcW01wqFV2oEbpF1Y/s/QloXT7w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-location": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-tabs": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-tabs/-/remark-lint-no-tabs-4.0.1.tgz",
+ "integrity": "sha512-+lhGUgY3jhTwWn1x+tTIJNy5Fbs2NcYXCobRY7xeszY0VKPCBF2GyELafOVnr+iTmosXLuhZPp5YwNezQKH9IQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "vfile-location": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-trailing-spaces": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-trailing-spaces/-/remark-lint-no-trailing-spaces-4.0.3.tgz",
+ "integrity": "sha512-BZ/qOc5Sgprt8LfF8zRwhvaH0reY1rKyBysIfu7qvwV6gjVhdRLIjCqL/AYZae59Egd3fw1NlQmQkgfxwY1uLA==",
+ "license": "MIT",
+ "dependencies": {
+ "unified-lint-rule": "^3.0.0",
+ "vfile-location": "^5.0.3"
+ }
+ },
+ "node_modules/remark-lint-no-undefined-references": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-5.0.2.tgz",
+ "integrity": "sha512-5prkVb1tKwJwr5+kct/UjsLjvMdEDO7uClPeGfrxfAcN59+pWU8OUSYiqYmpSKWJPIdyxPRS8Oyf1HtaYvg8VQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "collapse-white-space": "^2.0.0",
+ "devlop": "^1.0.0",
+ "micromark-util-normalize-identifier": "^2.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-location": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-no-unused-definitions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-4.0.2.tgz",
+ "integrity": "sha512-KRzPmvfq6b3LSEcAQZobAn+5eDfPTle0dPyDEywgPSc3E7MIdRZQenL9UL8iIqHQWK4FvdUD0GX8FXGqu5EuCw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-ordered-list-marker-style": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-4.0.1.tgz",
+ "integrity": "sha512-vZTAbstcBPbGwJacwldGzdGmKwy5/4r29SZ9nQkME4alEl5B1ReSBlYa8t7QnTSW7+tqvA9Sg71RPadgAKWa4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "micromark-util-character": "^2.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-prohibited-strings": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-4.0.0.tgz",
+ "integrity": "sha512-dfLF4da5v3klRAdkHBLpNIC7WpvNdN7Eylgf+p19HPJn53CaxqlGjFvAQDAJU83xXEPWAmdonlx04GIS5ryLow==",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^5.0.0",
+ "unified-lint-rule": "^2.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile-location": "^5.0.1"
+ }
+ },
+ "node_modules/remark-lint-prohibited-strings/node_modules/@types/unist": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+ "license": "MIT"
+ },
+ "node_modules/remark-lint-prohibited-strings/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "license": "MIT",
+ "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/node_modules/unified-lint-rule": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.2.tgz",
+ "integrity": "sha512-JWudPtRN7TLFHVLEVZ+Rm8FUb6kCAtHxEXFgBGDxRSdNMnGyTU5zyYvduHSF/liExlFB3vdFvsAHnNVE/UjAwA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "trough": "^2.0.0",
+ "unified": "^10.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-stringify-position": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+ "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-prohibited-strings/node_modules/vfile": {
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+ "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-prohibited-strings/node_modules/vfile-message": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+ "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-rule-style": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-4.0.1.tgz",
+ "integrity": "sha512-gl1Ft13oTS3dJUCsWZzxD/5dAwI1HON67KU7uNfODD5gXJ8Y11deOWbun190ma7XbYdD7P0l8VT2HeRtEQzrWg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-strong-marker": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-4.0.1.tgz",
+ "integrity": "sha512-KaGtj/OWEP4eoafevnlp3NsEVwC7yGEjBJ6uFMzfjNoXyjATdfZ2euB/AfKVt/A/FdZeeMeVoAUFH4DL+hScLQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-table-cell-padding": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-5.1.1.tgz",
+ "integrity": "sha512-6fgVA1iINBoAJaZMOnSsxrF9Qj9+hmCqrsrqZqgJJETjT1ODGH64iAN1/6vHR7dIwmy73d6ysB2WrGyKhVlK3A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "pluralize": "^8.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-table-pipes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-5.0.1.tgz",
+ "integrity": "sha512-oOkRC0WRRDwvodfffGafoBFBTGwy9udQgKtxN53apmZpOmaUAxTi833ite0jMo078+LehNftO5bxrElZ9EQUlQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-lint-unordered-list-marker-style": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-4.0.1.tgz",
+ "integrity": "sha512-HMrVQC0Qbr8ktSy+1lJGRGU10qecL3T14L6s/THEQXR5Tk0wcsLLG0auNvB4r2+H+ClhVO/Vnm1TEosh1OCsfw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "unified-lint-rule": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-message-control": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-8.0.0.tgz",
+ "integrity": "sha512-brpzOO+jdyE/mLqvqqvbogmhGxKygjpCUCG/PwSCU43+JZQ+RM+sSzkCWBcYvgF3KIAVNIoPsvXjBkzO7EdsYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-comment-marker": "^3.0.0",
+ "unified-message-control": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-parse": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-preset-lint-recommended": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-7.0.1.tgz",
+ "integrity": "sha512-j1CY5u48PtZl872BQ40uWSQMT3R4gXKp0FUgevMu5gW7hFMtvaCiDq+BfhzeR8XKKiW9nIMZGfIMZHostz5X4g==",
+ "license": "MIT",
+ "dependencies": {
+ "remark-lint": "^10.0.0",
+ "remark-lint-final-newline": "^3.0.0",
+ "remark-lint-hard-break-spaces": "^4.0.0",
+ "remark-lint-list-item-bullet-indent": "^5.0.0",
+ "remark-lint-list-item-indent": "^4.0.0",
+ "remark-lint-no-blockquote-without-marker": "^6.0.0",
+ "remark-lint-no-duplicate-definitions": "^4.0.0",
+ "remark-lint-no-heading-content-indent": "^5.0.0",
+ "remark-lint-no-literal-urls": "^4.0.0",
+ "remark-lint-no-shortcut-reference-image": "^4.0.0",
+ "remark-lint-no-shortcut-reference-link": "^4.0.0",
+ "remark-lint-no-undefined-references": "^5.0.0",
+ "remark-lint-no-unused-definitions": "^4.0.0",
+ "remark-lint-ordered-list-marker-style": "^4.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-stringify": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
+ "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rolldown": {
+ "version": "1.0.0-rc.5",
+ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.5.tgz",
+ "integrity": "sha512-0AdalTs6hNTioaCYIkAa7+xsmHBfU5hCNclZnM/lp7lGGDuUOb6N4BVNtwiomybbencDjq/waKjTImqiGCs5sw==",
+ "license": "MIT",
+ "dependencies": {
+ "@oxc-project/types": "=0.114.0",
+ "@rolldown/pluginutils": "1.0.0-rc.5"
+ },
+ "bin": {
+ "rolldown": "bin/cli.mjs"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "optionalDependencies": {
+ "@rolldown/binding-android-arm64": "1.0.0-rc.5",
+ "@rolldown/binding-darwin-arm64": "1.0.0-rc.5",
+ "@rolldown/binding-darwin-x64": "1.0.0-rc.5",
+ "@rolldown/binding-freebsd-x64": "1.0.0-rc.5",
+ "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.5",
+ "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.5",
+ "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.5",
+ "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.5",
+ "@rolldown/binding-linux-x64-musl": "1.0.0-rc.5",
+ "@rolldown/binding-openharmony-arm64": "1.0.0-rc.5",
+ "@rolldown/binding-wasm32-wasi": "1.0.0-rc.5",
+ "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.5",
+ "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.5"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shiki": {
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.22.0.tgz",
+ "integrity": "sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==",
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/core": "3.22.0",
+ "@shikijs/engine-javascript": "3.22.0",
+ "@shikijs/engine-oniguruma": "3.22.0",
+ "@shikijs/langs": "3.22.0",
+ "@shikijs/themes": "3.22.0",
+ "@shikijs/types": "3.22.0",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+ "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
+ "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^10.2.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
"license": "MIT",
"dependencies": {
"character-entities-html4": "^2.0.0",
@@ -5229,6 +6269,21 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/style-to-js": {
"version": "1.1.21",
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
@@ -5247,6 +6302,18 @@
"inline-style-parser": "0.2.7"
}
},
+ "node_modules/supports-color": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
+ "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
"node_modules/tailwindcss": {
"version": "4.1.18",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz",
@@ -5294,6 +6361,19 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/to-vfile": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz",
+ "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==",
+ "license": "MIT",
+ "dependencies": {
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
@@ -5389,6 +6469,42 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/unified-lint-rule": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.1.tgz",
+ "integrity": "sha512-HxIeQOmwL19DGsxHXbeyzKHBsoSCFO7UtRVUvT2v61ptw/G+GbysWcrpHdfs5jqbIFDA11MoKngIhQK0BeTVjA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "trough": "^2.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unified-message-control": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-5.0.0.tgz",
+ "integrity": "sha512-B2cSAkpuMVVmPP90KCfKdBhm1e9KYJ+zK3x5BCa0N65zpq1Ybkc9C77+M5qwR8FWO7RF3LM5QRRPZtgjW6DUCw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "devlop": "^1.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0",
+ "vfile-location": "^5.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/unist-builder": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz",
@@ -5629,6 +6745,54 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/vfile-reporter": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-8.1.1.tgz",
+ "integrity": "sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/supports-color": "^8.0.0",
+ "string-width": "^6.0.0",
+ "supports-color": "^9.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "vfile": "^6.0.0",
+ "vfile-message": "^4.0.0",
+ "vfile-sort": "^4.0.0",
+ "vfile-statistics": "^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",
+ "integrity": "sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==",
+ "license": "MIT",
+ "dependencies": {
+ "vfile": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-statistics": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-3.0.0.tgz",
+ "integrity": "sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==",
+ "license": "MIT",
+ "dependencies": {
+ "vfile": "^6.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/web-namespaces": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
diff --git a/tools/doc/package.json b/tools/doc/package.json
index 109efdf665ca1e..fbb3f1794accdc 100644
--- a/tools/doc/package.json
+++ b/tools/doc/package.json
@@ -2,6 +2,13 @@
"name": "doc",
"private": true,
"dependencies": {
+ "@node-core/remark-lint": "^1.2.1",
+ "@nodejs/doc-kit": "https://github.com/nodejs/doc-kit/archive/64655f3d4492d60be359cae352ddca750bb1278d.tar.gz",
+ "remark": "^15.0.1",
+ "to-vfile": "^8.0.0",
+ "vfile-reporter": "^8.1.1"
+ },
+ "overrides": {
"@nodejs/doc-kit": "https://github.com/nodejs/doc-kit/archive/64655f3d4492d60be359cae352ddca750bb1278d.tar.gz"
}
}
diff --git a/tools/lint-md/lint-md.mjs b/tools/lint-md/lint-md.mjs
deleted file mode 100644
index f8e29f313644f1..00000000000000
--- a/tools/lint-md/lint-md.mjs
+++ /dev/null
@@ -1,60 +0,0 @@
-import fs from 'node:fs';
-import { parseArgs } from 'node:util';
-
-import { unified } from 'unified';
-import remarkParse from 'remark-parse';
-import remarkStringify from 'remark-stringify';
-import presetLintNode from 'remark-preset-lint-node';
-import { read } from 'to-vfile';
-import { reporter } from 'vfile-reporter';
-
-const { values: { format }, positionals: paths } = parseArgs({
- options: {
- format: { type: 'boolean', default: false },
- },
- allowPositionals: true,
-});
-
-if (!paths.length) {
- console.error('Usage: lint-md.mjs [--format] [ ...]');
- process.exit(1);
-}
-
-const linter = unified()
- .use(remarkParse)
- .use(presetLintNode)
- .use(remarkStringify);
-
-paths.forEach(async (path) => {
- const file = await read(path);
- // We need to calculate `fileContents` before running `linter.process(files)`
- // because `linter.process(files)` mutates `file` and returns it as `result`.
- // So we won't be able to use `file` after that to see if its contents have
- // changed as they will have been altered to the changed version.
- const fileContents = file.toString();
- const result = await linter.process(file);
- const isDifferent = fileContents !== result.toString();
-
- if (path.startsWith('doc/api/')) {
- if (!fileContents.includes('introduced_in')) {
- console.error(`${path} is missing an 'introduced_in' version. Please add one.`);
- process.exitCode = 1;
- }
- }
-
- if (format) {
- if (isDifferent) {
- fs.writeFileSync(path, result.toString());
- }
- } else {
- if (isDifferent) {
- process.exitCode = 1;
- const cmd = process.platform === 'win32' ? 'vcbuild' : 'make';
- console.error(`${path} is not formatted. Please run '${cmd} format-md'.`);
- }
- if (result.messages.length) {
- process.exitCode = 1;
- console.error(reporter(result));
- }
- }
-});
diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json
deleted file mode 100644
index 3e889ae14d4c5f..00000000000000
--- a/tools/lint-md/package-lock.json
+++ /dev/null
@@ -1,2554 +0,0 @@
-{
- "name": "lint-md",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "lint-md",
- "version": "1.0.0",
- "dependencies": {
- "remark-parse": "^11.0.0",
- "remark-preset-lint-node": "^5.1.2",
- "remark-stringify": "^11.0.0",
- "to-vfile": "^8.0.0",
- "unified": "^11.0.5",
- "vfile-reporter": "^8.1.1"
- }
- },
- "node_modules/@types/debug": {
- "version": "4.1.12",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
- "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
- "license": "MIT",
- "dependencies": {
- "@types/ms": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "license": "MIT"
- },
- "node_modules/@types/estree-jsx": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
- "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*"
- }
- },
- "node_modules/@types/hast": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/mdast": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
- "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/ms": {
- "version": "0.7.34",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
- "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==",
- "license": "MIT"
- },
- "node_modules/@types/supports-color": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
- "integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
- "license": "MIT"
- },
- "node_modules/@types/unist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "license": "MIT"
- },
- "node_modules/ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "license": "Python-2.0"
- },
- "node_modules/bail": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
- "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/ccount": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
- "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/character-entities": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
- "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/character-entities-html4": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
- "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/character-entities-legacy": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
- "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/character-reference-invalid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
- "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/collapse-white-space": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
- "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decode-named-character-reference": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
- "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
- "license": "MIT",
- "dependencies": {
- "character-entities": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "license": "MIT",
- "engines": {
- "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==",
- "license": "MIT",
- "dependencies": {
- "dequal": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "license": "MIT"
- },
- "node_modules/emoji-regex": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
- "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
- "license": "MIT"
- },
- "node_modules/escape-string-regexp": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
- "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "license": "MIT"
- },
- "node_modules/is-alphabetical": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
- "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/is-alphanumerical": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
- "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
- "license": "MIT",
- "dependencies": {
- "is-alphabetical": "^2.0.0",
- "is-decimal": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/is-decimal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
- "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/is-hexadecimal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
- "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/is-plain-obj": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
- "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/longest-streak": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
- "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/markdown-table": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
- "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/mdast-comment-marker": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-3.0.0.tgz",
- "integrity": "sha512-bt08sLmTNg00/UtVDiqZKocxqvQqqyQZAg1uaRuO/4ysXV5motg7RolF5o5yy/sY1rG0v2XgZEqFWho1+2UquA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-mdx-expression": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-directive": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz",
- "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "devlop": "^1.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "parse-entities": "^4.0.0",
- "stringify-entities": "^4.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-find-and-replace": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz",
- "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "escape-string-regexp": "^5.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-from-markdown": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz",
- "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "decode-named-character-reference": "^1.0.0",
- "devlop": "^1.0.0",
- "mdast-util-to-string": "^4.0.0",
- "micromark": "^4.0.0",
- "micromark-util-decode-numeric-character-reference": "^2.0.0",
- "micromark-util-decode-string": "^2.0.0",
- "micromark-util-normalize-identifier": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0",
- "unist-util-stringify-position": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz",
- "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==",
- "license": "MIT",
- "dependencies": {
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-gfm-autolink-literal": "^2.0.0",
- "mdast-util-gfm-footnote": "^2.0.0",
- "mdast-util-gfm-strikethrough": "^2.0.0",
- "mdast-util-gfm-table": "^2.0.0",
- "mdast-util-gfm-task-list-item": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm-autolink-literal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
- "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "ccount": "^2.0.0",
- "devlop": "^1.0.0",
- "mdast-util-find-and-replace": "^3.0.0",
- "micromark-util-character": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm-footnote": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz",
- "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.1.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "micromark-util-normalize-identifier": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm-strikethrough": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
- "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm-table": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
- "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "markdown-table": "^3.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-gfm-task-list-item": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
- "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-heading-style": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-3.0.0.tgz",
- "integrity": "sha512-tsUfM9Kj9msjlemA/38Z3pvraQay880E3zP2NgIthMoGcpU9bcPX9oSM6QC/+eFXGGB4ba+VCB1dKAPHB7Veug==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-mdx": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
- "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
- "license": "MIT",
- "dependencies": {
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-mdx-expression": "^2.0.0",
- "mdast-util-mdx-jsx": "^3.0.0",
- "mdast-util-mdxjs-esm": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-mdx-expression": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
- "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
- "license": "MIT",
- "dependencies": {
- "@types/estree-jsx": "^1.0.0",
- "@types/hast": "^3.0.0",
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-mdx-jsx": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz",
- "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==",
- "license": "MIT",
- "dependencies": {
- "@types/estree-jsx": "^1.0.0",
- "@types/hast": "^3.0.0",
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "ccount": "^2.0.0",
- "devlop": "^1.1.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "parse-entities": "^4.0.0",
- "stringify-entities": "^4.0.0",
- "unist-util-stringify-position": "^4.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-mdxjs-esm": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
- "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
- "license": "MIT",
- "dependencies": {
- "@types/estree-jsx": "^1.0.0",
- "@types/hast": "^3.0.0",
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "mdast-util-to-markdown": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-phrasing": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
- "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unist-util-is": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-to-markdown": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz",
- "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "longest-streak": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "mdast-util-to-string": "^4.0.0",
- "micromark-util-decode-string": "^2.0.0",
- "unist-util-visit": "^5.0.0",
- "zwitch": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-to-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
- "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz",
- "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@types/debug": "^4.0.0",
- "debug": "^4.0.0",
- "decode-named-character-reference": "^1.0.0",
- "devlop": "^1.0.0",
- "micromark-core-commonmark": "^2.0.0",
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-combine-extensions": "^2.0.0",
- "micromark-util-decode-numeric-character-reference": "^2.0.0",
- "micromark-util-encode": "^2.0.0",
- "micromark-util-normalize-identifier": "^2.0.0",
- "micromark-util-resolve-all": "^2.0.0",
- "micromark-util-sanitize-uri": "^2.0.0",
- "micromark-util-subtokenize": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-core-commonmark": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz",
- "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "decode-named-character-reference": "^1.0.0",
- "devlop": "^1.0.0",
- "micromark-factory-destination": "^2.0.0",
- "micromark-factory-label": "^2.0.0",
- "micromark-factory-space": "^2.0.0",
- "micromark-factory-title": "^2.0.0",
- "micromark-factory-whitespace": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-classify-character": "^2.0.0",
- "micromark-util-html-tag-name": "^2.0.0",
- "micromark-util-normalize-identifier": "^2.0.0",
- "micromark-util-resolve-all": "^2.0.0",
- "micromark-util-subtokenize": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-extension-gfm": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
- "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
- "license": "MIT",
- "dependencies": {
- "micromark-extension-gfm-autolink-literal": "^2.0.0",
- "micromark-extension-gfm-footnote": "^2.0.0",
- "micromark-extension-gfm-strikethrough": "^2.0.0",
- "micromark-extension-gfm-table": "^2.0.0",
- "micromark-extension-gfm-tagfilter": "^2.0.0",
- "micromark-extension-gfm-task-list-item": "^2.0.0",
- "micromark-util-combine-extensions": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-autolink-literal": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
- "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^2.0.0",
- "micromark-util-sanitize-uri": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-footnote": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
- "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-core-commonmark": "^2.0.0",
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-normalize-identifier": "^2.0.0",
- "micromark-util-sanitize-uri": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-strikethrough": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
- "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-classify-character": "^2.0.0",
- "micromark-util-resolve-all": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-table": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz",
- "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==",
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-tagfilter": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
- "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
- "license": "MIT",
- "dependencies": {
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-extension-gfm-task-list-item": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
- "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/micromark-factory-destination": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
- "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-factory-label": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz",
- "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-factory-space": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz",
- "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-factory-title": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz",
- "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-factory-whitespace": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz",
- "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-factory-space": "^2.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-character": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz",
- "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-chunked": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz",
- "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^2.0.0"
- }
- },
- "node_modules/micromark-util-classify-character": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz",
- "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-combine-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz",
- "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-decode-numeric-character-reference": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz",
- "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^2.0.0"
- }
- },
- "node_modules/micromark-util-decode-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz",
- "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "decode-named-character-reference": "^1.0.0",
- "micromark-util-character": "^2.0.0",
- "micromark-util-decode-numeric-character-reference": "^2.0.0",
- "micromark-util-symbol": "^2.0.0"
- }
- },
- "node_modules/micromark-util-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz",
- "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/micromark-util-html-tag-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz",
- "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/micromark-util-normalize-identifier": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz",
- "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^2.0.0"
- }
- },
- "node_modules/micromark-util-resolve-all": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz",
- "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-sanitize-uri": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz",
- "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^2.0.0",
- "micromark-util-encode": "^2.0.0",
- "micromark-util-symbol": "^2.0.0"
- }
- },
- "node_modules/micromark-util-subtokenize": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz",
- "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-symbol": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
- "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/micromark-util-types": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
- "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/parse-entities": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz",
- "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "character-entities": "^2.0.0",
- "character-entities-legacy": "^3.0.0",
- "character-reference-invalid": "^2.0.0",
- "decode-named-character-reference": "^1.0.0",
- "is-alphanumerical": "^2.0.0",
- "is-decimal": "^2.0.0",
- "is-hexadecimal": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/parse-entities/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/pluralize": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/quotation": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/quotation/-/quotation-2.0.3.tgz",
- "integrity": "sha512-yEc24TEgCFLXx7D4JHJJkK4JFVtatO8fziwUxY4nB/Jbea9o9CVS3gt22mA0W7rPYAGW2fWzYDSOtD94PwOyqA==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/remark-gfm": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz",
- "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-gfm": "^3.0.0",
- "micromark-extension-gfm": "^3.0.0",
- "remark-parse": "^11.0.0",
- "remark-stringify": "^11.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-10.0.0.tgz",
- "integrity": "sha512-E8yHHDOJ8b+qI0G49BRu24pe8t0fNNBWv8ENQJpCGNrVeTeyBIGEbaUe1yuF7OG8faA6PVpcN/pqWjzW9fcBWQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "remark-message-control": "^8.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-blockquote-indentation": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-4.0.0.tgz",
- "integrity": "sha512-hdUvn+KsJbBKpY9jLY01PmfpJ/WGhLu9GJMXQGU8ADXJc+F5DWSgKAr6GQ1IUKqvGYdEML/KZ61WomWFUuecVA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-checkbox-character-style": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-checkbox-character-style/-/remark-lint-checkbox-character-style-5.0.0.tgz",
- "integrity": "sha512-K0G/Nok59fb2q5KUxcemBVt+ymnhTkDVLJAatZ4PAh9At8y0DGctHdU27jWsuvO0Fs7Zy62Usk7IJE2VO89p1w==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-checkbox-content-indent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-checkbox-content-indent/-/remark-lint-checkbox-content-indent-5.0.0.tgz",
- "integrity": "sha512-7L25a7TEfdogFSh4HDOnB+GTTTEiXJDMlceUPft9bzIjElI8Hm2+a2D8jUQn4ahj+j/3LmdZW4GjAeyfdPuqTA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-code-block-style": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-4.0.0.tgz",
- "integrity": "sha512-LKBKMVruEO0tzDnnnqi1TfUcnwY6Mo7cVtZM4E4pKt3KMhtvgU2wD68/MxDOEJd0pmnLrEgIadv74bY0gWhZpg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-definition-spacing": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-4.0.0.tgz",
- "integrity": "sha512-t6nP8unz6z/DLBTWeOmDFHPFbX3E2PbNgt2fTazRbVnMC6z3o25hBzg5hI6DL0MPt2ZTRX++rJsGRjb+vgh/tQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "longest-streak": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-fenced-code-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-4.0.0.tgz",
- "integrity": "sha512-Zs0wJd4nRvBo/9NWQVfWg5Ykapbo0Zzw/SyZc3f0h73S1gTZZcfeU+bA5oDivlBdcUgLBsyHRE0QaoaVvN3/Wg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "quotation": "^2.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-fenced-code-marker": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-4.0.0.tgz",
- "integrity": "sha512-WFN88Rx78m4/HSbW3Kx2XAYbVfzYns4bJd9qpwDD90DA3nc59zciYd01xi6Bk3n9vSs5gIlmG7xkwxVHHJ8KCA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-file-extension": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-3.0.0.tgz",
- "integrity": "sha512-wrOKiGvcl/ftB7FkeX2/l13ALvhKXV77HGR8AXo86cVY2pD+K0WdOC52DV3ldgpUXpWzE9kcgF8bbkxwzKpFFg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "quotation": "^2.0.0",
- "unified-lint-rule": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-final-definition": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-4.0.1.tgz",
- "integrity": "sha512-51T9oSdA7wuhjSdgGo0snO1BY39Igt9cJQi7XpgtgFsbfQk8zSSAUAc/rLabY6+YCTpcPs6qmwvLXZ4mPX6Qlg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-mdx": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-final-newline": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-3.0.0.tgz",
- "integrity": "sha512-NaPyn6FiOn3IV/6gIcwWfJmgraPT2IaVLjhakfPglZkKVfn/FrOfETyY8Bp+HLoSRI9967OH0yRDnK7/pPIWeQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "unified-lint-rule": "^3.0.0",
- "vfile-location": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-first-heading-level": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-first-heading-level/-/remark-lint-first-heading-level-4.0.0.tgz",
- "integrity": "sha512-CAMSDt03MwzGD1bgOZ+UaE0lN1xZXtJZGRXwMg7OmGazLVDtTsRkMEK0YY2LUyozdHBUFoq6FQt5pKyYdt/Tmw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-mdx": "^3.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-hard-break-spaces": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-4.0.0.tgz",
- "integrity": "sha512-zCTq7/xfM0ZL3bMopXse9DH2nk38wE1LrxmYwnTrqASBLnEAJWE2U2//tRGVMEBfSAnNvmIo96twz6zkLWjbGA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-heading-style": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-4.0.0.tgz",
- "integrity": "sha512-dQ6Jul5K0+aNUvrq4W7H0+osSoC9hsmwHZqBFq000+eMP/hWJqI8tuudw1rap8HHYuOsKLRbB5q+Fr7G+3Vw+Q==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-heading-style": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-list-item-bullet-indent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-5.0.0.tgz",
- "integrity": "sha512-qq22QaxsDjfsL7aWGIPmP3P0N99CJBQQW1+iSrhYAMCDzqVlw6I3wPNAeR6s8mcoeHT8YlT6eQH3V8xJ0SlW6w==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-list-item-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-4.0.0.tgz",
- "integrity": "sha512-Yd6/g8CH9e4vlPAPNgl7F575uKhP+pTo/qwGkE61GOcgEVNJ/529hjumUhyQ4sOAX0YAPAjxvq6fJvb4AhVOOA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-maximum-line-length": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-4.0.1.tgz",
- "integrity": "sha512-hQlh8UrRfhkO4FU7z7t1Bu5ethj1y2iBncO5AOWF38RAmlHaZdB2lQxNA8IvUZITGJYpT1aThdFTEf+58lv08Q==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-mdx": "^3.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-blockquote-without-marker": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-6.0.0.tgz",
- "integrity": "sha512-fBhoTpkWcl5tG4FdwPdJIyb8XLrdr6MdLk1+K2BQ6Rom3rRsIYvuox4ohxOunNrXuth8xyw8kC6wDmODR44oFw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-directive": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-location": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-consecutive-blank-lines": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-5.0.0.tgz",
- "integrity": "sha512-HsDZbFlelBVO3mEJDXd9v4z0HLB8pqxWnsV+I4ILYFp5lKYf6NxJaLBWFtP1gAg1+95WxityGLkGtYqmicDjpg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-directive": "^3.0.0",
- "mdast-util-mdx": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-duplicate-definitions": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-4.0.0.tgz",
- "integrity": "sha512-21fcOACkCyhNsHkedKlpvqIywYx+5zGR507bW8e59gzdGhTbnBwQ9du4ACmN9jxPTfIBhUVMz0bWezkGrHE7Bg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-file-name-articles": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-3.0.0.tgz",
- "integrity": "sha512-il4IseupahbV2TVfFjfDVL/EQw7jBWVlMVsv4K2cgl5uPIjiCjFGQypqKnWl6pZDN0oNOs/DE8gBdyuDjldJaA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-file-name-consecutive-dashes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-3.0.0.tgz",
- "integrity": "sha512-3vSI1LOQlu8NSCpWLsKELa8dS9HU+YVZE0U43/DNkdEcnZmlJLpTHQjBTMZUHQipRgoOO+TOSyXFyN/H+2lbuQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-file-name-outer-dashes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-3.0.0.tgz",
- "integrity": "sha512-3kgamCp39mdlCtqF/+JLwwS4VpSj5wvVwRythUfrpW7993I9kF67dBsaU545aEzWSK+UJZqjb40i0m2VfnBRfQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-heading-content-indent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-5.0.0.tgz",
- "integrity": "sha512-psYSlD2BjcVkgpeXOLwPcYFBrbtJWp8E8JX1J4vSfoHPeY6aIxgYxXkf57cjGTApfRL8xawBmMDiF1FgQvpZYg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-heading-indent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-heading-indent/-/remark-lint-no-heading-indent-5.0.0.tgz",
- "integrity": "sha512-JWGIWhaEzH00HywI0DHex92tJ5Mw7l11shQ6/MGhRjYsHMRWcwWcVeOuktVMe/BiQbg0hRoE4+g0z2VgUD6Cqw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-literal-urls": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-4.0.0.tgz",
- "integrity": "sha512-rl/3Ai4Ax9IH/fRpOJZuXk1HgYX6oFTauhmBOilpqbq/YT2kN3FuXaneXdRfKv1bgMdHaLKxHWxGj/mDyA2n8w==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-to-string": "^4.0.0",
- "micromark-util-character": "^2.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-multiple-toplevel-headings": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-4.0.0.tgz",
- "integrity": "sha512-JW11iYxza7asDdhQuKfr8SH1u4NBOCQ4U7Ru0HrKCPcT4y/AB1C1il5uMQzbcervgYPBq69xzyQ24+AJeL0t3A==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-mdx": "^3.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-shell-dollars": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-4.0.0.tgz",
- "integrity": "sha512-ye2h8FzjsgqqQV0HHN2g9N4FqI3eD9Gpgu7tU5ADIJyQ3mUJdwBoFn7IlGnpmumR1fb/l6u/AhRavIZxXYqG+Q==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "collapse-white-space": "^2.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-shortcut-reference-image": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-4.0.0.tgz",
- "integrity": "sha512-YEiCpW5F/8/LZyxlOuVK2L/n0NJ1AB0AJK7oP39OVyEk3Xl7w+JQi6nZ3KiH6REh+PWGqKn6M0KEPL9cT/iAOw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-shortcut-reference-link": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-4.0.0.tgz",
- "integrity": "sha512-6jka2Zz3I6G2MvDcKrwADYhTOxHMFMK854u1cfBEIH5/XnCCXROtoqiiDtbZw+NJqbmwsBKvGL4t2gnmEJUmgg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-table-indentation": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-5.0.0.tgz",
- "integrity": "sha512-MaLmnzgirpnRiRjWwrsyOX0RmP2eG4YAv169MtsxTVa6O3CpUDwTuTzivudE9L0kVvTlyF9DXEmdyjm85LDyVA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-location": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-tabs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-tabs/-/remark-lint-no-tabs-4.0.0.tgz",
- "integrity": "sha512-rQR7LDdcw047ajB3D+v9uzdB8aZfZtEdlUJvQXKkcVDteWiuXGC3PcIrmM/8n3J/wlFMuwoAaW2IcdlJf8HzXQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "vfile-location": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-trailing-spaces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/remark-lint-no-trailing-spaces/-/remark-lint-no-trailing-spaces-3.0.2.tgz",
- "integrity": "sha512-4KxOdzZ+BlCZDu9yYsKGOfB8fknukxYD+9VhI1I5l7Ns7TgqdYq4k/qwUfTHpQ4TF9aokL/tOpsEGOc4PGKTKw==",
- "license": "MIT",
- "dependencies": {
- "unified-lint-rule": "^3.0.0",
- "vfile-location": "^5.0.3"
- }
- },
- "node_modules/remark-lint-no-undefined-references": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-5.0.0.tgz",
- "integrity": "sha512-O0q8bHpRHK1T85oqO+uep4BkvQnZZp3y+wahDeeLLq9dCJfF56sq6Tt5OOTt1BAOZlpobS3OPQHUiJWYP6hX1w==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "collapse-white-space": "^2.0.0",
- "devlop": "^1.0.0",
- "micromark-util-normalize-identifier": "^2.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-location": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-no-unused-definitions": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-4.0.0.tgz",
- "integrity": "sha512-YCZ6k575NCTx7mnN+9ls0G6YgMsZHi0LYQqfLW8MNVHBtbpTBvfmk8I39bmsvuKWeBD98weZoXSDqIiIGg+Q/g==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "devlop": "^1.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-ordered-list-marker-style": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-4.0.0.tgz",
- "integrity": "sha512-xZ7Xppy5fzACH4b9h1b4lTzVtNY2AlUkNTfl1Oe6cIKN8tk3juFxN0wL2RpktPtSZ7iRIabzFmg6l8WPhlASJA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "micromark-util-character": "^2.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-prohibited-strings": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-4.0.0.tgz",
- "integrity": "sha512-dfLF4da5v3klRAdkHBLpNIC7WpvNdN7Eylgf+p19HPJn53CaxqlGjFvAQDAJU83xXEPWAmdonlx04GIS5ryLow==",
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^5.0.0",
- "unified-lint-rule": "^2.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit": "^5.0.0",
- "vfile-location": "^5.0.1"
- }
- },
- "node_modules/remark-lint-prohibited-strings/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/remark-lint-prohibited-strings/node_modules/unified": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
- "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
- "license": "MIT",
- "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/node_modules/unified-lint-rule": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.2.tgz",
- "integrity": "sha512-JWudPtRN7TLFHVLEVZ+Rm8FUb6kCAtHxEXFgBGDxRSdNMnGyTU5zyYvduHSF/liExlFB3vdFvsAHnNVE/UjAwA==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "trough": "^2.0.0",
- "unified": "^10.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-prohibited-strings/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-prohibited-strings/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-prohibited-strings/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-rule-style": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-4.0.0.tgz",
- "integrity": "sha512-Kt7IHMB5IbLgRFKaFUmB895sV3PTD0MBgN9CvXKxr1wHFF43S6tabjFIBSoQqyJRlhH0S3rK6Lvopofa009gLg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-strong-marker": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-4.0.0.tgz",
- "integrity": "sha512-YcvuzakYhQWdCH+1E30sUY+wyvq+PNa77NZAMAYO/cS/pZczFB+q4Ccttw4Q+No/chX8oMfe0GYtm8dDWLei/g==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-table-cell-padding": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-5.0.0.tgz",
- "integrity": "sha512-LNyiHDQZBIOqcQGG1tYsZHW7g0v8OyRmRgDrD5WEsMaAYfM6EiECUokN/Q4py9h4oM/2KUSrdZbtfuZmy87/kA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "devlop": "^1.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "pluralize": "^8.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-table-pipes": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-5.0.0.tgz",
- "integrity": "sha512-e7jzAScDrt5+eMomh099TZJBN2K9ldDxBu9iYhNu5C0YsdAvnckJkgilsuClxFpmx4LCVYaX0EGbt/hQ3LB3xg==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "@types/unist": "^3.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-lint-unordered-list-marker-style": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-4.0.0.tgz",
- "integrity": "sha512-XlP4Wr4KJNovyWVv0H5axfUlF23iE9Kt2SxaVq4+ieum5YcMmKE6KsL+aqt3kiJb60SH1u6a0bxKFvdM/9riOA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-phrasing": "^4.0.0",
- "unified-lint-rule": "^3.0.0",
- "unist-util-position": "^5.0.0",
- "unist-util-visit-parents": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-message-control": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-8.0.0.tgz",
- "integrity": "sha512-brpzOO+jdyE/mLqvqqvbogmhGxKygjpCUCG/PwSCU43+JZQ+RM+sSzkCWBcYvgF3KIAVNIoPsvXjBkzO7EdsYQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-comment-marker": "^3.0.0",
- "unified-message-control": "^5.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-parse": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
- "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "micromark-util-types": "^2.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-preset-lint-node": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-5.1.2.tgz",
- "integrity": "sha512-ukBPfLqD05AomGL+Z3tbmBCKTaEM+9Dv8Pn0r/0vok8F95Z0wj/AY70cFhm038ID1vKBD07anky11dvigDAHlw==",
- "license": "MIT",
- "dependencies": {
- "js-yaml": "^4.1.0",
- "remark-gfm": "^4.0.0",
- "remark-lint-blockquote-indentation": "^4.0.0",
- "remark-lint-checkbox-character-style": "^5.0.0",
- "remark-lint-checkbox-content-indent": "^5.0.0",
- "remark-lint-code-block-style": "^4.0.0",
- "remark-lint-definition-spacing": "^4.0.0",
- "remark-lint-fenced-code-flag": "^4.0.0",
- "remark-lint-fenced-code-marker": "^4.0.0",
- "remark-lint-file-extension": "^3.0.0",
- "remark-lint-final-definition": "^4.0.1",
- "remark-lint-first-heading-level": "^4.0.0",
- "remark-lint-heading-style": "^4.0.0",
- "remark-lint-maximum-line-length": "^4.0.1",
- "remark-lint-no-consecutive-blank-lines": "^5.0.0",
- "remark-lint-no-file-name-articles": "^3.0.0",
- "remark-lint-no-file-name-consecutive-dashes": "^3.0.0",
- "remark-lint-no-file-name-outer-dashes": "^3.0.0",
- "remark-lint-no-heading-indent": "^5.0.0",
- "remark-lint-no-multiple-toplevel-headings": "^4.0.0",
- "remark-lint-no-shell-dollars": "^4.0.0",
- "remark-lint-no-table-indentation": "^5.0.0",
- "remark-lint-no-tabs": "^4.0.0",
- "remark-lint-no-trailing-spaces": "^3.0.2",
- "remark-lint-prohibited-strings": "^4.0.0",
- "remark-lint-rule-style": "^4.0.0",
- "remark-lint-strong-marker": "^4.0.0",
- "remark-lint-table-cell-padding": "^5.0.0",
- "remark-lint-table-pipes": "^5.0.0",
- "remark-lint-unordered-list-marker-style": "^4.0.0",
- "remark-preset-lint-recommended": "^7.0.0",
- "semver": "^7.5.4",
- "unified-lint-rule": "^3.0.0",
- "unist-util-visit": "^5.0.0"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/remark-preset-lint-recommended": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-7.0.0.tgz",
- "integrity": "sha512-A9aPDL78OO12xG2a83DVd+M2QzdBMjn545fbXj40BFJdpt9t//MADkPAwRfpMCBkKi+iECPUTFCb3Jm8SsFG2w==",
- "license": "MIT",
- "dependencies": {
- "remark-lint": "^10.0.0",
- "remark-lint-final-newline": "^3.0.0",
- "remark-lint-hard-break-spaces": "^4.0.0",
- "remark-lint-list-item-bullet-indent": "^5.0.0",
- "remark-lint-list-item-indent": "^4.0.0",
- "remark-lint-no-blockquote-without-marker": "^6.0.0",
- "remark-lint-no-duplicate-definitions": "^4.0.0",
- "remark-lint-no-heading-content-indent": "^5.0.0",
- "remark-lint-no-literal-urls": "^4.0.0",
- "remark-lint-no-shortcut-reference-image": "^4.0.0",
- "remark-lint-no-shortcut-reference-link": "^4.0.0",
- "remark-lint-no-undefined-references": "^5.0.0",
- "remark-lint-no-unused-definitions": "^4.0.0",
- "remark-lint-ordered-list-marker-style": "^4.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-stringify": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
- "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-to-markdown": "^2.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/space-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/string-width": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
- "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^10.2.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/stringify-entities": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
- "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
- "license": "MIT",
- "dependencies": {
- "character-entities-html4": "^2.0.0",
- "character-entities-legacy": "^3.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/supports-color": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
- "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/to-vfile": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz",
- "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==",
- "license": "MIT",
- "dependencies": {
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/trough": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
- "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/unified": {
- "version": "11.0.5",
- "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
- "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "bail": "^2.0.0",
- "devlop": "^1.0.0",
- "extend": "^3.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unified-lint-rule": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-3.0.0.tgz",
- "integrity": "sha512-Sz96ILLsTy3djsG3H44zFb2b77MFf9CQVYnV3PWkxgRX8/n31fFrr+JnzUaJ6cbOHTtZnL1A71+YodsTjzwAew==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "trough": "^2.0.0",
- "unified": "^11.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unified-message-control": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-5.0.0.tgz",
- "integrity": "sha512-B2cSAkpuMVVmPP90KCfKdBhm1e9KYJ+zK3x5BCa0N65zpq1Ybkc9C77+M5qwR8FWO7RF3LM5QRRPZtgjW6DUCw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "devlop": "^1.0.0",
- "space-separated-tokens": "^2.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit": "^5.0.0",
- "vfile": "^6.0.0",
- "vfile-location": "^5.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-is": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
- "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-position": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
- "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/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==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-visit": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
- "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0",
- "unist-util-visit-parents": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/unist-util-visit-parents": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
- "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-is": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
- "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-location": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz",
- "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/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==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^3.0.0",
- "unist-util-stringify-position": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-reporter": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-8.1.1.tgz",
- "integrity": "sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==",
- "license": "MIT",
- "dependencies": {
- "@types/supports-color": "^8.0.0",
- "string-width": "^6.0.0",
- "supports-color": "^9.0.0",
- "unist-util-stringify-position": "^4.0.0",
- "vfile": "^6.0.0",
- "vfile-message": "^4.0.0",
- "vfile-sort": "^4.0.0",
- "vfile-statistics": "^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",
- "integrity": "sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==",
- "license": "MIT",
- "dependencies": {
- "vfile": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-statistics": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-3.0.0.tgz",
- "integrity": "sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==",
- "license": "MIT",
- "dependencies": {
- "vfile": "^6.0.0",
- "vfile-message": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/zwitch": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
- "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- }
- }
-}
diff --git a/tools/lint-md/package.json b/tools/lint-md/package.json
deleted file mode 100644
index f7272f493d67a7..00000000000000
--- a/tools/lint-md/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": "lint-md",
- "description": "markdown linting",
- "version": "1.0.0",
- "dependencies": {
- "remark-parse": "^11.0.0",
- "remark-preset-lint-node": "^5.1.2",
- "remark-stringify": "^11.0.0",
- "to-vfile": "^8.0.0",
- "unified": "^11.0.5",
- "vfile-reporter": "^8.1.1"
- }
-}
diff --git a/vcbuild.bat b/vcbuild.bat
index 9b37892ba6f53d..48b92b8d969380 100644
--- a/vcbuild.bat
+++ b/vcbuild.bat
@@ -623,7 +623,7 @@ if errorlevel 1 goto exit
:install-doctools
REM only install if building doc OR testing doctool OR building addons
-if not defined doc if not defined build_addons (
+if not defined doc if not defined build_addons if not defined lint_md (
echo.%test_args% | findstr doctool 1>nul
if errorlevel 1 goto :skip-install-doctools
)
@@ -773,7 +773,7 @@ goto lint-js-build
goto lint-js-build
:lint-js-build
-if not defined lint_js_build if not defined lint_js if not defined lint_js_fix goto lint-md-build
+if not defined lint_js_build if not defined lint_js if not defined lint_js_fix goto lint-js
%npm_exe% --prefix tools\eslint ci
:lint-js
@@ -788,15 +788,11 @@ if not defined lint_js_fix goto lint-md
if not exist tools\eslint\node_modules\eslint goto no-lint
echo running lint-js-fix
%node_exe% tools\eslint\node_modules\eslint\bin\eslint.js --cache --max-warnings=0 --report-unused-disable-directives --rule "@stylistic/js/linebreak-style: 0" eslint.config.mjs benchmark doc lib test tools --fix
-goto lint-md-build
-
-:lint-md-build
-if not defined lint_md if not defined format_md goto lint-md
-%npm_exe% --prefix tools\lint-md ci
+goto lint-md
:lint-md
if not defined lint_md goto format-md
-if not exist tools\lint-md\node_modules goto no-lint
+if not exist tools\doc\node_modules goto no-lint
echo Running Markdown linter on docs...
SETLOCAL ENABLEDELAYEDEXPANSION
set lint_md_files=
@@ -810,13 +806,13 @@ for /D %%D IN (doc\*) do (
)
)
)
-%node_exe% tools\lint-md\lint-md.mjs %lint_md_files%
+%node_exe% tools\doc\lint-md.mjs %lint_md_files%
ENDLOCAL
goto format-md
:format-md
if not defined format_md goto exit
-if not exist tools\lint-md\node_modules goto no-lint
+if not exist tools\doc\node_modules goto no-lint
echo Running Markdown formatter on docs...
SETLOCAL ENABLEDELAYEDEXPANSION
set lint_md_files=
@@ -830,7 +826,7 @@ for /D %%D IN (doc\*) do (
)
)
)
-%node_exe% tools\lint-md\lint-md.mjs --format %lint_md_files%
+%node_exe% tools\doc\lint-md.mjs --format %lint_md_files%
ENDLOCAL
:no-lint
@@ -845,7 +841,7 @@ set exit_code=1
goto exit
:help
-echo vcbuild.bat [debug/release] [msi] [doc] [test/test-all/test-addons/test-doc/test-js-native-api/test-node-api/test-internet/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [projgen] [clang-cl] [ccache path-to-ccache] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [nonpm] [ltcg] [licensetf] [sign] [x64/arm64] [vs2022/vs2026] [download-all] [enable-vtune] [lint/lint-ci/lint-js/lint-md] [lint-md-build] [format-md] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [cctest] [no-cctest] [openssl-no-asm]
+echo vcbuild.bat [debug/release] [msi] [doc] [test/test-all/test-addons/test-doc/test-js-native-api/test-node-api/test-internet/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [projgen] [clang-cl] [ccache path-to-ccache] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [nonpm] [ltcg] [licensetf] [sign] [x64/arm64] [vs2022/vs2026] [download-all] [enable-vtune] [lint/lint-ci/lint-js/lint-md] [format-md] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [cctest] [no-cctest] [openssl-no-asm]
echo Examples:
echo vcbuild.bat : builds release build
echo vcbuild.bat debug : builds debug build