From 10d4ef83c551905b1cad0acd7fc2c2f84fbe3b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominykas=20Blyz=CC=8Ce=CC=87?= Date: Fri, 31 Oct 2025 16:09:30 +0200 Subject: [PATCH] Refresh all dependencies --- .github/actions/prepare-dynamic-steps/.nvmrc | 2 +- .../actions/prepare-dynamic-steps/action.yaml | 2 +- .../node_modules/.package-lock.json | 14 ++--- .../node_modules/undici/lib/cookies/index.js | 7 ++- .../node_modules/undici/lib/cookies/util.js | 35 ++++--------- .../node_modules/undici/lib/fetch/headers.js | 4 ++ .../node_modules/undici/lib/pool.js | 14 +++++ .../node_modules/undici/package.json | 2 +- .../node_modules/yaml/README.md | 24 ++------- .../dist/compose/compose-collection.js | 4 +- .../browser/dist/compose/resolve-props.js | 6 +-- .../compose/util-empty-scalar-position.js | 3 +- .../yaml/browser/dist/doc/anchors.js | 3 +- .../yaml/browser/dist/doc/createNode.js | 3 +- .../yaml/browser/dist/nodes/Alias.js | 35 +++++++++---- .../yaml/browser/dist/nodes/YAMLMap.js | 2 +- .../yaml/browser/dist/nodes/addPairToJSMap.js | 1 + .../yaml/browser/dist/parse/parser.js | 15 +++++- .../yaml/browser/dist/schema/tags.js | 6 +-- .../browser/dist/schema/yaml-1.1/binary.js | 5 +- .../browser/dist/schema/yaml-1.1/pairs.js | 2 +- .../browser/dist/schema/yaml-1.1/timestamp.js | 2 +- .../yaml/browser/dist/stringify/stringify.js | 7 ++- .../browser/dist/stringify/stringifyString.js | 9 ++-- .../node_modules/yaml/dist/cli.d.ts | 2 +- .../node_modules/yaml/dist/cli.mjs | 8 +-- .../yaml/dist/compose/compose-collection.js | 4 +- .../yaml/dist/compose/composer.js | 2 +- .../yaml/dist/compose/resolve-props.js | 6 +-- .../compose/util-empty-scalar-position.js | 3 +- .../node_modules/yaml/dist/doc/anchors.js | 3 +- .../node_modules/yaml/dist/doc/createNode.js | 3 +- .../node_modules/yaml/dist/log.js | 2 +- .../node_modules/yaml/dist/nodes/Alias.d.ts | 2 +- .../node_modules/yaml/dist/nodes/Alias.js | 33 ++++++++---- .../yaml/dist/nodes/addPairToJSMap.js | 1 + .../node_modules/yaml/dist/nodes/toJS.d.ts | 2 + .../node_modules/yaml/dist/parse/parser.js | 17 ++++++- .../yaml/dist/schema/yaml-1.1/binary.js | 7 +-- .../yaml/dist/schema/yaml-1.1/timestamp.js | 2 +- .../yaml/dist/stringify/stringify.js | 7 ++- .../yaml/dist/stringify/stringifyString.js | 7 ++- .../node_modules/yaml/package.json | 5 +- .../prepare-dynamic-steps/npm-shrinkwrap.json | 18 +++---- .../prepare-dynamic-steps/package.json | 4 +- .../prepare-node-test-matrix-action/.nvmrc | 2 +- .../action.yaml | 2 +- .../node_modules/.package-lock.json | 20 ++++---- .../node_modules/semver/README.md | 18 +++++-- .../node_modules/semver/bin/semver.js | 5 +- .../node_modules/semver/classes/comparator.js | 2 + .../node_modules/semver/classes/index.js | 2 + .../node_modules/semver/classes/range.js | 3 ++ .../node_modules/semver/classes/semver.js | 51 +++++++++++++++---- .../node_modules/semver/functions/clean.js | 2 + .../node_modules/semver/functions/cmp.js | 2 + .../node_modules/semver/functions/coerce.js | 2 + .../semver/functions/compare-build.js | 2 + .../semver/functions/compare-loose.js | 2 + .../node_modules/semver/functions/compare.js | 2 + .../node_modules/semver/functions/diff.js | 19 +++---- .../node_modules/semver/functions/eq.js | 2 + .../node_modules/semver/functions/gt.js | 2 + .../node_modules/semver/functions/gte.js | 2 + .../node_modules/semver/functions/inc.js | 2 + .../node_modules/semver/functions/lt.js | 2 + .../node_modules/semver/functions/lte.js | 2 + .../node_modules/semver/functions/major.js | 2 + .../node_modules/semver/functions/minor.js | 2 + .../node_modules/semver/functions/neq.js | 2 + .../node_modules/semver/functions/parse.js | 2 + .../node_modules/semver/functions/patch.js | 2 + .../semver/functions/prerelease.js | 2 + .../node_modules/semver/functions/rcompare.js | 2 + .../node_modules/semver/functions/rsort.js | 2 + .../semver/functions/satisfies.js | 2 + .../node_modules/semver/functions/sort.js | 2 + .../node_modules/semver/functions/valid.js | 2 + .../node_modules/semver/index.js | 2 + .../node_modules/semver/internal/constants.js | 2 + .../node_modules/semver/internal/debug.js | 2 + .../semver/internal/identifiers.js | 6 +++ .../node_modules/semver/internal/lrucache.js | 2 + .../semver/internal/parse-options.js | 2 + .../node_modules/semver/internal/re.js | 14 +++-- .../node_modules/semver/package.json | 15 +++--- .../node_modules/semver/preload.js | 2 + .../node_modules/semver/ranges/gtr.js | 2 + .../node_modules/semver/ranges/intersects.js | 2 + .../node_modules/semver/ranges/ltr.js | 2 + .../semver/ranges/max-satisfying.js | 2 + .../semver/ranges/min-satisfying.js | 2 + .../node_modules/semver/ranges/min-version.js | 2 + .../node_modules/semver/ranges/outside.js | 2 + .../node_modules/semver/ranges/simplify.js | 2 + .../node_modules/semver/ranges/subset.js | 2 + .../semver/ranges/to-comparators.js | 2 + .../node_modules/semver/ranges/valid.js | 2 + .../node_modules/undici/lib/cookies/index.js | 7 ++- .../node_modules/undici/lib/cookies/util.js | 35 ++++--------- .../node_modules/undici/lib/fetch/headers.js | 4 ++ .../node_modules/undici/lib/pool.js | 14 +++++ .../node_modules/undici/package.json | 2 +- .../node_modules/yaml/README.md | 24 ++------- .../dist/compose/compose-collection.js | 4 +- .../browser/dist/compose/resolve-props.js | 6 +-- .../compose/util-empty-scalar-position.js | 3 +- .../yaml/browser/dist/doc/anchors.js | 3 +- .../yaml/browser/dist/doc/createNode.js | 3 +- .../yaml/browser/dist/nodes/Alias.js | 35 +++++++++---- .../yaml/browser/dist/nodes/YAMLMap.js | 2 +- .../yaml/browser/dist/nodes/addPairToJSMap.js | 1 + .../yaml/browser/dist/parse/parser.js | 15 +++++- .../yaml/browser/dist/schema/tags.js | 6 +-- .../browser/dist/schema/yaml-1.1/binary.js | 5 +- .../browser/dist/schema/yaml-1.1/pairs.js | 2 +- .../browser/dist/schema/yaml-1.1/timestamp.js | 2 +- .../yaml/browser/dist/stringify/stringify.js | 7 ++- .../browser/dist/stringify/stringifyString.js | 9 ++-- .../node_modules/yaml/dist/cli.d.ts | 2 +- .../node_modules/yaml/dist/cli.mjs | 8 +-- .../yaml/dist/compose/compose-collection.js | 4 +- .../yaml/dist/compose/composer.js | 2 +- .../yaml/dist/compose/resolve-props.js | 6 +-- .../compose/util-empty-scalar-position.js | 3 +- .../node_modules/yaml/dist/doc/anchors.js | 3 +- .../node_modules/yaml/dist/doc/createNode.js | 3 +- .../node_modules/yaml/dist/log.js | 2 +- .../node_modules/yaml/dist/nodes/Alias.d.ts | 2 +- .../node_modules/yaml/dist/nodes/Alias.js | 33 ++++++++---- .../yaml/dist/nodes/addPairToJSMap.js | 1 + .../node_modules/yaml/dist/nodes/toJS.d.ts | 2 + .../node_modules/yaml/dist/parse/parser.js | 17 ++++++- .../yaml/dist/schema/yaml-1.1/binary.js | 7 +-- .../yaml/dist/schema/yaml-1.1/timestamp.js | 2 +- .../yaml/dist/stringify/stringify.js | 7 ++- .../yaml/dist/stringify/stringifyString.js | 7 ++- .../node_modules/yaml/package.json | 5 +- .../npm-shrinkwrap.json | 22 ++++---- .../package.json | 4 +- .../schedule.json | 20 ++++++-- 141 files changed, 574 insertions(+), 361 deletions(-) diff --git a/.github/actions/prepare-dynamic-steps/.nvmrc b/.github/actions/prepare-dynamic-steps/.nvmrc index 209e3ef..a45fd52 100644 --- a/.github/actions/prepare-dynamic-steps/.nvmrc +++ b/.github/actions/prepare-dynamic-steps/.nvmrc @@ -1 +1 @@ -20 +24 diff --git a/.github/actions/prepare-dynamic-steps/action.yaml b/.github/actions/prepare-dynamic-steps/action.yaml index 83be50f..0f1c82c 100644 --- a/.github/actions/prepare-dynamic-steps/action.yaml +++ b/.github/actions/prepare-dynamic-steps/action.yaml @@ -3,7 +3,7 @@ name: Dynamic action generator description: Takes a list of steps as YAML inside string and writes them out as a composite action runs: - using: node20 + using: node24 main: index.js inputs: diff --git a/.github/actions/prepare-dynamic-steps/node_modules/.package-lock.json b/.github/actions/prepare-dynamic-steps/node_modules/.package-lock.json index 2fab00f..1d9caac 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/.package-lock.json +++ b/.github/actions/prepare-dynamic-steps/node_modules/.package-lock.json @@ -58,9 +58,9 @@ } }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" @@ -70,15 +70,15 @@ } }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } } diff --git a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/index.js b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/index.js index c9c1f28..f867b19 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/index.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/index.js @@ -1,7 +1,7 @@ 'use strict' const { parseSetCookie } = require('./parse') -const { stringify, getHeadersList } = require('./util') +const { stringify } = require('./util') const { webidl } = require('../fetch/webidl') const { Headers } = require('../fetch/headers') @@ -77,14 +77,13 @@ function getSetCookies (headers) { webidl.brandCheck(headers, Headers, { strict: false }) - const cookies = getHeadersList(headers).cookies + const cookies = headers.getSetCookie() if (!cookies) { return [] } - // In older versions of undici, cookies is a list of name:value. - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)) + return cookies.map((pair) => parseSetCookie(pair)) } /** diff --git a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/util.js b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/util.js index 2290329..be3ccbe 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/util.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/cookies/util.js @@ -1,8 +1,9 @@ 'use strict' -const assert = require('assert') -const { kHeadersList } = require('../core/symbols') - +/** + * @param {string} value + * @returns {boolean} + */ function isCTLExcludingHtab (value) { if (value.length === 0) { return false @@ -263,29 +264,11 @@ function stringify (cookie) { return out.join('; ') } -let kHeadersListNode - -function getHeadersList (headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList] - } - - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === 'headers list' - ) - - assert(kHeadersListNode, 'Headers cannot be parsed') - } - - const headersList = headers[kHeadersListNode] - assert(headersList) - - return headersList -} - module.exports = { isCTLExcludingHtab, - stringify, - getHeadersList + validateCookieName, + validateCookiePath, + validateCookieValue, + toIMFDate, + stringify } diff --git a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/fetch/headers.js b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/fetch/headers.js index 2f1c0be..fcab732 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/fetch/headers.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/fetch/headers.js @@ -10,6 +10,7 @@ const { isValidHeaderName, isValidHeaderValue } = require('./util') +const util = require('util') const { webidl } = require('./webidl') const assert = require('assert') @@ -563,6 +564,9 @@ Object.defineProperties(Headers.prototype, { [Symbol.toStringTag]: { value: 'Headers', configurable: true + }, + [util.inspect.custom]: { + enumerable: false } }) diff --git a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/pool.js b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/pool.js index e3cd339..86b29d4 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/pool.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/undici/lib/pool.js @@ -73,6 +73,20 @@ class Pool extends PoolBase { ? { ...options.interceptors } : undefined this[kFactory] = factory + + this.on('connectionError', (origin, targets, error) => { + // If a connection error occurs, we remove the client from the pool, + // and emit a connectionError event. They will not be re-used. + // Fixes https://github.com/nodejs/undici/issues/3895 + for (const target of targets) { + // Do not use kRemoveClient here, as it will close the client, + // but the client cannot be closed in this state. + const idx = this[kClients].indexOf(target) + if (idx !== -1) { + this[kClients].splice(idx, 1) + } + } + }) } [kGetDispatcher] () { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/undici/package.json b/.github/actions/prepare-dynamic-steps/node_modules/undici/package.json index 0c6b71e..738688d 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/undici/package.json +++ b/.github/actions/prepare-dynamic-steps/node_modules/undici/package.json @@ -1,6 +1,6 @@ { "name": "undici", - "version": "5.28.5", + "version": "5.29.0", "description": "An HTTP/1.1 client, written from scratch for Node.js", "homepage": "https://undici.nodejs.org", "bugs": { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/README.md b/.github/actions/prepare-dynamic-steps/node_modules/yaml/README.md index a5bdcba..1613c1d 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/README.md +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/README.md @@ -20,34 +20,18 @@ This requirement may be updated between minor versions of the library. For more information, see the project's documentation site: [**eemeli.org/yaml**](https://eemeli.org/yaml/) +For build instructions and contribution guidelines, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). + To install: ```sh npm install yaml +# or +deno add jsr:@eemeli/yaml ``` **Note:** These docs are for `yaml@2`. For v1, see the [v1.10.0 tag](https://github.com/eemeli/yaml/tree/v1.10.0) for the source and [eemeli.org/yaml/v1](https://eemeli.org/yaml/v1/) for the documentation. -The development and maintenance of this library is [sponsored](https://github.com/sponsors/eemeli) by: - -

