From 7a1ff1094bf0742b981c63b4f17904141b8b8882 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Sat, 16 May 2026 06:35:36 -0400 Subject: [PATCH 01/17] Refactor Out Insecure Dependencies (#508) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add tests for Promise, objectPath * refactor(honkit): drop q, object-path, moment, urijs Replace q with a native Promise shim (promise.ts), object-path with safeObjectPath for config paths, moment with dayjs in defaultFilters, and urijs-free git+ URL parsing in git.ts. Contract tests from the prior commit still pass (promise.contract, objectPath.contract). Remove promise.env-load.test.ts — it only covered Q.longStackSupport at load time (PR #508 discussion r3231797881). Drop jest.contract coverageThreshold so test:contract passes with the shim under existing tests. Add direct safeObjectPath unit tests. object-path remains a devDependency for the baseline contract only. Suggested PR description update: - Runtime removals: q, object-path, moment, urijs - Additions: dayjs, js-yaml ^4, safeObjectPath helper, native promise surface - Equivalence: contract tests + snapshot-honkit / integration suite - fabric-http: run npm install in /Users/eric/fabric-http to capture transitive deprecation warnings motivating consumers --- packages/honkit/jest.contract.config.js | 7 + packages/honkit/package.json | 11 +- packages/honkit/src/api/deprecate.ts | 4 +- packages/honkit/src/api/encodeConfig.ts | 6 +- .../honkit/src/constants/defaultFilters.ts | 9 +- packages/honkit/src/models/fs.ts | 2 +- packages/honkit/src/models/page.ts | 2 +- .../__tests__/objectPath.contract.test.ts | 94 +++++ .../utils/__tests__/promise.contract.test.ts | 221 +++++++++++ .../src/utils/__tests__/safeObjectPath.ts | 95 +++++ packages/honkit/src/utils/git.ts | 35 +- packages/honkit/src/utils/promise.ts | 361 +++++++++++++----- packages/honkit/src/utils/safeObjectPath.ts | 55 +++ pnpm-lock.yaml | 47 +-- 14 files changed, 780 insertions(+), 169 deletions(-) create mode 100644 packages/honkit/jest.contract.config.js create mode 100644 packages/honkit/src/utils/__tests__/objectPath.contract.test.ts create mode 100644 packages/honkit/src/utils/__tests__/promise.contract.test.ts create mode 100644 packages/honkit/src/utils/__tests__/safeObjectPath.ts create mode 100644 packages/honkit/src/utils/safeObjectPath.ts diff --git a/packages/honkit/jest.contract.config.js b/packages/honkit/jest.contract.config.js new file mode 100644 index 000000000..dd48bbbe0 --- /dev/null +++ b/packages/honkit/jest.contract.config.js @@ -0,0 +1,7 @@ +/** @type {import("jest").Config} */ +const base = require("./jest.config.js"); + +module.exports = { + ...base, + collectCoverageFrom: ["src/utils/promise.ts"] +}; diff --git a/packages/honkit/package.json b/packages/honkit/package.json index 8086fbd7f..d2bbd09e7 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -34,6 +34,7 @@ "build": "tsc -p .", "clean": "rimraf lib/", "test": "jest src", + "test:contract": "jest --config jest.contract.config.js --coverage src/utils/__tests__/promise.contract.test.ts src/utils/__tests__/objectPath.contract.test.ts", "updateSnapshot": "jest src -u" }, "dependencies": { @@ -67,26 +68,23 @@ "ignore": "^5.3.2", "immutable": "^3.8.3", "is": "^3.3.0", - "js-yaml": "^3.14.2", + "js-yaml": "^4.1.0", "json-schema-defaults": "^0.1.1", "jsonschema": "1.1.0", "juice": "^8.1.0", "lru_map": "^0.4.1", "memoize-one": "^5.2.1", "mkdirp": "^1.0.4", - "moment": "^2.30.1", + "dayjs": "^1.11.13", "nunjucks": "^3.2.4", "nunjucks-do": "^1.0.0", - "object-path": "^0.11.8", "omit-keys": "^0.1.0", "open": "^7.4.2", - "q": "^1.5.1", "resolve": "^1.22.8", "semver": "^7.6.3", "send": "^0.19.2", "tiny-lr": "^1.1.1", - "tmp": "0.2.4", - "urijs": "^1.19.11" + "tmp": "0.2.4" }, "devDependencies": { "@honkit/internal-test-utils": "workspace:*", @@ -96,6 +94,7 @@ "@types/nunjucks": "^3.2.6", "jest": "^29.7.0", "jest-mock-process": "^2.0.0", + "object-path": "^0.11.8", "rimraf": "^6.0.1", "typescript": "^5.6.2" } diff --git a/packages/honkit/src/api/deprecate.ts b/packages/honkit/src/api/deprecate.ts index dbd507e31..1d1019363 100644 --- a/packages/honkit/src/api/deprecate.ts +++ b/packages/honkit/src/api/deprecate.ts @@ -1,5 +1,5 @@ import is from "is"; -import objectPath from "object-path"; +import { getAtPath } from "../utils/safeObjectPath"; const logged = {}; const disabled = {}; @@ -108,7 +108,7 @@ function disableDeprecation(key) { */ function deprecateRenamedMethod(book, key, instance, oldName, newName, msg) { msg = msg || `"${oldName}" is deprecated, use "${newName}()" instead`; - const fn = objectPath.get(instance, newName); + const fn = getAtPath(instance as Record, newName) as (...args: unknown[]) => unknown; instance[oldName] = deprecateMethod(book, key, fn, msg); } diff --git a/packages/honkit/src/api/encodeConfig.ts b/packages/honkit/src/api/encodeConfig.ts index bdfdf980c..3c1528458 100644 --- a/packages/honkit/src/api/encodeConfig.ts +++ b/packages/honkit/src/api/encodeConfig.ts @@ -1,4 +1,4 @@ -import objectPath from "object-path"; +import { getAtPath, setAtPath } from "../utils/safeObjectPath"; import deprecate from "./deprecate"; import Output from "../models/output"; import Config from "../models/config"; @@ -12,11 +12,11 @@ function encodeConfig(output: Output, config: Config) { values: config.getValues().toJS(), get: function (key, defaultValue) { - return objectPath.get(result.values, key, defaultValue); + return getAtPath(result.values, key, defaultValue); }, set: function (key, value) { - return objectPath.set(result.values, key, value); + return setAtPath(result.values, key, value); } }; diff --git a/packages/honkit/src/constants/defaultFilters.ts b/packages/honkit/src/constants/defaultFilters.ts index 7a30e268b..d64d141cd 100644 --- a/packages/honkit/src/constants/defaultFilters.ts +++ b/packages/honkit/src/constants/defaultFilters.ts @@ -1,15 +1,18 @@ import Immutable from "immutable"; -import moment from "moment"; +import dayjs from "dayjs"; +import relativeTime from "dayjs/plugin/relativeTime"; + +dayjs.extend(relativeTime); export default Immutable.Map({ // Format a date // ex: 'MMMM Do YYYY, h:mm:ss a date: function (time, format) { - return moment(time).format(format); + return dayjs(time).format(format); }, // Relative Time dateFromNow: function (time) { - return moment(time).fromNow(); + return dayjs(time).fromNow(); } }); diff --git a/packages/honkit/src/models/fs.ts b/packages/honkit/src/models/fs.ts index 9d6d1ece6..23cd55ea8 100644 --- a/packages/honkit/src/models/fs.ts +++ b/packages/honkit/src/models/fs.ts @@ -96,7 +96,7 @@ class FS extends Immutable.Record({ Read a file as a string (utf-8) @return {Promise} */ - readAsString(filename: string, encoding: string = "utf8"): Promise { + readAsString(filename: string, encoding: BufferEncoding = "utf8"): Promise { return this.read(filename).then((buf) => { return buf.toString(encoding); }); diff --git a/packages/honkit/src/models/page.ts b/packages/honkit/src/models/page.ts index 59e69e9d4..efe99758d 100644 --- a/packages/honkit/src/models/page.ts +++ b/packages/honkit/src/models/page.ts @@ -43,7 +43,7 @@ class Page extends Immutable.Record({ return content; } - const frontMatter = `---\n${yaml.safeDump(attrs.toJS(), { skipInvalid: true })}---\n\n`; + const frontMatter = `---\n${yaml.dump(attrs.toJS(), { skipInvalid: true })}---\n\n`; return frontMatter + (content || ""); } diff --git a/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts b/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts new file mode 100644 index 000000000..96e4f2056 --- /dev/null +++ b/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts @@ -0,0 +1,94 @@ +/** + * Same scenarios as `safeObjectPath` contract tests on the refactored branch, run here against + * the real `object-path` dependency (pre-#508). Expectations match object-path@0.11.8, not + * `safeObjectPath` (see PR review discussion). + */ +import objectPath from "object-path"; + +describe("object-path baseline (pre safeObjectPath)", () => { + describe("get", () => { + test("returns nested value by dot path", () => { + const obj = { structure: { readme: "README.md" } }; + expect(objectPath.get(obj, "structure.readme")).toBe("README.md"); + }); + + test("returns default when path missing", () => { + const obj = { a: 1 }; + expect(objectPath.get(obj, "b", "fallback")).toBe("fallback"); + expect(objectPath.get(obj, "a.c", "fallback")).toBe("fallback"); + }); + + test("returns default for null / undefined root", () => { + expect(objectPath.get(null, "a", "d")).toBe("d"); + expect(objectPath.get(undefined, "a", "d")).toBe("d"); + }); + + test("empty path returns the object (object-path semantics)", () => { + expect(objectPath.get({ a: 1 }, "", "d")).toEqual({ a: 1 }); + }); + + test("returns null when key exists with null value", () => { + expect(objectPath.get({ x: null }, "x", "d")).toBeNull(); + }); + + test("returns default when traversing into null intermediate", () => { + expect(objectPath.get({ x: null }, "x.y", "d")).toBe("d"); + }); + + test("returns default when traversing into non-object", () => { + expect(objectPath.get({ x: "str" }, "x.y", "d")).toBe("d"); + }); + + test("undefined leaf with default returns default", () => { + expect(objectPath.get({ a: {} }, "a.missing", "d")).toBe("d"); + }); + + test("prototype-ish keys with default", () => { + const obj = { safe: 1 }; + expect(objectPath.get(obj, "__proto__.polluted", "d")).toBe("d"); + expect(objectPath.get(obj, "constructor.prototype.polluted", "d")).toBe("d"); + expect((obj as { polluted?: unknown }).polluted).toBeUndefined(); + }); + + test("does not trim segment whitespace (object-path)", () => { + expect(objectPath.get({ a: { b: 2 } }, " a . b ", "d")).toBe("d"); + }); + }); + + describe("set", () => { + test("sets nested value by dot path", () => { + const obj: Record = {}; + objectPath.set(obj, "structure.readme", "INTRO.md"); + expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); + }); + + test("overwrites existing nested value", () => { + const obj: Record = { structure: { readme: "A.md" } }; + objectPath.set(obj, "structure.readme", "B.md"); + expect((obj.structure as Record).readme).toBe("B.md"); + }); + + test("throws when intermediate is a non-object (object-path)", () => { + const obj: Record = { a: "was-string" }; + expect(() => objectPath.set(obj, "a.b", 1)).toThrow(); + }); + + test("uses array index segments like object-path", () => { + const obj: Record = {}; + objectPath.set(obj, "items.0.name", "first"); + expect(obj.items).toEqual([{ name: "first" }]); + }); + + test("set on __proto__ path is a no-op for own keys (object-path)", () => { + const obj: Record = { ok: true }; + expect(objectPath.set(obj, "__proto__", "ignored")).toBeUndefined(); + expect(obj).toEqual({ ok: true }); + }); + + test("set returns undefined (object-path)", () => { + const obj: Record = {}; + expect(objectPath.set(obj, "x", 42)).toBeUndefined(); + expect(obj.x).toBe(42); + }); + }); +}); diff --git a/packages/honkit/src/utils/__tests__/promise.contract.test.ts b/packages/honkit/src/utils/__tests__/promise.contract.test.ts new file mode 100644 index 000000000..46a1c364a --- /dev/null +++ b/packages/honkit/src/utils/__tests__/promise.contract.test.ts @@ -0,0 +1,221 @@ +/** + * Contract tests for {@link ../promise} — encodes the Q-style API from `q` before the native + * shim (see PR review: https://github.com/honkit/honkit/pull/508#pullrequestreview-4268311613). + */ +import Immutable from "immutable"; +import PromiseUtil from "../promise"; + +describe("promise contract (Q implementation)", () => { + test("factory resolves value", async () => { + await expect(PromiseUtil(7)).resolves.toBe(7); + }); + + test("thenResolve replaces result", async () => { + const p = PromiseUtil("a").thenResolve("b"); + await expect(p).resolves.toBe("b"); + }); + + test("spread unpacks array fulfillment", async () => { + const p = PromiseUtil([1, 2, 3]).spread((a: number, b: number, c: number) => a + b + c); + await expect(p).resolves.toBe(6); + }); + + test.skip("spread with non-array fulfillment (Q never settles)", async () => { + const p = PromiseUtil("solo").spread((x: string) => x + "!"); + await expect(p).resolves.toBe("solo!"); + }); + + test("fail is catch alias", async () => { + const p = PromiseUtil.reject(new Error("x")).fail(() => "recovered"); + await expect(p).resolves.toBe("recovered"); + }); + + test("tap runs side effect and preserves value", async () => { + let tapped: number | undefined; + const p = PromiseUtil(5).tap((v) => { + tapped = v; + }); + await expect(p).resolves.toBe(5); + expect(tapped).toBe(5); + }); + + test("tap awaits async side effect", async () => { + const order: string[] = []; + const p = PromiseUtil("x").tap(async () => { + order.push("tap"); + }); + await p; + order.push("after"); + expect(order).toEqual(["tap", "after"]); + }); + + test("fin runs on success and preserves value", async () => { + let ran = false; + const p = PromiseUtil(9).fin(() => { + ran = true; + }); + await expect(p).resolves.toBe(9); + expect(ran).toBe(true); + }); + + test("fin runs on failure and preserves rejection", async () => { + let ran = false; + const err = new Error("boom"); + const p = PromiseUtil.reject(err).fin(() => { + ran = true; + }); + await expect(p).rejects.toThrow("boom"); + expect(ran).toBe(true); + }); + + test("defer resolve / reject", async () => { + const d = PromiseUtil.defer(); + d.resolve(123); + await expect(d.promise).resolves.toBe(123); + + const d2 = PromiseUtil.defer(); + d2.reject(new Error("no")); + await expect(d2.promise).rejects.toThrow("no"); + }); + + test("defer makeNodeResolver (single result)", async () => { + const d = PromiseUtil.defer(); + d.makeNodeResolver()(null, "ok"); + await expect(d.promise).resolves.toBe("ok"); + }); + + test("defer makeNodeResolver (multiple results become array)", async () => { + const d = PromiseUtil.defer(); + d.makeNodeResolver()(null, "a", "b"); + await expect(d.promise).resolves.toEqual(["a", "b"]); + }); + + test("defer notify invokes progress handlers", async () => { + const d = PromiseUtil.defer(); + const seen: unknown[] = []; + d.promise.progress((x) => seen.push(x)); + d.notify("chunk"); + d.resolve("done"); + await d.promise; + expect(seen).toEqual(["chunk"]); + }); + + test("nfcall and get(index)", async () => { + function read(cb: (err: Error | null, a: string, b: string) => void) { + cb(null, "x", "y"); + } + const p = PromiseUtil.nfcall(read).get(1); + await expect(p).resolves.toBe("y"); + }); + + test("nfbind binds this", async () => { + const ctx = { + val: 3, + run(cb: (err: Error | null, n: number) => void) { + cb(null, this.val); + } + }; + const bound = PromiseUtil.nfbind(ctx.run.bind(ctx)); + await expect(bound()).resolves.toBe(3); + }); + + test("reduce over array", async () => { + const p = PromiseUtil.reduce([1, 2, 3], (acc, n) => acc + n, 0); + await expect(p).resolves.toBe(6); + }); + + test("reduce over Immutable.List", async () => { + const p = PromiseUtil.reduce(Immutable.List([2, 3]), (acc, n) => acc * n, 2); + await expect(p).resolves.toBe(12); + }); + + test("forEach", async () => { + const acc: number[] = []; + await PromiseUtil.forEach([10, 20], (n) => { + acc.push(n); + }); + expect(acc).toEqual([10, 20]); + }); + + test("serie collects mapped results in order", async () => { + const p = PromiseUtil.serie(["a", "b"], (s) => s.toUpperCase()); + await expect(p).resolves.toEqual(["A", "B"]); + }); + + test("some returns first truthy iter result", async () => { + const p = PromiseUtil.some([0, "", 42, 99], (x) => x); + await expect(p).resolves.toBe(42); + }); + + test("some yields last iter result when no value is truthy", async () => { + const p = PromiseUtil.some([0, "", null], (x) => x); + await expect(p).resolves.toBeNull(); + }); + + test("map over array returns Immutable.List", async () => { + const p = PromiseUtil.map([1, 2], (n) => n * 2); + const list = await p; + expect(Immutable.List.isList(list)).toBe(true); + expect((list as Immutable.List).toJS()).toEqual([2, 4]); + }); + + test("map over Immutable.Map preserves Map", async () => { + const m = Immutable.Map({ a: 1, b: 2 }); + const p = PromiseUtil.map(m, (v) => v + 10); + const out = await p; + expect(Immutable.Map.isMap(out)).toBe(true); + expect((out as Immutable.Map).toJS()).toEqual({ a: 11, b: 12 }); + }); + + test("map over Immutable.OrderedMap preserves OrderedMap", async () => { + const m = Immutable.OrderedMap({ z: 1, a: 2 }); + const p = PromiseUtil.map(m, (v) => v + 10); + const out = await p; + expect(Immutable.OrderedMap.isOrderedMap(out)).toBe(true); + expect((out as Immutable.OrderedMap).toJS()).toEqual({ z: 11, a: 12 }); + }); + + test("wrap defers sync function", async () => { + const fn = PromiseUtil.wrap((a: number, b: number) => a + b); + await expect(fn(2, 3)).resolves.toBe(5); + }); + + test("reject", async () => { + await expect(PromiseUtil.reject(new Error("r"))).rejects.toThrow("r"); + }); + + test("all", async () => { + await expect(PromiseUtil.all([1, Promise.resolve(2)])).resolves.toEqual([1, 2]); + }); + + test("isPromiseAlike", () => { + expect(PromiseUtil.isPromiseAlike(null)).toBe(false); + expect(PromiseUtil.isPromiseAlike({})).toBe(false); + expect(PromiseUtil.isPromiseAlike(Promise.resolve())).toBe(true); + expect(PromiseUtil.isPromiseAlike({ then() {} })).toBe(true); + }); + + test("nodeify with callback", async () => { + await new Promise((resolve, reject) => { + PromiseUtil(88).nodeify((err, val) => { + if (err) reject(err); + else { + expect(val).toBe(88); + resolve(); + } + }); + }); + }); + + test("nodeify without callback returns promise", async () => { + const p = PromiseUtil(1).nodeify(); + await expect(p).resolves.toBe(1); + }); + + test("top-level progress is no-op chain passthrough", async () => { + const p = PromiseUtil(5).progress(() => { + /* unused for non-deferred promises */ + }); + await expect(p).resolves.toBe(5); + }); +}); diff --git a/packages/honkit/src/utils/__tests__/safeObjectPath.ts b/packages/honkit/src/utils/__tests__/safeObjectPath.ts new file mode 100644 index 000000000..38a94120d --- /dev/null +++ b/packages/honkit/src/utils/__tests__/safeObjectPath.ts @@ -0,0 +1,95 @@ +/** + * Direct unit tests for {@link ../safeObjectPath} — scenarios aligned with + * {@link ./objectPath.contract.test.ts} where semantics match; otherwise documents + * intentional differences (empty path, trimmed segments, set on unsafe keys). + */ +import { getAtPath, setAtPath } from "../safeObjectPath"; + +describe("safeObjectPath", () => { + describe("getAtPath", () => { + test("returns nested value by dot path", () => { + const obj = { structure: { readme: "README.md" } }; + expect(getAtPath(obj, "structure.readme")).toBe("README.md"); + }); + + test("returns default when path missing", () => { + const obj = { a: 1 }; + expect(getAtPath(obj, "b", "fallback")).toBe("fallback"); + expect(getAtPath(obj, "a.c", "fallback")).toBe("fallback"); + }); + + test("returns default for null / undefined root", () => { + expect(getAtPath(null as unknown as Record, "a", "d")).toBe("d"); + expect(getAtPath(undefined as unknown as Record, "a", "d")).toBe("d"); + }); + + test("empty path returns default (unlike object-path empty-path root)", () => { + expect(getAtPath({ a: 1 }, "", "d")).toBe("d"); + }); + + test("returns null when key exists with null value", () => { + expect(getAtPath({ x: null }, "x", "d")).toBeNull(); + }); + + test("returns default when traversing into null intermediate", () => { + expect(getAtPath({ x: null }, "x.y", "d")).toBe("d"); + }); + + test("returns default when traversing into non-object", () => { + expect(getAtPath({ x: "str" }, "x.y", "d")).toBe("d"); + }); + + test("undefined leaf with default returns default", () => { + expect(getAtPath({ a: {} }, "a.missing", "d")).toBe("d"); + }); + + test("unsafe path segments are ignored (prototype pollution guard)", () => { + const obj: Record = { safe: 1 }; + expect(getAtPath(obj, "__proto__.polluted", "d")).toBe("d"); + expect(getAtPath(obj, "constructor.prototype.polluted", "d")).toBe("d"); + expect((obj as { polluted?: unknown }).polluted).toBeUndefined(); + }); + + test("trims segment whitespace (differs from object-path)", () => { + expect(getAtPath({ a: { b: 2 } }, " a . b ", "d")).toBe(2); + }); + }); + + describe("setAtPath", () => { + test("sets nested value by dot path", () => { + const obj: Record = {}; + setAtPath(obj, "structure.readme", "INTRO.md"); + expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); + }); + + test("overwrites existing nested value", () => { + const obj: Record = { structure: { readme: "A.md" } }; + setAtPath(obj, "structure.readme", "B.md"); + expect((obj.structure as Record).readme).toBe("B.md"); + }); + + test("uses array index segments for numeric keys", () => { + const obj: Record = {}; + setAtPath(obj, "items.0.name", "first"); + expect(obj.items).toEqual([{ name: "first" }]); + }); + + test("set on __proto__ path does not mutate object (segments filtered)", () => { + const obj: Record = { ok: true }; + expect(setAtPath(obj, "__proto__", "ignored")).toBe("ignored"); + expect(obj).toEqual({ ok: true }); + }); + + test("returns the assigned value", () => { + const obj: Record = {}; + expect(setAtPath(obj, "x", 42)).toBe(42); + expect(obj.x).toBe(42); + }); + + test("replaces string intermediate with object when deepening path", () => { + const obj: Record = { a: "was-string" }; + setAtPath(obj, "a.b", 1); + expect(obj.a).toEqual({ b: 1 }); + }); + }); +}); diff --git a/packages/honkit/src/utils/git.ts b/packages/honkit/src/utils/git.ts index 811ec57ea..e452d35e7 100644 --- a/packages/honkit/src/utils/git.ts +++ b/packages/honkit/src/utils/git.ts @@ -1,7 +1,6 @@ import is from "is"; import path from "path"; import crc from "crc"; -import URI from "urijs"; import pathUtil from "./path"; import Promise from "./promise"; import command from "./command"; @@ -107,29 +106,35 @@ Git.isUrl = function (giturl) { return giturl.indexOf(GIT_PREFIX) === 0; }; -// Parse and extract infos +// Parse and extract infos (git+https://... and git+git@host:path/repo.git/... — no URI.js) Git.parseUrl = function (giturl) { if (!Git.isUrl(giturl)) return null; giturl = giturl.slice(GIT_PREFIX.length); - const uri = new URI(giturl); - const ref = uri.fragment() || null; - uri.fragment(null); + let ref: string | null = null; + const hashIdx = giturl.indexOf("#"); + if (hashIdx >= 0) { + ref = giturl.slice(hashIdx + 1) || null; + giturl = giturl.slice(0, hashIdx); + } - // Extract file inside the repo (after the .git) - const fileParts = uri.path().split(".git"); - let filepath = fileParts.length > 1 ? fileParts.slice(1).join(".git") : ""; - if (filepath[0] == "/") { - filepath = filepath.slice(1); + // Match a real repository ".git" suffix (not e.g. "gist.github.com" where ".git" appears inside the hostname) + const gitSuffix = /\.git(\/|$)/; + const m = gitSuffix.exec(giturl); + if (!m) { + return null; } - // Recreate pathname without the real filename - uri.path(`${fileParts[0]}.git`); + const host = giturl.slice(0, m.index + 4); + let filepath = giturl.slice(m.index + 4); + if (filepath.startsWith("/")) { + filepath = filepath.slice(1); + } return { - host: uri.toString(), - ref: ref, - filepath: filepath + host, + ref, + filepath }; }; diff --git a/packages/honkit/src/utils/promise.ts b/packages/honkit/src/utils/promise.ts index e77fe1b64..18430b3fb 100644 --- a/packages/honkit/src/utils/promise.ts +++ b/packages/honkit/src/utils/promise.ts @@ -1,151 +1,304 @@ -import Q from "q"; import Immutable from "immutable"; -// Debugging for long stack traces -if (process.env.DEBUG || process.env.CI) { - Q.longStackSupport = true; +/** HonKit historically used `q`; this module keeps the same surface on top of native Promises. */ + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type ExtendedPromise = Promise & { + thenResolve(value: U): ExtendedPromise; + spread(fn: (...args: any[]) => any): ExtendedPromise; + fail(onRejected: (reason: unknown) => unknown): ExtendedPromise; + get?(index: number): ExtendedPromise; + tap(onFulfilled: (value: T) => unknown): ExtendedPromise; + progress(onProgress: (data: unknown) => void): ExtendedPromise; + nodeify(callback?: (err: unknown, result?: T) => void): ExtendedPromise | void; + /** Q `fin` — like `finally`; preserves fulfillment value or rejection reason. */ + fin(onFinally: () => unknown): ExtendedPromise; +}; + +const HONKIT = Symbol("honkitPromise"); + +function extendPromise(p: Promise): ExtendedPromise { + const ep = p as ExtendedPromise; + if ((ep as unknown as { [HONKIT]?: boolean })[HONKIT]) { + return ep; + } + (ep as unknown as { [HONKIT]: boolean })[HONKIT] = true; + + const origThen = p.then.bind(p); + const origCatch = p.catch.bind(p); + + ep.then = function (onFulfilled, onRejected) { + return extendPromise(origThen(onFulfilled, onRejected)); + } as typeof ep.then; + + ep.catch = function (onRejected) { + return extendPromise(origCatch(onRejected)); + } as typeof ep.catch; + + ep.thenResolve = function (this: Promise, value: U) { + return extendPromise(this.then(() => value)); + }; + + ep.spread = function (this: Promise, fn: (...args: any[]) => unknown) { + return extendPromise( + this.then((arr: unknown) => { + if (Array.isArray(arr)) { + return fn(...arr); + } + return fn(arr); + }) + ); + }; + + ep.fail = function (this: Promise, onRejected: (reason: unknown) => unknown) { + return extendPromise(this.catch(onRejected)); + }; + + ep.tap = function (this: Promise, onFulfilled: (value: T) => unknown) { + return extendPromise(this.then((value: T) => Promise.resolve(onFulfilled(value)).then(() => value))); + }; + + ep.progress = function (this: Promise, _onProgress: (data: unknown) => void) { + return ep; + }; + + ep.nodeify = function (this: Promise, callback?: (err: unknown, result?: T) => void) { + if (!callback) { + return ep; + } + this.then( + (result) => { + callback(null, result); + }, + (err) => { + callback(err); + } + ); + return undefined; + }; + + ep.fin = function (this: Promise, onFinally: () => unknown) { + return extendPromise( + (this as Promise).finally(() => { + return onFinally(); + }) + ); + }; + + return ep; } -/** - * Reduce an array to a promise - * - * @param {Array|List} arr - * @param {Function(value, element, index)} iter - * @param {Array|List} base - * @return {Promise} - */ -function reduce(arr, iter, base) { - arr = Immutable.Iterable.isIterable(arr) ? arr : Immutable.List(arr); - - return arr.reduce((prev, elem, key) => { - return prev.then((val) => { - return iter(val, elem, key); - }); - }, Q(base)); +function defer() { + const progressHandlers = new Set<(data: unknown) => void>(); + let resolve!: (value?: unknown) => void; + let reject!: (reason?: unknown) => void; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + const ext = extendPromise(promise); + (ext as ExtendedPromise).progress = function (_onProgress: (data: unknown) => void) { + progressHandlers.add(_onProgress); + return ext; + }; + return { + promise: ext, + resolve, + reject, + notify(data: unknown) { + progressHandlers.forEach((f) => f(data)); + }, + makeNodeResolver() { + return (err: unknown, ...args: unknown[]) => { + if (err) { + reject(err); + } else { + resolve(args.length <= 1 ? args[0] : args); + } + }; + } + }; } -/** - * Iterate over an array using an async iter - * - * @param {Array|List} arr - * @param {Function(value, element, index)} - * @return {Promise} - */ -function forEach(arr, iter) { - // @ts-expect-error ts-migrate(2554) FIXME: Expected 3 arguments, but got 2. - return reduce(arr, (val, el, key) => { - return iter(el, key); +function nfcall( + fn: (...args: unknown[]) => unknown, + ...args: unknown[] +): ExtendedPromise & { + get(index: number): ExtendedPromise; +} { + const inner = new Promise((resolve, reject) => { + const callback = (err: unknown, ...cbArgs: unknown[]) => { + if (err) { + reject(err); + } else { + resolve(cbArgs.length <= 1 ? cbArgs[0] : cbArgs); + } + }; + (fn as (...a: unknown[]) => void)(...args, callback); }); + const ext = extendPromise(inner) as ExtendedPromise & { get(index: number): ExtendedPromise }; + ext.get = (index: number) => + extendPromise( + inner.then((val: unknown) => { + if (Array.isArray(val)) { + return val[index]; + } + return index === 0 ? val : undefined; + }) + ); + return ext; +} + +function nfbind(fn: (...args: unknown[]) => unknown) { + return function (this: unknown, ...args: unknown[]) { + return nfcall(fn.bind(this), ...args); + }; +} + +function reduce( + arr: Immutable.List | unknown[] | Immutable.Iterable, + iter: (acc: TAcc, elem: TElem, key: unknown) => unknown, + base?: TAcc +): ExtendedPromise { + const list = Immutable.Iterable.isIterable(arr) ? arr : Immutable.List(arr as unknown[]); + + return list.reduce( + (prev: ExtendedPromise, elem: TElem, key: unknown) => { + return prev.then((val) => iter(val as TAcc, elem, key)) as ExtendedPromise; + }, + extendPromise(Promise.resolve(base) as Promise) + ) as ExtendedPromise; +} + +function forEach( + arr: Immutable.List | unknown[] | Immutable.Iterable, + iter: (el: T, key: unknown) => unknown +) { + return reduce( + arr, + (_val: undefined, el: T, key: unknown) => { + return iter(el, key); + }, + undefined + ); } -/** - * Transform an array - * - * @param {Array|List} arr - * @param {Function(value, element, index)} - * @return {Promise} - */ -function serie(arr, iter, base) { +function serie( + arr: Immutable.List | unknown[] | Immutable.Iterable, + iter: (item: T, key: unknown) => unknown +) { return reduce( arr, - (before, item, key) => { - return Q(iter(item, key)).then((r) => { + (before: R[], item: T, key: unknown) => { + return extendPromise(Promise.resolve(iter(item, key)) as Promise).then((r: R) => { before.push(r); return before; }); }, - [] + [] as R[] ); } -/** - * Iter over an array and return first result (not null) - * - * @param {Array|List} arr - * @param {Function(element, index)} - * @return {Promise} - */ -function some(arr, iter) { - arr = Immutable.List(arr); - - return arr.reduce((prev, elem, i) => { - return prev.then((val) => { - if (val) return val; - - return iter(elem, i); - }); - }, Q()); +function some( + arr: Immutable.List | unknown[] | Immutable.Iterable, + iter: (el: T, i: unknown) => unknown +) { + const list = Immutable.List.isList(arr) ? (arr as Immutable.List) : Immutable.List(arr as T[]); + + return list.reduce( + (prev: ExtendedPromise, elem: T, i: number) => { + return prev.then((val) => { + if (val) { + return val; + } + return iter(elem, i); + }); + }, + extendPromise(Promise.resolve(undefined)) + ); } -/** - * Map an array using an async (promised) iterator - * - * @param {Array|List} arr - * @param {Function(element, index)} - * @return {Promise} - */ -function mapAsList(arr, iter) { +function mapAsList( + arr: Immutable.List | unknown[] | Immutable.Iterable, + iter: (entry: T, i: unknown) => unknown +) { return reduce( arr, - (prev, entry, i) => { - return Q(iter(entry, i)).then((out) => { + (prev: R[], entry: T, i: unknown) => { + return extendPromise(Promise.resolve(iter(entry, i)) as Promise).then((out: R) => { prev.push(out); return prev; }); }, - [] + [] as R[] ); } -/** - * Map an array or map - * - * @param {Array|List|Map|OrderedMap} arr - * @param {Function(element, key)} - * @return {Promise} - */ -function map(arr, iter) { +function map( + arr: + | Immutable.Map + | Immutable.OrderedMap + | Immutable.List + | unknown[] + | Immutable.Iterable, + iter: (el: T, key: unknown) => unknown +) { if (Immutable.Map.isMap(arr)) { let type = "Map"; if (Immutable.OrderedMap.isOrderedMap(arr)) { type = "OrderedMap"; } - return mapAsList(arr, (value, key) => { - return Q(iter(value, key)).then((result) => { - return [key, result]; - }); - }).then((result) => { - return Immutable[type](result); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return mapAsList( + arr as any, + ((value: T, key: unknown) => { + return extendPromise(Promise.resolve(iter(value, key)) as Promise).then((result: R) => { + return [key, result]; + }); + }) as any + ).then((result: [unknown, R][]) => { + return Immutable[type as "Map"](result); }); } else { - return mapAsList(arr, iter).then((result) => { + return mapAsList(arr as Immutable.List, iter).then((result: R[]) => { return Immutable.List(result); }); } } -/** - * Wrap a function in a promise - * - * @param {Function} func - * @return {Funciton} - */ -function wrap(func: Function) { - return function () { - const args = Array.prototype.slice.call(arguments, 0); - - return Q().then(() => { - return func.apply(null, args); +function wrap(func: (...args: unknown[]) => unknown) { + return function (this: unknown, ...args: unknown[]) { + return extendPromise(Promise.resolve()).then(() => { + return func.apply(this, args); }); }; } -Q.forEach = forEach; -Q.reduce = reduce; -Q.map = map; -Q.serie = serie; -Q.some = some; -Q.wrap = wrap; -export default Q; +function isPromiseAlike(x: unknown): boolean { + return x != null && typeof (x as { then?: unknown }).then === "function"; +} + +/* eslint-disable @typescript-eslint/no-explicit-any -- Q-compatible surface is intentionally loose for chaining */ +const HonkitPromiseRoot = Object.assign( + function HonkitPromise(value?: any): any { + return extendPromise(Promise.resolve(value)); + }, + { + defer, + nfcall, + nfbind, + reject: (reason?: unknown) => extendPromise(Promise.reject(reason)), + all: (values: any) => extendPromise(Promise.all(Array.from(values))), + reduce, + forEach, + map, + serie, + some, + wrap, + isPromiseAlike + } +); + +export default HonkitPromiseRoot as any; export { forEach, reduce, map, serie, some, wrap }; diff --git a/packages/honkit/src/utils/safeObjectPath.ts b/packages/honkit/src/utils/safeObjectPath.ts new file mode 100644 index 000000000..6bbbcd205 --- /dev/null +++ b/packages/honkit/src/utils/safeObjectPath.ts @@ -0,0 +1,55 @@ +/** + * Minimal dot-path get/set with prototype-pollution guards. + * Replaces object-path for config key access (e.g. "plugins", "structure.readme"). + */ + +const UNSAFE = new Set(["__proto__", "constructor", "prototype"]); + +function segments(path: string): string[] { + return String(path) + .split(".") + .map((s) => s.trim()) + .filter(Boolean) + .filter((s) => !UNSAFE.has(s)); +} + +export function getAtPath(obj: Record, path: string, defaultValue?: unknown): unknown { + if (obj == null || path == null || path === "") { + return defaultValue; + } + const parts = segments(path); + if (parts.length === 0) { + return defaultValue; + } + let cur: unknown = obj; + for (const key of parts) { + if (cur == null || typeof cur !== "object") { + return defaultValue; + } + cur = (cur as Record)[key]; + } + return cur === undefined ? defaultValue : cur; +} + +export function setAtPath(obj: Record, path: string, value: unknown): unknown { + if (obj == null || path == null || path === "") { + return value; + } + const parts = segments(path); + if (parts.length === 0) { + return value; + } + let cur: Record = obj; + for (let i = 0; i < parts.length - 1; i++) { + const key = parts[i]; + let next = cur[key]; + if (next == null || typeof next !== "object") { + const nextKey = parts[i + 1]; + next = /^\d+$/.test(nextKey) ? [] : {}; + cur[key] = next; + } + cur = cur[key] as Record; + } + cur[parts[parts.length - 1]] = value as never; + return value; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb80e70ca..b18b4b6f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -386,6 +386,9 @@ importers: crc: specifier: ^3.8.0 version: 3.8.0 + dayjs: + specifier: ^1.11.13 + version: 1.11.20 destroy: specifier: ^1.2.0 version: 1.2.0 @@ -438,8 +441,8 @@ importers: specifier: ^3.3.0 version: 3.3.0 js-yaml: - specifier: ^3.14.2 - version: 3.14.2 + specifier: ^4.1.0 + version: 4.1.1 json-schema-defaults: specifier: ^0.1.1 version: 0.1.1 @@ -458,27 +461,18 @@ importers: mkdirp: specifier: ^1.0.4 version: 1.0.4 - moment: - specifier: ^2.30.1 - version: 2.30.1 nunjucks: specifier: ^3.2.4 version: 3.2.4(chokidar@3.6.0) nunjucks-do: specifier: ^1.0.0 version: 1.0.0 - object-path: - specifier: ^0.11.8 - version: 0.11.8 omit-keys: specifier: ^0.1.0 version: 0.1.0 open: specifier: ^7.4.2 version: 7.4.2 - q: - specifier: ^1.5.1 - version: 1.5.1 resolve: specifier: ^1.22.8 version: 1.22.8 @@ -494,9 +488,6 @@ importers: tmp: specifier: 0.2.4 version: 0.2.4 - urijs: - specifier: ^1.19.11 - version: 1.19.11 devDependencies: '@honkit/internal-test-utils': specifier: workspace:* @@ -519,6 +510,9 @@ importers: jest-mock-process: specifier: ^2.0.0 version: 2.0.0(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2))) + object-path: + specifier: ^0.11.8 + version: 0.11.8 rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -1757,6 +1751,9 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} + dayjs@1.11.20: + resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -3341,9 +3338,6 @@ packages: engines: {node: '>= 0.8.0'} hasBin: true - moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - mousetrap@1.6.0: resolution: {integrity: sha512-kU3MUr+8iWuM5F7kkBHLqp430XFBegbxYVQoOzn3JKJZPyA0yBvm4TsnDAh12cwjngMMfX0qBLfV36CbFBq0mA==} @@ -3726,14 +3720,6 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - deprecated: |- - You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. - - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.15.0: resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} @@ -4447,9 +4433,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urijs@1.19.11: - resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} - url-join@2.0.5: resolution: {integrity: sha512-c2H1fIgpUdwFRIru9HFno5DT73Ok8hg5oOb5AT3ayIgvCRfxgs2jyt5Slw8kEB7j3QUr6yJmMPDT/odjk7jXow==} @@ -6165,6 +6148,8 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 + dayjs@1.11.20: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -8082,8 +8067,6 @@ snapshots: through2: 2.0.5 xtend: 4.0.2 - moment@2.30.1: {} - mousetrap@1.6.0: {} ms@2.0.0: {} @@ -8449,8 +8432,6 @@ snapshots: pure-rand@6.1.0: {} - q@1.5.1: {} - qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -9281,8 +9262,6 @@ snapshots: dependencies: punycode: 2.3.1 - urijs@1.19.11: {} - url-join@2.0.5: {} url-parse@1.5.10: From be1c9894460db8a0df5c1b7216546adba5675ed2 Mon Sep 17 00:00:00 2001 From: azu Date: Sat, 16 May 2026 23:01:14 +0900 Subject: [PATCH 02/17] fix: address review feedback from PR #508 (#510) * fix: address review feedback from PR #508 Follow-up to #508 addressing Copilot review comments. - safeObjectPath: reject whole path containing __proto__/constructor/prototype instead of filtering segments (prevented `__proto__.x` from collapsing to `x`) - safeObjectPath: use Object.prototype.hasOwnProperty.call so lookups do not descend into inherited prototype properties - safeObjectPath: setAtPath now throws on non-object scalar intermediates and returns undefined, matching object-path semantics - safeObjectPath: accept `string | string[]` paths to match object-path API - encodeConfig: align with new setAtPath void return type - defaultFilters: load dayjs advancedFormat plugin so `Do` ordinal token works (e.g. `MMMM Do YYYY` now renders `May 16th 2026`) - package.json: alphabetize dayjs position in dependencies - git.ts: fix comment wording "infos" -> "information" - tests: cover new own-property guard, unsafe path rejection, and array path * fix(safeObjectPath): check enumerability not just ownership `hasOwnProperty` returns true for non-enumerable own properties, so the prior `hasOwn` guard let `getAtPath` and `setAtPath` still descend into non-enumerable own data. Switch to `Object.prototype.propertyIsEnumerable` so descent is genuinely limited to own enumerable properties, matching the documented contract. Adds tests covering non-enumerable own reads (treated as missing) and non-enumerable own intermediates in writes (existing value left untouched). * fix(safeObjectPath): match object-path own-check; throw on null intermediate Adjust the safeObjectPath contract so the divergence from object-path is limited to the path-level rejection of __proto__/constructor/prototype. - Switch back to hasOwnProperty for own-property descent. object-path itself uses hasOwnProperty (does not check enumerability), so propertyIsEnumerable was stricter than the original library. Matching object-path is the intended contract. - setAtPath now throws when an intermediate value is null. object-path threw here via the native "Cannot set properties of null" TypeError; the prior implementation silently overwrote null with a fresh container. - Missing/undefined intermediates are still auto-created (object-path behavior); only existing scalar values (including null) throw. Tests updated to cover the null-intermediate throw on both the new helper and the object-path baseline. * fix(safeObjectPath): treat array path entries as literal keys When `path` is a `string[]`, each entry is a caller-supplied property name, including the empty string. Previously the segment normalizer trimmed and filtered empty entries uniformly, which rewrote paths like `["", "key"]` into just `["key"]` and addressed an unrelated property. Now whitespace trimming and empty-segment filtering only apply to string paths (where they remove dot-split artifacts). Array entries are passed through verbatim, matching object-path's lookup behavior. --- packages/honkit/package.json | 2 +- packages/honkit/src/api/encodeConfig.ts | 2 +- .../honkit/src/constants/defaultFilters.ts | 2 + .../__tests__/objectPath.contract.test.ts | 17 ++++ .../src/utils/__tests__/safeObjectPath.ts | 94 +++++++++++++++---- packages/honkit/src/utils/git.ts | 2 +- packages/honkit/src/utils/safeObjectPath.ts | 94 ++++++++++++++----- 7 files changed, 168 insertions(+), 45 deletions(-) diff --git a/packages/honkit/package.json b/packages/honkit/package.json index d2bbd09e7..51c5df6a5 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -51,6 +51,7 @@ "cp": "^0.2.0", "cpr": "^3.0.1", "crc": "^3.8.0", + "dayjs": "^1.11.13", "destroy": "^1.2.0", "direction": "^0.1.5", "dom-serializer": "^0.1.1", @@ -75,7 +76,6 @@ "lru_map": "^0.4.1", "memoize-one": "^5.2.1", "mkdirp": "^1.0.4", - "dayjs": "^1.11.13", "nunjucks": "^3.2.4", "nunjucks-do": "^1.0.0", "omit-keys": "^0.1.0", diff --git a/packages/honkit/src/api/encodeConfig.ts b/packages/honkit/src/api/encodeConfig.ts index 3c1528458..78b69de60 100644 --- a/packages/honkit/src/api/encodeConfig.ts +++ b/packages/honkit/src/api/encodeConfig.ts @@ -16,7 +16,7 @@ function encodeConfig(output: Output, config: Config) { }, set: function (key, value) { - return setAtPath(result.values, key, value); + setAtPath(result.values, key, value); } }; diff --git a/packages/honkit/src/constants/defaultFilters.ts b/packages/honkit/src/constants/defaultFilters.ts index d64d141cd..8a2de4ab0 100644 --- a/packages/honkit/src/constants/defaultFilters.ts +++ b/packages/honkit/src/constants/defaultFilters.ts @@ -1,8 +1,10 @@ import Immutable from "immutable"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; +import advancedFormat from "dayjs/plugin/advancedFormat"; dayjs.extend(relativeTime); +dayjs.extend(advancedFormat); export default Immutable.Map({ // Format a date diff --git a/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts b/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts index 96e4f2056..a0b9ab4ab 100644 --- a/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts +++ b/packages/honkit/src/utils/__tests__/objectPath.contract.test.ts @@ -12,6 +12,11 @@ describe("object-path baseline (pre safeObjectPath)", () => { expect(objectPath.get(obj, "structure.readme")).toBe("README.md"); }); + test("accepts array path", () => { + const obj = { structure: { readme: "README.md" } }; + expect(objectPath.get(obj, ["structure", "readme"])).toBe("README.md"); + }); + test("returns default when path missing", () => { const obj = { a: 1 }; expect(objectPath.get(obj, "b", "fallback")).toBe("fallback"); @@ -62,6 +67,12 @@ describe("object-path baseline (pre safeObjectPath)", () => { expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); }); + test("accepts array path", () => { + const obj: Record = {}; + objectPath.set(obj, ["structure", "readme"], "INTRO.md"); + expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); + }); + test("overwrites existing nested value", () => { const obj: Record = { structure: { readme: "A.md" } }; objectPath.set(obj, "structure.readme", "B.md"); @@ -73,6 +84,12 @@ describe("object-path baseline (pre safeObjectPath)", () => { expect(() => objectPath.set(obj, "a.b", 1)).toThrow(); }); + test("throws when intermediate is null (object-path / native JS)", () => { + const obj: Record = { a: null }; + expect(() => objectPath.set(obj, "a.b", 1)).toThrow(); + expect(obj.a).toBeNull(); + }); + test("uses array index segments like object-path", () => { const obj: Record = {}; objectPath.set(obj, "items.0.name", "first"); diff --git a/packages/honkit/src/utils/__tests__/safeObjectPath.ts b/packages/honkit/src/utils/__tests__/safeObjectPath.ts index 38a94120d..74c266f63 100644 --- a/packages/honkit/src/utils/__tests__/safeObjectPath.ts +++ b/packages/honkit/src/utils/__tests__/safeObjectPath.ts @@ -1,7 +1,7 @@ /** - * Direct unit tests for {@link ../safeObjectPath} — scenarios aligned with - * {@link ./objectPath.contract.test.ts} where semantics match; otherwise documents - * intentional differences (empty path, trimmed segments, set on unsafe keys). + * Direct unit tests for {@link ../safeObjectPath} — mirrors {@link ./objectPath.contract.test.ts} + * to keep object-path compatibility. Documents intentional differences (empty path, trimmed + * segments, unsafe segment handling). */ import { getAtPath, setAtPath } from "../safeObjectPath"; @@ -12,6 +12,17 @@ describe("safeObjectPath", () => { expect(getAtPath(obj, "structure.readme")).toBe("README.md"); }); + test("accepts array path", () => { + const obj = { structure: { readme: "README.md" } }; + expect(getAtPath(obj, ["structure", "readme"])).toBe("README.md"); + }); + + test("array path preserves empty-string segments as literal keys", () => { + const obj = { "": { key: 1 }, a: { "": 2 } }; + expect(getAtPath(obj, ["", "key"], "d")).toBe(1); + expect(getAtPath(obj, ["a", ""], "d")).toBe(2); + }); + test("returns default when path missing", () => { const obj = { a: 1 }; expect(getAtPath(obj, "b", "fallback")).toBe("fallback"); @@ -19,12 +30,13 @@ describe("safeObjectPath", () => { }); test("returns default for null / undefined root", () => { - expect(getAtPath(null as unknown as Record, "a", "d")).toBe("d"); - expect(getAtPath(undefined as unknown as Record, "a", "d")).toBe("d"); + expect(getAtPath(null, "a", "d")).toBe("d"); + expect(getAtPath(undefined, "a", "d")).toBe("d"); }); test("empty path returns default (unlike object-path empty-path root)", () => { expect(getAtPath({ a: 1 }, "", "d")).toBe("d"); + expect(getAtPath({ a: 1 }, [], "d")).toBe("d"); }); test("returns null when key exists with null value", () => { @@ -43,14 +55,22 @@ describe("safeObjectPath", () => { expect(getAtPath({ a: {} }, "a.missing", "d")).toBe("d"); }); - test("unsafe path segments are ignored (prototype pollution guard)", () => { - const obj: Record = { safe: 1 }; + test("does not read inherited prototype properties (matches object-path)", () => { + const obj: Record = Object.create({ inherited: 1 }); + obj.own = 2; + expect(getAtPath(obj, "inherited", "d")).toBe("d"); + expect(getAtPath(obj, "own", "d")).toBe(2); + }); + + test("rejects whole path containing unsafe segments", () => { + const obj: Record = { safe: 1, polluted: "real-value" }; expect(getAtPath(obj, "__proto__.polluted", "d")).toBe("d"); expect(getAtPath(obj, "constructor.prototype.polluted", "d")).toBe("d"); - expect((obj as { polluted?: unknown }).polluted).toBeUndefined(); + // path is not rewritten to "polluted" by stripping __proto__ + expect(getAtPath(obj, "__proto__", "d")).toBe("d"); }); - test("trims segment whitespace (differs from object-path)", () => { + test("trims segment whitespace for string paths (differs from object-path)", () => { expect(getAtPath({ a: { b: 2 } }, " a . b ", "d")).toBe(2); }); }); @@ -62,6 +82,18 @@ describe("safeObjectPath", () => { expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); }); + test("accepts array path", () => { + const obj: Record = {}; + setAtPath(obj, ["structure", "readme"], "INTRO.md"); + expect(obj).toEqual({ structure: { readme: "INTRO.md" } }); + }); + + test("array path preserves empty-string segments when writing", () => { + const obj: Record = {}; + setAtPath(obj, ["", "key"], "v"); + expect(obj).toEqual({ "": { key: "v" } }); + }); + test("overwrites existing nested value", () => { const obj: Record = { structure: { readme: "A.md" } }; setAtPath(obj, "structure.readme", "B.md"); @@ -74,22 +106,46 @@ describe("safeObjectPath", () => { expect(obj.items).toEqual([{ name: "first" }]); }); - test("set on __proto__ path does not mutate object (segments filtered)", () => { + test("throws when intermediate is a non-object scalar (matches object-path)", () => { + const obj: Record = { a: "was-string" }; + expect(() => setAtPath(obj, "a.b", 1)).toThrow(); + }); + + test("throws when intermediate is null (matches object-path / native JS)", () => { + const obj: Record = { a: null }; + expect(() => setAtPath(obj, "a.b", 1)).toThrow(); + // original null is left untouched + expect(obj.a).toBeNull(); + }); + + test("creates missing intermediate when the existing key is undefined", () => { + const obj: Record = {}; + setAtPath(obj, "a.b", 1); + expect(obj).toEqual({ a: { b: 1 } }); + }); + + test("set on path containing __proto__ is a no-op (does not write top-level)", () => { const obj: Record = { ok: true }; - expect(setAtPath(obj, "__proto__", "ignored")).toBe("ignored"); + expect(setAtPath(obj, "__proto__", "ignored")).toBeUndefined(); + expect(setAtPath(obj, "__proto__.polluted", "ignored")).toBeUndefined(); expect(obj).toEqual({ ok: true }); + expect((obj as { polluted?: unknown }).polluted).toBeUndefined(); }); - test("returns the assigned value", () => { - const obj: Record = {}; - expect(setAtPath(obj, "x", 42)).toBe(42); - expect(obj.x).toBe(42); + test("does not descend into inherited objects when setting", () => { + const proto: Record = { nested: { shared: 1 } }; + const obj: Record = Object.create(proto); + setAtPath(obj, "nested.shared", 2); + // own "nested" was created on obj, not mutated on proto + expect(Object.prototype.hasOwnProperty.call(obj, "nested")).toBe(true); + expect(proto.nested).toEqual({ shared: 1 }); + expect((obj.nested as Record).shared).toBe(2); }); - test("replaces string intermediate with object when deepening path", () => { - const obj: Record = { a: "was-string" }; - setAtPath(obj, "a.b", 1); - expect(obj.a).toEqual({ b: 1 }); + test("returns undefined (matches object-path)", () => { + const obj: Record = {}; + expect(setAtPath(obj, "x", 42)).toBeUndefined(); + expect(obj.x).toBe(42); }); }); }); diff --git a/packages/honkit/src/utils/git.ts b/packages/honkit/src/utils/git.ts index e452d35e7..708034120 100644 --- a/packages/honkit/src/utils/git.ts +++ b/packages/honkit/src/utils/git.ts @@ -106,7 +106,7 @@ Git.isUrl = function (giturl) { return giturl.indexOf(GIT_PREFIX) === 0; }; -// Parse and extract infos (git+https://... and git+git@host:path/repo.git/... — no URI.js) +// Parse and extract information (git+https://... and git+git@host:path/repo.git/... — no URI.js) Git.parseUrl = function (giturl) { if (!Git.isUrl(giturl)) return null; giturl = giturl.slice(GIT_PREFIX.length); diff --git a/packages/honkit/src/utils/safeObjectPath.ts b/packages/honkit/src/utils/safeObjectPath.ts index 6bbbcd205..692b07aff 100644 --- a/packages/honkit/src/utils/safeObjectPath.ts +++ b/packages/honkit/src/utils/safeObjectPath.ts @@ -1,24 +1,57 @@ /** * Minimal dot-path get/set with prototype-pollution guards. * Replaces object-path for config key access (e.g. "plugins", "structure.readme"). + * + * Behavior is kept compatible with the previous object-path wrapper: + * - get / set accept `string | string[]` + * - lookups only descend through own properties (matches object-path) + * - set throws when an intermediate value is a non-object scalar (string, + * number, boolean, null) — null follows from native JS, the others match + * object-path's check + * - set returns undefined + * - paths containing __proto__ / constructor / prototype are rejected as a + * whole, so e.g. "__proto__.polluted" does not collapse to "polluted" */ const UNSAFE = new Set(["__proto__", "constructor", "prototype"]); -function segments(path: string): string[] { - return String(path) - .split(".") - .map((s) => s.trim()) - .filter(Boolean) - .filter((s) => !UNSAFE.has(s)); +function toSegments(path: string | string[]): string[] | null { + let parts: string[]; + if (Array.isArray(path)) { + // Array paths are caller-supplied keys — empty string is a valid property name + parts = path.map((s) => String(s)); + } else { + // String paths are dot-delimited; trim whitespace and drop empty split artifacts + parts = String(path) + .split(".") + .map((s) => s.trim()) + .filter((s) => s.length > 0); + } + if (parts.length === 0) { + return null; + } + for (const part of parts) { + if (UNSAFE.has(part)) { + return null; + } + } + return parts; +} + +function hasOwn(obj: object, key: string): boolean { + return Object.prototype.hasOwnProperty.call(obj, key); } -export function getAtPath(obj: Record, path: string, defaultValue?: unknown): unknown { - if (obj == null || path == null || path === "") { +export function getAtPath( + obj: Record | null | undefined, + path: string | string[], + defaultValue?: unknown +): unknown { + if (obj == null || path == null) { return defaultValue; } - const parts = segments(path); - if (parts.length === 0) { + const parts = toSegments(path); + if (parts === null) { return defaultValue; } let cur: unknown = obj; @@ -26,30 +59,45 @@ export function getAtPath(obj: Record, path: string, defaultVal if (cur == null || typeof cur !== "object") { return defaultValue; } + if (!hasOwn(cur as object, key)) { + return defaultValue; + } cur = (cur as Record)[key]; } return cur === undefined ? defaultValue : cur; } -export function setAtPath(obj: Record, path: string, value: unknown): unknown { - if (obj == null || path == null || path === "") { - return value; +export function setAtPath( + obj: Record | null | undefined, + path: string | string[], + value: unknown +): void { + if (obj == null || path == null) { + return; } - const parts = segments(path); - if (parts.length === 0) { - return value; + const parts = toSegments(path); + if (parts === null) { + return; } let cur: Record = obj; for (let i = 0; i < parts.length - 1; i++) { const key = parts[i]; - let next = cur[key]; - if (next == null || typeof next !== "object") { + if (!hasOwn(cur, key) || cur[key] === undefined) { const nextKey = parts[i + 1]; - next = /^\d+$/.test(nextKey) ? [] : {}; - cur[key] = next; + const created: Record | unknown[] = /^\d+$/.test(nextKey) ? [] : {}; + cur[key] = created; + cur = created as Record; + continue; + } + const ownNext = cur[key]; + if (ownNext === null || typeof ownNext !== "object") { + throw new Error( + `safeObjectPath.setAtPath: cannot set "${parts.join(".")}" because intermediate "${parts + .slice(0, i + 1) + .join(".")}" is not an object` + ); } - cur = cur[key] as Record; + cur = ownNext as Record; } - cur[parts[parts.length - 1]] = value as never; - return value; + cur[parts[parts.length - 1]] = value; } From af8922b449af885f635ab14642b36b5cacf6cbf3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 16 May 2026 23:10:15 +0900 Subject: [PATCH 03/17] chore: release v6.1.8 (#511) Co-authored-by: azu <19714+azu@users.noreply.github.com> --- examples/benchmark/package.json | 2 +- examples/book/package.json | 2 +- examples/multiple-languages/package.json | 2 +- package.json | 2 +- packages/@honkit/asciidoc/package.json | 2 +- packages/@honkit/cleaning-tools/package.json | 2 +- packages/@honkit/honkit-plugin-fontsettings/package.json | 2 +- packages/@honkit/honkit-plugin-highlight/package.json | 2 +- packages/@honkit/html/package.json | 2 +- packages/@honkit/internal-test-utils/package.json | 2 +- packages/@honkit/markdown-legacy/package.json | 2 +- packages/@honkit/markdown/package.json | 2 +- packages/@honkit/markup-it/package.json | 2 +- packages/@honkit/theme-default/package.json | 2 +- packages/@honkit/theme/package.json | 2 +- packages/honkit/package.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index c92708a85..f92ae00e8 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "@example/benchmark", - "version": "6.1.7", + "version": "6.1.8", "private": true, "description": "benchmark book", "license": "MIT", diff --git a/examples/book/package.json b/examples/book/package.json index 5b3826882..29a849e1b 100644 --- a/examples/book/package.json +++ b/examples/book/package.json @@ -1,6 +1,6 @@ { "name": "@example/book", - "version": "6.1.7", + "version": "6.1.8", "private": true, "description": "", "keywords": [], diff --git a/examples/multiple-languages/package.json b/examples/multiple-languages/package.json index ab8d4357a..cf9eaba20 100644 --- a/examples/multiple-languages/package.json +++ b/examples/multiple-languages/package.json @@ -1,6 +1,6 @@ { "name": "@example/multiple-languages", - "version": "6.1.7", + "version": "6.1.8", "private": true, "description": "", "keywords": [], diff --git a/package.json b/package.json index 26eb3d0af..b6a43ef5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "honkit-root", - "version": "6.1.7", + "version": "6.1.8", "private": true, "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/asciidoc/package.json b/packages/@honkit/asciidoc/package.json index 3c7af9434..23c3f19e9 100755 --- a/packages/@honkit/asciidoc/package.json +++ b/packages/@honkit/asciidoc/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/asciidoc", - "version": "6.1.7", + "version": "6.1.8", "description": "Parse AsciiDoc content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/cleaning-tools/package.json b/packages/@honkit/cleaning-tools/package.json index ff9b6322f..5e4d67eae 100644 --- a/packages/@honkit/cleaning-tools/package.json +++ b/packages/@honkit/cleaning-tools/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/cleaning-tools", - "version": "6.1.7", + "version": "6.1.8", "type": "module", "description": "Shared eslint and prettier configs for HonKit packages.", "private": true, diff --git a/packages/@honkit/honkit-plugin-fontsettings/package.json b/packages/@honkit/honkit-plugin-fontsettings/package.json index 3541dbd1b..b6998b15a 100644 --- a/packages/@honkit/honkit-plugin-fontsettings/package.json +++ b/packages/@honkit/honkit-plugin-fontsettings/package.json @@ -2,7 +2,7 @@ "name": "@honkit/honkit-plugin-fontsettings", "description": "Fonts and colors themes settings the website for a better reading experience", "main": "index.js", - "version": "6.1.7", + "version": "6.1.8", "license": "Apache-2.0", "homepage": "https://github.com/honkit/honkit", "engines": { diff --git a/packages/@honkit/honkit-plugin-highlight/package.json b/packages/@honkit/honkit-plugin-highlight/package.json index c3d0bab00..f3a78a451 100644 --- a/packages/@honkit/honkit-plugin-highlight/package.json +++ b/packages/@honkit/honkit-plugin-highlight/package.json @@ -1,7 +1,7 @@ { "name": "@honkit/honkit-plugin-highlight", "description": "Default code highlighter for HonKit", - "version": "6.1.7", + "version": "6.1.8", "homepage": "https://github.com/honkit/honkit", "repository": { "type": "git", diff --git a/packages/@honkit/html/package.json b/packages/@honkit/html/package.json index d54736e30..b48c79ffd 100644 --- a/packages/@honkit/html/package.json +++ b/packages/@honkit/html/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/html", - "version": "6.1.7", + "version": "6.1.8", "description": "Parse HTML content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/internal-test-utils/package.json b/packages/@honkit/internal-test-utils/package.json index 1b99de55d..989d93c60 100644 --- a/packages/@honkit/internal-test-utils/package.json +++ b/packages/@honkit/internal-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/internal-test-utils", - "version": "6.1.7", + "version": "6.1.8", "description": "Internal utility for testing.", "homepage": "https://github.com/honkit/honkit/tree/master/packages/@honkit/internal-test-utils/", "bugs": { diff --git a/packages/@honkit/markdown-legacy/package.json b/packages/@honkit/markdown-legacy/package.json index d90c8bc15..492cd7ff7 100644 --- a/packages/@honkit/markdown-legacy/package.json +++ b/packages/@honkit/markdown-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown-legacy", - "version": "6.1.7", + "version": "6.1.8", "description": "Parse markdown content for HonKit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markdown/package.json b/packages/@honkit/markdown/package.json index 0655d020b..f2833ab02 100644 --- a/packages/@honkit/markdown/package.json +++ b/packages/@honkit/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown", - "version": "6.1.7", + "version": "6.1.8", "description": "Parse markdown content for honkit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markup-it/package.json b/packages/@honkit/markup-it/package.json index ce67f0a1e..5a9d0b550 100644 --- a/packages/@honkit/markup-it/package.json +++ b/packages/@honkit/markup-it/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markup-it", - "version": "6.1.7", + "version": "6.1.8", "description": "Pipeline for working with markup input (for example Markdown)", "keywords": [ "draft-js", diff --git a/packages/@honkit/theme-default/package.json b/packages/@honkit/theme-default/package.json index 68ed83676..1a14557ec 100644 --- a/packages/@honkit/theme-default/package.json +++ b/packages/@honkit/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme-default", - "version": "6.1.7", + "version": "6.1.8", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/@honkit/theme/package.json b/packages/@honkit/theme/package.json index 2356fbedb..c895520fa 100644 --- a/packages/@honkit/theme/package.json +++ b/packages/@honkit/theme/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme", - "version": "6.1.7", + "version": "6.1.8", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/honkit/package.json b/packages/honkit/package.json index 51c5df6a5..33a74b22a 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -1,6 +1,6 @@ { "name": "honkit", - "version": "6.1.7", + "version": "6.1.8", "description": "HonKit is building beautiful books using Markdown.", "keywords": [ "git", From df453be0265312e7e1c3f8b5034cc6b7c00800eb Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 17 May 2026 00:00:09 +0900 Subject: [PATCH 04/17] feat: migrate Docker image registry from Docker Hub to GHCR (#512) Switch the published Docker image from `honkit/honkit` on Docker Hub to `ghcr.io/honkit/honkit` on GitHub Container Registry. This removes the need for Docker Hub credentials (DOCKER_HUB_USER/DOCKER_HUB_TOKEN) and uses the built-in GITHUB_TOKEN for authentication. Co-authored-by: Claude Opus 4.7 (1M context) --- .github/workflows/release.yml | 22 +++++++++++----------- README.md | 8 ++++---- docker/README.md | 14 +++++++------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a728f3894..cba33ed1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ on: - closed env: - DOCKER_HUB_BASE_NAME: honkit/honkit + IMAGE_NAME: ghcr.io/honkit/honkit NODE_VERSION: 24 jobs: @@ -136,6 +136,7 @@ jobs: runs-on: ubuntu-latest permissions: contents: read + packages: write steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -157,25 +158,24 @@ jobs: docker buildx build \ --build-arg NODE_VERSION=${NODE_VERSION} \ --build-arg PACKAGE_VERSION=${PACKAGE_VERSION} \ - --tag ${DOCKER_HUB_BASE_NAME}:v${PACKAGE_VERSION} \ + --tag ${IMAGE_NAME}:v${PACKAGE_VERSION} \ --cache-from type=local,src=/tmp/.buildx-cache \ --cache-to type=local,dest=/tmp/.buildx-cache-new,mode=max \ --load \ . working-directory: ./docker - name: Print node version in container image - run: docker run --rm ${DOCKER_HUB_BASE_NAME}:v${PACKAGE_VERSION} --version + run: docker run --rm ${IMAGE_NAME}:v${PACKAGE_VERSION} --version - name: Set latest tag - run: docker tag ${DOCKER_HUB_BASE_NAME}:v${PACKAGE_VERSION} ${DOCKER_HUB_BASE_NAME}:latest + run: docker tag ${IMAGE_NAME}:v${PACKAGE_VERSION} ${IMAGE_NAME}:latest - name: Set major version tag - run: docker tag ${DOCKER_HUB_BASE_NAME}:v${PACKAGE_VERSION} ${DOCKER_HUB_BASE_NAME}:v$(echo $PACKAGE_VERSION | cut -f 1 -d . | tr -d "\n") - - name: Login to Registries - run: echo "${DOCKER_HUB_TOKEN}" | docker login -u ${DOCKER_HUB_USER} --password-stdin + run: docker tag ${IMAGE_NAME}:v${PACKAGE_VERSION} ${IMAGE_NAME}:v$(echo $PACKAGE_VERSION | cut -f 1 -d . | tr -d "\n") + - name: Login to GitHub Container Registry + run: echo "${GITHUB_TOKEN}" | docker login ghcr.io -u ${GITHUB_ACTOR} --password-stdin env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Push to Docker Hub - run: docker push ${DOCKER_HUB_BASE_NAME} --all-tags + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Push to GitHub Container Registry + run: docker push ${IMAGE_NAME} --all-tags - name: Move cache run: | rm -rf /tmp/.buildx-cache diff --git a/README.md b/README.md index 585558780..ae651a8ca 100644 --- a/README.md +++ b/README.md @@ -58,14 +58,14 @@ For more details, see [HonKit's documentation](https://honkit.netlify.app/). ## Docker support -Honkit provide docker image at [honkit/honkit](https://hub.docker.com/r/honkit/honkit). +Honkit provide docker image at [ghcr.io/honkit/honkit](https://github.com/honkit/honkit/pkgs/container/honkit). This docker image includes built-in dependencies for PDF/epub. ``` -docker pull honkit/honkit -docker run -v `pwd`:`pwd` -w `pwd` --rm -it honkit/honkit honkit build -docker run -v `pwd`:`pwd` -w `pwd` --rm -it honkit/honkit honkit pdf +docker pull ghcr.io/honkit/honkit +docker run -v `pwd`:`pwd` -w `pwd` --rm -it ghcr.io/honkit/honkit honkit build +docker run -v `pwd`:`pwd` -w `pwd` --rm -it ghcr.io/honkit/honkit honkit pdf ``` For more details, see [docker/](./docker/). diff --git a/docker/README.md b/docker/README.md index 6422039bb..33618f71a 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,28 +1,28 @@ # Docker Container -- https://hub.docker.com/r/honkit/honkit +- https://github.com/honkit/honkit/pkgs/container/honkit ## Installation - docker pull honkit/honkit + docker pull ghcr.io/honkit/honkit ## Usage Show help - $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it honkit/honkit honkit --help + $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it ghcr.io/honkit/honkit honkit --help Build - $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it honkit/honkit honkit build + $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it ghcr.io/honkit/honkit honkit build PDF build - $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it honkit/honkit honkit pdf + $ docker run -v `pwd`:`pwd` -w `pwd` --rm -it ghcr.io/honkit/honkit honkit pdf Serve on port 4000 - $ docker run -it --init -p 4000:4000 -v `pwd`:`pwd` -w `pwd` --rm honkit/honkit honkit serve + $ docker run -it --init -p 4000:4000 -v `pwd`:`pwd` -w `pwd` --rm ghcr.io/honkit/honkit honkit serve ## Tips @@ -31,7 +31,7 @@ Serve on port 4000 You can create new image includes custom font based on honkit image. ``` -FROM honkit/honkit:latest +FROM ghcr.io/honkit/honkit:latest LABEL maintainer="your@example.com" # Install fonts From d699190b4515fe46bbc3a99b40e74bd8dada3edd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 00:00:39 +0900 Subject: [PATCH 05/17] chore(deps): bump brace-expansion from 1.1.12 to 5.0.6 (#509) Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 5.0.6. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v5.0.6) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 5.0.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b18b4b6f8..5407c18f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1357,14 +1357,14 @@ packages: boundary@1.0.1: resolution: {integrity: sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + brace-expansion@1.1.14: + resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@2.1.0: + resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} - brace-expansion@5.0.4: - resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} braces@3.0.3: @@ -5564,16 +5564,16 @@ snapshots: boundary@1.0.1: {} - brace-expansion@1.1.12: + brace-expansion@1.1.14: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: + brace-expansion@2.1.0: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.4: + brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 @@ -7993,15 +7993,15 @@ snapshots: minimatch@10.2.4: dependencies: - brace-expansion: 5.0.4 + brace-expansion: 5.0.6 minimatch@3.1.5: dependencies: - brace-expansion: 1.1.12 + brace-expansion: 1.1.14 minimatch@5.1.9: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.1.0 minimist-options@3.0.2: dependencies: From 16b1e19aa88416e5eafaa052befcaf4cb21ca62f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 00:03:13 +0900 Subject: [PATCH 06/17] chore: release v6.2.0 (#513) Co-authored-by: azu <19714+azu@users.noreply.github.com> --- examples/benchmark/package.json | 2 +- examples/book/package.json | 2 +- examples/multiple-languages/package.json | 2 +- package.json | 2 +- packages/@honkit/asciidoc/package.json | 2 +- packages/@honkit/cleaning-tools/package.json | 2 +- packages/@honkit/honkit-plugin-fontsettings/package.json | 2 +- packages/@honkit/honkit-plugin-highlight/package.json | 2 +- packages/@honkit/html/package.json | 2 +- packages/@honkit/internal-test-utils/package.json | 2 +- packages/@honkit/markdown-legacy/package.json | 2 +- packages/@honkit/markdown/package.json | 2 +- packages/@honkit/markup-it/package.json | 2 +- packages/@honkit/theme-default/package.json | 2 +- packages/@honkit/theme/package.json | 2 +- packages/honkit/package.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index f92ae00e8..a07692fe1 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "@example/benchmark", - "version": "6.1.8", + "version": "6.2.0", "private": true, "description": "benchmark book", "license": "MIT", diff --git a/examples/book/package.json b/examples/book/package.json index 29a849e1b..a699184d8 100644 --- a/examples/book/package.json +++ b/examples/book/package.json @@ -1,6 +1,6 @@ { "name": "@example/book", - "version": "6.1.8", + "version": "6.2.0", "private": true, "description": "", "keywords": [], diff --git a/examples/multiple-languages/package.json b/examples/multiple-languages/package.json index cf9eaba20..e16228524 100644 --- a/examples/multiple-languages/package.json +++ b/examples/multiple-languages/package.json @@ -1,6 +1,6 @@ { "name": "@example/multiple-languages", - "version": "6.1.8", + "version": "6.2.0", "private": true, "description": "", "keywords": [], diff --git a/package.json b/package.json index b6a43ef5e..a64c8f15c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "honkit-root", - "version": "6.1.8", + "version": "6.2.0", "private": true, "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/asciidoc/package.json b/packages/@honkit/asciidoc/package.json index 23c3f19e9..e6e01452e 100755 --- a/packages/@honkit/asciidoc/package.json +++ b/packages/@honkit/asciidoc/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/asciidoc", - "version": "6.1.8", + "version": "6.2.0", "description": "Parse AsciiDoc content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/cleaning-tools/package.json b/packages/@honkit/cleaning-tools/package.json index 5e4d67eae..ab0f2cb7c 100644 --- a/packages/@honkit/cleaning-tools/package.json +++ b/packages/@honkit/cleaning-tools/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/cleaning-tools", - "version": "6.1.8", + "version": "6.2.0", "type": "module", "description": "Shared eslint and prettier configs for HonKit packages.", "private": true, diff --git a/packages/@honkit/honkit-plugin-fontsettings/package.json b/packages/@honkit/honkit-plugin-fontsettings/package.json index b6998b15a..2fa2b1abb 100644 --- a/packages/@honkit/honkit-plugin-fontsettings/package.json +++ b/packages/@honkit/honkit-plugin-fontsettings/package.json @@ -2,7 +2,7 @@ "name": "@honkit/honkit-plugin-fontsettings", "description": "Fonts and colors themes settings the website for a better reading experience", "main": "index.js", - "version": "6.1.8", + "version": "6.2.0", "license": "Apache-2.0", "homepage": "https://github.com/honkit/honkit", "engines": { diff --git a/packages/@honkit/honkit-plugin-highlight/package.json b/packages/@honkit/honkit-plugin-highlight/package.json index f3a78a451..4ea4001dc 100644 --- a/packages/@honkit/honkit-plugin-highlight/package.json +++ b/packages/@honkit/honkit-plugin-highlight/package.json @@ -1,7 +1,7 @@ { "name": "@honkit/honkit-plugin-highlight", "description": "Default code highlighter for HonKit", - "version": "6.1.8", + "version": "6.2.0", "homepage": "https://github.com/honkit/honkit", "repository": { "type": "git", diff --git a/packages/@honkit/html/package.json b/packages/@honkit/html/package.json index b48c79ffd..6bfcc24e7 100644 --- a/packages/@honkit/html/package.json +++ b/packages/@honkit/html/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/html", - "version": "6.1.8", + "version": "6.2.0", "description": "Parse HTML content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/internal-test-utils/package.json b/packages/@honkit/internal-test-utils/package.json index 989d93c60..0833ea5c5 100644 --- a/packages/@honkit/internal-test-utils/package.json +++ b/packages/@honkit/internal-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/internal-test-utils", - "version": "6.1.8", + "version": "6.2.0", "description": "Internal utility for testing.", "homepage": "https://github.com/honkit/honkit/tree/master/packages/@honkit/internal-test-utils/", "bugs": { diff --git a/packages/@honkit/markdown-legacy/package.json b/packages/@honkit/markdown-legacy/package.json index 492cd7ff7..3574dca53 100644 --- a/packages/@honkit/markdown-legacy/package.json +++ b/packages/@honkit/markdown-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown-legacy", - "version": "6.1.8", + "version": "6.2.0", "description": "Parse markdown content for HonKit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markdown/package.json b/packages/@honkit/markdown/package.json index f2833ab02..193f5b1f5 100644 --- a/packages/@honkit/markdown/package.json +++ b/packages/@honkit/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown", - "version": "6.1.8", + "version": "6.2.0", "description": "Parse markdown content for honkit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markup-it/package.json b/packages/@honkit/markup-it/package.json index 5a9d0b550..764a81f6d 100644 --- a/packages/@honkit/markup-it/package.json +++ b/packages/@honkit/markup-it/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markup-it", - "version": "6.1.8", + "version": "6.2.0", "description": "Pipeline for working with markup input (for example Markdown)", "keywords": [ "draft-js", diff --git a/packages/@honkit/theme-default/package.json b/packages/@honkit/theme-default/package.json index 1a14557ec..bfe1423fa 100644 --- a/packages/@honkit/theme-default/package.json +++ b/packages/@honkit/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme-default", - "version": "6.1.8", + "version": "6.2.0", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/@honkit/theme/package.json b/packages/@honkit/theme/package.json index c895520fa..867c43060 100644 --- a/packages/@honkit/theme/package.json +++ b/packages/@honkit/theme/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme", - "version": "6.1.8", + "version": "6.2.0", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/honkit/package.json b/packages/honkit/package.json index 33a74b22a..d1640c292 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -1,6 +1,6 @@ { "name": "honkit", - "version": "6.1.8", + "version": "6.2.0", "description": "HonKit is building beautiful books using Markdown.", "keywords": [ "git", From 874a52b699b3019aba5e89f45d7ded40adf5bc76 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Sun, 17 May 2026 02:22:27 -0400 Subject: [PATCH 07/17] Add new `report:install` command and `reports/` directory --- package.json | 2 ++ reports/README.md | 10 ++++++ reports/install.log | 68 ++++++++++++++++++++++++++++++++++++ scripts/report-install-ci.sh | 10 ++++++ 4 files changed, 90 insertions(+) create mode 100644 reports/README.md create mode 100644 reports/install.log create mode 100755 scripts/report-install-ci.sh diff --git a/package.json b/package.json index a64c8f15c..6f2e74153 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "build": "pnpm -r --filter \"!@example/*\" run build", "clean": "pnpm -r --filter \"!@example/*\" run clean", "clean-deps": "rm -rf node_modules && pnpm -r exec rm -rf node_modules", + "report:install": "pnpm run clean-deps && rm -f pnpm-lock.yaml && mkdir -p reports && echo \"$ pnpm install\" > reports/install.log && pnpm install >> reports/install.log 2>&1", + "report:install-ci": "bash scripts/report-install-ci.sh", "test": "pnpm -r --filter \"!@example/*\" run test", "updateSnapshot": "pnpm -r --filter \"!@example/*\" run updateSnapshot", "versionup": "echo 'Error: Please use CI for versioning. Run gh workflow run create-release-pr instead.' && exit 1", diff --git a/reports/README.md b/reports/README.md new file mode 100644 index 000000000..c9789912c --- /dev/null +++ b/reports/README.md @@ -0,0 +1,10 @@ +# Reports + +Generated quality and install reports for the Honkit monorepo. + +| Report | Command | +| --- | --- | +| Fresh install log (wiped `node_modules`, regenerated lockfile) | `pnpm run report:install` → `install.log` | +| Install log (CI-shaped, frozen lockfile) | `pnpm run report:install-ci` → `install.log` | + +`report:install` removes workspace `node_modules`, deletes `pnpm-lock.yaml`, and runs `pnpm install` so registry deprecation warnings appear in `install.log`. Use before dependency cleanup work; commit the updated lockfile separately when intentional. diff --git a/reports/install.log b/reports/install.log new file mode 100644 index 000000000..ca973af7a --- /dev/null +++ b/reports/install.log @@ -0,0 +1,68 @@ +$ pnpm install +Scope: all 16 workspace projects +(node:45558) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(Use `node --trace-deprecation ...` to show where the warning was created) +Progress: resolved 1, reused 0, downloaded 0, added 0 +Progress: resolved 20, reused 13, downloaded 3, added 0 +Progress: resolved 31, reused 20, downloaded 6, added 0 +Progress: resolved 42, reused 29, downloaded 7, added 0 +Progress: resolved 48, reused 32, downloaded 8, added 0 +Progress: resolved 51, reused 33, downloaded 10, added 0 +Progress: resolved 55, reused 36, downloaded 10, added 0 +Progress: resolved 68, reused 48, downloaded 17, added 0 +Progress: resolved 89, reused 68, downloaded 19, added 0 +Progress: resolved 89, reused 68, downloaded 20, added 0 +Progress: resolved 90, reused 68, downloaded 20, added 0 +Progress: resolved 91, reused 68, downloaded 20, added 0 +Progress: resolved 108, reused 80, downloaded 22, added 0 +Progress: resolved 134, reused 101, downloaded 28, added 0 +Progress: resolved 152, reused 117, downloaded 29, added 0 +Progress: resolved 184, reused 144, downloaded 33, added 0 +Progress: resolved 210, reused 165, downloaded 36, added 0 +Progress: resolved 260, reused 188, downloaded 39, added 0 +Progress: resolved 295, reused 220, downloaded 44, added 0 +Progress: resolved 353, reused 275, downloaded 47, added 0 +Progress: resolved 410, reused 328, downloaded 51, added 0 +Progress: resolved 428, reused 346, downloaded 51, added 0 +Progress: resolved 434, reused 351, downloaded 51, added 0 +Progress: resolved 440, reused 357, downloaded 53, added 0 +Progress: resolved 456, reused 370, downloaded 54, added 0 +Progress: resolved 486, reused 395, downloaded 58, added 0 +Progress: resolved 513, reused 418, downloaded 61, added 0 +Progress: resolved 539, reused 432, downloaded 65, added 0 +Progress: resolved 559, reused 443, downloaded 81, added 0 +Progress: resolved 596, reused 473, downloaded 87, added 0 +Progress: resolved 665, reused 536, downloaded 93, added 0 +Progress: resolved 692, reused 557, downloaded 101, added 0 +Progress: resolved 703, reused 567, downloaded 103, added 0 +Progress: resolved 713, reused 576, downloaded 104, added 0 +Progress: resolved 747, reused 606, downloaded 106, added 0 +Progress: resolved 772, reused 622, downloaded 110, added 0 +Progress: resolved 803, reused 636, downloaded 125, added 0 +Progress: resolved 857, reused 674, downloaded 148, added 0 +Progress: resolved 919, reused 729, downloaded 155, added 0 +Progress: resolved 981, reused 774, downloaded 164, added 0 +Progress: resolved 1061, reused 834, downloaded 186, added 0 +Progress: resolved 1070, reused 837, downloaded 206, added 0 +Progress: resolved 1071, reused 837, downloaded 209, added 0 + WARN  17 deprecated subdependencies found: abab@2.0.6, boom@2.10.1, cryptiles@2.0.5, domexception@4.0.0, glob@7.2.3, glob@8.1.0, har-validator@4.2.1, hawk@3.1.3, hoek@2.16.3, inflight@1.0.6, markdown-to-ast@4.0.0, request@2.81.0, sntp@1.0.9, trim@0.0.1, uuid@3.4.0, whatwg-encoding@2.0.0, whatwg-encoding@3.1.1 +Packages: +1047 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Progress: resolved 1072, reused 837, downloaded 209, added 0 +Progress: resolved 1072, reused 837, downloaded 210, added 347 +Progress: resolved 1072, reused 837, downloaded 210, added 662 +Progress: resolved 1072, reused 837, downloaded 210, added 1047, done +.../esbuild@0.27.7/node_modules/esbuild postinstall$ node install.js +.../esbuild@0.27.7/node_modules/esbuild postinstall: Done +. prepare$ git config --local core.hooksPath .githooks +. prepare: Done + +devDependencies: ++ @honkit/cleaning-tools 6.2.0 <- packages/@honkit/cleaning-tools ++ eslint 9.39.4 (10.4.0 is available) ++ honkit 6.2.0 <- packages/honkit ++ lint-staged 16.4.0 (17.0.5 is available) ++ prettier 3.8.3 ++ typescript 5.9.3 (6.0.3 is available) + +Done in 48.5s diff --git a/scripts/report-install-ci.sh b/scripts/report-install-ci.sh new file mode 100755 index 000000000..c468d87c2 --- /dev/null +++ b/scripts/report-install-ci.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# CI-safe sibling of `pnpm run report:install`: writes the same reports/install.log +# shape (leading `$ pnpm …` line + full install output) but uses a frozen lockfile and +# does not delete node_modules or pnpm-lock.yaml. +set -euo pipefail +mkdir -p reports +{ + echo '$ pnpm install --frozen-lockfile' + pnpm install --frozen-lockfile +} 2>&1 | tee reports/install.log From 5d185017d3ea6de8821261c77d4bc0f9da8d7ced Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Sun, 17 May 2026 02:32:13 -0400 Subject: [PATCH 08/17] Remove deprecated copy and livereload dependencies Replace cpr/cp directory copies with Node fs helpers, swap tiny-lr for livereload (no raw-body chain), and require Node >=20. Refresh lockfile and reports/install.log after report:install. --- packages/honkit/package.json | 7 +- packages/honkit/src/cli/serve.ts | 25 +- packages/honkit/src/utils/fs.ts | 41 +- pnpm-lock.yaml | 3074 ++++++++++++++++-------------- reports/install.log | 74 +- 5 files changed, 1683 insertions(+), 1538 deletions(-) diff --git a/packages/honkit/package.json b/packages/honkit/package.json index d1640c292..78fe245f4 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -48,8 +48,6 @@ "cheerio": "^1.0.0", "chokidar": "^3.6.0", "commander": "^5.1.0", - "cp": "^0.2.0", - "cpr": "^3.0.1", "crc": "^3.8.0", "dayjs": "^1.11.13", "destroy": "^1.2.0", @@ -73,6 +71,7 @@ "json-schema-defaults": "^0.1.1", "jsonschema": "1.1.0", "juice": "^8.1.0", + "livereload": "^0.10.3", "lru_map": "^0.4.1", "memoize-one": "^5.2.1", "mkdirp": "^1.0.4", @@ -83,9 +82,11 @@ "resolve": "^1.22.8", "semver": "^7.6.3", "send": "^0.19.2", - "tiny-lr": "^1.1.1", "tmp": "0.2.4" }, + "engines": { + "node": ">=20" + }, "devDependencies": { "@honkit/internal-test-utils": "workspace:*", "@relmify/jest-serializer-strip-ansi": "^1.0.2", diff --git a/packages/honkit/src/cli/serve.ts b/packages/honkit/src/cli/serve.ts index 2c6480300..1808eab98 100644 --- a/packages/honkit/src/cli/serve.ts +++ b/packages/honkit/src/cli/serve.ts @@ -1,4 +1,4 @@ -import tinylr from "tiny-lr"; +import livereload from "livereload"; import open from "open"; import Immutable from "immutable"; import Parse from "../parse"; @@ -18,12 +18,8 @@ import fs from "fs"; let server, lrServer, lrPath; function triggerLiveReload() { - if (lrPath) { - lrServer.changed({ - body: { - files: [lrPath] - } - }); + if (lrPath && lrServer) { + lrServer.refresh(lrPath); } } @@ -201,17 +197,18 @@ export default { return Promise() .then(() => { - if (!hasWatch || !hasLiveReloading) { + if (!hasWatch || !hasLiveReloading || kwargs.lrport === 0) { return; } - lrServer = tinylr({}); - - return Promise.nfcall(lrServer.listen.bind(lrServer), kwargs.lrport).then(() => { - console.log("Live reload server started on port:", kwargs.lrport); - console.log("Press CTRL+C to quit ..."); - console.log(""); + lrServer = livereload.createServer({ + port: kwargs.lrport }); + + console.log("Live reload server started on port:", kwargs.lrport); + console.log("Press CTRL+C to quit ..."); + console.log(""); + return Promise(); }) .then(() => { return startServer(args, kwargs); diff --git a/packages/honkit/src/utils/fs.ts b/packages/honkit/src/utils/fs.ts index aa46ce700..3842b5746 100644 --- a/packages/honkit/src/utils/fs.ts +++ b/packages/honkit/src/utils/fs.ts @@ -3,8 +3,6 @@ import mkdirp from "mkdirp"; import destroy from "destroy"; import tmp from "tmp"; import path from "path"; -import cp from "cp"; -import cpr from "cpr"; import Promise from "./promise"; import http from "http"; import https from "https"; @@ -184,6 +182,41 @@ function ensureFolder(rootFolder) { }); } +function copyFile(src, dest) { + const d = Promise.defer(); + fs.promises + .copyFile(src, dest) + .then(() => d.resolve()) + .catch((err) => d.reject(err)); + return d.promise; +} + +async function copyDirRecursive(src, dest, opts) { + if (opts.deleteFirst) { + await fs.promises.rm(dest, { recursive: true, force: true }).catch(() => undefined); + } + await fs.promises.mkdir(dest, { recursive: true }); + const entries = await fs.promises.readdir(src, { withFileTypes: true }); + for (const entry of entries) { + const from = path.join(src, entry.name); + const to = path.join(dest, entry.name); + if (entry.isDirectory()) { + await copyDirRecursive(from, to, { ...opts, deleteFirst: false }); + } else { + await fs.promises.copyFile(from, to); + } + } +} + +function copyDir(src, dest, options) { + const d = Promise.defer(); + const opts = options || {}; + copyDirRecursive(src, dest, opts) + .then(() => d.resolve()) + .catch((err) => d.reject(err)); + return d.promise; +} + export default { exists: fileExists, existsSync: fs.existsSync, @@ -211,9 +244,9 @@ export default { writeStream: writeStream, readStream: fs.createReadStream, - copy: Promise.nfbind(cp), + copy: copyFile, - copyDir: Promise.nfbind(cpr), + copyDir: copyDir, tmpFile: genTmpFile, /** * @deprecated use tmpdir.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5407c18f5..80713738b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,13 +19,13 @@ importers: version: link:packages/honkit lint-staged: specifier: ^16.0.0 - version: 16.1.6 + version: 16.4.0 prettier: specifier: ^3.3.3 - version: 3.3.3 + version: 3.8.3 typescript: specifier: ^5.6.2 - version: 5.6.2 + version: 5.9.3 examples/benchmark: devDependencies: @@ -34,7 +34,7 @@ importers: version: link:../../packages/@honkit/internal-test-utils '@types/jest': specifier: ^29.5.13 - version: 29.5.13 + version: 29.5.14 benchmark: specifier: ^2.1.4 version: 2.1.4 @@ -67,10 +67,10 @@ importers: version: link:../../packages/honkit jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)))(typescript@5.6.2) + version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) examples/book: devDependencies: @@ -91,17 +91,17 @@ importers: version: link:../html asciidoctor: specifier: ^2.2.8 - version: 2.2.8 + version: 2.2.9 devDependencies: '@types/jest': specifier: ^29.5.13 - version: 29.5.13 + version: 29.5.14 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)))(typescript@5.6.2) + version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/cleaning-tools: devDependencies: @@ -110,7 +110,7 @@ importers: version: 9.39.4 '@stylistic/eslint-plugin-js': specifier: ^2.9.0 - version: 2.9.0(eslint@9.39.4) + version: 2.13.0(eslint@9.39.4) eslint: specifier: ^9.39.4 version: 9.39.4 @@ -119,7 +119,7 @@ importers: version: 9.1.2(eslint@9.39.4) globals: specifier: ^15.0.0 - version: 15.10.0 + version: 15.15.0 packages/@honkit/honkit-plugin-fontsettings: devDependencies: @@ -131,13 +131,13 @@ importers: version: 9.39.4 less: specifier: ^4.2.0 - version: 4.2.0 + version: 4.6.4 packages/@honkit/honkit-plugin-highlight: dependencies: highlight.js: specifier: ^11.10.0 - version: 11.10.0 + version: 11.11.1 devDependencies: less: specifier: ^3.13.1 @@ -150,35 +150,35 @@ importers: version: 1.2.0 lodash: specifier: ^4.17.23 - version: 4.17.23 + version: 4.18.1 devDependencies: mocha: specifier: ^10.8.2 version: 10.8.2 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.7.4)(typescript@5.6.2) + version: 10.9.2(@types/node@22.19.19)(typescript@5.9.3) typescript: specifier: ^5.6.2 - version: 5.6.2 + version: 5.9.3 packages/@honkit/internal-test-utils: devDependencies: '@types/node': specifier: ^22.7.4 - version: 22.7.4 + version: 22.19.19 prettier: specifier: ^3.3.3 - version: 3.3.3 + version: 3.8.3 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 typescript: specifier: ^5.6.2 - version: 5.6.2 + version: 5.9.3 packages/@honkit/markdown: dependencies: @@ -194,16 +194,16 @@ importers: devDependencies: '@types/jest': specifier: ^29.5.13 - version: 29.5.13 + version: 29.5.14 '@types/node': specifier: ^22.7.4 - version: 22.7.4 + version: 22.19.19 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)))(typescript@5.6.2) + version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/markdown-legacy: dependencies: @@ -215,11 +215,11 @@ importers: version: 0.5.6 lodash: specifier: ^4.17.23 - version: 4.17.23 + version: 4.18.1 devDependencies: jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) packages/@honkit/markup-it: dependencies: @@ -237,7 +237,7 @@ importers: version: 3.8.3 is: specifier: ^3.3.0 - version: 3.3.0 + version: 3.3.2 object-values: specifier: ^2.0.0 version: 2.0.0 @@ -250,28 +250,28 @@ importers: version: link:../cleaning-tools '@types/jest': specifier: ^29.5.13 - version: 29.5.13 + version: 29.5.14 '@types/node': specifier: ^22.7.4 - version: 22.7.4 + version: 22.19.19 eslint: specifier: ^9.39.4 version: 9.39.4 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jsdom: specifier: ^20.0.3 version: 20.0.3 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 should: specifier: ^13.2.3 version: 13.2.3 ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)))(typescript@5.6.2) + version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/theme: devDependencies: @@ -280,13 +280,13 @@ importers: version: 4.2.0 esbuild: specifier: ^0.27.4 - version: 0.27.4 + version: 0.27.7 gitbook-markdown-css: specifier: ^1.1.0 version: 1.1.0 less: specifier: ^2.7.1 - version: 2.7.1 + version: 2.7.3 less-plugin-clean-css: specifier: ^1.6.0 version: 1.6.0 @@ -298,7 +298,7 @@ importers: version: 4.1.5 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 packages/@honkit/theme-default: devDependencies: @@ -307,7 +307,7 @@ importers: version: link:../cleaning-tools browserify: specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.1 cpy-cli: specifier: ^4.2.0 version: 4.2.0 @@ -316,16 +316,16 @@ importers: version: 9.39.4 font-awesome: specifier: ^4.6.3 - version: 4.6.3 + version: 4.7.0 gitbook-markdown-css: specifier: ^1.0.1 version: 1.1.0 jquery: specifier: ^3.5.1 - version: 3.5.1 + version: 3.7.1 less: specifier: ^2.7.1 - version: 2.7.1 + version: 2.7.3 less-plugin-clean-css: specifier: ^1.6.0 version: 1.6.0 @@ -334,16 +334,16 @@ importers: version: 1.0.4 mousetrap: specifier: ^1.6.0 - version: 1.6.0 + version: 1.6.5 npm-run-all: specifier: ^4.1.5 version: 4.1.5 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 uglify-js: specifier: ^3.17.0 - version: 3.17.0 + version: 3.19.3 packages/honkit: dependencies: @@ -377,12 +377,6 @@ importers: commander: specifier: ^5.1.0 version: 5.1.0 - cp: - specifier: ^0.2.0 - version: 0.2.0 - cpr: - specifier: ^3.0.1 - version: 3.0.1 crc: specifier: ^3.8.0 version: 3.8.0 @@ -439,7 +433,7 @@ importers: version: 3.8.3 is: specifier: ^3.3.0 - version: 3.3.0 + version: 3.3.2 js-yaml: specifier: ^4.1.0 version: 4.1.1 @@ -451,7 +445,10 @@ importers: version: 1.1.0 juice: specifier: ^8.1.0 - version: 8.1.0(encoding@0.1.13) + version: 8.1.0 + livereload: + specifier: ^0.10.3 + version: 0.10.3 lru_map: specifier: ^0.4.1 version: 0.4.1 @@ -475,16 +472,13 @@ importers: version: 7.4.2 resolve: specifier: ^1.22.8 - version: 1.22.8 + version: 1.22.12 semver: specifier: ^7.6.3 - version: 7.6.3 + version: 7.8.0 send: specifier: ^0.19.2 version: 0.19.2 - tiny-lr: - specifier: ^1.1.1 - version: 1.1.1 tmp: specifier: 0.2.4 version: 0.2.4 @@ -497,28 +491,28 @@ importers: version: 1.0.2 '@types/jest': specifier: ^29.5.13 - version: 29.5.13 + version: 29.5.14 '@types/node': specifier: ^22.7.4 - version: 22.7.4 + version: 22.19.19 '@types/nunjucks': specifier: ^3.2.6 version: 3.2.6 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jest-mock-process: specifier: ^2.0.0 - version: 2.0.0(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2))) + version: 2.0.0(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3))) object-path: specifier: ^0.11.8 version: 0.11.8 rimraf: specifier: ^6.0.1 - version: 6.0.1 + version: 6.1.3 typescript: specifier: ^5.6.2 - version: 5.6.2 + version: 5.9.3 packages: @@ -529,8 +523,8 @@ packages: peerDependencies: '@asciidoctor/core': ^2.0.0-rc.1 - '@asciidoctor/core@2.2.8': - resolution: {integrity: sha512-oozXk7ZO1RAd/KLFLkKOhqTcG4GO3CV44WwOFg2gMcCsqCUTarvMT7xERIoWW2WurKbB0/ce+98r01p8xPOlBw==} + '@asciidoctor/core@2.2.9': + resolution: {integrity: sha512-tIPRHo1T2SFmAm+j77cDsj0RuaszP7xJxsaVTTAF5CwKyTbazw9TnIVlpIWM5yWfIWAWcAZy92RcnPgMJwny1w==} engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} '@azu/format-text@1.0.2': @@ -540,8 +534,8 @@ packages: resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} + '@babel/compat-data@7.29.3': + resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} engines: {node: '>=6.9.0'} '@babel/core@7.29.0': @@ -590,8 +584,8 @@ packages: resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + '@babel/parser@7.29.3': + resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} engines: {node: '>=6.0.0'} hasBin: true @@ -705,158 +699,158 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -899,12 +893,16 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.7': - resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': @@ -915,16 +913,12 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} engines: {node: '>=8'} '@jest/console@29.7.0': @@ -1003,15 +997,9 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -1033,8 +1021,8 @@ packages: '@relmify/jest-serializer-strip-ansi@1.0.2': resolution: {integrity: sha512-cJv6weXt7Bk0PEpWNtw0UGOddIbEvNLPlbYb+594xxe5WXs3SSA29tCK57Vg6q46wHEpY1kOCmgQhE8EcIXPKw==} - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sinclair/typebox@0.27.10': + resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} @@ -1042,8 +1030,8 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@stylistic/eslint-plugin-js@2.9.0': - resolution: {integrity: sha512-h08DQybPsXxIvHIvQqU1tFWcu74M7kZK/0S0jVIDdoHSFq7jB+TzxikBWAg5j0lPR17WsGGGHAS8GHFlAAQXHA==} + '@stylistic/eslint-plugin-js@2.13.0': + resolution: {integrity: sha512-GPPDK4+fcbsQD58a3abbng2Dx+jBoxM5cnYjBM4T24WFZRZdlNSKvR19TxP8CPevzMOodQ9QVzNeqWvMXzfJRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -1057,12 +1045,12 @@ packages: '@textlint/markdown-to-ast@6.3.5': resolution: {integrity: sha512-DjVEy61klC8OjQYP+iIukI95pjCM58jhpE046apqGWLo6JQSatfscJlcxmbRivfTQSVsa00RF2ciUFBmw3bobg==} - '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + '@tootallnate/once@2.0.1': + resolution: {integrity: sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==} engines: {node: '>= 10'} - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} @@ -1076,17 +1064,17 @@ packages: '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -1100,8 +1088,8 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/jest@29.5.13': - resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1109,8 +1097,8 @@ packages: '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/node@22.7.4': - resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} + '@types/node@22.19.19': + resolution: {integrity: sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1130,8 +1118,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1159,8 +1147,8 @@ packages: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} acorn@7.4.1: @@ -1168,11 +1156,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} @@ -1186,8 +1169,11 @@ packages: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + ajv@4.11.8: + resolution: {integrity: sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==} + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1197,16 +1183,16 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1221,8 +1207,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} anymatch@3.1.3: @@ -1238,8 +1224,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} array-difference@0.0.1: @@ -1249,8 +1235,8 @@ packages: resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} engines: {node: '>=0.10.0'} - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} arrify@1.0.1: @@ -1264,23 +1250,35 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - asciidoctor-opal-runtime@0.3.3: - resolution: {integrity: sha512-/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==} + asciidoctor-opal-runtime@0.3.4: + resolution: {integrity: sha512-zqd6zn1LV+PZ69AP/kEbB00zuPHMIAJY3IX8+aZV+X1qOwatYvKGjsMmdMc5ApfhtkjZ4mYkqiTPJWnEnBiMJg==} engines: {node: '>=8.11'} - asciidoctor@2.2.8: - resolution: {integrity: sha512-G+sDYWnNo+QHRkIvN5k7ASbvrd2bHuNXHlZ83+PjVFYtl0//as5iebq+Bdf3aSwXrkM7akcEJPUpdTjjP0MgYw==} + asciidoctor@2.2.9: + resolution: {integrity: sha512-lzviGTZ/tnnmDLIE+fY/m8aUc6lGTGRNh5rTC1HPevlc89G0iYez+sQFT60oZ87BPzOYllP+TeK1xh0D1wt/6Q==} engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} hasBin: true asn1.js@4.10.1: resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@0.2.0: + resolution: {integrity: sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==} + engines: {node: '>=0.8'} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + assert@1.5.1: resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1289,6 +1287,12 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + aws-sign2@0.6.0: + resolution: {integrity: sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1303,10 +1307,10 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - babel-preset-current-node-syntax@1.1.0: - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0 || ^8.0.0-0 babel-preset-jest@29.6.3: resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} @@ -1327,14 +1331,17 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.8: - resolution: {integrity: sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true bash-color@0.0.4: resolution: {integrity: sha512-ZNB4525U7BxT6v9C8LEtywyCgB4Pjnm7/bh+ru/Z9Ecxvg3fDjaJ6z305z9a61orQdbB1zqYHh5JbUqx4s4K0g==} + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + benchmark@2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} @@ -1348,12 +1355,14 @@ packages: bn.js@5.2.3: resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} - body@5.1.0: - resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + boom@2.10.1: + resolution: {integrity: sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + boundary@1.0.1: resolution: {integrity: sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==} @@ -1397,20 +1406,20 @@ packages: resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} engines: {node: '>= 0.10'} - browserify-sign@4.2.3: - resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} - engines: {node: '>= 0.12'} + browserify-sign@4.2.5: + resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} + engines: {node: '>= 0.10'} browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserify@17.0.0: - resolution: {integrity: sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==} + browserify@17.0.1: + resolution: {integrity: sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw==} engines: {node: '>= 0.8'} hasBin: true - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1436,9 +1445,6 @@ packages: builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - bytes@1.0.0: - resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} - cached-path-relative@1.1.0: resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} @@ -1446,12 +1452,8 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} engines: {node: '>= 0.4'} call-bound@1.0.4: @@ -1482,8 +1484,11 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001780: - resolution: {integrity: sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} @@ -1496,10 +1501,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.6.0: - resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -1522,10 +1523,6 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0: - resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} - engines: {node: '>=18.17'} - cheerio@1.0.0-rc.10: resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} @@ -1538,6 +1535,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -1546,8 +1547,8 @@ packages: resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} engines: {node: '>= 0.10'} - cjs-module-lexer@1.4.1: - resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} clean-css@5.3.3: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} @@ -1561,9 +1562,9 @@ packages: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-truncate@5.2.0: + resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} + engines: {node: '>=20'} cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -1582,14 +1583,14 @@ packages: codemirror-console@2.0.1: resolution: {integrity: sha512-Wl/nQvMZ70yWsErGFyPKqPw30pDBR7tmzeLk4aIqNTVgufrgjssk8xDykD3hwSdoRNp178O4GGANo2nqnX0SOg==} - codemirror@5.65.18: - resolution: {integrity: sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA==} + codemirror@5.65.21: + resolution: {integrity: sha512-6teYk0bA0nR3QP0ihGMoxuKzpl5W80FpnHpBJpgy66NK3cZv5b/d/HY8PnRvfSsCG1MTfr92u2WUl+wT0E40mQ==} collapse-white-space@1.0.6: resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1614,8 +1615,8 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@14.0.0: - resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} commander@5.1.0: @@ -1642,9 +1643,6 @@ packages: context-eval@0.1.0: resolution: {integrity: sha512-KT2jIYLiE3Q5m9meaKFyhHzTomPdpsW1UokoPEFHvTup/UTnkSeia32tl6y6BmrO1yztWQp+8vKgrI7BIahX4w==} - continuable-cache@0.3.1: - resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} - convert-source-map@1.1.3: resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} @@ -1654,6 +1652,13 @@ packages: copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -1661,13 +1666,6 @@ packages: resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} engines: {node: '>=10'} - cp@0.2.0: - resolution: {integrity: sha512-4ftCvShHjIZG/zzomHyunNpBof3sOFTTmU6s6q9DdqAL/ANqrKV3pr6Z6kVfBI4hjn59DFLImrBqn7GuuMqSZA==} - - cpr@3.0.1: - resolution: {integrity: sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==} - hasBin: true - cpy-cli@4.2.0: resolution: {integrity: sha512-b04b+cbdr29CdpREPKw/itrfjO43Ty0Aj7wRM6M6LoE4GJxZJCk9Xp+Eu1IqztkKh3LxIBt1tDplENsa6KYprg==} engines: {node: '>=12.20'} @@ -1705,17 +1703,23 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + cryptiles@2.0.5: + resolution: {integrity: sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} cssom@0.3.8: @@ -1735,20 +1739,24 @@ packages: dash-ast@1.0.0: resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} engines: {node: '>= 0.4'} - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} dayjs@1.11.20: @@ -1762,25 +1770,8 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1804,11 +1795,11 @@ packages: resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} engines: {node: '>=10'} - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -1926,9 +1917,6 @@ packages: domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -1939,19 +1927,14 @@ packages: duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - - electron-to-chromium@1.5.321: - resolution: {integrity: sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==} + electron-to-chromium@1.5.357: + resolution: {integrity: sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -1960,15 +1943,12 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - emoji-regex@10.5.0: - resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} @@ -1976,9 +1956,6 @@ packages: encoding-sniffer@0.2.1: resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} @@ -2005,18 +1982,14 @@ packages: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} error@7.0.2: resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -2027,28 +2000,20 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true @@ -2098,10 +2063,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.1.0: - resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2116,10 +2077,6 @@ packages: jiti: optional: true - espree@10.2.0: - resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2129,8 +2086,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -2149,8 +2106,8 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} @@ -2174,11 +2131,15 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -2190,16 +2151,12 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} fault@1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} - faye-websocket@0.10.0: - resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} - engines: {node: '>=0.4.0'} - fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -2207,9 +2164,6 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2234,23 +2188,23 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.4.1: - resolution: {integrity: sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==} + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} - font-awesome@4.6.3: - resolution: {integrity: sha512-I5rWuHv7MI5uYDGFT1SJohxdkTfks41QQ9fvMEzvBnWppsehXnoj8LNuW4MGtawSrHvApYVhCZSC7rk5wDycyw==} + font-awesome@4.7.0: + resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} engines: {node: '>=0.10.3'} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.1.4: + resolution: {integrity: sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==} + engines: {node: '>= 0.12'} form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} @@ -2281,13 +2235,17 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2299,14 +2257,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.3.1: - resolution: {integrity: sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -2323,10 +2277,13 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + gitbook-markdown-css@1.1.0: resolution: {integrity: sha512-LIVvzVaKOlki3aG97sJoAnjnNYUlo6Y9g+JpJ3z4msUh/eX1O5MRAsjkejAxVMv8oalE/lueZhvUZtVpSIkdmA==} @@ -2380,15 +2337,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - - glob@7.1.3: - resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -2403,8 +2354,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.10.0: - resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2415,9 +2366,6 @@ packages: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2425,17 +2373,27 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + handlebars@4.7.9: + resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} engines: {node: '>=0.4.7'} hasBin: true + har-schema@1.0.5: + resolution: {integrity: sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==} + engines: {node: '>=4'} + + har-validator@4.2.1: + resolution: {integrity: sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==} + engines: {node: '>=4'} + deprecated: this library is no longer supported + hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -2448,12 +2406,8 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} has-symbols@1.1.0: @@ -2468,9 +2422,9 @@ packages: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - hash-base@3.0.4: - resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} - engines: {node: '>=4'} + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} hash-base@3.1.2: resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} @@ -2479,21 +2433,31 @@ packages: hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + hasown@2.0.3: + resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} + hawk@3.1.3: + resolution: {integrity: sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==} + engines: {node: '>=0.10.32'} + deprecated: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - highlight.js@11.10.0: - resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} + highlight.js@11.11.1: + resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoek@2.16.3: + resolution: {integrity: sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2531,20 +2495,18 @@ packages: htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - htmlparser2@9.1.0: - resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} + http-signature@1.1.1: + resolution: {integrity: sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} @@ -2620,8 +2582,8 @@ packages: resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} hasBin: true - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} is-alphabetical@1.0.4: @@ -2634,26 +2596,31 @@ packages: is-alphanumerical@1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} is-buffer@1.1.6: @@ -2663,16 +2630,16 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} is-decimal@1.0.4: @@ -2687,14 +2654,14 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - is-fullwidth-code-point@5.1.0: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} @@ -2703,8 +2670,8 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -2714,12 +2681,16 @@ packages: is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -2737,44 +2708,60 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + is-whitespace-character@1.0.4: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} @@ -2785,8 +2772,9 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is@3.3.0: - resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==} + is@3.3.2: + resolution: {integrity: sha512-a2xr4E3s1PjDS8ORcGgXpWx6V+liNs+O3JRD2mb9aeugD7rtkkZ0zgLdYgw0tWsKhsdiezGYptSiMlVazCBTuQ==} + engines: {node: '>= 0.4'} isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -2801,6 +2789,9 @@ packages: resolution: {integrity: sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ==} engines: {node: '>=0.10.0'} + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -2821,19 +2812,10 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} - engines: {node: 20 || >=22} - - jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2968,8 +2950,8 @@ packages: node-notifier: optional: true - jquery@3.5.1: - resolution: {integrity: sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==} + jquery@3.7.1: + resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2982,6 +2964,9 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -2991,8 +2976,8 @@ packages: canvas: optional: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true @@ -3011,9 +2996,19 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify@1.3.0: + resolution: {integrity: sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==} + engines: {node: '>= 0.4'} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3022,6 +3017,9 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -3029,6 +3027,10 @@ packages: jsonschema@1.1.0: resolution: {integrity: sha512-nQhT+ioA1XM8CpxJYlBfcUj6HF3f3f2KbLgV3tcxOt85RKpk2b0Do/C5BnCCCfdAarAjWRSFlln0Uanl4tBCHA==} + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + juice@8.1.0: resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} engines: {node: '>=10.0.0'} @@ -3063,8 +3065,8 @@ packages: resolution: {integrity: sha512-jwXX6WlXT57OVCXa5oBJBaJq1b4s1BOKeEEoAL2UTeEitogQWfTcBbLT/vow9pl0N0MXV8Mb4KyhTGG0YbEKyQ==} engines: {node: '>=0.10'} - less@2.7.1: - resolution: {integrity: sha512-C7dSI8hOBbZ7qmnpjMFjpwWRs6bVcrJsRmap7onnTy4N14ye6KtB7UY0ZqY1ejHf/3a2JxzVYAd+yulIRdT1nw==} + less@2.7.3: + resolution: {integrity: sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==} engines: {node: '>=0.12'} hasBin: true @@ -3073,9 +3075,9 @@ packages: engines: {node: '>=6'} hasBin: true - less@4.2.0: - resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} - engines: {node: '>=6'} + less@4.6.4: + resolution: {integrity: sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==} + engines: {node: '>=18'} hasBin: true leven@3.1.0: @@ -3086,24 +3088,25 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@16.1.6: - resolution: {integrity: sha512-U4kuulU3CKIytlkLlaHcGgKscNfJPNTiDF2avIUGFCv7K95/DCYQ7Ra62ydeRWmgQGg9zJYw2dzdbztwJlqrow==} + lint-staged@16.4.0: + resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==} engines: {node: '>=20.17'} hasBin: true - listr2@9.0.3: - resolution: {integrity: sha512-0aeh5HHHgmq1KRdMMDHfhMWQmIT/m7nRDTlxlFqni2Sp0had9baqsjJRvDGdlvgd6NmPE0nPloOipiQJGFtTHQ==} + listr2@9.0.5: + resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} engines: {node: '>=20.0.0'} - livereload-js@2.4.0: - resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} + livereload-js@4.0.2: + resolution: {integrity: sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ==} + + livereload@0.10.3: + resolution: {integrity: sha512-llSb8HrtSH7ByPFMc8WTTeW3oy++smwgSA8JVGzEn8KiDPESq6jt1M4ZKKkhKTrhn2wvUOadQq4ip10E5daZ3w==} + engines: {node: '>=8.0.0'} + hasBin: true load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -3130,11 +3133,8 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -3151,8 +3151,8 @@ packages: resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} engines: {node: '>=0.10.0'} - lru-cache@11.2.1: - resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==} + lru-cache@11.3.6: + resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -3280,18 +3280,14 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.2.4: - resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} minimatch@3.1.5: @@ -3312,8 +3308,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} mkdirp-classic@0.5.3: @@ -3338,8 +3334,8 @@ packages: engines: {node: '>= 0.8.0'} hasBin: true - mousetrap@1.6.0: - resolution: {integrity: sha512-kU3MUr+8iWuM5F7kkBHLqp430XFBegbxYVQoOzn3JKJZPyA0yBvm4TsnDAh12cwjngMMfX0qBLfV36CbFBq0mA==} + mousetrap@1.6.5: + resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3347,18 +3343,14 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nano-spawn@1.0.3: - resolution: {integrity: sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==} - engines: {node: '>=20.17'} - native-request@1.1.2: resolution: {integrity: sha512-/etjwrK0J4Ebbcnt35VMWnfiUX/B04uwGJxyJInagxDqf2z5drSt/lsOvEMWGYunz1kaLZAFrV4NDAbOoDKvAQ==} natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + needle@3.5.0: + resolution: {integrity: sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==} engines: {node: '>= 4.4.x'} hasBin: true @@ -3383,8 +3375,8 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.36: - resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -3422,17 +3414,16 @@ packages: chokidar: optional: true - nwsapi@2.2.13: - resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} + nwsapi@2.2.23: + resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + + oauth-sign@0.8.2: + resolution: {integrity: sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -3449,8 +3440,8 @@ packages: resolution: {integrity: sha512-SXYtMEksouZLGHRahMC76GEboon3BBA4LQ9s/f2VEsS9dYN9bodX3QzaOwhhA9zCIE4koGdr2eIsNYmTRCWhJw==} engines: {node: '>=6'} - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} omit-keys@0.1.0: @@ -3480,9 +3471,16 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + opts@2.0.2: + resolution: {integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==} + os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + p-event@4.2.0: resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} engines: {node: '>=8'} @@ -3548,8 +3546,8 @@ packages: parents@1.0.1: resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} - parse-asn1@5.1.7: - resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + parse-asn1@5.1.9: + resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} engines: {node: '>= 0.10'} parse-entities@1.2.2: @@ -3579,9 +3577,6 @@ packages: parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3615,9 +3610,9 @@ packages: resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} engines: {node: '>= 0.8.0'} - path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} - engines: {node: 20 || >=22} + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -3631,23 +3626,25 @@ packages: resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} engines: {node: '>= 0.10'} + performance-now@0.2.0: + resolution: {integrity: sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + pidtree@0.3.1: resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} engines: {node: '>=0.10'} hasBin: true - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - pify@3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} @@ -3656,8 +3653,8 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} pkg-dir@4.2.0: @@ -3670,16 +3667,16 @@ packages: position-map-text-to-markdown@1.1.1: resolution: {integrity: sha512-k5eAdCaEuAZpGQCiplzIIzfhUVao8cy4ZETAlDMMDoTB5kis/VZezltZoYeh4vGMoq4n3SkLxW3ila+35phemA==} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} engines: {node: '>=14'} hasBin: true @@ -3704,8 +3701,8 @@ packages: prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -3720,8 +3717,12 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} + engines: {node: '>=0.6'} + + qs@6.4.3: + resolution: {integrity: sha512-ZR4x/aZZFC9YhBFeGfudUd+pY1R6NjVKbzXr/BaES046WNHPn5RWSAYEmTrlUJVU/+4pgyJEl21LFggYarCSTg==} engines: {node: '>=0.6'} querystring-es3@0.2.1: @@ -3755,11 +3756,6 @@ packages: range-utils@1.1.0: resolution: {integrity: sha512-dJTH+wJN/OFN+1L2c7CM2W5Noui5oqGS5zuxbs0cFhhEIiKNu37UAJ4xcyqiq73JEBEV5Q3N+mvA+bLczOfKMA==} - raw-body@1.1.7: - resolution: {integrity: sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==} - engines: {node: '>= 0.8.0'} - deprecated: No longer maintained. Please upgrade to a stable version. - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -3793,6 +3789,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + redent@2.0.0: resolution: {integrity: sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==} engines: {node: '>=4'} @@ -3801,8 +3801,12 @@ packages: resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} engines: {node: '>=12'} - regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} remark-frontmatter@1.3.3: @@ -3828,6 +3832,11 @@ packages: resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==} engines: {node: '>= 0.10'} + request@2.81.0: + resolution: {integrity: sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==} + engines: {node: '>= 4'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3847,32 +3856,28 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} hasBin: true restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@6.0.1: - resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + rimraf@6.1.3: + resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} engines: {node: 20 || >=22} hasBin: true @@ -3883,8 +3888,8 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} engines: {node: '>=0.4'} safe-buffer@5.1.2: @@ -3893,18 +3898,20 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-json-parse@1.0.1: - resolution: {integrity: sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -3918,8 +3925,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + semver@7.8.0: + resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} engines: {node: '>=10'} hasBin: true @@ -3938,6 +3945,10 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -3946,8 +3957,9 @@ packages: engines: {node: '>= 0.10'} hasBin: true - shasum-object@1.0.0: - resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} + shasum-object@1.0.1: + resolution: {integrity: sha512-SsC+1tW7XKQ/94D4k1JhLmjDFpVGET/Nf54jVDtbavbALf8Zhp0Td9zTlxScjMW6nbEIrpADtPWfLk9iCXzHDQ==} + hasBin: true shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} @@ -3965,8 +3977,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} should-equal@2.0.0: resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} @@ -3986,8 +3999,8 @@ packages: should@13.2.3: resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} side-channel-map@1.0.1: @@ -3998,10 +4011,6 @@ packages: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} engines: {node: '>= 0.4'} - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - side-channel@1.1.0: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} @@ -4027,17 +4036,22 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} engines: {node: '>=18'} + slice-ansi@8.0.0: + resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} + engines: {node: '>=20'} + slick@1.12.2: resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} + sntp@1.0.9: + resolution: {integrity: sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==} + engines: {node: '>=0.8.0'} + deprecated: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. + source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -4058,12 +4072,17 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -4075,6 +4094,10 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -4102,32 +4125,30 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + engines: {node: '>=20'} + string.prototype.padend@3.1.6: resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -4137,12 +4158,15 @@ packages: stringify-entities@1.3.2: resolution: {integrity: sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==} + stringstream@0.0.6: + resolution: {integrity: sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} strip-bom@3.0.0: @@ -4161,8 +4185,8 @@ packages: resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==} engines: {node: '>=4'} - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + strip-indent@4.1.1: + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} engines: {node: '>=12'} strip-json-comments@3.1.1: @@ -4214,8 +4238,9 @@ packages: resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} engines: {node: '>=0.6.0'} - tiny-lr@1.1.1: - resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} + tinyexec@1.1.2: + resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + engines: {node: '>=18'} tmp@0.2.4: resolution: {integrity: sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==} @@ -4236,6 +4261,10 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + tough-cookie@2.3.4: + resolution: {integrity: sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==} + engines: {node: '>=0.8'} + tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -4247,8 +4276,8 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} - traverse@0.6.10: - resolution: {integrity: sha512-hN4uFRxbK+PX56DxYiGHsTn2dME3TVr9vbNqlQGcGcPhJAn+tdP126iA+TArMpI4YSgnTkMWyoLl5bf81Hi5TA==} + traverse@0.6.11: + resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} engines: {node: '>= 0.4'} trim-newlines@2.0.0: @@ -4269,18 +4298,19 @@ packages: trough@1.0.5: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - ts-jest@29.2.5: - resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} + ts-jest@29.4.9: + resolution: {integrity: sha512-LTb9496gYPMCqjeDLdPrKuXtncudeV1yRZnF4Wo5l3SFi0RYEnYRNgMrFIdg+FHvfzjCyQk1cLncWVqiSX+EvQ==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 + '@jest/transform': ^29.0.0 || ^30.0.0 + '@jest/types': ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: '>=4.3 <7' peerDependenciesMeta: '@babel/core': optional: true @@ -4292,6 +4322,8 @@ packages: optional: true esbuild: optional: true + jest-util: + optional: true ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} @@ -4310,12 +4342,18 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4332,40 +4370,40 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typedarray.prototype.slice@1.0.3: - resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} engines: {node: '>= 0.4'} typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true - uglify-js@3.17.0: - resolution: {integrity: sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true @@ -4373,22 +4411,19 @@ packages: resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} undeclared-identifiers@1.1.3: resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} hasBin: true - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - undici@6.24.0: - resolution: {integrity: sha512-lVLNosgqo5EkGqh5XUDhGfsMSoO8K0BAN0TyJLvwNRSl4xWGZlCVYsAIpa/OpA3TvmnM01GWcoKmc3ZWo5wKKA==} - engines: {node: '>=18.17'} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.24.4: - resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} + undici@7.25.0: + resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} engines: {node: '>=20.18.1'} unherit@1.1.3: @@ -4420,8 +4455,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - unxhr@1.0.1: - resolution: {integrity: sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==} + unxhr@1.2.0: + resolution: {integrity: sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==} engines: {node: '>=8.11'} update-browserslist-db@1.2.3: @@ -4452,6 +4487,11 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -4466,6 +4506,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + vfile-location@2.0.6: resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==} @@ -4496,14 +4540,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} @@ -4529,11 +4565,16 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} which-typed-array@1.1.20: @@ -4563,12 +4604,8 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} wrappy@1.0.2: @@ -4578,8 +4615,8 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4614,8 +4651,8 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.8.1: - resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} hasBin: true @@ -4649,15 +4686,15 @@ packages: snapshots: - '@asciidoctor/cli@3.5.0(@asciidoctor/core@2.2.8)': + '@asciidoctor/cli@3.5.0(@asciidoctor/core@2.2.9)': dependencies: - '@asciidoctor/core': 2.2.8 + '@asciidoctor/core': 2.2.9 yargs: 16.2.0 - '@asciidoctor/core@2.2.8': + '@asciidoctor/core@2.2.9': dependencies: - asciidoctor-opal-runtime: 0.3.3 - unxhr: 1.0.1 + asciidoctor-opal-runtime: 0.3.4 + unxhr: 1.2.0 '@azu/format-text@1.0.2': {} @@ -4667,7 +4704,7 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.0': {} + '@babel/compat-data@7.29.3': {} '@babel/core@7.29.0': dependencies: @@ -4676,13 +4713,13 @@ snapshots: '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4691,17 +4728,17 @@ snapshots: '@babel/generator@7.29.1': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.0.2 + jsesc: 3.1.0 '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.29.0 + '@babel/compat-data': 7.29.3 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 + browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -4736,7 +4773,7 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 - '@babel/parser@7.29.2': + '@babel/parser@7.29.3': dependencies: '@babel/types': 7.29.0 @@ -4828,7 +4865,7 @@ snapshots: '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@babel/traverse@7.29.0': @@ -4836,10 +4873,10 @@ snapshots: '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/types': 7.29.0 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -4854,82 +4891,82 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@esbuild/aix-ppc64@0.27.4': + '@esbuild/aix-ppc64@0.27.7': optional: true - '@esbuild/android-arm64@0.27.4': + '@esbuild/android-arm64@0.27.7': optional: true - '@esbuild/android-arm@0.27.4': + '@esbuild/android-arm@0.27.7': optional: true - '@esbuild/android-x64@0.27.4': + '@esbuild/android-x64@0.27.7': optional: true - '@esbuild/darwin-arm64@0.27.4': + '@esbuild/darwin-arm64@0.27.7': optional: true - '@esbuild/darwin-x64@0.27.4': + '@esbuild/darwin-x64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.27.4': + '@esbuild/freebsd-arm64@0.27.7': optional: true - '@esbuild/freebsd-x64@0.27.4': + '@esbuild/freebsd-x64@0.27.7': optional: true - '@esbuild/linux-arm64@0.27.4': + '@esbuild/linux-arm64@0.27.7': optional: true - '@esbuild/linux-arm@0.27.4': + '@esbuild/linux-arm@0.27.7': optional: true - '@esbuild/linux-ia32@0.27.4': + '@esbuild/linux-ia32@0.27.7': optional: true - '@esbuild/linux-loong64@0.27.4': + '@esbuild/linux-loong64@0.27.7': optional: true - '@esbuild/linux-mips64el@0.27.4': + '@esbuild/linux-mips64el@0.27.7': optional: true - '@esbuild/linux-ppc64@0.27.4': + '@esbuild/linux-ppc64@0.27.7': optional: true - '@esbuild/linux-riscv64@0.27.4': + '@esbuild/linux-riscv64@0.27.7': optional: true - '@esbuild/linux-s390x@0.27.4': + '@esbuild/linux-s390x@0.27.7': optional: true - '@esbuild/linux-x64@0.27.4': + '@esbuild/linux-x64@0.27.7': optional: true - '@esbuild/netbsd-arm64@0.27.4': + '@esbuild/netbsd-arm64@0.27.7': optional: true - '@esbuild/netbsd-x64@0.27.4': + '@esbuild/netbsd-x64@0.27.7': optional: true - '@esbuild/openbsd-arm64@0.27.4': + '@esbuild/openbsd-arm64@0.27.7': optional: true - '@esbuild/openbsd-x64@0.27.4': + '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.27.4': + '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/sunos-x64@0.27.4': + '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/win32-arm64@0.27.4': + '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/win32-ia32@0.27.4': + '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/win32-x64@0.27.4': + '@esbuild/win32-x64@0.27.7': optional: true '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4)': @@ -4942,7 +4979,7 @@ snapshots: '@eslint/config-array@0.21.2': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -4957,8 +4994,8 @@ snapshots: '@eslint/eslintrc@3.3.5': dependencies: - ajv: 6.14.0 - debug: 4.3.7 + ajv: 6.15.0 + debug: 4.4.3(supports-color@8.1.1) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -4978,26 +5015,22 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@humanfs/core@0.19.1': {} + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 - '@humanfs/node@0.16.7': + '@humanfs/node@0.16.8': dependencies: - '@humanfs/core': 0.19.1 + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 '@humanwhocodes/retry': 0.4.3 + '@humanfs/types@0.15.0': {} + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.4.3': {} - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -5006,32 +5039,32 @@ snapshots: js-yaml: 3.14.2 resolve-from: 5.0.0 - '@istanbuljs/schema@0.1.3': {} + '@istanbuljs/schema@0.1.6': {} '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5056,7 +5089,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -5074,7 +5107,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.7.4 + '@types/node': 22.19.19 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5095,10 +5128,10 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.7.4 + '@jridgewell/trace-mapping': 0.3.31 + '@types/node': 22.19.19 chalk: 4.1.2 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -5106,7 +5139,7 @@ snapshots: istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -5119,11 +5152,11 @@ snapshots: '@jest/schemas@29.6.3': dependencies: - '@sinclair/typebox': 0.27.8 + '@sinclair/typebox': 0.27.10 '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.31 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -5132,7 +5165,7 @@ snapshots: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 '@jest/test-sequencer@29.7.0': dependencies: @@ -5145,7 +5178,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -5155,7 +5188,7 @@ snapshots: jest-regex-util: 29.6.3 jest-util: 29.7.0 micromatch: 4.0.8 - pirates: 4.0.6 + pirates: 4.0.7 slash: 3.0.0 write-file-atomic: 4.0.2 transitivePeerDependencies: @@ -5166,8 +5199,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.7.4 - '@types/yargs': 17.0.33 + '@types/node': 22.19.19 + '@types/yargs': 17.0.35 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.13': @@ -5178,19 +5211,12 @@ snapshots: '@jridgewell/remapping@2.3.5': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -5199,7 +5225,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -5211,11 +5237,11 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 + fastq: 1.20.1 '@relmify/jest-serializer-strip-ansi@1.0.2': {} - '@sinclair/typebox@0.27.8': {} + '@sinclair/typebox@0.27.10': {} '@sinonjs/commons@3.0.1': dependencies: @@ -5225,11 +5251,11 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@stylistic/eslint-plugin-js@2.9.0(eslint@9.39.4)': + '@stylistic/eslint-plugin-js@2.13.0(eslint@9.39.4)': dependencies: eslint: 9.39.4 - eslint-visitor-keys: 4.1.0 - espree: 10.2.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 '@textlint/ast-node-types@1.1.2': {} @@ -5238,18 +5264,18 @@ snapshots: '@textlint/markdown-to-ast@6.3.5': dependencies: '@textlint/ast-node-types': 4.4.3 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) remark-frontmatter: 1.3.3 remark-parse: 5.0.0 structured-source: 3.0.2 - traverse: 0.6.10 + traverse: 0.6.11 unified: 6.2.0 transitivePeerDependencies: - supports-color - '@tootallnate/once@2.0.0': {} + '@tootallnate/once@2.0.1': {} - '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.12': {} '@tsconfig/node12@1.0.11': {} @@ -5259,30 +5285,30 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 - '@types/babel__generator': 7.6.8 + '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.28.0 - '@types/babel__generator@7.6.8': + '@types/babel__generator@7.27.0': dependencies: '@babel/types': 7.29.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 - '@types/babel__traverse@7.20.6': + '@types/babel__traverse@7.28.0': dependencies: '@babel/types': 7.29.0 - '@types/estree@1.0.6': {} + '@types/estree@1.0.9': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.7.4 + '@types/node': 22.19.19 '@types/istanbul-lib-coverage@2.0.6': {} @@ -5294,7 +5320,7 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/jest@29.5.13': + '@types/jest@29.5.14': dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -5303,9 +5329,9 @@ snapshots: '@types/minimist@1.2.5': {} - '@types/node@22.7.4': + '@types/node@22.19.19': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 '@types/normalize-package-data@2.4.4': {} @@ -5319,7 +5345,7 @@ snapshots: '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.33': + '@types/yargs@17.0.35': dependencies: '@types/yargs-parser': 21.0.3 @@ -5334,12 +5360,8 @@ snapshots: acorn-globals@7.0.1: dependencies: - acorn: 8.12.1 - acorn-walk: 8.3.4 - - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 + acorn: 8.16.0 + acorn-walk: 8.3.5 acorn-jsx@5.3.2(acorn@8.16.0): dependencies: @@ -5353,19 +5375,17 @@ snapshots: acorn-walk@7.2.0: {} - acorn-walk@8.3.4: + acorn-walk@8.3.5: dependencies: - acorn: 8.12.1 + acorn: 8.16.0 acorn@7.4.1: {} - acorn@8.12.1: {} - acorn@8.16.0: {} agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -5374,7 +5394,13 @@ snapshots: clean-stack: 4.2.0 indent-string: 5.0.0 - ajv@6.14.0: + ajv@4.11.8: + dependencies: + co: 4.6.0 + json-stable-stringify: 1.3.0 + optional: true + + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -5387,13 +5413,13 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@7.0.0: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.2: {} ansi-styles@3.2.1: dependencies: @@ -5405,12 +5431,12 @@ snapshots: ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} + ansi-styles@6.2.3: {} anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 arg@4.1.3: {} @@ -5420,25 +5446,24 @@ snapshots: argparse@2.0.1: {} - array-buffer-byte-length@1.0.1: + array-buffer-byte-length@1.0.2: dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 + call-bound: 1.0.4 + is-array-buffer: 3.0.5 array-difference@0.0.1: {} array-find-index@1.0.2: {} - arraybuffer.prototype.slice@1.0.3: + arraybuffer.prototype.slice@1.0.4: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.2 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 arrify@1.0.1: {} @@ -5446,15 +5471,15 @@ snapshots: asap@2.0.6: {} - asciidoctor-opal-runtime@0.3.3: + asciidoctor-opal-runtime@0.3.4: dependencies: - glob: 7.1.3 - unxhr: 1.0.1 + fast-glob: 3.3.3 + unxhr: 1.2.0 - asciidoctor@2.2.8: + asciidoctor@2.2.9: dependencies: - '@asciidoctor/cli': 3.5.0(@asciidoctor/core@2.2.8) - '@asciidoctor/core': 2.2.8 + '@asciidoctor/cli': 3.5.0(@asciidoctor/core@2.2.9) + '@asciidoctor/core': 2.2.9 asn1.js@4.10.1: dependencies: @@ -5462,18 +5487,35 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 - assert@1.5.1: + asn1@0.2.6: dependencies: - object.assign: 4.1.5 - util: 0.10.4 + safer-buffer: 2.1.2 + optional: true - async@3.2.6: {} + assert-plus@0.2.0: + optional: true + + assert-plus@1.0.0: + optional: true + + assert@1.5.1: + dependencies: + object.assign: 4.1.7 + util: 0.10.4 + + async-function@1.0.0: {} asynckit@0.4.0: {} available-typed-arrays@1.0.7: dependencies: - possible-typed-array-names: 1.0.0 + possible-typed-array-names: 1.1.0 + + aws-sign2@0.6.0: + optional: true + + aws4@1.13.2: + optional: true babel-jest@29.7.0(@babel/core@7.29.0): dependencies: @@ -5492,7 +5534,7 @@ snapshots: dependencies: '@babel/helper-plugin-utils': 7.28.6 '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 + '@istanbuljs/schema': 0.1.6 istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: @@ -5503,9 +5545,9 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.28.0 - babel-preset-current-node-syntax@1.1.0(@babel/core@7.29.0): + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0) @@ -5528,7 +5570,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.29.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) bail@1.0.5: {} @@ -5538,13 +5580,18 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.8: {} + baseline-browser-mapping@2.10.30: {} bash-color@0.0.4: {} + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + optional: true + benchmark@2.1.4: dependencies: - lodash: 4.17.21 + lodash: 4.18.1 platform: 1.3.6 binary-extensions@2.3.0: {} @@ -5553,15 +5600,13 @@ snapshots: bn.js@5.2.3: {} - body@5.1.0: - dependencies: - continuable-cache: 0.3.1 - error: 7.0.2 - raw-body: 1.1.7 - safe-json-parse: 1.0.1 - boolbase@1.0.0: {} + boom@2.10.1: + dependencies: + hoek: 2.16.3 + optional: true + boundary@1.0.1: {} brace-expansion@1.1.14: @@ -5594,7 +5639,7 @@ snapshots: browser-resolve@2.0.0: dependencies: - resolve: 1.22.8 + resolve: 1.22.12 browser-stdout@1.3.1: {} @@ -5626,16 +5671,15 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - browserify-sign@4.2.3: + browserify-sign@4.2.5: dependencies: bn.js: 5.2.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 elliptic: 6.6.1 - hash-base: 3.0.4 inherits: 2.0.4 - parse-asn1: 5.1.7 + parse-asn1: 5.1.9 readable-stream: 2.3.8 safe-buffer: 5.2.1 @@ -5643,7 +5687,7 @@ snapshots: dependencies: pako: 1.0.11 - browserify@17.0.0: + browserify@17.0.1: dependencies: JSONStream: 1.3.5 assert: 1.5.1 @@ -5655,14 +5699,14 @@ snapshots: concat-stream: 1.6.2 console-browserify: 1.2.0 constants-browserify: 1.0.0 - crypto-browserify: 3.12.0 + crypto-browserify: 3.12.1 defined: 1.0.1 deps-sort: 2.0.1 domain-browser: 1.2.0 duplexer2: 0.1.4 events: 3.3.0 glob: 7.2.3 - has: 1.0.4 + hasown: 2.0.3 htmlescape: 1.1.1 https-browserify: 1.0.0 inherits: 2.0.4 @@ -5678,9 +5722,9 @@ snapshots: querystring-es3: 0.2.1 read-only-stream: 2.0.0 readable-stream: 2.3.8 - resolve: 1.22.8 - shasum-object: 1.0.0 - shell-quote: 1.8.1 + resolve: 1.22.12 + shasum-object: 1.0.1 + shell-quote: 1.8.3 stream-browserify: 3.0.0 stream-http: 3.2.0 string_decoder: 1.3.0 @@ -5694,13 +5738,13 @@ snapshots: vm-browserify: 1.1.2 xtend: 4.0.2 - browserslist@4.28.1: + browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.8 - caniuse-lite: 1.0.30001780 - electron-to-chromium: 1.5.321 - node-releases: 2.0.36 - update-browserslist-db: 1.2.3(browserslist@4.28.1) + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.357 + node-releases: 2.0.44 + update-browserslist-db: 1.2.3(browserslist@4.28.2) bs-logger@0.2.6: dependencies: @@ -5726,8 +5770,6 @@ snapshots: builtin-status-codes@3.0.0: {} - bytes@1.0.0: {} - cached-path-relative@1.1.0: {} call-bind-apply-helpers@1.0.2: @@ -5735,15 +5777,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -5776,7 +5810,10 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001780: {} + caniuse-lite@1.0.30001793: {} + + caseless@0.12.0: + optional: true ccount@1.1.0: {} @@ -5791,8 +5828,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.6.0: {} - char-regex@1.0.2: {} character-entities-html4@1.1.4: {} @@ -5806,7 +5841,7 @@ snapshots: cheerio-select@1.6.0: dependencies: css-select: 4.3.0 - css-what: 6.1.0 + css-what: 6.2.2 domelementtype: 2.3.0 domhandler: 4.3.1 domutils: 2.8.0 @@ -5814,25 +5849,11 @@ snapshots: cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 - css-select: 5.1.0 - css-what: 6.1.0 + css-select: 5.2.2 + css-what: 6.2.2 domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.1.0 - - cheerio@1.0.0: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 9.1.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 6.24.0 - whatwg-mimetype: 4.0.0 cheerio@1.0.0-rc.10: dependencies: @@ -5842,7 +5863,7 @@ snapshots: htmlparser2: 6.1.0 parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.7.0 + tslib: 2.8.1 cheerio@1.2.0: dependencies: @@ -5855,7 +5876,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.24.4 + undici: 7.25.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -5870,6 +5891,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + ci-info@3.9.0: {} cipher-base@1.0.7: @@ -5878,7 +5903,7 @@ snapshots: safe-buffer: 5.2.1 to-buffer: 1.2.2 - cjs-module-lexer@1.4.1: {} + cjs-module-lexer@1.4.3: {} clean-css@5.3.3: dependencies: @@ -5892,10 +5917,10 @@ snapshots: dependencies: restore-cursor: 5.1.0 - cli-truncate@4.0.0: + cli-truncate@5.2.0: dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 + slice-ansi: 8.0.0 + string-width: 8.2.1 cliui@7.0.4: dependencies: @@ -5914,7 +5939,7 @@ snapshots: codemirror-console-ui@2.0.5: dependencies: '@azu/format-text': 1.0.2 - codemirror: 5.65.18 + codemirror: 5.65.21 codemirror-console: 2.0.1 domify: 1.4.2 in-browser-language: 1.0.3 @@ -5922,14 +5947,14 @@ snapshots: codemirror-console@2.0.1: dependencies: - codemirror: 5.65.18 + codemirror: 5.65.21 context-eval: 0.1.0 - codemirror@5.65.18: {} + codemirror@5.65.21: {} collapse-white-space@1.0.6: {} - collect-v8-coverage@1.0.2: {} + collect-v8-coverage@1.0.3: {} color-convert@1.9.3: dependencies: @@ -5956,7 +5981,7 @@ snapshots: dependencies: delayed-stream: 1.0.0 - commander@14.0.0: {} + commander@14.0.3: {} commander@5.1.0: {} @@ -5977,8 +6002,6 @@ snapshots: context-eval@0.1.0: {} - continuable-cache@0.3.1: {} - convert-source-map@1.1.3: {} convert-source-map@2.0.0: {} @@ -5987,6 +6010,13 @@ snapshots: dependencies: is-what: 3.14.1 + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + core-util-is@1.0.2: + optional: true + core-util-is@1.0.3: {} cp-file@9.1.0: @@ -5996,15 +6026,6 @@ snapshots: nested-error-stacks: 2.1.1 p-event: 4.2.0 - cp@0.2.0: {} - - cpr@3.0.1: - dependencies: - graceful-fs: 4.2.11 - minimist: 1.2.8 - mkdirp: 0.5.6 - rimraf: 2.7.1 - cpy-cli@4.2.0: dependencies: cpy: 9.0.1 @@ -6047,13 +6068,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.12 - create-jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)): + create-jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6078,14 +6099,20 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-browserify@3.12.0: + cryptiles@2.0.5: + dependencies: + boom: 2.10.1 + optional: true + + crypto-browserify@3.12.1: dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.3 + browserify-sign: 4.2.5 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 diffie-hellman: 5.0.3 + hash-base: 3.0.5 inherits: 2.0.4 pbkdf2: 3.1.5 public-encrypt: 4.0.3 @@ -6095,20 +6122,20 @@ snapshots: css-select@4.3.0: dependencies: boolbase: 1.0.0 - css-what: 6.1.0 + css-what: 6.2.2 domhandler: 4.3.1 domutils: 2.8.0 nth-check: 2.1.1 - css-select@5.1.0: + css-select@5.2.2: dependencies: boolbase: 1.0.0 - css-what: 6.1.0 + css-what: 6.2.2 domhandler: 5.0.3 - domutils: 3.1.0 + domutils: 3.2.2 nth-check: 2.1.1 - css-what@6.1.0: {} + css-what@6.2.2: {} cssom@0.3.8: {} @@ -6124,29 +6151,34 @@ snapshots: dash-ast@1.0.0: {} + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + optional: true + data-urls@3.0.2: dependencies: abab: 2.0.6 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - data-view-buffer@1.0.1: + data-view-buffer@1.0.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 - data-view-byte-length@1.0.1: + data-view-byte-length@1.0.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 - data-view-byte-offset@1.0.0: + data-view-byte-offset@1.0.1: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 dayjs@1.11.20: {} @@ -6154,15 +6186,7 @@ snapshots: dependencies: ms: 2.0.0 - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.3.7: - dependencies: - ms: 2.1.3 - - debug@4.4.1(supports-color@8.1.1): + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: @@ -6179,9 +6203,9 @@ snapshots: decamelize@5.0.1: {} - decimal.js@10.4.3: {} + decimal.js@10.6.0: {} - dedent@1.5.3: {} + dedent@1.7.2: {} deep-is@0.1.4: {} @@ -6189,9 +6213,9 @@ snapshots: define-data-property@1.1.4: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.2.0 define-properties@1.2.1: dependencies: @@ -6208,7 +6232,7 @@ snapshots: deps-sort@2.0.1: dependencies: JSONStream: 1.3.5 - shasum-object: 1.0.0 + shasum-object: 1.0.1 subarg: 1.0.0 through2: 2.0.5 @@ -6292,12 +6316,6 @@ snapshots: domelementtype: 2.3.0 domhandler: 4.3.1 - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -6314,15 +6332,15 @@ snapshots: dependencies: readable-stream: 2.3.8 - eastasianwidth@0.2.0: {} + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + optional: true ee-first@1.1.1: {} - ejs@3.1.10: - dependencies: - jake: 10.9.2 - - electron-to-chromium@1.5.321: {} + electron-to-chromium@1.5.357: {} elliptic@6.6.1: dependencies: @@ -6336,12 +6354,10 @@ snapshots: emittery@0.13.1: {} - emoji-regex@10.5.0: {} + emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - encodeurl@2.0.0: {} encoding-sniffer@0.2.1: @@ -6349,11 +6365,6 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 - encoding@0.1.13: - dependencies: - iconv-lite: 0.6.3 - optional: true - entities@1.1.2: {} entities@2.2.0: {} @@ -6371,7 +6382,7 @@ snapshots: prr: 1.0.1 optional: true - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -6380,118 +6391,112 @@ snapshots: string-template: 0.2.1 xtend: 4.0.2 - es-abstract@1.23.3: + es-abstract@1.24.2: dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 globalthis: 1.0.4 - gopd: 1.0.1 + gopd: 1.2.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.3 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 is-callable: 1.2.7 - is-data-view: 1.0.1 + is-data-view: 1.0.2 is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.20 es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.3 - es-to-primitive@1.2.1: + es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-date-object: 1.1.0 + is-symbol: 1.1.1 - esbuild@0.27.4: + esbuild@0.27.7: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 escalade@3.2.0: {} @@ -6526,8 +6531,6 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.1.0: {} - eslint-visitor-keys@4.2.1: {} eslint@9.39.4: @@ -6540,19 +6543,19 @@ snapshots: '@eslint/eslintrc': 3.3.5 '@eslint/js': 9.39.4 '@eslint/plugin-kit': 0.4.1 - '@humanfs/node': 0.16.7 + '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.6 - ajv: 6.14.0 + '@types/estree': 1.0.9 + ajv: 6.15.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -6569,12 +6572,6 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.2.0: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.1.0 - espree@10.4.0: dependencies: acorn: 8.16.0 @@ -6583,7 +6580,7 @@ snapshots: esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -6597,7 +6594,7 @@ snapshots: etag@1.8.1: {} - eventemitter3@5.0.1: {} + eventemitter3@5.0.4: {} events@3.3.0: {} @@ -6630,9 +6627,12 @@ snapshots: extend@3.0.2: {} + extsprintf@1.3.0: + optional: true + fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -6646,18 +6646,14 @@ snapshots: fast-safe-stringify@2.1.1: {} - fastq@1.17.1: + fastq@1.20.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 fault@1.0.4: dependencies: format: 0.2.2 - faye-websocket@0.10.0: - dependencies: - websocket-driver: 0.7.4 - fb-watchman@2.0.2: dependencies: bser: 2.1.1 @@ -6666,10 +6662,6 @@ snapshots: dependencies: flat-cache: 4.0.1 - filelist@1.0.4: - dependencies: - minimatch: 5.1.9 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -6690,34 +6682,35 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.4.1 + flatted: 3.4.2 keyv: 4.5.4 flat@5.0.2: {} - flatted@3.4.1: {} + flatted@3.4.2: {} - font-awesome@4.6.3: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 + font-awesome@4.7.0: {} for-each@0.3.5: dependencies: is-callable: 1.2.7 - foreground-child@3.3.1: + forever-agent@0.6.1: + optional: true + + form-data@2.1.4: dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + optional: true form-data@4.0.5: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.3 mime-types: 2.1.35 format@0.2.2: {} @@ -6741,30 +6734,26 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: + function.prototype.name@1.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.23.3 functions-have-names: 1.2.3 + hasown: 2.0.3 + is-callable: 1.2.7 functions-have-names@1.2.3: {} + generator-function@2.0.1: {} + gensync@1.0.0-beta.2: {} get-assigned-identifiers@1.2.0: {} get-caller-file@2.0.5: {} - get-east-asian-width@1.3.1: {} - - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 + get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: dependencies: @@ -6776,7 +6765,7 @@ snapshots: get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.3 math-intrinsics: 1.1.0 get-package-type@0.1.0: {} @@ -6788,17 +6777,22 @@ snapshots: get-stream@6.0.1: {} - get-symbol-description@1.0.2: + get-symbol-description@1.1.0: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.3.0 + + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + optional: true gitbook-markdown-css@1.1.0: {} gitbook-plugin-anchors@0.7.1: dependencies: - cheerio: 1.0.0 + cheerio: 1.2.0 github-slugid: 1.0.1 gitbook-plugin-canonical-link@2.0.3: {} @@ -6818,7 +6812,7 @@ snapshots: gitbook-plugin-include-codeblock@3.2.3: dependencies: entities: 1.1.2 - handlebars: 4.7.8 + handlebars: 4.7.9 language-map: 1.5.0 meow: 4.0.1 @@ -6848,23 +6842,11 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.1.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.2.4 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.0 - - glob@7.1.3: + glob@13.0.6: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.5 - once: 1.4.0 - path-is-absolute: 1.0.1 + minimatch: 10.2.5 + minipass: 7.1.3 + path-scurry: 2.0.2 glob@7.2.3: dependencies: @@ -6885,41 +6867,46 @@ snapshots: globals@14.0.0: {} - globals@15.10.0: {} + globals@15.15.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.2.0 globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.2 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - gopd@1.2.0: {} graceful-fs@4.2.11: {} - handlebars@4.7.8: + handlebars@4.7.9: dependencies: minimist: 1.2.8 neo-async: 2.6.2 source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.17.0 + uglify-js: 3.19.3 + + har-schema@1.0.5: + optional: true + + har-validator@4.2.1: + dependencies: + ajv: 4.11.8 + har-schema: 1.0.5 + optional: true hard-rejection@2.1.0: {} - has-bigints@1.0.2: {} + has-bigints@1.1.0: {} has-flag@3.0.0: {} @@ -6927,21 +6914,21 @@ snapshots: has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} + es-define-property: 1.0.1 - has-symbols@1.0.3: {} + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 has-symbols@1.1.0: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 has@1.0.4: {} - hash-base@3.0.4: + hash-base@3.0.5: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 @@ -6958,13 +6945,21 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 - hasown@2.0.2: + hasown@2.0.3: dependencies: function-bind: 1.1.2 + hawk@3.1.3: + dependencies: + boom: 2.10.1 + cryptiles: 2.0.5 + hoek: 2.16.3 + sntp: 1.0.9 + optional: true + he@1.2.0: {} - highlight.js@11.10.0: {} + highlight.js@11.11.1: {} hmac-drbg@1.0.1: dependencies: @@ -6972,6 +6967,9 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + hoek@2.16.3: + optional: true + hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: @@ -7018,13 +7016,6 @@ snapshots: domutils: 2.8.0 entities: 2.2.0 - htmlparser2@9.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - http-errors@2.0.1: dependencies: depd: 2.0.0 @@ -7033,22 +7024,27 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-parser-js@0.5.8: {} - http-proxy-agent@5.0.0: dependencies: - '@tootallnate/once': 2.0.0 + '@tootallnate/once': 2.0.1 agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color + http-signature@1.1.1: + dependencies: + assert-plus: 0.2.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + optional: true + https-browserify@1.0.0: {} https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -7056,7 +7052,7 @@ snapshots: i18n-t@1.0.1: dependencies: - lodash: 4.17.23 + lodash: 4.18.1 iconv-lite@0.6.3: dependencies: @@ -7115,11 +7111,11 @@ snapshots: undeclared-identifiers: 1.1.3 xtend: 4.0.2 - internal-slot@1.0.7: + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 + hasown: 2.0.3 + side-channel: 1.1.0 is-alphabetical@1.0.4: {} @@ -7130,45 +7126,57 @@ snapshots: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - is-arguments@1.1.1: + is-arguments@1.2.0: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: + is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-arrayish@0.2.1: {} - is-bigint@1.0.4: + is-async-function@2.1.1: dependencies: - has-bigints: 1.0.2 + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: + is-boolean-object@1.2.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-buffer@1.1.6: {} is-callable@1.2.7: {} - is-core-module@2.15.1: + is-core-module@2.16.2: dependencies: - hasown: 2.0.2 + hasown: 2.0.3 - is-data-view@1.0.1: + is-data-view@1.0.2: dependencies: - is-typed-array: 1.1.13 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 - is-date-object@1.0.5: + is-date-object@1.1.0: dependencies: + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-decimal@1.0.4: {} @@ -7177,19 +7185,25 @@ snapshots: is-extglob@2.1.1: {} - is-fullwidth-code-point@3.0.0: {} + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 - is-fullwidth-code-point@4.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.3.1 + get-east-asian-width: 1.6.0 is-generator-fn@2.1.0: {} - is-generator-function@1.0.10: + is-generator-function@1.1.2: dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -7197,10 +7211,13 @@ snapshots: is-hexadecimal@1.0.4: {} + is-map@2.0.3: {} + is-negative-zero@2.0.3: {} - is-number-object@1.0.7: + is-number-object@1.1.1: dependencies: + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -7211,41 +7228,56 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-regex@1.1.4: + is-regex@1.2.1: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 + gopd: 1.2.0 has-tostringtag: 1.0.2 + hasown: 2.0.3 - is-shared-array-buffer@1.0.3: + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 is-stream@2.0.1: {} - is-string@1.0.7: + is-string@1.1.1: dependencies: + call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-symbol@1.0.4: + is-symbol@1.1.1: dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.20 + is-typedarray@1.0.0: + optional: true + is-unicode-supported@0.1.0: {} - is-weakref@1.0.2: + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-what@3.14.1: {} + is-what@4.1.16: {} + is-whitespace-character@1.0.4: {} is-word-character@1.0.4: {} @@ -7254,7 +7286,7 @@ snapshots: dependencies: is-docker: 2.2.1 - is@3.3.0: {} + is@3.3.2: {} isarray@1.0.0: {} @@ -7264,13 +7296,16 @@ snapshots: isobject@0.2.0: {} + isstream@0.1.2: + optional: true + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.29.0 - '@babel/parser': 7.29.2 - '@istanbuljs/schema': 0.1.3 + '@babel/parser': 7.29.3 + '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: @@ -7279,10 +7314,10 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.29.0 - '@babel/parser': 7.29.2 - '@istanbuljs/schema': 0.1.3 + '@babel/parser': 7.29.3 + '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.6.3 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -7294,28 +7329,17 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - istanbul-reports@3.1.7: + istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@4.1.1: - dependencies: - '@isaacs/cliui': 8.0.2 - - jake@10.9.2: - dependencies: - async: 3.2.6 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.5 - jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -7328,10 +7352,10 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.3 + dedent: 1.7.2 is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -7348,16 +7372,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)): + jest-cli@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + create-jest: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -7367,7 +7391,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)): + jest-config@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: '@babel/core': 7.29.0 '@jest/test-sequencer': 29.7.0 @@ -7392,8 +7416,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.7.4 - ts-node: 10.9.2(@types/node@22.7.4)(typescript@5.6.2) + '@types/node': 22.19.19 + ts-node: 10.9.2(@types/node@22.19.19)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -7422,7 +7446,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -7432,7 +7456,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.7.4 + '@types/node': 22.19.19 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -7468,14 +7492,14 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-process@2.0.0(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2))): + jest-mock-process@2.0.0(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3))): dependencies: - jest: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + jest: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -7499,8 +7523,8 @@ snapshots: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.8 - resolve.exports: 2.0.2 + resolve: 1.22.12 + resolve.exports: 2.0.3 slash: 3.0.0 jest-runner@29.7.0: @@ -7510,7 +7534,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -7538,10 +7562,10 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 chalk: 4.1.2 - cjs-module-lexer: 1.4.1 - collect-v8-coverage: 1.0.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 glob: 7.2.3 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 @@ -7566,7 +7590,7 @@ snapshots: '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.29.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -7577,18 +7601,18 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.3 + semver: 7.8.0 transitivePeerDependencies: - supports-color jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 - picomatch: 2.3.1 + picomatch: 2.3.2 jest-validate@29.7.0: dependencies: @@ -7603,7 +7627,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.4 + '@types/node': 22.19.19 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -7612,24 +7636,24 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.7.4 + '@types/node': 22.19.19 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)): + jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) + jest-cli: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jquery@3.5.1: {} + jquery@3.7.1: {} js-tokens@4.0.0: {} @@ -7642,15 +7666,18 @@ snapshots: dependencies: argparse: 2.0.1 + jsbn@0.1.1: + optional: true + jsdom@20.0.3: dependencies: abab: 2.0.6 - acorn: 8.12.1 + acorn: 8.16.0 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 data-urls: 3.0.2 - decimal.js: 10.4.3 + decimal.js: 10.6.0 domexception: 4.0.0 escodegen: 2.1.0 form-data: 4.0.5 @@ -7658,8 +7685,8 @@ snapshots: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.13 - parse5: 7.1.2 + nwsapi: 2.2.23 + parse5: 7.3.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.1.4 @@ -7668,14 +7695,14 @@ snapshots: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.18.0 + ws: 8.20.1 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - jsesc@3.0.2: {} + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -7687,25 +7714,51 @@ snapshots: json-schema-traverse@0.4.1: {} + json-schema@0.4.0: + optional: true + json-stable-stringify-without-jsonify@1.0.1: {} + json-stable-stringify@1.3.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + isarray: 2.0.5 + jsonify: 0.0.1 + object-keys: 1.1.1 + optional: true + + json-stringify-safe@5.0.1: + optional: true + json5@2.2.3: {} jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 + jsonify@0.0.1: + optional: true + jsonparse@1.3.1: {} jsonschema@1.1.0: {} - juice@8.1.0(encoding@0.1.13): + jsprim@1.4.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + optional: true + + juice@8.1.0: dependencies: cheerio: 1.0.0-rc.10 commander: 6.2.1 mensch: 0.3.4 slick: 1.12.2 - web-resource-inliner: 6.0.1(encoding@0.1.13) + web-resource-inliner: 6.0.1 transitivePeerDependencies: - encoding @@ -7732,7 +7785,7 @@ snapshots: dependencies: clean-css: 5.3.3 - less@2.7.1: + less@2.7.3: optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 @@ -7740,6 +7793,7 @@ snapshots: mime: 1.6.0 mkdirp: 0.5.6 promise: 7.3.1 + request: 2.81.0 source-map: 0.5.7 less@3.13.1: @@ -7755,18 +7809,17 @@ snapshots: native-request: 1.1.2 source-map: 0.6.1 - less@4.2.0: + less@4.6.4: dependencies: - copy-anything: 2.0.6 + copy-anything: 3.0.5 parse-node-version: 1.0.1 - tslib: 2.7.0 optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 - needle: 3.3.1 + needle: 3.5.0 source-map: 0.6.1 leven@3.1.0: {} @@ -7776,35 +7829,37 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@3.1.3: {} - lines-and-columns@1.2.4: {} - lint-staged@16.1.6: + lint-staged@16.4.0: dependencies: - chalk: 5.6.0 - commander: 14.0.0 - debug: 4.4.1(supports-color@8.1.1) - lilconfig: 3.1.3 - listr2: 9.0.3 - micromatch: 4.0.8 - nano-spawn: 1.0.3 - pidtree: 0.6.0 + commander: 14.0.3 + listr2: 9.0.5 + picomatch: 4.0.4 string-argv: 0.3.2 - yaml: 2.8.1 - transitivePeerDependencies: - - supports-color + tinyexec: 1.1.2 + yaml: 2.9.0 - listr2@9.0.3: + listr2@9.0.5: dependencies: - cli-truncate: 4.0.0 + cli-truncate: 5.2.0 colorette: 2.0.20 - eventemitter3: 5.0.1 + eventemitter3: 5.0.4 log-update: 6.1.0 rfdc: 1.4.1 - wrap-ansi: 9.0.0 + wrap-ansi: 9.0.2 + + livereload-js@4.0.2: {} - livereload-js@2.4.0: {} + livereload@0.10.3: + dependencies: + chokidar: 4.0.3 + livereload-js: 4.0.2 + opts: 2.0.2 + ws: 8.20.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate load-json-file@4.0.0: dependencies: @@ -7832,9 +7887,7 @@ snapshots: lodash.merge@4.6.2: {} - lodash@4.17.21: {} - - lodash@4.17.23: {} + lodash@4.18.1: {} log-symbols@4.1.0: dependencies: @@ -7843,11 +7896,11 @@ snapshots: log-update@6.1.0: dependencies: - ansi-escapes: 7.0.0 + ansi-escapes: 7.3.0 cli-cursor: 5.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.2.0 + wrap-ansi: 9.0.2 longest-streak@2.0.4: {} @@ -7856,7 +7909,7 @@ snapshots: currently-unhandled: 0.4.1 signal-exit: 3.0.7 - lru-cache@11.2.1: {} + lru-cache@11.3.6: {} lru-cache@5.1.1: dependencies: @@ -7882,7 +7935,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.3 + semver: 7.8.0 make-error@1.3.6: {} @@ -7908,7 +7961,7 @@ snapshots: debug: 2.6.9 remark: 7.0.1 structured-source: 3.0.2 - traverse: 0.6.10 + traverse: 0.6.11 transitivePeerDependencies: - supports-color @@ -7916,7 +7969,7 @@ snapshots: md5.js@1.3.5: dependencies: - hash-base: 3.1.2 + hash-base: 3.0.5 inherits: 2.0.4 safe-buffer: 5.2.1 @@ -7964,7 +8017,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 miller-rabin@4.0.1: dependencies: @@ -7985,13 +8038,11 @@ snapshots: mimic-function@5.0.1: {} - min-indent@1.0.1: {} - minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} - minimatch@10.2.4: + minimatch@10.2.5: dependencies: brace-expansion: 5.0.6 @@ -8016,13 +8067,14 @@ snapshots: minimist@1.2.8: {} - minipass@7.1.2: {} + minipass@7.1.3: {} mkdirp-classic@0.5.3: {} mkdirp@0.5.6: dependencies: minimist: 1.2.8 + optional: true mkdirp@1.0.4: {} @@ -8031,7 +8083,7 @@ snapshots: ansi-colors: 4.1.3 browser-stdout: 1.3.1 chokidar: 3.6.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) diff: 5.2.2 escape-string-regexp: 4.0.0 find-up: 5.0.0 @@ -8061,29 +8113,27 @@ snapshots: inherits: 2.0.4 parents: 1.0.1 readable-stream: 2.3.8 - resolve: 1.22.8 + resolve: 1.22.12 stream-combiner2: 1.1.1 subarg: 1.0.0 through2: 2.0.5 xtend: 4.0.2 - mousetrap@1.6.0: {} + mousetrap@1.6.5: {} ms@2.0.0: {} ms@2.1.3: {} - nano-spawn@1.0.3: {} - native-request@1.1.2: optional: true natural-compare@1.4.0: {} - needle@3.3.1: + needle@3.5.0: dependencies: iconv-lite: 0.6.3 - sax: 1.4.1 + sax: 1.6.0 optional: true neo-async@2.6.2: {} @@ -8092,28 +8142,26 @@ snapshots: nice-try@1.0.5: {} - node-fetch@2.7.0(encoding@0.1.13): + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 node-int64@0.4.0: {} - node-releases@2.0.36: {} + node-releases@2.0.44: {} normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.8 + resolve: 1.22.12 semver: 5.7.2 validate-npm-package-license: 3.0.4 normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.15.1 - semver: 7.6.3 + is-core-module: 2.16.2 + semver: 7.8.0 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -8127,7 +8175,7 @@ snapshots: minimatch: 3.1.5 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.8.1 + shell-quote: 1.8.3 string.prototype.padend: 3.1.6 npm-run-path@4.0.1: @@ -8148,11 +8196,12 @@ snapshots: optionalDependencies: chokidar: 3.6.0 - nwsapi@2.2.13: {} + nwsapi@2.2.23: {} - object-assign@4.1.1: {} + oauth-sign@0.8.2: + optional: true - object-inspect@1.13.2: {} + object-assign@4.1.1: {} object-inspect@1.13.4: {} @@ -8162,11 +8211,13 @@ snapshots: object-values@2.0.0: {} - object.assign@4.1.5: + object.assign@4.1.7: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - has-symbols: 1.0.3 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 object-keys: 1.1.1 omit-keys@0.1.0: @@ -8204,8 +8255,16 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + opts@2.0.2: {} + os-browserify@0.3.0: {} + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + p-event@4.2.0: dependencies: p-timeout: 3.2.0 @@ -8264,12 +8323,11 @@ snapshots: dependencies: path-platform: 0.11.15 - parse-asn1@5.1.7: + parse-asn1@5.1.9: dependencies: asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 - hash-base: 3.0.4 pbkdf2: 3.1.5 safe-buffer: 5.2.1 @@ -8284,13 +8342,13 @@ snapshots: parse-json@4.0.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-better-errors: 1.0.2 parse-json@5.2.0: dependencies: '@babel/code-frame': 7.29.0 - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8307,14 +8365,10 @@ snapshots: parse5-parser-stream@7.1.2: dependencies: - parse5: 7.1.2 + parse5: 7.3.0 parse5@6.0.1: {} - parse5@7.1.2: - dependencies: - entities: 4.5.0 - parse5@7.3.0: dependencies: entities: 6.0.1 @@ -8335,10 +8389,10 @@ snapshots: path-platform@0.11.15: {} - path-scurry@2.0.0: + path-scurry@2.0.2: dependencies: - lru-cache: 11.2.1 - minipass: 7.1.2 + lru-cache: 11.3.6 + minipass: 7.1.3 path-type@3.0.0: dependencies: @@ -8355,20 +8409,23 @@ snapshots: sha.js: 2.4.12 to-buffer: 1.2.2 + performance-now@0.2.0: + optional: true + picocolors@1.1.1: {} - picomatch@2.3.1: {} + picomatch@2.3.2: {} - pidtree@0.3.1: {} + picomatch@4.0.4: {} - pidtree@0.6.0: {} + pidtree@0.3.1: {} pify@3.0.0: {} pify@4.0.1: optional: true - pirates@4.0.6: {} + pirates@4.0.7: {} pkg-dir@4.2.0: dependencies: @@ -8386,11 +8443,11 @@ snapshots: transitivePeerDependencies: - supports-color - possible-typed-array-names@1.0.0: {} + possible-typed-array-names@1.1.0: {} prelude-ls@1.2.1: {} - prettier@3.3.3: {} + prettier@3.8.3: {} pretty-format@29.7.0: dependencies: @@ -8415,14 +8472,16 @@ snapshots: prr@1.0.1: optional: true - psl@1.9.0: {} + psl@1.15.0: + dependencies: + punycode: 2.3.1 public-encrypt@4.0.3: dependencies: bn.js: 4.12.3 browserify-rsa: 4.1.1 create-hash: 1.2.0 - parse-asn1: 5.1.7 + parse-asn1: 5.1.9 randombytes: 2.1.0 safe-buffer: 5.2.1 @@ -8432,10 +8491,13 @@ snapshots: pure-rand@6.1.0: {} - qs@6.15.0: + qs@6.15.2: dependencies: side-channel: 1.1.0 + qs@6.4.3: + optional: true + querystring-es3@0.2.1: {} querystringify@2.2.0: {} @@ -8460,12 +8522,7 @@ snapshots: range-utils@1.1.0: dependencies: extend: 3.0.2 - is: 3.3.0 - - raw-body@1.1.7: - dependencies: - bytes: 1.0.0 - string_decoder: 0.10.31 + is: 3.3.2 react-is@18.3.1: {} @@ -8515,7 +8572,9 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.3.1 + picomatch: 2.3.2 + + readdirp@4.1.2: {} redent@2.0.0: dependencies: @@ -8525,13 +8584,26 @@ snapshots: redent@4.0.0: dependencies: indent-string: 5.0.0 - strip-indent: 4.0.0 + strip-indent: 4.1.1 - regexp.prototype.flags@1.5.3: + reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 + es-abstract: 1.24.2 es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 set-function-name: 2.0.2 remark-frontmatter@1.3.3: @@ -8603,6 +8675,32 @@ snapshots: replace-ext@1.0.0: {} + request@2.81.0: + dependencies: + aws-sign2: 0.6.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.1.4 + har-validator: 4.2.1 + hawk: 3.1.3 + http-signature: 1.1.1 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.8.2 + performance-now: 0.2.0 + qs: 6.4.3 + safe-buffer: 5.2.1 + stringstream: 0.0.6 + tough-cookie: 2.3.4 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + optional: true + require-directory@2.1.1: {} requires-port@1.0.0: {} @@ -8615,11 +8713,12 @@ snapshots: resolve-from@5.0.0: {} - resolve.exports@2.0.2: {} + resolve.exports@2.0.3: {} - resolve@1.22.8: + resolve@1.22.12: dependencies: - is-core-module: 2.15.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -8628,17 +8727,13 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 - reusify@1.0.4: {} + reusify@1.1.0: {} rfdc@1.4.1: {} - rimraf@2.7.1: + rimraf@6.1.3: dependencies: - glob: 7.2.3 - - rimraf@6.0.1: - dependencies: - glob: 11.1.0 + glob: 13.0.6 package-json-from-dist: 1.0.1 ripemd160@2.0.3: @@ -8650,28 +8745,32 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.2: + safe-array-concat@1.1.4: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 isarray: 2.0.5 safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} - safe-json-parse@1.0.1: {} + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 - safe-regex-test@1.0.3: + safe-regex-test@1.1.0: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - is-regex: 1.1.4 + is-regex: 1.2.1 safer-buffer@2.1.2: {} - sax@1.4.1: + sax@1.6.0: optional: true saxes@6.0.0: @@ -8682,7 +8781,7 @@ snapshots: semver@6.3.1: {} - semver@7.6.3: {} + semver@7.8.0: {} send@0.19.2: dependencies: @@ -8711,8 +8810,8 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -8722,6 +8821,12 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + setprototypeof@1.2.0: {} sha.js@2.4.12: @@ -8730,7 +8835,7 @@ snapshots: safe-buffer: 5.2.1 to-buffer: 1.2.2 - shasum-object@1.0.0: + shasum-object@1.0.1: dependencies: fast-safe-stringify: 2.1.1 @@ -8746,7 +8851,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.1: {} + shell-quote@1.8.3: {} should-equal@2.0.0: dependencies: @@ -8774,7 +8879,7 @@ snapshots: should-type-adaptors: 1.1.0 should-util: 1.0.1 - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -8794,18 +8899,11 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.2 - side-channel@1.1.0: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -8821,18 +8919,23 @@ snapshots: slash@4.0.0: {} - slice-ansi@5.0.0: + slice-ansi@7.1.2: dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 - slice-ansi@7.1.0: + slice-ansi@8.0.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 slick@1.12.2: {} + sntp@1.0.9: + dependencies: + hoek: 2.16.3 + optional: true + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 @@ -8845,19 +8948,32 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.23 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.23 - spdx-license-ids@3.0.20: {} + spdx-license-ids@3.0.23: {} sprintf-js@1.0.3: {} + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + optional: true + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -8866,6 +8982,11 @@ snapshots: statuses@2.0.2: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -8903,45 +9024,46 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: + string-width@7.2.0: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + emoji-regex: 10.6.0 + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 - string-width@7.2.0: + string-width@8.2.1: dependencies: - emoji-regex: 10.5.0 - get-east-asian-width: 1.3.1 - strip-ansi: 7.1.0 + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 string.prototype.padend@3.1.6: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 + es-abstract: 1.24.2 + es-object-atoms: 1.1.1 - string.prototype.trim@1.2.9: + string.prototype.trim@1.2.10: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 + es-abstract: 1.24.2 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 - string.prototype.trimend@1.0.8: + string.prototype.trimend@1.0.9: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string_decoder@0.10.31: {} + es-object-atoms: 1.1.1 string_decoder@1.1.1: dependencies: @@ -8958,13 +9080,16 @@ snapshots: is-alphanumerical: 1.0.4 is-hexadecimal: 1.0.4 + stringstream@0.0.6: + optional: true + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + strip-ansi@7.2.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.2 strip-bom@3.0.0: {} @@ -8974,9 +9099,7 @@ snapshots: strip-indent@2.0.0: {} - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 + strip-indent@4.1.1: {} strip-json-comments@3.1.1: {} @@ -9010,7 +9133,7 @@ snapshots: test-exclude@6.0.0: dependencies: - '@istanbuljs/schema': 0.1.3 + '@istanbuljs/schema': 0.1.6 glob: 7.2.3 minimatch: 3.1.5 @@ -9030,16 +9153,7 @@ snapshots: dependencies: process: 0.11.10 - tiny-lr@1.1.1: - dependencies: - body: 5.1.0 - debug: 3.2.7 - faye-websocket: 0.10.0 - livereload-js: 2.4.0 - object-assign: 4.1.1 - qs: 6.15.0 - transitivePeerDependencies: - - supports-color + tinyexec@1.1.2: {} tmp@0.2.4: {} @@ -9057,9 +9171,14 @@ snapshots: toidentifier@1.0.1: {} + tough-cookie@2.3.4: + dependencies: + punycode: 1.4.1 + optional: true + tough-cookie@4.1.4: dependencies: - psl: 1.9.0 + psl: 1.15.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 @@ -9070,11 +9189,11 @@ snapshots: dependencies: punycode: 2.3.1 - traverse@0.6.10: + traverse@0.6.11: dependencies: - gopd: 1.0.1 - typedarray.prototype.slice: 1.0.3 - which-typed-array: 1.1.15 + gopd: 1.2.0 + typedarray.prototype.slice: 1.0.5 + which-typed-array: 1.1.20 trim-newlines@2.0.0: {} @@ -9086,49 +9205,58 @@ snapshots: trough@1.0.5: {} - ts-jest@29.2.5(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest@29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)))(typescript@5.6.2): + ts-jest@29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 - ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.7.4)(ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2)) - jest-util: 29.7.0 + handlebars: 4.7.9 + jest: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.3 - typescript: 5.6.2 + semver: 7.8.0 + type-fest: 4.41.0 + typescript: 5.9.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.29.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.29.0) + jest-util: 29.7.0 - ts-node@10.9.2(@types/node@22.7.4)(typescript@5.6.2): + ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 + '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.7.4 - acorn: 8.12.1 - acorn-walk: 8.3.4 + '@types/node': 22.19.19 + acorn: 8.16.0 + acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.6.2 + typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 tslib@1.14.1: {} - tslib@2.7.0: {} + tslib@2.8.1: {} tty-browserify@0.0.1: {} + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + optional: true + + tweetnacl@0.14.5: + optional: true + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -9139,11 +9267,7 @@ snapshots: type-fest@1.4.0: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 + type-fest@4.41.0: {} typed-array-buffer@1.0.3: dependencies: @@ -9151,55 +9275,58 @@ snapshots: es-errors: 1.3.0 is-typed-array: 1.1.15 - typed-array-byte-length@1.0.1: + typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 - typed-array-byte-offset@1.0.2: + typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.6: + typed-array-length@1.0.7: dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 - typedarray.prototype.slice@1.0.3: + typedarray.prototype.slice@1.0.5: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.2 es-errors: 1.3.0 - typed-array-buffer: 1.0.2 - typed-array-byte-offset: 1.0.2 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 + typed-array-buffer: 1.0.3 + typed-array-byte-offset: 1.0.4 typedarray@0.0.6: {} - typescript@5.6.2: {} + typescript@5.9.3: {} - uglify-js@3.17.0: {} + uglify-js@3.19.3: {} umd@3.0.3: {} - unbox-primitive@1.0.2: + unbox-primitive@1.1.0: dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 undeclared-identifiers@1.1.3: dependencies: @@ -9209,11 +9336,9 @@ snapshots: simple-concat: 1.0.1 xtend: 4.0.2 - undici-types@6.19.8: {} - - undici@6.24.0: {} + undici-types@6.21.0: {} - undici@7.24.4: {} + undici@7.25.0: {} unherit@1.1.3: dependencies: @@ -9250,11 +9375,11 @@ snapshots: universalify@0.2.0: {} - unxhr@1.0.1: {} + unxhr@1.2.0: {} - update-browserslist-db@1.2.3(browserslist@4.28.1): + update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 @@ -9272,7 +9397,7 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.15.0 + qs: 6.15.2 util-deprecate@1.0.2: {} @@ -9283,16 +9408,19 @@ snapshots: util@0.12.5: dependencies: inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 + is-arguments: 1.2.0 + is-generator-function: 1.1.2 is-typed-array: 1.1.15 which-typed-array: 1.1.20 + uuid@3.4.0: + optional: true + v8-compile-cache-lib@3.0.1: {} v8-to-istanbul@9.3.0: dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.31 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 @@ -9303,6 +9431,13 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + optional: true + vfile-location@2.0.6: {} vfile-message@1.1.1: @@ -9326,13 +9461,13 @@ snapshots: dependencies: makeerror: 1.0.12 - web-resource-inliner@6.0.1(encoding@0.1.13): + web-resource-inliner@6.0.1: dependencies: ansi-colors: 4.1.3 escape-goat: 3.0.0 htmlparser2: 5.0.1 mime: 2.6.0 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 valid-data-url: 3.0.1 transitivePeerDependencies: - encoding @@ -9341,14 +9476,6 @@ snapshots: webidl-conversions@7.0.0: {} - websocket-driver@0.7.4: - dependencies: - http-parser-js: 0.5.8 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - - websocket-extensions@0.1.4: {} - whatwg-encoding@2.0.0: dependencies: iconv-lite: 0.6.3 @@ -9371,26 +9498,41 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.1: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 - which-typed-array@1.1.15: + which-builtin-type@1.2.1: dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 + call-bound: 1.0.4 + function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.20 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 which-typed-array@1.1.20: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 for-each: 0.3.5 get-proto: 1.0.1 @@ -9417,17 +9559,11 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrap-ansi@9.0.0: + wrap-ansi@9.0.2: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.0 + strip-ansi: 7.2.0 wrappy@1.0.2: {} @@ -9436,7 +9572,7 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@8.18.0: {} + ws@8.20.1: {} x-is-string@0.1.0: {} @@ -9452,7 +9588,7 @@ snapshots: yallist@4.0.0: {} - yaml@2.8.1: {} + yaml@2.9.0: {} yargs-parser@20.2.9: {} diff --git a/reports/install.log b/reports/install.log index ca973af7a..97dd0e80a 100644 --- a/reports/install.log +++ b/reports/install.log @@ -1,57 +1,35 @@ $ pnpm install Scope: all 16 workspace projects -(node:45558) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(node:78110) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) Progress: resolved 1, reused 0, downloaded 0, added 0 -Progress: resolved 20, reused 13, downloaded 3, added 0 -Progress: resolved 31, reused 20, downloaded 6, added 0 -Progress: resolved 42, reused 29, downloaded 7, added 0 -Progress: resolved 48, reused 32, downloaded 8, added 0 -Progress: resolved 51, reused 33, downloaded 10, added 0 -Progress: resolved 55, reused 36, downloaded 10, added 0 -Progress: resolved 68, reused 48, downloaded 17, added 0 -Progress: resolved 89, reused 68, downloaded 19, added 0 -Progress: resolved 89, reused 68, downloaded 20, added 0 -Progress: resolved 90, reused 68, downloaded 20, added 0 -Progress: resolved 91, reused 68, downloaded 20, added 0 -Progress: resolved 108, reused 80, downloaded 22, added 0 -Progress: resolved 134, reused 101, downloaded 28, added 0 -Progress: resolved 152, reused 117, downloaded 29, added 0 -Progress: resolved 184, reused 144, downloaded 33, added 0 -Progress: resolved 210, reused 165, downloaded 36, added 0 -Progress: resolved 260, reused 188, downloaded 39, added 0 -Progress: resolved 295, reused 220, downloaded 44, added 0 -Progress: resolved 353, reused 275, downloaded 47, added 0 -Progress: resolved 410, reused 328, downloaded 51, added 0 -Progress: resolved 428, reused 346, downloaded 51, added 0 -Progress: resolved 434, reused 351, downloaded 51, added 0 -Progress: resolved 440, reused 357, downloaded 53, added 0 -Progress: resolved 456, reused 370, downloaded 54, added 0 -Progress: resolved 486, reused 395, downloaded 58, added 0 -Progress: resolved 513, reused 418, downloaded 61, added 0 -Progress: resolved 539, reused 432, downloaded 65, added 0 -Progress: resolved 559, reused 443, downloaded 81, added 0 -Progress: resolved 596, reused 473, downloaded 87, added 0 -Progress: resolved 665, reused 536, downloaded 93, added 0 -Progress: resolved 692, reused 557, downloaded 101, added 0 -Progress: resolved 703, reused 567, downloaded 103, added 0 -Progress: resolved 713, reused 576, downloaded 104, added 0 -Progress: resolved 747, reused 606, downloaded 106, added 0 -Progress: resolved 772, reused 622, downloaded 110, added 0 -Progress: resolved 803, reused 636, downloaded 125, added 0 -Progress: resolved 857, reused 674, downloaded 148, added 0 -Progress: resolved 919, reused 729, downloaded 155, added 0 -Progress: resolved 981, reused 774, downloaded 164, added 0 -Progress: resolved 1061, reused 834, downloaded 186, added 0 -Progress: resolved 1070, reused 837, downloaded 206, added 0 -Progress: resolved 1071, reused 837, downloaded 209, added 0 +Progress: resolved 16, reused 16, downloaded 0, added 0 +Progress: resolved 44, reused 44, downloaded 0, added 0 +Progress: resolved 70, reused 70, downloaded 0, added 0 +Progress: resolved 89, reused 89, downloaded 0, added 0 +Progress: resolved 90, reused 90, downloaded 0, added 0 +Progress: resolved 128, reused 128, downloaded 0, added 0 +Progress: resolved 164, reused 164, downloaded 0, added 0 +Progress: resolved 267, reused 242, downloaded 0, added 0 +Progress: resolved 345, reused 320, downloaded 0, added 0 +Progress: resolved 415, reused 389, downloaded 0, added 0 +Progress: resolved 438, reused 413, downloaded 0, added 0 +Progress: resolved 447, reused 422, downloaded 0, added 0 +Progress: resolved 473, reused 448, downloaded 0, added 0 +Progress: resolved 579, reused 554, downloaded 0, added 0 +Progress: resolved 688, reused 663, downloaded 0, added 0 +Progress: resolved 716, reused 690, downloaded 0, added 0 +Progress: resolved 820, reused 795, downloaded 0, added 0 +Progress: resolved 917, reused 892, downloaded 0, added 0 +Progress: resolved 1030, reused 1005, downloaded 0, added 0 +Progress: resolved 1071, reused 1046, downloaded 0, added 0 +Progress: resolved 1072, reused 1046, downloaded 0, added 0  WARN  17 deprecated subdependencies found: abab@2.0.6, boom@2.10.1, cryptiles@2.0.5, domexception@4.0.0, glob@7.2.3, glob@8.1.0, har-validator@4.2.1, hawk@3.1.3, hoek@2.16.3, inflight@1.0.6, markdown-to-ast@4.0.0, request@2.81.0, sntp@1.0.9, trim@0.0.1, uuid@3.4.0, whatwg-encoding@2.0.0, whatwg-encoding@3.1.1 Packages: +1047 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Progress: resolved 1072, reused 837, downloaded 209, added 0 -Progress: resolved 1072, reused 837, downloaded 210, added 347 -Progress: resolved 1072, reused 837, downloaded 210, added 662 -Progress: resolved 1072, reused 837, downloaded 210, added 1047, done +Progress: resolved 1072, reused 1047, downloaded 0, added 489 +Progress: resolved 1072, reused 1047, downloaded 0, added 845 +Progress: resolved 1072, reused 1047, downloaded 0, added 1047, done .../esbuild@0.27.7/node_modules/esbuild postinstall$ node install.js .../esbuild@0.27.7/node_modules/esbuild postinstall: Done . prepare$ git config --local core.hooksPath .githooks @@ -65,4 +43,4 @@ devDependencies: + prettier 3.8.3 + typescript 5.9.3 (6.0.3 is available) -Done in 48.5s +Done in 25.8s From 12bc8e893fac052042ae2397420520d3773f3669 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Sun, 17 May 2026 02:58:53 -0400 Subject: [PATCH 09/17] Rework the majority of remaining deprecations --- examples/benchmark/book.json | 6 +- examples/benchmark/package.json | 1 - package.json | 8 +- packages/@honkit/html/package.json | 4 +- packages/@honkit/html/src/dom.ts | 9 + packages/@honkit/html/src/index.ts | 2 +- packages/@honkit/markup-it/package.json | 2 +- packages/@honkit/theme-default/package.json | 11 +- packages/@honkit/theme/package.json | 2 +- packages/honkit/package.json | 1 - .../__snapshots__/snapshot-honkit.ts.snap | 246 +- .../src/output/modifiers/annotateText.ts | 4 +- .../src/output/modifiers/fetchRemoteImages.ts | 4 +- .../honkit/src/output/modifiers/inlineSvg.ts | 5 +- .../honkit/src/output/modifiers/modifyHTML.ts | 5 +- pnpm-lock.yaml | 2444 ++--------------- reports/README.md | 1 - reports/install.log | 48 +- 18 files changed, 384 insertions(+), 2419 deletions(-) diff --git a/examples/benchmark/book.json b/examples/benchmark/book.json index 1901fbef5..b81c0d5f9 100644 --- a/examples/benchmark/book.json +++ b/examples/benchmark/book.json @@ -15,8 +15,7 @@ "anchors", "canonical-link", "ga", - "js-console", - "github-issue-feedback" + "js-console" ], "variables": { "esversion": "2019", @@ -37,9 +36,6 @@ "apiKey": "fd28ebaba94be0c39fb9fa1b2fed4f23", "index": "asciidwango" }, - "github-issue-feedback": { - "repo": "asciidwango/js-primer" - }, "edit-link": { "base": "https://github.com/asciidwango/js-primer/edit/master/source/", "label": "Edit" diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index a07692fe1..e164167f1 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -23,7 +23,6 @@ "gitbook-plugin-canonical-link": "^2.0.3", "gitbook-plugin-custom-favicon": "0.0.4", "gitbook-plugin-ga": "^1.0.1", - "gitbook-plugin-github-issue-feedback": "^1.4.0", "gitbook-plugin-include-codeblock": "^3.2.3", "gitbook-plugin-js-console": "^2.0.5", "gitbook-plugin-page-toc-button": "^0.1.1", diff --git a/package.json b/package.json index 6f2e74153..c365e118d 100644 --- a/package.json +++ b/package.json @@ -49,5 +49,11 @@ "prettier --write" ] }, - "packageManager": "pnpm@9.12.0+sha512.4abf725084d7bcbafbd728bfc7bee61f2f791f977fd87542b3579dcb23504d170d46337945e4c66485cd12d588a0c0e570ed9c477e7ccdd8507cf05f3f92eaca" + "packageManager": "pnpm@9.12.0+sha512.4abf725084d7bcbafbd728bfc7bee61f2f791f977fd87542b3579dcb23504d170d46337945e4c66485cd12d588a0c0e570ed9c477e7ccdd8507cf05f3f92eaca", + "pnpm": { + "overrides": { + "cheerio": "1.0.0-rc.12", + "glob": "^13.0.0" + } + } } diff --git a/packages/@honkit/html/package.json b/packages/@honkit/html/package.json index 6bfcc24e7..40f9bae9b 100644 --- a/packages/@honkit/html/package.json +++ b/packages/@honkit/html/package.json @@ -38,11 +38,11 @@ "prepublish": "npm run --if-present build" }, "dependencies": { - "cheerio": "^1.0.0", + "cheerio": "1.0.0-rc.12", "lodash": "^4.17.23" }, "devDependencies": { - "mocha": "^10.8.2", + "mocha": "^11.7.4", "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.6.2" diff --git a/packages/@honkit/html/src/dom.ts b/packages/@honkit/html/src/dom.ts index 40cf578af..abdebd9be 100644 --- a/packages/@honkit/html/src/dom.ts +++ b/packages/@honkit/html/src/dom.ts @@ -13,6 +13,15 @@ type CheerioOptions = cheerio.CheerioOptions & { export function loadHtml(html: string): cheerio.CheerioAPI { return cheerio.load(html, { _useHtmlParser2: true } as CheerioOptions); } + +/** + * Load an XML/SVG fragment (e.g. for inline SVG). + */ +export function loadXml(html: string): cheerio.CheerioAPI { + return cheerio.load(html, { _useHtmlParser2: true, xmlMode: true } as CheerioOptions); +} + +export type { CheerioAPI as HtmlDom } from "cheerio"; /** Parse an HTML string and return its content diff --git a/packages/@honkit/html/src/index.ts b/packages/@honkit/html/src/index.ts index 1e58744cc..b93163993 100755 --- a/packages/@honkit/html/src/index.ts +++ b/packages/@honkit/html/src/index.ts @@ -18,7 +18,7 @@ const htmlParser = { /** * Utility for loading HTML content */ -export { loadHtml } from "./dom"; +export { loadHtml, loadXml, type HtmlDom } from "./dom"; export type ToHTMLOptions = { baseDirectory: string; }; diff --git a/packages/@honkit/markup-it/package.json b/packages/@honkit/markup-it/package.json index 764a81f6d..e18d34ef0 100644 --- a/packages/@honkit/markup-it/package.json +++ b/packages/@honkit/markup-it/package.json @@ -46,7 +46,7 @@ "@types/node": "^22.7.4", "eslint": "^9.39.4", "jest": "^29.7.0", - "jsdom": "^20.0.3", + "jsdom": "^26.1.0", "rimraf": "^6.0.1", "should": "^13.2.3", "ts-jest": "^29.2.5" diff --git a/packages/@honkit/theme-default/package.json b/packages/@honkit/theme-default/package.json index bfe1423fa..df3c55b09 100644 --- a/packages/@honkit/theme-default/package.json +++ b/packages/@honkit/theme-default/package.json @@ -39,8 +39,8 @@ "build:css:pdf": "lessc -clean-css src/less/pdf.less _assets/ebook/pdf.css", "build:css:website": "lessc -clean-css src/less/website.less _assets/website/style.css", "build:js": "npm-run-all -p build:js:*", - "build:js:gitbook": "browserify src/js/core/index.js | uglifyjs -mc > _assets/website/gitbook.js", - "build:js:theme": "browserify src/js/theme/index.js | uglifyjs -mc > _assets/website/theme.js", + "build:js:gitbook": "esbuild src/js/core/index.js --bundle --minify --platform=browser --alias:path=path-browserify --alias:url=url/ --outfile=_assets/website/gitbook.js", + "build:js:theme": "esbuild src/js/theme/index.js --bundle --minify --platform=browser --outfile=_assets/website/theme.js", "clean": "rimraf _assets && mkdirp _assets/ebook/ _assets/website/ _assets/website/fonts _assets/website/images", "cp": "npm-run-all -p cp:*", "cp:favicon": "cpy --flat logo/favicon.ico _assets/website/images/", @@ -51,19 +51,20 @@ }, "devDependencies": { "@honkit/cleaning-tools": "workspace:*", - "browserify": "^17.0.0", "cpy-cli": "^4.2.0", + "esbuild": "^0.27.4", "eslint": "^9.39.4", "font-awesome": "^4.6.3", "gitbook-markdown-css": "^1.0.1", "jquery": "^3.5.1", - "less": "^2.7.1", + "less": "^4.2.0", "less-plugin-clean-css": "^1.6.0", "mkdirp": "^1.0.4", "mousetrap": "^1.6.0", "npm-run-all": "^4.1.5", + "path-browserify": "^1.0.1", "rimraf": "^6.0.1", - "uglify-js": "^3.17.0" + "url": "^0.11.4" }, "engines": { "gitbook": ">=3.0.0" diff --git a/packages/@honkit/theme/package.json b/packages/@honkit/theme/package.json index 867c43060..de9f036f3 100644 --- a/packages/@honkit/theme/package.json +++ b/packages/@honkit/theme/package.json @@ -39,7 +39,7 @@ "cpy-cli": "^4.2.0", "esbuild": "^0.27.4", "gitbook-markdown-css": "^1.1.0", - "less": "^2.7.1", + "less": "^4.2.0", "less-plugin-clean-css": "^1.6.0", "mkdirp": "^1.0.4", "npm-run-all": "^4.1.5", diff --git a/packages/honkit/package.json b/packages/honkit/package.json index 78fe245f4..dd720d8e7 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -45,7 +45,6 @@ "@honkit/html": "workspace:*", "@honkit/markdown-legacy": "workspace:*", "bash-color": "^0.0.4", - "cheerio": "^1.0.0", "chokidar": "^3.6.0", "commander": "^5.1.0", "crc": "^3.8.0", diff --git a/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap b/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap index ff86b096a..d3a9fee05 100644 --- a/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap +++ b/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap @@ -658,12 +658,12 @@ exports[`HonKit snapshots: GLOSSARY.html 1`] = `

Plugins are the best way to extend HonKit functionalities (ebook and website).

For more details, see Templating.

Templating

-

HonKit uses the Nunjucks templating language to process pages and theme's templates.

+

HonKit uses the Nunjucks templating language to process pages and theme's templates.

For more details, see Templating.

.MD files

This is a test that the glossary term .MD files will parse as expected.

Brancaleone von Andalò

-

An Italian Senator? He's the subject of the bug report at https://github.com/honkit/honkit/issues/312.

+

An Italian Senator? He's the subject of the bug report at https://github.com/honkit/honkit/issues/312.


@@ -1462,7 +1462,7 @@ exports[`HonKit snapshots: config.html 1`] = ` root -Path to the root folder containing all the book's files, except book.json +Path to the root folder containing all the book's files, except book.json structure @@ -1486,19 +1486,19 @@ exports[`HonKit snapshots: config.html 1`] = ` language -ISO code of the book's language, default value is en +ISO code of the book's language, default value is en direction -Text's direction. Can be rtl or ltr, the default value depends on the value of language +Text's direction. Can be rtl or ltr, the default value depends on the value of language gitbook -Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" +Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" honkit -Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" +Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" @@ -1576,7 +1576,7 @@ These files must be at the root of your book (or the root of every language book pdf.paperSize -Paper size, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (default is a4) +Paper size, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (default is a4) pdf.margin.top @@ -4049,19 +4049,19 @@ In some case, Does HonKit supports RTL/bi-directional text ?

The HonKit format supports right to left, and bi-directional writing. To enable it, you either need to specify a language (ex: ar), or force HonKit to use RTL in your book.json:

{
-    "language": "ar",
-    "direction": "rtl"
+    "language": "ar",
+    "direction": "rtl"
 }
 
-

With version 3.0 of HonKit, it's automatically detected according to the content. -Note that, while the output book will indeed respect RTL, the Editor doesn't support RTL writing yet.

+

With version 3.0 of HonKit, it's automatically detected according to the content. +Note that, while the output book will indeed respect RTL, the Editor doesn't support RTL writing yet.

You should always use paths and the .md extensions when linking to your files, HonKit will automatically replace these paths by the appropriate link when the pointing file is referenced in the Table of Contents.

Can I create a HonKit in a sub-directory of my repository?

Yes, HonKits can be created in sub-directories.

Does HonKit supports RTL languages?

Yes, HonKit automatically detect the direction in your pages (rtl or ltr) and adjust the layout accordingly. The direction can also be specified globally in the book.json.

-
+

Does HonKit support Math equations?

HonKit supports math equations and TeX thanks to plugins. There are currently 2 official plugins to display math: mathjax and katex.

Can I customize/theme the output?

@@ -4876,7 +4876,7 @@ exports[`HonKit snapshots: index.html 1`] = `

Contribute to this documentation

You can contribute to improve this documentation on GitHub by signaling issues or proposing changes.

Additional test case

-

Der Papst gehört nicht nach Anagni oder Lyon, nicht nach Perugia oder Assisi, sondern nach Rom.« Ein kraftvoller Mann gab den Römern diese Sprache ein,Brancaleone von Andalò, ihr damaliger Senator.

+

Der Papst gehört nicht nach Anagni oder Lyon, nicht nach Perugia oder Assisi, sondern nach Rom.« Ein kraftvoller Mann gab den Römern diese Sprache ein,Brancaleone von Andalò, ihr damaliger Senator.


@@ -6483,7 +6483,7 @@ exports[`HonKit snapshots: lexicon.html 1`] = ` Definition for this term ## Another term -With it's definition, this can contain bold text +With it's definition, this can contain bold text and all other kinds of inline markup ... @@ -7285,8 +7285,8 @@ exports[`HonKit snapshots: pages.html 1`] = `

Pages and Summary

Summary

-

HonKit uses a SUMMARY.md file to define the structure of chapters and subchapters of the book. The SUMMARY.md file is used to generate the book's table of contents.

-

The format of SUMMARY.md is just a list of links. The link's title is used as the chapter's title, and the link's target is a path to that chapter's file.

+

HonKit uses a SUMMARY.md file to define the structure of chapters and subchapters of the book. The SUMMARY.md file is used to generate the book's table of contents.

+

The format of SUMMARY.md is just a list of links. The link's title is used as the chapter's title, and the link's target is a path to that chapter's file.

Adding a nested list to a parent chapter will create subchapters.

Simple example
# Summary
@@ -7333,7 +7333,7 @@ exports[`HonKit snapshots: pages.html 1`] = `
 

Parts are just groups of chapters and do not have dedicated pages, but according to the theme, it will show in the navigation.

Pages

Markdown syntax

-

Most of the files for HonKit use the Markdown syntax by default. HonKit infers your pages's structure from it. The syntax used is similar to the GitHub Flavored Markdown syntax. One can also opt for the AsciiDoc syntax.

+

Most of the files for HonKit use the Markdown syntax by default. HonKit infers your pages's structure from it. The syntax used is similar to the GitHub Flavored Markdown syntax. One can also opt for the AsciiDoc syntax.

Example of a chapter file
# Title of the chapter
 
@@ -7341,14 +7341,14 @@ This is a great introduction.
 
 ## Section 1
 
-Markdown will dictates _most_ of your **book's structure**
+Markdown will dictates _most_ of your **book's structure**
 
 ## Section 2
 
 ...
 

Front Matter

-

Pages can contain an optional front matter. It can be used to define the page's description. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:

+

Pages can contain an optional front matter. It can be used to define the page's description. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:

---
 description: This is a short description of my page
 ---
@@ -7356,7 +7356,7 @@ Markdown will dictates _most_ of your # The content of my page
 ...
 
-

The front matter can define variables of your own, they will be added to the page variable so you can use them in your templating.

+

The front matter can define variables of your own, they will be added to the page variable so you can use them in your templating.


@@ -8159,17 +8159,17 @@ exports[`HonKit snapshots: plugins/api.html 1`] = `

Book instance

The Book class is the central point of HonKit, it centralize all access read methods. This class is defined in book.js.

// Read configuration from book.json
-var value = book.config.get('title', 'Default Value');
+var value = book.config.get('title', 'Default Value');
 
 // Resolve a filename to an absolute path
-var filepath = book.resolve('README.md');
+var filepath = book.resolve('README.md');
 
 // Render an inline markup string
-book.renderInline('markdown', 'This is **Markdown**')
+book.renderInline('markdown', 'This is **Markdown**')
     .then(function(str) { ... })
 
 // Render a markup string (block mode)
-book.renderBlock('markdown', '* This is **Markdown**')
+book.renderBlock('markdown', '* This is **Markdown**')
     .then(function(str) { ... })
 

Output instance

@@ -8178,21 +8178,21 @@ book.renderBlock(var root = output.root(); // Resolve a file in the output folder -var filepath = output.resolve('myimage.png'); +var filepath = output.resolve('myimage.png'); // Convert a filename to an URL (returns a path to an html file) -var fileurl = output.toURL('mychapter/README.md'); +var fileurl = output.toURL('mychapter/README.md'); // Write a file in the output folder -output.writeFile('hello.txt', 'Hello World') +output.writeFile('hello.txt', 'Hello World') .then(function() { ... }); // Copy a file to the output folder -output.copyFile('./myfile.jpg', 'cover.jpg') +output.copyFile('./myfile.jpg', 'cover.jpg') .then(function() { ... }); // Verify that a file exists -output.hasFile('hello.txt') +output.hasFile('hello.txt') .then(function(exists) { ... });

Page instance

@@ -8210,22 +8210,22 @@ page.path page.rawPath // Type of parser used for this file -page.type ('markdown' or 'asciidoc') +page.type ('markdown' or 'asciidoc')

Context for Blocks and Filters

Blocks and filters have access to the same context, this context is bind to the template engine execution:

{
     // Current templating syntax
-    "ctx": {
-        // For example, after a {% set message = "hello" %}
-        "message": "hello"
+    "ctx": {
+        // For example, after a {% set message = "hello" %}
+        "message": "hello"
     },
 
     // Book instance
-    "book" <Book>,
+    "book" <Book>,
 
     // Output instance
-    "output": <Output>
+    "output": <Output>
 }
 

For example a filter or block function can access the current book using: this.book.

@@ -9029,15 +9029,15 @@ exports[`HonKit snapshots: plugins/blocks.html 1`] = `

Extend Blocks

-

Extending templating blocks is the best way to provide extra functionalities to authors.

-

The most common usage is to process the content within some tags at runtime. It's like filters, but on steroids because you aren't confined to a single expression.

+

Extending templating blocks is the best way to provide extra functionalities to authors.

+

The most common usage is to process the content within some tags at runtime. It's like filters, but on steroids because you aren't confined to a single expression.

Defining a new block

Blocks are defined by the plugin, blocks is a map of name associated with a block descriptor. The block descriptor needs to contain at least a process method.

module.exports = {
     blocks: {
         tag1: {
             process: function(block) {
-                return "Hello "+block.body+", How are you?";
+                return "Hello "+block.body+", How are you?";
             }
         }
     }
@@ -9046,7 +9046,7 @@ exports[`HonKit snapshots: plugins/blocks.html 1`] = `
 

The process should return the html content that will replace the tag. Refer to Context and APIs to learn more about this and HonKit API.

Handling block arguments

Arguments can be passed to blocks:

-
{% tag1 "argument 1", "argument 2", name="Test" %}
+
{% tag1 "argument 1", "argument 2", name="Test" %}
 This is the body of the block.
 {% endtag1 %}
 

And arguments are easily accessible in the process method:

@@ -9054,15 +9054,15 @@ This is the body of the block. blocks: { tag1: { process: function(block) { - // block.args equals ["argument 1", "argument 2"] - // block.kwargs equals { "name": "Test" } + // block.args equals ["argument 1", "argument 2"] + // block.kwargs equals { "name": "Test" } } } } };

Handling sub-blocks

-

A defined block can be parsed into different sub-blocks, for example let's consider the source:

+

A defined block can be parsed into different sub-blocks, for example let's consider the source:

{% myTag %}
     Main body
     {% subblock1 %}
@@ -9874,18 +9874,18 @@ exports[`HonKit snapshots: plugins/create.html 1`] = `
 

The package.json is a manifest format for describing Node.js modules. HonKit plugins are built on top of Node modules. It declares dependencies, version, ownership, and other information required to run a plugin in HonKit. This document describes the schema in detail.

A plugin manifest package.json can also contain details about the required configuration. The configuration schema is defined in the honkit field of the package.json (This field follow the JSON-Schema guidelines):

{
-    "name": "honkit-plugin-mytest",
-    "version": "0.0.1",
-    "description": "This is my first HonKit plugin",
-    "engines": {
-        "honkit": ">1.x.x"
+    "name": "honkit-plugin-mytest",
+    "version": "0.0.1",
+    "description": "This is my first HonKit plugin",
+    "engines": {
+        "honkit": ">1.x.x"
     },
-    "honkit": {
-        "properties": {
-            "myConfigKey": {
-                "type": "string",
-                "default": "it's the default value",
-                "description": "It defines my awesome config!"
+    "honkit": {
+        "properties": {
+            "myConfigKey": {
+                "type": "string",
+                "default": "it's the default value",
+                "description": "It defines my awesome config!"
             }
         }
     }
@@ -9920,8 +9920,8 @@ exports[`HonKit snapshots: plugins/create.html 1`] = `
 

Private plugins

Private plugins can be hosted on GitHub and included using git urls:

{
-    "plugins": [
-        "myplugin@git+https://github.com/MyCompany/myhonkitplugin.git#1.0.0"
+    "plugins": [
+        "myplugin@git+https://github.com/MyCompany/myhonkitplugin.git#1.0.0"
     ]
 }
 
@@ -10724,8 +10724,8 @@ exports[`HonKit snapshots: plugins/filters.html 1`] = `

Extend Filters

Filters are essentially functions that can be applied to variables. They are called with a pipe operator (|) and can take arguments.

{{ foo | title }}
-{{ foo | join(",") }}
-{{ foo | replace("foo", "bar") | capitalize }}
+{{ foo | join(",") }}
+{{ foo | replace("foo", "bar") | capitalize }}
 

Defining a new filter

Plugins can extend filters by defining custom functions in their entry point under the filters scope.

A filter function takes as first argument the content to filter, and should return the new content. @@ -10733,24 +10733,24 @@ Refer to Context and APIs to learn more about this<

module.exports = {
     filters: {
         hello: function(name) {
-            return 'Hello '+name;
+            return 'Hello '+name;
         }
     }
 };
 

The filter hello can then be used in the book:

-
{{ "Aaron"|hello }}, how are you?
+
{{ "Aaron"|hello }}, how are you?
 

Handling block arguments

Arguments can be passed to filters:

-
Hello {{ "Samy"|fullName("Pesse", man=true}} }}
+
Hello {{ "Samy"|fullName("Pesse", man=true}} }}
 

Arguments are passed to the function, named-arguments are passed as a last argument (object).

module.exports = {
     filters: {
         fullName: function(firstName, lastName, kwargs) {
-            var name = firstName + ' ' + lastName;
+            var name = firstName + ' ' + lastName;
 
-            if (kwargs.man) name = "Mr" + name;
-            else name = "Mrs" + name;
+            if (kwargs.man) name = "Mr" + name;
+            else name = "Mrs" + name;
 
             return name;
         }
@@ -11599,7 +11599,7 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
 
 page:before
-Called before running the templating engine on the page
+Called before running the templating engine on the page
 Page Object
 
 
@@ -11612,28 +11612,28 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
Page Object
{
     // Parser named
-    "type": "markdown",
+    "type": "markdown",
 
     // File Path relative to book root
-    "path": "page.md",
+    "path": "page.md",
 
     // Absolute file path
-    "rawpath": "/usr/...",
+    "rawpath": "/usr/...",
 
     // Title of the page in the SUMMARY
-    "title": "",
+    "title": "",
 
     // Content of the page
-    // Markdown/Asciidoc in "page:before"
-    // HTML in "page"
-    "content": "# Hello"
+    // Markdown/Asciidoc in "page:before"
+    // HTML in "page"
+    "content": "# Hello"
 }
 
Example to add a title

In the page:before hook, page.content is the markdown/asciidoc content.

{
-    "page:before": function(page) {
-        page.content = "# Title\\n" +page.content;
+    "page:before": function(page) {
+        page.content = "# Title\\n" +page.content;
         return page;
     }
 }
@@ -11641,9 +11641,9 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
Example to replace some html

In the page hook, page.content is the HTML generated from the markdown/asciidoc conversion.

{
-    "page": function(page) {
-        page.content = page.content.replace("<b>", "<strong>")
-            .replace("</b>", "</strong>");
+    "page": function(page) {
+        page.content = page.content.replace("<b>", "<strong>")
+            .replace("</b>", "</strong>");
         return page;
     }
 }
@@ -11652,7 +11652,7 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 

Hooks callbacks can be asynchronous and return promises.

Example:

{
-    "init": function() {
+    "init": function() {
         return writeSomeFile()
         .then(function() {
             return writeAnotherFile();
@@ -12465,9 +12465,9 @@ exports[`HonKit snapshots: plugins/index.html 1`] = `
 

How to install a plugin?

Once you find a plugin that you want to install, you need to add it to your book.json:

{
-    "plugins": ["myPlugin", "anotherPlugin"]
+    "plugins": ["myPlugin", "anotherPlugin"]
 }
-

You can also specify a specific version using: "myPlugin@0.3.1". By default HonKit will resolve the latest version of the plugin compatbile with the current HonKit version.

+

You can also specify a specific version using: "myPlugin@0.3.1". By default HonKit will resolve the latest version of the plugin compatbile with the current HonKit version.

Configuring plugins

Plugins specific configurations are stored in pluginsConfig. You have to refer to the documentation of the plugin itself for details about the available options.

@@ -13270,10 +13270,10 @@ exports[`HonKit snapshots: plugins/testing.html 1`] = `

Testing your plugin

Testing your plugin locally

Testing your plugin on your book before publishing it is possible using npm link.

-

In the plugin's folder, run:

+

In the plugin's folder, run:

$ npm link
-

Then in your book's folder:

-
$ npm link honkit-plugin-<plugin's name>
+

Then in your book's folder:

+
$ npm link honkit-plugin-<plugin's name>
 

Unit testing on Travis

gitbook-tester makes it easy to write Node.js/Mocha unit tests for your plugins. Using Travis.org, tests can be run on each commits/tags.

@@ -14102,9 +14102,9 @@ $ yarn add honkit --dev

Or build the static website using:

$ npx honkit build
 

You can also define build and serve command in package.json as npm-run-scripts.

-
  "scripts": {
-    "build": "honkit build",
-    "serve": "honkit serve"
+
  "scripts": {
+    "build": "honkit build",
+    "serve": "honkit serve"
   },
 

After this configuration, you can use npm run command.

@@ -14962,10 +14962,10 @@ The format inside those files, follows the same convention as .gitignore

Project integration with subdirectory

-

For software projects, you can use a subdirectory (like docs/) to store the book for the project's documentation. You can configure the root option to indicate the folder where HonKit can find the book's files:

+

For software projects, you can use a subdirectory (like docs/) to store the book for the project's documentation. You can configure the root option to indicate the folder where HonKit can find the book's files:

.
 ├── book.json
 └── docs/
@@ -14973,7 +14973,7 @@ bin/*
     └── SUMMARY.md
 

With book.json containing:

{
-    "root": "./docs"
+    "root": "./docs"
 }
 
@@ -15779,7 +15779,7 @@ exports[`HonKit snapshots: syntax/asciidoc.html 1`] = `

README.adoc

This is the main entry of your book: the introduction. This file is required.

SUMMARY.adoc

-

This file defines the list of chapters and subchapters. Just like in Markdown, the SUMMARY.adoc's format is simply a list of links, the name of the link is used as the chapter's name, and the target is a path to that chapter's file.

+

This file defines the list of chapters and subchapters. Just like in Markdown, the SUMMARY.adoc's format is simply a list of links, the name of the link is used as the chapter's name, and the target is a path to that chapter's file.

Subchapters are defined simply by adding a nested list to a parent chapter.

= Summary
 
@@ -15814,8 +15814,8 @@ observer producing a sense of wonder.
 
 A popular web programming language, used by many large websites such
 as Facebook. Rasmus Lerdorf originally created PHP in 1994 to power
-his personal homepage (PHP originally stood for "Personal Home Page"
-but now stands for "PHP: Hypertext Preprocessor").
+his personal homepage (PHP originally stood for "Personal Home Page"
+but now stands for "PHP: Hypertext Preprocessor").
 
@@ -16633,7 +16633,7 @@ exports[`HonKit snapshots: syntax/markdown.html 1`] = `

Paragraphs and Line Breaks

A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line — a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be indented with spaces or tabs.

-
Here's a line for us to start with.
+
Here's a line for us to start with.
 
 This line is separated from the one above by two newlines, so it will be a *separate paragraph*.
 

Emphasis

@@ -16667,7 +16667,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa

Markdown supports two style of links: inline and reference.

A simple link can be created by surrounding the text with square brackets and the link URL with parentheses:

-
This is [an example](http://example.com/ "Title") inline link with a title.
+
This is [an example](http://example.com/ "Title") inline link with a title.
 
 [This link](http://example.net/) has no title attribute.
 
@@ -16677,7 +16677,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa
This is [an example][id] reference-style link.
 

Then, anywhere in the document, you define your link label like this, on a line by itself:

-
[id]: http://example.com/  "Optional Title Here"
+
[id]: http://example.com/  "Optional Title Here"
 

Images

Images can be created in a similar way than links: just use an exclamation mark before the square brackets. The link text will become the alternative text of the image and the link URL specifies the image source:

@@ -16687,7 +16687,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa

A blockquote is started using the > marker followed by an optional space; all following lines that are also started with the blockquote marker belong to the blockquote. You can use any block-level elements inside a blockquote:

As Kanye West said:
 
-> We're living the future so
+> We're living the future so
 > the present is our past.
 

Tables

@@ -16708,15 +16708,15 @@ This line is separated from the one above by two newlines, so it will be a *sepa

You can create fenced code blocks by placing triple backticks \`\`\` before and after the code block. We recommend placing a blank line before and after code blocks to make the raw formatting easier to read.

\`\`\`
 function test() {
-  console.log("notice the blank line before this function?");
+  console.log("notice the blank line before this function?");
 }
 \`\`\`
 
Syntax highlighting

You can add an optional language identifier to enable syntax highlighting in your fenced code block.

For example, to syntax highlight Ruby code:

\`\`\`ruby
-require 'redcarpet'
-markdown = Redcarpet.new("Hello World!")
+require 'redcarpet'
+markdown = Redcarpet.new("Hello World!")
 puts markdown.to_html
 \`\`\`
 
Inline code
@@ -16748,7 +16748,7 @@ Asterisks

Ignoring Markdown formatting

You can tell HonKit to ignore (or escape) Markdown formatting by using \\ before the Markdown character.

-
Let's rename \\*our-new-project\\* to \\*our-old-project\\*.
+
Let's rename \\*our-new-project\\* to \\*our-old-project\\*.
 

@@ -17549,9 +17549,9 @@ exports[`HonKit snapshots: templating/builtin.html 1`] = `

Builtin Templating Helpers

HonKit provides a serie of builtin filters and blocks to help you write templates.

Filters

-

value|default(default, [boolean])If value is strictly undefined, return default, otherwise value. If boolean is true, any JavaScript falsy value will return default (false, "", etc)

+

value|default(default, [boolean])If value is strictly undefined, return default, otherwise value. If boolean is true, any JavaScript falsy value will return default (false, "", etc)

arr|sort(reverse, caseSens, attr) -Sort arr with JavaScript's arr.sort function. If reverse is true, result will be reversed. Sort is case-insensitive by default, but setting caseSens to true makes it case-sensitive. If attr is passed, will compare attr from each item.

+Sort arr with JavaScript's arr.sort function. If reverse is true, result will be reversed. Sort is case-insensitive by default, but setting caseSens to true makes it case-sensitive. If attr is passed, will compare attr from each item.

Blocks

{% markdown %}Markdown string{% endmarkdown %} Render inline markdown

@@ -18357,19 +18357,19 @@ exports[`HonKit snapshots: templating/conrefs.html 1`] = `

Content References

Content referencing (conref) is a convenient mechanism to reuse content from other files or books.

Importing local files

-

Importing an other file's content is easy using the include tag:

-
{% include "./test.md" %}
+

Importing an other file's content is easy using the include tag:

+
{% include "./test.md" %}
 

Importing file from another book

HonKit can also resolve the include path by using git:

-
{% include "git+https://github.com/GitbookIO/documentation.git/README.md#0.0.1" %}
+
{% include "git+https://github.com/GitbookIO/documentation.git/README.md#0.0.1" %}
 

The format of git url is:

git+https://user@hostname/owner/project.git/file#commit-ish
 

The real git url part should finish with .git, the filename to import is extracted after the .git till the fragment of the url.

The commit-ish can be any tag, sha, or branch which can be supplied as an argument to git checkout. The default is master.

Inheritance

-

Template inheritance is a way to make it easy to reuse templates. When writing a template, you can define "blocks" that child templates can override. The inheritance chain can be as long as you like.

+

Template inheritance is a way to make it easy to reuse templates. When writing a template, you can define "blocks" that child templates can override. The inheritance chain can be as long as you like.

block defines a section on the template and identifies it with a name. Base templates can specify blocks and child templates can override them with new content.

-
{% extends "./mypage.md" %}
+
{% extends "./mypage.md" %}
 
 {% block pageContent %}
 # This is my page content
@@ -18381,7 +18381,7 @@ This is the default content
 
 # License
 
-{% include "./LICENSE" %}
+{% include "./LICENSE" %}
 

@@ -19180,7 +19180,7 @@ exports[`HonKit snapshots: templating/index.html 1`] = `

Templating

-

HonKit uses the Nunjucks templating language to process pages and theme's templates.

+

HonKit uses the Nunjucks templating language to process pages and theme's templates.

The Nunjucks syntax is very similar to Jinja2 or Liquid. Its syntax uses surrounding braces { } to mark content that needs to be processed.

Variables

A variable looks up a value from the template context. If you wanted to simply display a variable, you would use the {{ variable }} syntax. For example :

@@ -19188,25 +19188,25 @@ exports[`HonKit snapshots: templating/index.html 1`] = `

This looks up username from the context and displays it. Variable names can have dots in them which lookup properties, just like JavaScript. You can also use the square bracket syntax.

{{ foo.bar }}
-{{ foo["bar"] }}
+{{ foo["bar"] }}
 

If a value is undefined, nothing is displayed. The following all output nothing if foo is undefined: {{ foo }}, {{ foo.bar }}, {{ foo.bar.baz }}.

HonKit provides a set of predefined variables from the context.

Filters

Filters are essentially functions that can be applied to variables. They are called with a pipe operator (|) and can take arguments.

{{ foo | title }}
-{{ foo | join(",") }}
-{{ foo | replace("foo", "bar") | capitalize }}
+{{ foo | join(",") }}
+{{ foo | replace("foo", "bar") | capitalize }}
 
-

The third example shows how you can chain filters. It would display "Bar", by first replacing "foo" with "bar" and then capitalizing it.

+

The third example shows how you can chain filters. It would display "Bar", by first replacing "foo" with "bar" and then capitalizing it.

Tags

if
-

if tests a condition and lets you selectively display content. It behaves exactly as JavaScript's if behaves.

+

if tests a condition and lets you selectively display content. It behaves exactly as JavaScript's if behaves.

{% if variable %}
   It is true
 {% endif %}
 
-

If variable is defined and evaluates to true, "It is true" will be displayed. Otherwise, nothing will be.

+

If variable is defined and evaluates to true, "It is true" will be displayed. Otherwise, nothing will be.

You can specify alternate conditions with elif and else:

{% if hungry %}
   I am hungry
@@ -19220,13 +19220,13 @@ exports[`HonKit snapshots: templating/index.html 1`] = `
 

for iterates over arrays and dictionaries.

# Chapters about HonKit
 
-{% for article in glossary.terms['gitbook'].articles %}
+{% for article in glossary.terms['gitbook'].articles %}
 * [{{ article.title }}]({{ article.path }})
 {% endfor %}
 
set

set lets you create/modify a variable.

-
{% set softwareVersion = "1.0.0" %}
+
{% set softwareVersion = "1.0.0" %}
 
 Current version is {{ softwareVersion }}.
 [Download it](website.com/download/{{ softwareVersion }})
@@ -19234,7 +19234,7 @@ Current version is {{ softwareVersio
 
include and block

Inclusion and inheritance is detailled in the Content References section.

Escaping

-

If you want HonKit to ignore any of the special templating tags, you can use raw and anything inside of it will be output as plain text.

+

If you want HonKit to ignore any of the special templating tags, you can use raw and anything inside of it will be output as plain text.

{% raw %}
   this will {{ not be processed }}
 {% endraw %}
@@ -20037,7 +20037,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = `
                                 
 
                                 

Variables

-

The following is a reference of the available data during book's parsing and theme generation.

+

The following is a reference of the available data during book's parsing and theme generation.

Global Variables

@@ -20210,7 +20210,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = `
-

Languages are defined by { id: 'en', title: 'English' }.

+

Languages are defined by { id: 'en', title: 'English' }.

Output Variables

@@ -20226,7 +20226,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = ` - +
output.formatWhen output.name == "ebook", format defines the ebook format that will be generated, possible values are pdf, epub or mobiWhen output.name == "ebook", format defines the ebook format that will be generated, possible values are pdf, epub or mobi
@@ -21087,14 +21087,14 @@ exports[`HonKit snapshots: themes/index.html 1`] = `

Extend/Customize theme in a book

-

Authors can extend the templates of a theme directly from their book's source (without creating an external theme). Templates will be resolved in the _layouts folder of the book first, then in the installed plugins/themes.

+

Authors can extend the templates of a theme directly from their book's source (without creating an external theme). Templates will be resolved in the _layouts folder of the book first, then in the installed plugins/themes.

Extend instead of Forking

When you want to make your theme changes available to multiple books, instead of forking the default theme, you can extend it using the templating syntax:

{% extends template.self %}
 
 {% block body %}
     {{ super() }}
-    ... This will be added to the "body" block
+    ... This will be added to the "body" block
 {% endblock %}
 

Take a look at the API theme for a more complete example.

diff --git a/packages/honkit/src/output/modifiers/annotateText.ts b/packages/honkit/src/output/modifiers/annotateText.ts index dd39f3e38..a68f46561 100644 --- a/packages/honkit/src/output/modifiers/annotateText.ts +++ b/packages/honkit/src/output/modifiers/annotateText.ts @@ -1,5 +1,5 @@ import escape from "escape-html"; -import * as cheerio from "cheerio"; +import type { HtmlDom } from "@honkit/html"; // Selector to ignore const ANNOTATION_IGNORE = ".no-glossary,code,pre,a,script,h1,h2,h3,h4,h5,h6"; @@ -8,7 +8,7 @@ function pregQuote(str) { return `${str}`.replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1"); } -function replaceText($: cheerio.CheerioAPI, el, search, replace, text_only) { +function replaceText($: HtmlDom, el, search, replace, text_only) { return $(el).each(function () { let node = this.firstChild; let val; diff --git a/packages/honkit/src/output/modifiers/fetchRemoteImages.ts b/packages/honkit/src/output/modifiers/fetchRemoteImages.ts index 99787f3f8..ffbfb1fb0 100644 --- a/packages/honkit/src/output/modifiers/fetchRemoteImages.ts +++ b/packages/honkit/src/output/modifiers/fetchRemoteImages.ts @@ -3,13 +3,13 @@ import crc from "crc"; import editHTMLElement from "./editHTMLElement"; import fs from "../../utils/fs"; import LocationUtils from "../../utils/location"; -import type cheerio from "cheerio"; +import type { HtmlDom } from "@honkit/html"; /** Fetch all remote images */ -function fetchRemoteImages(rootFolder: string, currentFile: string, $: cheerio.CheerioAPI): Promise { +function fetchRemoteImages(rootFolder: string, currentFile: string, $: HtmlDom): Promise { const currentDirectory = path.dirname(currentFile); return editHTMLElement($, "img", ($img) => { diff --git a/packages/honkit/src/output/modifiers/inlineSvg.ts b/packages/honkit/src/output/modifiers/inlineSvg.ts index 17302d3ae..1d9da521c 100644 --- a/packages/honkit/src/output/modifiers/inlineSvg.ts +++ b/packages/honkit/src/output/modifiers/inlineSvg.ts @@ -2,7 +2,7 @@ import path from "path"; import fs from "../../utils/fs"; import LocationUtils from "../../utils/location"; import editHTMLElement from "./editHTMLElement"; -import * as cheerio from "cheerio"; +import { loadXml } from "@honkit/html"; /** Inline SVG images as needed @@ -26,8 +26,7 @@ function inlineSvg(rootFolder, currentFile, $) { const inputPath = path.join(rootFolder, src); return fs.readFile(inputPath).then((svgContext) => { - // @ts-expect-error - const $ = cheerio.load(svgContext, { _useHtmlParser2: true, xmlMode: true }); + const $ = loadXml(svgContext); const $svg = $("svg"); if ($svg.attr("style")) { return; diff --git a/packages/honkit/src/output/modifiers/modifyHTML.ts b/packages/honkit/src/output/modifiers/modifyHTML.ts index 584374df0..64921ee5f 100644 --- a/packages/honkit/src/output/modifiers/modifyHTML.ts +++ b/packages/honkit/src/output/modifiers/modifyHTML.ts @@ -1,4 +1,4 @@ -import * as cheerio from "cheerio"; +import { loadHtml } from "@honkit/html"; import Promise from "../../utils/promise"; /** @@ -11,8 +11,7 @@ import Promise from "../../utils/promise"; */ function modifyHTML(page, operations) { const html = page.getContent(); - // @ts-expect-error - const $ = cheerio.load(html, { _useHtmlParser2: true }); + const $ = loadHtml(html); return Promise.forEach(operations, (op) => { return op($); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80713738b..70e17e529 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,10 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + cheerio: 1.0.0-rc.12 + glob: ^13.0.0 + importers: .: @@ -50,9 +54,6 @@ importers: gitbook-plugin-ga: specifier: ^1.0.1 version: 1.0.1 - gitbook-plugin-github-issue-feedback: - specifier: ^1.4.0 - version: 1.4.0 gitbook-plugin-include-codeblock: specifier: ^3.2.3 version: 3.2.3 @@ -146,15 +147,15 @@ importers: packages/@honkit/html: dependencies: cheerio: - specifier: ^1.0.0 - version: 1.2.0 + specifier: 1.0.0-rc.12 + version: 1.0.0-rc.12 lodash: specifier: ^4.17.23 version: 4.18.1 devDependencies: mocha: - specifier: ^10.8.2 - version: 10.8.2 + specifier: ^11.7.4 + version: 11.7.5 rimraf: specifier: ^6.0.1 version: 6.1.3 @@ -261,8 +262,8 @@ importers: specifier: ^29.7.0 version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) jsdom: - specifier: ^20.0.3 - version: 20.0.3 + specifier: ^26.1.0 + version: 26.1.0 rimraf: specifier: ^6.0.1 version: 6.1.3 @@ -285,8 +286,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 less: - specifier: ^2.7.1 - version: 2.7.3 + specifier: ^4.2.0 + version: 4.6.4 less-plugin-clean-css: specifier: ^1.6.0 version: 1.6.0 @@ -305,12 +306,12 @@ importers: '@honkit/cleaning-tools': specifier: workspace:* version: link:../cleaning-tools - browserify: - specifier: ^17.0.0 - version: 17.0.1 cpy-cli: specifier: ^4.2.0 version: 4.2.0 + esbuild: + specifier: ^0.27.4 + version: 0.27.7 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -324,8 +325,8 @@ importers: specifier: ^3.5.1 version: 3.7.1 less: - specifier: ^2.7.1 - version: 2.7.3 + specifier: ^4.2.0 + version: 4.6.4 less-plugin-clean-css: specifier: ^1.6.0 version: 1.6.0 @@ -338,12 +339,15 @@ importers: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + path-browserify: + specifier: ^1.0.1 + version: 1.0.1 rimraf: specifier: ^6.0.1 version: 6.1.3 - uglify-js: - specifier: ^3.17.0 - version: 3.19.3 + url: + specifier: ^0.11.4 + version: 0.11.4 packages/honkit: dependencies: @@ -368,9 +372,6 @@ importers: bash-color: specifier: ^0.0.4 version: 0.0.4 - cheerio: - specifier: ^1.0.0 - version: 1.2.0 chokidar: specifier: ^3.6.0 version: 3.6.0 @@ -516,6 +517,9 @@ importers: packages: + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@asciidoctor/cli@3.5.0': resolution: {integrity: sha512-/VMHXcZBnZ9vgWfmqk9Hu0x0gMjPLup0YGq/xA8qCQuk11kUIZNMVQwgSsIUzOEwJqIUD7CgncJdtfwv1Ndxuw==} engines: {node: '>=8.11', npm: '>=5.0.0'} @@ -699,6 +703,34 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + '@esbuild/aix-ppc64@0.27.7': resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} @@ -1036,19 +1068,6 @@ packages: peerDependencies: eslint: '>=8.40.0' - '@textlint/ast-node-types@1.1.2': - resolution: {integrity: sha512-VtbZm8nKQTNEwEHcvHJugAiKB3OhV9HjLL4KLUqKZwEYeLO9ns5QObprDg8RxLy3/Od7j99Bpgw0BM1tbrDJiw==} - - '@textlint/ast-node-types@4.4.3': - resolution: {integrity: sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==} - - '@textlint/markdown-to-ast@6.3.5': - resolution: {integrity: sha512-DjVEy61klC8OjQYP+iIukI95pjCM58jhpE046apqGWLo6JQSatfscJlcxmbRivfTQSVsa00RF2ciUFBmw3bobg==} - - '@tootallnate/once@2.0.1': - resolution: {integrity: sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==} - engines: {node: '>= 10'} - '@tsconfig/node10@1.0.12': resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} @@ -1109,69 +1128,37 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/structured-source@3.0.0': - resolution: {integrity: sha512-8u+Wo5+GEXe4jZyQ8TplLp+1A7g32ZcVoE7VZu8VcxnlaEm5I/+T579R7q3qKN76jmK0lRshpo4hl4bj/kEPKA==} - - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - a-sync-waterfall@1.0.1: resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - - acorn-globals@7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - acorn-walk@8.3.5: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} aggregate-error@4.0.1: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ajv@4.11.8: - resolution: {integrity: sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==} - ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} @@ -1259,40 +1246,14 @@ packages: engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} hasBin: true - asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} - - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@0.2.0: - resolution: {integrity: sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==} - engines: {node: '>=0.8'} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - - assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - aws-sign2@0.6.0: - resolution: {integrity: sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==} - - aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1318,9 +1279,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1339,9 +1297,6 @@ packages: bash-color@0.0.4: resolution: {integrity: sha512-ZNB4525U7BxT6v9C8LEtywyCgB4Pjnm7/bh+ru/Z9Ecxvg3fDjaJ6z305z9a61orQdbB1zqYHh5JbUqx4s4K0g==} - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - benchmark@2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} @@ -1349,23 +1304,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bn.js@4.12.3: - resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} - - bn.js@5.2.3: - resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - boom@2.10.1: - resolution: {integrity: sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==} - engines: {node: '>=0.10.40'} - deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). - - boundary@1.0.1: - resolution: {integrity: sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==} - brace-expansion@1.1.14: resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} @@ -1380,44 +1321,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browser-pack@6.1.0: - resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} - hasBin: true - - browser-resolve@2.0.0: - resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} - browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - - browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - - browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - - browserify-rsa@4.1.1: - resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} - engines: {node: '>= 0.10'} - - browserify-sign@4.2.5: - resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} - engines: {node: '>= 0.10'} - - browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - - browserify@17.0.1: - resolution: {integrity: sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw==} - engines: {node: '>= 0.8'} - hasBin: true - browserslist@4.28.2: resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1433,21 +1339,9 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - - buffer@5.2.1: - resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - - cached-path-relative@1.1.0: - resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -1487,12 +1381,6 @@ packages: caniuse-lite@1.0.30001793: resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1505,32 +1393,13 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - character-entities-html4@1.1.4: - resolution: {integrity: sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==} - - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - - cheerio-select@1.6.0: - resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} - cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0-rc.10: - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} engines: {node: '>= 6'} - cheerio@1.2.0: - resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} - engines: {node: '>=20.18.1'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -1543,10 +1412,6 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cipher-base@1.0.7: - resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} - engines: {node: '>= 0.10'} - cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} @@ -1586,9 +1451,6 @@ packages: codemirror@5.65.21: resolution: {integrity: sha512-6teYk0bA0nR3QP0ihGMoxuKzpl5W80FpnHpBJpgy66NK3cZv5b/d/HY8PnRvfSsCG1MTfr92u2WUl+wT0E40mQ==} - collapse-white-space@1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} - collect-v8-coverage@1.0.3: resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} @@ -1608,13 +1470,6 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - combine-source-map@0.8.0: - resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -1630,22 +1485,9 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - - constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - context-eval@0.1.0: resolution: {integrity: sha512-KT2jIYLiE3Q5m9meaKFyhHzTomPdpsW1UokoPEFHvTup/UTnkSeia32tl6y6BmrO1yztWQp+8vKgrI7BIahX4w==} - convert-source-map@1.1.3: - resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -1656,12 +1498,6 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cp-file@9.1.0: resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} engines: {node: '>=10'} @@ -1678,15 +1514,6 @@ packages: crc@3.8.0: resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} - create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1703,18 +1530,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - cryptiles@2.0.5: - resolution: {integrity: sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==} - engines: {node: '>=0.10.40'} - deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). - - crypto-browserify@3.12.1: - resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} - engines: {node: '>= 0.10'} - - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -1722,30 +1537,17 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} - cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - - cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - - cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} + engines: {node: '>=18'} currently-unhandled@0.4.1: resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} engines: {node: '>=0.10.0'} - dash-ast@1.0.0: - resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - - data-urls@3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} @@ -1821,24 +1623,10 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - defined@1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - deps-sort@2.0.1: - resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} - hasBin: true - - des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} - destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -1847,11 +1635,6 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1860,13 +1643,10 @@ packages: resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} - diff@5.2.2: - resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} - diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1884,21 +1664,12 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} - domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead - domhandler@3.3.0: resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} engines: {node: '>= 4'} @@ -1924,21 +1695,12 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} electron-to-chromium@1.5.357: resolution: {integrity: sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==} - elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -1953,9 +1715,6 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - encoding-sniffer@0.2.1: - resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} @@ -1970,10 +1729,6 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} - entities@7.0.1: - resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} - engines: {node: '>=0.12'} - environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -2044,11 +1799,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - eslint-config-prettier@9.1.2: resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==} hasBin: true @@ -2109,13 +1859,6 @@ packages: eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -2131,10 +1874,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2148,15 +1887,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} - fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -2199,21 +1932,6 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - form-data@2.1.4: - resolution: {integrity: sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==} - engines: {node: '>= 0.12'} - - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} - - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -2221,12 +1939,6 @@ packages: front-matter@2.3.0: resolution: {integrity: sha512-+gOIDsGWHVAiWSDfg3vpiHwkOrwO4XNS3YQH5DMmneLEPWzdCAnbSQCtxReF4yPK1nszLvAmLeR2SprnDQDnyQ==} - fs-extra@5.0.0: - resolution: {integrity: sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2250,9 +1962,6 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-assigned-identifiers@1.2.0: - resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -2281,9 +1990,6 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - gitbook-markdown-css@1.1.0: resolution: {integrity: sha512-LIVvzVaKOlki3aG97sJoAnjnNYUlo6Y9g+JpJ3z4msUh/eX1O5MRAsjkejAxVMv8oalE/lueZhvUZtVpSIkdmA==} @@ -2301,9 +2007,6 @@ packages: resolution: {integrity: sha512-UE/uUXub4pI5pCCdGiUf68SaxSNQZ/Pwoo2Po6B9css9zJlI7/l2yDDUjb139R2EJ13gqgm9spE/3ir0g0ZwyQ==} engines: {gitbook: '>=2.5.1'} - gitbook-plugin-github-issue-feedback@1.4.0: - resolution: {integrity: sha512-B5JdZjSDH64BOqRwmB1FxAKC96RXbe3Lib5FvLeF+qyckcJCEUFcQ5iyDwEBFk/BciStFyZDto02OtAKy7h1Ew==} - gitbook-plugin-include-codeblock@3.2.3: resolution: {integrity: sha512-W2tXf++CeC3J/iX2+/+sd86U8u6OS92/wjuYuzGI7gm9WUPs83xlxcp3x5Q/6ttAcfwdy+LIuPO8kGxEQyQmjw==} hasBin: true @@ -2341,15 +2044,6 @@ packages: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2378,15 +2072,6 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - har-schema@1.0.5: - resolution: {integrity: sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==} - engines: {node: '>=4'} - - har-validator@4.2.1: - resolution: {integrity: sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==} - engines: {node: '>=4'} - deprecated: this library is no longer supported - hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -2418,30 +2103,10 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - - hash-base@3.0.5: - resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} - engines: {node: '>= 0.10'} - - hash-base@3.1.2: - resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} - engines: {node: '>= 0.8'} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.3: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hawk@3.1.3: - resolution: {integrity: sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==} - engines: {node: '>=0.10.32'} - deprecated: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. - he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -2450,14 +2115,6 @@ packages: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - - hoek@2.16.3: - resolution: {integrity: sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==} - engines: {node: '>=0.10.40'} - deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2465,9 +2122,9 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} html-entities@1.2.0: resolution: {integrity: sha512-0md7tlUUyb0BEQGsZzbqty1CgV6RESOoxdivt94AScqhBhYsPCCQCOaGvur/RospMjYpPJ7iFe3zw4Bu4SVA8g==} @@ -2479,40 +2136,26 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - htmlescape@1.1.1: - resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} - engines: {node: '>=0.10'} - - htmlparser2@10.1.0: - resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - htmlparser2@4.1.0: resolution: {integrity: sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==} htmlparser2@5.0.1: resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - - http-signature@1.1.1: - resolution: {integrity: sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - - https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -2565,41 +2208,13 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - inline-source-map@0.6.3: - resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} - - insert-module-globals@7.2.1: - resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} - hasBin: true - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphanumeric@1.0.0: - resolution: {integrity: sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==} - engines: {node: '>=0.10.0'} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - - is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} @@ -2623,9 +2238,6 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -2642,9 +2254,6 @@ packages: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -2678,9 +2287,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -2697,6 +2303,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -2736,9 +2346,6 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -2762,12 +2369,6 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} - is-whitespace-character@1.0.4: - resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} - - is-word-character@1.0.4: - resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -2776,9 +2377,6 @@ packages: resolution: {integrity: sha512-a2xr4E3s1PjDS8ORcGgXpWx6V+liNs+O3JRD2mb9aeugD7rtkkZ0zgLdYgw0tWsKhsdiezGYptSiMlVazCBTuQ==} engines: {node: '>= 0.4'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2789,9 +2387,6 @@ packages: resolution: {integrity: sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ==} engines: {node: '>=0.10.0'} - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -2964,14 +2559,11 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - - jsdom@20.0.3: - resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} - engines: {node: '>=14'} + jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} + engines: {node: '>=18'} peerDependencies: - canvas: ^2.5.0 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true @@ -2996,41 +2588,17 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stable-stringify@1.3.0: - resolution: {integrity: sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==} - engines: {node: '>= 0.4'} - - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - jsonschema@1.1.0: resolution: {integrity: sha512-nQhT+ioA1XM8CpxJYlBfcUj6HF3f3f2KbLgV3tcxOt85RKpk2b0Do/C5BnCCCfdAarAjWRSFlln0Uanl4tBCHA==} - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - juice@8.1.0: resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} engines: {node: '>=10.0.0'} @@ -3055,9 +2623,6 @@ packages: resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==} hasBin: true - labeled-stream-splicer@2.0.2: - resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} - language-map@1.5.0: resolution: {integrity: sha512-n7gFZpe+DwEAX9cXVTw43i3wiudWDDtSn28RmdnS/HCPr284dQI/SztsamWanRr75oSlKSaGbV2nmWCTzGCoVg==} @@ -3065,11 +2630,6 @@ packages: resolution: {integrity: sha512-jwXX6WlXT57OVCXa5oBJBaJq1b4s1BOKeEEoAL2UTeEitogQWfTcBbLT/vow9pl0N0MXV8Mb4KyhTGG0YbEKyQ==} engines: {node: '>=0.10'} - less@2.7.3: - resolution: {integrity: sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==} - engines: {node: '>=0.12'} - hasBin: true - less@3.13.1: resolution: {integrity: sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==} engines: {node: '>=6'} @@ -3124,9 +2684,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.memoize@3.0.4: - resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -3144,13 +2701,13 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} - longest-streak@2.0.4: - resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} - loud-rejection@1.6.0: resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} engines: {node: '>=0.10.0'} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.3.6: resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} engines: {node: 20 || >=22} @@ -3201,26 +2758,10 @@ packages: markdown-escape@1.1.0: resolution: {integrity: sha512-f1+ARFbzLrBdC0Lj30uREn+zthrK/h1PO5UhN5IMDQvI2lSFn+8U06a5LHaxxYMhHD0mJoJ2BROJ/Sju5aw6+g==} - markdown-escapes@1.0.4: - resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} - - markdown-table@1.1.3: - resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} - - markdown-to-ast@4.0.0: - resolution: {integrity: sha512-8PKfQbLwTHMB52YL54zK4js0twheL0r4izlx42SMYLXIT6AClAtwhEs51wInZOLhkGufWzITABfW0S1iti97Xg==} - deprecated: See https://github.com/textlint/textlint/issues/455 - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - - mdast-util-compact@1.0.4: - resolution: {integrity: sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==} - memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -3250,18 +2791,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -3280,12 +2809,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -3293,9 +2816,9 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} minimist-options@3.0.2: resolution: {integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==} @@ -3312,26 +2835,14 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} - engines: {node: '>= 14.0.0'} - hasBin: true - - module-deps@6.2.3: - resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} - engines: {node: '>= 0.8.0'} + mocha@11.7.5: + resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true mousetrap@1.6.5: @@ -3417,13 +2928,6 @@ packages: nwsapi@2.2.23: resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} - oauth-sign@0.8.2: - resolution: {integrity: sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} @@ -3452,9 +2956,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -3474,9 +2975,6 @@ packages: opts@2.0.2: resolution: {integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==} - os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -3536,23 +3034,10 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parents@1.0.1: - resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} - - parse-asn1@5.1.9: - resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} - engines: {node: '>= 0.10'} - - parse-entities@1.2.2: - resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==} - parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -3565,18 +3050,9 @@ packages: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - parse5-htmlparser2-tree-adapter@7.1.0: resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - parse5-parser-stream@7.1.2: - resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3591,10 +3067,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} @@ -3606,10 +3078,6 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-platform@0.11.15: - resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} - engines: {node: '>= 0.8.0'} - path-scurry@2.0.2: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} @@ -3622,13 +3090,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pbkdf2@3.1.5: - resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} - engines: {node: '>= 0.10'} - - performance-now@0.2.0: - resolution: {integrity: sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3664,9 +3125,6 @@ packages: platform@1.3.6: resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} - position-map-text-to-markdown@1.1.1: - resolution: {integrity: sha512-k5eAdCaEuAZpGQCiplzIIzfhUVao8cy4ZETAlDMMDoTB5kis/VZezltZoYeh4vGMoq4n3SkLxW3ila+35phemA==} - possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -3684,16 +3142,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -3701,12 +3149,6 @@ packages: prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - - public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} @@ -3721,17 +3163,6 @@ packages: resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} - qs@6.4.3: - resolution: {integrity: sha512-ZR4x/aZZFC9YhBFeGfudUd+pY1R6NjVKbzXr/BaES046WNHPn5RWSAYEmTrlUJVU/+4pgyJEl21LFggYarCSTg==} - engines: {node: '>=0.6'} - - querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3746,9 +3177,6 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -3759,9 +3187,6 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - read-only-stream@2.0.0: - resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} - read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -3778,13 +3203,6 @@ packages: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3809,41 +3227,10 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - remark-frontmatter@1.3.3: - resolution: {integrity: sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==} - - remark-parse@3.0.1: - resolution: {integrity: sha512-B0IoK9ZGTUBTrbM1m+HHM4ai/vNSUmmAm6OMIng/+yuzpygZieVQ99oD7DXrdE5pOPhUfvrekmA+hqaDCLYHcw==} - - remark-parse@5.0.0: - resolution: {integrity: sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==} - - remark-stringify@3.0.1: - resolution: {integrity: sha512-N+tG/oO0pjH41FxAGEonHOUHxXbBItICPQlb2mWpXLPJjlRf0pDTxw3a01bnDt2i2S4xH8nuQgiPnk9UU5TQdg==} - - remark@7.0.1: - resolution: {integrity: sha512-o/g1606svQVO+1FLf3r+pzzRtMA/AQGTF+LlaBG1AOc75JdLkxTeK8nY7RqEjfSjDXZQ1QvzTpp84ko4PAb8bQ==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - replace-ext@1.0.0: - resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==} - engines: {node: '>= 0.10'} - - request@2.81.0: - resolution: {integrity: sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==} - engines: {node: '>= 4'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -3881,9 +3268,8 @@ packages: engines: {node: 20 || >=22} hasBin: true - ripemd160@2.0.3: - resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} - engines: {node: '>= 0.8'} + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3892,9 +3278,6 @@ packages: resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} engines: {node: '>=0.4'} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3952,15 +3335,6 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sha.js@2.4.12: - resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} - engines: {node: '>= 0.10'} - hasBin: true - - shasum-object@1.0.1: - resolution: {integrity: sha512-SsC+1tW7XKQ/94D4k1JhLmjDFpVGET/Nf54jVDtbavbALf8Zhp0Td9zTlxScjMW6nbEIrpADtPWfLk9iCXzHDQ==} - hasBin: true - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -4022,9 +3396,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -4047,18 +3418,9 @@ packages: slick@1.12.2: resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} - sntp@1.0.9: - resolution: {integrity: sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==} - engines: {node: '>=0.8.0'} - deprecated: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. - source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -4078,18 +3440,10 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - state-toggle@1.0.3: - resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} - statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} @@ -4098,18 +3452,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} - - stream-combiner2@1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} - - stream-http@3.2.0: - resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} - - stream-splicer@2.0.1: - resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} - string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -4149,18 +3491,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@1.3.2: - resolution: {integrity: sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==} - - stringstream@0.0.6: - resolution: {integrity: sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -4193,12 +3523,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - structured-source@3.0.2: - resolution: {integrity: sha512-Ap7JHfKgmH40SUjumqyKTHYHNZ8GvGQskP34ks0ElHCDEig+bYGpmXVksxPSrgcY9rkJqhVMzfeg5GIpZelfpQ==} - - subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -4218,30 +3542,21 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - syntax-error@1.4.0: - resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} - test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - textlint-util-to-string@2.1.1: - resolution: {integrity: sha512-PW6rXqLNGL3xZ6d5/INrX+pt8qbffmeDPLcvkBOlfNpDRFhVvNNjFmZXH86ZQjrOz9t/nNZDBXqnzqJuioJbSQ==} - - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - timers-browserify@1.4.2: - resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} - engines: {node: '>=0.6.0'} - tinyexec@1.1.2: resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} engines: {node: '>=18'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + tmp@0.2.4: resolution: {integrity: sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==} engines: {node: '>=14.14'} @@ -4249,10 +3564,6 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - to-buffer@1.2.2: - resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} - engines: {node: '>= 0.4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -4261,24 +3572,16 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - tough-cookie@2.3.4: - resolution: {integrity: sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==} - engines: {node: '>=0.8'} - - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - - traverse@0.6.11: - resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} - engines: {node: '>= 0.4'} + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} trim-newlines@2.0.0: resolution: {integrity: sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==} @@ -4288,16 +3591,6 @@ packages: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} - trim-trailing-lines@1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} - - trim@0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} - deprecated: Use String.prototype.trim() instead - - trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - ts-jest@29.4.9: resolution: {integrity: sha512-LTb9496gYPMCqjeDLdPrKuXtncudeV1yRZnF4Wo5l3SFi0RYEnYRNgMrFIdg+FHvfzjCyQk1cLncWVqiSX+EvQ==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} @@ -4342,18 +3635,6 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tty-browserify@0.0.1: - resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4390,13 +3671,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typedarray.prototype.slice@1.0.5: - resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} - engines: {node: '>= 0.4'} - - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -4407,54 +3681,13 @@ packages: engines: {node: '>=0.8.0'} hasBin: true - umd@3.0.3: - resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} - hasBin: true - unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undeclared-identifiers@1.1.3: - resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} - hasBin: true - undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.25.0: - resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} - engines: {node: '>=20.18.1'} - - unherit@1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} - - unified@6.2.0: - resolution: {integrity: sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==} - - unist-util-is@3.0.0: - resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} - - unist-util-remove-position@1.1.4: - resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==} - - unist-util-stringify-position@1.1.2: - resolution: {integrity: sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==} - - unist-util-visit-parents@2.1.2: - resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} - - unist-util-visit@1.4.1: - resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - unxhr@1.2.0: resolution: {integrity: sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==} engines: {node: '>=8.11'} @@ -4468,30 +3701,10 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-join@2.0.5: - resolution: {integrity: sha512-c2H1fIgpUdwFRIru9HFno5DT73Ok8hg5oOb5AT3ayIgvCRfxgs2jyt5Slw8kEB7j3QUr6yJmMPDT/odjk7jXow==} - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - url@0.11.4: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} - - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -4506,25 +3719,9 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - - vfile-location@2.0.6: - resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==} - - vfile-message@1.1.1: - resolution: {integrity: sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==} - - vfile@2.3.0: - resolution: {integrity: sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==} - - vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - - w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -4540,27 +3737,18 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -4597,8 +3785,8 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -4608,9 +3796,6 @@ packages: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -4627,12 +3812,9 @@ packages: utf-8-validate: optional: true - x-is-string@0.1.0: - resolution: {integrity: sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==} - - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} @@ -4686,6 +3868,14 @@ packages: snapshots: + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + '@asciidoctor/cli@3.5.0(@asciidoctor/core@2.2.9)': dependencies: '@asciidoctor/core': 2.2.9 @@ -4891,6 +4081,26 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@csstools/color-helpers@5.1.0': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + '@esbuild/aix-ppc64@0.27.7': optional: true @@ -5133,7 +4343,7 @@ snapshots: chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit: 0.1.2 - glob: 7.2.3 + glob: 13.0.6 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.3 @@ -5257,24 +4467,6 @@ snapshots: eslint-visitor-keys: 4.2.1 espree: 10.4.0 - '@textlint/ast-node-types@1.1.2': {} - - '@textlint/ast-node-types@4.4.3': {} - - '@textlint/markdown-to-ast@6.3.5': - dependencies: - '@textlint/ast-node-types': 4.4.3 - debug: 4.4.3(supports-color@8.1.1) - remark-frontmatter: 1.3.3 - remark-parse: 5.0.0 - structured-source: 3.0.2 - traverse: 0.6.11 - unified: 6.2.0 - transitivePeerDependencies: - - supports-color - - '@tootallnate/once@2.0.1': {} - '@tsconfig/node10@1.0.12': {} '@tsconfig/node12@1.0.11': {} @@ -5339,67 +4531,31 @@ snapshots: '@types/stack-utils@2.0.3': {} - '@types/structured-source@3.0.0': {} - - '@types/unist@2.0.11': {} - '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.35': dependencies: '@types/yargs-parser': 21.0.3 - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - a-sync-waterfall@1.0.1: {} - abab@2.0.6: {} - - acorn-globals@7.0.1: - dependencies: - acorn: 8.16.0 - acorn-walk: 8.3.5 - acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 - acorn-node@1.8.2: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - - acorn-walk@7.2.0: {} - acorn-walk@8.3.5: dependencies: acorn: 8.16.0 - acorn@7.4.1: {} - acorn@8.16.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + agent-base@7.1.4: {} aggregate-error@4.0.1: dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 - ajv@4.11.8: - dependencies: - co: 4.6.0 - json-stable-stringify: 1.3.0 - optional: true - ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -5481,42 +4637,12 @@ snapshots: '@asciidoctor/cli': 3.5.0(@asciidoctor/core@2.2.9) '@asciidoctor/core': 2.2.9 - asn1.js@4.10.1: - dependencies: - bn.js: 4.12.3 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - optional: true - - assert-plus@0.2.0: - optional: true - - assert-plus@1.0.0: - optional: true - - assert@1.5.1: - dependencies: - object.assign: 4.1.7 - util: 0.10.4 - async-function@1.0.0: {} - asynckit@0.4.0: {} - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - aws-sign2@0.6.0: - optional: true - - aws4@1.13.2: - optional: true - babel-jest@29.7.0(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 @@ -5572,8 +4698,6 @@ snapshots: babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) - bail@1.0.5: {} - balanced-match@1.0.2: {} balanced-match@4.0.4: {} @@ -5584,11 +4708,6 @@ snapshots: bash-color@0.0.4: {} - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 - optional: true - benchmark@2.1.4: dependencies: lodash: 4.18.1 @@ -5596,19 +4715,8 @@ snapshots: binary-extensions@2.3.0: {} - bn.js@4.12.3: {} - - bn.js@5.2.3: {} - boolbase@1.0.0: {} - boom@2.10.1: - dependencies: - hoek: 2.16.3 - optional: true - - boundary@1.0.1: {} - brace-expansion@1.1.14: dependencies: balanced-match: 1.0.2 @@ -5626,118 +4734,8 @@ snapshots: dependencies: fill-range: 7.1.1 - brorand@1.1.0: {} - - browser-pack@6.1.0: - dependencies: - JSONStream: 1.3.5 - combine-source-map: 0.8.0 - defined: 1.0.1 - safe-buffer: 5.2.1 - through2: 2.0.5 - umd: 3.0.3 - - browser-resolve@2.0.0: - dependencies: - resolve: 1.22.12 - browser-stdout@1.3.1: {} - browserify-aes@1.2.0: - dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.7 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-cipher@1.0.1: - dependencies: - browserify-aes: 1.2.0 - browserify-des: 1.0.2 - evp_bytestokey: 1.0.3 - - browserify-des@1.0.2: - dependencies: - cipher-base: 1.0.7 - des.js: 1.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-rsa@4.1.1: - dependencies: - bn.js: 5.2.3 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - - browserify-sign@4.2.5: - dependencies: - bn.js: 5.2.3 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - create-hmac: 1.1.7 - elliptic: 6.6.1 - inherits: 2.0.4 - parse-asn1: 5.1.9 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - - browserify-zlib@0.2.0: - dependencies: - pako: 1.0.11 - - browserify@17.0.1: - dependencies: - JSONStream: 1.3.5 - assert: 1.5.1 - browser-pack: 6.1.0 - browser-resolve: 2.0.0 - browserify-zlib: 0.2.0 - buffer: 5.2.1 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.1 - defined: 1.0.1 - deps-sort: 2.0.1 - domain-browser: 1.2.0 - duplexer2: 0.1.4 - events: 3.3.0 - glob: 7.2.3 - hasown: 2.0.3 - htmlescape: 1.1.1 - https-browserify: 1.0.0 - inherits: 2.0.4 - insert-module-globals: 7.2.1 - labeled-stream-splicer: 2.0.2 - mkdirp-classic: 0.5.3 - module-deps: 6.2.3 - os-browserify: 0.3.0 - parents: 1.0.1 - path-browserify: 1.0.1 - process: 0.11.10 - punycode: 1.4.1 - querystring-es3: 0.2.1 - read-only-stream: 2.0.0 - readable-stream: 2.3.8 - resolve: 1.22.12 - shasum-object: 1.0.1 - shell-quote: 1.8.3 - stream-browserify: 3.0.0 - stream-http: 3.2.0 - string_decoder: 1.3.0 - subarg: 1.0.0 - syntax-error: 1.4.0 - through2: 2.0.5 - timers-browserify: 1.4.2 - tty-browserify: 0.0.1 - url: 0.11.4 - util: 0.12.5 - vm-browserify: 1.1.2 - xtend: 4.0.2 - browserslist@4.28.2: dependencies: baseline-browser-mapping: 2.10.30 @@ -5756,22 +4754,11 @@ snapshots: buffer-from@1.1.2: {} - buffer-xor@1.0.3: {} - - buffer@5.2.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-status-codes@3.0.0: {} - - cached-path-relative@1.1.0: {} - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -5812,11 +4799,6 @@ snapshots: caniuse-lite@1.0.30001793: {} - caseless@0.12.0: - optional: true - - ccount@1.1.0: {} - chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -5830,22 +4812,6 @@ snapshots: char-regex@1.0.2: {} - character-entities-html4@1.1.4: {} - - character-entities-legacy@1.1.4: {} - - character-entities@1.2.4: {} - - character-reference-invalid@1.1.4: {} - - cheerio-select@1.6.0: - dependencies: - css-select: 4.3.0 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -5855,29 +4821,15 @@ snapshots: domhandler: 5.0.3 domutils: 3.2.2 - cheerio@1.0.0-rc.10: - dependencies: - cheerio-select: 1.6.0 - dom-serializer: 1.4.1 - domhandler: 4.3.1 - htmlparser2: 6.1.0 - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.8.1 - - cheerio@1.2.0: + cheerio@1.0.0-rc.12: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.1.0 + htmlparser2: 8.0.2 parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.25.0 - whatwg-mimetype: 4.0.0 chokidar@3.6.0: dependencies: @@ -5897,12 +4849,6 @@ snapshots: ci-info@3.9.0: {} - cipher-base@1.0.7: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 - cjs-module-lexer@1.4.3: {} clean-css@5.3.3: @@ -5952,8 +4898,6 @@ snapshots: codemirror@5.65.21: {} - collapse-white-space@1.0.6: {} - collect-v8-coverage@1.0.3: {} color-convert@1.9.3: @@ -5970,17 +4914,6 @@ snapshots: colorette@2.0.20: {} - combine-source-map@0.8.0: - dependencies: - convert-source-map: 1.1.3 - inline-source-map: 0.6.3 - lodash.memoize: 3.0.4 - source-map: 0.5.7 - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - commander@14.0.3: {} commander@5.1.0: {} @@ -5989,21 +4922,8 @@ snapshots: concat-map@0.0.1: {} - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - - console-browserify@1.2.0: {} - - constants-browserify@1.0.0: {} - context-eval@0.1.0: {} - convert-source-map@1.1.3: {} - convert-source-map@2.0.0: {} copy-anything@2.0.6: @@ -6014,11 +4934,6 @@ snapshots: dependencies: is-what: 4.1.16 - core-util-is@1.0.2: - optional: true - - core-util-is@1.0.3: {} - cp-file@9.1.0: dependencies: graceful-fs: 4.2.11 @@ -6046,28 +4961,6 @@ snapshots: dependencies: buffer: 5.7.1 - create-ecdh@4.0.4: - dependencies: - bn.js: 4.12.3 - elliptic: 6.6.1 - - create-hash@1.2.0: - dependencies: - cipher-base: 1.0.7 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.3 - sha.js: 2.4.12 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.7 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 - create-jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: '@jest/types': 29.6.3 @@ -6099,34 +4992,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - cryptiles@2.0.5: - dependencies: - boom: 2.10.1 - optional: true - - crypto-browserify@3.12.1: - dependencies: - browserify-cipher: 1.0.1 - browserify-sign: 4.2.5 - create-ecdh: 4.0.4 - create-hash: 1.2.0 - create-hmac: 1.1.7 - diffie-hellman: 5.0.3 - hash-base: 3.0.5 - inherits: 2.0.4 - pbkdf2: 3.1.5 - public-encrypt: 4.0.3 - randombytes: 2.1.0 - randomfill: 1.0.4 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -6137,30 +5002,19 @@ snapshots: css-what@6.2.2: {} - cssom@0.3.8: {} - - cssom@0.5.0: {} - - cssstyle@2.3.0: + cssstyle@4.6.0: dependencies: - cssom: 0.3.8 + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 currently-unhandled@0.4.1: dependencies: array-find-index: 1.0.2 - dash-ast@1.0.0: {} - - dashdash@1.14.1: + data-urls@5.0.0: dependencies: - assert-plus: 1.0.0 - optional: true - - data-urls@3.0.2: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 data-view-buffer@1.0.2: dependencies: @@ -6223,45 +5077,17 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - defined@1.0.1: {} - - delayed-stream@1.0.0: {} - depd@2.0.0: {} - deps-sort@2.0.1: - dependencies: - JSONStream: 1.3.5 - shasum-object: 1.0.1 - subarg: 1.0.0 - through2: 2.0.5 - - des.js@1.1.0: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - destroy@1.2.0: {} detect-newline@3.1.0: {} - detective@5.2.1: - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - diff-sequences@29.6.3: {} diff@4.0.4: {} - diff@5.2.2: {} - - diffie-hellman@5.0.3: - dependencies: - bn.js: 4.12.3 - miller-rabin: 4.0.1 - randombytes: 2.1.0 + diff@7.0.0: {} dir-glob@3.0.1: dependencies: @@ -6286,16 +5112,10 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 - domain-browser@1.2.0: {} - domelementtype@1.3.1: {} domelementtype@2.3.0: {} - domexception@4.0.0: - dependencies: - webidl-conversions: 7.0.0 - domhandler@3.3.0: dependencies: domelementtype: 2.3.0 @@ -6328,30 +5148,10 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - - ecc-jsbn@0.1.2: - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - optional: true - ee-first@1.1.1: {} electron-to-chromium@1.5.357: {} - elliptic@6.6.1: - dependencies: - bn.js: 4.12.3 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - emittery@0.13.1: {} emoji-regex@10.6.0: {} @@ -6360,11 +5160,6 @@ snapshots: encodeurl@2.0.0: {} - encoding-sniffer@0.2.1: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding: 3.1.1 - entities@1.1.2: {} entities@2.2.0: {} @@ -6373,8 +5168,6 @@ snapshots: entities@6.0.1: {} - entities@7.0.1: {} - environment@1.1.0: {} errno@0.1.8: @@ -6512,14 +5305,6 @@ snapshots: escape-string-regexp@5.0.0: {} - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - eslint-config-prettier@9.1.2(eslint@9.39.4): dependencies: eslint: 9.39.4 @@ -6596,13 +5381,6 @@ snapshots: eventemitter3@5.0.4: {} - events@3.3.0: {} - - evp_bytestokey@1.0.3: - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - execa@5.1.1: dependencies: cross-spawn: 7.0.6 @@ -6627,9 +5405,6 @@ snapshots: extend@3.0.2: {} - extsprintf@1.3.0: - optional: true - fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -6644,16 +5419,10 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-safe-stringify@2.1.1: {} - fastq@1.20.1: dependencies: reusify: 1.1.0 - fault@1.0.4: - dependencies: - format: 0.2.2 - fb-watchman@2.0.2: dependencies: bser: 2.1.1 @@ -6695,40 +5464,12 @@ snapshots: dependencies: is-callable: 1.2.7 - forever-agent@0.6.1: - optional: true - - form-data@2.1.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - optional: true - - form-data@4.0.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.3 - mime-types: 2.1.35 - - format@0.2.2: {} - fresh@0.5.2: {} front-matter@2.3.0: dependencies: js-yaml: 3.14.2 - fs-extra@5.0.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true @@ -6749,8 +5490,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-assigned-identifiers@1.2.0: {} - get-caller-file@2.0.5: {} get-east-asian-width@1.6.0: {} @@ -6783,16 +5522,11 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - getpass@0.1.7: - dependencies: - assert-plus: 1.0.0 - optional: true - gitbook-markdown-css@1.1.0: {} gitbook-plugin-anchors@0.7.1: dependencies: - cheerio: 1.2.0 + cheerio: 1.0.0-rc.12 github-slugid: 1.0.1 gitbook-plugin-canonical-link@2.0.3: {} @@ -6801,14 +5535,6 @@ snapshots: gitbook-plugin-ga@1.0.1: {} - gitbook-plugin-github-issue-feedback@1.4.0: - dependencies: - fs-extra: 5.0.0 - position-map-text-to-markdown: 1.1.1 - url-join: 2.0.5 - transitivePeerDependencies: - - supports-color - gitbook-plugin-include-codeblock@3.2.3: dependencies: entities: 1.1.2 @@ -6848,23 +5574,6 @@ snapshots: minipass: 7.1.3 path-scurry: 2.0.2 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.5 - once: 1.4.0 - path-is-absolute: 1.0.1 - - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.9 - once: 1.4.0 - globals@14.0.0: {} globals@15.15.0: {} @@ -6895,15 +5604,6 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - har-schema@1.0.5: - optional: true - - har-validator@4.2.1: - dependencies: - ajv: 4.11.8 - har-schema: 1.0.5 - optional: true - hard-rejection@2.1.0: {} has-bigints@1.1.0: {} @@ -6926,59 +5626,23 @@ snapshots: dependencies: has-symbols: 1.1.0 - has@1.0.4: {} - - hash-base@3.0.5: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - hash-base@3.1.2: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 - - hash.js@1.1.7: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - hasown@2.0.3: dependencies: function-bind: 1.1.2 - hawk@3.1.3: - dependencies: - boom: 2.10.1 - cryptiles: 2.0.5 - hoek: 2.16.3 - sntp: 1.0.9 - optional: true - he@1.2.0: {} highlight.js@11.11.1: {} - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - hoek@2.16.3: - optional: true - hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 - html-encoding-sniffer@3.0.0: + html-encoding-sniffer@4.0.0: dependencies: - whatwg-encoding: 2.0.0 + whatwg-encoding: 3.1.1 html-entities@1.2.0: {} @@ -6986,15 +5650,6 @@ snapshots: html-escaper@2.0.2: {} - htmlescape@1.1.1: {} - - htmlparser2@10.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 7.0.1 - htmlparser2@4.1.0: dependencies: domelementtype: 2.3.0 @@ -7009,12 +5664,12 @@ snapshots: domutils: 2.8.0 entities: 2.2.0 - htmlparser2@6.1.0: + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 http-errors@2.0.1: dependencies: @@ -7024,26 +5679,16 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-proxy-agent@5.0.0: + http-proxy-agent@7.0.2: dependencies: - '@tootallnate/once': 2.0.1 - agent-base: 6.0.2 + agent-base: 7.1.4 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - http-signature@1.1.1: - dependencies: - assert-plus: 0.2.0 - jsprim: 1.4.2 - sshpk: 1.18.0 - optional: true - - https-browserify@1.0.0: {} - - https-proxy-agent@5.0.1: + https-proxy-agent@7.0.6: dependencies: - agent-base: 6.0.2 + agent-base: 7.1.4 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -7085,52 +5730,14 @@ snapshots: indent-string@5.0.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.3: {} - inherits@2.0.4: {} - inline-source-map@0.6.3: - dependencies: - source-map: 0.5.7 - - insert-module-globals@7.2.1: - dependencies: - JSONStream: 1.3.5 - acorn-node: 1.8.2 - combine-source-map: 0.8.0 - concat-stream: 1.6.2 - is-buffer: 1.1.6 - path-is-absolute: 1.0.1 - process: 0.11.10 - through2: 2.0.5 - undeclared-identifiers: 1.1.3 - xtend: 4.0.2 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 hasown: 2.0.3 side-channel: 1.1.0 - is-alphabetical@1.0.4: {} - - is-alphanumeric@1.0.0: {} - - is-alphanumerical@1.0.4: - dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - - is-arguments@1.2.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.5: dependencies: call-bind: 1.0.9 @@ -7160,8 +5767,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-buffer@1.1.6: {} - is-callable@1.2.7: {} is-core-module@2.16.2: @@ -7179,8 +5784,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-decimal@1.0.4: {} - is-docker@2.2.1: {} is-extglob@2.1.1: {} @@ -7209,8 +5812,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-hexadecimal@1.0.4: {} - is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -7222,6 +5823,8 @@ snapshots: is-number@7.0.0: {} + is-path-inside@3.0.3: {} + is-plain-obj@1.1.0: {} is-plain-obj@2.1.0: {} @@ -7258,9 +5861,6 @@ snapshots: dependencies: which-typed-array: 1.1.20 - is-typedarray@1.0.0: - optional: true - is-unicode-supported@0.1.0: {} is-weakmap@2.0.2: {} @@ -7278,27 +5878,18 @@ snapshots: is-what@4.1.16: {} - is-whitespace-character@1.0.4: {} - - is-word-character@1.0.4: {} - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 is@3.3.2: {} - isarray@1.0.0: {} - isarray@2.0.5: {} isexe@2.0.0: {} isobject@0.2.0: {} - isstream@0.1.2: - optional: true - istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: @@ -7400,7 +5991,7 @@ snapshots: chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 - glob: 7.2.3 + glob: 13.0.6 graceful-fs: 4.2.11 jest-circus: 29.7.0 jest-environment-node: 29.7.0 @@ -7566,7 +6157,7 @@ snapshots: chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.3 - glob: 7.2.3 + glob: 13.0.6 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 jest-message-util: 29.7.0 @@ -7666,37 +6257,28 @@ snapshots: dependencies: argparse: 2.0.1 - jsbn@0.1.1: - optional: true - - jsdom@20.0.3: + jsdom@26.1.0: dependencies: - abab: 2.0.6 - acorn: 8.16.0 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 + cssstyle: 4.6.0 + data-urls: 5.0.0 decimal.js: 10.6.0 - domexception: 4.0.0 - escodegen: 2.1.0 - form-data: 4.0.5 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.23 parse5: 7.3.0 + rrweb-cssom: 0.8.0 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-xmlserializer: 4.0.0 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 ws: 8.20.1 - xml-name-validator: 4.0.0 + xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color @@ -7714,47 +6296,15 @@ snapshots: json-schema-traverse@0.4.1: {} - json-schema@0.4.0: - optional: true - json-stable-stringify-without-jsonify@1.0.1: {} - json-stable-stringify@1.3.0: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - isarray: 2.0.5 - jsonify: 0.0.1 - object-keys: 1.1.1 - optional: true - - json-stringify-safe@5.0.1: - optional: true - json5@2.2.3: {} - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - - jsonify@0.0.1: - optional: true - - jsonparse@1.3.1: {} - jsonschema@1.1.0: {} - jsprim@1.4.2: - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - optional: true - juice@8.1.0: dependencies: - cheerio: 1.0.0-rc.10 + cheerio: 1.0.0-rc.12 commander: 6.2.1 mensch: 0.3.4 slick: 1.12.2 @@ -7774,28 +6324,12 @@ snapshots: kramed@0.5.6: {} - labeled-stream-splicer@2.0.2: - dependencies: - inherits: 2.0.4 - stream-splicer: 2.0.1 - language-map@1.5.0: {} less-plugin-clean-css@1.6.0: dependencies: clean-css: 5.3.3 - less@2.7.3: - optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.11 - image-size: 0.5.5 - mime: 1.6.0 - mkdirp: 0.5.6 - promise: 7.3.1 - request: 2.81.0 - source-map: 0.5.7 - less@3.13.1: dependencies: copy-anything: 2.0.6 @@ -7881,8 +6415,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.memoize@3.0.4: {} - lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -7902,13 +6434,13 @@ snapshots: strip-ansi: 7.2.0 wrap-ansi: 9.0.2 - longest-streak@2.0.4: {} - loud-rejection@1.6.0: dependencies: currently-unhandled: 0.4.1 signal-exit: 3.0.7 + lru-cache@10.4.3: {} + lru-cache@11.3.6: {} lru-cache@5.1.1: @@ -7951,32 +6483,8 @@ snapshots: markdown-escape@1.1.0: {} - markdown-escapes@1.0.4: {} - - markdown-table@1.1.3: {} - - markdown-to-ast@4.0.0: - dependencies: - '@textlint/ast-node-types': 1.1.2 - debug: 2.6.9 - remark: 7.0.1 - structured-source: 3.0.2 - traverse: 0.6.11 - transitivePeerDependencies: - - supports-color - math-intrinsics@1.1.0: {} - md5.js@1.3.5: - dependencies: - hash-base: 3.0.5 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - mdast-util-compact@1.0.4: - dependencies: - unist-util-visit: 1.4.1 - memoize-one@5.2.1: {} memorystream@0.3.1: {} @@ -8019,17 +6527,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.2 - miller-rabin@4.0.1: - dependencies: - bn.js: 4.12.3 - brorand: 1.1.0 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mime@1.6.0: {} mime@2.6.0: {} @@ -8038,10 +6535,6 @@ snapshots: mimic-function@5.0.1: {} - minimalistic-assert@1.0.1: {} - - minimalistic-crypto-utils@1.0.1: {} - minimatch@10.2.5: dependencies: brace-expansion: 5.0.6 @@ -8050,7 +6543,7 @@ snapshots: dependencies: brace-expansion: 1.1.14 - minimatch@5.1.9: + minimatch@9.0.9: dependencies: brace-expansion: 2.1.0 @@ -8069,56 +6562,32 @@ snapshots: minipass@7.1.3: {} - mkdirp-classic@0.5.3: {} - - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - optional: true - mkdirp@1.0.4: {} - mocha@10.8.2: + mocha@11.7.5: dependencies: - ansi-colors: 4.1.3 browser-stdout: 1.3.1 - chokidar: 3.6.0 + chokidar: 4.0.3 debug: 4.4.3(supports-color@8.1.1) - diff: 5.2.2 + diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 13.0.6 he: 1.2.0 + is-path-inside: 3.0.3 js-yaml: 4.1.1 log-symbols: 4.1.0 - minimatch: 5.1.9 + minimatch: 9.0.9 ms: 2.1.3 + picocolors: 1.1.1 serialize-javascript: 6.0.2 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 6.5.1 - yargs: 16.2.0 - yargs-parser: 20.2.9 + workerpool: 9.3.4 + yargs: 17.7.2 + yargs-parser: 21.1.1 yargs-unparser: 2.0.0 - module-deps@6.2.3: - dependencies: - JSONStream: 1.3.5 - browser-resolve: 2.0.0 - cached-path-relative: 1.1.0 - concat-stream: 1.6.2 - defined: 1.0.1 - detective: 5.2.1 - duplexer2: 0.1.4 - inherits: 2.0.4 - parents: 1.0.1 - readable-stream: 2.3.8 - resolve: 1.22.12 - stream-combiner2: 1.1.1 - subarg: 1.0.0 - through2: 2.0.5 - xtend: 4.0.2 - mousetrap@1.6.5: {} ms@2.0.0: {} @@ -8198,11 +6667,6 @@ snapshots: nwsapi@2.2.23: {} - oauth-sign@0.8.2: - optional: true - - object-assign@4.1.1: {} - object-inspect@1.13.4: {} object-keys@1.1.1: {} @@ -8229,10 +6693,6 @@ snapshots: dependencies: ee-first: 1.1.1 - once@1.4.0: - dependencies: - wrappy: 1.0.2 - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -8257,8 +6717,6 @@ snapshots: opts@2.0.2: {} - os-browserify@0.3.0: {} - own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -8313,33 +6771,10 @@ snapshots: package-json-from-dist@1.0.1: {} - pako@1.0.11: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 - parents@1.0.1: - dependencies: - path-platform: 0.11.15 - - parse-asn1@5.1.9: - dependencies: - asn1.js: 4.10.1 - browserify-aes: 1.2.0 - evp_bytestokey: 1.0.3 - pbkdf2: 3.1.5 - safe-buffer: 5.2.1 - - parse-entities@1.2.2: - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 - parse-json@4.0.0: dependencies: error-ex: 1.3.4 @@ -8354,21 +6789,11 @@ snapshots: parse-node-version@1.0.1: {} - parse5-htmlparser2-tree-adapter@6.0.1: - dependencies: - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 parse5: 7.3.0 - parse5-parser-stream@7.1.2: - dependencies: - parse5: 7.3.0 - - parse5@6.0.1: {} - parse5@7.3.0: dependencies: entities: 6.0.1 @@ -8379,16 +6804,12 @@ snapshots: path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@2.0.1: {} path-key@3.1.1: {} path-parse@1.0.7: {} - path-platform@0.11.15: {} - path-scurry@2.0.2: dependencies: lru-cache: 11.3.6 @@ -8400,18 +6821,6 @@ snapshots: path-type@4.0.0: {} - pbkdf2@3.1.5: - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 - to-buffer: 1.2.2 - - performance-now@0.2.0: - optional: true - picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -8433,16 +6842,6 @@ snapshots: platform@1.3.6: {} - position-map-text-to-markdown@1.1.1: - dependencies: - '@textlint/markdown-to-ast': 6.3.5 - '@types/structured-source': 3.0.0 - markdown-to-ast: 4.0.0 - structured-source: 3.0.2 - textlint-util-to-string: 2.1.1 - transitivePeerDependencies: - - supports-color - possible-typed-array-names@1.1.0: {} prelude-ls@1.2.1: {} @@ -8455,15 +6854,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - process-nextick-args@2.0.1: {} - - process@0.11.10: {} - - promise@7.3.1: - dependencies: - asap: 2.0.6 - optional: true - prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -8472,19 +6862,6 @@ snapshots: prr@1.0.1: optional: true - psl@1.15.0: - dependencies: - punycode: 2.3.1 - - public-encrypt@4.0.3: - dependencies: - bn.js: 4.12.3 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - parse-asn1: 5.1.9 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - punycode@1.4.1: {} punycode@2.3.1: {} @@ -8495,13 +6872,6 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.4.3: - optional: true - - querystring-es3@0.2.1: {} - - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} quick-lru@1.1.0: {} @@ -8512,11 +6882,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - randomfill@1.0.4: - dependencies: - randombytes: 2.1.0 - safe-buffer: 5.2.1 - range-parser@1.2.1: {} range-utils@1.1.0: @@ -8526,10 +6891,6 @@ snapshots: react-is@18.3.1: {} - read-only-stream@2.0.0: - dependencies: - readable-stream: 2.3.8 - read-pkg-up@3.0.0: dependencies: find-up: 2.1.0 @@ -8554,22 +6915,6 @@ snapshots: parse-json: 5.2.0 type-fest: 1.4.0 - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.2 @@ -8606,105 +6951,8 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - remark-frontmatter@1.3.3: - dependencies: - fault: 1.0.4 - xtend: 4.0.2 - - remark-parse@3.0.1: - dependencies: - collapse-white-space: 1.0.6 - has: 1.0.4 - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - is-word-character: 1.0.4 - markdown-escapes: 1.0.4 - parse-entities: 1.2.2 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - trim: 0.0.1 - trim-trailing-lines: 1.1.4 - unherit: 1.1.3 - unist-util-remove-position: 1.1.4 - vfile-location: 2.0.6 - xtend: 4.0.2 - - remark-parse@5.0.0: - dependencies: - collapse-white-space: 1.0.6 - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - is-word-character: 1.0.4 - markdown-escapes: 1.0.4 - parse-entities: 1.2.2 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - trim: 0.0.1 - trim-trailing-lines: 1.1.4 - unherit: 1.1.3 - unist-util-remove-position: 1.1.4 - vfile-location: 2.0.6 - xtend: 4.0.2 - - remark-stringify@3.0.1: - dependencies: - ccount: 1.1.0 - is-alphanumeric: 1.0.0 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - longest-streak: 2.0.4 - markdown-escapes: 1.0.4 - markdown-table: 1.1.3 - mdast-util-compact: 1.0.4 - parse-entities: 1.2.2 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - stringify-entities: 1.3.2 - unherit: 1.1.3 - xtend: 4.0.2 - - remark@7.0.1: - dependencies: - remark-parse: 3.0.1 - remark-stringify: 3.0.1 - unified: 6.2.0 - - repeat-string@1.6.1: {} - - replace-ext@1.0.0: {} - - request@2.81.0: - dependencies: - aws-sign2: 0.6.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.1.4 - har-validator: 4.2.1 - hawk: 3.1.3 - http-signature: 1.1.1 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.8.2 - performance-now: 0.2.0 - qs: 6.4.3 - safe-buffer: 5.2.1 - stringstream: 0.0.6 - tough-cookie: 2.3.4 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - optional: true - require-directory@2.1.1: {} - requires-port@1.0.0: {} - resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -8736,10 +6984,7 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - ripemd160@2.0.3: - dependencies: - hash-base: 3.1.2 - inherits: 2.0.4 + rrweb-cssom@0.8.0: {} run-parallel@1.2.0: dependencies: @@ -8753,8 +6998,6 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} safe-push-apply@1.0.0: @@ -8829,16 +7072,6 @@ snapshots: setprototypeof@1.2.0: {} - sha.js@2.4.12: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 - - shasum-object@1.0.1: - dependencies: - fast-safe-stringify: 2.1.1 - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -8911,8 +7144,6 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - sisteransi@1.0.5: {} slash@3.0.0: {} @@ -8931,18 +7162,11 @@ snapshots: slick@1.12.2: {} - sntp@1.0.9: - dependencies: - hoek: 2.16.3 - optional: true - source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: {} - source-map@0.6.1: {} spdx-correct@3.2.0: @@ -8961,25 +7185,10 @@ snapshots: sprintf-js@1.0.3: {} - sshpk@1.18.0: - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - optional: true - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - state-toggle@1.0.3: {} - statuses@2.0.2: {} stop-iteration-iterator@1.1.0: @@ -8987,28 +7196,6 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - stream-browserify@3.0.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - stream-combiner2@1.1.1: - dependencies: - duplexer2: 0.1.4 - readable-stream: 2.3.8 - - stream-http@3.2.0: - dependencies: - builtin-status-codes: 3.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - xtend: 4.0.2 - - stream-splicer@2.0.1: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - string-argv@0.3.2: {} string-length@4.0.2: @@ -9065,24 +7252,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - stringify-entities@1.3.2: - dependencies: - character-entities-html4: 1.1.4 - character-entities-legacy: 1.1.4 - is-alphanumerical: 1.0.4 - is-hexadecimal: 1.0.4 - - stringstream@0.0.6: - optional: true - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -9103,14 +7272,6 @@ snapshots: strip-json-comments@3.1.1: {} - structured-source@3.0.2: - dependencies: - boundary: 1.0.1 - - subarg@1.0.0: - dependencies: - minimist: 1.2.8 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -9127,84 +7288,44 @@ snapshots: symbol-tree@3.2.4: {} - syntax-error@1.4.0: - dependencies: - acorn-node: 1.8.2 - test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.6 - glob: 7.2.3 + glob: 13.0.6 minimatch: 3.1.5 - textlint-util-to-string@2.1.1: - dependencies: - object-assign: 4.1.1 - structured-source: 3.0.2 - - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 + tinyexec@1.1.2: {} - through@2.3.8: {} + tldts-core@6.1.86: {} - timers-browserify@1.4.2: + tldts@6.1.86: dependencies: - process: 0.11.10 - - tinyexec@1.1.2: {} + tldts-core: 6.1.86 tmp@0.2.4: {} tmpl@1.0.5: {} - to-buffer@1.2.2: - dependencies: - isarray: 2.0.5 - safe-buffer: 5.2.1 - typed-array-buffer: 1.0.3 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 toidentifier@1.0.1: {} - tough-cookie@2.3.4: + tough-cookie@5.1.2: dependencies: - punycode: 1.4.1 - optional: true - - tough-cookie@4.1.4: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 6.1.86 tr46@0.0.3: {} - tr46@3.0.0: + tr46@5.1.1: dependencies: punycode: 2.3.1 - traverse@0.6.11: - dependencies: - gopd: 1.2.0 - typedarray.prototype.slice: 1.0.5 - which-typed-array: 1.1.20 - trim-newlines@2.0.0: {} trim-newlines@4.1.1: {} - trim-trailing-lines@1.1.4: {} - - trim@0.0.1: {} - - trough@1.0.5: {} - ts-jest@29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 @@ -9245,18 +7366,6 @@ snapshots: tslib@1.14.1: {} - tslib@2.8.1: {} - - tty-browserify@0.0.1: {} - - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - optional: true - - tweetnacl@0.14.5: - optional: true - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -9302,24 +7411,10 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedarray.prototype.slice@1.0.5: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-errors: 1.3.0 - get-proto: 1.0.1 - math-intrinsics: 1.1.0 - typed-array-buffer: 1.0.3 - typed-array-byte-offset: 1.0.4 - - typedarray@0.0.6: {} - typescript@5.9.3: {} - uglify-js@3.19.3: {} - - umd@3.0.3: {} + uglify-js@3.19.3: + optional: true unbox-primitive@1.1.0: dependencies: @@ -9328,53 +7423,8 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undeclared-identifiers@1.1.3: - dependencies: - acorn-node: 1.8.2 - dash-ast: 1.0.0 - get-assigned-identifiers: 1.2.0 - simple-concat: 1.0.1 - xtend: 4.0.2 - undici-types@6.21.0: {} - undici@7.25.0: {} - - unherit@1.1.3: - dependencies: - inherits: 2.0.4 - xtend: 4.0.2 - - unified@6.2.0: - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-plain-obj: 1.1.0 - trough: 1.0.5 - vfile: 2.3.0 - x-is-string: 0.1.0 - - unist-util-is@3.0.0: {} - - unist-util-remove-position@1.1.4: - dependencies: - unist-util-visit: 1.4.1 - - unist-util-stringify-position@1.1.2: {} - - unist-util-visit-parents@2.1.2: - dependencies: - unist-util-is: 3.0.0 - - unist-util-visit@1.4.1: - dependencies: - unist-util-visit-parents: 2.1.2 - - universalify@0.1.2: {} - - universalify@0.2.0: {} - unxhr@1.2.0: {} update-browserslist-db@1.2.3(browserslist@4.28.2): @@ -9387,35 +7437,11 @@ snapshots: dependencies: punycode: 2.3.1 - url-join@2.0.5: {} - - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - url@0.11.4: dependencies: punycode: 1.4.1 qs: 6.15.2 - util-deprecate@1.0.2: {} - - util@0.10.4: - dependencies: - inherits: 2.0.3 - - util@0.12.5: - dependencies: - inherits: 2.0.4 - is-arguments: 1.2.0 - is-generator-function: 1.1.2 - is-typed-array: 1.1.15 - which-typed-array: 1.1.20 - - uuid@3.4.0: - optional: true - v8-compile-cache-lib@3.0.1: {} v8-to-istanbul@9.3.0: @@ -9431,31 +7457,9 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - verror@1.10.0: + w3c-xmlserializer@5.0.0: dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - optional: true - - vfile-location@2.0.6: {} - - vfile-message@1.1.1: - dependencies: - unist-util-stringify-position: 1.1.2 - - vfile@2.3.0: - dependencies: - is-buffer: 1.1.6 - replace-ext: 1.0.0 - unist-util-stringify-position: 1.1.2 - vfile-message: 1.1.1 - - vm-browserify@1.1.2: {} - - w3c-xmlserializer@4.0.0: - dependencies: - xml-name-validator: 4.0.0 + xml-name-validator: 5.0.0 walker@1.0.8: dependencies: @@ -9476,21 +7480,15 @@ snapshots: webidl-conversions@7.0.0: {} - whatwg-encoding@2.0.0: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 - whatwg-mimetype@3.0.0: {} - whatwg-mimetype@4.0.0: {} - whatwg-url@11.0.0: + whatwg-url@14.2.0: dependencies: - tr46: 3.0.0 + tr46: 5.1.1 webidl-conversions: 7.0.0 whatwg-url@5.0.0: @@ -9551,7 +7549,7 @@ snapshots: wordwrap@1.0.0: {} - workerpool@6.5.1: {} + workerpool@9.3.4: {} wrap-ansi@7.0.0: dependencies: @@ -9565,8 +7563,6 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 - wrappy@1.0.2: {} - write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 @@ -9574,9 +7570,7 @@ snapshots: ws@8.20.1: {} - x-is-string@0.1.0: {} - - xml-name-validator@4.0.0: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} diff --git a/reports/README.md b/reports/README.md index c9789912c..d2af607d0 100644 --- a/reports/README.md +++ b/reports/README.md @@ -1,5 +1,4 @@ # Reports - Generated quality and install reports for the Honkit monorepo. | Report | Command | diff --git a/reports/install.log b/reports/install.log index 97dd0e80a..60782332a 100644 --- a/reports/install.log +++ b/reports/install.log @@ -1,46 +1,10 @@ -$ pnpm install +$ pnpm install --frozen-lockfile Scope: all 16 workspace projects -(node:78110) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(node:45087) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) -Progress: resolved 1, reused 0, downloaded 0, added 0 -Progress: resolved 16, reused 16, downloaded 0, added 0 -Progress: resolved 44, reused 44, downloaded 0, added 0 -Progress: resolved 70, reused 70, downloaded 0, added 0 -Progress: resolved 89, reused 89, downloaded 0, added 0 -Progress: resolved 90, reused 90, downloaded 0, added 0 -Progress: resolved 128, reused 128, downloaded 0, added 0 -Progress: resolved 164, reused 164, downloaded 0, added 0 -Progress: resolved 267, reused 242, downloaded 0, added 0 -Progress: resolved 345, reused 320, downloaded 0, added 0 -Progress: resolved 415, reused 389, downloaded 0, added 0 -Progress: resolved 438, reused 413, downloaded 0, added 0 -Progress: resolved 447, reused 422, downloaded 0, added 0 -Progress: resolved 473, reused 448, downloaded 0, added 0 -Progress: resolved 579, reused 554, downloaded 0, added 0 -Progress: resolved 688, reused 663, downloaded 0, added 0 -Progress: resolved 716, reused 690, downloaded 0, added 0 -Progress: resolved 820, reused 795, downloaded 0, added 0 -Progress: resolved 917, reused 892, downloaded 0, added 0 -Progress: resolved 1030, reused 1005, downloaded 0, added 0 -Progress: resolved 1071, reused 1046, downloaded 0, added 0 -Progress: resolved 1072, reused 1046, downloaded 0, added 0 - WARN  17 deprecated subdependencies found: abab@2.0.6, boom@2.10.1, cryptiles@2.0.5, domexception@4.0.0, glob@7.2.3, glob@8.1.0, har-validator@4.2.1, hawk@3.1.3, hoek@2.16.3, inflight@1.0.6, markdown-to-ast@4.0.0, request@2.81.0, sntp@1.0.9, trim@0.0.1, uuid@3.4.0, whatwg-encoding@2.0.0, whatwg-encoding@3.1.1 -Packages: +1047 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Progress: resolved 1072, reused 1047, downloaded 0, added 489 -Progress: resolved 1072, reused 1047, downloaded 0, added 845 -Progress: resolved 1072, reused 1047, downloaded 0, added 1047, done -.../esbuild@0.27.7/node_modules/esbuild postinstall$ node install.js -.../esbuild@0.27.7/node_modules/esbuild postinstall: Done +Lockfile is up to date, resolution step is skipped +Already up to date + . prepare$ git config --local core.hooksPath .githooks . prepare: Done - -devDependencies: -+ @honkit/cleaning-tools 6.2.0 <- packages/@honkit/cleaning-tools -+ eslint 9.39.4 (10.4.0 is available) -+ honkit 6.2.0 <- packages/honkit -+ lint-staged 16.4.0 (17.0.5 is available) -+ prettier 3.8.3 -+ typescript 5.9.3 (6.0.3 is available) - -Done in 25.8s +Done in 852ms From 920c281efbe4c94a5d7d3238858ea58b8b62c5ba Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Thu, 21 May 2026 02:52:42 -0400 Subject: [PATCH 10/17] Restore cheerio version, address copy file regression --- .github/workflows/test.yml | 17 +++ package.json | 2 - packages/@honkit/html/package.json | 2 +- packages/honkit/src/utils/fs.ts | 4 +- pnpm-lock.yaml | 170 ++++++++++++++++++++++------- reports/README.md | 9 +- reports/install.log | 38 ++++++- scripts/report-install-ci.sh | 10 -- 8 files changed, 194 insertions(+), 58 deletions(-) delete mode 100755 scripts/report-install-ci.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 249a41f55..7280f7569 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,6 +39,23 @@ jobs: run: pnpm run build working-directory: examples/benchmark + trace-install-deprecations: + name: "Trace install deprecations" + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + - name: setup Node.js + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 + with: + cache: 'pnpm' + node-version: ${{ env.NODE_VERSION }} + - name: Trace deprecation warnings during install + run: NODE_OPTIONS=--trace-deprecation pnpm install --frozen-lockfile + docker-image: name: "Build docker image and generate pdf" runs-on: ubuntu-latest diff --git a/package.json b/package.json index c365e118d..57d55e27b 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "clean": "pnpm -r --filter \"!@example/*\" run clean", "clean-deps": "rm -rf node_modules && pnpm -r exec rm -rf node_modules", "report:install": "pnpm run clean-deps && rm -f pnpm-lock.yaml && mkdir -p reports && echo \"$ pnpm install\" > reports/install.log && pnpm install >> reports/install.log 2>&1", - "report:install-ci": "bash scripts/report-install-ci.sh", "test": "pnpm -r --filter \"!@example/*\" run test", "updateSnapshot": "pnpm -r --filter \"!@example/*\" run updateSnapshot", "versionup": "echo 'Error: Please use CI for versioning. Run gh workflow run create-release-pr instead.' && exit 1", @@ -52,7 +51,6 @@ "packageManager": "pnpm@9.12.0+sha512.4abf725084d7bcbafbd728bfc7bee61f2f791f977fd87542b3579dcb23504d170d46337945e4c66485cd12d588a0c0e570ed9c477e7ccdd8507cf05f3f92eaca", "pnpm": { "overrides": { - "cheerio": "1.0.0-rc.12", "glob": "^13.0.0" } } diff --git a/packages/@honkit/html/package.json b/packages/@honkit/html/package.json index 40f9bae9b..cd76e4d4a 100644 --- a/packages/@honkit/html/package.json +++ b/packages/@honkit/html/package.json @@ -38,7 +38,7 @@ "prepublish": "npm run --if-present build" }, "dependencies": { - "cheerio": "1.0.0-rc.12", + "cheerio": "^1.0.0", "lodash": "^4.17.23" }, "devDependencies": { diff --git a/packages/honkit/src/utils/fs.ts b/packages/honkit/src/utils/fs.ts index 3842b5746..8af191e20 100644 --- a/packages/honkit/src/utils/fs.ts +++ b/packages/honkit/src/utils/fs.ts @@ -184,8 +184,10 @@ function ensureFolder(rootFolder) { function copyFile(src, dest) { const d = Promise.defer(); + const destDir = path.dirname(dest); fs.promises - .copyFile(src, dest) + .mkdir(destDir, { recursive: true }) + .then(() => fs.promises.copyFile(src, dest)) .then(() => d.resolve()) .catch((err) => d.reject(err)); return d.promise; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70e17e529..82c0ed8fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,6 @@ settings: excludeLinksFromLockfile: false overrides: - cheerio: 1.0.0-rc.12 glob: ^13.0.0 importers: @@ -71,7 +70,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) examples/book: devDependencies: @@ -102,7 +101,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/cleaning-tools: devDependencies: @@ -147,8 +146,8 @@ importers: packages/@honkit/html: dependencies: cheerio: - specifier: 1.0.0-rc.12 - version: 1.0.0-rc.12 + specifier: ^1.0.0 + version: 1.2.0 lodash: specifier: ^4.17.23 version: 4.18.1 @@ -204,7 +203,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/markdown-legacy: dependencies: @@ -272,7 +271,7 @@ importers: version: 13.2.3 ts-jest: specifier: ^29.2.5 - version: 29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/theme: devDependencies: @@ -1289,8 +1288,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.30: - resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} + baseline-browser-mapping@2.10.31: + resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==} engines: {node: '>=6.0.0'} hasBin: true @@ -1393,13 +1392,20 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} + cheerio-select@1.6.0: + resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} + cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + cheerio@1.0.0-rc.10: + resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} + cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} + engines: {node: '>=20.18.1'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -1530,6 +1536,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -1698,8 +1707,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.357: - resolution: {integrity: sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==} + electron-to-chromium@1.5.360: + resolution: {integrity: sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1715,6 +1724,9 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} @@ -1729,6 +1741,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -2136,14 +2152,17 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + htmlparser2@4.1.0: resolution: {integrity: sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==} htmlparser2@5.0.1: resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} @@ -2708,8 +2727,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.3.6: - resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} + lru-cache@11.5.0: + resolution: {integrity: sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -2886,8 +2905,9 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.44: - resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} + node-releases@2.0.45: + resolution: {integrity: sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg==} + engines: {node: '>=18'} normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -3050,9 +3070,18 @@ packages: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + parse5-htmlparser2-tree-adapter@7.1.0: resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3591,8 +3620,8 @@ packages: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} - ts-jest@29.4.9: - resolution: {integrity: sha512-LTb9496gYPMCqjeDLdPrKuXtncudeV1yRZnF4Wo5l3SFi0RYEnYRNgMrFIdg+FHvfzjCyQk1cLncWVqiSX+EvQ==} + ts-jest@29.4.10: + resolution: {integrity: sha512-vMTlTTtvz5aKZgzOoc7DQ5TzAL2fCzl8JnG1+ZpwjQa/g0xLlwE44yQ+1Cao9ZP1xVv9y5g34IFXEiqGOGFBUA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3635,6 +3664,9 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3688,6 +3720,10 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici@7.25.0: + resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} + engines: {node: '>=20.18.1'} + unxhr@1.2.0: resolution: {integrity: sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==} engines: {node: '>=8.11'} @@ -4704,7 +4740,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.30: {} + baseline-browser-mapping@2.10.31: {} bash-color@0.0.4: {} @@ -4738,10 +4774,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.30 + baseline-browser-mapping: 2.10.31 caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.357 - node-releases: 2.0.44 + electron-to-chromium: 1.5.360 + node-releases: 2.0.45 update-browserslist-db: 1.2.3(browserslist@4.28.2) bs-logger@0.2.6: @@ -4812,6 +4848,14 @@ snapshots: char-regex@1.0.2: {} + cheerio-select@1.6.0: + dependencies: + css-select: 4.3.0 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -4821,15 +4865,29 @@ snapshots: domhandler: 5.0.3 domutils: 3.2.2 - cheerio@1.0.0-rc.12: + cheerio@1.0.0-rc.10: + dependencies: + cheerio-select: 1.6.0 + dom-serializer: 1.4.1 + domhandler: 4.3.1 + htmlparser2: 6.1.0 + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + tslib: 2.8.1 + + cheerio@1.2.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.2.2 - htmlparser2: 8.0.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.1.0 parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.25.0 + whatwg-mimetype: 4.0.0 chokidar@3.6.0: dependencies: @@ -4992,6 +5050,14 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -5150,7 +5216,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.357: {} + electron-to-chromium@1.5.360: {} emittery@0.13.1: {} @@ -5160,6 +5226,11 @@ snapshots: encodeurl@2.0.0: {} + encoding-sniffer@0.2.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + entities@1.1.2: {} entities@2.2.0: {} @@ -5168,6 +5239,8 @@ snapshots: entities@6.0.1: {} + entities@7.0.1: {} + environment@1.1.0: {} errno@0.1.8: @@ -5526,7 +5599,7 @@ snapshots: gitbook-plugin-anchors@0.7.1: dependencies: - cheerio: 1.0.0-rc.12 + cheerio: 1.2.0 github-slugid: 1.0.1 gitbook-plugin-canonical-link@2.0.3: {} @@ -5650,6 +5723,13 @@ snapshots: html-escaper@2.0.2: {} + htmlparser2@10.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 7.0.1 + htmlparser2@4.1.0: dependencies: domelementtype: 2.3.0 @@ -5664,12 +5744,12 @@ snapshots: domutils: 2.8.0 entities: 2.2.0 - htmlparser2@8.0.2: + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 http-errors@2.0.1: dependencies: @@ -6304,7 +6384,7 @@ snapshots: juice@8.1.0: dependencies: - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0-rc.10 commander: 6.2.1 mensch: 0.3.4 slick: 1.12.2 @@ -6441,7 +6521,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.3.6: {} + lru-cache@11.5.0: {} lru-cache@5.1.1: dependencies: @@ -6617,7 +6697,7 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.44: {} + node-releases@2.0.45: {} normalize-package-data@2.5.0: dependencies: @@ -6789,11 +6869,21 @@ snapshots: parse-node-version@1.0.1: {} + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 parse5: 7.3.0 + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.3.0 + + parse5@6.0.1: {} + parse5@7.3.0: dependencies: entities: 6.0.1 @@ -6812,7 +6902,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.3.6 + lru-cache: 11.5.0 minipass: 7.1.3 path-type@3.0.0: @@ -7326,7 +7416,7 @@ snapshots: trim-newlines@4.1.1: {} - ts-jest@29.4.9(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -7366,6 +7456,8 @@ snapshots: tslib@1.14.1: {} + tslib@2.8.1: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -7425,6 +7517,8 @@ snapshots: undici-types@6.21.0: {} + undici@7.25.0: {} + unxhr@1.2.0: {} update-browserslist-db@1.2.3(browserslist@4.28.2): diff --git a/reports/README.md b/reports/README.md index d2af607d0..84f2ab4c4 100644 --- a/reports/README.md +++ b/reports/README.md @@ -4,6 +4,13 @@ Generated quality and install reports for the Honkit monorepo. | Report | Command | | --- | --- | | Fresh install log (wiped `node_modules`, regenerated lockfile) | `pnpm run report:install` → `install.log` | -| Install log (CI-shaped, frozen lockfile) | `pnpm run report:install-ci` → `install.log` | `report:install` removes workspace `node_modules`, deletes `pnpm-lock.yaml`, and runs `pnpm install` so registry deprecation warnings appear in `install.log`. Use before dependency cleanup work; commit the updated lockfile separately when intentional. + +CI also runs a non-mutating install audit in [`.github/workflows/test.yml`](../.github/workflows/test.yml): + +```bash +NODE_OPTIONS=--trace-deprecation pnpm install --frozen-lockfile +``` + +Review that job’s log for Node deprecation traces on a frozen lockfile. To fail locally on the same warnings (once resolved upstream), use `NODE_OPTIONS=--throw-deprecation` — see [Node.js deprecations](https://nodejs.org/api/deprecations.html#deprecated-apis). diff --git a/reports/install.log b/reports/install.log index 60782332a..d5cc86fb5 100644 --- a/reports/install.log +++ b/reports/install.log @@ -1,10 +1,38 @@ -$ pnpm install --frozen-lockfile +$ pnpm install Scope: all 16 workspace projects -(node:45087) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(node:53031) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) -Lockfile is up to date, resolution step is skipped -Already up to date +Progress: resolved 1, reused 0, downloaded 0, added 0 + ╭──────────────────────────────────────────────────────────────────╮ + │ │ + │ Update available! 9.12.0 → 11.1.3. │ + │ Changelog: https://github.com/pnpm/pnpm/releases/tag/v11.1.3 │ + │ Run "corepack install -g pnpm@11.1.3" to update. │ + │ │ + │ Follow @pnpmjs for updates: https://x.com/pnpmjs │ + │ │ + ╰──────────────────────────────────────────────────────────────────╯ + +Progress: resolved 98, reused 96, downloaded 1, added 0 +Progress: resolved 406, reused 379, downloaded 1, added 0 +Progress: resolved 758, reused 731, downloaded 2, added 0 + WARN  1 deprecated subdependencies found: whatwg-encoding@3.1.1 +Packages: +816 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +Progress: resolved 841, reused 811, downloaded 5, added 184 +Progress: resolved 841, reused 811, downloaded 5, added 501 +Progress: resolved 841, reused 811, downloaded 5, added 699 +Progress: resolved 841, reused 811, downloaded 5, added 816, done . prepare$ git config --local core.hooksPath .githooks . prepare: Done -Done in 852ms + +devDependencies: ++ @honkit/cleaning-tools 6.2.0 <- packages/@honkit/cleaning-tools ++ eslint 9.39.4 (10.4.0 is available) ++ honkit 6.2.0 <- packages/honkit ++ lint-staged 16.4.0 (17.0.5 is available) ++ prettier 3.8.3 ++ typescript 5.9.3 (6.0.3 is available) + +Done in 7.9s diff --git a/scripts/report-install-ci.sh b/scripts/report-install-ci.sh deleted file mode 100755 index c468d87c2..000000000 --- a/scripts/report-install-ci.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -# CI-safe sibling of `pnpm run report:install`: writes the same reports/install.log -# shape (leading `$ pnpm …` line + full install output) but uses a frozen lockfile and -# does not delete node_modules or pnpm-lock.yaml. -set -euo pipefail -mkdir -p reports -{ - echo '$ pnpm install --frozen-lockfile' - pnpm install --frozen-lockfile -} 2>&1 | tee reports/install.log From b838e3c4f46782cbaed3dc1f97d0d14ed1a0440c Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Thu, 21 May 2026 03:26:26 -0400 Subject: [PATCH 11/17] Update test snapshot --- .../__snapshots__/snapshot-honkit.ts.snap | 246 +++++++++--------- 1 file changed, 123 insertions(+), 123 deletions(-) diff --git a/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap b/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap index d3a9fee05..ff86b096a 100644 --- a/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap +++ b/packages/honkit/src/__tests__/__snapshots__/snapshot-honkit.ts.snap @@ -658,12 +658,12 @@ exports[`HonKit snapshots: GLOSSARY.html 1`] = `

Plugins are the best way to extend HonKit functionalities (ebook and website).

For more details, see Templating.

Templating

-

HonKit uses the Nunjucks templating language to process pages and theme's templates.

+

HonKit uses the Nunjucks templating language to process pages and theme's templates.

For more details, see Templating.

.MD files

This is a test that the glossary term .MD files will parse as expected.

Brancaleone von Andalò

-

An Italian Senator? He's the subject of the bug report at https://github.com/honkit/honkit/issues/312.

+

An Italian Senator? He's the subject of the bug report at https://github.com/honkit/honkit/issues/312.


@@ -1462,7 +1462,7 @@ exports[`HonKit snapshots: config.html 1`] = ` root -Path to the root folder containing all the book's files, except book.json +Path to the root folder containing all the book's files, except book.json structure @@ -1486,19 +1486,19 @@ exports[`HonKit snapshots: config.html 1`] = ` language -ISO code of the book's language, default value is en +ISO code of the book's language, default value is en direction -Text's direction. Can be rtl or ltr, the default value depends on the value of language +Text's direction. Can be rtl or ltr, the default value depends on the value of language gitbook -Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" +Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" honkit -Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" +Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0" @@ -1576,7 +1576,7 @@ These files must be at the root of your book (or the root of every language book pdf.paperSize -Paper size, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (default is a4) +Paper size, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (default is a4) pdf.margin.top @@ -4049,19 +4049,19 @@ In some case, Does HonKit supports RTL/bi-directional text ?

The HonKit format supports right to left, and bi-directional writing. To enable it, you either need to specify a language (ex: ar), or force HonKit to use RTL in your book.json:

{
-    "language": "ar",
-    "direction": "rtl"
+    "language": "ar",
+    "direction": "rtl"
 }
 
-

With version 3.0 of HonKit, it's automatically detected according to the content. -Note that, while the output book will indeed respect RTL, the Editor doesn't support RTL writing yet.

+

With version 3.0 of HonKit, it's automatically detected according to the content. +Note that, while the output book will indeed respect RTL, the Editor doesn't support RTL writing yet.

You should always use paths and the .md extensions when linking to your files, HonKit will automatically replace these paths by the appropriate link when the pointing file is referenced in the Table of Contents.

Can I create a HonKit in a sub-directory of my repository?

Yes, HonKits can be created in sub-directories.

Does HonKit supports RTL languages?

Yes, HonKit automatically detect the direction in your pages (rtl or ltr) and adjust the layout accordingly. The direction can also be specified globally in the book.json.

-
+

Does HonKit support Math equations?

HonKit supports math equations and TeX thanks to plugins. There are currently 2 official plugins to display math: mathjax and katex.

Can I customize/theme the output?

@@ -4876,7 +4876,7 @@ exports[`HonKit snapshots: index.html 1`] = `

Contribute to this documentation

You can contribute to improve this documentation on GitHub by signaling issues or proposing changes.

Additional test case

-

Der Papst gehört nicht nach Anagni oder Lyon, nicht nach Perugia oder Assisi, sondern nach Rom.« Ein kraftvoller Mann gab den Römern diese Sprache ein,Brancaleone von Andalò, ihr damaliger Senator.

+

Der Papst gehört nicht nach Anagni oder Lyon, nicht nach Perugia oder Assisi, sondern nach Rom.« Ein kraftvoller Mann gab den Römern diese Sprache ein,Brancaleone von Andalò, ihr damaliger Senator.


@@ -6483,7 +6483,7 @@ exports[`HonKit snapshots: lexicon.html 1`] = ` Definition for this term ## Another term -With it's definition, this can contain bold text +With it's definition, this can contain bold text and all other kinds of inline markup ...
@@ -7285,8 +7285,8 @@ exports[`HonKit snapshots: pages.html 1`] = `

Pages and Summary

Summary

-

HonKit uses a SUMMARY.md file to define the structure of chapters and subchapters of the book. The SUMMARY.md file is used to generate the book's table of contents.

-

The format of SUMMARY.md is just a list of links. The link's title is used as the chapter's title, and the link's target is a path to that chapter's file.

+

HonKit uses a SUMMARY.md file to define the structure of chapters and subchapters of the book. The SUMMARY.md file is used to generate the book's table of contents.

+

The format of SUMMARY.md is just a list of links. The link's title is used as the chapter's title, and the link's target is a path to that chapter's file.

Adding a nested list to a parent chapter will create subchapters.

Simple example
# Summary
@@ -7333,7 +7333,7 @@ exports[`HonKit snapshots: pages.html 1`] = `
 

Parts are just groups of chapters and do not have dedicated pages, but according to the theme, it will show in the navigation.

Pages

Markdown syntax

-

Most of the files for HonKit use the Markdown syntax by default. HonKit infers your pages's structure from it. The syntax used is similar to the GitHub Flavored Markdown syntax. One can also opt for the AsciiDoc syntax.

+

Most of the files for HonKit use the Markdown syntax by default. HonKit infers your pages's structure from it. The syntax used is similar to the GitHub Flavored Markdown syntax. One can also opt for the AsciiDoc syntax.

Example of a chapter file
# Title of the chapter
 
@@ -7341,14 +7341,14 @@ This is a great introduction.
 
 ## Section 1
 
-Markdown will dictates _most_ of your **book's structure**
+Markdown will dictates _most_ of your **book's structure**
 
 ## Section 2
 
 ...
 

Front Matter

-

Pages can contain an optional front matter. It can be used to define the page's description. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:

+

Pages can contain an optional front matter. It can be used to define the page's description. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:

---
 description: This is a short description of my page
 ---
@@ -7356,7 +7356,7 @@ Markdown will dictates _most_ of your # The content of my page
 ...
 
-

The front matter can define variables of your own, they will be added to the page variable so you can use them in your templating.

+

The front matter can define variables of your own, they will be added to the page variable so you can use them in your templating.


@@ -8159,17 +8159,17 @@ exports[`HonKit snapshots: plugins/api.html 1`] = `

Book instance

The Book class is the central point of HonKit, it centralize all access read methods. This class is defined in book.js.

// Read configuration from book.json
-var value = book.config.get('title', 'Default Value');
+var value = book.config.get('title', 'Default Value');
 
 // Resolve a filename to an absolute path
-var filepath = book.resolve('README.md');
+var filepath = book.resolve('README.md');
 
 // Render an inline markup string
-book.renderInline('markdown', 'This is **Markdown**')
+book.renderInline('markdown', 'This is **Markdown**')
     .then(function(str) { ... })
 
 // Render a markup string (block mode)
-book.renderBlock('markdown', '* This is **Markdown**')
+book.renderBlock('markdown', '* This is **Markdown**')
     .then(function(str) { ... })
 

Output instance

@@ -8178,21 +8178,21 @@ book.renderBlock(var root = output.root(); // Resolve a file in the output folder -var filepath = output.resolve('myimage.png'); +var filepath = output.resolve('myimage.png'); // Convert a filename to an URL (returns a path to an html file) -var fileurl = output.toURL('mychapter/README.md'); +var fileurl = output.toURL('mychapter/README.md'); // Write a file in the output folder -output.writeFile('hello.txt', 'Hello World') +output.writeFile('hello.txt', 'Hello World') .then(function() { ... }); // Copy a file to the output folder -output.copyFile('./myfile.jpg', 'cover.jpg') +output.copyFile('./myfile.jpg', 'cover.jpg') .then(function() { ... }); // Verify that a file exists -output.hasFile('hello.txt') +output.hasFile('hello.txt') .then(function(exists) { ... });

Page instance

@@ -8210,22 +8210,22 @@ page.path page.rawPath // Type of parser used for this file -page.type ('markdown' or 'asciidoc') +page.type ('markdown' or 'asciidoc')

Context for Blocks and Filters

Blocks and filters have access to the same context, this context is bind to the template engine execution:

{
     // Current templating syntax
-    "ctx": {
-        // For example, after a {% set message = "hello" %}
-        "message": "hello"
+    "ctx": {
+        // For example, after a {% set message = "hello" %}
+        "message": "hello"
     },
 
     // Book instance
-    "book" <Book>,
+    "book" <Book>,
 
     // Output instance
-    "output": <Output>
+    "output": <Output>
 }
 

For example a filter or block function can access the current book using: this.book.

@@ -9029,15 +9029,15 @@ exports[`HonKit snapshots: plugins/blocks.html 1`] = `

Extend Blocks

-

Extending templating blocks is the best way to provide extra functionalities to authors.

-

The most common usage is to process the content within some tags at runtime. It's like filters, but on steroids because you aren't confined to a single expression.

+

Extending templating blocks is the best way to provide extra functionalities to authors.

+

The most common usage is to process the content within some tags at runtime. It's like filters, but on steroids because you aren't confined to a single expression.

Defining a new block

Blocks are defined by the plugin, blocks is a map of name associated with a block descriptor. The block descriptor needs to contain at least a process method.

module.exports = {
     blocks: {
         tag1: {
             process: function(block) {
-                return "Hello "+block.body+", How are you?";
+                return "Hello "+block.body+", How are you?";
             }
         }
     }
@@ -9046,7 +9046,7 @@ exports[`HonKit snapshots: plugins/blocks.html 1`] = `
 

The process should return the html content that will replace the tag. Refer to Context and APIs to learn more about this and HonKit API.

Handling block arguments

Arguments can be passed to blocks:

-
{% tag1 "argument 1", "argument 2", name="Test" %}
+
{% tag1 "argument 1", "argument 2", name="Test" %}
 This is the body of the block.
 {% endtag1 %}
 

And arguments are easily accessible in the process method:

@@ -9054,15 +9054,15 @@ This is the body of the block. blocks: { tag1: { process: function(block) { - // block.args equals ["argument 1", "argument 2"] - // block.kwargs equals { "name": "Test" } + // block.args equals ["argument 1", "argument 2"] + // block.kwargs equals { "name": "Test" } } } } };

Handling sub-blocks

-

A defined block can be parsed into different sub-blocks, for example let's consider the source:

+

A defined block can be parsed into different sub-blocks, for example let's consider the source:

{% myTag %}
     Main body
     {% subblock1 %}
@@ -9874,18 +9874,18 @@ exports[`HonKit snapshots: plugins/create.html 1`] = `
 

The package.json is a manifest format for describing Node.js modules. HonKit plugins are built on top of Node modules. It declares dependencies, version, ownership, and other information required to run a plugin in HonKit. This document describes the schema in detail.

A plugin manifest package.json can also contain details about the required configuration. The configuration schema is defined in the honkit field of the package.json (This field follow the JSON-Schema guidelines):

{
-    "name": "honkit-plugin-mytest",
-    "version": "0.0.1",
-    "description": "This is my first HonKit plugin",
-    "engines": {
-        "honkit": ">1.x.x"
+    "name": "honkit-plugin-mytest",
+    "version": "0.0.1",
+    "description": "This is my first HonKit plugin",
+    "engines": {
+        "honkit": ">1.x.x"
     },
-    "honkit": {
-        "properties": {
-            "myConfigKey": {
-                "type": "string",
-                "default": "it's the default value",
-                "description": "It defines my awesome config!"
+    "honkit": {
+        "properties": {
+            "myConfigKey": {
+                "type": "string",
+                "default": "it's the default value",
+                "description": "It defines my awesome config!"
             }
         }
     }
@@ -9920,8 +9920,8 @@ exports[`HonKit snapshots: plugins/create.html 1`] = `
 

Private plugins

Private plugins can be hosted on GitHub and included using git urls:

{
-    "plugins": [
-        "myplugin@git+https://github.com/MyCompany/myhonkitplugin.git#1.0.0"
+    "plugins": [
+        "myplugin@git+https://github.com/MyCompany/myhonkitplugin.git#1.0.0"
     ]
 }
 
@@ -10724,8 +10724,8 @@ exports[`HonKit snapshots: plugins/filters.html 1`] = `

Extend Filters

Filters are essentially functions that can be applied to variables. They are called with a pipe operator (|) and can take arguments.

{{ foo | title }}
-{{ foo | join(",") }}
-{{ foo | replace("foo", "bar") | capitalize }}
+{{ foo | join(",") }}
+{{ foo | replace("foo", "bar") | capitalize }}
 

Defining a new filter

Plugins can extend filters by defining custom functions in their entry point under the filters scope.

A filter function takes as first argument the content to filter, and should return the new content. @@ -10733,24 +10733,24 @@ Refer to Context and APIs to learn more about this<

module.exports = {
     filters: {
         hello: function(name) {
-            return 'Hello '+name;
+            return 'Hello '+name;
         }
     }
 };
 

The filter hello can then be used in the book:

-
{{ "Aaron"|hello }}, how are you?
+
{{ "Aaron"|hello }}, how are you?
 

Handling block arguments

Arguments can be passed to filters:

-
Hello {{ "Samy"|fullName("Pesse", man=true}} }}
+
Hello {{ "Samy"|fullName("Pesse", man=true}} }}
 

Arguments are passed to the function, named-arguments are passed as a last argument (object).

module.exports = {
     filters: {
         fullName: function(firstName, lastName, kwargs) {
-            var name = firstName + ' ' + lastName;
+            var name = firstName + ' ' + lastName;
 
-            if (kwargs.man) name = "Mr" + name;
-            else name = "Mrs" + name;
+            if (kwargs.man) name = "Mr" + name;
+            else name = "Mrs" + name;
 
             return name;
         }
@@ -11599,7 +11599,7 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
 
 page:before
-Called before running the templating engine on the page
+Called before running the templating engine on the page
 Page Object
 
 
@@ -11612,28 +11612,28 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
Page Object
{
     // Parser named
-    "type": "markdown",
+    "type": "markdown",
 
     // File Path relative to book root
-    "path": "page.md",
+    "path": "page.md",
 
     // Absolute file path
-    "rawpath": "/usr/...",
+    "rawpath": "/usr/...",
 
     // Title of the page in the SUMMARY
-    "title": "",
+    "title": "",
 
     // Content of the page
-    // Markdown/Asciidoc in "page:before"
-    // HTML in "page"
-    "content": "# Hello"
+    // Markdown/Asciidoc in "page:before"
+    // HTML in "page"
+    "content": "# Hello"
 }
 
Example to add a title

In the page:before hook, page.content is the markdown/asciidoc content.

{
-    "page:before": function(page) {
-        page.content = "# Title\\n" +page.content;
+    "page:before": function(page) {
+        page.content = "# Title\\n" +page.content;
         return page;
     }
 }
@@ -11641,9 +11641,9 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 
Example to replace some html

In the page hook, page.content is the HTML generated from the markdown/asciidoc conversion.

{
-    "page": function(page) {
-        page.content = page.content.replace("<b>", "<strong>")
-            .replace("</b>", "</strong>");
+    "page": function(page) {
+        page.content = page.content.replace("<b>", "<strong>")
+            .replace("</b>", "</strong>");
         return page;
     }
 }
@@ -11652,7 +11652,7 @@ exports[`HonKit snapshots: plugins/hooks.html 1`] = `
 

Hooks callbacks can be asynchronous and return promises.

Example:

{
-    "init": function() {
+    "init": function() {
         return writeSomeFile()
         .then(function() {
             return writeAnotherFile();
@@ -12465,9 +12465,9 @@ exports[`HonKit snapshots: plugins/index.html 1`] = `
 

How to install a plugin?

Once you find a plugin that you want to install, you need to add it to your book.json:

{
-    "plugins": ["myPlugin", "anotherPlugin"]
+    "plugins": ["myPlugin", "anotherPlugin"]
 }
-

You can also specify a specific version using: "myPlugin@0.3.1". By default HonKit will resolve the latest version of the plugin compatbile with the current HonKit version.

+

You can also specify a specific version using: "myPlugin@0.3.1". By default HonKit will resolve the latest version of the plugin compatbile with the current HonKit version.

Configuring plugins

Plugins specific configurations are stored in pluginsConfig. You have to refer to the documentation of the plugin itself for details about the available options.

@@ -13270,10 +13270,10 @@ exports[`HonKit snapshots: plugins/testing.html 1`] = `

Testing your plugin

Testing your plugin locally

Testing your plugin on your book before publishing it is possible using npm link.

-

In the plugin's folder, run:

+

In the plugin's folder, run:

$ npm link
-

Then in your book's folder:

-
$ npm link honkit-plugin-<plugin's name>
+

Then in your book's folder:

+
$ npm link honkit-plugin-<plugin's name>
 

Unit testing on Travis

gitbook-tester makes it easy to write Node.js/Mocha unit tests for your plugins. Using Travis.org, tests can be run on each commits/tags.

@@ -14102,9 +14102,9 @@ $ yarn add honkit --dev

Or build the static website using:

$ npx honkit build
 

You can also define build and serve command in package.json as npm-run-scripts.

-
  "scripts": {
-    "build": "honkit build",
-    "serve": "honkit serve"
+
  "scripts": {
+    "build": "honkit build",
+    "serve": "honkit serve"
   },
 

After this configuration, you can use npm run command.

@@ -14962,10 +14962,10 @@ The format inside those files, follows the same convention as .gitignore

Project integration with subdirectory

-

For software projects, you can use a subdirectory (like docs/) to store the book for the project's documentation. You can configure the root option to indicate the folder where HonKit can find the book's files:

+

For software projects, you can use a subdirectory (like docs/) to store the book for the project's documentation. You can configure the root option to indicate the folder where HonKit can find the book's files:

.
 ├── book.json
 └── docs/
@@ -14973,7 +14973,7 @@ bin/*
     └── SUMMARY.md
 

With book.json containing:

{
-    "root": "./docs"
+    "root": "./docs"
 }
 
@@ -15779,7 +15779,7 @@ exports[`HonKit snapshots: syntax/asciidoc.html 1`] = `

README.adoc

This is the main entry of your book: the introduction. This file is required.

SUMMARY.adoc

-

This file defines the list of chapters and subchapters. Just like in Markdown, the SUMMARY.adoc's format is simply a list of links, the name of the link is used as the chapter's name, and the target is a path to that chapter's file.

+

This file defines the list of chapters and subchapters. Just like in Markdown, the SUMMARY.adoc's format is simply a list of links, the name of the link is used as the chapter's name, and the target is a path to that chapter's file.

Subchapters are defined simply by adding a nested list to a parent chapter.

= Summary
 
@@ -15814,8 +15814,8 @@ observer producing a sense of wonder.
 
 A popular web programming language, used by many large websites such
 as Facebook. Rasmus Lerdorf originally created PHP in 1994 to power
-his personal homepage (PHP originally stood for "Personal Home Page"
-but now stands for "PHP: Hypertext Preprocessor").
+his personal homepage (PHP originally stood for "Personal Home Page"
+but now stands for "PHP: Hypertext Preprocessor").
 
@@ -16633,7 +16633,7 @@ exports[`HonKit snapshots: syntax/markdown.html 1`] = `

Paragraphs and Line Breaks

A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line — a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be indented with spaces or tabs.

-
Here's a line for us to start with.
+
Here's a line for us to start with.
 
 This line is separated from the one above by two newlines, so it will be a *separate paragraph*.
 

Emphasis

@@ -16667,7 +16667,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa

Markdown supports two style of links: inline and reference.

A simple link can be created by surrounding the text with square brackets and the link URL with parentheses:

-
This is [an example](http://example.com/ "Title") inline link with a title.
+
This is [an example](http://example.com/ "Title") inline link with a title.
 
 [This link](http://example.net/) has no title attribute.
 
@@ -16677,7 +16677,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa
This is [an example][id] reference-style link.
 

Then, anywhere in the document, you define your link label like this, on a line by itself:

-
[id]: http://example.com/  "Optional Title Here"
+
[id]: http://example.com/  "Optional Title Here"
 

Images

Images can be created in a similar way than links: just use an exclamation mark before the square brackets. The link text will become the alternative text of the image and the link URL specifies the image source:

@@ -16687,7 +16687,7 @@ This line is separated from the one above by two newlines, so it will be a *sepa

A blockquote is started using the > marker followed by an optional space; all following lines that are also started with the blockquote marker belong to the blockquote. You can use any block-level elements inside a blockquote:

As Kanye West said:
 
-> We're living the future so
+> We're living the future so
 > the present is our past.
 

Tables

@@ -16708,15 +16708,15 @@ This line is separated from the one above by two newlines, so it will be a *sepa

You can create fenced code blocks by placing triple backticks \`\`\` before and after the code block. We recommend placing a blank line before and after code blocks to make the raw formatting easier to read.

\`\`\`
 function test() {
-  console.log("notice the blank line before this function?");
+  console.log("notice the blank line before this function?");
 }
 \`\`\`
 
Syntax highlighting

You can add an optional language identifier to enable syntax highlighting in your fenced code block.

For example, to syntax highlight Ruby code:

\`\`\`ruby
-require 'redcarpet'
-markdown = Redcarpet.new("Hello World!")
+require 'redcarpet'
+markdown = Redcarpet.new("Hello World!")
 puts markdown.to_html
 \`\`\`
 
Inline code
@@ -16748,7 +16748,7 @@ Asterisks

Ignoring Markdown formatting

You can tell HonKit to ignore (or escape) Markdown formatting by using \\ before the Markdown character.

-
Let's rename \\*our-new-project\\* to \\*our-old-project\\*.
+
Let's rename \\*our-new-project\\* to \\*our-old-project\\*.
 

@@ -17549,9 +17549,9 @@ exports[`HonKit snapshots: templating/builtin.html 1`] = `

Builtin Templating Helpers

HonKit provides a serie of builtin filters and blocks to help you write templates.

Filters

-

value|default(default, [boolean])If value is strictly undefined, return default, otherwise value. If boolean is true, any JavaScript falsy value will return default (false, "", etc)

+

value|default(default, [boolean])If value is strictly undefined, return default, otherwise value. If boolean is true, any JavaScript falsy value will return default (false, "", etc)

arr|sort(reverse, caseSens, attr) -Sort arr with JavaScript's arr.sort function. If reverse is true, result will be reversed. Sort is case-insensitive by default, but setting caseSens to true makes it case-sensitive. If attr is passed, will compare attr from each item.

+Sort arr with JavaScript's arr.sort function. If reverse is true, result will be reversed. Sort is case-insensitive by default, but setting caseSens to true makes it case-sensitive. If attr is passed, will compare attr from each item.

Blocks

{% markdown %}Markdown string{% endmarkdown %} Render inline markdown

@@ -18357,19 +18357,19 @@ exports[`HonKit snapshots: templating/conrefs.html 1`] = `

Content References

Content referencing (conref) is a convenient mechanism to reuse content from other files or books.

Importing local files

-

Importing an other file's content is easy using the include tag:

-
{% include "./test.md" %}
+

Importing an other file's content is easy using the include tag:

+
{% include "./test.md" %}
 

Importing file from another book

HonKit can also resolve the include path by using git:

-
{% include "git+https://github.com/GitbookIO/documentation.git/README.md#0.0.1" %}
+
{% include "git+https://github.com/GitbookIO/documentation.git/README.md#0.0.1" %}
 

The format of git url is:

git+https://user@hostname/owner/project.git/file#commit-ish
 

The real git url part should finish with .git, the filename to import is extracted after the .git till the fragment of the url.

The commit-ish can be any tag, sha, or branch which can be supplied as an argument to git checkout. The default is master.

Inheritance

-

Template inheritance is a way to make it easy to reuse templates. When writing a template, you can define "blocks" that child templates can override. The inheritance chain can be as long as you like.

+

Template inheritance is a way to make it easy to reuse templates. When writing a template, you can define "blocks" that child templates can override. The inheritance chain can be as long as you like.

block defines a section on the template and identifies it with a name. Base templates can specify blocks and child templates can override them with new content.

-
{% extends "./mypage.md" %}
+
{% extends "./mypage.md" %}
 
 {% block pageContent %}
 # This is my page content
@@ -18381,7 +18381,7 @@ This is the default content
 
 # License
 
-{% include "./LICENSE" %}
+{% include "./LICENSE" %}
 

@@ -19180,7 +19180,7 @@ exports[`HonKit snapshots: templating/index.html 1`] = `

Templating

-

HonKit uses the Nunjucks templating language to process pages and theme's templates.

+

HonKit uses the Nunjucks templating language to process pages and theme's templates.

The Nunjucks syntax is very similar to Jinja2 or Liquid. Its syntax uses surrounding braces { } to mark content that needs to be processed.

Variables

A variable looks up a value from the template context. If you wanted to simply display a variable, you would use the {{ variable }} syntax. For example :

@@ -19188,25 +19188,25 @@ exports[`HonKit snapshots: templating/index.html 1`] = `

This looks up username from the context and displays it. Variable names can have dots in them which lookup properties, just like JavaScript. You can also use the square bracket syntax.

{{ foo.bar }}
-{{ foo["bar"] }}
+{{ foo["bar"] }}
 

If a value is undefined, nothing is displayed. The following all output nothing if foo is undefined: {{ foo }}, {{ foo.bar }}, {{ foo.bar.baz }}.

HonKit provides a set of predefined variables from the context.

Filters

Filters are essentially functions that can be applied to variables. They are called with a pipe operator (|) and can take arguments.

{{ foo | title }}
-{{ foo | join(",") }}
-{{ foo | replace("foo", "bar") | capitalize }}
+{{ foo | join(",") }}
+{{ foo | replace("foo", "bar") | capitalize }}
 
-

The third example shows how you can chain filters. It would display "Bar", by first replacing "foo" with "bar" and then capitalizing it.

+

The third example shows how you can chain filters. It would display "Bar", by first replacing "foo" with "bar" and then capitalizing it.

Tags

if
-

if tests a condition and lets you selectively display content. It behaves exactly as JavaScript's if behaves.

+

if tests a condition and lets you selectively display content. It behaves exactly as JavaScript's if behaves.

{% if variable %}
   It is true
 {% endif %}
 
-

If variable is defined and evaluates to true, "It is true" will be displayed. Otherwise, nothing will be.

+

If variable is defined and evaluates to true, "It is true" will be displayed. Otherwise, nothing will be.

You can specify alternate conditions with elif and else:

{% if hungry %}
   I am hungry
@@ -19220,13 +19220,13 @@ exports[`HonKit snapshots: templating/index.html 1`] = `
 

for iterates over arrays and dictionaries.

# Chapters about HonKit
 
-{% for article in glossary.terms['gitbook'].articles %}
+{% for article in glossary.terms['gitbook'].articles %}
 * [{{ article.title }}]({{ article.path }})
 {% endfor %}
 
set

set lets you create/modify a variable.

-
{% set softwareVersion = "1.0.0" %}
+
{% set softwareVersion = "1.0.0" %}
 
 Current version is {{ softwareVersion }}.
 [Download it](website.com/download/{{ softwareVersion }})
@@ -19234,7 +19234,7 @@ Current version is {{ softwareVersio
 
include and block

Inclusion and inheritance is detailled in the Content References section.

Escaping

-

If you want HonKit to ignore any of the special templating tags, you can use raw and anything inside of it will be output as plain text.

+

If you want HonKit to ignore any of the special templating tags, you can use raw and anything inside of it will be output as plain text.

{% raw %}
   this will {{ not be processed }}
 {% endraw %}
@@ -20037,7 +20037,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = `
                                 
 
                                 

Variables

-

The following is a reference of the available data during book's parsing and theme generation.

+

The following is a reference of the available data during book's parsing and theme generation.

Global Variables

@@ -20210,7 +20210,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = `
-

Languages are defined by { id: 'en', title: 'English' }.

+

Languages are defined by { id: 'en', title: 'English' }.

Output Variables

@@ -20226,7 +20226,7 @@ exports[`HonKit snapshots: templating/variables.html 1`] = ` - +
output.formatWhen output.name == "ebook", format defines the ebook format that will be generated, possible values are pdf, epub or mobiWhen output.name == "ebook", format defines the ebook format that will be generated, possible values are pdf, epub or mobi
@@ -21087,14 +21087,14 @@ exports[`HonKit snapshots: themes/index.html 1`] = `

Extend/Customize theme in a book

-

Authors can extend the templates of a theme directly from their book's source (without creating an external theme). Templates will be resolved in the _layouts folder of the book first, then in the installed plugins/themes.

+

Authors can extend the templates of a theme directly from their book's source (without creating an external theme). Templates will be resolved in the _layouts folder of the book first, then in the installed plugins/themes.

Extend instead of Forking

When you want to make your theme changes available to multiple books, instead of forking the default theme, you can extend it using the templating syntax:

{% extends template.self %}
 
 {% block body %}
     {{ super() }}
-    ... This will be added to the "body" block
+    ... This will be added to the "body" block
 {% endblock %}
 

Take a look at the API theme for a more complete example.

From e173cf9083b8f0987055d612140ec7a9a0147dd6 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Thu, 21 May 2026 11:57:13 -0400 Subject: [PATCH 12/17] Address server regression --- packages/honkit/src/cli/serve.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/honkit/src/cli/serve.ts b/packages/honkit/src/cli/serve.ts index 1808eab98..d18c0c2c7 100644 --- a/packages/honkit/src/cli/serve.ts +++ b/packages/honkit/src/cli/serve.ts @@ -17,6 +17,14 @@ import fs from "fs"; let server, lrServer, lrPath; +function startLiveReloadServer(port: number) { + const d = Promise.defer(); + lrServer = livereload.createServer({ port, noListen: true }); + lrServer.once("error", (err: Error) => d.reject(err)); + lrServer.listen(() => d.resolve()); + return d.promise; +} + function triggerLiveReload() { if (lrPath && lrServer) { lrServer.refresh(lrPath); @@ -197,18 +205,16 @@ export default { return Promise() .then(() => { - if (!hasWatch || !hasLiveReloading || kwargs.lrport === 0) { + if (!hasWatch || !hasLiveReloading || Number(kwargs.lrport) === 0) { return; } - lrServer = livereload.createServer({ - port: kwargs.lrport + const lrport = Number(kwargs.lrport); + return startLiveReloadServer(lrport).then(() => { + console.log("Live reload server started on port:", lrport); + console.log("Press CTRL+C to quit ..."); + console.log(""); }); - - console.log("Live reload server started on port:", kwargs.lrport); - console.log("Press CTRL+C to quit ..."); - console.log(""); - return Promise(); }) .then(() => { return startServer(args, kwargs); From f428c6134188596da505e704a08d19fe36637435 Mon Sep 17 00:00:00 2001 From: piyo Date: Mon, 25 May 2026 21:42:20 +0900 Subject: [PATCH 13/17] fix(api): replace .get("content") with .then() in renderBlock and renderInline (#517) `renderBlock` and `renderInline` called `.get("content")` on the promise returned by `parsePage()` / `parseInline()`, relying on q's built-in property-access helper. Since #508 removed q and replaced it with `extendPromise`, `.get()` is no longer available on those promises, property-access helper. Since #508 removed q and replaced it with `extendPromise`, `.get()` is no longer available on those promises, causing a TypeError at runtime when any plugin calls `this.renderBlock()`. Replace with `.then((result) => result.content)` to use the standard --- packages/honkit/src/api/encodeGlobal.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/honkit/src/api/encodeGlobal.ts b/packages/honkit/src/api/encodeGlobal.ts index c1edca65e..5abbe4fc7 100644 --- a/packages/honkit/src/api/encodeGlobal.ts +++ b/packages/honkit/src/api/encodeGlobal.ts @@ -106,7 +106,7 @@ function encodeGlobal(output) { renderBlock: function (type: string, text: string, options: ParserOptions) { const parser = parsers.get(type); - return parser.parsePage(text, options).get("content"); + return parser.parsePage(text, options).then((result) => result.content); }, /** @@ -120,7 +120,7 @@ function encodeGlobal(output) { renderInline: function (type: string, text: string, options: ParserOptions) { const parser = parsers.get(type); - return parser.parseInline(text, options).get("content"); + return parser.parseInline(text, options).then((result) => result.content); }, template: { From 02a48978ed2743d04f37587a8cd16e9d334a3c90 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 May 2026 21:48:11 +0900 Subject: [PATCH 14/17] chore: release v6.2.1 (#518) Co-authored-by: azu <19714+azu@users.noreply.github.com> --- examples/benchmark/package.json | 2 +- examples/book/package.json | 2 +- examples/multiple-languages/package.json | 2 +- package.json | 2 +- packages/@honkit/asciidoc/package.json | 2 +- packages/@honkit/cleaning-tools/package.json | 2 +- packages/@honkit/honkit-plugin-fontsettings/package.json | 2 +- packages/@honkit/honkit-plugin-highlight/package.json | 2 +- packages/@honkit/html/package.json | 2 +- packages/@honkit/internal-test-utils/package.json | 2 +- packages/@honkit/markdown-legacy/package.json | 2 +- packages/@honkit/markdown/package.json | 2 +- packages/@honkit/markup-it/package.json | 2 +- packages/@honkit/theme-default/package.json | 2 +- packages/@honkit/theme/package.json | 2 +- packages/honkit/package.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/benchmark/package.json b/examples/benchmark/package.json index a07692fe1..3340e57f7 100644 --- a/examples/benchmark/package.json +++ b/examples/benchmark/package.json @@ -1,6 +1,6 @@ { "name": "@example/benchmark", - "version": "6.2.0", + "version": "6.2.1", "private": true, "description": "benchmark book", "license": "MIT", diff --git a/examples/book/package.json b/examples/book/package.json index a699184d8..90280f08b 100644 --- a/examples/book/package.json +++ b/examples/book/package.json @@ -1,6 +1,6 @@ { "name": "@example/book", - "version": "6.2.0", + "version": "6.2.1", "private": true, "description": "", "keywords": [], diff --git a/examples/multiple-languages/package.json b/examples/multiple-languages/package.json index e16228524..dffdcb72c 100644 --- a/examples/multiple-languages/package.json +++ b/examples/multiple-languages/package.json @@ -1,6 +1,6 @@ { "name": "@example/multiple-languages", - "version": "6.2.0", + "version": "6.2.1", "private": true, "description": "", "keywords": [], diff --git a/package.json b/package.json index a64c8f15c..da4bd0ebd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "honkit-root", - "version": "6.2.0", + "version": "6.2.1", "private": true, "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/asciidoc/package.json b/packages/@honkit/asciidoc/package.json index e6e01452e..18d7ec411 100755 --- a/packages/@honkit/asciidoc/package.json +++ b/packages/@honkit/asciidoc/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/asciidoc", - "version": "6.2.0", + "version": "6.2.1", "description": "Parse AsciiDoc content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/cleaning-tools/package.json b/packages/@honkit/cleaning-tools/package.json index ab0f2cb7c..b7c671e2f 100644 --- a/packages/@honkit/cleaning-tools/package.json +++ b/packages/@honkit/cleaning-tools/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/cleaning-tools", - "version": "6.2.0", + "version": "6.2.1", "type": "module", "description": "Shared eslint and prettier configs for HonKit packages.", "private": true, diff --git a/packages/@honkit/honkit-plugin-fontsettings/package.json b/packages/@honkit/honkit-plugin-fontsettings/package.json index 2fa2b1abb..1233ce2be 100644 --- a/packages/@honkit/honkit-plugin-fontsettings/package.json +++ b/packages/@honkit/honkit-plugin-fontsettings/package.json @@ -2,7 +2,7 @@ "name": "@honkit/honkit-plugin-fontsettings", "description": "Fonts and colors themes settings the website for a better reading experience", "main": "index.js", - "version": "6.2.0", + "version": "6.2.1", "license": "Apache-2.0", "homepage": "https://github.com/honkit/honkit", "engines": { diff --git a/packages/@honkit/honkit-plugin-highlight/package.json b/packages/@honkit/honkit-plugin-highlight/package.json index 4ea4001dc..71a5e0331 100644 --- a/packages/@honkit/honkit-plugin-highlight/package.json +++ b/packages/@honkit/honkit-plugin-highlight/package.json @@ -1,7 +1,7 @@ { "name": "@honkit/honkit-plugin-highlight", "description": "Default code highlighter for HonKit", - "version": "6.2.0", + "version": "6.2.1", "homepage": "https://github.com/honkit/honkit", "repository": { "type": "git", diff --git a/packages/@honkit/html/package.json b/packages/@honkit/html/package.json index 6bfcc24e7..68de298b5 100644 --- a/packages/@honkit/html/package.json +++ b/packages/@honkit/html/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/html", - "version": "6.2.0", + "version": "6.2.1", "description": "Parse HTML content for gitbook", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/internal-test-utils/package.json b/packages/@honkit/internal-test-utils/package.json index 0833ea5c5..320adb377 100644 --- a/packages/@honkit/internal-test-utils/package.json +++ b/packages/@honkit/internal-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/internal-test-utils", - "version": "6.2.0", + "version": "6.2.1", "description": "Internal utility for testing.", "homepage": "https://github.com/honkit/honkit/tree/master/packages/@honkit/internal-test-utils/", "bugs": { diff --git a/packages/@honkit/markdown-legacy/package.json b/packages/@honkit/markdown-legacy/package.json index 3574dca53..97927d9df 100644 --- a/packages/@honkit/markdown-legacy/package.json +++ b/packages/@honkit/markdown-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown-legacy", - "version": "6.2.0", + "version": "6.2.1", "description": "Parse markdown content for HonKit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markdown/package.json b/packages/@honkit/markdown/package.json index 193f5b1f5..b69b4944e 100644 --- a/packages/@honkit/markdown/package.json +++ b/packages/@honkit/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markdown", - "version": "6.2.0", + "version": "6.2.1", "description": "Parse markdown content for honkit", "homepage": "https://github.com/honkit/honkit", "bugs": { diff --git a/packages/@honkit/markup-it/package.json b/packages/@honkit/markup-it/package.json index 764a81f6d..e3d11a8ca 100644 --- a/packages/@honkit/markup-it/package.json +++ b/packages/@honkit/markup-it/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/markup-it", - "version": "6.2.0", + "version": "6.2.1", "description": "Pipeline for working with markup input (for example Markdown)", "keywords": [ "draft-js", diff --git a/packages/@honkit/theme-default/package.json b/packages/@honkit/theme-default/package.json index bfe1423fa..74bb127de 100644 --- a/packages/@honkit/theme-default/package.json +++ b/packages/@honkit/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme-default", - "version": "6.2.0", + "version": "6.2.1", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/@honkit/theme/package.json b/packages/@honkit/theme/package.json index 867c43060..133bac740 100644 --- a/packages/@honkit/theme/package.json +++ b/packages/@honkit/theme/package.json @@ -1,6 +1,6 @@ { "name": "@honkit/honkit-plugin-theme", - "version": "6.2.0", + "version": "6.2.1", "description": "Default theme for HonKit", "bugs": { "url": "https://github.com/honkit/honkit/issues" diff --git a/packages/honkit/package.json b/packages/honkit/package.json index d1640c292..3e7cd0adf 100644 --- a/packages/honkit/package.json +++ b/packages/honkit/package.json @@ -1,6 +1,6 @@ { "name": "honkit", - "version": "6.2.0", + "version": "6.2.1", "description": "HonKit is building beautiful books using Markdown.", "keywords": [ "git", From 5b895ef0b3612dc2d40d8167f77c34dbfa67f2af Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Tue, 26 May 2026 19:34:10 -0400 Subject: [PATCH 15/17] Use latest packages, update install report --- pnpm-lock.yaml | 548 ++++++++++++++++++++++---------------------- reports/install.log | 28 +-- 2 files changed, 282 insertions(+), 294 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82c0ed8fa..263c292d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,7 +70,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) examples/book: devDependencies: @@ -101,7 +101,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/cleaning-tools: devDependencies: @@ -154,7 +154,7 @@ importers: devDependencies: mocha: specifier: ^11.7.4 - version: 11.7.5 + version: 11.7.6 rimraf: specifier: ^6.0.1 version: 6.1.3 @@ -203,7 +203,7 @@ importers: version: 29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)) ts-jest: specifier: ^29.2.5 - version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/markdown-legacy: dependencies: @@ -271,7 +271,7 @@ importers: version: 13.2.3 ts-jest: specifier: ^29.2.5 - version: 29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3) packages/@honkit/theme: devDependencies: @@ -382,7 +382,7 @@ importers: version: 3.8.0 dayjs: specifier: ^1.11.13 - version: 1.11.20 + version: 1.11.21 destroy: specifier: ^1.2.0 version: 1.2.0 @@ -475,7 +475,7 @@ importers: version: 1.22.12 semver: specifier: ^7.6.3 - version: 7.8.0 + version: 7.8.1 send: specifier: ^0.19.2 version: 0.19.2 @@ -533,62 +533,62 @@ packages: '@azu/format-text@1.0.2': resolution: {integrity: sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg==} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} engines: {node: '>=6.0.0'} hasBin: true @@ -613,8 +613,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.28.6': - resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -629,8 +629,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.28.6': - resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -677,22 +677,22 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.28.6': - resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -1288,8 +1288,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.31: - resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==} + baseline-browser-mapping@2.10.32: + resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==} engines: {node: '>=6.0.0'} hasBin: true @@ -1306,11 +1306,11 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@1.1.14: - resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} + brace-expansion@1.1.15: + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} - brace-expansion@2.1.0: - resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} + brace-expansion@2.1.1: + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} brace-expansion@5.0.6: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} @@ -1570,8 +1570,8 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -1707,8 +1707,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.360: - resolution: {integrity: sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==} + electron-to-chromium@1.5.362: + resolution: {integrity: sha512-PUY2DrLvkjkUuWqq+KPL2iWshrJsZOcIojzRQ7eXFacc9dWga7MGMJAa15VbiejSZB1PAXaRLAiKgruHP8LB1w==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1771,8 +1771,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: @@ -2859,8 +2859,8 @@ packages: engines: {node: '>=10'} hasBin: true - mocha@11.7.5: - resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} + mocha@11.7.6: + resolution: {integrity: sha512-nS9xOGbw2I3cjCpxwZAEJ9xK9lmJ08vEkQvLtz4du9ZrF9UrjRpeJGiIgl2Z+Qs++pmB4ecDe48Fwsh+j+j7xA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -2905,8 +2905,8 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.45: - resolution: {integrity: sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg==} + node-releases@2.0.46: + resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==} engines: {node: '>=18'} normalize-package-data@2.5.0: @@ -3337,8 +3337,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + semver@7.8.1: + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} engines: {node: '>=10'} hasBin: true @@ -3380,8 +3380,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + shell-quote@1.8.4: + resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} engines: {node: '>= 0.4'} should-equal@2.0.0: @@ -3575,8 +3575,8 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - tinyexec@1.1.2: - resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + tinyexec@1.2.2: + resolution: {integrity: sha512-M/Q0B2cp4K7kynaT/vnED1j8TlLY+Pp7C6Wl2bl/7u/F0mUVwdyOpwomQb8JpYLitHUssAJRmLZdMCGsrx7i+g==} engines: {node: '>=18'} tldts-core@6.1.86: @@ -3620,8 +3620,8 @@ packages: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} - ts-jest@29.4.10: - resolution: {integrity: sha512-vMTlTTtvz5aKZgzOoc7DQ5TzAL2fCzl8JnG1+ZpwjQa/g0xLlwE44yQ+1Cao9ZP1xVv9y5g34IFXEiqGOGFBUA==} + ts-jest@29.4.11: + resolution: {integrity: sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3720,8 +3720,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.25.0: - resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} + undici@7.26.0: + resolution: {integrity: sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==} engines: {node: '>=20.18.1'} unxhr@1.2.0: @@ -3801,8 +3801,8 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + which-typed-array@1.1.21: + resolution: {integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==} engines: {node: '>= 0.4'} which@1.3.1: @@ -3836,8 +3836,8 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - ws@8.20.1: - resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -3924,25 +3924,25 @@ snapshots: '@azu/format-text@1.0.2': {} - '@babel/code-frame@7.29.0': + '@babel/code-frame@7.29.7': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.3': {} + '@babel/compat-data@7.29.7': {} - '@babel/core@7.29.0': + '@babel/core@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -3952,164 +3952,164 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.1': + '@babel/generator@7.29.7': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.28.6': + '@babel/helper-compilation-targets@7.29.7': dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-globals@7.28.0': {} + '@babel/helper-globals@7.29.7': {} - '@babel/helper-module-imports@7.28.6': + '@babel/helper-module-imports@7.29.7': dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.28.6': {} + '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} - '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-validator-option@7.29.7': {} - '@babel/helpers@7.29.2': + '@babel/helpers@7.29.7': dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 - '@babel/parser@7.29.3': + '@babel/parser@7.29.7': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/template@7.28.6': + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/types@7.29.0': + '@babel/types@7.29.7': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 '@bcoe/v8-coverage@0.2.3': {} @@ -4422,7 +4422,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 6.1.1 @@ -4513,24 +4513,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.7 '@types/estree@1.0.9': {} @@ -4679,13 +4679,13 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - babel-jest@29.7.0(@babel/core@7.29.0): + babel-jest@29.7.0(@babel/core@7.29.7): dependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.29.0) + babel-preset-jest: 29.6.3(@babel/core@7.29.7) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -4694,7 +4694,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.6 istanbul-lib-instrument: 5.2.1 @@ -4704,35 +4704,35 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 - babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0) - - babel-preset-jest@29.6.3(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) + + babel-preset-jest@29.6.3(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) balanced-match@1.0.2: {} @@ -4740,7 +4740,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.31: {} + baseline-browser-mapping@2.10.32: {} bash-color@0.0.4: {} @@ -4753,12 +4753,12 @@ snapshots: boolbase@1.0.0: {} - brace-expansion@1.1.14: + brace-expansion@1.1.15: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.1.0: + brace-expansion@2.1.1: dependencies: balanced-match: 1.0.2 @@ -4774,10 +4774,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.31 + baseline-browser-mapping: 2.10.32 caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.360 - node-releases: 2.0.45 + electron-to-chromium: 1.5.362 + node-releases: 2.0.46 update-browserslist-db: 1.2.3(browserslist@4.28.2) bs-logger@0.2.6: @@ -4886,7 +4886,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.25.0 + undici: 7.26.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -5100,7 +5100,7 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 - dayjs@1.11.20: {} + dayjs@1.11.21: {} debug@2.6.9: dependencies: @@ -5216,7 +5216,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.360: {} + electron-to-chromium@1.5.362: {} emittery@0.13.1: {} @@ -5269,7 +5269,7 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 @@ -5312,13 +5312,13 @@ snapshots: typed-array-byte-offset: 1.0.4 typed-array-length: 1.0.7 unbox-primitive: 1.1.0 - which-typed-array: 1.1.20 + which-typed-array: 1.1.21 es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-object-atoms@1.1.1: + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -5572,7 +5572,7 @@ snapshots: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 @@ -5585,7 +5585,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@6.0.1: {} @@ -5939,7 +5939,7 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.20 + which-typed-array: 1.1.21 is-unicode-supported@0.1.0: {} @@ -5974,8 +5974,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.3 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -5984,11 +5984,11 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.3 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.0 + semver: 7.8.1 transitivePeerDependencies: - supports-color @@ -6064,10 +6064,10 @@ snapshots: jest-config@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)): dependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.29.0) + babel-jest: 29.7.0(@babel/core@7.29.7) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -6153,7 +6153,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -6253,15 +6253,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -6272,7 +6272,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.8.0 + semver: 7.8.1 transitivePeerDependencies: - supports-color @@ -6357,7 +6357,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.20.1 + ws: 8.21.0 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -6451,7 +6451,7 @@ snapshots: listr2: 9.0.5 picomatch: 4.0.4 string-argv: 0.3.2 - tinyexec: 1.1.2 + tinyexec: 1.2.2 yaml: 2.9.0 listr2@9.0.5: @@ -6470,7 +6470,7 @@ snapshots: chokidar: 4.0.3 livereload-js: 4.0.2 opts: 2.0.2 - ws: 8.20.1 + ws: 8.21.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -6547,7 +6547,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.8.0 + semver: 7.8.1 make-error@1.3.6: {} @@ -6621,11 +6621,11 @@ snapshots: minimatch@3.1.5: dependencies: - brace-expansion: 1.1.14 + brace-expansion: 1.1.15 minimatch@9.0.9: dependencies: - brace-expansion: 2.1.0 + brace-expansion: 2.1.1 minimist-options@3.0.2: dependencies: @@ -6644,7 +6644,7 @@ snapshots: mkdirp@1.0.4: {} - mocha@11.7.5: + mocha@11.7.6: dependencies: browser-stdout: 1.3.1 chokidar: 4.0.3 @@ -6697,7 +6697,7 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.45: {} + node-releases@2.0.46: {} normalize-package-data@2.5.0: dependencies: @@ -6710,7 +6710,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.2 - semver: 7.8.0 + semver: 7.8.1 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -6724,7 +6724,7 @@ snapshots: minimatch: 3.1.5 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.8.3 + shell-quote: 1.8.4 string.prototype.padend: 3.1.6 npm-run-path@4.0.1: @@ -6760,7 +6760,7 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -6862,7 +6862,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7027,7 +7027,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -7114,7 +7114,7 @@ snapshots: semver@6.3.1: {} - semver@7.8.0: {} + semver@7.8.1: {} send@0.19.2: dependencies: @@ -7158,7 +7158,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 setprototypeof@1.2.0: {} @@ -7174,7 +7174,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} + shell-quote@1.8.4: {} should-equal@2.0.0: dependencies: @@ -7317,7 +7317,7 @@ snapshots: call-bind: 1.0.9 define-properties: 1.2.1 es-abstract: 1.24.2 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trim@1.2.10: dependencies: @@ -7326,7 +7326,7 @@ snapshots: define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.24.2 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: @@ -7334,13 +7334,13 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 strip-ansi@6.0.1: dependencies: @@ -7384,7 +7384,7 @@ snapshots: glob: 13.0.6 minimatch: 3.1.5 - tinyexec@1.1.2: {} + tinyexec@1.2.2: {} tldts-core@6.1.86: {} @@ -7416,7 +7416,7 @@ snapshots: trim-newlines@4.1.1: {} - ts-jest@29.4.10(@babel/core@7.29.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.0))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.11(@babel/core@7.29.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.29.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.19.19)(ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -7425,15 +7425,15 @@ snapshots: json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.8.0 + semver: 7.8.1 type-fest: 4.41.0 typescript: 5.9.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.29.0) + babel-jest: 29.7.0(@babel/core@7.29.7) jest-util: 29.7.0 ts-node@10.9.2(@types/node@22.19.19)(typescript@5.9.3): @@ -7517,7 +7517,7 @@ snapshots: undici-types@6.21.0: {} - undici@7.25.0: {} + undici@7.26.0: {} unxhr@1.2.0: {} @@ -7612,7 +7612,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.20 + which-typed-array: 1.1.21 which-collection@1.0.2: dependencies: @@ -7621,7 +7621,7 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 - which-typed-array@1.1.20: + which-typed-array@1.1.21: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.9 @@ -7662,7 +7662,7 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@8.20.1: {} + ws@8.21.0: {} xml-name-validator@5.0.0: {} diff --git a/reports/install.log b/reports/install.log index d5cc86fb5..1cd4a85e9 100644 --- a/reports/install.log +++ b/reports/install.log @@ -1,29 +1,17 @@ $ pnpm install Scope: all 16 workspace projects -(node:53031) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(node:47771) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) Progress: resolved 1, reused 0, downloaded 0, added 0 - - ╭──────────────────────────────────────────────────────────────────╮ - │ │ - │ Update available! 9.12.0 → 11.1.3. │ - │ Changelog: https://github.com/pnpm/pnpm/releases/tag/v11.1.3 │ - │ Run "corepack install -g pnpm@11.1.3" to update. │ - │ │ - │ Follow @pnpmjs for updates: https://x.com/pnpmjs │ - │ │ - ╰──────────────────────────────────────────────────────────────────╯ - -Progress: resolved 98, reused 96, downloaded 1, added 0 -Progress: resolved 406, reused 379, downloaded 1, added 0 -Progress: resolved 758, reused 731, downloaded 2, added 0 +Progress: resolved 89, reused 89, downloaded 0, added 0 +Progress: resolved 368, reused 343, downloaded 0, added 0 +Progress: resolved 684, reused 659, downloaded 0, added 0  WARN  1 deprecated subdependencies found: whatwg-encoding@3.1.1 Packages: +816 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Progress: resolved 841, reused 811, downloaded 5, added 184 -Progress: resolved 841, reused 811, downloaded 5, added 501 -Progress: resolved 841, reused 811, downloaded 5, added 699 -Progress: resolved 841, reused 811, downloaded 5, added 816, done +Progress: resolved 841, reused 816, downloaded 0, added 168 +Progress: resolved 841, reused 816, downloaded 0, added 605 +Progress: resolved 841, reused 816, downloaded 0, added 816, done . prepare$ git config --local core.hooksPath .githooks . prepare: Done @@ -35,4 +23,4 @@ devDependencies: + prettier 3.8.3 + typescript 5.9.3 (6.0.3 is available) -Done in 7.9s +Done in 6.8s From ca40ae5810aedb517f497e1e868c23b42139ccd7 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Thu, 28 May 2026 05:47:37 -0400 Subject: [PATCH 16/17] Fix issue with generated content and livereload --- packages/honkit/src/cli/serve.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/honkit/src/cli/serve.ts b/packages/honkit/src/cli/serve.ts index d18c0c2c7..d1755b4b3 100644 --- a/packages/honkit/src/cli/serve.ts +++ b/packages/honkit/src/cli/serve.ts @@ -44,11 +44,12 @@ function waitForCtrlC() { function startServer(args, kwargs) { const outputFolder = getOutputFolder(args); const port = kwargs.port; + const lrport = Number(kwargs.lrport); const browser = kwargs["browser"]; const book = getBook(args, kwargs); const hasWatch = kwargs["watch"]; const hasOpen = kwargs["open"]; - const hasLiveReloading = kwargs["live"]; + const hasLiveReloading = kwargs["live"] && lrport !== 0; const reload = kwargs["reload"]; const Generator = Output.getGenerator(kwargs.format); const logger = book.getLogger(); @@ -200,16 +201,16 @@ export default { ], exec: function (args, kwargs) { server = new Server(); + const lrport = Number(kwargs.lrport); const hasWatch = kwargs["watch"]; - const hasLiveReloading = kwargs["live"]; + const hasLiveReloading = kwargs["live"] && lrport !== 0; return Promise() .then(() => { - if (!hasWatch || !hasLiveReloading || Number(kwargs.lrport) === 0) { + if (!hasWatch || !hasLiveReloading) { return; } - const lrport = Number(kwargs.lrport); return startLiveReloadServer(lrport).then(() => { console.log("Live reload server started on port:", lrport); console.log("Press CTRL+C to quit ..."); From 7abb9c16e275896ef698d1e63410073c3247fae7 Mon Sep 17 00:00:00 2001 From: Eric Martindale Date: Thu, 28 May 2026 07:31:26 -0400 Subject: [PATCH 17/17] Update package lock file, install report --- pnpm-lock.yaml | 16 ++++++++-------- reports/install.log | 19 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 263c292d8..abf2176eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1707,8 +1707,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.362: - resolution: {integrity: sha512-PUY2DrLvkjkUuWqq+KPL2iWshrJsZOcIojzRQ7eXFacc9dWga7MGMJAa15VbiejSZB1PAXaRLAiKgruHP8LB1w==} + electron-to-chromium@1.5.363: + resolution: {integrity: sha512-VjUKPyWzGnT1fujlkEGC/BvN70Hh70KXtAqcmniXviYlJC/ivcT+BWGPyxWVbJZLfvtKR6dqg1L7T7pgAMBtWA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -2727,8 +2727,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.5.0: - resolution: {integrity: sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==} + lru-cache@11.5.1: + resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -4776,7 +4776,7 @@ snapshots: dependencies: baseline-browser-mapping: 2.10.32 caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.362 + electron-to-chromium: 1.5.363 node-releases: 2.0.46 update-browserslist-db: 1.2.3(browserslist@4.28.2) @@ -5216,7 +5216,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.362: {} + electron-to-chromium@1.5.363: {} emittery@0.13.1: {} @@ -6521,7 +6521,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.5.0: {} + lru-cache@11.5.1: {} lru-cache@5.1.1: dependencies: @@ -6902,7 +6902,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.5.0 + lru-cache: 11.5.1 minipass: 7.1.3 path-type@3.0.0: diff --git a/reports/install.log b/reports/install.log index 1cd4a85e9..808ffc082 100644 --- a/reports/install.log +++ b/reports/install.log @@ -1,26 +1,27 @@ $ pnpm install Scope: all 16 workspace projects -(node:47771) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. +(node:67416) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities. (Use `node --trace-deprecation ...` to show where the warning was created) Progress: resolved 1, reused 0, downloaded 0, added 0 -Progress: resolved 89, reused 89, downloaded 0, added 0 -Progress: resolved 368, reused 343, downloaded 0, added 0 -Progress: resolved 684, reused 659, downloaded 0, added 0 +Progress: resolved 125, reused 124, downloaded 0, added 0 +Progress: resolved 415, reused 389, downloaded 0, added 0 +Progress: resolved 739, reused 714, downloaded 0, added 0  WARN  1 deprecated subdependencies found: whatwg-encoding@3.1.1 Packages: +816 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Progress: resolved 841, reused 816, downloaded 0, added 168 -Progress: resolved 841, reused 816, downloaded 0, added 605 +Progress: resolved 841, reused 816, downloaded 0, added 39 +Progress: resolved 841, reused 816, downloaded 0, added 489 +Progress: resolved 841, reused 816, downloaded 0, added 815 Progress: resolved 841, reused 816, downloaded 0, added 816, done . prepare$ git config --local core.hooksPath .githooks . prepare: Done devDependencies: -+ @honkit/cleaning-tools 6.2.0 <- packages/@honkit/cleaning-tools ++ @honkit/cleaning-tools 6.2.1 <- packages/@honkit/cleaning-tools + eslint 9.39.4 (10.4.0 is available) -+ honkit 6.2.0 <- packages/honkit ++ honkit 6.2.1 <- packages/honkit + lint-staged 16.4.0 (17.0.5 is available) + prettier 3.8.3 + typescript 5.9.3 (6.0.3 is available) -Done in 6.8s +Done in 7.2s