- Scipress -     - Manifest -

- ## API Overview The API provided by `yaml` has three layers, depending on how deep you need to go: [Parse & Stringify](https://eemeli.org/yaml/#parse-amp-stringify), [Documents](https://eemeli.org/yaml/#documents), and the underlying [Lexer/Parser/Composer](https://eemeli.org/yaml/#parsing-yaml). diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/compose-collection.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/compose-collection.js index b80fba2..5ecf796 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/compose-collection.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/compose-collection.js @@ -64,8 +64,8 @@ function composeCollection(CN, ctx, token, props, onError) { tag = kt; } else { - if (kt?.collection) { - onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection}`, true); + if (kt) { + onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true); } else { onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/resolve-props.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/resolve-props.js index b348b79..b6336e1 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/resolve-props.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/resolve-props.js @@ -72,8 +72,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (token.source.endsWith(':')) onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true); anchor = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; @@ -82,8 +81,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (tag) onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag'); tag = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js index ab6e0c9..26f238c 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js @@ -1,7 +1,6 @@ function emptyScalarPosition(offset, before, pos) { if (before) { - if (pos === null) - pos = before.length; + pos ?? (pos = before.length); for (let i = pos - 1; i >= 0; --i) { let st = before[i]; switch (st.type) { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/anchors.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/anchors.js index 03c2442..64810d1 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/anchors.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/anchors.js @@ -39,8 +39,7 @@ function createNodeAnchors(doc, prefix) { return { onAnchor: (source) => { aliasObjects.push(source); - if (!prevAnchors) - prevAnchors = anchorNames(doc); + prevAnchors ?? (prevAnchors = anchorNames(doc)); const anchor = findNewAnchor(prefix, prevAnchors); prevAnchors.add(anchor); return anchor; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/createNode.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/createNode.js index 1392269..ddcc211 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/createNode.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/doc/createNode.js @@ -38,8 +38,7 @@ function createNode(value, tagName, ctx) { if (aliasDuplicateObjects && value && typeof value === 'object') { ref = sourceObjects.get(value); if (ref) { - if (!ref.anchor) - ref.anchor = onAnchor(value); + ref.anchor ?? (ref.anchor = onAnchor(value)); return new Alias(ref.anchor); } else { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/Alias.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/Alias.js index 8e34f09..7a638ba 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/Alias.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/Alias.js @@ -1,6 +1,6 @@ import { anchorIsValid } from '../doc/anchors.js'; import { visit } from '../visit.js'; -import { ALIAS, isAlias, isCollection, isPair } from './identity.js'; +import { ALIAS, isAlias, isCollection, isPair, hasAnchor } from './identity.js'; import { NodeBase } from './Node.js'; import { toJS } from './toJS.js'; @@ -18,23 +18,36 @@ class Alias extends NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc) { + resolve(doc, ctx) { + let nodes; + if (ctx?.aliasResolveCache) { + nodes = ctx.aliasResolveCache; + } + else { + nodes = []; + visit(doc, { + Node: (_key, node) => { + if (isAlias(node) || hasAnchor(node)) + nodes.push(node); + } + }); + if (ctx) + ctx.aliasResolveCache = nodes; + } let found = undefined; - visit(doc, { - Node: (_key, node) => { - if (node === this) - return visit.BREAK; - if (node.anchor === this.source) - found = node; - } - }); + for (const node of nodes) { + if (node === this) + break; + if (node.anchor === this.source) + found = node; + } return found; } toJSON(_arg, ctx) { if (!ctx) return { source: this.source }; const { anchors, doc, maxAliasCount } = ctx; - const source = this.resolve(doc); + const source = this.resolve(doc, ctx); if (!source) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(msg); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/YAMLMap.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/YAMLMap.js index 5d88737..6c6a504 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/YAMLMap.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/YAMLMap.js @@ -1,7 +1,7 @@ import { stringifyCollection } from '../stringify/stringifyCollection.js'; import { addPairToJSMap } from './addPairToJSMap.js'; import { Collection } from './Collection.js'; -import { isPair, isScalar, MAP } from './identity.js'; +import { MAP, isPair, isScalar } from './identity.js'; import { Pair, createPair } from './Pair.js'; import { isScalarValue } from './Scalar.js'; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js index 53f7858..8e671cb 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js @@ -37,6 +37,7 @@ function addPairToJSMap(ctx, map, { key, value }) { function stringifyKey(key, jsKey, ctx) { if (jsKey === null) return ''; + // eslint-disable-next-line @typescript-eslint/no-base-to-string if (typeof jsKey !== 'object') return String(jsKey); if (isNode(key) && ctx?.doc) { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/parse/parser.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/parse/parser.js index 0cd7d1a..45a384a 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/parse/parser.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/parse/parser.js @@ -668,7 +668,20 @@ class Parser { default: { const bv = this.startBlockValue(map); if (bv) { - if (atMapIndent && bv.type !== 'block-seq') { + if (bv.type === 'block-seq') { + if (!it.explicitKey && + it.sep && + !includesToken(it.sep, 'newline')) { + yield* this.pop({ + type: 'error', + offset: this.offset, + message: 'Unexpected block-seq-ind on same line with key', + source: this.source + }); + return; + } + } + else if (atMapIndent) { map.items.push({ start }); } this.stack.push(bv); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/tags.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/tags.js index ba52c35..5acd99f 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/tags.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/tags.js @@ -3,8 +3,8 @@ import { nullTag } from './common/null.js'; import { seq } from './common/seq.js'; import { string } from './common/string.js'; import { boolTag } from './core/bool.js'; -import { float, floatExp, floatNaN } from './core/float.js'; -import { int, intHex, intOct } from './core/int.js'; +import { floatNaN, floatExp, float } from './core/float.js'; +import { intOct, intHex, int } from './core/int.js'; import { schema } from './core/schema.js'; import { schema as schema$1 } from './json/schema.js'; import { binary } from './yaml-1.1/binary.js'; @@ -13,7 +13,7 @@ import { omap } from './yaml-1.1/omap.js'; import { pairs } from './yaml-1.1/pairs.js'; import { schema as schema$2 } from './yaml-1.1/schema.js'; import { set } from './yaml-1.1/set.js'; -import { timestamp, floatTime, intTime } from './yaml-1.1/timestamp.js'; +import { timestamp, intTime, floatTime } from './yaml-1.1/timestamp.js'; const schemas = new Map([ ['core', schema], diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js index de5cce6..2deda7a 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js @@ -28,6 +28,8 @@ const binary = { } }, stringify({ comment, type, value }, ctx, onComment, onChompKeep) { + if (!value) + return ''; const buf = value; // checked earlier by binary.identify() let str; if (typeof btoa === 'function') { @@ -39,8 +41,7 @@ const binary = { else { throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); } - if (!type) - type = Scalar.BLOCK_LITERAL; + type ?? (type = Scalar.BLOCK_LITERAL); if (type !== Scalar.QUOTE_DOUBLE) { const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth); const n = Math.ceil(str.length / lineWidth); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js index 18e3020..579f080 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js @@ -1,5 +1,5 @@ import { isSeq, isPair, isMap } from '../../nodes/identity.js'; -import { Pair, createPair } from '../../nodes/Pair.js'; +import { createPair, Pair } from '../../nodes/Pair.js'; import { Scalar } from '../../nodes/Scalar.js'; import { YAMLSeq } from '../../nodes/YAMLSeq.js'; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js index 66daec4..77e3dbe 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js @@ -95,7 +95,7 @@ const timestamp = { } return new Date(date); }, - stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, '') + stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? '' }; export { floatTime, intTime, timestamp }; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringify.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringify.js index ad15d8f..7d27bf4 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringify.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringify.js @@ -68,7 +68,7 @@ function getTagObject(tags, item) { tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); } if (!tagObj) { - const name = obj?.constructor?.name ?? typeof obj; + const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj); throw new Error(`Tag not resolved for ${name} value`); } return tagObj; @@ -83,7 +83,7 @@ function stringifyProps(node, tagObj, { anchors, doc }) { anchors.add(anchor); props.push(`&${anchor}`); } - const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag; + const tag = node.tag ?? (tagObj.default ? null : tagObj.tag); if (tag) props.push(doc.directives.tagString(tag)); return props.join(' '); @@ -109,8 +109,7 @@ function stringify(item, ctx, onComment, onChompKeep) { const node = isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) }); - if (!tagObj) - tagObj = getTagObject(ctx.doc.schema.tags, node); + tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node)); const props = stringifyProps(node, tagObj, ctx); if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringifyString.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringifyString.js index e19b3d4..1591ce6 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringifyString.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/browser/dist/stringify/stringifyString.js @@ -1,5 +1,5 @@ import { Scalar } from '../nodes/Scalar.js'; -import { foldFlowLines, FOLD_QUOTED, FOLD_FLOW, FOLD_BLOCK } from './foldFlowLines.js'; +import { foldFlowLines, FOLD_FLOW, FOLD_QUOTED, FOLD_BLOCK } from './foldFlowLines.js'; const getFoldOptions = (ctx, isBlock) => ({ indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart, @@ -159,7 +159,7 @@ function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { const { blockQuote, commentString, lineWidth } = ctx.options; // 1. Block can't end in whitespace unless the last line is non-empty. // 2. Strings consisting of only whitespace are best rendered explicitly. - if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + if (!blockQuote || /\n[\t ]+$/.test(value)) { return quotedString(value, ctx); } const indent = ctx.indent || @@ -253,10 +253,9 @@ function plainString(item, ctx, onComment, onChompKeep) { (inFlow && /[[\]{},]/.test(value))) { return quotedString(value, ctx); } - if (!value || - /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { // not allowed: - // - empty string, '-' or '?' + // - '-' or '?' // - start with an indicator character (except [?:-]) or /[?-] / // - '\n ', ': ' or ' \n' anywhere // - '#' not preceded by a non-space char diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.d.ts b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.d.ts index 7e2ea2a..4007923 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.d.ts +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.d.ts @@ -1,4 +1,4 @@ -export declare const help = "yaml: A command-line YAML processor and inspector\n\nReads stdin and writes output to stdout and errors & warnings to stderr.\n\nUsage:\n yaml Process a YAML stream, outputting it as YAML\n yaml cst Parse the CST of a YAML stream\n yaml lex Parse the lexical tokens of a YAML stream\n yaml valid Validate a YAML stream, returning 0 on success\n\nOptions:\n --help, -h Show this message.\n --json, -j Output JSON.\n --indent 2 Output pretty-printed data, indented by the given number of spaces.\n\nAdditional options for bare \"yaml\" command:\n --doc, -d Output pretty-printed JS Document objects.\n --single, -1 Require the input to consist of a single YAML document.\n --strict, -s Stop on errors.\n --visit, -v Apply a visitor to each document (requires a path to import)\n --yaml 1.1 Set the YAML version. (default: 1.2)"; +export declare const help = "yaml: A command-line YAML processor and inspector\n\nReads stdin and writes output to stdout and errors & warnings to stderr.\n\nUsage:\n yaml Process a YAML stream, outputting it as YAML\n yaml cst Parse the CST of a YAML stream\n yaml lex Parse the lexical tokens of a YAML stream\n yaml valid Validate a YAML stream, returning 0 on success\n\nOptions:\n --help, -h Show this message.\n --json, -j Output JSON.\n --indent 2 Output pretty-printed data, indented by the given number of spaces.\n --merge, -m Enable support for \"<<\" merge keys.\n\nAdditional options for bare \"yaml\" command:\n --doc, -d Output pretty-printed JS Document objects.\n --single, -1 Require the input to consist of a single YAML document.\n --strict, -s Stop on errors.\n --visit, -v Apply a visitor to each document (requires a path to import)\n --yaml 1.1 Set the YAML version. (default: 1.2)"; export declare class UserError extends Error { static ARGS: number; static SINGLE: number; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.mjs b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.mjs index d3c7d43..639cca4 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.mjs +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/cli.mjs @@ -1,5 +1,5 @@ -import { resolve } from 'node:path'; -import { parseArgs } from 'node:util'; +import { resolve } from 'path'; +import { parseArgs } from 'util'; import { prettyToken } from './parse/cst.js'; import { Lexer } from './parse/lexer.js'; import { Parser } from './parse/parser.js'; @@ -23,6 +23,7 @@ Options: --help, -h Show this message. --json, -j Output JSON. --indent 2 Output pretty-printed data, indented by the given number of spaces. + --merge, -m Enable support for "<<" merge keys. Additional options for bare "yaml" command: --doc, -d Output pretty-printed JS Document objects. @@ -48,6 +49,7 @@ async function cli(stdin, done, argv) { doc: { type: 'boolean', short: 'd' }, help: { type: 'boolean', short: 'h' }, indent: { type: 'string', short: 'i' }, + merge: { type: 'boolean', short: 'm' }, json: { type: 'boolean', short: 'j' }, single: { type: 'boolean', short: '1' }, strict: { type: 'boolean', short: 's' }, @@ -117,7 +119,7 @@ async function cli(stdin, done, argv) { const lineCounter = new LineCounter(); const parser = new Parser(lineCounter.addNewLine); // @ts-expect-error Version is validated at runtime - const composer = new Composer({ version: opt.yaml }); + const composer = new Composer({ version: opt.yaml, merge: opt.merge }); const visitor = opt.visit ? (await import(resolve(opt.visit))).default : null; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/compose-collection.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/compose-collection.js index 3f91468..9add89f 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/compose-collection.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/compose-collection.js @@ -66,8 +66,8 @@ function composeCollection(CN, ctx, token, props, onError) { tag = kt; } else { - if (kt?.collection) { - onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection}`, true); + if (kt) { + onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true); } else { onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/composer.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/composer.js index 0757495..df60391 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/composer.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/composer.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); var directives = require('../doc/directives.js'); var Document = require('../doc/Document.js'); var errors = require('../errors.js'); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/resolve-props.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/resolve-props.js index 4f61696..a3598c8 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/resolve-props.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/resolve-props.js @@ -74,8 +74,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (token.source.endsWith(':')) onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true); anchor = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; @@ -84,8 +83,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (tag) onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag'); tag = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/util-empty-scalar-position.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/util-empty-scalar-position.js index b2cd849..50fedb1 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/util-empty-scalar-position.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/compose/util-empty-scalar-position.js @@ -2,8 +2,7 @@ function emptyScalarPosition(offset, before, pos) { if (before) { - if (pos === null) - pos = before.length; + pos ?? (pos = before.length); for (let i = pos - 1; i >= 0; --i) { let st = before[i]; switch (st.type) { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/anchors.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/anchors.js index 223639a..68613fa 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/anchors.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/anchors.js @@ -41,8 +41,7 @@ function createNodeAnchors(doc, prefix) { return { onAnchor: (source) => { aliasObjects.push(source); - if (!prevAnchors) - prevAnchors = anchorNames(doc); + prevAnchors ?? (prevAnchors = anchorNames(doc)); const anchor = findNewAnchor(prefix, prevAnchors); prevAnchors.add(anchor); return anchor; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/createNode.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/createNode.js index 64dd31a..53522c6 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/createNode.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/doc/createNode.js @@ -40,8 +40,7 @@ function createNode(value, tagName, ctx) { if (aliasDuplicateObjects && value && typeof value === 'object') { ref = sourceObjects.get(value); if (ref) { - if (!ref.anchor) - ref.anchor = onAnchor(value); + ref.anchor ?? (ref.anchor = onAnchor(value)); return new Alias.Alias(ref.anchor); } else { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/log.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/log.js index 5d0b4c5..65f9950 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/log.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/log.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); function debug(logLevel, ...messages) { if (logLevel === 'debug') diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.d.ts b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.d.ts index 8b03c81..c48f40e 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.d.ts +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.d.ts @@ -23,7 +23,7 @@ export declare class Alias extends NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc: Document): Scalar | YAMLMap | YAMLSeq | undefined; + resolve(doc: Document, ctx?: ToJSContext): Scalar | YAMLMap | YAMLSeq | undefined; toJSON(_arg?: unknown, ctx?: ToJSContext): unknown; toString(ctx?: StringifyContext, _onComment?: () => void, _onChompKeep?: () => void): string; } diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.js index 46b37d9..a9fac7c 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/Alias.js @@ -20,23 +20,36 @@ class Alias extends Node.NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc) { + resolve(doc, ctx) { + let nodes; + if (ctx?.aliasResolveCache) { + nodes = ctx.aliasResolveCache; + } + else { + nodes = []; + visit.visit(doc, { + Node: (_key, node) => { + if (identity.isAlias(node) || identity.hasAnchor(node)) + nodes.push(node); + } + }); + if (ctx) + ctx.aliasResolveCache = nodes; + } let found = undefined; - visit.visit(doc, { - Node: (_key, node) => { - if (node === this) - return visit.visit.BREAK; - if (node.anchor === this.source) - found = node; - } - }); + for (const node of nodes) { + if (node === this) + break; + if (node.anchor === this.source) + found = node; + } return found; } toJSON(_arg, ctx) { if (!ctx) return { source: this.source }; const { anchors, doc, maxAliasCount } = ctx; - const source = this.resolve(doc); + const source = this.resolve(doc, ctx); if (!source) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(msg); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/addPairToJSMap.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/addPairToJSMap.js index 755468c..a8faa29 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/addPairToJSMap.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/addPairToJSMap.js @@ -39,6 +39,7 @@ function addPairToJSMap(ctx, map, { key, value }) { function stringifyKey(key, jsKey, ctx) { if (jsKey === null) return ''; + // eslint-disable-next-line @typescript-eslint/no-base-to-string if (typeof jsKey !== 'object') return String(jsKey); if (identity.isNode(key) && ctx?.doc) { diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/toJS.d.ts b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/toJS.d.ts index d51d631..d7e129e 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/toJS.d.ts +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/nodes/toJS.d.ts @@ -7,6 +7,8 @@ export interface AnchorData { } export interface ToJSContext { anchors: Map; + /** Cached anchor and alias nodes in the order they occur in the document */ + aliasResolveCache?: Node[]; doc: Document; keep: boolean; mapAsMap: boolean; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/parse/parser.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/parse/parser.js index 0e7caa6..d66ee5b 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/parse/parser.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/parse/parser.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); var cst = require('./cst.js'); var lexer = require('./lexer.js'); @@ -673,7 +673,20 @@ class Parser { default: { const bv = this.startBlockValue(map); if (bv) { - if (atMapIndent && bv.type !== 'block-seq') { + if (bv.type === 'block-seq') { + if (!it.explicitKey && + it.sep && + !includesToken(it.sep, 'newline')) { + yield* this.pop({ + type: 'error', + offset: this.offset, + message: 'Unexpected block-seq-ind on same line with key', + source: this.source + }); + return; + } + } + else if (atMapIndent) { map.items.push({ start }); } this.stack.push(bv); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/binary.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/binary.js index df78b64..e529d74 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/binary.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/binary.js @@ -1,6 +1,6 @@ 'use strict'; -var node_buffer = require('node:buffer'); +var node_buffer = require('buffer'); var Scalar = require('../../nodes/Scalar.js'); var stringifyString = require('../../stringify/stringifyString.js'); @@ -34,6 +34,8 @@ const binary = { } }, stringify({ comment, type, value }, ctx, onComment, onChompKeep) { + if (!value) + return ''; const buf = value; // checked earlier by binary.identify() let str; if (typeof node_buffer.Buffer === 'function') { @@ -51,8 +53,7 @@ const binary = { else { throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); } - if (!type) - type = Scalar.Scalar.BLOCK_LITERAL; + type ?? (type = Scalar.Scalar.BLOCK_LITERAL); if (type !== Scalar.Scalar.QUOTE_DOUBLE) { const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth); const n = Math.ceil(str.length / lineWidth); diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js index 7163570..982fd06 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js @@ -97,7 +97,7 @@ const timestamp = { } return new Date(date); }, - stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, '') + stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? '' }; exports.floatTime = floatTime; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringify.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringify.js index e10c08a..e6cc402 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringify.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringify.js @@ -70,7 +70,7 @@ function getTagObject(tags, item) { tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); } if (!tagObj) { - const name = obj?.constructor?.name ?? typeof obj; + const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj); throw new Error(`Tag not resolved for ${name} value`); } return tagObj; @@ -85,7 +85,7 @@ function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) { anchors$1.add(anchor); props.push(`&${anchor}`); } - const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag; + const tag = node.tag ?? (tagObj.default ? null : tagObj.tag); if (tag) props.push(doc.directives.tagString(tag)); return props.join(' '); @@ -111,8 +111,7 @@ function stringify(item, ctx, onComment, onChompKeep) { const node = identity.isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) }); - if (!tagObj) - tagObj = getTagObject(ctx.doc.schema.tags, node); + tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node)); const props = stringifyProps(node, tagObj, ctx); if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1; diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringifyString.js b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringifyString.js index 67252ce..2caadc6 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringifyString.js +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/dist/stringify/stringifyString.js @@ -161,7 +161,7 @@ function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { const { blockQuote, commentString, lineWidth } = ctx.options; // 1. Block can't end in whitespace unless the last line is non-empty. // 2. Strings consisting of only whitespace are best rendered explicitly. - if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + if (!blockQuote || /\n[\t ]+$/.test(value)) { return quotedString(value, ctx); } const indent = ctx.indent || @@ -255,10 +255,9 @@ function plainString(item, ctx, onComment, onChompKeep) { (inFlow && /[[\]{},]/.test(value))) { return quotedString(value, ctx); } - if (!value || - /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { // not allowed: - // - empty string, '-' or '?' + // - '-' or '?' // - start with an indicator character (except [?:-]) or /[?-] / // - '\n ', ': ' or ' \n' anywhere // - '#' not preceded by a non-space char diff --git a/.github/actions/prepare-dynamic-steps/node_modules/yaml/package.json b/.github/actions/prepare-dynamic-steps/node_modules/yaml/package.json index b7fbff4..1c43f12 100644 --- a/.github/actions/prepare-dynamic-steps/node_modules/yaml/package.json +++ b/.github/actions/prepare-dynamic-steps/node_modules/yaml/package.json @@ -1,6 +1,6 @@ { "name": "yaml", - "version": "2.7.0", + "version": "2.8.1", "license": "ISC", "author": "Eemeli Aro ", "repository": "github:eemeli/yaml", @@ -83,6 +83,7 @@ "eslint-config-prettier": "^9.0.0", "fast-check": "^2.12.0", "jest": "^29.0.1", + "jest-resolve": "^29.7.0", "jest-ts-webcompat-resolver": "^1.0.0", "prettier": "^3.0.2", "rollup": "^4.12.0", @@ -91,6 +92,6 @@ "typescript-eslint": "^8.4.0" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } diff --git a/.github/actions/prepare-dynamic-steps/npm-shrinkwrap.json b/.github/actions/prepare-dynamic-steps/npm-shrinkwrap.json index 8a83280..134a5c3 100644 --- a/.github/actions/prepare-dynamic-steps/npm-shrinkwrap.json +++ b/.github/actions/prepare-dynamic-steps/npm-shrinkwrap.json @@ -13,8 +13,8 @@ "yaml": "^2.0.0" }, "engines": { - "node": "^20", - "npm": "^10" + "node": "^24", + "npm": "^11" } }, "node_modules/@actions/core": { @@ -71,9 +71,9 @@ } }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" @@ -83,15 +83,15 @@ } }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } } diff --git a/.github/actions/prepare-dynamic-steps/package.json b/.github/actions/prepare-dynamic-steps/package.json index cfac59e..c18cd84 100644 --- a/.github/actions/prepare-dynamic-steps/package.json +++ b/.github/actions/prepare-dynamic-steps/package.json @@ -13,8 +13,8 @@ "author": "@pkgjs", "license": "MIT", "engines": { - "node": "^20", - "npm": "^10 || ^11" + "node": "^24", + "npm": "^11" }, "dependencies": { "@actions/core": "^1.6.0", diff --git a/.github/actions/prepare-node-test-matrix-action/.nvmrc b/.github/actions/prepare-node-test-matrix-action/.nvmrc index 209e3ef..a45fd52 100644 --- a/.github/actions/prepare-node-test-matrix-action/.nvmrc +++ b/.github/actions/prepare-node-test-matrix-action/.nvmrc @@ -1 +1 @@ -20 +24 diff --git a/.github/actions/prepare-node-test-matrix-action/action.yaml b/.github/actions/prepare-node-test-matrix-action/action.yaml index 753e31b..181d527 100644 --- a/.github/actions/prepare-node-test-matrix-action/action.yaml +++ b/.github/actions/prepare-node-test-matrix-action/action.yaml @@ -3,7 +3,7 @@ name: Node.js test matrix generator action description: Returns an array of Node.js major versions based on an upgrade policy and package.json runs: - using: node20 + using: node24 main: index.js inputs: diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/.package-lock.json b/.github/actions/prepare-node-test-matrix-action/node_modules/.package-lock.json index 492bd91..697f3cd 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/.package-lock.json +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/.package-lock.json @@ -49,9 +49,9 @@ } }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -70,9 +70,9 @@ } }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" @@ -82,15 +82,15 @@ } }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } } diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/README.md b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/README.md index ede7b7d..e952215 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/README.md +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/README.md @@ -100,7 +100,7 @@ Options: -i --increment [] Increment a version by the specified level. Level can be one of: major, minor, patch, premajor, preminor, - prepatch, or prerelease. Default level is 'patch'. + prepatch, prerelease, or release. Default level is 'patch'. Only one version may be specified. --preid @@ -141,6 +141,8 @@ A "version" is described by the `v2.0.0` specification found at . A leading `"="` or `"v"` character is stripped off and ignored. +Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer +specification but should not be used anymore. ## Ranges @@ -237,6 +239,13 @@ $ semver 1.2.4-beta.0 -i prerelease 1.2.4-beta.1 ``` +To get out of the prerelease phase, use the `release` option: + +```bash +$ semver 1.2.4-beta.1 -i release +1.2.4 +``` + #### Prerelease Identifier Base The method `.inc` takes an optional parameter 'identifierBase' string @@ -415,10 +424,10 @@ Strict-mode Comparators and Ranges will be strict about the SemVer strings that they parse. * `valid(v)`: Return the parsed version, or null if it's not valid. -* `inc(v, release, options, identifier, identifierBase)`: +* `inc(v, releaseType, options, identifier, identifierBase)`: Return the version incremented by the release type (`major`, `premajor`, `minor`, `preminor`, `patch`, - `prepatch`, or `prerelease`), or null if it's not valid + `prepatch`, `prerelease`, or `release`), or null if it's not valid * `premajor` in one call will bump the version up to the next major version and down to a prerelease of that major version. `preminor`, and `prepatch` work the same way. @@ -426,6 +435,7 @@ strings that they parse. same as `prepatch`. It increments the patch version and then makes a prerelease. If the input version is already a prerelease it simply increments it. + * `release` will remove any prerelease part of the version. * `identifier` can be used to prefix `premajor`, `preminor`, `prepatch`, or `prerelease` version increments. `identifierBase` is the base to be used for the `prerelease` identifier. @@ -477,7 +487,7 @@ strings that they parse. ### Ranges -* `validRange(range)`: Return the valid range or null if it's not valid +* `validRange(range)`: Return the valid range or null if it's not valid. * `satisfies(version, range)`: Return true if the version satisfies the range. * `maxSatisfying(versions, range)`: Return the highest version in the list diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/bin/semver.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/bin/semver.js index f62b566..dbb1bf5 100755 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/bin/semver.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/bin/semver.js @@ -3,6 +3,8 @@ // Exits successfully and prints matching version(s) if // any supplied version is valid and passes all tests. +'use strict' + const argv = process.argv.slice(2) let versions = [] @@ -61,6 +63,7 @@ const main = () => { switch (argv[0]) { case 'major': case 'minor': case 'patch': case 'prerelease': case 'premajor': case 'preminor': case 'prepatch': + case 'release': inc = argv.shift() break default: @@ -149,7 +152,7 @@ Options: -i --increment [] Increment a version by the specified level. Level can be one of: major, minor, patch, premajor, preminor, - prepatch, or prerelease. Default level is 'patch'. + prepatch, prerelease, or release. Default level is 'patch'. Only one version may be specified. --preid diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/comparator.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/comparator.js index 3d39c0e..647c1f0 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/comparator.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/comparator.js @@ -1,3 +1,5 @@ +'use strict' + const ANY = Symbol('SemVer ANY') // hoisted class for cyclic dependency class Comparator { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/index.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/index.js index 5e3f5c9..91c24ec 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/index.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/index.js @@ -1,3 +1,5 @@ +'use strict' + module.exports = { SemVer: require('./semver.js'), Range: require('./range.js'), diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/range.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/range.js index ceee231..94629ce 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/range.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/range.js @@ -1,3 +1,5 @@ +'use strict' + const SPACE_CHARACTERS = /\s+/g // hoisted class for cyclic dependency @@ -253,6 +255,7 @@ const isSatisfiable = (comparators, options) => { // already replaced the hyphen ranges // turn into a set of JUST comparators. const parseComparator = (comp, options) => { + comp = comp.replace(re[t.BUILD], '') debug('comp', comp, options) comp = replaceCarets(comp, options) debug('caret', comp) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/semver.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/semver.js index 13e66ce..92254be 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/semver.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/classes/semver.js @@ -1,3 +1,5 @@ +'use strict' + const debug = require('../internal/debug') const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') const { safeRe: re, t } = require('../internal/re') @@ -10,7 +12,7 @@ class SemVer { if (version instanceof SemVer) { if (version.loose === !!options.loose && - version.includePrerelease === !!options.includePrerelease) { + version.includePrerelease === !!options.includePrerelease) { return version } else { version = version.version @@ -109,11 +111,25 @@ class SemVer { other = new SemVer(other, this.options) } - return ( - compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch) - ) + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 } comparePre (other) { @@ -176,6 +192,19 @@ class SemVer { // preminor will bump the version up to the next minor release, and immediately // down to pre-release. premajor and prepatch work the same way. inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + switch (release) { case 'premajor': this.prerelease.length = 0 @@ -206,6 +235,12 @@ class SemVer { } this.inc('pre', identifier, identifierBase) break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0 + break case 'major': // If this is a pre-major version, bump up to the same major version. @@ -249,10 +284,6 @@ class SemVer { case 'pre': { const base = Number(identifierBase) ? 1 : 0 - if (!identifier && identifierBase === false) { - throw new Error('invalid increment argument: identifier is empty') - } - if (this.prerelease.length === 0) { this.prerelease = [base] } else { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/clean.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/clean.js index 811fe6b..79703d6 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/clean.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/clean.js @@ -1,3 +1,5 @@ +'use strict' + const parse = require('./parse') const clean = (version, options) => { const s = parse(version.trim().replace(/^[=v]+/, ''), options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/cmp.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/cmp.js index 4011909..77487dc 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/cmp.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/cmp.js @@ -1,3 +1,5 @@ +'use strict' + const eq = require('./eq') const neq = require('./neq') const gt = require('./gt') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/coerce.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/coerce.js index b378dce..cfe0275 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/coerce.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/coerce.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const parse = require('./parse') const { safeRe: re, t } = require('../internal/re') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-build.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-build.js index 9eb881b..99157cf 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-build.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-build.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const compareBuild = (a, b, loose) => { const versionA = new SemVer(a, loose) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-loose.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-loose.js index 4881fbe..7531634 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-loose.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare-loose.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const compareLoose = (a, b) => compare(a, b, true) module.exports = compareLoose diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare.js index 748b7af..63d8090 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/compare.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/diff.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/diff.js index fc224e3..04e064e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/diff.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/diff.js @@ -1,3 +1,5 @@ +'use strict' + const parse = require('./parse.js') const diff = (version1, version2) => { @@ -27,20 +29,13 @@ const diff = (version1, version2) => { return 'major' } - // Otherwise it can be determined by checking the high version - - if (highVersion.patch) { - // anything higher than a patch bump would result in the wrong version + // If the main part has no difference + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return 'minor' + } return 'patch' } - - if (highVersion.minor) { - // anything higher than a minor bump would result in the wrong version - return 'minor' - } - - // bumping major/minor/patch all have same result - return 'major' } // add the `pre` prefix if we are going to a prerelease version diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/eq.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/eq.js index 271fed9..5f0eead 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/eq.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/eq.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const eq = (a, b, loose) => compare(a, b, loose) === 0 module.exports = eq diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gt.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gt.js index d9b2156..84a57dd 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gt.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gt.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const gt = (a, b, loose) => compare(a, b, loose) > 0 module.exports = gt diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gte.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gte.js index 5aeaa63..7c52bdf 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gte.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/gte.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const gte = (a, b, loose) => compare(a, b, loose) >= 0 module.exports = gte diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/inc.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/inc.js index 7670b1b..ff999e9 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/inc.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/inc.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const inc = (version, release, options, identifier, identifierBase) => { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lt.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lt.js index b440ab7..2fb32a0 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lt.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lt.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const lt = (a, b, loose) => compare(a, b, loose) < 0 module.exports = lt diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lte.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lte.js index 6dcc956..da9ee8f 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lte.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/lte.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const lte = (a, b, loose) => compare(a, b, loose) <= 0 module.exports = lte diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/major.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/major.js index 4283165..e6d08dc 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/major.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/major.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const major = (a, loose) => new SemVer(a, loose).major module.exports = major diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/minor.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/minor.js index 57b3455..9e70ffd 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/minor.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/minor.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const minor = (a, loose) => new SemVer(a, loose).minor module.exports = minor diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/neq.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/neq.js index f944c01..84326b7 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/neq.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/neq.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const neq = (a, b, loose) => compare(a, b, loose) !== 0 module.exports = neq diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/parse.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/parse.js index 459b3b1..d544d33 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/parse.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/parse.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const parse = (version, options, throwErrors = false) => { if (version instanceof SemVer) { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/patch.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/patch.js index 63afca2..7675162 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/patch.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/patch.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const patch = (a, loose) => new SemVer(a, loose).patch module.exports = patch diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/prerelease.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/prerelease.js index 06aa132..b8fe1db 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/prerelease.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/prerelease.js @@ -1,3 +1,5 @@ +'use strict' + const parse = require('./parse') const prerelease = (version, options) => { const parsed = parse(version, options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rcompare.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rcompare.js index 0ac509e..8e1c222 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rcompare.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rcompare.js @@ -1,3 +1,5 @@ +'use strict' + const compare = require('./compare') const rcompare = (a, b, loose) => compare(b, a, loose) module.exports = rcompare diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rsort.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rsort.js index 82404c5..5d3d200 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rsort.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/rsort.js @@ -1,3 +1,5 @@ +'use strict' + const compareBuild = require('./compare-build') const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) module.exports = rsort diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/satisfies.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/satisfies.js index 50af1c1..a0264a2 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/satisfies.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/satisfies.js @@ -1,3 +1,5 @@ +'use strict' + const Range = require('../classes/range') const satisfies = (version, range, options) => { try { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/sort.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/sort.js index 4d10917..edb24b1 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/sort.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/sort.js @@ -1,3 +1,5 @@ +'use strict' + const compareBuild = require('./compare-build') const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) module.exports = sort diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/valid.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/valid.js index f27bae1..0db67ed 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/valid.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/functions/valid.js @@ -1,3 +1,5 @@ +'use strict' + const parse = require('./parse') const valid = (version, options) => { const v = parse(version, options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/index.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/index.js index 86d42ac..285662a 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/index.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/index.js @@ -1,3 +1,5 @@ +'use strict' + // just pre-load all the stuff that index.js lazily exports const internalRe = require('./internal/re') const constants = require('./internal/constants') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/constants.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/constants.js index 94be1c5..6d1db91 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/constants.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/constants.js @@ -1,3 +1,5 @@ +'use strict' + // Note: this is the semver.org version of the spec that it implements // Not necessarily the package version of this code. const SEMVER_SPEC_VERSION = '2.0.0' diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/debug.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/debug.js index 1c00e13..20d1e9d 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/debug.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/debug.js @@ -1,3 +1,5 @@ +'use strict' + const debug = ( typeof process === 'object' && process.env && diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/identifiers.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/identifiers.js index e612d0a..d053472 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/identifiers.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/identifiers.js @@ -1,5 +1,11 @@ +'use strict' + const numeric = /^[0-9]+$/ const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + const anum = numeric.test(a) const bnum = numeric.test(b) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/lrucache.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/lrucache.js index 6d89ec9..b8bf526 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/lrucache.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/lrucache.js @@ -1,3 +1,5 @@ +'use strict' + class LRUCache { constructor () { this.max = 1000 diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/parse-options.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/parse-options.js index 10d64ce..5295454 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/parse-options.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/parse-options.js @@ -1,3 +1,5 @@ +'use strict' + // parse out just the options we care about const looseOption = Object.freeze({ loose: true }) const emptyOpts = Object.freeze({ }) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/re.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/re.js index fd8920e..4758c58 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/re.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/internal/re.js @@ -1,3 +1,5 @@ +'use strict' + const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, @@ -10,6 +12,7 @@ exports = module.exports = {} const re = exports.re = [] const safeRe = exports.safeRe = [] const src = exports.src = [] +const safeSrc = exports.safeSrc = [] const t = exports.t = {} let R = 0 @@ -42,6 +45,7 @@ const createToken = (name, value, isGlobal) => { debug(name, index, value) t[name] = index src[index] = value + safeSrc[index] = safe re[index] = new RegExp(value, isGlobal ? 'g' : undefined) safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) } @@ -74,12 +78,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + // ## Pre-release Version Identifier // A numeric identifier, or a non-numeric identifier. +// Non-numberic identifiers include numberic identifiers but can be longer. +// Therefore non-numberic identifiers must go first. -createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) -createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) // ## Pre-release Version // Hyphen, followed by one or more dot-separated pre-release version diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/package.json b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/package.json index 663d370..2b8cada 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/package.json +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/package.json @@ -1,20 +1,21 @@ { "name": "semver", - "version": "7.6.3", + "version": "7.7.3", "description": "The semantic version parser used by npm.", "main": "index.js", "scripts": { "test": "tap", "snap": "tap", - "lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"", + "lint": "npm run eslint", "postlint": "template-oss-check", - "lintfix": "npm run lint -- --fix", + "lintfix": "npm run eslint -- --fix", "posttest": "npm run lint", - "template-oss-apply": "template-oss-apply --force" + "template-oss-apply": "template-oss-apply --force", + "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" }, "devDependencies": { - "@npmcli/eslint-config": "^4.0.0", - "@npmcli/template-oss": "4.22.0", + "@npmcli/eslint-config": "^5.0.0", + "@npmcli/template-oss": "4.25.1", "benchmark": "^2.1.4", "tap": "^16.0.0" }, @@ -51,7 +52,7 @@ "author": "GitHub Inc.", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.22.0", + "version": "4.25.1", "engines": ">=10", "distPaths": [ "classes/", diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/preload.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/preload.js index 947cd4f..e6c47b9 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/preload.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/preload.js @@ -1,2 +1,4 @@ +'use strict' + // XXX remove in v8 or beyond module.exports = require('./index.js') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/gtr.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/gtr.js index db7e355..0e7601f 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/gtr.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/gtr.js @@ -1,3 +1,5 @@ +'use strict' + // Determine if version is greater than all the versions possible in the range. const outside = require('./outside') const gtr = (version, range, options) => outside(version, range, '>', options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/intersects.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/intersects.js index e0e9b7c..917be7e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/intersects.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/intersects.js @@ -1,3 +1,5 @@ +'use strict' + const Range = require('../classes/range') const intersects = (r1, r2, options) => { r1 = new Range(r1, options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/ltr.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/ltr.js index 528a885..aa5e568 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/ltr.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/ltr.js @@ -1,3 +1,5 @@ +'use strict' + const outside = require('./outside') // Determine if version is less than all the versions possible in the range const ltr = (version, range, options) => outside(version, range, '<', options) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/max-satisfying.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/max-satisfying.js index 6e3d993..01fe5ae 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/max-satisfying.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/max-satisfying.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const Range = require('../classes/range') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-satisfying.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-satisfying.js index 9b60974..af89c8e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-satisfying.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-satisfying.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const Range = require('../classes/range') const minSatisfying = (versions, range, options) => { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-version.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-version.js index 350e1f7..09a65aa 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-version.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/min-version.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const Range = require('../classes/range') const gt = require('../functions/gt') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/outside.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/outside.js index ae99b10..ca74421 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/outside.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/outside.js @@ -1,3 +1,5 @@ +'use strict' + const SemVer = require('../classes/semver') const Comparator = require('../classes/comparator') const { ANY } = Comparator diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/simplify.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/simplify.js index 618d5b6..262732e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/simplify.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/simplify.js @@ -1,3 +1,5 @@ +'use strict' + // given a set of versions and a range, create a "simplified" range // that includes the same versions that the original range does // If the original range is shorter than the simplified one, return that. diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/subset.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/subset.js index 1e5c268..2c49aef 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/subset.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/subset.js @@ -1,3 +1,5 @@ +'use strict' + const Range = require('../classes/range.js') const Comparator = require('../classes/comparator.js') const { ANY } = Comparator diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/to-comparators.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/to-comparators.js index 6c8bc7e..5be2519 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/to-comparators.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/to-comparators.js @@ -1,3 +1,5 @@ +'use strict' + const Range = require('../classes/range') // Mostly just for testing and legacy API reasons diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/valid.js b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/valid.js index 365f356..cc6b0e9 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/valid.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/semver/ranges/valid.js @@ -1,3 +1,5 @@ +'use strict' + const Range = require('../classes/range') const validRange = (range, options) => { try { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/index.js b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/index.js index c9c1f28..f867b19 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/index.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/index.js @@ -1,7 +1,7 @@ 'use strict' const { parseSetCookie } = require('./parse') -const { stringify, getHeadersList } = require('./util') +const { stringify } = require('./util') const { webidl } = require('../fetch/webidl') const { Headers } = require('../fetch/headers') @@ -77,14 +77,13 @@ function getSetCookies (headers) { webidl.brandCheck(headers, Headers, { strict: false }) - const cookies = getHeadersList(headers).cookies + const cookies = headers.getSetCookie() if (!cookies) { return [] } - // In older versions of undici, cookies is a list of name:value. - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)) + return cookies.map((pair) => parseSetCookie(pair)) } /** diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/util.js b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/util.js index 2290329..be3ccbe 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/util.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/cookies/util.js @@ -1,8 +1,9 @@ 'use strict' -const assert = require('assert') -const { kHeadersList } = require('../core/symbols') - +/** + * @param {string} value + * @returns {boolean} + */ function isCTLExcludingHtab (value) { if (value.length === 0) { return false @@ -263,29 +264,11 @@ function stringify (cookie) { return out.join('; ') } -let kHeadersListNode - -function getHeadersList (headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList] - } - - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === 'headers list' - ) - - assert(kHeadersListNode, 'Headers cannot be parsed') - } - - const headersList = headers[kHeadersListNode] - assert(headersList) - - return headersList -} - module.exports = { isCTLExcludingHtab, - stringify, - getHeadersList + validateCookieName, + validateCookiePath, + validateCookieValue, + toIMFDate, + stringify } diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/fetch/headers.js b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/fetch/headers.js index 2f1c0be..fcab732 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/fetch/headers.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/fetch/headers.js @@ -10,6 +10,7 @@ const { isValidHeaderName, isValidHeaderValue } = require('./util') +const util = require('util') const { webidl } = require('./webidl') const assert = require('assert') @@ -563,6 +564,9 @@ Object.defineProperties(Headers.prototype, { [Symbol.toStringTag]: { value: 'Headers', configurable: true + }, + [util.inspect.custom]: { + enumerable: false } }) diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/pool.js b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/pool.js index e3cd339..86b29d4 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/pool.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/lib/pool.js @@ -73,6 +73,20 @@ class Pool extends PoolBase { ? { ...options.interceptors } : undefined this[kFactory] = factory + + this.on('connectionError', (origin, targets, error) => { + // If a connection error occurs, we remove the client from the pool, + // and emit a connectionError event. They will not be re-used. + // Fixes https://github.com/nodejs/undici/issues/3895 + for (const target of targets) { + // Do not use kRemoveClient here, as it will close the client, + // but the client cannot be closed in this state. + const idx = this[kClients].indexOf(target) + if (idx !== -1) { + this[kClients].splice(idx, 1) + } + } + }) } [kGetDispatcher] () { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/package.json b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/package.json index 0c6b71e..738688d 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/undici/package.json +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/undici/package.json @@ -1,6 +1,6 @@ { "name": "undici", - "version": "5.28.5", + "version": "5.29.0", "description": "An HTTP/1.1 client, written from scratch for Node.js", "homepage": "https://undici.nodejs.org", "bugs": { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/README.md b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/README.md index a5bdcba..1613c1d 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/README.md +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/README.md @@ -20,34 +20,18 @@ This requirement may be updated between minor versions of the library. For more information, see the project's documentation site: [**eemeli.org/yaml**](https://eemeli.org/yaml/) +For build instructions and contribution guidelines, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). + To install: ```sh npm install yaml +# or +deno add jsr:@eemeli/yaml ``` **Note:** These docs are for `yaml@2`. For v1, see the [v1.10.0 tag](https://github.com/eemeli/yaml/tree/v1.10.0) for the source and [eemeli.org/yaml/v1](https://eemeli.org/yaml/v1/) for the documentation. -The development and maintenance of this library is [sponsored](https://github.com/sponsors/eemeli) by: - -

- Scipress -     - Manifest -

- ## API Overview The API provided by `yaml` has three layers, depending on how deep you need to go: [Parse & Stringify](https://eemeli.org/yaml/#parse-amp-stringify), [Documents](https://eemeli.org/yaml/#documents), and the underlying [Lexer/Parser/Composer](https://eemeli.org/yaml/#parsing-yaml). diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/compose-collection.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/compose-collection.js index b80fba2..5ecf796 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/compose-collection.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/compose-collection.js @@ -64,8 +64,8 @@ function composeCollection(CN, ctx, token, props, onError) { tag = kt; } else { - if (kt?.collection) { - onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection}`, true); + if (kt) { + onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true); } else { onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/resolve-props.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/resolve-props.js index b348b79..b6336e1 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/resolve-props.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/resolve-props.js @@ -72,8 +72,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (token.source.endsWith(':')) onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true); anchor = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; @@ -82,8 +81,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (tag) onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag'); tag = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js index ab6e0c9..26f238c 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js @@ -1,7 +1,6 @@ function emptyScalarPosition(offset, before, pos) { if (before) { - if (pos === null) - pos = before.length; + pos ?? (pos = before.length); for (let i = pos - 1; i >= 0; --i) { let st = before[i]; switch (st.type) { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/anchors.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/anchors.js index 03c2442..64810d1 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/anchors.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/anchors.js @@ -39,8 +39,7 @@ function createNodeAnchors(doc, prefix) { return { onAnchor: (source) => { aliasObjects.push(source); - if (!prevAnchors) - prevAnchors = anchorNames(doc); + prevAnchors ?? (prevAnchors = anchorNames(doc)); const anchor = findNewAnchor(prefix, prevAnchors); prevAnchors.add(anchor); return anchor; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/createNode.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/createNode.js index 1392269..ddcc211 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/createNode.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/doc/createNode.js @@ -38,8 +38,7 @@ function createNode(value, tagName, ctx) { if (aliasDuplicateObjects && value && typeof value === 'object') { ref = sourceObjects.get(value); if (ref) { - if (!ref.anchor) - ref.anchor = onAnchor(value); + ref.anchor ?? (ref.anchor = onAnchor(value)); return new Alias(ref.anchor); } else { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/Alias.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/Alias.js index 8e34f09..7a638ba 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/Alias.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/Alias.js @@ -1,6 +1,6 @@ import { anchorIsValid } from '../doc/anchors.js'; import { visit } from '../visit.js'; -import { ALIAS, isAlias, isCollection, isPair } from './identity.js'; +import { ALIAS, isAlias, isCollection, isPair, hasAnchor } from './identity.js'; import { NodeBase } from './Node.js'; import { toJS } from './toJS.js'; @@ -18,23 +18,36 @@ class Alias extends NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc) { + resolve(doc, ctx) { + let nodes; + if (ctx?.aliasResolveCache) { + nodes = ctx.aliasResolveCache; + } + else { + nodes = []; + visit(doc, { + Node: (_key, node) => { + if (isAlias(node) || hasAnchor(node)) + nodes.push(node); + } + }); + if (ctx) + ctx.aliasResolveCache = nodes; + } let found = undefined; - visit(doc, { - Node: (_key, node) => { - if (node === this) - return visit.BREAK; - if (node.anchor === this.source) - found = node; - } - }); + for (const node of nodes) { + if (node === this) + break; + if (node.anchor === this.source) + found = node; + } return found; } toJSON(_arg, ctx) { if (!ctx) return { source: this.source }; const { anchors, doc, maxAliasCount } = ctx; - const source = this.resolve(doc); + const source = this.resolve(doc, ctx); if (!source) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(msg); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/YAMLMap.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/YAMLMap.js index 5d88737..6c6a504 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/YAMLMap.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/YAMLMap.js @@ -1,7 +1,7 @@ import { stringifyCollection } from '../stringify/stringifyCollection.js'; import { addPairToJSMap } from './addPairToJSMap.js'; import { Collection } from './Collection.js'; -import { isPair, isScalar, MAP } from './identity.js'; +import { MAP, isPair, isScalar } from './identity.js'; import { Pair, createPair } from './Pair.js'; import { isScalarValue } from './Scalar.js'; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js index 53f7858..8e671cb 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js @@ -37,6 +37,7 @@ function addPairToJSMap(ctx, map, { key, value }) { function stringifyKey(key, jsKey, ctx) { if (jsKey === null) return ''; + // eslint-disable-next-line @typescript-eslint/no-base-to-string if (typeof jsKey !== 'object') return String(jsKey); if (isNode(key) && ctx?.doc) { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/parse/parser.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/parse/parser.js index 0cd7d1a..45a384a 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/parse/parser.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/parse/parser.js @@ -668,7 +668,20 @@ class Parser { default: { const bv = this.startBlockValue(map); if (bv) { - if (atMapIndent && bv.type !== 'block-seq') { + if (bv.type === 'block-seq') { + if (!it.explicitKey && + it.sep && + !includesToken(it.sep, 'newline')) { + yield* this.pop({ + type: 'error', + offset: this.offset, + message: 'Unexpected block-seq-ind on same line with key', + source: this.source + }); + return; + } + } + else if (atMapIndent) { map.items.push({ start }); } this.stack.push(bv); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/tags.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/tags.js index ba52c35..5acd99f 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/tags.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/tags.js @@ -3,8 +3,8 @@ import { nullTag } from './common/null.js'; import { seq } from './common/seq.js'; import { string } from './common/string.js'; import { boolTag } from './core/bool.js'; -import { float, floatExp, floatNaN } from './core/float.js'; -import { int, intHex, intOct } from './core/int.js'; +import { floatNaN, floatExp, float } from './core/float.js'; +import { intOct, intHex, int } from './core/int.js'; import { schema } from './core/schema.js'; import { schema as schema$1 } from './json/schema.js'; import { binary } from './yaml-1.1/binary.js'; @@ -13,7 +13,7 @@ import { omap } from './yaml-1.1/omap.js'; import { pairs } from './yaml-1.1/pairs.js'; import { schema as schema$2 } from './yaml-1.1/schema.js'; import { set } from './yaml-1.1/set.js'; -import { timestamp, floatTime, intTime } from './yaml-1.1/timestamp.js'; +import { timestamp, intTime, floatTime } from './yaml-1.1/timestamp.js'; const schemas = new Map([ ['core', schema], diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js index de5cce6..2deda7a 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js @@ -28,6 +28,8 @@ const binary = { } }, stringify({ comment, type, value }, ctx, onComment, onChompKeep) { + if (!value) + return ''; const buf = value; // checked earlier by binary.identify() let str; if (typeof btoa === 'function') { @@ -39,8 +41,7 @@ const binary = { else { throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); } - if (!type) - type = Scalar.BLOCK_LITERAL; + type ?? (type = Scalar.BLOCK_LITERAL); if (type !== Scalar.QUOTE_DOUBLE) { const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth); const n = Math.ceil(str.length / lineWidth); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js index 18e3020..579f080 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js @@ -1,5 +1,5 @@ import { isSeq, isPair, isMap } from '../../nodes/identity.js'; -import { Pair, createPair } from '../../nodes/Pair.js'; +import { createPair, Pair } from '../../nodes/Pair.js'; import { Scalar } from '../../nodes/Scalar.js'; import { YAMLSeq } from '../../nodes/YAMLSeq.js'; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js index 66daec4..77e3dbe 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js @@ -95,7 +95,7 @@ const timestamp = { } return new Date(date); }, - stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, '') + stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? '' }; export { floatTime, intTime, timestamp }; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringify.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringify.js index ad15d8f..7d27bf4 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringify.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringify.js @@ -68,7 +68,7 @@ function getTagObject(tags, item) { tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); } if (!tagObj) { - const name = obj?.constructor?.name ?? typeof obj; + const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj); throw new Error(`Tag not resolved for ${name} value`); } return tagObj; @@ -83,7 +83,7 @@ function stringifyProps(node, tagObj, { anchors, doc }) { anchors.add(anchor); props.push(`&${anchor}`); } - const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag; + const tag = node.tag ?? (tagObj.default ? null : tagObj.tag); if (tag) props.push(doc.directives.tagString(tag)); return props.join(' '); @@ -109,8 +109,7 @@ function stringify(item, ctx, onComment, onChompKeep) { const node = isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) }); - if (!tagObj) - tagObj = getTagObject(ctx.doc.schema.tags, node); + tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node)); const props = stringifyProps(node, tagObj, ctx); if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringifyString.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringifyString.js index e19b3d4..1591ce6 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringifyString.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/browser/dist/stringify/stringifyString.js @@ -1,5 +1,5 @@ import { Scalar } from '../nodes/Scalar.js'; -import { foldFlowLines, FOLD_QUOTED, FOLD_FLOW, FOLD_BLOCK } from './foldFlowLines.js'; +import { foldFlowLines, FOLD_FLOW, FOLD_QUOTED, FOLD_BLOCK } from './foldFlowLines.js'; const getFoldOptions = (ctx, isBlock) => ({ indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart, @@ -159,7 +159,7 @@ function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { const { blockQuote, commentString, lineWidth } = ctx.options; // 1. Block can't end in whitespace unless the last line is non-empty. // 2. Strings consisting of only whitespace are best rendered explicitly. - if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + if (!blockQuote || /\n[\t ]+$/.test(value)) { return quotedString(value, ctx); } const indent = ctx.indent || @@ -253,10 +253,9 @@ function plainString(item, ctx, onComment, onChompKeep) { (inFlow && /[[\]{},]/.test(value))) { return quotedString(value, ctx); } - if (!value || - /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { // not allowed: - // - empty string, '-' or '?' + // - '-' or '?' // - start with an indicator character (except [?:-]) or /[?-] / // - '\n ', ': ' or ' \n' anywhere // - '#' not preceded by a non-space char diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.d.ts b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.d.ts index 7e2ea2a..4007923 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.d.ts +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.d.ts @@ -1,4 +1,4 @@ -export declare const help = "yaml: A command-line YAML processor and inspector\n\nReads stdin and writes output to stdout and errors & warnings to stderr.\n\nUsage:\n yaml Process a YAML stream, outputting it as YAML\n yaml cst Parse the CST of a YAML stream\n yaml lex Parse the lexical tokens of a YAML stream\n yaml valid Validate a YAML stream, returning 0 on success\n\nOptions:\n --help, -h Show this message.\n --json, -j Output JSON.\n --indent 2 Output pretty-printed data, indented by the given number of spaces.\n\nAdditional options for bare \"yaml\" command:\n --doc, -d Output pretty-printed JS Document objects.\n --single, -1 Require the input to consist of a single YAML document.\n --strict, -s Stop on errors.\n --visit, -v Apply a visitor to each document (requires a path to import)\n --yaml 1.1 Set the YAML version. (default: 1.2)"; +export declare const help = "yaml: A command-line YAML processor and inspector\n\nReads stdin and writes output to stdout and errors & warnings to stderr.\n\nUsage:\n yaml Process a YAML stream, outputting it as YAML\n yaml cst Parse the CST of a YAML stream\n yaml lex Parse the lexical tokens of a YAML stream\n yaml valid Validate a YAML stream, returning 0 on success\n\nOptions:\n --help, -h Show this message.\n --json, -j Output JSON.\n --indent 2 Output pretty-printed data, indented by the given number of spaces.\n --merge, -m Enable support for \"<<\" merge keys.\n\nAdditional options for bare \"yaml\" command:\n --doc, -d Output pretty-printed JS Document objects.\n --single, -1 Require the input to consist of a single YAML document.\n --strict, -s Stop on errors.\n --visit, -v Apply a visitor to each document (requires a path to import)\n --yaml 1.1 Set the YAML version. (default: 1.2)"; export declare class UserError extends Error { static ARGS: number; static SINGLE: number; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.mjs b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.mjs index d3c7d43..639cca4 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.mjs +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/cli.mjs @@ -1,5 +1,5 @@ -import { resolve } from 'node:path'; -import { parseArgs } from 'node:util'; +import { resolve } from 'path'; +import { parseArgs } from 'util'; import { prettyToken } from './parse/cst.js'; import { Lexer } from './parse/lexer.js'; import { Parser } from './parse/parser.js'; @@ -23,6 +23,7 @@ Options: --help, -h Show this message. --json, -j Output JSON. --indent 2 Output pretty-printed data, indented by the given number of spaces. + --merge, -m Enable support for "<<" merge keys. Additional options for bare "yaml" command: --doc, -d Output pretty-printed JS Document objects. @@ -48,6 +49,7 @@ async function cli(stdin, done, argv) { doc: { type: 'boolean', short: 'd' }, help: { type: 'boolean', short: 'h' }, indent: { type: 'string', short: 'i' }, + merge: { type: 'boolean', short: 'm' }, json: { type: 'boolean', short: 'j' }, single: { type: 'boolean', short: '1' }, strict: { type: 'boolean', short: 's' }, @@ -117,7 +119,7 @@ async function cli(stdin, done, argv) { const lineCounter = new LineCounter(); const parser = new Parser(lineCounter.addNewLine); // @ts-expect-error Version is validated at runtime - const composer = new Composer({ version: opt.yaml }); + const composer = new Composer({ version: opt.yaml, merge: opt.merge }); const visitor = opt.visit ? (await import(resolve(opt.visit))).default : null; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/compose-collection.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/compose-collection.js index 3f91468..9add89f 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/compose-collection.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/compose-collection.js @@ -66,8 +66,8 @@ function composeCollection(CN, ctx, token, props, onError) { tag = kt; } else { - if (kt?.collection) { - onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection}`, true); + if (kt) { + onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true); } else { onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/composer.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/composer.js index 0757495..df60391 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/composer.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/composer.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); var directives = require('../doc/directives.js'); var Document = require('../doc/Document.js'); var errors = require('../errors.js'); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/resolve-props.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/resolve-props.js index 4f61696..a3598c8 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/resolve-props.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/resolve-props.js @@ -74,8 +74,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (token.source.endsWith(':')) onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true); anchor = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; @@ -84,8 +83,7 @@ function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIn if (tag) onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag'); tag = token; - if (start === null) - start = token.offset; + start ?? (start = token.offset); atNewline = false; hasSpace = false; reqSpace = true; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/util-empty-scalar-position.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/util-empty-scalar-position.js index b2cd849..50fedb1 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/util-empty-scalar-position.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/compose/util-empty-scalar-position.js @@ -2,8 +2,7 @@ function emptyScalarPosition(offset, before, pos) { if (before) { - if (pos === null) - pos = before.length; + pos ?? (pos = before.length); for (let i = pos - 1; i >= 0; --i) { let st = before[i]; switch (st.type) { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/anchors.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/anchors.js index 223639a..68613fa 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/anchors.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/anchors.js @@ -41,8 +41,7 @@ function createNodeAnchors(doc, prefix) { return { onAnchor: (source) => { aliasObjects.push(source); - if (!prevAnchors) - prevAnchors = anchorNames(doc); + prevAnchors ?? (prevAnchors = anchorNames(doc)); const anchor = findNewAnchor(prefix, prevAnchors); prevAnchors.add(anchor); return anchor; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/createNode.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/createNode.js index 64dd31a..53522c6 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/createNode.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/doc/createNode.js @@ -40,8 +40,7 @@ function createNode(value, tagName, ctx) { if (aliasDuplicateObjects && value && typeof value === 'object') { ref = sourceObjects.get(value); if (ref) { - if (!ref.anchor) - ref.anchor = onAnchor(value); + ref.anchor ?? (ref.anchor = onAnchor(value)); return new Alias.Alias(ref.anchor); } else { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/log.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/log.js index 5d0b4c5..65f9950 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/log.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/log.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); function debug(logLevel, ...messages) { if (logLevel === 'debug') diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.d.ts b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.d.ts index 8b03c81..c48f40e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.d.ts +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.d.ts @@ -23,7 +23,7 @@ export declare class Alias extends NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc: Document): Scalar | YAMLMap | YAMLSeq | undefined; + resolve(doc: Document, ctx?: ToJSContext): Scalar | YAMLMap | YAMLSeq | undefined; toJSON(_arg?: unknown, ctx?: ToJSContext): unknown; toString(ctx?: StringifyContext, _onComment?: () => void, _onChompKeep?: () => void): string; } diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.js index 46b37d9..a9fac7c 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/Alias.js @@ -20,23 +20,36 @@ class Alias extends Node.NodeBase { * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ - resolve(doc) { + resolve(doc, ctx) { + let nodes; + if (ctx?.aliasResolveCache) { + nodes = ctx.aliasResolveCache; + } + else { + nodes = []; + visit.visit(doc, { + Node: (_key, node) => { + if (identity.isAlias(node) || identity.hasAnchor(node)) + nodes.push(node); + } + }); + if (ctx) + ctx.aliasResolveCache = nodes; + } let found = undefined; - visit.visit(doc, { - Node: (_key, node) => { - if (node === this) - return visit.visit.BREAK; - if (node.anchor === this.source) - found = node; - } - }); + for (const node of nodes) { + if (node === this) + break; + if (node.anchor === this.source) + found = node; + } return found; } toJSON(_arg, ctx) { if (!ctx) return { source: this.source }; const { anchors, doc, maxAliasCount } = ctx; - const source = this.resolve(doc); + const source = this.resolve(doc, ctx); if (!source) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(msg); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/addPairToJSMap.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/addPairToJSMap.js index 755468c..a8faa29 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/addPairToJSMap.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/addPairToJSMap.js @@ -39,6 +39,7 @@ function addPairToJSMap(ctx, map, { key, value }) { function stringifyKey(key, jsKey, ctx) { if (jsKey === null) return ''; + // eslint-disable-next-line @typescript-eslint/no-base-to-string if (typeof jsKey !== 'object') return String(jsKey); if (identity.isNode(key) && ctx?.doc) { diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/toJS.d.ts b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/toJS.d.ts index d51d631..d7e129e 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/toJS.d.ts +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/nodes/toJS.d.ts @@ -7,6 +7,8 @@ export interface AnchorData { } export interface ToJSContext { anchors: Map; + /** Cached anchor and alias nodes in the order they occur in the document */ + aliasResolveCache?: Node[]; doc: Document; keep: boolean; mapAsMap: boolean; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/parse/parser.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/parse/parser.js index 0e7caa6..d66ee5b 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/parse/parser.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/parse/parser.js @@ -1,6 +1,6 @@ 'use strict'; -var node_process = require('node:process'); +var node_process = require('process'); var cst = require('./cst.js'); var lexer = require('./lexer.js'); @@ -673,7 +673,20 @@ class Parser { default: { const bv = this.startBlockValue(map); if (bv) { - if (atMapIndent && bv.type !== 'block-seq') { + if (bv.type === 'block-seq') { + if (!it.explicitKey && + it.sep && + !includesToken(it.sep, 'newline')) { + yield* this.pop({ + type: 'error', + offset: this.offset, + message: 'Unexpected block-seq-ind on same line with key', + source: this.source + }); + return; + } + } + else if (atMapIndent) { map.items.push({ start }); } this.stack.push(bv); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/binary.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/binary.js index df78b64..e529d74 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/binary.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/binary.js @@ -1,6 +1,6 @@ 'use strict'; -var node_buffer = require('node:buffer'); +var node_buffer = require('buffer'); var Scalar = require('../../nodes/Scalar.js'); var stringifyString = require('../../stringify/stringifyString.js'); @@ -34,6 +34,8 @@ const binary = { } }, stringify({ comment, type, value }, ctx, onComment, onChompKeep) { + if (!value) + return ''; const buf = value; // checked earlier by binary.identify() let str; if (typeof node_buffer.Buffer === 'function') { @@ -51,8 +53,7 @@ const binary = { else { throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); } - if (!type) - type = Scalar.Scalar.BLOCK_LITERAL; + type ?? (type = Scalar.Scalar.BLOCK_LITERAL); if (type !== Scalar.Scalar.QUOTE_DOUBLE) { const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth); const n = Math.ceil(str.length / lineWidth); diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js index 7163570..982fd06 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js @@ -97,7 +97,7 @@ const timestamp = { } return new Date(date); }, - stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, '') + stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? '' }; exports.floatTime = floatTime; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringify.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringify.js index e10c08a..e6cc402 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringify.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringify.js @@ -70,7 +70,7 @@ function getTagObject(tags, item) { tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); } if (!tagObj) { - const name = obj?.constructor?.name ?? typeof obj; + const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj); throw new Error(`Tag not resolved for ${name} value`); } return tagObj; @@ -85,7 +85,7 @@ function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) { anchors$1.add(anchor); props.push(`&${anchor}`); } - const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag; + const tag = node.tag ?? (tagObj.default ? null : tagObj.tag); if (tag) props.push(doc.directives.tagString(tag)); return props.join(' '); @@ -111,8 +111,7 @@ function stringify(item, ctx, onComment, onChompKeep) { const node = identity.isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) }); - if (!tagObj) - tagObj = getTagObject(ctx.doc.schema.tags, node); + tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node)); const props = stringifyProps(node, tagObj, ctx); if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1; diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringifyString.js b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringifyString.js index 67252ce..2caadc6 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringifyString.js +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/dist/stringify/stringifyString.js @@ -161,7 +161,7 @@ function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { const { blockQuote, commentString, lineWidth } = ctx.options; // 1. Block can't end in whitespace unless the last line is non-empty. // 2. Strings consisting of only whitespace are best rendered explicitly. - if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + if (!blockQuote || /\n[\t ]+$/.test(value)) { return quotedString(value, ctx); } const indent = ctx.indent || @@ -255,10 +255,9 @@ function plainString(item, ctx, onComment, onChompKeep) { (inFlow && /[[\]{},]/.test(value))) { return quotedString(value, ctx); } - if (!value || - /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { // not allowed: - // - empty string, '-' or '?' + // - '-' or '?' // - start with an indicator character (except [?:-]) or /[?-] / // - '\n ', ': ' or ' \n' anywhere // - '#' not preceded by a non-space char diff --git a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/package.json b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/package.json index b7fbff4..1c43f12 100644 --- a/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/package.json +++ b/.github/actions/prepare-node-test-matrix-action/node_modules/yaml/package.json @@ -1,6 +1,6 @@ { "name": "yaml", - "version": "2.7.0", + "version": "2.8.1", "license": "ISC", "author": "Eemeli Aro ", "repository": "github:eemeli/yaml", @@ -83,6 +83,7 @@ "eslint-config-prettier": "^9.0.0", "fast-check": "^2.12.0", "jest": "^29.0.1", + "jest-resolve": "^29.7.0", "jest-ts-webcompat-resolver": "^1.0.0", "prettier": "^3.0.2", "rollup": "^4.12.0", @@ -91,6 +92,6 @@ "typescript-eslint": "^8.4.0" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } diff --git a/.github/actions/prepare-node-test-matrix-action/npm-shrinkwrap.json b/.github/actions/prepare-node-test-matrix-action/npm-shrinkwrap.json index 30da5d0..7b1c306 100644 --- a/.github/actions/prepare-node-test-matrix-action/npm-shrinkwrap.json +++ b/.github/actions/prepare-node-test-matrix-action/npm-shrinkwrap.json @@ -15,7 +15,7 @@ }, "engines": { "node": "^20", - "npm": "^10" + "npm": "^10 || ^11" } }, "node_modules/@actions/core": { @@ -63,9 +63,9 @@ } }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -84,9 +84,9 @@ } }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" @@ -96,15 +96,15 @@ } }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } } } diff --git a/.github/actions/prepare-node-test-matrix-action/package.json b/.github/actions/prepare-node-test-matrix-action/package.json index 93aa32b..598b621 100644 --- a/.github/actions/prepare-node-test-matrix-action/package.json +++ b/.github/actions/prepare-node-test-matrix-action/package.json @@ -13,8 +13,8 @@ "author": "@pkgjs", "license": "MIT", "engines": { - "node": "^20", - "npm": "^10 || ^11" + "node": "^24", + "npm": "^11" }, "dependencies": { "@actions/core": "^1.6.0", diff --git a/.github/actions/prepare-node-test-matrix-action/schedule.json b/.github/actions/prepare-node-test-matrix-action/schedule.json index c1cf00e..f945d37 100644 --- a/.github/actions/prepare-node-test-matrix-action/schedule.json +++ b/.github/actions/prepare-node-test-matrix-action/schedule.json @@ -120,22 +120,34 @@ "end": "2024-06-01" }, "v22": { - "start": "2024-04-23", + "start": "2024-04-24", "lts": "2024-10-29", "maintenance": "2025-10-21", "end": "2027-04-30", - "codename": "" + "codename": "Jod" }, "v23": { - "start": "2024-10-15", + "start": "2024-10-16", "maintenance": "2025-04-01", "end": "2025-06-01" }, "v24": { - "start": "2025-04-22", + "start": "2025-05-06", "lts": "2025-10-28", "maintenance": "2026-10-20", "end": "2028-04-30", + "codename": "Krypton" + }, + "v25": { + "start": "2025-10-15", + "maintenance": "2026-04-01", + "end": "2026-06-01" + }, + "v26": { + "start": "2026-04-22", + "lts": "2026-10-28", + "maintenance": "2027-10-20", + "end": "2029-04-30", "codename": "" } }