From ac917caa5537773a1ab2932d6244fd7d5ccf4535 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 3 Oct 2024 23:49:31 +0800 Subject: [PATCH 001/223] Enter prerelease mode --- .changeset/config.json | 2 +- .changeset/pre.json | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .changeset/pre.json diff --git a/.changeset/config.json b/.changeset/config.json index e64346c9e..69f6a6bbd 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -3,7 +3,7 @@ "@changesets/changelog-github", { "repo": "changesets/changesets" } ], - "baseBranch": "main", + "baseBranch": "next", "commit": false, "access": "public", "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..82d95158c --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,28 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@changesets/apply-release-plan": "7.0.5", + "@changesets/assemble-release-plan": "6.0.4", + "@changesets/changelog-git": "0.2.0", + "@changesets/changelog-github": "0.5.0", + "@changesets/cli": "2.27.8", + "@changesets/config": "3.0.3", + "@changesets/errors": "0.2.0", + "@changesets/get-dependents-graph": "2.1.2", + "@changesets/get-github-info": "0.6.0", + "@changesets/get-release-plan": "4.0.4", + "@changesets/get-version-range-type": "0.4.0", + "@changesets/git": "3.0.1", + "@changesets/logger": "0.1.1", + "@changesets/parse": "0.4.0", + "@changesets/pre": "2.0.1", + "@changesets/read": "0.6.1", + "@changesets/release-utils": "0.2.1", + "@changesets/should-skip-package": "0.1.1", + "@changesets/types": "6.0.0", + "@changesets/write": "0.3.2", + "@changesets/test-utils": "0.0.7" + }, + "changesets": [] +} From e0e1748369b1f936c665b62590a76a0d57d1545e Mon Sep 17 00:00:00 2001 From: pralkarz <31964869+ziebam@users.noreply.github.com> Date: Sat, 5 Oct 2024 08:54:17 +0200 Subject: [PATCH 002/223] Remove `fs-extra` (#1476) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove `fs-extra` from `packages/cli` One file left because it depends on other packages. * Remove `fs-extra` from `packages/apply-release-plan` * Remove `fs-extra` from `packages/config` * Remove `fs-extra` from `packages/git` * Remove `fs-extra` from `packages/pre` * Remove `fs-extra` from `packages/read` * Remove `fs-extra` from `packages/release-utils` * Remove `fs-extra` from `packages/write` * Remove `fs-extra` from `scripts/test-utils` * Finalize version.test.ts change * Remove @types/fs-extra * Move common helpers to test-utils * Update `enquirer` version This is needed due to a conflict with Node types that was fixed in 2.3.4. Also dedupes the dependency, so overall a net positive. See: https://github.com/enquirer/enquirer/blob/master/CHANGELOG.md#234---2020-01-13 * remove `fs` mocks * Change to default imports * Add a changeset * use single fs module * fix silly mistake * fmt --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/afraid-radios-fetch.md | 13 ++ package.json | 2 +- packages/apply-release-plan/package.json | 1 - packages/apply-release-plan/src/index.test.ts | 115 +++++------ packages/apply-release-plan/src/index.ts | 89 +++++---- packages/cli/package.json | 3 +- .../src/commands/init/__tests__/command.ts | 38 ++-- packages/cli/src/commands/init/index.ts | 19 +- packages/cli/src/commands/pre/index.test.ts | 42 ++-- .../src/commands/status/__tests__/status.ts | 26 +-- packages/cli/src/commands/status/index.ts | 2 +- .../cli/src/commands/version/version.test.ts | 188 +++++++++--------- packages/cli/src/run.ts | 15 +- .../cli/src/utils/v1-legacy/removeFolders.ts | 4 +- packages/config/package.json | 1 - packages/config/src/index.ts | 6 +- packages/git/package.json | 3 +- packages/git/src/index.test.ts | 54 +++-- packages/git/src/index.ts | 9 +- packages/pre/package.json | 3 +- packages/pre/src/index.test.ts | 23 ++- packages/pre/src/index.ts | 14 +- packages/read/package.json | 1 - packages/read/src/index.test.ts | 4 +- packages/read/src/index.ts | 7 +- packages/read/src/legacy.ts | 12 +- packages/release-utils/package.json | 1 - packages/release-utils/src/run.test.ts | 18 +- packages/write/package.json | 1 - packages/write/src/index.test.ts | 6 +- packages/write/src/index.ts | 5 +- scripts/test-utils/package.json | 1 - scripts/test-utils/src/index.ts | 23 ++- yarn.lock | 31 ++- 34 files changed, 428 insertions(+), 352 deletions(-) create mode 100644 .changeset/afraid-radios-fetch.md diff --git a/.changeset/afraid-radios-fetch.md b/.changeset/afraid-radios-fetch.md new file mode 100644 index 000000000..e4f3108c7 --- /dev/null +++ b/.changeset/afraid-radios-fetch.md @@ -0,0 +1,13 @@ +--- +"@changesets/apply-release-plan": patch +"@changesets/release-utils": patch +"@changesets/test-utils": patch +"@changesets/config": patch +"@changesets/write": patch +"@changesets/read": patch +"@changesets/cli": patch +"@changesets/git": patch +"@changesets/pre": patch +--- + +Replace `fs-extra` usage with `node:fs` diff --git a/package.json b/package.json index cf7f86d15..c5dba9e25 100644 --- a/package.json +++ b/package.json @@ -40,11 +40,11 @@ "@babel/preset-typescript": "^7.18.6", "@manypkg/cli": "^0.19.1", "@preconstruct/cli": "^2.8.1", - "@types/fs-extra": "^5.1.0", "@types/jest": "^24.0.12", "@types/jest-in-case": "^1.0.6", "@types/js-yaml": "^3.12.1", "@types/lodash": "^4.14.136", + "@types/node": "^22.7.4", "@types/prettier": "^2.7.1", "@types/semver": "^7.5.0", "@typescript-eslint/eslint-plugin": "^5.43.0", diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index efb573069..e4f965e6b 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -26,7 +26,6 @@ "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", "lodash.startcase": "^4.4.0", "outdent": "^0.5.0", "prettier": "^2.7.1", diff --git a/packages/apply-release-plan/src/index.test.ts b/packages/apply-release-plan/src/index.test.ts index 7213f71e9..a3274b4f7 100644 --- a/packages/apply-release-plan/src/index.test.ts +++ b/packages/apply-release-plan/src/index.test.ts @@ -5,7 +5,7 @@ import { ComprehensiveRelease, } from "@changesets/types"; import * as git from "@changesets/git"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import outdent from "outdent"; import spawn from "spawndamnit"; @@ -17,6 +17,8 @@ import { temporarilySilenceLogs, testdir, Fixture, + outputFile, + pathExists, } from "@changesets/test-utils"; class FakeReleasePlan { @@ -128,6 +130,10 @@ async function testSetup( }; } +async function readJson(path: string) { + return JSON.parse(await fs.readFile(path, "utf8")); +} + describe("apply release plan", () => { describe("versioning", () => { describe("formatting", () => { @@ -253,7 +259,7 @@ describe("apply release plan", () => { ); if (!pkgPath) throw new Error(`could not find an updated package json`); - let pkgJSON = await fs.readJSON(pkgPath); + let pkgJSON = await readJson(pkgPath); expect(pkgJSON).toMatchObject({ name: "pkg-a", @@ -305,7 +311,7 @@ describe("apply release plan", () => { ); if (!pkgPath) throw new Error(`could not find an updated package json`); - let pkgJSON = await fs.readJSON(pkgPath); + let pkgJSON = await readJson(pkgPath); expect(pkgJSON).toEqual({ name: "pkg-a", @@ -360,7 +366,7 @@ describe("apply release plan", () => { ); if (!pkgPath) throw new Error(`could not find an updated package json`); - let pkgJSON = await fs.readJSON(pkgPath); + let pkgJSON = await readJson(pkgPath); expect(pkgJSON).toEqual({ name: "pkg-a", @@ -449,7 +455,7 @@ describe("apply release plan", () => { ); if (!pkgPath) throw new Error(`could not find an updated package json`); - let pkgJSON = await fs.readJSON(pkgPath); + let pkgJSON = await readJson(pkgPath); expect(pkgJSON).toEqual({ name: "pkg-a", @@ -526,7 +532,7 @@ describe("apply release plan", () => { ); if (!pkgAPath) throw new Error(`could not find an updated package json`); - let pkgAJSON = await fs.readJSON(pkgAPath); + let pkgAJSON = await readJson(pkgAPath); expect(pkgAJSON).toEqual({ name: "pkg-a", @@ -541,7 +547,7 @@ describe("apply release plan", () => { ); if (!pkgCPath) throw new Error(`could not find an updated package json`); - let pkgCJSON = await fs.readJSON(pkgCPath); + let pkgCJSON = await readJson(pkgCPath); expect(pkgCJSON).toEqual({ name: "pkg-c", @@ -596,8 +602,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -687,8 +693,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -754,7 +760,7 @@ describe("apply release plan", () => { } ); - let pkgJSON = await fs.readJSON(path.join(tempDir, "package.json")); + let pkgJSON = await readJson(path.join(tempDir, "package.json")); expect(pkgJSON).toMatchObject({ name: "self-referenced", @@ -814,7 +820,7 @@ describe("apply release plan", () => { expect(pkgPathA).toBeUndefined(); if (!pkgPathB) throw new Error(`could not find an updated package json`); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONB).toMatchObject({ name: "pkg-b", @@ -871,7 +877,7 @@ describe("apply release plan", () => { expect(pkgPathA).toBeUndefined(); if (!pkgPathB) throw new Error(`could not find an updated package json`); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONB).toMatchObject({ name: "pkg-b", @@ -925,7 +931,7 @@ describe("apply release plan", () => { ); if (!pkgPath) throw new Error(`could not find an updated package json`); - let pkgJSON = await fs.readJSON(pkgPath); + let pkgJSON = await readJson(pkgPath); expect(pkgJSON).toMatchObject({ name: "pkg-a", @@ -1021,8 +1027,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1137,8 +1143,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1238,8 +1244,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1338,8 +1344,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1438,8 +1444,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1541,8 +1547,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1657,8 +1663,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1766,8 +1772,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1866,8 +1872,8 @@ describe("apply release plan", () => { if (!pkgPathA || !pkgPathB) { throw new Error(`could not find an updated package json`); } - let pkgJSONA = await fs.readJSON(pkgPathA); - let pkgJSONB = await fs.readJSON(pkgPathB); + let pkgJSONA = await readJson(pkgPathA); + let pkgJSONB = await readJson(pkgPathB); expect(pkgJSONA).toMatchObject({ name: "pkg-a", @@ -1967,8 +1973,8 @@ describe("apply release plan", () => { if (!pkgPathDependent || !pkgPathDepended) { throw new Error(`could not find an updated package json`); } - let pkgJSONDependent = await fs.readJSON(pkgPathDependent); - let pkgJSONDepended = await fs.readJSON(pkgPathDepended); + let pkgJSONDependent = await readJson(pkgPathDependent); + let pkgJSONDepended = await readJson(pkgPathDepended); expect(pkgJSONDependent).toMatchObject({ name: "has-peer-dep", @@ -2928,7 +2934,7 @@ describe("apply release plan", () => { const thisPath = path.resolve(tempDir, ".changeset", `${id}.md`); changesetPath = thisPath; const content = `---\n---\n${summary}`; - return fs.outputFile(thisPath, content); + return outputFile(thisPath, content); }) ); @@ -2950,8 +2956,8 @@ describe("apply release plan", () => { ); // @ts-ignore this is possibly bad - let pathExists = await fs.pathExists(changesetPath); - expect(pathExists).toEqual(false); + let changesetExists = await pathExists(changesetPath); + expect(changesetExists).toEqual(false); }); it("should NOT delete changesets for ignored packages", async () => { const releasePlan = new FakeReleasePlan(); @@ -2964,7 +2970,7 @@ describe("apply release plan", () => { const thisPath = path.resolve(tempDir, ".changeset", `${id}.md`); changesetPath = thisPath; const content = `---\n---\n${summary}`; - return fs.outputFile(thisPath, content); + return outputFile(thisPath, content); }) ); @@ -2986,8 +2992,8 @@ describe("apply release plan", () => { ); // @ts-ignore this is possibly bad - let pathExists = await fs.pathExists(changesetPath); - expect(pathExists).toEqual(true); + let changesetExists = await pathExists(changesetPath); + expect(changesetExists).toEqual(true); }); it("should NOT delete changesets for private unversioned packages", async () => { const releasePlan = new FakeReleasePlan(); @@ -3000,7 +3006,7 @@ describe("apply release plan", () => { const thisPath = path.resolve(tempDir, ".changeset", `${id}.md`); changesetPath = thisPath; const content = `---\n---\n${summary}`; - return fs.outputFile(thisPath, content); + return outputFile(thisPath, content); }) ); @@ -3026,8 +3032,8 @@ describe("apply release plan", () => { ); // @ts-ignore this is possibly bad - let pathExists = await fs.pathExists(changesetPath); - expect(pathExists).toEqual(true); + let changesetExists = await pathExists(changesetPath); + expect(changesetExists).toEqual(true); }); it("should delete an old format changeset if it is applied", async () => { const releasePlan = new FakeReleasePlan(); @@ -3052,8 +3058,8 @@ describe("apply release plan", () => { id, `changes.json` ); - await fs.outputFile(changesetMDPath, summary); - await fs.outputFile( + await outputFile(changesetMDPath, summary); + await outputFile( changesetJSONPath, JSON.stringify({ id, summary }) ); @@ -3078,9 +3084,9 @@ describe("apply release plan", () => { ); // @ts-ignore this is possibly bad - let mdPathExists = await fs.pathExists(changesetMDPath); + let mdPathExists = await pathExists(changesetMDPath); // @ts-ignore this is possibly bad - let JSONPathExists = await fs.pathExists(changesetMDPath); + let JSONPathExists = await pathExists(changesetJSONPath); expect(mdPathExists).toEqual(false); expect(JSONPathExists).toEqual(false); @@ -3108,11 +3114,8 @@ describe("apply release plan", () => { id, `changes.json` ); - await fs.outputFile(changesetMDPath, summary); - await fs.outputFile( - changesetJSONPath, - JSON.stringify({ id, summary }) - ); + await outputFile(changesetMDPath, summary); + await outputFile(changesetJSONPath, JSON.stringify({ id, summary })); }) ); @@ -3224,7 +3227,7 @@ describe("apply release plan", () => { const thisPath = path.resolve(tempDir, ".changeset", `${id}.md`); changesetPath = thisPath; const content = `---\n---\n${summary}`; - return fs.outputFile(thisPath, content); + return outputFile(thisPath, content); }) ); @@ -3259,9 +3262,9 @@ describe("apply release plan", () => { ); // @ts-ignore this is possibly bad - let pathExists = await fs.pathExists(changesetPath); + let changesetExists = await pathExists(changesetPath); - expect(pathExists).toEqual(false); + expect(changesetExists).toEqual(false); let gitCmd = await spawn("git", ["status"], { cwd: tempDir }); diff --git a/packages/apply-release-plan/src/index.ts b/packages/apply-release-plan/src/index.ts index b7c2445f3..11ea0fdfd 100644 --- a/packages/apply-release-plan/src/index.ts +++ b/packages/apply-release-plan/src/index.ts @@ -10,7 +10,7 @@ import { } from "@changesets/types"; import { Packages } from "@manypkg/get-packages"; import detectIndent from "detect-indent"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import prettier from "prettier"; import resolveFrom from "resolve-from"; @@ -102,7 +102,10 @@ export default async function applyReleasePlan( if (releasePlan.preState !== undefined && snapshot === undefined) { if (releasePlan.preState.mode === "exit") { - await fs.remove(path.join(cwd, ".changeset", "pre.json")); + await fs.rm(path.join(cwd, ".changeset", "pre.json"), { + recursive: true, + force: true, + }); } else { await fs.writeFile( path.join(cwd, ".changeset", "pre.json"), @@ -155,7 +158,12 @@ export default async function applyReleasePlan( changesets.map(async (changeset) => { let changesetPath = path.resolve(changesetFolder, `${changeset.id}.md`); let changesetFolderPath = path.resolve(changesetFolder, changeset.id); - if (await fs.pathExists(changesetPath)) { + if ( + await fs.access(changesetPath).then( + () => true, + () => false + ) + ) { // DO NOT remove changeset for skipped packages // Mixed changeset that contains both skipped packages and not skipped packages are disallowed // At this point, we know there is no such changeset, because otherwise the program would've already failed, @@ -170,12 +178,17 @@ export default async function applyReleasePlan( ) ) { touchedFiles.push(changesetPath); - await fs.remove(changesetPath); + await fs.rm(changesetPath, { recursive: true, force: true }); } // TO REMOVE LOGIC - this works to remove v1 changesets. We should be removed in the future - } else if (await fs.pathExists(changesetFolderPath)) { + } else if ( + await fs.access(changesetFolderPath).then( + () => true, + () => false + ) + ) { touchedFiles.push(changesetFolderPath); - await fs.remove(changesetFolderPath); + await fs.rm(changesetFolderPath, { recursive: true, force: true }); } }) ); @@ -270,27 +283,47 @@ async function updateChangelog( prettierInstance: typeof prettier ) { let templateString = `\n\n${changelog.trim()}\n`; + let fileData; try { - if (fs.existsSync(changelogPath)) { - await prependFile(changelogPath, templateString, name, prettierInstance); - } else { - await writeFormattedMarkdownFile( - changelogPath, - `# ${name}${templateString}`, - prettierInstance - ); + fileData = (await fs.readFile(changelogPath)).toString(); + } catch (err: any) { + if (err?.code !== "ENOENT") { + throw err; } - } catch (e) { - console.warn(e); + await writeFormattedMarkdownFile( + changelogPath, + `# ${name}${templateString}`, + prettierInstance + ); + return; } + + // if the file exists but doesn't have the header, we'll add it in + if (!fileData) { + const completelyNewChangelog = `# ${name}${templateString}`; + await writeFormattedMarkdownFile( + changelogPath, + completelyNewChangelog, + prettierInstance + ); + return; + } + + const newChangelog = fileData.replace("\n", templateString); + + await writeFormattedMarkdownFile( + changelogPath, + newChangelog, + prettierInstance + ); } async function updatePackageJson( pkgJsonPath: string, pkgJson: any ): Promise { - const pkgRaw = await fs.readFile(pkgJsonPath, "utf-8"); + const pkgRaw = await fs.readFile(pkgJsonPath, "utf8"); const indent = detectIndent(pkgRaw).indent || " "; const stringified = JSON.stringify(pkgJson, null, indent) + (pkgRaw.endsWith("\n") ? "\n" : ""); @@ -298,28 +331,6 @@ async function updatePackageJson( return fs.writeFile(pkgJsonPath, stringified); } -async function prependFile( - filePath: string, - data: string, - name: string, - prettierInstance: typeof prettier -) { - const fileData = fs.readFileSync(filePath).toString(); - // if the file exists but doesn't have the header, we'll add it in - if (!fileData) { - const completelyNewChangelog = `# ${name}${data}`; - await writeFormattedMarkdownFile( - filePath, - completelyNewChangelog, - prettierInstance - ); - return; - } - const newChangelog = fileData.replace("\n", data); - - await writeFormattedMarkdownFile(filePath, newChangelog, prettierInstance); -} - async function writeFormattedMarkdownFile( filePath: string, content: string, diff --git a/packages/cli/package.json b/packages/cli/package.json index 8007c9c3d..65dc8a328 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -83,9 +83,8 @@ "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", - "enquirer": "^2.3.0", + "enquirer": "^2.3.6", "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", "mri": "^1.2.0", "p-limit": "^2.2.0", "package-manager-detector": "^0.2.0", diff --git a/packages/cli/src/commands/init/__tests__/command.ts b/packages/cli/src/commands/init/__tests__/command.ts index 277c09cbb..89941782e 100644 --- a/packages/cli/src/commands/init/__tests__/command.ts +++ b/packages/cli/src/commands/init/__tests__/command.ts @@ -1,7 +1,11 @@ -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import { defaultWrittenConfig } from "@changesets/config"; -import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; +import { + pathExists, + silenceLogsInBlock, + testdir, +} from "@changesets/test-utils"; import initializeCommand from ".."; @@ -16,11 +20,11 @@ describe("init", () => { const cwd = await testdir({}); const { readmePath, configPath } = getPaths(cwd); - expect(fs.pathExistsSync(readmePath)).toBe(false); - expect(fs.pathExistsSync(configPath)).toBe(false); + expect(await pathExists(readmePath)).toBe(false); + expect(await pathExists(configPath)).toBe(false); await initializeCommand(cwd); - expect(fs.pathExistsSync(readmePath)).toBe(true); - expect(fs.pathExistsSync(configPath)).toBe(true); + expect(await pathExists(readmePath)).toBe(true); + expect(await pathExists(configPath)).toBe(true); }); it("should write the default config if it doesn't exist", async () => { const cwd = await testdir({ @@ -31,9 +35,11 @@ describe("init", () => { }); await initializeCommand(cwd); - expect(await fs.readJson(path.join(cwd, ".changeset/config.json"))).toEqual( - { ...defaultWrittenConfig, baseBranch: "main" } - ); + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset/config.json"), "utf8") + ) + ).toEqual({ ...defaultWrittenConfig, baseBranch: "main" }); }); it("should add newline at the end of config", async () => { const cwd = await testdir({ @@ -46,7 +52,7 @@ describe("init", () => { await initializeCommand(cwd); const configPath = path.join(cwd, ".changeset/config.json"); - const config = (await fs.promises.readFile(configPath)).toString(); + const config = (await fs.readFile(configPath)).toString(); const lastCharacter = config.slice(-1); expect(lastCharacter).toBe("\n"); @@ -63,10 +69,12 @@ describe("init", () => { }); await initializeCommand(cwd); - expect(await fs.readJson(path.join(cwd, ".changeset/config.json"))).toEqual( - { - changelog: false, - } - ); + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset/config.json"), "utf8") + ) + ).toEqual({ + changelog: false, + }); }); }); diff --git a/packages/cli/src/commands/init/index.ts b/packages/cli/src/commands/init/index.ts index b5d6a1f5d..f46cc4d31 100644 --- a/packages/cli/src/commands/init/index.ts +++ b/packages/cli/src/commands/init/index.ts @@ -1,10 +1,17 @@ +import fs from "node:fs/promises"; import path from "path"; -import fs from "fs-extra"; import pc from "picocolors"; import { defaultWrittenConfig } from "@changesets/config"; import { info, log, warn, error } from "@changesets/logger"; +async function pathExists(p: string) { + return fs.access(p).then( + () => true, + () => false + ); +} + const pkgPath = path.dirname(require.resolve("@changesets/cli/package.json")); // Modify base branch to "main" without changing defaultWrittenConfig since it also serves as a fallback @@ -18,9 +25,9 @@ const defaultConfig = `${JSON.stringify( export default async function init(cwd: string) { const changesetBase = path.resolve(cwd, ".changeset"); - if (fs.existsSync(changesetBase)) { - if (!fs.existsSync(path.join(changesetBase, "config.json"))) { - if (fs.existsSync(path.join(changesetBase, "config.js"))) { + if (await pathExists(changesetBase)) { + if (!(await pathExists(path.join(changesetBase, "config.json")))) { + if (await pathExists(path.join(changesetBase, "config.js"))) { error( "It looks like you're using the version 1 `.changeset/config.js` file" ); @@ -49,7 +56,9 @@ export default async function init(cwd: string) { ); } } else { - await fs.copy(path.resolve(pkgPath, "./default-files"), changesetBase); + await fs.cp(path.resolve(pkgPath, "./default-files"), changesetBase, { + recursive: true, + }); await fs.writeFile( path.resolve(changesetBase, "config.json"), defaultConfig diff --git a/packages/cli/src/commands/pre/index.test.ts b/packages/cli/src/commands/pre/index.test.ts index 2b8686510..65778e238 100644 --- a/packages/cli/src/commands/pre/index.test.ts +++ b/packages/cli/src/commands/pre/index.test.ts @@ -1,6 +1,6 @@ +import fs from "node:fs/promises"; import path from "path"; import pc from "picocolors"; -import * as fs from "fs-extra"; import * as logger from "@changesets/logger"; import { ExitError } from "@changesets/errors"; import { testdir } from "@changesets/test-utils"; @@ -22,7 +22,9 @@ describe("enterPre", () => { await pre(cwd, { command: "enter", tag: "next" }); expect( - await fs.readJson(path.join(cwd, ".changeset", "pre.json")) + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) ).toMatchObject({ changesets: [], initialVersions: {}, @@ -72,14 +74,16 @@ describe("enterPre", () => { }); await pre(cwd, { command: "enter", tag: "next" }); - expect(await fs.readJson(path.join(cwd, ".changeset", "pre.json"))).toEqual( - { - changesets: [], - initialVersions: {}, - mode: "pre", - tag: "next", - } - ); + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) + ).toEqual({ + changesets: [], + initialVersions: {}, + mode: "pre", + tag: "next", + }); expect(mockedLogger.success).toBeCalledWith( `Entered pre mode with tag ${pc.cyan("next")}` ); @@ -102,14 +106,16 @@ describe("exitPre", () => { }); await pre(cwd, { command: "exit" }); - expect(await fs.readJson(path.join(cwd, ".changeset", "pre.json"))).toEqual( - { - changesets: [], - initialVersions: {}, - mode: "exit", - tag: "next", - } - ); + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) + ).toEqual({ + changesets: [], + initialVersions: {}, + mode: "exit", + tag: "next", + }); }); it("should throw if not in pre", async () => { const cwd = await testdir({ diff --git a/packages/cli/src/commands/status/__tests__/status.ts b/packages/cli/src/commands/status/__tests__/status.ts index 51b2af05c..985271aa3 100644 --- a/packages/cli/src/commands/status/__tests__/status.ts +++ b/packages/cli/src/commands/status/__tests__/status.ts @@ -1,10 +1,10 @@ import { read } from "@changesets/config"; import * as git from "@changesets/git"; -import { gitdir, silenceLogsInBlock } from "@changesets/test-utils"; +import { gitdir, outputFile, silenceLogsInBlock } from "@changesets/test-utils"; import { ReleasePlan } from "@changesets/types"; import writeChangeset from "@changesets/write"; import { getPackages } from "@manypkg/get-packages"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import spawn from "spawndamnit"; import status from ".."; @@ -62,7 +62,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -128,7 +128,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -195,7 +195,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -258,7 +258,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -295,7 +295,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -319,7 +319,7 @@ describe("status", () => { await readConfig(cwd) ); - const releaseObj = await fs.readFile(path.join(cwd, output), "utf-8"); + const releaseObj = await fs.readFile(path.join(cwd, output), "utf8"); expect(probsUndefined).toEqual(undefined); expect(replaceHumanIds(JSON.parse(releaseObj))).toMatchInlineSnapshot(` @@ -371,7 +371,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/unrelated.json"), JSON.stringify({}) ); @@ -414,7 +414,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/src/a.js"), 'export default "updated a"' ); @@ -445,7 +445,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -520,7 +520,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-b/b.js"), 'export default "updated b"' ); @@ -570,7 +570,7 @@ describe("status", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-b/b.js"), 'export default "updated b"' ); diff --git a/packages/cli/src/commands/status/index.ts b/packages/cli/src/commands/status/index.ts index d69cd1589..efea1c663 100644 --- a/packages/cli/src/commands/status/index.ts +++ b/packages/cli/src/commands/status/index.ts @@ -1,5 +1,5 @@ import pc from "picocolors"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import getReleasePlan from "@changesets/get-release-plan"; import { error, info, log, warn } from "@changesets/logger"; diff --git a/packages/cli/src/commands/version/version.test.ts b/packages/cli/src/commands/version/version.test.ts index 4f89a9f75..95ac8b412 100644 --- a/packages/cli/src/commands/version/version.test.ts +++ b/packages/cli/src/commands/version/version.test.ts @@ -1,15 +1,16 @@ -import fs from "fs-extra"; -import path from "path"; +import { defaultConfig } from "@changesets/config"; import * as git from "@changesets/git"; import { warn } from "@changesets/logger"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; +import { Changeset, Config } from "@changesets/types"; import writeChangeset from "@changesets/write"; -import { Config, Changeset } from "@changesets/types"; -import { defaultConfig } from "@changesets/config"; import { getPackages } from "@manypkg/get-packages"; +import humanId from "human-id"; +import assert from "node:assert/strict"; +import fs from "node:fs/promises"; +import path from "node:path"; import pre from "../pre"; import version from "./index"; -import humanId from "human-id"; function mockGlobalDate< Args extends any[], @@ -82,24 +83,23 @@ const writeChangesets = (changesets: Changeset[], cwd: string) => { ); }; -const getFile = (pkgName: string, fileName: string, calls: any) => { - let castCalls: [string, string][] = calls; - const foundCall = castCalls.find((call) => - call[0].endsWith(`${pkgName}${path.sep}${fileName}`) - ); - if (!foundCall) - throw new Error(`could not find writing of ${fileName} for: ${pkgName}`); +const getFilePath = async (pkgName: string, fileName: string, cwd: string) => { + const packages = await getPackages(cwd); + const pkg = packages.packages.find((pkg) => pkg.packageJson.name === pkgName); + assert(pkg, `could not find package: ${pkgName}`); + return path.join(pkg.dir, fileName); +}; - // return written content - return foundCall[1]; +const getFile = async (pkgName: string, fileName: string, cwd: string) => { + return fs.readFile(await getFilePath(pkgName, fileName, cwd), "utf8"); }; -const getPkgJSON = (pkgName: string, calls: any) => { - return JSON.parse(getFile(pkgName, "package.json", calls)); +const getPkgJSON = async (pkgName: string, cwd: string) => { + return JSON.parse(await getFile(pkgName, "package.json", cwd)); }; -const getChangelog = (pkgName: string, calls: any) => { - return getFile(pkgName, "CHANGELOG.md", calls); +const getChangelog = async (pkgName: string, cwd: string) => { + return getFile(pkgName, "CHANGELOG.md", cwd); }; beforeEach(() => { @@ -172,14 +172,13 @@ describe("running version in a simple project", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, modifiedDefaultConfig); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0" }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1" }) ); }); @@ -212,18 +211,20 @@ describe("running version in a simple project", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, ignore: ["pkg-a"], }); - const bumpedPackageA = !!spy.mock.calls.find((call: string[]) => - call[0].endsWith(`pkg-a${path.sep}package.json`) - ); - - expect(bumpedPackageA).toBe(false); + // no change + expect(await getPkgJSON("pkg-a", cwd)).toEqual({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "1.0.0", + }, + }); }); it("should not bump ignored packages", async () => { @@ -543,14 +544,13 @@ Awesome feature, hidden behind a feature flag ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, modifiedDefaultConfig); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0" }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1" }) ); }); @@ -589,18 +589,17 @@ Awesome feature, hidden behind a feature flag ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, modifiedDefaultConfig); // first call should be minor bump - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0", }) ); // second should be a patch - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1", @@ -683,17 +682,16 @@ describe("fixed", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, fixed: [["pkg-a", "pkg-b"]], }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0" }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.1.0" }) ); }); @@ -768,7 +766,6 @@ describe("fixed", () => { version: "1.0.0", }), }); - const spy = jest.spyOn(fs, "writeFile"); await writeChangesets( [ @@ -785,7 +782,7 @@ describe("fixed", () => { fixed: [["pkg-a", "pkg-b"]], }); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.1.0 @@ -799,15 +796,13 @@ describe("fixed", () => { - pkg-b@1.1.0 " `); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.1.0 " `); - spy.mockClear(); - await writeChangesets( [ { @@ -823,7 +818,7 @@ describe("fixed", () => { fixed: [["pkg-a", "pkg-b"]], }); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.2.0 @@ -847,7 +842,7 @@ describe("fixed", () => { - pkg-b@1.1.0 " `); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.2.0 @@ -889,17 +884,16 @@ describe("linked", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, linked: [["pkg-a", "pkg-b"]], }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0" }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.1.0" }) ); }); @@ -931,14 +925,13 @@ describe("linked", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, linked: [["pkg-1", "pkg-2"]], }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0" }) ); }); @@ -1099,7 +1092,6 @@ describe("workspace range", () => { }), }); - const spy = jest.spyOn(fs, "writeFile"); await writeChangeset( { summary: "This is a summary", @@ -1115,7 +1107,7 @@ describe("workspace range", () => { }, }); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.1.0 @@ -1126,7 +1118,7 @@ describe("workspace range", () => { " `); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.0.1 @@ -1228,7 +1220,6 @@ describe("snapshot release", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version( cwd, { @@ -1239,14 +1230,14 @@ describe("snapshot release", () => { commit: false, } ); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: expect.stringContaining("0.0.0-experimental-"), }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: expect.stringContaining("0.0.0-experimental-"), @@ -1429,7 +1420,6 @@ describe("snapshot release", () => { ], cwd ); - jest.spyOn(fs, "writeFile"); expect( version( @@ -1479,7 +1469,6 @@ describe("snapshot release", () => { ], cwd ); - jest.spyOn(fs, "writeFile"); expect( version( @@ -1550,7 +1539,6 @@ describe("snapshot release", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version( cwd, { snapshot: snapshotValue }, @@ -1564,14 +1552,14 @@ describe("snapshot release", () => { } ); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: expectedResult, }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: expectedResult, @@ -1613,7 +1601,6 @@ describe("snapshot release", () => { ], cwd ); - const spy = jest.spyOn(fs, "writeFile"); await version( cwd, { @@ -1628,14 +1615,14 @@ describe("snapshot release", () => { }, } ); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: expect.stringContaining("1.1.0-experimental-"), }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: expect.stringContaining("1.0.1-experimental-"), @@ -1770,7 +1757,6 @@ describe("updateInternalDependents: always", () => { version: "1.0.0", }), }); - const spy = jest.spyOn(fs, "writeFile"); await writeChangeset( { summary: "This is not a summary", @@ -1786,7 +1772,7 @@ describe("updateInternalDependents: always", () => { }, }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.0.1", @@ -1795,13 +1781,13 @@ describe("updateInternalDependents: always", () => { }, }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1", }) ); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.0.1 @@ -1812,7 +1798,7 @@ describe("updateInternalDependents: always", () => { - pkg-b@1.0.1 " `); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.0.1 @@ -1846,7 +1832,6 @@ describe("updateInternalDependents: always", () => { }), }); - const spy = jest.spyOn(fs, "writeFile"); await writeChangeset( { summary: "This is a summary", @@ -1862,13 +1847,13 @@ describe("updateInternalDependents: always", () => { }, }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0", }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.0", @@ -1878,9 +1863,15 @@ describe("updateInternalDependents: always", () => { }) ); // `pkg-c` should not be touched - expect(() => getPkgJSON("pkg-c", spy.mock.calls)).toThrowError(); + expect(await getPkgJSON("pkg-c", cwd)).toEqual( + expect.objectContaining({ + name: "pkg-c", + version: "1.0.0", + dependencies: { "pkg-b": "1.0.0" }, + }) + ); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.1.0 @@ -1893,8 +1884,12 @@ describe("updateInternalDependents: always", () => { // pkg-b and - pkg-c are not being released so changelogs should not be // generated for them - expect(() => getChangelog("pkg-b", spy.mock.calls)).toThrowError(); - expect(() => getChangelog("pkg-c", spy.mock.calls)).toThrowError(); + expect( + fs.access(await getFilePath("pkg-b", "CHANGELOG.md", cwd)) + ).rejects.toThrow(); + expect( + fs.access(await getFilePath("pkg-c", "CHANGELOG.md", cwd)) + ).rejects.toThrow(); }); it("should not bump dependant when it depends on an npm tag of a bumped dependency", async () => { @@ -1914,8 +1909,6 @@ describe("updateInternalDependents: always", () => { }), }); - const spy = jest.spyOn(fs, "writeFile"); - await writeChangeset( { summary: "This is some fix", @@ -1931,9 +1924,15 @@ describe("updateInternalDependents: always", () => { }, }); - expect(() => getPkgJSON("pkg-a", spy.mock.calls)).toThrow(); + // `pkg-a` should not be touched + expect(await getPkgJSON("pkg-a", cwd)).toEqual( + expect.objectContaining({ + name: "pkg-a", + version: "1.0.0", + }) + ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1", @@ -1941,9 +1940,12 @@ describe("updateInternalDependents: always", () => { }) ); - expect(() => getChangelog("pkg-a", spy.mock.calls)).toThrow(); + // shouldn't be created + expect( + fs.access(await getFilePath("pkg-a", "CHANGELOG.md", cwd)) + ).rejects.toThrow(); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.0.1 @@ -1972,7 +1974,6 @@ describe("updateInternalDependents: always", () => { }), }); - const spy = jest.spyOn(fs, "writeFile"); await writeChangeset( { summary: "This is a summary", @@ -1995,13 +1996,13 @@ describe("updateInternalDependents: always", () => { }, }); - expect(getPkgJSON("pkg-a", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-a", cwd)).toEqual( expect.objectContaining({ name: "pkg-a", version: "1.1.0", }) ); - expect(getPkgJSON("pkg-b", spy.mock.calls)).toEqual( + expect(await getPkgJSON("pkg-b", cwd)).toEqual( expect.objectContaining({ name: "pkg-b", version: "1.0.1", @@ -2009,7 +2010,7 @@ describe("updateInternalDependents: always", () => { }) ); - expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-a", cwd)).toMatchInlineSnapshot(` "# pkg-a ## 1.1.0 @@ -2020,7 +2021,7 @@ describe("updateInternalDependents: always", () => { " `); - expect(getChangelog("pkg-b", spy.mock.calls)).toMatchInlineSnapshot(` + expect(await getChangelog("pkg-b", cwd)).toMatchInlineSnapshot(` "# pkg-b ## 1.0.1 @@ -2271,11 +2272,18 @@ describe("pre", () => { version: "1.0.1-next.0", }, ]); - await fs.mkdir(path.join(cwd, "packages", "pkg-c")); - await fs.writeJson(path.join(cwd, "packages", "pkg-c", "package.json"), { - name: "pkg-c", - version: "0.0.0", - }); + await fs.mkdir(path.join(cwd, "packages", "pkg-c"), { recursive: true }); + await fs.writeFile( + path.join(cwd, "packages", "pkg-c", "package.json"), + JSON.stringify( + { + name: "pkg-c", + version: "0.0.0", + }, + null, + 2 + ) + "\n" + ); await writeChangeset( { releases: [ diff --git a/packages/cli/src/run.ts b/packages/cli/src/run.ts index 3034cd30a..2efc0a817 100644 --- a/packages/cli/src/run.ts +++ b/packages/cli/src/run.ts @@ -5,7 +5,7 @@ import { error } from "@changesets/logger"; import { shouldSkipPackage } from "@changesets/should-skip-package"; import { Config } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import add from "./commands/add"; import init from "./commands/init"; @@ -26,7 +26,9 @@ export async function run( return; } - if (!fs.existsSync(path.resolve(cwd, ".changeset"))) { + try { + await fs.access(path.resolve(cwd, ".changeset")); + } catch (err) { error("There is no .changeset folder. "); error( "If this is the first time `changesets` have been used in this project, run `yarn changeset init` to get set up." @@ -43,9 +45,12 @@ export async function run( try { config = await read(cwd, packages); } catch (e) { - let oldConfigExists = await fs.pathExists( - path.resolve(cwd, ".changeset/config.js") - ); + let oldConfigExists = await fs + .access(path.resolve(cwd, ".changeset/config.js")) + .then( + () => true, + () => false + ); if (oldConfigExists) { error( "It looks like you're using the version 1 `.changeset/config.js` file" diff --git a/packages/cli/src/utils/v1-legacy/removeFolders.ts b/packages/cli/src/utils/v1-legacy/removeFolders.ts index b71e5360c..faddea70a 100644 --- a/packages/cli/src/utils/v1-legacy/removeFolders.ts +++ b/packages/cli/src/utils/v1-legacy/removeFolders.ts @@ -1,12 +1,12 @@ +import fs from "node:fs/promises"; import path from "path"; -import fs from "fs-extra"; // This helper is designed to operate on the .changeset // folder, and tidy up the subfolders // THIS SHOULD BE REMOVED WHEN SUPPORT FOR CHANGESETS FROM V1 IS DROPPED const removeEmptyFolders = async (folderPath: string) => { - const dirContents = fs.readdirSync(folderPath); + const dirContents = await fs.readdir(folderPath); return Promise.all( dirContents.map(async (contentPath) => { const singleChangesetPath = path.resolve(folderPath, contentPath); diff --git a/packages/config/package.json b/packages/config/package.json index 2d41cdd94..c3654639f 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -28,7 +28,6 @@ "@changesets/logger": "^0.1.1", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", "micromatch": "^4.0.2" }, "devDependencies": { diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index 07e913ec2..5796e347a 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -1,4 +1,4 @@ -import * as fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import micromatch from "micromatch"; import { ValidationError } from "@changesets/errors"; @@ -92,7 +92,9 @@ function isArray( } export let read = async (cwd: string, packages: Packages) => { - let json = await fs.readJSON(path.join(cwd, ".changeset", "config.json")); + let json = JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "config.json"), "utf8") + ); return parse(json, packages); }; diff --git a/packages/git/package.json b/packages/git/package.json index ad94a867b..70ef22182 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -28,7 +28,6 @@ "devDependencies": { "@changesets/test-utils": "*", "@changesets/write": "*", - "file-url": "^3.0.0", - "fs-extra": "^7.0.1" + "file-url": "^3.0.0" } } diff --git a/packages/git/src/index.test.ts b/packages/git/src/index.test.ts index 1aaab4d08..75edf80e1 100644 --- a/packages/git/src/index.test.ts +++ b/packages/git/src/index.test.ts @@ -1,8 +1,7 @@ import path from "path"; -import fs from "fs-extra"; import spawn from "spawndamnit"; import fileUrl from "file-url"; -import { gitdir, tempdir } from "@changesets/test-utils"; +import { gitdir, outputFile, tempdir } from "@changesets/test-utils"; import writeChangeset from "@changesets/write"; import { @@ -34,7 +33,7 @@ describe("git", () => { const firstSha = await getCurrentCommitId({ cwd }); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); await commit("update b", cwd); const secondSha = await getCurrentCommitId({ cwd }); @@ -55,7 +54,7 @@ describe("git", () => { // Create a new branch, and add a commit to it. await spawn("git", ["checkout", "-b", "my-branch"], { cwd }); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); await commit("update b", cwd); // Now, get the latest commit from our new branch. @@ -75,7 +74,7 @@ describe("git", () => { "b.js": 'export default "b"', }); - await fs.outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); + await outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); await add("a.js", cwd); const gitCmd = await spawn("git", ["diff", "--name-only", "--cached"], { @@ -96,8 +95,8 @@ describe("git", () => { "c.js": 'export default "c"', }); - await fs.outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); - await fs.outputFile(path.join(cwd, "c.js"), 'export default "updated c"'); + await outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); + await outputFile(path.join(cwd, "c.js"), 'export default "updated c"'); await add("a.js", cwd); await add("c.js", cwd); @@ -120,11 +119,11 @@ describe("git", () => { "foo/b.js": 'export default "b"', }); - await fs.outputFile( + await outputFile( path.join(cwd, "foo/a.js"), 'export default "updated a"' ); - await fs.outputFile( + await outputFile( path.join(cwd, "foo/b.js"), 'export default "updated b"' ); @@ -148,7 +147,7 @@ describe("git", () => { "a.js": 'export default "a"', }); - await fs.outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); + await outputFile(path.join(cwd, "a.js"), 'export default "updated a"'); await add("a.js", cwd); await commit("update a.js", cwd); @@ -204,7 +203,7 @@ describe("git", () => { }); await tag("tag_message", cwd); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); await add("b.js", cwd); await commit("update b", cwd); @@ -311,7 +310,7 @@ describe("git", () => { // the commit we're going to scan for is the latest commit, // so will be in the shallow clone immediately without deepening await createDummyCommits(10, cwd); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "b"'); const originalCommit = await addFileAndCommit("b.js", cwd); const clone = await createShallowClone(5, cwd); @@ -333,7 +332,7 @@ describe("git", () => { // We're going to create a repo where the commit we're looking for isn't // in the shallow clone, so we'll need to deepen it to locate it. await createDummyCommits((shallowCloneDeepeningAmount * 2) / 3, cwd); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "b"'); const originalCommit = await addFileAndCommit("b.js", cwd); await createDummyCommits((shallowCloneDeepeningAmount * 2) / 3, cwd); @@ -382,12 +381,12 @@ describe("git", () => { // for the files that succeed. await createDummyCommits(shallowCloneDeepeningAmount, cwd); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "b"'); const originalCommit1 = await addFileAndCommit("b.js", cwd); await createDummyCommits(shallowCloneDeepeningAmount, cwd); - await fs.outputFile(path.join(cwd, "c.js"), 'export default "c"'); + await outputFile(path.join(cwd, "c.js"), 'export default "c"'); const originalCommit2 = await addFileAndCommit("c.js", cwd); const clone = await createShallowClone(5, cwd); @@ -442,12 +441,12 @@ describe("git", () => { }); const firstRef = await getCurrentCommitId({ cwd }); - await fs.outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); + await outputFile(path.join(cwd, "b.js"), 'export default "updated b"'); await add("b.js", cwd); await commit("update b.js", cwd); const secondRef = await getCurrentCommitId({ cwd }); - await fs.outputFile(path.join(cwd, "d.js"), 'export default "updated d"'); + await outputFile(path.join(cwd, "d.js"), 'export default "updated d"'); await add("d.js", cwd); await commit("update d.js", cwd); @@ -472,14 +471,14 @@ describe("git", () => { const ref = await getCurrentCommitId({ cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-b/b.js"), 'export default "updated b"' ); await add("packages/pkg-b/b.js", cwd); await commit("update b.js", cwd); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-c/c.js"), 'export default "updated c"' ); @@ -521,7 +520,7 @@ describe("git", () => { "packages/pkg-a/a.js": 'export default "a"', }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-a/a.js"), 'export default "updated a"' ); @@ -558,7 +557,7 @@ describe("git", () => { await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-b/package.json"), JSON.stringify({ name: "pkg-b", @@ -567,7 +566,7 @@ describe("git", () => { ); await commit("update pkg-b", cwd); - await fs.outputFile( + await outputFile( path.join(cwd, "packages/pkg-d/package.json"), JSON.stringify({ name: "pkg-d", @@ -605,7 +604,7 @@ describe("git", () => { const newFilePath = "packages/pkg-a/examples/example-a/file.js"; - await fs.outputFile( + await outputFile( path.join(cwd, newFilePath), "console.log('hello world');" ); @@ -641,7 +640,7 @@ describe("git", () => { const newFilePath = "packages/pkg-a/examples/example-a/file.js"; - await fs.outputFile( + await outputFile( path.join(cwd, newFilePath), "console.log('hello world');" ); @@ -674,10 +673,7 @@ describe("git", () => { const newFilePath = "packages/pkg-a/__tests__/file.js"; - await fs.outputFile( - path.join(cwd, newFilePath), - "expect(answer).toBe(42);" - ); + await outputFile(path.join(cwd, newFilePath), "expect(answer).toBe(42);"); await add(newFilePath, cwd); await commit("new test file", cwd); @@ -706,7 +702,7 @@ describe("git", () => { const newFilePath = "packages/pkg-a/src/index.js"; - await fs.outputFile( + await outputFile( path.join(cwd, newFilePath), "export const answer = 42;" ); diff --git a/packages/git/src/index.ts b/packages/git/src/index.ts index 7e3aee534..fd2fb68de 100644 --- a/packages/git/src/index.ts +++ b/packages/git/src/index.ts @@ -1,5 +1,5 @@ import spawn from "spawndamnit"; -import fs from "fs"; +import fs from "node:fs/promises"; import path from "path"; import { getPackages, Package } from "@manypkg/get-packages"; import { GitError } from "@changesets/errors"; @@ -159,7 +159,12 @@ export async function isRepoShallow({ cwd }: { cwd: string }) { const fullGitDir = path.resolve(cwd, gitDir); // Check for the existence of /shallow - return fs.existsSync(path.join(fullGitDir, "shallow")); + try { + await fs.access(path.join(fullGitDir, "shallow")); + return true; + } catch { + return false; + } } else { // We have a newer Git which supports `rev-parse --is-shallow-repository`. We'll use // the output of that instead of messing with .git/shallow in case that changes in the future. diff --git a/packages/pre/package.json b/packages/pre/package.json index cf09b5560..3eb92c05e 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -21,8 +21,7 @@ "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" + "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { "@changesets/test-utils": "*" diff --git a/packages/pre/src/index.test.ts b/packages/pre/src/index.test.ts index 8b89ba8c4..59bb19eff 100644 --- a/packages/pre/src/index.test.ts +++ b/packages/pre/src/index.test.ts @@ -1,5 +1,5 @@ import { enterPre, exitPre, readPreState } from "./index"; -import * as fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import { PreEnterButInPreModeError, @@ -28,8 +28,11 @@ describe("enterPre", () => { }); await enterPre(cwd, "next"); - expect(await fs.readJson(path.join(cwd, ".changeset", "pre.json"))) - .toMatchInlineSnapshot(` + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) + ).toMatchInlineSnapshot(` { "changesets": [], "initialVersions": { @@ -100,8 +103,11 @@ describe("enterPre", () => { }), }); await enterPre(cwd, "next"); - expect(await fs.readJson(path.join(cwd, ".changeset", "pre.json"))) - .toMatchInlineSnapshot(` + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) + ).toMatchInlineSnapshot(` { "changesets": [ "slimy-dingos-whisper", @@ -147,8 +153,11 @@ describe("exitPre", () => { }); await exitPre(cwd); - expect(await fs.readJson(path.join(cwd, ".changeset", "pre.json"))) - .toMatchInlineSnapshot(` + expect( + JSON.parse( + await fs.readFile(path.join(cwd, ".changeset", "pre.json"), "utf8") + ) + ).toMatchInlineSnapshot(` { "changesets": [], "initialVersions": { diff --git a/packages/pre/src/index.ts b/packages/pre/src/index.ts index f39efd689..c8b82ae29 100644 --- a/packages/pre/src/index.ts +++ b/packages/pre/src/index.ts @@ -1,4 +1,4 @@ -import * as fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import { PreState } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; @@ -7,6 +7,11 @@ import { PreEnterButInPreModeError, } from "@changesets/errors"; +async function outputFile(filePath: string, content: string) { + await fs.mkdir(path.dirname(filePath), { recursive: true }); + await fs.writeFile(filePath, content, "utf8"); +} + export async function readPreState(cwd: string): Promise { let preStatePath = path.resolve(cwd, ".changeset", "pre.json"); // TODO: verify that the pre state isn't broken @@ -38,7 +43,7 @@ export async function exitPre(cwd: string) { throw new PreExitButNotInPreModeError(); } - await fs.outputFile( + await outputFile( preStatePath, JSON.stringify({ ...preState, mode: "exit" }, null, 2) + "\n" ); @@ -61,8 +66,5 @@ export async function enterPre(cwd: string, tag: string) { for (let pkg of packages.packages) { newPreState.initialVersions[pkg.packageJson.name] = pkg.packageJson.version; } - await fs.outputFile( - preStatePath, - JSON.stringify(newPreState, null, 2) + "\n" - ); + await outputFile(preStatePath, JSON.stringify(newPreState, null, 2) + "\n"); } diff --git a/packages/read/package.json b/packages/read/package.json index acf3f3b02..7f00f0919 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -23,7 +23,6 @@ "@changesets/logger": "^0.1.1", "@changesets/parse": "^0.4.0", "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", "p-filter": "^2.1.0", "picocolors": "^1.1.0" }, diff --git a/packages/read/src/index.test.ts b/packages/read/src/index.test.ts index 386775eaa..3143ff06d 100644 --- a/packages/read/src/index.test.ts +++ b/packages/read/src/index.test.ts @@ -1,9 +1,9 @@ -import fs from "fs-extra"; import path from "path"; import outdent from "outdent"; import read from "./"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; +import fs from "node:fs/promises"; silenceLogsInBlock(); @@ -98,7 +98,7 @@ I'm amazed we needed to update the best package, because it was already the best }); it("should return an empty array when no changesets are found", async () => { const cwd = await testdir({}); - await fs.mkdir(path.join(cwd, ".changeset")); + await fs.mkdir(path.join(cwd, ".changeset"), { recursive: true }); const changesets = await read(cwd); expect(changesets).toEqual([]); diff --git a/packages/read/src/index.ts b/packages/read/src/index.ts index 3c1243b92..af9dbeeb3 100644 --- a/packages/read/src/index.ts +++ b/packages/read/src/index.ts @@ -1,4 +1,4 @@ -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import parse from "@changesets/parse"; import { NewChangeset } from "@changesets/types"; @@ -50,10 +50,7 @@ export default async function getChangesets( ); const changesetContents = changesets.map(async (file) => { - const changeset = await fs.readFile( - path.join(changesetBase, file), - "utf-8" - ); + const changeset = await fs.readFile(path.join(changesetBase, file), "utf8"); return { ...parse(changeset), id: file.replace(".md", "") }; }); diff --git a/packages/read/src/legacy.ts b/packages/read/src/legacy.ts index ec74e8438..ab6f23ab5 100644 --- a/packages/read/src/legacy.ts +++ b/packages/read/src/legacy.ts @@ -1,7 +1,7 @@ +import fs from "node:fs/promises"; import path from "path"; import pc from "picocolors"; import { NewChangeset } from "@changesets/types"; -import * as fs from "fs-extra"; import pFilter from "p-filter"; import { warn } from "@changesets/logger"; @@ -27,13 +27,11 @@ async function getOldChangesets( const changesetContents = changesets.map(async (changesetDir) => { const jsonPath = path.join(changesetBase, changesetDir, "changes.json"); - const [summary, json] = await Promise.all([ - fs.readFile( - path.join(changesetBase, changesetDir, "changes.md"), - "utf-8" - ), - fs.readJson(jsonPath), + const [summary, rawJson] = await Promise.all([ + fs.readFile(path.join(changesetBase, changesetDir, "changes.md"), "utf8"), + fs.readFile(jsonPath, "utf8"), ]); + const json = JSON.parse(rawJson); return { releases: json.releases, summary, id: changesetDir }; }); diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index e8da24bca..780466fa8 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -20,7 +20,6 @@ "@changesets/read": "^0.6.1", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", "mdast-util-to-string": "^1.0.6", "remark-parse": "^7.0.1", "remark-stringify": "^7.0.3", diff --git a/packages/release-utils/src/run.test.ts b/packages/release-utils/src/run.test.ts index c10415eb7..ed7a94786 100644 --- a/packages/release-utils/src/run.test.ts +++ b/packages/release-utils/src/run.test.ts @@ -3,7 +3,7 @@ import { silenceLogsInBlock, tempdir, testdir } from "@changesets/test-utils"; import { Changeset } from "@changesets/types"; import writeChangeset from "@changesets/write"; import fileUrl from "file-url"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import spawn from "spawndamnit"; import { getCurrentBranch } from "./gitUtils"; @@ -103,7 +103,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-a", "package.json"), - "utf-8" + "utf8" ) ).toMatchInlineSnapshot(` "{ @@ -118,7 +118,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-b", "package.json"), - "utf-8" + "utf8" ) ).toMatchInlineSnapshot(` "{ @@ -129,7 +129,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-a", "CHANGELOG.md"), - "utf-8" + "utf8" ) ).toEqual( expect.stringContaining(`# pkg-a @@ -143,7 +143,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-b", "CHANGELOG.md"), - "utf-8" + "utf8" ) ).toEqual( expect.stringContaining(`# pkg-b @@ -226,7 +226,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-a", "package.json"), - "utf-8" + "utf8" ) ).toMatchInlineSnapshot(` "{ @@ -241,7 +241,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-b", "package.json"), - "utf-8" + "utf8" ) ).toMatchInlineSnapshot(` "{ @@ -253,7 +253,7 @@ describe("version", () => { expect( await fs.readFile( path.join(cwd, "packages", "pkg-a", "CHANGELOG.md"), - "utf-8" + "utf8" ) ).toEqual( expect.stringContaining(`# pkg-a @@ -265,7 +265,7 @@ describe("version", () => { `) ); await expect( - fs.readFile(path.join(cwd, "packages", "pkg-b", "CHANGELOG.md"), "utf-8") + fs.readFile(path.join(cwd, "packages", "pkg-b", "CHANGELOG.md"), "utf8") ).rejects.toMatchObject({ code: "ENOENT" }); expect(changedPackages).toEqual([ { diff --git a/packages/write/package.json b/packages/write/package.json index 5994d6236..8ea97e99e 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -20,7 +20,6 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/write", "dependencies": { "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", "human-id": "^4.1.1", "prettier": "^2.7.1" }, diff --git a/packages/write/src/index.test.ts b/packages/write/src/index.test.ts index 284403cdf..ed3427ec7 100644 --- a/packages/write/src/index.test.ts +++ b/packages/write/src/index.test.ts @@ -1,4 +1,4 @@ -import fs from "fs-extra"; +import fs from "node:fs/promises"; import path from "path"; import parse from "@changesets/parse"; import writeChangeset from "./"; @@ -34,7 +34,7 @@ describe("simple project", () => { ); const mdPath = path.join(cwd, ".changeset", `${changesetID}.md`); - const mdContent = await fs.readFile(mdPath, "utf-8"); + const mdContent = await fs.readFile(mdPath, "utf8"); expect(parse(mdContent)).toEqual({ summary: "This is a summary", @@ -66,7 +66,7 @@ describe("simple project", () => { ); const mdPath = path.join(cwd, ".changeset", `${changesetID}.md`); - const mdContent = await fs.readFile(mdPath, "utf-8"); + const mdContent = await fs.readFile(mdPath, "utf8"); expect(parse(mdContent)).toEqual({ summary: "", diff --git a/packages/write/src/index.ts b/packages/write/src/index.ts index 24fa609de..04d73e34e 100644 --- a/packages/write/src/index.ts +++ b/packages/write/src/index.ts @@ -1,5 +1,5 @@ import { Changeset } from "@changesets/types"; -import fs from "fs-extra"; +import fs from "node:fs/promises"; import humanId from "human-id"; import path from "path"; import prettier from "prettier"; @@ -43,7 +43,8 @@ ${releases.map((release) => `"${release.name}": ${release.type}`).join("\n")} ${summary} `; - await fs.outputFile( + await fs.mkdir(path.dirname(newChangesetPath), { recursive: true }); + await fs.writeFile( newChangesetPath, // Prettier v3 returns a promise await prettierInstance.format(changesetContents, { diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index 43b8d3bc2..b5c6a0dd9 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -22,7 +22,6 @@ "dependencies": { "@changesets/logger": "^0.1.1", "fixturez": "^1.1.0", - "fs-extra": "^7.0.1", "spawndamnit": "^2.0.0" } } diff --git a/scripts/test-utils/src/index.ts b/scripts/test-utils/src/index.ts index 26c699f43..41d67beac 100644 --- a/scripts/test-utils/src/index.ts +++ b/scripts/test-utils/src/index.ts @@ -1,7 +1,8 @@ import fixturez from "fixturez"; import spawn from "spawndamnit"; +import fs from "fs"; +import fsp from "fs/promises"; import path from "path"; -import fs from "fs-extra"; /** * Reason for eslint disable import/no-commonjs @@ -96,7 +97,8 @@ export async function testdir(dir: Fixture) { await Promise.all( Object.keys(dir).map(async (filename) => { const fullPath = path.join(temp, filename); - await fs.outputFile(fullPath, dir[filename]); + await fsp.mkdir(path.dirname(fullPath), { recursive: true }); + await fsp.writeFile(fullPath, dir[filename]); }) ); return temp; @@ -133,3 +135,20 @@ export async function gitdir(dir: Fixture) { return cwd; } + +export async function outputFile( + filePath: string, + content: string, + encoding = "utf8" as fs.ObjectEncodingOptions +) { + await fsp.mkdir(path.dirname(filePath), { recursive: true }); + await fsp.writeFile(filePath, content, encoding); +} + +// `fs.exists` is deprecated, and Node recommends this for asynchronous existence checks. +export async function pathExists(p: string) { + return fsp.access(p).then( + () => true, + () => false + ); +} diff --git a/yarn.lock b/yarn.lock index a02faf28a..2dcb9ff33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1909,13 +1909,6 @@ resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== -"@types/fs-extra@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.1.0.tgz#2a325ef97901504a3828718c390d34b8426a10a1" - integrity sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ== - dependencies: - "@types/node" "*" - "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" @@ -2018,6 +2011,13 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.5.tgz#66103d2eddc543d44a04394abb7be52506d7f290" integrity sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A== +"@types/node@^22.7.4": + version "22.7.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.4.tgz#e35d6f48dca3255ce44256ddc05dee1c23353fcc" + integrity sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg== + dependencies: + undici-types "~6.19.2" + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -2185,11 +2185,6 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@^3.2.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -3101,13 +3096,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.2.tgz#1c30284907cadff5ed2404bd8396036dd3da070e" - integrity sha512-PLhTMPUXlnaIv9D3Cq3/Zr1xb7soeDDgunobyCmYLUG19n24dvC8i+ZZgm2DekGpDnx7JvFSHV7lxfM58PMtbA== - dependencies: - ansi-colors "^3.2.1" - enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -7004,6 +6992,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" From 7f34a00aab779a941a406b17f5a85895144fc0a5 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 17 Oct 2024 17:30:42 +0800 Subject: [PATCH 003/223] Set engines field to node 18 and above (#1479) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Set engines field to node 18 and above * Update internal package too * Remove `test-utils` entry [skip-ci] Co-authored-by: Mateusz BurzyƄski * Remove .codesandbox/ci.json * Keep "node": ">=18.0.0" * Remove `@babel/preset-env` * Revert "Remove `@babel/preset-env`" This reverts commit 6524f6ad61b7a92c058d0e24fbdde28c19046a68. --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/deep-coins-attend.md | 24 ++++++++++++++++++++ .codesandbox/ci.json | 4 ---- babel.config.js | 2 +- package.json | 5 +++- packages/apply-release-plan/package.json | 3 +++ packages/assemble-release-plan/package.json | 3 +++ packages/changelog-git/package.json | 3 +++ packages/changelog-github/package.json | 3 +++ packages/cli/package.json | 3 +++ packages/config/package.json | 3 +++ packages/errors/package.json | 3 +++ packages/get-dependents-graph/package.json | 3 +++ packages/get-github-info/package.json | 3 +++ packages/get-release-plan/package.json | 3 +++ packages/get-version-range-type/package.json | 5 +++- packages/git/package.json | 3 +++ packages/logger/package.json | 3 +++ packages/parse/package.json | 3 +++ packages/pre/package.json | 3 +++ packages/read/package.json | 3 +++ packages/release-utils/package.json | 3 +++ packages/should-skip-package/package.json | 3 +++ packages/types/package.json | 5 +++- packages/write/package.json | 3 +++ scripts/test-utils/package.json | 3 +++ 25 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 .changeset/deep-coins-attend.md delete mode 100644 .codesandbox/ci.json diff --git a/.changeset/deep-coins-attend.md b/.changeset/deep-coins-attend.md new file mode 100644 index 000000000..6e43ee7f1 --- /dev/null +++ b/.changeset/deep-coins-attend.md @@ -0,0 +1,24 @@ +--- +"@changesets/get-version-range-type": minor +"@changesets/assemble-release-plan": major +"@changesets/get-dependents-graph": major +"@changesets/should-skip-package": minor +"@changesets/apply-release-plan": major +"@changesets/changelog-github": minor +"@changesets/get-release-plan": major +"@changesets/get-github-info": minor +"@changesets/changelog-git": minor +"@changesets/release-utils": minor +"@changesets/config": major +"@changesets/errors": minor +"@changesets/logger": minor +"@changesets/parse": minor +"@changesets/types": major +"@changesets/write": minor +"@changesets/read": minor +"@changesets/cli": major +"@changesets/git": major +"@changesets/pre": major +--- + +Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json deleted file mode 100644 index 0b9cc8935..000000000 --- a/.codesandbox/ci.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "packages": ["packages/*"], - "node": "14" -} diff --git a/babel.config.js b/babel.config.js index e63b6c255..93949d86f 100644 --- a/babel.config.js +++ b/babel.config.js @@ -3,7 +3,7 @@ module.exports = { [ "@babel/preset-env", { - targets: { node: 8 }, + targets: { node: 18 }, }, ], ], diff --git a/package.json b/package.json index c5dba9e25..34ec0c711 100644 --- a/package.json +++ b/package.json @@ -76,5 +76,8 @@ "importsConditions": true } }, - "prettier": {} + "prettier": {}, + "engines": { + "node": ">=18.0.0" + } } diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index e4f965e6b..8349a3269 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -35,5 +35,8 @@ "devDependencies": { "@changesets/test-utils": "*", "spawndamnit": "^2.0.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/assemble-release-plan/package.json b/packages/assemble-release-plan/package.json index 34212986f..4ebe7d35d 100644 --- a/packages/assemble-release-plan/package.json +++ b/packages/assemble-release-plan/package.json @@ -28,5 +28,8 @@ }, "devDependencies": { "@changesets/config": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/changelog-git/package.json b/packages/changelog-git/package.json index bec191ec5..97e8994da 100644 --- a/packages/changelog-git/package.json +++ b/packages/changelog-git/package.json @@ -20,5 +20,8 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-git", "dependencies": { "@changesets/types": "^6.0.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index efe32f5bb..4429efd2e 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -25,5 +25,8 @@ }, "devDependencies": { "@changesets/parse": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 65dc8a328..25d0f802b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -101,5 +101,8 @@ "human-id": "^4.1.1", "outdent": "^0.5.0", "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/config/package.json b/packages/config/package.json index c3654639f..a4274b597 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -35,5 +35,8 @@ "@types/micromatch": "^4.0.1", "jest-in-case": "^1.0.2", "outdent": "^0.5.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/errors/package.json b/packages/errors/package.json index 73249f497..b9a6c0c81 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -20,5 +20,8 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/errors", "dependencies": { "extendable-error": "^0.1.5" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index 493fc22e3..9bfc25dd3 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -26,5 +26,8 @@ }, "devDependencies": { "@changesets/test-utils": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index 5fb8b444e..32fe8868f 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -25,5 +25,8 @@ "devDependencies": { "nock": "^11.7.0", "prettier": "^2.7.1" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index a7f7e58c0..b30d76bd3 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -25,5 +25,8 @@ "@changesets/read": "^0.6.1", "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/get-version-range-type/package.json b/packages/get-version-range-type/package.json index 8249fb4be..3d7ab16e1 100644 --- a/packages/get-version-range-type/package.json +++ b/packages/get-version-range-type/package.json @@ -17,5 +17,8 @@ "./package.json": "./package.json" }, "license": "MIT", - "repository": "https://github.com/changesets/changesets/tree/main/packages/get-version-range-type" + "repository": "https://github.com/changesets/changesets/tree/main/packages/get-version-range-type", + "engines": { + "node": ">=18.0.0" + } } diff --git a/packages/git/package.json b/packages/git/package.json index 70ef22182..7b77e3b1b 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -29,5 +29,8 @@ "@changesets/test-utils": "*", "@changesets/write": "*", "file-url": "^3.0.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/logger/package.json b/packages/logger/package.json index b15941b2b..f06444ca5 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -20,5 +20,8 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/logger", "dependencies": { "picocolors": "^1.1.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/parse/package.json b/packages/parse/package.json index 8f634a1ba..b5e53a035 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -24,5 +24,8 @@ }, "devDependencies": { "outdent": "^0.5.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/pre/package.json b/packages/pre/package.json index 3eb92c05e..d650cd93f 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -25,5 +25,8 @@ }, "devDependencies": { "@changesets/test-utils": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/read/package.json b/packages/read/package.json index 7f00f0919..9a144a2cf 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -29,5 +29,8 @@ "devDependencies": { "@changesets/test-utils": "*", "outdent": "^0.5.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 780466fa8..75cbf3b37 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -32,5 +32,8 @@ "@changesets/test-utils": "*", "@changesets/write": "*", "file-url": "^3.0.0" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/should-skip-package/package.json b/packages/should-skip-package/package.json index fdc2fc5f3..656c16328 100644 --- a/packages/should-skip-package/package.json +++ b/packages/should-skip-package/package.json @@ -24,5 +24,8 @@ }, "devDependencies": { "@changesets/test-utils": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/packages/types/package.json b/packages/types/package.json index c915e2b32..37111f009 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,5 +17,8 @@ "./package.json": "./package.json" }, "license": "MIT", - "repository": "https://github.com/changesets/changesets/tree/main/packages/types" + "repository": "https://github.com/changesets/changesets/tree/main/packages/types", + "engines": { + "node": ">=18.0.0" + } } diff --git a/packages/write/package.json b/packages/write/package.json index 8ea97e99e..44f9c16a7 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -26,5 +26,8 @@ "devDependencies": { "@changesets/parse": "*", "@changesets/test-utils": "*" + }, + "engines": { + "node": ">=18.0.0" } } diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index b5c6a0dd9..413217579 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -23,5 +23,8 @@ "@changesets/logger": "^0.1.1", "fixturez": "^1.1.0", "spawndamnit": "^2.0.0" + }, + "engines": { + "node": ">=18.0.0" } } From 6d1f384c8feab091f58443f6f7ee2ada64e0e7cc Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 31 Oct 2024 18:32:46 +0800 Subject: [PATCH 004/223] Remove changeset v1 support (#1494) * Remove changeset v1 support * Remove test --- .changeset/busy-points-guess.md | 5 +++ packages/read/package.json | 2 -- packages/read/src/index.test.ts | 24 ------------- packages/read/src/index.ts | 8 +---- packages/read/src/legacy.ts | 61 --------------------------------- yarn.lock | 12 ------- 6 files changed, 6 insertions(+), 106 deletions(-) create mode 100644 .changeset/busy-points-guess.md delete mode 100644 packages/read/src/legacy.ts diff --git a/.changeset/busy-points-guess.md b/.changeset/busy-points-guess.md new file mode 100644 index 000000000..30176dbc5 --- /dev/null +++ b/.changeset/busy-points-guess.md @@ -0,0 +1,5 @@ +--- +"@changesets/read": minor +--- + +Remove support for reading changesets from version 1 diff --git a/packages/read/package.json b/packages/read/package.json index 9a144a2cf..97a182553 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -20,10 +20,8 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/read", "dependencies": { "@changesets/git": "^3.0.1", - "@changesets/logger": "^0.1.1", "@changesets/parse": "^0.4.0", "@changesets/types": "^6.0.0", - "p-filter": "^2.1.0", "picocolors": "^1.1.0" }, "devDependencies": { diff --git a/packages/read/src/index.test.ts b/packages/read/src/index.test.ts index 3143ff06d..eda2a0edf 100644 --- a/packages/read/src/index.test.ts +++ b/packages/read/src/index.test.ts @@ -192,28 +192,4 @@ Awesome feature, hidden behind a feature flag }, ]); }); - - it("should read an old changeset", async () => { - const cwd = await testdir({ - ".changeset/basic-changeset/changes.json": JSON.stringify({ - releases: [ - { - name: "cool-package", - type: "minor", - }, - ], - dependents: [], - }), - ".changeset/basic-changeset/changes.md": `Nice simple summary`, - }); - - const changesets = await read(cwd); - expect(changesets).toEqual([ - { - releases: [{ name: "cool-package", type: "minor" }], - summary: "Nice simple summary", - id: "basic-changeset", - }, - ]); - }); }); diff --git a/packages/read/src/index.ts b/packages/read/src/index.ts index af9dbeeb3..61821a70c 100644 --- a/packages/read/src/index.ts +++ b/packages/read/src/index.ts @@ -3,7 +3,6 @@ import path from "path"; import parse from "@changesets/parse"; import { NewChangeset } from "@changesets/types"; import * as git from "@changesets/git"; -import getOldChangesetsAndWarn from "./legacy"; async function filterChangesetsSinceRef( changesets: Array, @@ -42,8 +41,6 @@ export default async function getChangesets( ); } - let oldChangesetsPromise = getOldChangesetsAndWarn(changesetBase, contents); - let changesets = contents.filter( (file) => !file.startsWith(".") && file.endsWith(".md") && file !== "README.md" @@ -54,8 +51,5 @@ export default async function getChangesets( return { ...parse(changeset), id: file.replace(".md", "") }; }); - return [ - ...(await oldChangesetsPromise), - ...(await Promise.all(changesetContents)), - ]; + return await Promise.all(changesetContents); } diff --git a/packages/read/src/legacy.ts b/packages/read/src/legacy.ts deleted file mode 100644 index ab6f23ab5..000000000 --- a/packages/read/src/legacy.ts +++ /dev/null @@ -1,61 +0,0 @@ -import fs from "node:fs/promises"; -import path from "path"; -import pc from "picocolors"; -import { NewChangeset } from "@changesets/types"; -import pFilter from "p-filter"; -import { warn } from "@changesets/logger"; - -// THIS SHOULD BE REMOVED WHEN SUPPORT FOR CHANGESETS FROM V1 IS DROPPED - -let importantSeparator = pc.red( - "===============================IMPORTANT!===============================" -); - -let importantEnd = pc.red( - "----------------------------------------------------------------------" -); - -async function getOldChangesets( - changesetBase: string, - dirs: string[] -): Promise> { - // this needs to support just not dealing with dirs that aren't set up properly - let changesets = await pFilter(dirs, async (dir) => - (await fs.lstat(path.join(changesetBase, dir))).isDirectory() - ); - - const changesetContents = changesets.map(async (changesetDir) => { - const jsonPath = path.join(changesetBase, changesetDir, "changes.json"); - - const [summary, rawJson] = await Promise.all([ - fs.readFile(path.join(changesetBase, changesetDir, "changes.md"), "utf8"), - fs.readFile(jsonPath, "utf8"), - ]); - const json = JSON.parse(rawJson); - - return { releases: json.releases, summary, id: changesetDir }; - }); - return Promise.all(changesetContents); -} - -// this function only exists while we wait for v1 changesets to be obsoleted -// and should be deleted before v3 -export default async function getOldChangesetsAndWarn( - changesetBase: string, - dirs: string[] -): Promise> { - let oldChangesets = await getOldChangesets(changesetBase, dirs); - if (oldChangesets.length === 0) { - return []; - } - warn(importantSeparator); - warn("There were old changesets from version 1 found"); - warn("These are being applied now but the dependents graph may have changed"); - warn("Make sure you validate all your dependencies"); - warn( - "In a future major version, we will no longer apply these old changesets, and will instead throw here" - ); - warn(importantEnd); - - return oldChangesets; -} diff --git a/yarn.lock b/yarn.lock index 2dcb9ff33..02354541d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5693,13 +5693,6 @@ p-cancelable@^1.0.0: resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" - integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== - dependencies: - p-map "^2.0.0" - p-limit@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" @@ -5742,11 +5735,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" From 08fef8a348634dcb8d9b5c9d39661cc202b34b2d Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 12 Nov 2024 16:47:28 +0800 Subject: [PATCH 005/223] Run CI on node 18, 20, and 22 (#1480) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Run CI on node 18, 20, and 22 * Typo * Update .github/workflows/ci.yml Co-authored-by: Mateusz BurzyƄski * Update .github/workflows/ci.yml --------- Co-authored-by: Mateusz BurzyƄski --- .github/actions/ci-setup/action.yml | 10 ++++++++-- .github/workflows/ci.yml | 21 ++++++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index a44f173f7..3fb1ecf42 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -1,12 +1,18 @@ name: Setup CI +inputs: + node-version: + description: "Node.js version" + required: false + default: 20 + runs: using: composite steps: - - name: Setup Node.js 20.x + - name: Setup Node.js ${{ inputs.node-version }} uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: ${{ inputs.node-version }} cache: yarn - name: Install dependencies diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91e608083..d744e7a72 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,19 +3,27 @@ name: CI on: pull_request: push: - branches: [main] + branches: + - main + - next permissions: contents: read jobs: test: - name: Test + name: "Test using Node ${{ matrix.node_version }}" runs-on: ubuntu-latest timeout-minutes: 20 + strategy: + matrix: + node_version: [18, 20, 22] + fail-fast: false steps: - uses: actions/checkout@v4 - uses: ./.github/actions/ci-setup + with: + node-version: ${{ matrix.node_version }} - name: Check Git version run: git --version @@ -24,10 +32,17 @@ jobs: run: git config --global user.email "you@example.com" && git config --global user.name "Your Name" - name: Jest tests - run: yarn jest --ci --color --runInBand --coverage --reporters=default --reporters=jest-junit + if: matrix.node_version != 20 + run: yarn jest --ci --color --runInBand --reporters=default --reporters=jest-junit + + # Run coverage only once on node 20 to avoid duplicate codecov uploads + - name: Jest tests with coverage + if: matrix.node_version == 20 + run: yarn jest --ci --color --runInBand --reporters=default --reporters=jest-junit --coverage - name: Upload coverage uses: codecov/codecov-action@v4 + if: matrix.node_version == 20 with: token: ${{ secrets.CODECOV_TOKEN }} From d099e43300c590c86740a638330bed03511c7c77 Mon Sep 17 00:00:00 2001 From: pralkarz <31964869+pralkarz@users.noreply.github.com> Date: Wed, 12 Feb 2025 09:12:14 +0100 Subject: [PATCH 006/223] Removed extra leftover code related to Changesets v1 (#1570) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove the leftover legacy code * Add a changeset * Apply suggestions from code review --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/red-emus-wave.md | 5 ++++ packages/cli/src/commands/version/index.ts | 2 -- .../cli/src/utils/v1-legacy/removeFolders.ts | 26 ------------------- 3 files changed, 5 insertions(+), 28 deletions(-) create mode 100644 .changeset/red-emus-wave.md delete mode 100644 packages/cli/src/utils/v1-legacy/removeFolders.ts diff --git a/.changeset/red-emus-wave.md b/.changeset/red-emus-wave.md new file mode 100644 index 000000000..5e18c6086 --- /dev/null +++ b/.changeset/red-emus-wave.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": patch +--- + +Removed extra leftover code related to Changesets v1 diff --git a/packages/cli/src/commands/version/index.ts b/packages/cli/src/commands/version/index.ts index e3ba01512..c28a92e0d 100644 --- a/packages/cli/src/commands/version/index.ts +++ b/packages/cli/src/commands/version/index.ts @@ -8,7 +8,6 @@ import readChangesets from "@changesets/read"; import assembleReleasePlan from "@changesets/assemble-release-plan"; import { getPackages } from "@manypkg/get-packages"; -import { removeEmptyFolders } from "../../utils/v1-legacy/removeFolders"; import { readPreState } from "@changesets/pre"; import { ExitError } from "@changesets/errors"; import { getCommitFunctions } from "../../commit/getCommitFunctions"; @@ -37,7 +36,6 @@ export default async function version( const [changesets, preState] = await Promise.all([ readChangesets(cwd), readPreState(cwd), - removeEmptyFolders(path.resolve(cwd, ".changeset")), ]); if (preState?.mode === "pre") { diff --git a/packages/cli/src/utils/v1-legacy/removeFolders.ts b/packages/cli/src/utils/v1-legacy/removeFolders.ts deleted file mode 100644 index faddea70a..000000000 --- a/packages/cli/src/utils/v1-legacy/removeFolders.ts +++ /dev/null @@ -1,26 +0,0 @@ -import fs from "node:fs/promises"; -import path from "path"; - -// This helper is designed to operate on the .changeset -// folder, and tidy up the subfolders -// THIS SHOULD BE REMOVED WHEN SUPPORT FOR CHANGESETS FROM V1 IS DROPPED - -const removeEmptyFolders = async (folderPath: string) => { - const dirContents = await fs.readdir(folderPath); - return Promise.all( - dirContents.map(async (contentPath) => { - const singleChangesetPath = path.resolve(folderPath, contentPath); - try { - if ((await fs.readdir(singleChangesetPath)).length < 1) { - await fs.rmdir(singleChangesetPath); - } - } catch (err) { - if ((err as any).code !== "ENOTDIR") { - throw err; - } - } - }) - ); -}; - -export { removeEmptyFolders }; From df424a4a09eea15b0fa9159ee0b98af0d95f58a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 4 Mar 2025 10:56:51 +0100 Subject: [PATCH 007/223] Switch all packages to being ESM-only (#1482) * Switch all packages to being ESM-only * use `"moduleResolution": "Node16"` * update relative paths * fix things * update Preconstruct * resolve typecheck issues * moving towards `--experimental-strip-types` * more * inline scripts * fix things * fix things * fix things * vitest * update snapshots * fix some things * fix things * use `execa` * fixed things * fixed extra thing * await sutff * some things * fix last test in prod mode * fix extra thing * fix last things, maybe? * tweak ci * tweak things * fix lint * update ts * remove `--ci` * Update ci.yml * try without color * try `--no-color` * fix thing * fix * fmt * strip from the correct thing * add `@vitest/coverage-v8` * remove redundant thing * drop junit * remove accidentally comitted file * remove redundant fields * Add NODE_OPTIONS=--experimental-strip-types to changeset script so you can run `yarn changeset` in the repo without building * add `.node-version` * avoid execa * Update packages/release-utils/src/utils.ts Co-authored-by: Bjorn Lu * fix `human-id` * update to TS 5.8 * fixed custom typedefs slightly * add changeset --------- Co-authored-by: Emma Hamilton Co-authored-by: Bjorn Lu --- .changeset/spotty-chairs-call.md | 24 + .github/workflows/ci.yml | 17 +- .node-version | 1 + .vscode/launch.json | 17 +- jest.config.js | 7 - package.json | 19 +- packages/apply-release-plan/README.md | 4 +- packages/apply-release-plan/package.json | 18 +- .../src/get-changelog-entry.ts | 15 +- packages/apply-release-plan/src/index.test.ts | 7 +- packages/apply-release-plan/src/index.ts | 28 +- .../get-changelog-entry-with-git-hash.ts | 9 +- packages/apply-release-plan/src/types.ts | 2 +- packages/apply-release-plan/src/utils.ts | 8 +- .../apply-release-plan/src/version-package.ts | 10 +- packages/assemble-release-plan/README.md | 4 +- packages/assemble-release-plan/package.json | 13 +- .../assemble-release-plan/src/apply-links.ts | 8 +- .../src/determine-dependents.ts | 10 +- .../src/flatten-releases.ts | 6 +- .../src/increment.test.ts | 4 +- .../assemble-release-plan/src/increment.ts | 4 +- .../assemble-release-plan/src/index.test.ts | 14 +- packages/assemble-release-plan/src/index.ts | 18 +- .../src/match-fixed-constraint.ts | 8 +- .../assemble-release-plan/src/test-utils.ts | 4 +- packages/assemble-release-plan/src/types.ts | 2 +- packages/assemble-release-plan/src/utils.ts | 8 +- packages/changelog-git/package.json | 13 +- packages/changelog-git/src/index.ts | 2 +- packages/changelog-github/package.json | 16 +- packages/changelog-github/src/index.test.ts | 6 +- packages/changelog-github/src/index.ts | 3 +- packages/cli/bin.js | 4 +- packages/cli/changelog/package.json | 4 - packages/cli/commit/package.json | 4 - packages/cli/package.json | 43 +- .../cli/src/commands/add/__tests__/add.ts | 18 +- .../cli/src/commands/add/createChangeset.ts | 8 +- packages/cli/src/commands/add/index.ts | 14 +- packages/cli/src/commands/add/messages.ts | 2 +- .../src/commands/init/__tests__/command.ts | 2 +- packages/cli/src/commands/init/index.ts | 3 + packages/cli/src/commands/pre/index.test.ts | 17 +- .../commands/publish/__tests__/index.test.ts | 7 +- .../publish/__tests__/publishPackages.test.ts | 11 +- .../publish/__tests__/releaseCommand.test.ts | 13 +- packages/cli/src/commands/publish/index.ts | 6 +- .../cli/src/commands/publish/npm-utils.ts | 10 +- .../src/commands/publish/publishPackages.ts | 12 +- .../src/commands/status/__tests__/status.ts | 21 +- packages/cli/src/commands/status/index.ts | 4 +- .../src/commands/tag/__tests__/index.test.ts | 21 +- packages/cli/src/commands/tag/index.ts | 4 +- packages/cli/src/commands/version/index.ts | 10 +- .../cli/src/commands/version/version.test.ts | 74 +- packages/cli/src/commit/commit.test.ts | 6 +- packages/cli/src/commit/getCommitFunctions.ts | 13 +- packages/cli/src/commit/index.ts | 6 +- packages/cli/src/index.ts | 5 +- packages/cli/src/run.test.ts | 25 +- packages/cli/src/run.ts | 18 +- packages/cli/src/utils/cli-utilities.ts | 7 +- .../utils/getLastJsonObjectFromString.test.ts | 2 +- packages/cli/src/utils/getUntaggedPackages.ts | 4 +- packages/cli/src/utils/versionablePackages.ts | 2 +- packages/config/package.json | 17 +- packages/config/src/index.test.ts | 172 +- packages/config/src/index.ts | 10 +- packages/errors/package.json | 16 +- packages/errors/src/index.test.ts | 2 +- packages/errors/src/index.ts | 14 +- packages/get-dependents-graph/package.json | 17 +- .../src/get-dependency-graph.test.ts | 17 +- .../src/get-dependency-graph.ts | 6 +- packages/get-dependents-graph/src/index.ts | 4 +- packages/get-github-info/README.md | 5 +- packages/get-github-info/package.json | 13 +- packages/get-github-info/src/index.test.ts | 14 +- packages/get-release-plan/package.json | 13 +- packages/get-release-plan/src/index.ts | 2 +- packages/get-version-range-type/package.json | 13 +- .../get-version-range-type/src/index.test.ts | 2 +- packages/git/package.json | 13 +- packages/git/src/index.test.ts | 2 +- packages/git/src/index.ts | 2 +- packages/logger/package.json | 16 +- packages/logger/src/index.test.ts | 13 +- packages/parse/package.json | 15 +- packages/parse/src/index.test.ts | 8 +- packages/parse/src/index.ts | 2 +- packages/pre/README.md | 2 +- packages/pre/package.json | 13 +- packages/pre/src/index.test.ts | 2 +- packages/pre/src/index.ts | 2 +- packages/read/package.json | 15 +- packages/read/src/index.test.ts | 4 +- packages/read/src/index.ts | 2 +- packages/release-utils/package.json | 19 +- .../src/__snapshots__/utils.test.ts.snap | 2 +- .../src/fake-publish-script-multi-package.js | 9 - .../src/fake-publish-script-single-package.js | 7 - packages/release-utils/src/gitUtils.ts | 20 +- packages/release-utils/src/index.ts | 10 +- .../release-utils/src/readChangesetState.ts | 2 +- packages/release-utils/src/run.test.ts | 28 +- packages/release-utils/src/run.ts | 68 +- packages/release-utils/src/utils.test.ts | 6 +- packages/release-utils/src/utils.ts | 57 +- packages/should-skip-package/package.json | 13 +- packages/should-skip-package/src/index.ts | 4 +- packages/types/package.json | 13 +- packages/write/package.json | 16 +- packages/write/src/index.test.ts | 5 +- packages/write/src/index.ts | 7 +- scripts/test-utils/package.json | 14 +- scripts/test-utils/src/index.test.ts | 6 +- scripts/test-utils/src/index.ts | 91 +- tsconfig.json | 12 +- types/boxen.d.ts | 10 - types/fixturez.d.ts | 4 +- types/human-id.d.ts | 6 - types/lodash.d.ts | 18 - types/spawndamnit.d.ts | 4 +- vitest.config.mts | 9 + yarn.lock | 2950 ++++++----------- 126 files changed, 1712 insertions(+), 2875 deletions(-) create mode 100644 .changeset/spotty-chairs-call.md create mode 100644 .node-version delete mode 100644 jest.config.js delete mode 100644 packages/cli/changelog/package.json delete mode 100644 packages/cli/commit/package.json delete mode 100644 packages/release-utils/src/fake-publish-script-multi-package.js delete mode 100644 packages/release-utils/src/fake-publish-script-single-package.js delete mode 100644 types/boxen.d.ts delete mode 100644 types/human-id.d.ts delete mode 100644 types/lodash.d.ts create mode 100644 vitest.config.mts diff --git a/.changeset/spotty-chairs-call.md b/.changeset/spotty-chairs-call.md new file mode 100644 index 000000000..cbb26f976 --- /dev/null +++ b/.changeset/spotty-chairs-call.md @@ -0,0 +1,24 @@ +--- +"@changesets/get-version-range-type": major +"@changesets/assemble-release-plan": major +"@changesets/get-dependents-graph": major +"@changesets/should-skip-package": major +"@changesets/apply-release-plan": major +"@changesets/changelog-github": major +"@changesets/get-release-plan": major +"@changesets/get-github-info": major +"@changesets/changelog-git": major +"@changesets/release-utils": major +"@changesets/config": major +"@changesets/errors": major +"@changesets/logger": major +"@changesets/parse": major +"@changesets/types": major +"@changesets/write": major +"@changesets/read": major +"@changesets/cli": major +"@changesets/git": major +"@changesets/pre": major +--- + +From now on this package is going to be published as ES module. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0affcbdd4..fc0513289 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,18 +31,19 @@ jobs: - name: Setup mock Git user run: git config --global user.email "you@example.com" && git config --global user.name "Your Name" - - name: Jest tests - if: matrix.node_version != 20 - run: yarn jest --ci --color --runInBand --reporters=default --reporters=jest-junit + - name: Vitest tests + if: matrix.node_version != 22 + # @changesets/release-utils depend on `--experimental-strip-types` so we exclude those test here for simplicity + run: yarn vitest --no-file-parallelism --exclude=packages/release-utils - # Run coverage only once on node 20 to avoid duplicate codecov uploads - - name: Jest tests with coverage - if: matrix.node_version == 20 - run: yarn jest --ci --color --runInBand --reporters=default --reporters=jest-junit --coverage + # Run coverage only once on node 22 to avoid duplicate codecov uploads + - name: Vitest tests with coverage + if: matrix.node_version == 22 + run: yarn vitest --no-file-parallelism --coverage - name: Upload coverage uses: codecov/codecov-action@v4 - if: matrix.node_version == 20 + if: matrix.node_version == 22 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.node-version b/.node-version new file mode 100644 index 000000000..620c5e1e9 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +v22.9.0 diff --git a/.vscode/launch.json b/.vscode/launch.json index 89a5171e2..5a4e6d3b0 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,16 +4,13 @@ { "type": "node", "request": "launch", - "name": "Jest Current File", - "program": "${workspaceFolder}/node_modules/.bin/jest", - "args": ["${relativeFile}", "--config", "jest.config.js", "--no-cache"], - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "disableOptimisticBPs": true, - "windows": { - "program": "${workspaceFolder}/node_modules/jest/bin/jest" - }, - "smartStep": false + "name": "Debug Current Test File", + "autoAttachChildProcesses": true, + "skipFiles": [], + "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", + "args": ["run", "${relativeFile}"], + "smartStep": true, + "console": "integratedTerminal" } ] } diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 63254f211..000000000 --- a/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - clearMocks: true, - watchPlugins: [ - "jest-watch-typeahead/filename", - "jest-watch-typeahead/testname", - ], -}; diff --git a/package.json b/package.json index d76e2bb2f..a9c1ff7d6 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "A tool to help manage the versioning and changelogs for open source packages", "scripts": { - "test": "jest", + "test": "vitest", "build": "preconstruct build", "watch": "preconstruct watch", "postinstall": "preconstruct dev && manypkg check", @@ -12,7 +12,7 @@ "types:check": "tsc", "format": "prettier --list-different \"**/*.{js,ts,tsx,md}\"", "format:fix": "prettier --write \"**/*.{js,ts,tsx,md}\"", - "changeset": "packages/cli/bin.js", + "changeset": "NODE_OPTIONS=--experimental-strip-types packages/cli/bin.js", "check-all": "yarn test && yarn types:check && yarn lint && yarn format", "version-packages": "changeset version && yarn format:fix", "release": "yarn build && changeset publish" @@ -39,9 +39,7 @@ "@babel/preset-env": "^7.26.0", "@babel/preset-typescript": "^7.26.0", "@manypkg/cli": "^0.22.0", - "@preconstruct/cli": "^2.8.1", - "@types/jest": "^24.0.12", - "@types/jest-in-case": "^1.0.6", + "@preconstruct/cli": "^2.8.9", "@types/js-yaml": "^3.12.1", "@types/lodash": "^4.17.13", "@types/node": "^22.7.4", @@ -49,6 +47,7 @@ "@types/semver": "^7.5.0", "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.62.0", + "@vitest/coverage-v8": "^3.0.6", "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^17.1.0", @@ -56,11 +55,9 @@ "eslint-plugin-n": "^15.5.1", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-standard": "^5.0.0", - "jest": "^29.3.1", - "jest-junit": "^15.0.0", - "jest-watch-typeahead": "^2.2.2", "prettier": "^2.7.1", - "typescript": "^5.1.6" + "typescript": "^5.8.2", + "vitest": "^3.0.6" }, "preconstruct": { "packages": [ @@ -71,7 +68,9 @@ "importConditionDefaultExport": "default" }, "___experimentalFlags_WILL_CHANGE_IN_PATCH": { - "importsConditions": true + "distInRoot": true, + "importsConditions": true, + "typeModule": true } }, "prettier": {}, diff --git a/packages/apply-release-plan/README.md b/packages/apply-release-plan/README.md index dc1572f37..0110c7e38 100644 --- a/packages/apply-release-plan/README.md +++ b/packages/apply-release-plan/README.md @@ -8,8 +8,8 @@ release. This includes updating package versions, and updating changelogs. ```ts import applyReleasePlan from "@changesets/apply-release-plan"; -import { ReleasePlan, Config } from "@changesets/types"; -import { Packages } from '@manypkg/get-packages' +import type { ReleasePlan, Config } from "@changesets/types"; +import type { Packages } from '@manypkg/get-packages' await applyReleasePlan( // The release plan to be applied - see @changesets/types for information about its shape diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 9c6386b78..9ef75a200 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -2,18 +2,9 @@ "name": "@changesets/apply-release-plan", "version": "7.0.9", "description": "Takes a release plan and applies it to packages", - "main": "dist/changesets-apply-release-plan.cjs.js", - "module": "dist/changesets-apply-release-plan.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-apply-release-plan.cjs.mjs", - "default": "./dist/changesets-apply-release-plan.cjs.js" - }, - "module": "./dist/changesets-apply-release-plan.esm.js", - "import": "./dist/changesets-apply-release-plan.cjs.mjs", - "default": "./dist/changesets-apply-release-plan.cjs.js" - }, + ".": "./dist/changesets-apply-release-plan.js", "./package.json": "./package.json" }, "license": "MIT", @@ -26,10 +17,9 @@ "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", + "import-meta-resolve": "^4.1.0", + "outdent": "^0.8.0", "prettier": "^2.7.1", - "resolve-from": "^5.0.0", "semver": "^7.5.3" }, "devDependencies": { diff --git a/packages/apply-release-plan/src/get-changelog-entry.ts b/packages/apply-release-plan/src/get-changelog-entry.ts index 12f991305..5dd3965ee 100644 --- a/packages/apply-release-plan/src/get-changelog-entry.ts +++ b/packages/apply-release-plan/src/get-changelog-entry.ts @@ -1,9 +1,10 @@ -import { ChangelogFunctions, NewChangesetWithCommit } from "@changesets/types"; - -import { ModCompWithPackage } from "@changesets/types"; -import startCase from "lodash.startcase"; -import { shouldUpdateDependencyBasedOnConfig } from "./utils"; -import validRange from "semver/ranges/valid"; +import type { + ChangelogFunctions, + ModCompWithPackage, + NewChangesetWithCommit, +} from "@changesets/types"; +import validRange from "semver/ranges/valid.js"; +import { capitalize, shouldUpdateDependencyBasedOnConfig } from "./utils.ts"; type ChangelogLines = { major: Array>; @@ -18,7 +19,7 @@ async function generateChangesForVersionTypeMarkdown( let releaseLines = await Promise.all(obj[type]); releaseLines = releaseLines.filter((x) => x); if (releaseLines.length) { - return `### ${startCase(type)} Changes\n\n${releaseLines.join("\n")}\n`; + return `### ${capitalize(type)} Changes\n\n${releaseLines.join("\n")}\n`; } } diff --git a/packages/apply-release-plan/src/index.test.ts b/packages/apply-release-plan/src/index.test.ts index a38f116e5..700adf5ff 100644 --- a/packages/apply-release-plan/src/index.test.ts +++ b/packages/apply-release-plan/src/index.test.ts @@ -7,11 +7,11 @@ import { import * as git from "@changesets/git"; import fs from "node:fs/promises"; import path from "path"; -import outdent from "outdent"; +import { outdent } from "outdent"; import spawn from "spawndamnit"; import { defaultConfig } from "@changesets/config"; -import applyReleasePlan from "./"; +import applyReleasePlan from "./index.ts"; import { getPackages } from "@manypkg/get-packages"; import { temporarilySilenceLogs, @@ -20,6 +20,9 @@ import { outputFile, pathExists, } from "@changesets/test-utils"; +import { fileURLToPath } from "node:url"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); class FakeReleasePlan { changesets: NewChangeset[]; diff --git a/packages/apply-release-plan/src/index.ts b/packages/apply-release-plan/src/index.ts index 6e4cac48e..c326e0348 100644 --- a/packages/apply-release-plan/src/index.ts +++ b/packages/apply-release-plan/src/index.ts @@ -1,21 +1,25 @@ import { defaultConfig } from "@changesets/config"; import * as git from "@changesets/git"; import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { +import type { ChangelogFunctions, Config, ModCompWithPackage, NewChangeset, ReleasePlan, } from "@changesets/types"; -import { Packages } from "@manypkg/get-packages"; +import type { Packages } from "@manypkg/get-packages"; import detectIndent from "detect-indent"; import fs from "node:fs/promises"; import path from "path"; import prettier from "prettier"; -import resolveFrom from "resolve-from"; -import getChangelogEntry from "./get-changelog-entry"; -import versionPackage from "./version-package"; +import { resolve } from "import-meta-resolve"; +import getChangelogEntry from "./get-changelog-entry.ts"; +import versionPackage from "./version-package.ts"; +import { createRequire } from "node:module"; +import { fileURLToPath, pathToFileURL } from "node:url"; + +const require = createRequire(import.meta.url); function getPrettierInstance(cwd: string): typeof prettier { try { @@ -69,7 +73,7 @@ export default async function applyReleasePlan( packages: Packages, config: Config = defaultConfig, snapshot?: string | boolean, - contextDir = __dirname + contextDir = path.dirname(fileURLToPath(import.meta.url)) ) { let cwd = packages.root.dir; @@ -227,12 +231,18 @@ async function getNewChangelogEntry( let changelogPath; try { - changelogPath = resolveFrom(changesetPath, config.changelog[0]); + changelogPath = resolve( + config.changelog[0], + pathToFileURL(changesetPath).toString() + ); } catch { - changelogPath = resolveFrom(contextDir, config.changelog[0]); + changelogPath = resolve( + config.changelog[0], + pathToFileURL(contextDir).toString() + ); } - let possibleChangelogFunc = require(changelogPath); + let possibleChangelogFunc = await import(changelogPath); if (possibleChangelogFunc.default) { possibleChangelogFunc = possibleChangelogFunc.default; } diff --git a/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts b/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts index d9bb2f0cb..63ecc85a7 100644 --- a/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts +++ b/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts @@ -1,9 +1,8 @@ -/* eslint-disable import/no-extraneous-dependencies */ -import startCase from "lodash.startcase"; import { getCommitsThatAddFiles } from "@changesets/git"; -import { ComprehensiveRelease, NewChangeset } from "@changesets/types"; +import type { ComprehensiveRelease, NewChangeset } from "@changesets/types"; -import { RelevantChangesets } from "../types"; +import type { RelevantChangesets } from "../types.ts"; +import { capitalize } from "../utils.ts"; async function getReleaseLine(changeset: NewChangeset, cwd: string) { const [firstLine, ...futureLines] = changeset.summary @@ -31,7 +30,7 @@ async function getReleaseLines( if (!releaseLines.length) return ""; const resolvedLines = await Promise.all(releaseLines); - return `### ${startCase(type)} Changes\n\n${resolvedLines.join("")}`; + return `### ${capitalize(type)} Changes\n\n${resolvedLines.join("")}`; } export default async function defaultChangelogGetter( diff --git a/packages/apply-release-plan/src/types.ts b/packages/apply-release-plan/src/types.ts index d87214bbc..902259f7c 100644 --- a/packages/apply-release-plan/src/types.ts +++ b/packages/apply-release-plan/src/types.ts @@ -1,4 +1,4 @@ -import { NewChangeset } from "@changesets/types"; +import type { NewChangeset } from "@changesets/types"; export type RelevantChangesets = { major: NewChangeset[]; diff --git a/packages/apply-release-plan/src/utils.ts b/packages/apply-release-plan/src/utils.ts index d796c206e..c5e69ad45 100644 --- a/packages/apply-release-plan/src/utils.ts +++ b/packages/apply-release-plan/src/utils.ts @@ -1,8 +1,8 @@ /** * Shared utility functions and business logic */ -import semverSatisfies from "semver/functions/satisfies"; -import { VersionType } from "@changesets/types"; +import semverSatisfies from "semver/functions/satisfies.js"; +import type { VersionType } from "@changesets/types"; const bumpTypes = ["none", "patch", "minor", "major"]; @@ -49,3 +49,7 @@ export function shouldUpdateDependencyBasedOnConfig( } return shouldUpdate; } + +export function capitalize(str: string) { + return str[0].toUpperCase() + str.slice(1); +} diff --git a/packages/apply-release-plan/src/version-package.ts b/packages/apply-release-plan/src/version-package.ts index d5230fb06..0c2ae8eef 100644 --- a/packages/apply-release-plan/src/version-package.ts +++ b/packages/apply-release-plan/src/version-package.ts @@ -1,13 +1,13 @@ -import { +import type { ComprehensiveRelease, PackageJSON, VersionType, } from "@changesets/types"; import getVersionRangeType from "@changesets/get-version-range-type"; -import Range from "semver/classes/range"; -import semverPrerelease from "semver/functions/prerelease"; -import validRange from "semver/ranges/valid"; -import { shouldUpdateDependencyBasedOnConfig } from "./utils"; +import Range from "semver/classes/range.js"; +import semverPrerelease from "semver/functions/prerelease.js"; +import validRange from "semver/ranges/valid.js"; +import { shouldUpdateDependencyBasedOnConfig } from "./utils.ts"; const DEPENDENCY_TYPES = [ "dependencies", diff --git a/packages/assemble-release-plan/README.md b/packages/assemble-release-plan/README.md index 241b2053b..821d45828 100644 --- a/packages/assemble-release-plan/README.md +++ b/packages/assemble-release-plan/README.md @@ -25,8 +25,8 @@ const releasePlan = assembleReleasePlan(changesets, packages, config, preState); Signature ```ts -import { NewChangeset, Config, ReleasePlan } from "@changesets/types"; -import { Packages } from "@manypkg/get-packages"; +import type { NewChangeset, Config, ReleasePlan } from "@changesets/types"; +import type { Packages } from "@manypkg/get-packages"; assembleReleasePlan = ( changesets: NewChangeset[], diff --git a/packages/assemble-release-plan/package.json b/packages/assemble-release-plan/package.json index 65d950923..ef2ca9296 100644 --- a/packages/assemble-release-plan/package.json +++ b/packages/assemble-release-plan/package.json @@ -2,18 +2,9 @@ "name": "@changesets/assemble-release-plan", "version": "6.0.6", "description": "Reads changesets and adds information on dependents that need bumping", - "main": "dist/changesets-assemble-release-plan.cjs.js", - "module": "dist/changesets-assemble-release-plan.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-assemble-release-plan.cjs.mjs", - "default": "./dist/changesets-assemble-release-plan.cjs.js" - }, - "module": "./dist/changesets-assemble-release-plan.esm.js", - "import": "./dist/changesets-assemble-release-plan.cjs.mjs", - "default": "./dist/changesets-assemble-release-plan.cjs.js" - }, + ".": "./dist/changesets-assemble-release-plan.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/assemble-release-plan/src/apply-links.ts b/packages/assemble-release-plan/src/apply-links.ts index e954f65ee..0f36f5067 100644 --- a/packages/assemble-release-plan/src/apply-links.ts +++ b/packages/assemble-release-plan/src/apply-links.ts @@ -1,7 +1,7 @@ -import { Linked } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; -import { InternalRelease } from "./types"; -import { getCurrentHighestVersion, getHighestReleaseType } from "./utils"; +import type { Linked } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; +import type { InternalRelease } from "./types.ts"; +import { getCurrentHighestVersion, getHighestReleaseType } from "./utils.ts"; /* WARNING: diff --git a/packages/assemble-release-plan/src/determine-dependents.ts b/packages/assemble-release-plan/src/determine-dependents.ts index 4fc650848..de25f85a7 100644 --- a/packages/assemble-release-plan/src/determine-dependents.ts +++ b/packages/assemble-release-plan/src/determine-dependents.ts @@ -1,14 +1,14 @@ import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { +import type { Config, DependencyType, PackageJSON, VersionType, } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; -import semverSatisfies from "semver/functions/satisfies"; -import { incrementVersion } from "./increment"; -import { InternalRelease, PreInfo } from "./types"; +import type { Package } from "@manypkg/get-packages"; +import semverSatisfies from "semver/functions/satisfies.js"; +import { incrementVersion } from "./increment.ts"; +import type { InternalRelease, PreInfo } from "./types.ts"; /* WARNING: diff --git a/packages/assemble-release-plan/src/flatten-releases.ts b/packages/assemble-release-plan/src/flatten-releases.ts index b24af22e4..a982be64c 100644 --- a/packages/assemble-release-plan/src/flatten-releases.ts +++ b/packages/assemble-release-plan/src/flatten-releases.ts @@ -2,9 +2,9 @@ // package listed in the changesets import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { Config, NewChangeset } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; -import { InternalRelease } from "./types"; +import type { Config, NewChangeset } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; +import type { InternalRelease } from "./types.ts"; export default function flattenReleases( changesets: NewChangeset[], diff --git a/packages/assemble-release-plan/src/increment.test.ts b/packages/assemble-release-plan/src/increment.test.ts index 130878111..93fae53da 100644 --- a/packages/assemble-release-plan/src/increment.test.ts +++ b/packages/assemble-release-plan/src/increment.test.ts @@ -1,5 +1,5 @@ -import { incrementVersion } from "./increment"; -import { InternalRelease, PreInfo } from "./types"; +import { incrementVersion } from "./increment.ts"; +import type { InternalRelease, PreInfo } from "./types.ts"; describe("incrementVersion", () => { describe("pre mode", () => { diff --git a/packages/assemble-release-plan/src/increment.ts b/packages/assemble-release-plan/src/increment.ts index 3c1c735ac..2b0e3d5d6 100644 --- a/packages/assemble-release-plan/src/increment.ts +++ b/packages/assemble-release-plan/src/increment.ts @@ -1,5 +1,5 @@ -import semverInc from "semver/functions/inc"; -import { InternalRelease, PreInfo } from "./types"; +import semverInc from "semver/functions/inc.js"; +import type { InternalRelease, PreInfo } from "./types.ts"; import { InternalError } from "@changesets/errors"; export function incrementVersion( diff --git a/packages/assemble-release-plan/src/index.test.ts b/packages/assemble-release-plan/src/index.test.ts index 6ef1f9578..68b33314e 100644 --- a/packages/assemble-release-plan/src/index.test.ts +++ b/packages/assemble-release-plan/src/index.test.ts @@ -1,6 +1,6 @@ import { defaultConfig } from "@changesets/config"; -import assembleReleasePlan from "./"; -import FakeFullState from "./test-utils"; +import assembleReleasePlan from "./index.ts"; +import FakeFullState from "./test-utils.ts"; describe("assemble-release-plan", () => { let setup: FakeFullState; @@ -535,11 +535,11 @@ describe("assemble-release-plan", () => { undefined ) ).toThrowErrorMatchingInlineSnapshot(` -"Found mixed changeset big-cats-delight -Found ignored packages: pkg-b -Found not ignored packages: pkg-a -Mixed changesets that contain both ignored and not ignored packages are not allowed" -`); + [Error: Found mixed changeset big-cats-delight + Found ignored packages: pkg-b + Found not ignored packages: pkg-a + Mixed changesets that contain both ignored and not ignored packages are not allowed] + `); }); it("should not bump a dev dependent nor its dependent when a package gets bumped", () => { diff --git a/packages/assemble-release-plan/src/index.ts b/packages/assemble-release-plan/src/index.ts index 33dca862a..c1b9761ca 100644 --- a/packages/assemble-release-plan/src/index.ts +++ b/packages/assemble-release-plan/src/index.ts @@ -1,21 +1,21 @@ import { InternalError } from "@changesets/errors"; import { getDependentsGraph } from "@changesets/get-dependents-graph"; import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { +import type { Config, NewChangeset, PackageGroup, PreState, ReleasePlan, } from "@changesets/types"; -import { Package, Packages } from "@manypkg/get-packages"; -import semverParse from "semver/functions/parse"; -import applyLinks from "./apply-links"; -import determineDependents from "./determine-dependents"; -import flattenReleases from "./flatten-releases"; -import { incrementVersion } from "./increment"; -import matchFixedConstraint from "./match-fixed-constraint"; -import { InternalRelease, PreInfo } from "./types"; +import type { Package, Packages } from "@manypkg/get-packages"; +import semverParse from "semver/functions/parse.js"; +import applyLinks from "./apply-links.ts"; +import determineDependents from "./determine-dependents.ts"; +import flattenReleases from "./flatten-releases.ts"; +import { incrementVersion } from "./increment.ts"; +import matchFixedConstraint from "./match-fixed-constraint.ts"; +import type { InternalRelease, PreInfo } from "./types.ts"; type SnapshotReleaseParameters = { tag?: string | undefined; diff --git a/packages/assemble-release-plan/src/match-fixed-constraint.ts b/packages/assemble-release-plan/src/match-fixed-constraint.ts index 963d609f5..bea5c7199 100644 --- a/packages/assemble-release-plan/src/match-fixed-constraint.ts +++ b/packages/assemble-release-plan/src/match-fixed-constraint.ts @@ -1,8 +1,8 @@ import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { Config } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; -import { InternalRelease } from "./types"; -import { getCurrentHighestVersion, getHighestReleaseType } from "./utils"; +import type { Config } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; +import type { InternalRelease } from "./types.ts"; +import { getCurrentHighestVersion, getHighestReleaseType } from "./utils.ts"; export default function matchFixedConstraint( releases: Map, diff --git a/packages/assemble-release-plan/src/test-utils.ts b/packages/assemble-release-plan/src/test-utils.ts index 2bd16710e..d90f08a6b 100644 --- a/packages/assemble-release-plan/src/test-utils.ts +++ b/packages/assemble-release-plan/src/test-utils.ts @@ -1,5 +1,5 @@ -import { NewChangeset, Release, VersionType } from "@changesets/types"; -import { Package, Packages } from "@manypkg/get-packages"; +import type { NewChangeset, Release, VersionType } from "@changesets/types"; +import type { Package, Packages } from "@manypkg/get-packages"; function getPackage({ name, diff --git a/packages/assemble-release-plan/src/types.ts b/packages/assemble-release-plan/src/types.ts index 83826c2af..deae5194e 100644 --- a/packages/assemble-release-plan/src/types.ts +++ b/packages/assemble-release-plan/src/types.ts @@ -1,4 +1,4 @@ -import { VersionType, PreState } from "@changesets/types"; +import type { VersionType, PreState } from "@changesets/types"; export type InternalRelease = { name: string; diff --git a/packages/assemble-release-plan/src/utils.ts b/packages/assemble-release-plan/src/utils.ts index 8784f8606..426530f3b 100644 --- a/packages/assemble-release-plan/src/utils.ts +++ b/packages/assemble-release-plan/src/utils.ts @@ -1,7 +1,7 @@ -import { PackageGroup, VersionType } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; -import semverGt from "semver/functions/gt"; -import { InternalRelease } from "./types"; +import type { PackageGroup, VersionType } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; +import semverGt from "semver/functions/gt.js"; +import type { InternalRelease } from "./types.ts"; export function getHighestReleaseType( releases: InternalRelease[] diff --git a/packages/changelog-git/package.json b/packages/changelog-git/package.json index e94a3f1ba..e3649463f 100644 --- a/packages/changelog-git/package.json +++ b/packages/changelog-git/package.json @@ -2,18 +2,9 @@ "name": "@changesets/changelog-git", "version": "0.2.1", "description": "A changelog entry generator for git that writes hashes", - "main": "dist/changesets-changelog-git.cjs.js", - "module": "dist/changesets-changelog-git.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-changelog-git.cjs.mjs", - "default": "./dist/changesets-changelog-git.cjs.js" - }, - "module": "./dist/changesets-changelog-git.esm.js", - "import": "./dist/changesets-changelog-git.cjs.mjs", - "default": "./dist/changesets-changelog-git.cjs.js" - }, + ".": "./dist/changesets-changelog-git.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/changelog-git/src/index.ts b/packages/changelog-git/src/index.ts index f09d521c4..ce3924d1e 100644 --- a/packages/changelog-git/src/index.ts +++ b/packages/changelog-git/src/index.ts @@ -1,4 +1,4 @@ -import { +import type { NewChangesetWithCommit, VersionType, ChangelogFunctions, diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index 2925669fd..ad600dec2 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -2,18 +2,9 @@ "name": "@changesets/changelog-github", "version": "0.5.1", "description": "A changelog entry generator for GitHub that links to commits, PRs and users", - "main": "dist/changesets-changelog-github.cjs.js", - "module": "dist/changesets-changelog-github.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-changelog-github.cjs.mjs", - "default": "./dist/changesets-changelog-github.cjs.js" - }, - "module": "./dist/changesets-changelog-github.esm.js", - "import": "./dist/changesets-changelog-github.cjs.mjs", - "default": "./dist/changesets-changelog-github.cjs.js" - }, + ".": "./dist/changesets-changelog-github.js", "./package.json": "./package.json" }, "license": "MIT", @@ -24,7 +15,8 @@ "dotenv": "^8.1.0" }, "devDependencies": { - "@changesets/parse": "*" + "@changesets/parse": "*", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/changelog-github/src/index.test.ts b/packages/changelog-github/src/index.test.ts index a5904a22d..c4e0fe19a 100644 --- a/packages/changelog-github/src/index.test.ts +++ b/packages/changelog-github/src/index.test.ts @@ -1,12 +1,12 @@ -import changelogFunctions from "./index"; +import { vi } from "vitest"; +import changelogFunctions from "./index.ts"; import parse from "@changesets/parse"; const getReleaseLine = changelogFunctions.getReleaseLine; -jest.mock( +vi.mock( "@changesets/get-github-info", (): typeof import("@changesets/get-github-info") => { - // this is duplicated because jest.mock reordering things const data = { commit: "a085003", user: "Andarist", diff --git a/packages/changelog-github/src/index.ts b/packages/changelog-github/src/index.ts index 15618c47d..6a7adf979 100644 --- a/packages/changelog-github/src/index.ts +++ b/packages/changelog-github/src/index.ts @@ -1,5 +1,4 @@ -import { ChangelogFunctions } from "@changesets/types"; -// @ts-ignore +import type { ChangelogFunctions } from "@changesets/types"; import { config } from "dotenv"; import { getInfo, getInfoFromPullRequest } from "@changesets/get-github-info"; diff --git a/packages/cli/bin.js b/packages/cli/bin.js index d970c52c4..ab36753fa 100755 --- a/packages/cli/bin.js +++ b/packages/cli/bin.js @@ -1,4 +1,2 @@ #!/usr/bin/env node -"use strict"; - -require("./"); +import "@changesets/cli"; diff --git a/packages/cli/changelog/package.json b/packages/cli/changelog/package.json deleted file mode 100644 index d737e202c..000000000 --- a/packages/cli/changelog/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "main": "dist/changesets-cli-changelog.cjs.js", - "module": "dist/changesets-cli-changelog.esm.js" -} diff --git a/packages/cli/commit/package.json b/packages/cli/commit/package.json deleted file mode 100644 index 8746bf853..000000000 --- a/packages/cli/commit/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "main": "dist/changesets-cli-commit.cjs.js", - "module": "dist/changesets-cli-commit.esm.js" -} diff --git a/packages/cli/package.json b/packages/cli/package.json index 13de157e0..5dc77bd4e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -13,36 +13,11 @@ "changelog", "commit" ], - "main": "dist/changesets-cli.cjs.js", - "module": "dist/changesets-cli.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-cli.cjs.mjs", - "default": "./dist/changesets-cli.cjs.js" - }, - "module": "./dist/changesets-cli.esm.js", - "import": "./dist/changesets-cli.cjs.mjs", - "default": "./dist/changesets-cli.cjs.js" - }, - "./changelog": { - "types": { - "import": "./changelog/dist/changesets-cli-changelog.cjs.mjs", - "default": "./changelog/dist/changesets-cli-changelog.cjs.js" - }, - "module": "./changelog/dist/changesets-cli-changelog.esm.js", - "import": "./changelog/dist/changesets-cli-changelog.cjs.mjs", - "default": "./changelog/dist/changesets-cli-changelog.cjs.js" - }, - "./commit": { - "types": { - "import": "./commit/dist/changesets-cli-commit.cjs.mjs", - "default": "./commit/dist/changesets-cli-commit.cjs.js" - }, - "module": "./commit/dist/changesets-cli-commit.esm.js", - "import": "./commit/dist/changesets-cli-commit.cjs.mjs", - "default": "./commit/dist/changesets-cli-commit.cjs.js" - }, + ".": "./dist/changesets-cli.js", + "./changelog": "./dist/changesets-cli-changelog.js", + "./commit": "./dist/changesets-cli-commit.js", "./package.json": "./package.json", "./bin.js": "./bin.js" }, @@ -58,6 +33,7 @@ "./changelog.ts", "./commit/index.ts" ], + "type": "module", "exports": { "extra": { "./bin.js": "./bin.js" @@ -85,11 +61,11 @@ "ci-info": "^3.7.0", "enquirer": "^2.4.1", "external-editor": "^3.1.0", + "import-meta-resolve": "^4.1.0", "mri": "^1.2.0", - "p-limit": "^2.2.0", + "p-limit": "^6.1.0", "package-manager-detector": "^0.2.0", "picocolors": "^1.1.0", - "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^3.0.1", "term-size": "^2.1.0" @@ -99,8 +75,9 @@ "@changesets/test-utils": "*", "@types/semver": "^7.5.0", "human-id": "^4.1.1", - "outdent": "^0.5.0", - "strip-ansi": "^5.2.0" + "outdent": "^0.8.0", + "strip-ansi": "^7.1.0", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/cli/src/commands/add/__tests__/add.ts b/packages/cli/src/commands/add/__tests__/add.ts index 1664ae3ce..fed32c27c 100644 --- a/packages/cli/src/commands/add/__tests__/add.ts +++ b/packages/cli/src/commands/add/__tests__/add.ts @@ -1,3 +1,4 @@ +import { Mock, vi } from "vitest"; import path from "path"; import stripAnsi from "strip-ansi"; import * as git from "@changesets/git"; @@ -12,12 +13,15 @@ import { askQuestionWithEditor, askQuestion, askList, -} from "../../../utils/cli-utilities"; -import addChangeset from ".."; +} from "../../../utils/cli-utilities.ts"; +import addChangeset from "../index.ts"; +import { fileURLToPath } from "node:url"; -jest.mock("../../../utils/cli-utilities"); -jest.mock("@changesets/git"); -jest.mock("@changesets/write"); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +vi.mock("../../../utils/cli-utilities"); +vi.mock("@changesets/git"); +vi.mock("@changesets/write"); // @ts-ignore writeChangeset.mockImplementation(() => Promise.resolve("abcdefg")); // @ts-ignore @@ -370,7 +374,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a single-package repo", async () => { - const loggerErrorMock = loggerError as jest.Mock; + const loggerErrorMock = loggerError as Mock; const cwd = await testdir({ "package.json": JSON.stringify({ @@ -399,7 +403,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a monorepo", async () => { - const loggerErrorMock = loggerError as jest.Mock; + const loggerErrorMock = loggerError as Mock; const cwd = await testdir({ "package.json": JSON.stringify({ diff --git a/packages/cli/src/commands/add/createChangeset.ts b/packages/cli/src/commands/add/createChangeset.ts index 8eb5985d1..591e65735 100644 --- a/packages/cli/src/commands/add/createChangeset.ts +++ b/packages/cli/src/commands/add/createChangeset.ts @@ -1,11 +1,11 @@ import pc from "picocolors"; -import semverLt from "semver/functions/lt"; +import semverLt from "semver/functions/lt.js"; -import * as cli from "../../utils/cli-utilities"; +import * as cli from "../../utils/cli-utilities.ts"; import { error, log } from "@changesets/logger"; -import { Release, PackageJSON } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; +import type { Release, PackageJSON } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; import { ExitError } from "@changesets/errors"; const { green, yellow, red, bold, blue, cyan, gray } = pc; diff --git a/packages/cli/src/commands/add/index.ts b/packages/cli/src/commands/add/index.ts index 3e3a59318..2eaaaefc2 100644 --- a/packages/cli/src/commands/add/index.ts +++ b/packages/cli/src/commands/add/index.ts @@ -5,16 +5,16 @@ import path from "path"; import * as git from "@changesets/git"; import { error, info, log, warn } from "@changesets/logger"; import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import writeChangeset from "@changesets/write"; import { ExitError } from "@changesets/errors"; import { getPackages } from "@manypkg/get-packages"; import { ExternalEditor } from "external-editor"; -import { getCommitFunctions } from "../../commit/getCommitFunctions"; -import * as cli from "../../utils/cli-utilities"; -import { getVersionableChangedPackages } from "../../utils/versionablePackages"; -import createChangeset from "./createChangeset"; -import printConfirmationMessage from "./messages"; +import { getCommitFunctions } from "../../commit/getCommitFunctions.ts"; +import * as cli from "../../utils/cli-utilities.ts"; +import { getVersionableChangedPackages } from "../../utils/versionablePackages.ts"; +import createChangeset from "./createChangeset.ts"; +import printConfirmationMessage from "./messages.ts"; export default async function add( cwd: string, @@ -86,7 +86,7 @@ export default async function add( if (newChangeset.confirmed) { const changesetID = await writeChangeset(newChangeset, cwd, config); - const [{ getAddMessage }, commitOpts] = getCommitFunctions( + const [{ getAddMessage }, commitOpts] = await getCommitFunctions( config.commit, cwd ); diff --git a/packages/cli/src/commands/add/messages.ts b/packages/cli/src/commands/add/messages.ts index fca022f70..ee3a38cea 100644 --- a/packages/cli/src/commands/add/messages.ts +++ b/packages/cli/src/commands/add/messages.ts @@ -1,6 +1,6 @@ import pc from "picocolors"; import { log } from "@changesets/logger"; -import { Release, VersionType } from "@changesets/types"; +import type { Release, VersionType } from "@changesets/types"; export default function printConfirmationMessage( changeset: { diff --git a/packages/cli/src/commands/init/__tests__/command.ts b/packages/cli/src/commands/init/__tests__/command.ts index 89941782e..c446fc091 100644 --- a/packages/cli/src/commands/init/__tests__/command.ts +++ b/packages/cli/src/commands/init/__tests__/command.ts @@ -7,7 +7,7 @@ import { testdir, } from "@changesets/test-utils"; -import initializeCommand from ".."; +import initializeCommand from "../index.ts"; const getPaths = (cwd: string) => ({ readmePath: path.join(cwd, ".changeset/README.md"), diff --git a/packages/cli/src/commands/init/index.ts b/packages/cli/src/commands/init/index.ts index f46cc4d31..a0fff561b 100644 --- a/packages/cli/src/commands/init/index.ts +++ b/packages/cli/src/commands/init/index.ts @@ -4,6 +4,9 @@ import pc from "picocolors"; import { defaultWrittenConfig } from "@changesets/config"; import { info, log, warn, error } from "@changesets/logger"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); async function pathExists(p: string) { return fs.access(p).then( diff --git a/packages/cli/src/commands/pre/index.test.ts b/packages/cli/src/commands/pre/index.test.ts index 65778e238..46aeb6e9b 100644 --- a/packages/cli/src/commands/pre/index.test.ts +++ b/packages/cli/src/commands/pre/index.test.ts @@ -1,15 +1,16 @@ import fs from "node:fs/promises"; import path from "path"; import pc from "picocolors"; -import * as logger from "@changesets/logger"; import { ExitError } from "@changesets/errors"; -import { testdir } from "@changesets/test-utils"; +import { + mockedLogger, + silenceLogsInBlock, + testdir, +} from "@changesets/test-utils"; -import pre from "./index"; +import pre from "./index.ts"; -jest.mock("@changesets/logger"); - -let mockedLogger = logger as jest.Mocked; +silenceLogsInBlock(); describe("enterPre", () => { it("should enter", async () => { @@ -55,7 +56,7 @@ describe("enterPre", () => { expect(mockedLogger.error).toBeCalledWith( "`changeset pre enter` cannot be run when in pre mode" ); - expect(logger.info).toBeCalledWith( + expect(mockedLogger.info).toBeCalledWith( "If you're trying to exit pre mode, run `changeset pre exit`" ); }); @@ -130,7 +131,7 @@ describe("exitPre", () => { expect(mockedLogger.error).toBeCalledWith( "`changeset pre exit` can only be run when in pre mode" ); - expect(logger.info).toBeCalledWith( + expect(mockedLogger.info).toBeCalledWith( "If you're trying to enter pre mode, run `changeset pre enter`" ); }); diff --git a/packages/cli/src/commands/publish/__tests__/index.test.ts b/packages/cli/src/commands/publish/__tests__/index.test.ts index 0e32f9a01..2a5e55023 100644 --- a/packages/cli/src/commands/publish/__tests__/index.test.ts +++ b/packages/cli/src/commands/publish/__tests__/index.test.ts @@ -1,8 +1,11 @@ -import publishCommand from "../index"; +import publishCommand from "../index.ts"; import { defaultConfig } from "@changesets/config"; import * as path from "path"; -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; +import { fileURLToPath } from "node:url"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); let changelogPath = path.resolve(__dirname, "../../changelog"); let modifiedDefaultConfig: Config = { diff --git a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts index 27af17208..157cc87ba 100644 --- a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts +++ b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts @@ -1,10 +1,11 @@ -import publishPackages from "../publishPackages"; -import * as npmUtils from "../npm-utils"; +import { vi } from "vitest"; +import publishPackages from "../publishPackages.ts"; +import * as npmUtils from "../npm-utils.ts"; import { getPackages } from "@manypkg/get-packages"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; -jest.mock("../npm-utils"); -jest.mock("ci-info", () => ({ +vi.mock("../npm-utils"); +vi.mock("ci-info", () => ({ isCI: true, })); @@ -12,7 +13,7 @@ describe("publishPackages", () => { silenceLogsInBlock(); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); describe("when isCI", () => { diff --git a/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts b/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts index 24f57b768..a69c53fbe 100644 --- a/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts +++ b/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts @@ -1,12 +1,13 @@ -import publishPackages from "../publishPackages"; +import { vi } from "vitest"; +import publishPackages from "../publishPackages.ts"; import * as git from "@changesets/git"; import { defaultConfig } from "@changesets/config"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; -import runRelease from ".."; +import runRelease from "../index.ts"; -jest.mock("../../../utils/cli-utilities"); -jest.mock("@changesets/git"); -jest.mock("../publishPackages"); +vi.mock("../../../utils/cli-utilities"); +vi.mock("@changesets/git"); +vi.mock("../publishPackages"); // @ts-ignore git.tag.mockImplementation(() => Promise.resolve(true)); @@ -15,7 +16,7 @@ describe("running release", () => { silenceLogsInBlock(); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); describe("When there is no changeset commits", () => { diff --git a/packages/cli/src/commands/publish/index.ts b/packages/cli/src/commands/publish/index.ts index 7c31f4363..8269e8699 100644 --- a/packages/cli/src/commands/publish/index.ts +++ b/packages/cli/src/commands/publish/index.ts @@ -1,12 +1,12 @@ -import publishPackages, { PublishedResult } from "./publishPackages"; +import publishPackages, { type PublishedResult } from "./publishPackages.ts"; import { ExitError } from "@changesets/errors"; import { error, log, success, warn } from "@changesets/logger"; import * as git from "@changesets/git"; import { readPreState } from "@changesets/pre"; -import { Config, PreState } from "@changesets/types"; +import type { Config, PreState } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; import pc from "picocolors"; -import { getUntaggedPackages } from "../../utils/getUntaggedPackages"; +import { getUntaggedPackages } from "../../utils/getUntaggedPackages.ts"; function logReleases(pkgs: Array<{ name: string; newVersion: string }>) { const mappedPkgs = pkgs.map((p) => `${p.name}@${p.newVersion}`).join("\n"); diff --git a/packages/cli/src/commands/publish/npm-utils.ts b/packages/cli/src/commands/publish/npm-utils.ts index cfb977971..d9b9f59c3 100644 --- a/packages/cli/src/commands/publish/npm-utils.ts +++ b/packages/cli/src/commands/publish/npm-utils.ts @@ -1,15 +1,15 @@ import { ExitError } from "@changesets/errors"; import { error, info, warn } from "@changesets/logger"; -import { AccessType, PackageJSON } from "@changesets/types"; +import type { AccessType, PackageJSON } from "@changesets/types"; import pLimit from "p-limit"; import { detect } from "package-manager-detector"; import pc from "picocolors"; import spawn from "spawndamnit"; -import semverParse from "semver/functions/parse"; -import { askQuestion } from "../../utils/cli-utilities"; +import semverParse from "semver/functions/parse.js"; +import { askQuestion } from "../../utils/cli-utilities.ts"; import { isCI } from "ci-info"; -import { TwoFactorState } from "../../utils/types"; -import { getLastJsonObjectFromString } from "../../utils/getLastJsonObjectFromString"; +import type { TwoFactorState } from "../../utils/types.ts"; +import { getLastJsonObjectFromString } from "../../utils/getLastJsonObjectFromString.ts"; interface PublishOptions { cwd: string; diff --git a/packages/cli/src/commands/publish/publishPackages.ts b/packages/cli/src/commands/publish/publishPackages.ts index aeddd6566..c90f30ddd 100644 --- a/packages/cli/src/commands/publish/publishPackages.ts +++ b/packages/cli/src/commands/publish/publishPackages.ts @@ -1,12 +1,12 @@ import { join } from "path"; -import semverParse from "semver/functions/parse"; +import semverParse from "semver/functions/parse.js"; import pc from "picocolors"; -import { AccessType } from "@changesets/types"; -import { Package } from "@manypkg/get-packages"; +import type { AccessType } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; import { info, warn } from "@changesets/logger"; -import { PreState } from "@changesets/types"; -import * as npmUtils from "./npm-utils"; -import { TwoFactorState } from "../../utils/types"; +import type { PreState } from "@changesets/types"; +import * as npmUtils from "./npm-utils.ts"; +import type { TwoFactorState } from "../../utils/types.ts"; import { isCI } from "ci-info"; type PublishedState = "never" | "published" | "only-pre"; diff --git a/packages/cli/src/commands/status/__tests__/status.ts b/packages/cli/src/commands/status/__tests__/status.ts index 985271aa3..1b67c51ef 100644 --- a/packages/cli/src/commands/status/__tests__/status.ts +++ b/packages/cli/src/commands/status/__tests__/status.ts @@ -1,13 +1,14 @@ +import { vi } from "vitest"; import { read } from "@changesets/config"; import * as git from "@changesets/git"; import { gitdir, outputFile, silenceLogsInBlock } from "@changesets/test-utils"; -import { ReleasePlan } from "@changesets/types"; +import type { ReleasePlan } from "@changesets/types"; import writeChangeset from "@changesets/write"; import { getPackages } from "@manypkg/get-packages"; import fs from "node:fs/promises"; import path from "path"; import spawn from "spawndamnit"; -import status from ".."; +import status from "../index.ts"; async function readConfig(cwd: string) { return read(cwd, await getPackages(cwd)); @@ -44,7 +45,7 @@ describe("status", () => { silenceLogsInBlock(); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it("should get the status for a simple changeset and return the release object", async () => { @@ -191,7 +192,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -222,7 +223,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -254,7 +255,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -367,7 +368,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -410,7 +411,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -516,7 +517,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -566,7 +567,7 @@ describe("status", () => { }); // @ts-ignore - jest.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation(() => {}); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); diff --git a/packages/cli/src/commands/status/index.ts b/packages/cli/src/commands/status/index.ts index efea1c663..167ff9066 100644 --- a/packages/cli/src/commands/status/index.ts +++ b/packages/cli/src/commands/status/index.ts @@ -3,13 +3,13 @@ import fs from "node:fs/promises"; import path from "path"; import getReleasePlan from "@changesets/get-release-plan"; import { error, info, log, warn } from "@changesets/logger"; -import { +import type { ComprehensiveRelease, Config, Release, VersionType, } from "@changesets/types"; -import { getVersionableChangedPackages } from "../../utils/versionablePackages"; +import { getVersionableChangedPackages } from "../../utils/versionablePackages.ts"; export default async function status( cwd: string, diff --git a/packages/cli/src/commands/tag/__tests__/index.test.ts b/packages/cli/src/commands/tag/__tests__/index.test.ts index 483a97cbc..036984039 100644 --- a/packages/cli/src/commands/tag/__tests__/index.test.ts +++ b/packages/cli/src/commands/tag/__tests__/index.test.ts @@ -1,10 +1,11 @@ +import { Mock, vi } from "vitest"; import { read } from "@changesets/config"; import * as git from "@changesets/git"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; import { getPackages } from "@manypkg/get-packages"; -import tag from "../index"; +import tag from "../index.ts"; -jest.mock("@changesets/git"); +vi.mock("@changesets/git"); async function readConfig(cwd: string) { return read(cwd, await getPackages(cwd)); @@ -34,13 +35,13 @@ describe("tag command", () => { ".changeset/config.json": JSON.stringify({}), }); - (git.getAllTags as jest.Mock).mockReturnValue(new Set()); + (git.getAllTags as Mock).mockReturnValue(new Set()); expect(git.tag).not.toHaveBeenCalled(); await tag(cwd, await readConfig(cwd)); expect(git.tag).toHaveBeenCalledTimes(2); - expect((git.tag as jest.Mock).mock.calls[0][0]).toEqual("pkg-a@1.0.0"); - expect((git.tag as jest.Mock).mock.calls[1][0]).toEqual("pkg-b@1.0.0"); + expect((git.tag as Mock).mock.calls[0][0]).toEqual("pkg-a@1.0.0"); + expect((git.tag as Mock).mock.calls[1][0]).toEqual("pkg-b@1.0.0"); }); it("skips tags that already exist", async () => { @@ -63,7 +64,7 @@ describe("tag command", () => { ".changeset/config.json": JSON.stringify({}), }); - (git.getAllTags as jest.Mock).mockReturnValue( + (git.getAllTags as Mock).mockReturnValue( new Set([ // pkg-a should not be re-tagged "pkg-a@1.0.0", @@ -73,7 +74,7 @@ describe("tag command", () => { expect(git.tag).not.toHaveBeenCalled(); await tag(cwd, await readConfig(cwd)); expect(git.tag).toHaveBeenCalledTimes(1); - expect((git.tag as jest.Mock).mock.calls[0][0]).toEqual("pkg-b@1.0.0"); + expect((git.tag as Mock).mock.calls[0][0]).toEqual("pkg-b@1.0.0"); }); }); @@ -92,12 +93,12 @@ describe("tag command", () => { }, }), }); - (git.getAllTags as jest.Mock).mockReturnValue(new Set()); + (git.getAllTags as Mock).mockReturnValue(new Set()); expect(git.tag).not.toHaveBeenCalled(); await tag(cwd, await readConfig(cwd)); expect(git.tag).toHaveBeenCalledTimes(1); - expect((git.tag as jest.Mock).mock.calls[0][0]).toEqual("v1.0.0"); + expect((git.tag as Mock).mock.calls[0][0]).toEqual("v1.0.0"); }); it("does not tag on private", async () => { @@ -109,7 +110,7 @@ describe("tag command", () => { }), ".changeset/config.json": JSON.stringify({}), }); - (git.getAllTags as jest.Mock).mockReturnValue(new Set()); + (git.getAllTags as Mock).mockReturnValue(new Set()); expect(git.tag).not.toHaveBeenCalled(); await tag(cwd, await readConfig(cwd)); diff --git a/packages/cli/src/commands/tag/index.ts b/packages/cli/src/commands/tag/index.ts index dbc4fec2d..9508f320e 100644 --- a/packages/cli/src/commands/tag/index.ts +++ b/packages/cli/src/commands/tag/index.ts @@ -1,9 +1,9 @@ import * as git from "@changesets/git"; import { log } from "@changesets/logger"; import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; -import { getUntaggedPackages } from "../../utils/getUntaggedPackages"; +import { getUntaggedPackages } from "../../utils/getUntaggedPackages.ts"; export default async function tag(cwd: string, config: Config) { const { packages, tool } = await getPackages(cwd); diff --git a/packages/cli/src/commands/version/index.ts b/packages/cli/src/commands/version/index.ts index c28a92e0d..b40b77a35 100644 --- a/packages/cli/src/commands/version/index.ts +++ b/packages/cli/src/commands/version/index.ts @@ -2,16 +2,16 @@ import pc from "picocolors"; import path from "path"; import * as git from "@changesets/git"; import { log, warn, error } from "@changesets/logger"; -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import applyReleasePlan from "@changesets/apply-release-plan"; import readChangesets from "@changesets/read"; import assembleReleasePlan from "@changesets/assemble-release-plan"; import { getPackages } from "@manypkg/get-packages"; - import { readPreState } from "@changesets/pre"; import { ExitError } from "@changesets/errors"; -import { getCommitFunctions } from "../../commit/getCommitFunctions"; +import { getCommitFunctions } from "../../commit/getCommitFunctions.ts"; import { getCurrentCommitId } from "@changesets/git"; +import { fileURLToPath } from "node:url"; let importantSeparator = pc.red( "===============================IMPORTANT!===============================" @@ -84,10 +84,10 @@ export default async function version( packages, releaseConfig, options.snapshot, - __dirname + path.dirname(fileURLToPath(import.meta.url)) ); - const [{ getVersionMessage }, commitOpts] = getCommitFunctions( + const [{ getVersionMessage }, commitOpts] = await getCommitFunctions( releaseConfig.commit, cwd ); diff --git a/packages/cli/src/commands/version/version.test.ts b/packages/cli/src/commands/version/version.test.ts index 95ac8b412..963da38bf 100644 --- a/packages/cli/src/commands/version/version.test.ts +++ b/packages/cli/src/commands/version/version.test.ts @@ -1,16 +1,21 @@ +import { Mock, vi } from "vitest"; import { defaultConfig } from "@changesets/config"; import * as git from "@changesets/git"; -import { warn } from "@changesets/logger"; -import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; -import { Changeset, Config } from "@changesets/types"; +import { + linkNodeModules, + mockedLogger, + silenceLogsInBlock, + testdir, +} from "@changesets/test-utils"; +import type { Changeset, Config } from "@changesets/types"; import writeChangeset from "@changesets/write"; import { getPackages } from "@manypkg/get-packages"; -import humanId from "human-id"; +import { humanId } from "human-id"; import assert from "node:assert/strict"; import fs from "node:fs/promises"; import path from "node:path"; -import pre from "../pre"; -import version from "./index"; +import pre from "../pre/index.ts"; +import version from "./index.ts"; function mockGlobalDate< Args extends any[], @@ -43,11 +48,9 @@ function mockGlobalDate< }; } -let changelogPath = path.resolve(__dirname, "../../changelog"); -let commitPath = path.resolve(__dirname, "../../commit"); let modifiedDefaultConfig: Config = { ...defaultConfig, - changelog: [changelogPath, null], + changelog: ["@changesets/cli/changelog", null], }; let defaultOptions = { @@ -58,10 +61,10 @@ let defaultOptions = { // This is from bolt's error log const consoleError = console.error; -jest.mock("../../utils/cli-utilities"); -jest.mock("@changesets/git"); -jest.mock("human-id"); -jest.mock("@changesets/logger"); +vi.mock("../../utils/cli-utilities"); +vi.mock("@changesets/git"); +vi.mock("human-id"); +vi.mock("@changesets/logger"); // @ts-ignore git.add.mockImplementation(() => Promise.resolve(true)); @@ -104,20 +107,20 @@ const getChangelog = async (pkgName: string, cwd: string) => { beforeEach(() => { let i = 0; - (humanId as jest.Mock).mockImplementation(() => { + (humanId as Mock<() => string>).mockImplementation(() => { return `some-id-${i++}`; }); - console.error = jest.fn(); + console.error = vi.fn(); }); afterEach(() => { console.error = consoleError; }); -describe("running version in a simple project", () => { - silenceLogsInBlock(); +silenceLogsInBlock(); +describe("running version in a simple project", () => { describe("when there are no changeset commits", () => { it("should warn if no changeset commits exist", async () => { const cwd = await testdir({ @@ -132,8 +135,7 @@ describe("running version in a simple project", () => { ".changeset/config.json": JSON.stringify({}), }); await version(cwd, defaultOptions, modifiedDefaultConfig); - // @ts-ignore - const loggerWarnCalls = warn.mock.calls; + const loggerWarnCalls = mockedLogger.warn!.mock.calls; expect(loggerWarnCalls.length).toEqual(1); expect(loggerWarnCalls[0][0]).toEqual( "No unreleased changesets found, exiting." @@ -302,7 +304,7 @@ describe("running version in a simple project", () => { ], cwd ); - const spy = jest.spyOn(git, "commit"); + const spy = vi.spyOn(git, "commit"); await version(cwd, defaultOptions, modifiedDefaultConfig); @@ -327,6 +329,9 @@ describe("running version in a simple project", () => { version: "1.0.0", }), }); + + await linkNodeModules(cwd); + const ids = await writeChangesets( [ { @@ -339,13 +344,13 @@ describe("running version in a simple project", () => { ], cwd ); - const spy = jest.spyOn(git, "add"); + const spy = vi.spyOn(git, "add"); expect(spy).not.toHaveBeenCalled(); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, - commit: [commitPath, null], + commit: ["@changesets/cli/commit", null], }); expect(spy).toHaveBeenCalled(); @@ -377,6 +382,9 @@ describe("running version in a simple project", () => { version: "1.0.0", }), }); + + await linkNodeModules(cwd); + await writeChangesets( [ { @@ -389,13 +397,13 @@ describe("running version in a simple project", () => { ], cwd ); - const spy = jest.spyOn(git, "commit"); + const spy = vi.spyOn(git, "commit"); expect(spy).not.toHaveBeenCalled(); await version(cwd, defaultOptions, { ...modifiedDefaultConfig, - commit: [commitPath, null], + commit: ["@changesets/cli/commit", null], }); expect(spy).toHaveBeenCalled(); @@ -1275,7 +1283,7 @@ describe("snapshot release", () => { ], cwd ); - const spy = jest.spyOn(git, "commit"); + const spy = vi.spyOn(git, "commit"); expect(spy).not.toHaveBeenCalled(); @@ -1286,7 +1294,7 @@ describe("snapshot release", () => { }, { ...modifiedDefaultConfig, - commit: [commitPath, null], + commit: ["@changesets/cli/commit", null], } ); @@ -1421,7 +1429,7 @@ describe("snapshot release", () => { cwd ); - expect( + await expect( version( cwd, { snapshot: true }, @@ -1470,7 +1478,7 @@ describe("snapshot release", () => { cwd ); - expect( + await expect( version( cwd, { snapshot: "test" }, @@ -1507,7 +1515,7 @@ describe("snapshot release", () => { [undefined, "canary", "0.0.0-canary-20211213000730"], [null, "alpha", "0.0.0-alpha-20211213000730"], ])( - "should customize release correctly based on snapshotPrereleaseTemplate template: %p (tag: '%p')", + "should customize release correctly based on snapshotPrereleaseTemplate template: %s (tag: '%s')", mockGlobalDate( async (snapshotTemplate, snapshotValue, expectedResult) => { const cwd = await testdir({ @@ -1884,10 +1892,10 @@ describe("updateInternalDependents: always", () => { // pkg-b and - pkg-c are not being released so changelogs should not be // generated for them - expect( + await expect( fs.access(await getFilePath("pkg-b", "CHANGELOG.md", cwd)) ).rejects.toThrow(); - expect( + await expect( fs.access(await getFilePath("pkg-c", "CHANGELOG.md", cwd)) ).rejects.toThrow(); }); @@ -1941,7 +1949,7 @@ describe("updateInternalDependents: always", () => { ); // shouldn't be created - expect( + await expect( fs.access(await getFilePath("pkg-a", "CHANGELOG.md", cwd)) ).rejects.toThrow(); @@ -3219,8 +3227,6 @@ describe("pre", () => { }); describe("with privatePackages", () => { - silenceLogsInBlock(); - it("should skip private packages", async () => { const cwd = await testdir({ "package.json": JSON.stringify({ diff --git a/packages/cli/src/commit/commit.test.ts b/packages/cli/src/commit/commit.test.ts index cd2af9711..e6c8a5e78 100644 --- a/packages/cli/src/commit/commit.test.ts +++ b/packages/cli/src/commit/commit.test.ts @@ -1,6 +1,6 @@ -import outdent from "outdent"; -import defaultCommitFunctions from "."; -import { NewChangeset, ReleasePlan } from "@changesets/types"; +import { outdent } from "outdent"; +import defaultCommitFunctions from "./index.ts"; +import type { NewChangeset, ReleasePlan } from "@changesets/types"; const simpleChangeset: NewChangeset = { summary: "This is a summary", diff --git a/packages/cli/src/commit/getCommitFunctions.ts b/packages/cli/src/commit/getCommitFunctions.ts index 50c66c5f8..dc09851ee 100644 --- a/packages/cli/src/commit/getCommitFunctions.ts +++ b/packages/cli/src/commit/getCommitFunctions.ts @@ -1,20 +1,21 @@ -import { CommitFunctions } from "@changesets/types"; +import type { CommitFunctions } from "@changesets/types"; import path from "path"; -import resolveFrom from "resolve-from"; +import { resolve } from "import-meta-resolve"; +import { pathToFileURL } from "node:url"; -export function getCommitFunctions( +export async function getCommitFunctions( commit: false | readonly [string, any], cwd: string -): [CommitFunctions, any] { +): Promise<[CommitFunctions, any]> { let commitFunctions: CommitFunctions = {}; if (!commit) { return [commitFunctions, null]; } let commitOpts: any = commit[1]; let changesetPath = path.join(cwd, ".changeset"); - let commitPath = resolveFrom(changesetPath, commit[0]); + let commitPath = resolve(commit[0], pathToFileURL(changesetPath).toString()); - let possibleCommitFunc = require(commitPath); + let possibleCommitFunc = await import(commitPath); if (possibleCommitFunc.default) { possibleCommitFunc = possibleCommitFunc.default; } diff --git a/packages/cli/src/commit/index.ts b/packages/cli/src/commit/index.ts index 0ed4c590c..55af51086 100644 --- a/packages/cli/src/commit/index.ts +++ b/packages/cli/src/commit/index.ts @@ -1,4 +1,8 @@ -import { Changeset, CommitFunctions, ReleasePlan } from "@changesets/types"; +import type { + Changeset, + CommitFunctions, + ReleasePlan, +} from "@changesets/types"; type SkipCI = boolean | "add" | "version"; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index de627c493..91289baa7 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -2,7 +2,10 @@ import mri from "mri"; import { ExitError, InternalError } from "@changesets/errors"; import { error } from "@changesets/logger"; import { format } from "util"; -import { run } from "./run"; +import { run } from "./run.ts"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); const args = process.argv.slice(2); diff --git a/packages/cli/src/run.test.ts b/packages/cli/src/run.test.ts index bc99d64fa..ae50a2427 100644 --- a/packages/cli/src/run.test.ts +++ b/packages/cli/src/run.test.ts @@ -1,10 +1,15 @@ -import { error } from "@changesets/logger"; -import { testdir } from "@changesets/test-utils"; +import { vi } from "vitest"; +import { + silenceLogsInBlock, + mockedLogger, + testdir, +} from "@changesets/test-utils"; -import { run } from "./run"; +import { run } from "./run.ts"; -jest.mock("@changesets/logger"); -jest.mock("./commands/version"); +vi.mock("./commands/version"); + +silenceLogsInBlock(); describe("cli", () => { describe("version", () => { @@ -26,7 +31,7 @@ describe("cli", () => { // ignore errors. We just want to validate the error message } - const loggerErrorCalls = (error as any).mock.calls; + const loggerErrorCalls = mockedLogger.error!.mock.calls; expect(loggerErrorCalls.length).toEqual(1); expect(loggerErrorCalls[0][0]).toEqual( `The package "pkg-c" is passed to the \`--ignore\` option but it is not found in the project. You may have misspelled the package name.` @@ -58,7 +63,7 @@ describe("cli", () => { // ignore the error. We just want to validate the error message } - const loggerErrorCalls = (error as any).mock.calls; + const loggerErrorCalls = mockedLogger.error!.mock.calls; expect(loggerErrorCalls.length).toEqual(1); expect(loggerErrorCalls[0][0]).toMatchInlineSnapshot( `"The package "pkg-a" depends on the skipped package "pkg-b" (either by \`ignore\` option or by \`privatePackages.version\`), but "pkg-a" is not being skipped. Please pass "pkg-a" to the \`--ignore\` flag."` @@ -96,7 +101,7 @@ describe("cli", () => { // ignore the error. We just want to validate the error message } - const loggerErrorCalls = (error as any).mock.calls; + const loggerErrorCalls = mockedLogger.error!.mock.calls; expect(loggerErrorCalls.length).toEqual(0); }); @@ -131,7 +136,7 @@ describe("cli", () => { // ignore the error. We just want to validate the error message } - const loggerErrorCalls = (error as any).mock.calls; + const loggerErrorCalls = mockedLogger.error!.mock.calls; expect(loggerErrorCalls.length).toEqual(0); }); @@ -162,7 +167,7 @@ describe("cli", () => { // ignore errors. We just want to validate the error message } - const loggerErrorCalls = (error as any).mock.calls; + const loggerErrorCalls = mockedLogger.error!.mock.calls; expect(loggerErrorCalls.length).toEqual(1); expect(loggerErrorCalls[0][0]).toEqual( `It looks like you are trying to use the \`--ignore\` option while ignore is defined in the config file. This is currently not allowed, you can only use one of them at a time.` diff --git a/packages/cli/src/run.ts b/packages/cli/src/run.ts index 2efc0a817..dc36bd718 100644 --- a/packages/cli/src/run.ts +++ b/packages/cli/src/run.ts @@ -3,18 +3,18 @@ import { ExitError } from "@changesets/errors"; import { getDependentsGraph } from "@changesets/get-dependents-graph"; import { error } from "@changesets/logger"; import { shouldSkipPackage } from "@changesets/should-skip-package"; -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; import fs from "node:fs/promises"; import path from "path"; -import add from "./commands/add"; -import init from "./commands/init"; -import pre from "./commands/pre"; -import publish from "./commands/publish"; -import status from "./commands/status"; -import tagCommand from "./commands/tag"; -import version from "./commands/version"; -import { CliOptions } from "./types"; +import add from "./commands/add/index.ts"; +import init from "./commands/init/index.ts"; +import pre from "./commands/pre/index.ts"; +import publish from "./commands/publish/index.ts"; +import status from "./commands/status/index.ts"; +import tagCommand from "./commands/tag/index.ts"; +import version from "./commands/version/index.ts"; +import type { CliOptions } from "./types.ts"; export async function run( input: string[], diff --git a/packages/cli/src/utils/cli-utilities.ts b/packages/cli/src/utils/cli-utilities.ts index 2a1f4f63c..87efa7fad 100644 --- a/packages/cli/src/utils/cli-utilities.ts +++ b/packages/cli/src/utils/cli-utilities.ts @@ -1,9 +1,12 @@ // @ts-ignore it's not worth writing a TS declaration file in this repo for a tiny module we use once like this import termSize from "term-size"; import { error, prefix, success } from "@changesets/logger"; -import { prompt } from "enquirer"; +import enuirer from "enquirer"; import { edit } from "external-editor"; -import { symbols } from "ansi-colors"; +import ansiColors from "ansi-colors"; + +const { prompt } = enuirer; +const { symbols } = ansiColors; // those types are not exported from `enquirer` so we extract them here // so we can make type assertions using them because `enquirer` types do no support `prefix` right now diff --git a/packages/cli/src/utils/getLastJsonObjectFromString.test.ts b/packages/cli/src/utils/getLastJsonObjectFromString.test.ts index e9aec8491..b23b130a6 100644 --- a/packages/cli/src/utils/getLastJsonObjectFromString.test.ts +++ b/packages/cli/src/utils/getLastJsonObjectFromString.test.ts @@ -1,4 +1,4 @@ -import { getLastJsonObjectFromString } from "./getLastJsonObjectFromString"; +import { getLastJsonObjectFromString } from "./getLastJsonObjectFromString.ts"; describe("getLastJsonObjectFromString", () => { it("should handle stringified object", () => { diff --git a/packages/cli/src/utils/getUntaggedPackages.ts b/packages/cli/src/utils/getUntaggedPackages.ts index b98648cd3..671b76018 100644 --- a/packages/cli/src/utils/getUntaggedPackages.ts +++ b/packages/cli/src/utils/getUntaggedPackages.ts @@ -1,6 +1,6 @@ import * as git from "@changesets/git"; -import { Package, Tool } from "@manypkg/get-packages"; -import { PublishedResult } from "../commands/publish/publishPackages"; +import type { Package, Tool } from "@manypkg/get-packages"; +import type { PublishedResult } from "../commands/publish/publishPackages.ts"; export async function getUntaggedPackages( packages: Package[], diff --git a/packages/cli/src/utils/versionablePackages.ts b/packages/cli/src/utils/versionablePackages.ts index 7b9937964..611dbe151 100644 --- a/packages/cli/src/utils/versionablePackages.ts +++ b/packages/cli/src/utils/versionablePackages.ts @@ -1,4 +1,4 @@ -import { Config } from "@changesets/types"; +import type { Config } from "@changesets/types"; import { getChangedPackagesSinceRef } from "@changesets/git"; import { shouldSkipPackage } from "@changesets/should-skip-package"; diff --git a/packages/config/package.json b/packages/config/package.json index 246423936..0855804ed 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -2,18 +2,9 @@ "name": "@changesets/config", "version": "3.1.0", "description": "Utilities for reading and parsing Changeset's config", - "main": "dist/changesets-config.cjs.js", - "module": "dist/changesets-config.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-config.cjs.mjs", - "default": "./dist/changesets-config.cjs.js" - }, - "module": "./dist/changesets-config.esm.js", - "import": "./dist/changesets-config.cjs.mjs", - "default": "./dist/changesets-config.cjs.js" - }, + ".": "./dist/changesets-config.js", "./package.json": "./package.json" }, "license": "MIT", @@ -33,8 +24,8 @@ "devDependencies": { "@changesets/test-utils": "*", "@types/micromatch": "^4.0.1", - "jest-in-case": "^1.0.2", - "outdent": "^0.5.0" + "outdent": "^0.8.0", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/config/src/index.test.ts b/packages/config/src/index.test.ts index e857a3799..0383a4649 100644 --- a/packages/config/src/index.test.ts +++ b/packages/config/src/index.test.ts @@ -1,12 +1,12 @@ -import { read, parse } from "./"; -import jestInCase from "jest-in-case"; +import { vi } from "vitest"; +import { read, parse } from "./index.ts"; import * as logger from "@changesets/logger"; -import { Config, WrittenConfig } from "@changesets/types"; -import { Packages, getPackages } from "@manypkg/get-packages"; +import type { Config, WrittenConfig } from "@changesets/types"; +import { type Packages, getPackages } from "@manypkg/get-packages"; import { testdir } from "@changesets/test-utils"; -import outdent from "outdent"; +import { outdent } from "outdent"; -jest.mock("@changesets/logger"); +vi.mock("@changesets/logger"); type CorrectCase = { packages?: string[]; @@ -422,18 +422,18 @@ let correctCases: Record = { }, }; -jestInCase( - "parse", - (testCase) => { - expect( - parse( - testCase.input, - withPackages(testCase.packages || ["pkg-a", "pkg-b"]) - ) - ).toEqual(testCase.output); - }, - correctCases -); +describe("parse", () => { + test.each( + Object.keys(correctCases).map((title) => ({ + title, + ...correctCases[title], + })) + )("$title", ({ input, output, packages }) => { + expect(parse(input, withPackages(packages || ["pkg-a", "pkg-b"]))).toEqual( + output + ); + }); +}); let unsafeParse = parse as any; @@ -442,8 +442,8 @@ describe("parser errors", () => { expect(() => { unsafeParse({ changelog: {} }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`changelog\` option is set as {} when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])" + [Error: Some errors occurred when validating the changesets config: + The \`changelog\` option is set as {} when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])] `); }); test("changelog array with 3 values", () => { @@ -453,39 +453,39 @@ describe("parser errors", () => { defaultPackages ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`changelog\` option is set as [ "some-module", "something", "other" - ] when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])" + ] when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])] `); }); test("changelog array with first value not string", () => { expect(() => { unsafeParse({ changelog: [false, "something"] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`changelog\` option is set as [ false, "something" - ] when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])" + ] when the only valid values are undefined, false, a module path(e.g. "@changesets/cli/changelog" or "./some-module") or a tuple with a module path and config for the changelog generator(e.g. ["@changesets/cli/changelog", { someOption: true }])] `); }); test("access other string", () => { expect(() => { unsafeParse({ access: "something" }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`access\` option is set as "something" when the only valid values are undefined, "public" or "restricted"" + [Error: Some errors occurred when validating the changesets config: + The \`access\` option is set as "something" when the only valid values are undefined, "public" or "restricted"] `); }); test("commit invalid value", () => { expect(() => { unsafeParse({ commit: {} }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`commit\` option is set as {} when the only valid values are undefined or a boolean or a module path (e.g. "@changesets/cli/commit" or "./some-module") or a tuple with a module path and config for the commit message generator (e.g. ["@changesets/cli/commit", { "skipCI": "version" }])" + [Error: Some errors occurred when validating the changesets config: + The \`commit\` option is set as {} when the only valid values are undefined or a boolean or a module path (e.g. "@changesets/cli/commit" or "./some-module") or a tuple with a module path and config for the commit message generator (e.g. ["@changesets/cli/commit", { "skipCI": "version" }])] `); }); describe("fixed", () => { @@ -493,54 +493,54 @@ describe("parser errors", () => { expect(() => { unsafeParse({ fixed: {} }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`fixed\` option is set as {} when the only valid values are undefined or an array of arrays of package names" + [Error: Some errors occurred when validating the changesets config: + The \`fixed\` option is set as {} when the only valid values are undefined or an array of arrays of package names] `); }); test("array of non array", () => { expect(() => { unsafeParse({ fixed: [{}] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`fixed\` option is set as [ {} - ] when the only valid values are undefined or an array of arrays of package names" + ] when the only valid values are undefined or an array of arrays of package names] `); }); test("array of array of non-string", () => { expect(() => { unsafeParse({ fixed: [[{}]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`fixed\` option is set as [ [ {} ] - ] when the only valid values are undefined or an array of arrays of package names" + ] when the only valid values are undefined or an array of arrays of package names] `); }); test("package that does not exist", () => { expect(() => { parse({ fixed: [["not-existing"]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "not-existing" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "not-existing" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] `); }); test("package that does not exist (using glob expressions)", () => { expect(() => { parse({ fixed: [["pkg-a", "foo/*"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "foo/*" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "foo/*" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] `); }); test("package in two fixed groups", () => { expect(() => { parse({ fixed: [["pkg-a"], ["pkg-a"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.] `); }); test("package in two fixed groups (using glob expressions)", () => { @@ -550,9 +550,9 @@ describe("parser errors", () => { withPackages(["pkg-a", "pkg-b"]) ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch. - The package "pkg-b" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-b" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.] `); }); }); @@ -562,54 +562,54 @@ describe("parser errors", () => { expect(() => { unsafeParse({ linked: {} }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`linked\` option is set as {} when the only valid values are undefined or an array of arrays of package names" + [Error: Some errors occurred when validating the changesets config: + The \`linked\` option is set as {} when the only valid values are undefined or an array of arrays of package names] `); }); test("array of non array", () => { expect(() => { unsafeParse({ linked: [{}] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`linked\` option is set as [ {} - ] when the only valid values are undefined or an array of arrays of package names" + ] when the only valid values are undefined or an array of arrays of package names] `); }); test("array of array of non-string", () => { expect(() => { unsafeParse({ linked: [[{}]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`linked\` option is set as [ [ {} ] - ] when the only valid values are undefined or an array of arrays of package names" + ] when the only valid values are undefined or an array of arrays of package names] `); }); test("package that does not exist", () => { expect(() => { parse({ linked: [["not-existing"]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "not-existing" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "not-existing" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] `); }); test("package that does not exist (using glob expressions)", () => { expect(() => { parse({ linked: [["pkg-a", "foo/*"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "foo/*" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "foo/*" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] `); }); test("package in two linked groups", () => { expect(() => { parse({ linked: [["pkg-a"], ["pkg-a"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + [Error: Some errors occurred when validating the changesets config: + The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.] `); }); test("package in two linked groups (using glob expressions)", () => { @@ -619,9 +619,9 @@ describe("parser errors", () => { withPackages(["pkg-a", "pkg-b"]) ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch. - The package "pkg-b" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-b" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.] `); }); }); @@ -636,40 +636,40 @@ describe("parser errors", () => { expect(() => { unsafeParse({ updateInternalDependencies: "major" }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`updateInternalDependencies\` option is set as "major" but can only be 'patch' or 'minor'" + [Error: Some errors occurred when validating the changesets config: + The \`updateInternalDependencies\` option is set as "major" but can only be 'patch' or 'minor'] `); }); test("ignore non-array", () => { expect(() => unsafeParse({ ignore: "string value" }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`ignore\` option is set as "string value" when the only valid values are undefined or an array of package names" - `); + [Error: Some errors occurred when validating the changesets config: + The \`ignore\` option is set as "string value" when the only valid values are undefined or an array of package names] + `); }); test("ignore array of non-string", () => { expect(() => unsafeParse({ ignore: [123, "pkg-a"] }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`ignore\` option is set as [ - 123, - "pkg-a" - ] when the only valid values are undefined or an array of package names" - `); + [Error: Some errors occurred when validating the changesets config: + The \`ignore\` option is set as [ + 123, + "pkg-a" + ] when the only valid values are undefined or an array of package names] + `); }); test("ignore package that does not exist", () => { expect(() => unsafeParse({ ignore: ["pkg-a"] }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "pkg-a" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." - `); + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "pkg-a" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] + `); }); test("ignore package that does not exist (using glob expressions)", () => { expect(() => unsafeParse({ ignore: ["pkg-*"] }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package or glob expression "pkg-*" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." - `); + [Error: Some errors occurred when validating the changesets config: + The package or glob expression "pkg-*" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.] + `); }); test("ignore missing dependent packages", async () => { expect(() => @@ -694,8 +694,8 @@ describe("parser errors", () => { } ) ).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The package "pkg-a" depends on the ignored package "pkg-b", but "pkg-a" is not being ignored. Please add "pkg-a" to the \`ignore\` option." + [Error: Some errors occurred when validating the changesets config: + The package "pkg-a" depends on the ignored package "pkg-b", but "pkg-a" is not being ignored. Please add "pkg-a" to the \`ignore\` option.] `); }); @@ -710,8 +710,8 @@ describe("parser errors", () => { defaultPackages ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`onlyUpdatePeerDependentsWhenOutOfRange\` option is set as "not true" when the only valid values are undefined or a boolean" + [Error: Some errors occurred when validating the changesets config: + The \`onlyUpdatePeerDependentsWhenOutOfRange\` option is set as "not true" when the only valid values are undefined or a boolean] `); }); @@ -726,8 +726,8 @@ describe("parser errors", () => { defaultPackages ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`snapshot.useCalculatedVersion\` option is set as "not true" when the only valid values are undefined or a boolean" + [Error: Some errors occurred when validating the changesets config: + The \`snapshot.useCalculatedVersion\` option is set as "not true" when the only valid values are undefined or a boolean] `); }); @@ -742,28 +742,28 @@ describe("parser errors", () => { defaultPackages ); }).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`useCalculatedVersionForSnapshots\` option is set as "not true" when the only valid values are undefined or a boolean" + [Error: Some errors occurred when validating the changesets config: + The \`useCalculatedVersionForSnapshots\` option is set as "not true" when the only valid values are undefined or a boolean] `); }); test("changed files patterns - non-array", () => { expect(() => unsafeParse({ changedFilePatterns: false }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`changedFilePatterns\` option is set as false but the \`changedFilePatterns\` option can only be set as an array of strings" - `); + [Error: Some errors occurred when validating the changesets config: + The \`changedFilePatterns\` option is set as false but the \`changedFilePatterns\` option can only be set as an array of strings] + `); }); test("changed files patterns - non-string element", () => { expect(() => unsafeParse({ changedFilePatterns: ["src/**", 100] }, defaultPackages) ).toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: + [Error: Some errors occurred when validating the changesets config: The \`changedFilePatterns\` option is set as [ "src/**", 100 - ] but the \`changedFilePatterns\` option can only be set as an array of strings" + ] but the \`changedFilePatterns\` option can only be set as an array of strings] `); }); }); diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index 245f65860..72f903d8d 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -3,16 +3,20 @@ import path from "path"; import micromatch from "micromatch"; import { ValidationError } from "@changesets/errors"; import { warn } from "@changesets/logger"; -import { Packages, getPackages } from "@manypkg/get-packages"; -import { +import { type Packages, getPackages } from "@manypkg/get-packages"; +import type { Config, WrittenConfig, Fixed, Linked, PackageGroup, } from "@changesets/types"; -import packageJson from "../package.json"; import { getDependentsGraph } from "@changesets/get-dependents-graph"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); +// eslint-disable-next-line import/no-commonjs +const packageJson = require("../package.json"); export let defaultWrittenConfig = { $schema: `https://unpkg.com/@changesets/config@${packageJson.version}/schema.json`, diff --git a/packages/errors/package.json b/packages/errors/package.json index 273c45d52..538ad26ae 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -2,25 +2,13 @@ "name": "@changesets/errors", "version": "0.2.0", "description": "Error classes for @changesets", - "main": "dist/changesets-errors.cjs.js", - "module": "dist/changesets-errors.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-errors.cjs.mjs", - "default": "./dist/changesets-errors.cjs.js" - }, - "module": "./dist/changesets-errors.esm.js", - "import": "./dist/changesets-errors.cjs.mjs", - "default": "./dist/changesets-errors.cjs.js" - }, + ".": "./dist/changesets-errors.js", "./package.json": "./package.json" }, "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/errors", - "dependencies": { - "extendable-error": "^0.1.7" - }, "engines": { "node": ">=18.0.0" } diff --git a/packages/errors/src/index.test.ts b/packages/errors/src/index.test.ts index 370aa0104..6882817a4 100644 --- a/packages/errors/src/index.test.ts +++ b/packages/errors/src/index.test.ts @@ -1,4 +1,4 @@ -import { GitError } from "./index"; +import { GitError } from "./index.ts"; describe("Error classes", () => { describe("GitError class", () => { diff --git a/packages/errors/src/index.ts b/packages/errors/src/index.ts index 09991e8b0..1739297c3 100644 --- a/packages/errors/src/index.ts +++ b/packages/errors/src/index.ts @@ -1,6 +1,4 @@ -import ExtendableError from "extendable-error"; - -export class GitError extends ExtendableError { +export class GitError extends Error { code: number; constructor(code: number, message: string) { super(`${message}, exit code: ${code}`); @@ -8,9 +6,9 @@ export class GitError extends ExtendableError { } } -export class ValidationError extends ExtendableError {} +export class ValidationError extends Error {} -export class ExitError extends ExtendableError { +export class ExitError extends Error { code: number; constructor(code: number) { super(`The process exited with code: ${code}`); @@ -18,19 +16,19 @@ export class ExitError extends ExtendableError { } } -export class PreExitButNotInPreModeError extends ExtendableError { +export class PreExitButNotInPreModeError extends Error { constructor() { super("pre mode cannot be exited when not in pre mode"); } } -export class PreEnterButInPreModeError extends ExtendableError { +export class PreEnterButInPreModeError extends Error { constructor() { super("pre mode cannot be entered when in pre mode"); } } -export class InternalError extends ExtendableError { +export class InternalError extends Error { constructor(message: string) { super(message); } diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index d7c14affd..bdda3adcc 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -2,18 +2,9 @@ "name": "@changesets/get-dependents-graph", "version": "2.1.3", "description": "Get the graph of dependents in a monorepo", - "main": "dist/changesets-get-dependents-graph.cjs.js", - "module": "dist/changesets-get-dependents-graph.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-get-dependents-graph.cjs.mjs", - "default": "./dist/changesets-get-dependents-graph.cjs.js" - }, - "module": "./dist/changesets-get-dependents-graph.esm.js", - "import": "./dist/changesets-get-dependents-graph.cjs.mjs", - "default": "./dist/changesets-get-dependents-graph.cjs.js" - }, + ".": "./dist/changesets-get-dependents-graph.js", "./package.json": "./package.json" }, "license": "MIT", @@ -25,7 +16,9 @@ "semver": "^7.5.3" }, "devDependencies": { - "@changesets/test-utils": "*" + "@changesets/test-utils": "*", + "strip-ansi": "^7.1.0", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index f5df1b077..8b1362400 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -1,10 +1,12 @@ +import { vi } from "vitest"; +import stripAnsi from "strip-ansi"; import { temporarilySilenceLogs } from "@changesets/test-utils"; -import getDependencyGraph from "./get-dependency-graph"; +import getDependencyGraph from "./get-dependency-graph.ts"; const consoleError = console.error; beforeEach(() => { - console.error = jest.fn(); + console.error = vi.fn(); }); afterEach(() => { @@ -106,13 +108,10 @@ describe("getting the dependency graph", function () { tool: "pnpm", }); expect(valid).toBeFalsy(); - expect((console.error as any).mock.calls).toMatchInlineSnapshot(` - [ - [ - "Package "foo" must depend on the current version of "bar": "1.0.0" vs "link:../bar"", - ], - ] - `); + expect((console.error as any).mock.calls).toHaveLength(1); + expect(stripAnsi((console.error as any).mock.calls[0][0])).toBe( + `Package "foo" must depend on the current version of "bar": "1.0.0" vs "link:../bar"` + ); }) ); }); diff --git a/packages/get-dependents-graph/src/get-dependency-graph.ts b/packages/get-dependents-graph/src/get-dependency-graph.ts index 5fc4066f5..df9bd1d06 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.ts @@ -1,8 +1,8 @@ // This is a modified version of the graph-getting in bolt -import Range from "semver/classes/range"; +import Range from "semver/classes/range.js"; import pc from "picocolors"; -import { Packages, Package } from "@manypkg/get-packages"; -import { PackageJSON } from "@changesets/types"; +import type { Packages, Package } from "@manypkg/get-packages"; +import type { PackageJSON } from "@changesets/types"; const DEPENDENCY_TYPES = [ "dependencies", diff --git a/packages/get-dependents-graph/src/index.ts b/packages/get-dependents-graph/src/index.ts index 359a55d32..6b937daea 100644 --- a/packages/get-dependents-graph/src/index.ts +++ b/packages/get-dependents-graph/src/index.ts @@ -1,5 +1,5 @@ -import { Packages, Package } from "@manypkg/get-packages"; -import getDependencyGraph from "./get-dependency-graph"; +import type { Packages, Package } from "@manypkg/get-packages"; +import getDependencyGraph from "./get-dependency-graph.ts"; export function getDependentsGraph( packages: Packages, diff --git a/packages/get-github-info/README.md b/packages/get-github-info/README.md index ad5f9e598..6045282e9 100644 --- a/packages/get-github-info/README.md +++ b/packages/get-github-info/README.md @@ -24,9 +24,10 @@ npm install --save-dev @changesets/get-github-info dotenv Then you can use it in your `.changeset/config.js` like this. ```jsx -require("dotenv").config(); -const { getInfo } = require("@changesets/get-github-info"); +import dotenv from "dotenv"; +import { getInfo } from "@changesets/get-github-info"; +dotenv.config(); // ... const getReleaseLine = async (changeset, type) => { diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index 32fe8868f..286453889 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -2,18 +2,9 @@ "name": "@changesets/get-github-info", "version": "0.6.0", "description": "Get the GitHub username and PR number from a commit. Intended for use with changesets.", - "main": "dist/changesets-get-github-info.cjs.js", - "module": "dist/changesets-get-github-info.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-get-github-info.cjs.mjs", - "default": "./dist/changesets-get-github-info.cjs.js" - }, - "module": "./dist/changesets-get-github-info.esm.js", - "import": "./dist/changesets-get-github-info.cjs.mjs", - "default": "./dist/changesets-get-github-info.cjs.js" - }, + ".": "./dist/changesets-get-github-info.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/get-github-info/src/index.test.ts b/packages/get-github-info/src/index.test.ts index c5310ec0c..52b195cdc 100644 --- a/packages/get-github-info/src/index.test.ts +++ b/packages/get-github-info/src/index.test.ts @@ -1,4 +1,4 @@ -import { getInfo, getInfoFromPullRequest } from "."; +import { getInfo, getInfoFromPullRequest } from "./index.ts"; import nock from "nock"; import prettier from "prettier"; @@ -306,29 +306,29 @@ test("gets the author of the associated pull request if it exists rather than th expect(result).toMatchObject({ pull: 3682, user: "lmvco" }); }); -test("throws error on missing repo name", () => { +test("throws error on missing repo name", async () => { const request = { commit: "c7e9c69", }; - expect(async () => + await expect(async () => // @ts-expect-error getInfo(request) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Please pass a GitHub repository in the form of userOrOrg/repoName to getInfo"` + `[Error: Please pass a GitHub repository in the form of userOrOrg/repoName to getInfo]` ); }); -test("throws error on invalid repo name", () => { +test("throws error on invalid repo name", async () => { const request = { commit: "c7e9c69", repo: "https://github.com/JedWatson/react-select", }; - expect(async () => + await expect(async () => getInfo(request) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"Please pass a valid GitHub repository in the form of userOrOrg/repoName to getInfo (it has to match the "^[\\w.-]+\\/[\\w.-]+$" pattern)"` + `[Error: Please pass a valid GitHub repository in the form of userOrOrg/repoName to getInfo (it has to match the "^[\\w.-]+\\/[\\w.-]+$" pattern)]` ); }); diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index 2be232315..d1702d71d 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -2,18 +2,9 @@ "name": "@changesets/get-release-plan", "version": "4.0.7", "description": "Reads changesets and adds information on dependents that need bumping", - "main": "dist/changesets-get-release-plan.cjs.js", - "module": "dist/changesets-get-release-plan.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-get-release-plan.cjs.mjs", - "default": "./dist/changesets-get-release-plan.cjs.js" - }, - "module": "./dist/changesets-get-release-plan.esm.js", - "import": "./dist/changesets-get-release-plan.cjs.mjs", - "default": "./dist/changesets-get-release-plan.cjs.js" - }, + ".": "./dist/changesets-get-release-plan.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/get-release-plan/src/index.ts b/packages/get-release-plan/src/index.ts index af9d7e611..a118762eb 100644 --- a/packages/get-release-plan/src/index.ts +++ b/packages/get-release-plan/src/index.ts @@ -1,7 +1,7 @@ import assembleReleasePlan from "@changesets/assemble-release-plan"; import readChangesets from "@changesets/read"; import { read } from "@changesets/config"; -import { Config, ReleasePlan } from "@changesets/types"; +import type { Config, ReleasePlan } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; import { readPreState } from "@changesets/pre"; diff --git a/packages/get-version-range-type/package.json b/packages/get-version-range-type/package.json index 3d7ab16e1..f0dfbd0d0 100644 --- a/packages/get-version-range-type/package.json +++ b/packages/get-version-range-type/package.json @@ -2,18 +2,9 @@ "name": "@changesets/get-version-range-type", "version": "0.4.0", "description": "Common get-version-range-type shared between changeset packages", - "main": "dist/changesets-get-version-range-type.cjs.js", - "module": "dist/changesets-get-version-range-type.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-get-version-range-type.cjs.mjs", - "default": "./dist/changesets-get-version-range-type.cjs.js" - }, - "module": "./dist/changesets-get-version-range-type.esm.js", - "import": "./dist/changesets-get-version-range-type.cjs.mjs", - "default": "./dist/changesets-get-version-range-type.cjs.js" - }, + ".": "./dist/changesets-get-version-range-type.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/get-version-range-type/src/index.test.ts b/packages/get-version-range-type/src/index.test.ts index 2038bfcb5..a5a9b1a96 100644 --- a/packages/get-version-range-type/src/index.test.ts +++ b/packages/get-version-range-type/src/index.test.ts @@ -1,4 +1,4 @@ -import getVersionRangeType from "./"; +import getVersionRangeType from "./index.ts"; test.each([ ["^1.0.0", "^"], diff --git a/packages/git/package.json b/packages/git/package.json index b23fe1c24..c07edc2de 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -2,18 +2,9 @@ "name": "@changesets/git", "version": "3.0.2", "description": "Some git helpers that changesets use to get information", - "main": "dist/changesets-git.cjs.js", - "module": "dist/changesets-git.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-git.cjs.mjs", - "default": "./dist/changesets-git.cjs.js" - }, - "module": "./dist/changesets-git.esm.js", - "import": "./dist/changesets-git.cjs.mjs", - "default": "./dist/changesets-git.cjs.js" - }, + ".": "./dist/changesets-git.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/git/src/index.test.ts b/packages/git/src/index.test.ts index 75edf80e1..3fb515d6f 100644 --- a/packages/git/src/index.test.ts +++ b/packages/git/src/index.test.ts @@ -16,7 +16,7 @@ import { getAllTags, tagExists, getCurrentCommitId, -} from "./"; +} from "./index.ts"; async function getCommitCount(cwd: string) { const cmd = await spawn("git", ["rev-list", "--count", "HEAD"], { cwd }); diff --git a/packages/git/src/index.ts b/packages/git/src/index.ts index ed2ebb750..e60301566 100644 --- a/packages/git/src/index.ts +++ b/packages/git/src/index.ts @@ -1,7 +1,7 @@ import spawn from "spawndamnit"; import fs from "node:fs/promises"; import path from "path"; -import { getPackages, Package } from "@manypkg/get-packages"; +import { getPackages, type Package } from "@manypkg/get-packages"; import { GitError } from "@changesets/errors"; import isSubdir from "is-subdir"; import micromatch from "micromatch"; diff --git a/packages/logger/package.json b/packages/logger/package.json index f06444ca5..a446ce989 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -2,18 +2,9 @@ "name": "@changesets/logger", "version": "0.1.1", "description": "Console log alias", - "main": "dist/changesets-logger.cjs.js", - "module": "dist/changesets-logger.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-logger.cjs.mjs", - "default": "./dist/changesets-logger.cjs.js" - }, - "module": "./dist/changesets-logger.esm.js", - "import": "./dist/changesets-logger.cjs.mjs", - "default": "./dist/changesets-logger.cjs.js" - }, + ".": "./dist/changesets-logger.js", "./package.json": "./package.json" }, "license": "MIT", @@ -21,6 +12,9 @@ "dependencies": { "picocolors": "^1.1.0" }, + "devDependencies": { + "vitest": "^3.0.6" + }, "engines": { "node": ">=18.0.0" } diff --git a/packages/logger/src/index.test.ts b/packages/logger/src/index.test.ts index 788b10bb4..ae8ae2ae7 100644 --- a/packages/logger/src/index.test.ts +++ b/packages/logger/src/index.test.ts @@ -1,4 +1,5 @@ -import { log, error, info, warn, success } from "./index"; +import { vi } from "vitest"; +import { log, error, info, warn, success } from "./index.ts"; describe("@changesets/logger", () => { const logMessageOne = "Message 1"; @@ -9,7 +10,7 @@ describe("@changesets/logger", () => { describe("log", () => { let originalConsoleLog = console.log; beforeEach(() => { - console.log = jest.fn(); + console.log = vi.fn(); }); afterEach(() => { console.log = originalConsoleLog; @@ -24,7 +25,7 @@ describe("@changesets/logger", () => { describe("error", () => { let originalConsoleError = console.error; beforeEach(() => { - console.error = jest.fn(); + console.error = vi.fn(); }); afterEach(() => { console.error = originalConsoleError; @@ -39,7 +40,7 @@ describe("@changesets/logger", () => { describe("info", () => { let originalConsoleInfo = console.info; beforeEach(() => { - console.info = jest.fn(); + console.info = vi.fn(); }); afterEach(() => { console.info = originalConsoleInfo; @@ -55,7 +56,7 @@ describe("@changesets/logger", () => { describe("warn", () => { let originalConsoleWarn = console.warn; beforeEach(() => { - console.warn = jest.fn(); + console.warn = vi.fn(); }); afterEach(() => { console.warn = originalConsoleWarn; @@ -71,7 +72,7 @@ describe("@changesets/logger", () => { describe("success", () => { let originalConsoleLog = console.log; beforeEach(() => { - console.log = jest.fn(); + console.log = vi.fn(); }); afterEach(() => { console.log = originalConsoleLog; diff --git a/packages/parse/package.json b/packages/parse/package.json index 2abf5d2a4..663171757 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -2,18 +2,9 @@ "name": "@changesets/parse", "version": "0.4.1", "description": "Parse a changeset file's contents into a usable json object", - "main": "dist/changesets-parse.cjs.js", - "module": "dist/changesets-parse.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-parse.cjs.mjs", - "default": "./dist/changesets-parse.cjs.js" - }, - "module": "./dist/changesets-parse.esm.js", - "import": "./dist/changesets-parse.cjs.mjs", - "default": "./dist/changesets-parse.cjs.js" - }, + ".": "./dist/changesets-parse.js", "./package.json": "./package.json" }, "license": "MIT", @@ -23,7 +14,7 @@ "js-yaml": "^3.13.1" }, "devDependencies": { - "outdent": "^0.5.0" + "outdent": "^0.8.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/parse/src/index.test.ts b/packages/parse/src/index.test.ts index 5f141f0d8..b67a65d03 100644 --- a/packages/parse/src/index.test.ts +++ b/packages/parse/src/index.test.ts @@ -1,6 +1,6 @@ -import outdent from "outdent"; +import { outdent } from "outdent"; -import parse from "./"; +import parse from "./index.ts"; describe("parsing a changeset", () => { it("should parse a changeset", () => { @@ -222,11 +222,11 @@ describe("parsing a changeset", () => { `; expect(() => parse(changesetMd)).toThrowErrorMatchingInlineSnapshot(` - "could not parse changeset - invalid frontmatter: --- + [Error: could not parse changeset - invalid frontmatter: --- "cool-package": minor --- fail - Nice simple summary" + Nice simple summary] `); }); }); diff --git a/packages/parse/src/index.ts b/packages/parse/src/index.ts index 04431e648..5fe43a155 100644 --- a/packages/parse/src/index.ts +++ b/packages/parse/src/index.ts @@ -1,5 +1,5 @@ import yaml from "js-yaml"; -import { Release, VersionType } from "@changesets/types"; +import type { Release, VersionType } from "@changesets/types"; const mdRegex = /\s*---([^]*?)\n\s*---(\s*(?:\n|$)[^]*)/; diff --git a/packages/pre/README.md b/packages/pre/README.md index 937878e9e..09de24d88 100644 --- a/packages/pre/README.md +++ b/packages/pre/README.md @@ -23,7 +23,7 @@ This package is used by internally by Changesets to enter and exit pre mode alon ## Types ```ts -import { PreState } from "@changesets/types"; +import type { PreState } from "@changesets/types"; export function enterPre(cwd: string, tag: string): Promise; export function exitPre(cwd: string): Promise; diff --git a/packages/pre/package.json b/packages/pre/package.json index 6211187e6..8e61ec8fc 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -2,18 +2,9 @@ "name": "@changesets/pre", "version": "2.0.2", "description": "Utils to make a Changesets repo enter and exit pre mode", - "main": "dist/changesets-pre.cjs.js", - "module": "dist/changesets-pre.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-pre.cjs.mjs", - "default": "./dist/changesets-pre.cjs.js" - }, - "module": "./dist/changesets-pre.esm.js", - "import": "./dist/changesets-pre.cjs.mjs", - "default": "./dist/changesets-pre.cjs.js" - }, + ".": "./dist/changesets-pre.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/pre/src/index.test.ts b/packages/pre/src/index.test.ts index 59bb19eff..75ca5f775 100644 --- a/packages/pre/src/index.test.ts +++ b/packages/pre/src/index.test.ts @@ -1,4 +1,4 @@ -import { enterPre, exitPre, readPreState } from "./index"; +import { enterPre, exitPre, readPreState } from "./index.ts"; import fs from "node:fs/promises"; import path from "path"; import { diff --git a/packages/pre/src/index.ts b/packages/pre/src/index.ts index c8b82ae29..6c7f02ea1 100644 --- a/packages/pre/src/index.ts +++ b/packages/pre/src/index.ts @@ -1,6 +1,6 @@ import fs from "node:fs/promises"; import path from "path"; -import { PreState } from "@changesets/types"; +import type { PreState } from "@changesets/types"; import { getPackages } from "@manypkg/get-packages"; import { PreExitButNotInPreModeError, diff --git a/packages/read/package.json b/packages/read/package.json index ab0ecd25d..e509fe63a 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -2,18 +2,9 @@ "name": "@changesets/read", "version": "0.6.3", "description": "Read changesets from disc, and return the information as JSON", - "main": "dist/changesets-read.cjs.js", - "module": "dist/changesets-read.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-read.cjs.mjs", - "default": "./dist/changesets-read.cjs.js" - }, - "module": "./dist/changesets-read.esm.js", - "import": "./dist/changesets-read.cjs.mjs", - "default": "./dist/changesets-read.cjs.js" - }, + ".": "./dist/changesets-read.js", "./package.json": "./package.json" }, "license": "MIT", @@ -26,7 +17,7 @@ }, "devDependencies": { "@changesets/test-utils": "*", - "outdent": "^0.5.0" + "outdent": "^0.8.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/read/src/index.test.ts b/packages/read/src/index.test.ts index eda2a0edf..d5a17cee5 100644 --- a/packages/read/src/index.test.ts +++ b/packages/read/src/index.test.ts @@ -1,7 +1,7 @@ import path from "path"; -import outdent from "outdent"; +import { outdent } from "outdent"; -import read from "./"; +import read from "./index.ts"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; import fs from "node:fs/promises"; diff --git a/packages/read/src/index.ts b/packages/read/src/index.ts index 0f7ea4db1..b91bc2642 100644 --- a/packages/read/src/index.ts +++ b/packages/read/src/index.ts @@ -1,7 +1,7 @@ import fs from "node:fs/promises"; import path from "path"; import parse from "@changesets/parse"; -import { NewChangeset } from "@changesets/types"; +import type { NewChangeset } from "@changesets/types"; import * as git from "@changesets/git"; async function filterChangesetsSinceRef( diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 1b01b6f18..4b7a950f5 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -1,18 +1,9 @@ { "name": "@changesets/release-utils", "version": "0.2.3", - "main": "dist/changesets-release-utils.cjs.js", - "module": "dist/changesets-release-utils.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-release-utils.cjs.mjs", - "default": "./dist/changesets-release-utils.cjs.js" - }, - "module": "./dist/changesets-release-utils.esm.js", - "import": "./dist/changesets-release-utils.cjs.mjs", - "default": "./dist/changesets-release-utils.cjs.js" - }, + ".": "./dist/changesets-release-utils.js", "./package.json": "./package.json" }, "dependencies": { @@ -20,10 +11,11 @@ "@changesets/read": "^0.6.3", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", - "mdast-util-to-string": "^1.0.6", + "mdast-util-to-string": "^4.0.0", "remark-parse": "^7.0.1", "remark-stringify": "^7.0.3", "semver": "^7.5.3", + "signal-exit": "^4.1.0", "spawndamnit": "^3.0.1", "unified": "^8.3.2" }, @@ -31,7 +23,8 @@ "@changesets/git": "*", "@changesets/test-utils": "*", "@changesets/write": "*", - "file-url": "^3.0.0" + "file-url": "^3.0.0", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/release-utils/src/__snapshots__/utils.test.ts.snap b/packages/release-utils/src/__snapshots__/utils.test.ts.snap index 9adf8e313..81e249de6 100644 --- a/packages/release-utils/src/__snapshots__/utils.test.ts.snap +++ b/packages/release-utils/src/__snapshots__/utils.test.ts.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`it sorts the things right 1`] = ` [ diff --git a/packages/release-utils/src/fake-publish-script-multi-package.js b/packages/release-utils/src/fake-publish-script-multi-package.js deleted file mode 100644 index 71a9d9004..000000000 --- a/packages/release-utils/src/fake-publish-script-multi-package.js +++ /dev/null @@ -1,9 +0,0 @@ -/* eslint-disable import/no-commonjs */ -/* eslint-disable import/no-extraneous-dependencies */ -const git = require("@changesets/git"); - -console.log("🩋 New tag: pkg-a@1.0.0"); -console.log("🩋 New tag: pkg-b@1.0.0"); - -git.tag("pkg-a@1.0.0", process.cwd()); -git.tag("pkg-b@1.0.0", process.cwd()); diff --git a/packages/release-utils/src/fake-publish-script-single-package.js b/packages/release-utils/src/fake-publish-script-single-package.js deleted file mode 100644 index 3e4fa2fd5..000000000 --- a/packages/release-utils/src/fake-publish-script-single-package.js +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable import/no-commonjs */ -/* eslint-disable import/no-extraneous-dependencies */ -const git = require("@changesets/git"); - -console.log("🩋 New tag: v1.0.0"); - -git.tag("v1.0.0", process.cwd()); diff --git a/packages/release-utils/src/gitUtils.ts b/packages/release-utils/src/gitUtils.ts index 98ee80acb..29114c9c1 100644 --- a/packages/release-utils/src/gitUtils.ts +++ b/packages/release-utils/src/gitUtils.ts @@ -1,7 +1,7 @@ -import { execWithOutput } from "./utils"; +import { spawnWithOutput } from "./utils.ts"; export const getCurrentBranch = async (cwd: string) => { - const { stdout } = await execWithOutput( + const { stdout } = await spawnWithOutput( "git", ["rev-parse", "--abbrev-ref", "HEAD"], { cwd } @@ -10,7 +10,7 @@ export const getCurrentBranch = async (cwd: string) => { }; export const pullBranch = async (branch: string, cwd: string) => { - await execWithOutput("git", ["pull", "origin", branch], { cwd }); + await spawnWithOutput("git", ["pull", "origin", branch], { cwd }); }; export const push = async ( @@ -21,7 +21,7 @@ export const push = async ( cwd, }: { force?: boolean; includeTags?: boolean; cwd: string } ) => { - await execWithOutput( + await spawnWithOutput( "git", [ "push", @@ -38,7 +38,7 @@ export const switchToMaybeExistingBranch = async ( branch: string, cwd: string ) => { - let { stderr } = await execWithOutput("git", ["checkout", branch], { + let { stderr } = await spawnWithOutput("git", ["checkout", branch], { ignoreReturnCode: true, cwd, }); @@ -46,7 +46,7 @@ export const switchToMaybeExistingBranch = async ( .toString() .includes(`Switched to a new branch '${branch}'`); if (isCreatingBranch) { - await execWithOutput("git", ["checkout", "-b", branch], { cwd }); + await spawnWithOutput("git", ["checkout", "-b", branch], { cwd }); } }; @@ -55,18 +55,18 @@ export const reset = async ( mode: "hard" | "soft" | "mixed" = "hard", cwd: string ) => { - await execWithOutput("git", ["reset", `--${mode}`, pathSpec], { cwd }); + await spawnWithOutput("git", ["reset", `--${mode}`, pathSpec], { cwd }); }; export const commitAll = async (message: string, cwd: string) => { - await execWithOutput("git", ["add", "."], { + await spawnWithOutput("git", ["add", "."], { cwd, }); - await execWithOutput("git", ["commit", "-m", message], { cwd }); + await spawnWithOutput("git", ["commit", "-m", message], { cwd }); }; export const checkIfClean = async (cwd: string): Promise => { - const { stdout } = await execWithOutput("git", ["status", "--porcelain"], { + const { stdout } = await spawnWithOutput("git", ["status", "--porcelain"], { cwd, }); return !stdout.length; diff --git a/packages/release-utils/src/index.ts b/packages/release-utils/src/index.ts index 4a3d21d73..8c1dbb43e 100644 --- a/packages/release-utils/src/index.ts +++ b/packages/release-utils/src/index.ts @@ -1,3 +1,7 @@ -export { readChangesetState } from "./readChangesetState"; -export { runPublish as publish, runVersion as version } from "./run"; -export { getChangelogEntry, BumpLevels, sortChangelogEntries } from "./utils"; +export { readChangesetState } from "./readChangesetState.ts"; +export { runPublish as publish, runVersion as version } from "./run.ts"; +export { + getChangelogEntry, + BumpLevels, + sortChangelogEntries, +} from "./utils.ts"; diff --git a/packages/release-utils/src/readChangesetState.ts b/packages/release-utils/src/readChangesetState.ts index ad4e07aee..da5589c76 100644 --- a/packages/release-utils/src/readChangesetState.ts +++ b/packages/release-utils/src/readChangesetState.ts @@ -1,4 +1,4 @@ -import { PreState, NewChangeset } from "@changesets/types"; +import type { PreState, NewChangeset } from "@changesets/types"; import { readPreState } from "@changesets/pre"; import readChangesets from "@changesets/read"; diff --git a/packages/release-utils/src/run.test.ts b/packages/release-utils/src/run.test.ts index ed7a94786..2497cbb2a 100644 --- a/packages/release-utils/src/run.test.ts +++ b/packages/release-utils/src/run.test.ts @@ -1,29 +1,29 @@ +import { vi } from "vitest"; import { add, commit } from "@changesets/git"; -import { silenceLogsInBlock, tempdir, testdir } from "@changesets/test-utils"; -import { Changeset } from "@changesets/types"; +import { + linkNodeModules, + silenceLogsInBlock, + tempdir, + testdir, +} from "@changesets/test-utils"; +import type { Changeset } from "@changesets/types"; import writeChangeset from "@changesets/write"; import fileUrl from "file-url"; import fs from "node:fs/promises"; import path from "path"; import spawn from "spawndamnit"; -import { getCurrentBranch } from "./gitUtils"; -import { runPublish, runVersion } from "./run"; +import { getCurrentBranch } from "./gitUtils.ts"; +import { runPublish, runVersion } from "./run.ts"; -const linkNodeModules = async (cwd: string) => { - await fs.symlink( - path.join(__dirname, "..", "..", "..", "node_modules"), - path.join(cwd, "node_modules") - ); -}; const writeChangesets = (changesets: Changeset[], cwd: string) => { return Promise.all(changesets.map((commit) => writeChangeset(commit, cwd))); }; -jest.setTimeout(10000); +vi.setConfig({ testTimeout: 10000 }); silenceLogsInBlock(); beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); async function setupRepoAndClone(cwd: string) { @@ -349,7 +349,7 @@ describe("publish", () => { await linkNodeModules(clone); let result = await runPublish({ - script: `node ${require.resolve("./fake-publish-script-single-package")}`, + script: `node --experimental-strip-types -e "const git = await import('@changesets/git'); console.log('🩋 New tag: v1.0.0'); git.tag('v1.0.0', process.cwd());"`, cwd: clone, }); @@ -385,7 +385,7 @@ describe("publish", () => { await linkNodeModules(clone); let result = await runPublish({ - script: `node ${require.resolve("./fake-publish-script-multi-package")}`, + script: `node --experimental-strip-types -e "const git = await import('@changesets/git'); console.log('🩋 New tag: pkg-a@1.0.0'); console.log('🩋 New tag: pkg-b@1.0.0'); git.tag('pkg-a@1.0.0', process.cwd()); git.tag('pkg-b@1.0.0', process.cwd());"`, cwd: clone, }); diff --git a/packages/release-utils/src/run.ts b/packages/release-utils/src/run.ts index 622a1d5f8..915b95b2f 100644 --- a/packages/release-utils/src/run.ts +++ b/packages/release-utils/src/run.ts @@ -1,13 +1,17 @@ -import { getPackages, Package } from "@manypkg/get-packages"; -import path from "path"; -import semverLt from "semver/functions/lt"; +import { getPackages, type Package } from "@manypkg/get-packages"; +import semverLt from "semver/functions/lt.js"; import { - execWithOutput, + spawnWithOutput, getVersionsByDirectory, getChangedPackages, -} from "./utils"; -import * as gitUtils from "./gitUtils"; -import { readChangesetState } from "./readChangesetState"; + execWithOutput, +} from "./utils.ts"; +import * as gitUtils from "./gitUtils.ts"; +import { readChangesetState } from "./readChangesetState.ts"; +import { createRequire } from "node:module"; +import path from "node:path"; + +const require = createRequire(import.meta.url); type PublishOptions = { script: string; @@ -30,13 +34,10 @@ export async function runPublish({ cwd = process.cwd(), }: PublishOptions): Promise { let branch = await gitUtils.getCurrentBranch(cwd); - let [publishCommand, ...publishArgs] = script.split(/\s+/); - let changesetPublishOutput = await execWithOutput( - publishCommand, - publishArgs, - { cwd } - ); + const { stdout: changesetPublishOutput } = await execWithOutput(script, { + cwd, + }); await gitUtils.pullBranch(branch, cwd); await gitUtils.push(branch, { includeTags: true, cwd }); @@ -48,7 +49,7 @@ export async function runPublish({ let newTagRegex = /New tag:\s+(@[^/]+\/[^@]+|[^/]+)@([^\s]+)/; let packagesByName = new Map(packages.map((x) => [x.packageJson.name, x])); - for (let line of changesetPublishOutput.stdout.split("\n")) { + for (let line of changesetPublishOutput.split("\n")) { let match = line.match(newTagRegex); if (match === null) { continue; @@ -73,7 +74,7 @@ export async function runPublish({ let pkg = packages[0]; let newTagRegex = /New tag:/; - for (let line of changesetPublishOutput.stdout.split("\n")) { + for (let line of changesetPublishOutput.split("\n")) { let match = line.match(newTagRegex); if (match) { @@ -117,24 +118,29 @@ export async function runVersion({ let versionsByDirectory = await getVersionsByDirectory(cwd); if (script) { - let [versionCommand, ...versionArgs] = script.split(/\s+/); - await execWithOutput(versionCommand, versionArgs, { cwd }); - } else { - let changesetsCliPkgJson = await require(path.join( + await execWithOutput(script, { cwd, - "node_modules", - "@changesets", - "cli", - "package.json" - )); - let cmd = semverLt(changesetsCliPkgJson.version, "2.0.0") - ? "bump" - : "version"; - await execWithOutput( - "node", - ["./node_modules/@changesets/cli/bin.js", cmd], - { cwd } + }); + } else { + let changesetsCliPkgJsonPath = require.resolve( + "@changesets/cli/package.json", + { + paths: [cwd], + } + ); + const args = []; + // this is done just so our tests can run with the types stripped since they are run with source files + // this won't be used by published package since this file will be compiled there + if (import.meta.url.endsWith(".ts")) { + args.push("--experimental-strip-types"); + } + args.push(path.join(path.dirname(changesetsCliPkgJsonPath), "bin.js")); + args.push( + semverLt(require(changesetsCliPkgJsonPath).version, "2.0.0") + ? "bump" + : "version" ); + await spawnWithOutput("node", args, { cwd }); } let changedPackages = await getChangedPackages(cwd, versionsByDirectory); diff --git a/packages/release-utils/src/utils.test.ts b/packages/release-utils/src/utils.test.ts index 1cd0900ba..414d7025f 100644 --- a/packages/release-utils/src/utils.test.ts +++ b/packages/release-utils/src/utils.test.ts @@ -1,4 +1,8 @@ -import { getChangelogEntry, BumpLevels, sortChangelogEntries } from "./utils"; +import { + getChangelogEntry, + BumpLevels, + sortChangelogEntries, +} from "./utils.ts"; let changelog = `# @keystone-alpha/email diff --git a/packages/release-utils/src/utils.ts b/packages/release-utils/src/utils.ts index 3df7e41f2..0f0a609e9 100644 --- a/packages/release-utils/src/utils.ts +++ b/packages/release-utils/src/utils.ts @@ -1,11 +1,16 @@ -import { getPackages, Package } from "@manypkg/get-packages"; -// @ts-ignore -import mdastToString from "mdast-util-to-string"; +import { getPackages, type Package } from "@manypkg/get-packages"; +import cp, { type ChildProcess } from "node:child_process"; +import { promisify } from "node:util"; +import { SIGTERM } from "node:constants"; +import { toString as mdastToString } from "mdast-util-to-string"; import os from "os"; import remarkParse from "remark-parse"; import remarkStringify from "remark-stringify"; import spawn from "spawndamnit"; import unified from "unified"; +import { onExit } from "signal-exit"; + +const exec = promisify(cp.exec); export const BumpLevels = { dep: 0, @@ -88,7 +93,53 @@ export function getChangelogEntry(changelog: string, version: string) { }; } +const activeProcesses = new Set(); + +onExit(() => { + for (let child of activeProcesses) { + child.kill(SIGTERM); + } +}); + export async function execWithOutput( + command: string, + options: { ignoreReturnCode?: boolean; cwd: string } +) { + process.stdout.write(`Running: ${command}` + os.EOL); + + let childProcess = exec(command, { + cwd: options.cwd, + }); + + activeProcesses.add(childProcess.child); + + childProcess.child.on("stdout", (data) => process.stdout.write(data)); + childProcess.child.on("stderr", (data) => process.stderr.write(data)); + + childProcess.child.on("error", () => + activeProcesses.delete(childProcess.child) + ); + childProcess.child.on("close", () => + activeProcesses.delete(childProcess.child) + ); + + let result = await childProcess; + + if (!options?.ignoreReturnCode && childProcess.child.exitCode !== 0) { + throw new Error( + `The command ${JSON.stringify(command)} failed with code ${ + childProcess.child.exitCode + }\n${result.stdout}\n${result.stderr}` + ); + } + return { + code: childProcess.child.exitCode, + stdout: result.stdout, + stderr: result.stderr, + }; +} + +export async function spawnWithOutput( command: string, args: string[], options: { ignoreReturnCode?: boolean; cwd: string } diff --git a/packages/should-skip-package/package.json b/packages/should-skip-package/package.json index 1f62e1c8f..6bb2e0c7b 100644 --- a/packages/should-skip-package/package.json +++ b/packages/should-skip-package/package.json @@ -2,18 +2,9 @@ "name": "@changesets/should-skip-package", "version": "0.1.2", "description": "Checks if a package should be skipped for versioning or tagging purposes", - "main": "dist/changesets-should-skip-package.cjs.js", - "module": "dist/changesets-should-skip-package.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-should-skip-package.cjs.mjs", - "default": "./dist/changesets-should-skip-package.cjs.js" - }, - "module": "./dist/changesets-should-skip-package.esm.js", - "import": "./dist/changesets-should-skip-package.cjs.mjs", - "default": "./dist/changesets-should-skip-package.cjs.js" - }, + ".": "./dist/changesets-should-skip-package.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/should-skip-package/src/index.ts b/packages/should-skip-package/src/index.ts index 16763f9b0..27c8fc322 100644 --- a/packages/should-skip-package/src/index.ts +++ b/packages/should-skip-package/src/index.ts @@ -1,5 +1,5 @@ -import { Package } from "@manypkg/get-packages"; -import { PackageGroup } from "@changesets/types"; +import type { Package } from "@manypkg/get-packages"; +import type { PackageGroup } from "@changesets/types"; export function shouldSkipPackage( { packageJson }: Package, diff --git a/packages/types/package.json b/packages/types/package.json index 969d457cf..a93296d35 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,18 +2,9 @@ "name": "@changesets/types", "version": "6.1.0", "description": "Common types shared between changeset packages", - "main": "dist/changesets-types.cjs.js", - "module": "dist/changesets-types.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-types.cjs.mjs", - "default": "./dist/changesets-types.cjs.js" - }, - "module": "./dist/changesets-types.esm.js", - "import": "./dist/changesets-types.cjs.mjs", - "default": "./dist/changesets-types.cjs.js" - }, + ".": "./dist/changesets-types.js", "./package.json": "./package.json" }, "license": "MIT", diff --git a/packages/write/package.json b/packages/write/package.json index e653eb030..ae0c331e7 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -2,18 +2,9 @@ "name": "@changesets/write", "version": "0.4.0", "description": "Writes a changeset to a file", - "main": "dist/changesets-write.cjs.js", - "module": "dist/changesets-write.esm.js", + "type": "module", "exports": { - ".": { - "types": { - "import": "./dist/changesets-write.cjs.mjs", - "default": "./dist/changesets-write.cjs.js" - }, - "module": "./dist/changesets-write.esm.js", - "import": "./dist/changesets-write.cjs.mjs", - "default": "./dist/changesets-write.cjs.js" - }, + ".": "./dist/changesets-write.js", "./package.json": "./package.json" }, "license": "MIT", @@ -25,7 +16,8 @@ }, "devDependencies": { "@changesets/parse": "*", - "@changesets/test-utils": "*" + "@changesets/test-utils": "*", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/packages/write/src/index.test.ts b/packages/write/src/index.test.ts index 4eff7bbe9..4f69dad3a 100644 --- a/packages/write/src/index.test.ts +++ b/packages/write/src/index.test.ts @@ -1,12 +1,13 @@ +import { vi } from "vitest"; import fs from "node:fs/promises"; import path from "path"; import parse from "@changesets/parse"; -import writeChangeset from "./"; +import writeChangeset from "./index.ts"; import humanId from "human-id"; import { testdir } from "@changesets/test-utils"; -jest.mock("human-id"); +vi.mock("human-id"); describe("simple project", () => { it("should write a changeset", async () => { diff --git a/packages/write/src/index.ts b/packages/write/src/index.ts index 4f95da45e..bf470f7db 100644 --- a/packages/write/src/index.ts +++ b/packages/write/src/index.ts @@ -1,8 +1,11 @@ -import { Changeset } from "@changesets/types"; +import type { Changeset } from "@changesets/types"; import fs from "node:fs/promises"; -import humanId from "human-id"; +import { humanId } from "human-id"; import path from "path"; import prettier from "prettier"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); function getPrettierInstance(cwd: string): typeof prettier { try { diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index 9e09d84fb..b86b8ddf5 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -2,19 +2,12 @@ "name": "@changesets/test-utils", "version": "0.0.8", "private": true, + "type": "module", "description": "Utils for testing changesets packages", "main": "dist/changesets-test-utils.cjs.js", "module": "dist/changesets-test-utils.esm.js", "exports": { - ".": { - "types": { - "import": "./dist/changesets-test-utils.cjs.mjs", - "default": "./dist/changesets-test-utils.cjs.js" - }, - "module": "./dist/changesets-test-utils.esm.js", - "import": "./dist/changesets-test-utils.cjs.mjs", - "default": "./dist/changesets-test-utils.cjs.js" - }, + ".": "./dist/changesets-test-utils.js", "./package.json": "./package.json" }, "license": "MIT", @@ -22,7 +15,8 @@ "dependencies": { "@changesets/logger": "^0.1.1", "fixturez": "^1.1.0", - "spawndamnit": "^3.0.1" + "spawndamnit": "^3.0.1", + "vitest": "^3.0.6" }, "engines": { "node": ">=18.0.0" diff --git a/scripts/test-utils/src/index.test.ts b/scripts/test-utils/src/index.test.ts index 693ce3af2..887292947 100644 --- a/scripts/test-utils/src/index.test.ts +++ b/scripts/test-utils/src/index.test.ts @@ -1,12 +1,14 @@ +import { silenceLogsInBlock } from "./index.ts"; // this has to be imported before `@changesets/logger` + +import { vi } from "vitest"; import { log } from "@changesets/logger"; -import { silenceLogsInBlock } from "./"; describe("temporarilySilenceLogs", () => { silenceLogsInBlock(); describe("log", () => { let originalConsoleLog = console.log; beforeEach(() => { - console.log = jest.fn(); + console.log = vi.fn(); }); afterEach(() => { console.log = originalConsoleLog; diff --git a/scripts/test-utils/src/index.ts b/scripts/test-utils/src/index.ts index 41d67beac..9609e383f 100644 --- a/scripts/test-utils/src/index.ts +++ b/scripts/test-utils/src/index.ts @@ -1,26 +1,34 @@ +import { Mock, vi } from "vitest"; import fixturez from "fixturez"; import spawn from "spawndamnit"; -import fs from "fs"; -import fsp from "fs/promises"; -import path from "path"; - -/** - * Reason for eslint disable import/no-commonjs - * Technically reassigning imports is not allowed and - * Rollup errors at compile time on this(but the Babel - * transform that's running in jest makes it work there), - * making this a require should be fine. - */ -// eslint-disable-next-line import/no-commonjs -const logger = require("@changesets/logger"); +import fs from "node:fs"; +import fsp from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +type PartialMockMethods = Partial<{ + [K in keyof T as T[K] extends (...args: never) => unknown + ? K + : never]: T[K] extends (...args: never) => unknown ? Mock : never; +}>; + +export const mockedLogger: PartialMockMethods< + typeof import("@changesets/logger") +> = {}; + +vi.mock(import("@changesets/logger"), async (importOriginal) => { + const mod = await importOriginal(); + return { + prefix: mod.prefix, + error: (...args) => (mockedLogger.error ?? mod.error)(...args), + info: (...args) => (mockedLogger.info ?? mod.info)(...args), + log: (...args) => (mockedLogger.log ?? mod.log)(...args), + warn: (...args) => (mockedLogger.warn ?? mod.warn)(...args), + success: (...args) => (mockedLogger.success ?? mod.success)(...args), + }; +}); const createLogSilencer = () => { - const originalLoggerError = logger.error; - const originalLoggerInfo = logger.info; - const originalLoggerLog = logger.log; - const originalLoggerWarn = logger.warn; - const originalLoggerSuccess = logger.success; - const originalConsoleError = console.error; const originalConsoleInfo = console.info; const originalConsoleLog = console.log; @@ -31,26 +39,26 @@ const createLogSilencer = () => { return { setup() { - logger.error = jest.fn(); - logger.info = jest.fn(); - logger.log = jest.fn(); - logger.warn = jest.fn(); - logger.success = jest.fn(); + mockedLogger.error = vi.fn(); + mockedLogger.info = vi.fn(); + mockedLogger.log = vi.fn(); + mockedLogger.warn = vi.fn(); + mockedLogger.success = vi.fn(); - console.error = jest.fn(); - console.info = jest.fn(); - console.log = jest.fn(); - console.warn = jest.fn(); + console.error = vi.fn(); + console.info = vi.fn(); + console.log = vi.fn(); + console.warn = vi.fn(); - process.stdout.write = jest.fn(); - process.stderr.write = jest.fn(); + process.stdout.write = vi.fn(); + process.stderr.write = vi.fn(); return () => { - logger.error = originalLoggerError; - logger.info = originalLoggerInfo; - logger.log = originalLoggerLog; - logger.warn = originalLoggerWarn; - logger.success = originalLoggerSuccess; + mockedLogger.error = undefined; + mockedLogger.info = undefined; + mockedLogger.log = undefined; + mockedLogger.warn = undefined; + mockedLogger.success = undefined; console.error = originalConsoleError; console.info = originalConsoleInfo; @@ -152,3 +160,16 @@ export async function pathExists(p: string) { () => false ); } + +export async function linkNodeModules(cwd: string) { + await fsp.symlink( + path.join( + path.dirname(fileURLToPath(import.meta.url)), + "..", + "..", + "..", + "node_modules" + ), + path.join(cwd, "node_modules") + ); +} diff --git a/tsconfig.json b/tsconfig.json index db1b083ff..f99c34d41 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,13 @@ { "compilerOptions": { "target": "esnext", - "module": "commonjs", - "moduleResolution": "node", - "esModuleInterop": true, - "resolveJsonModule": true, + "module": "Node16", + "moduleResolution": "Node16", + "allowImportingTsExtensions": true, + "erasableSyntaxOnly": true, + "libReplacement": false, "strict": true, - "noEmit": true + "noEmit": true, + "types": ["vitest/globals"] } } diff --git a/types/boxen.d.ts b/types/boxen.d.ts deleted file mode 100644 index 435c3575b..000000000 --- a/types/boxen.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -// NOTE: There is a boxen types that doesn't work so made this here -declare module "boxen" { - export default function ( - meesage: string, - options: { - borderStyle: string; - align: string; - } - ): string; -} diff --git a/types/fixturez.d.ts b/types/fixturez.d.ts index f71803e57..6bf707a5f 100644 --- a/types/fixturez.d.ts +++ b/types/fixturez.d.ts @@ -5,7 +5,7 @@ type Opts = { }; declare module "fixturez" { - export default function ( + function fixturez( cwd: string, opts?: Opts ): { @@ -14,4 +14,6 @@ declare module "fixturez" { copy: (a: string) => string; cleanup: () => any; }; + + export = fixturez; } diff --git a/types/human-id.d.ts b/types/human-id.d.ts deleted file mode 100644 index 721cbf223..000000000 --- a/types/human-id.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -declare module "human-id" { - export default function (options: { - separator: string; - capitalize: boolean; - }): string; -} diff --git a/types/lodash.d.ts b/types/lodash.d.ts deleted file mode 100644 index 7bb786e5e..000000000 --- a/types/lodash.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* -WHAT THE HECK IS GOING ON? - -Lodash individual methods don't have types, but their type info exists in `@lodash/types` -We can import and then export things in our d.ts to add types to modules without typing -them ourselves. - -This does mean we import 'lodash' which is not a dependency. - -That's okay, for certain values of okay. -*/ - -/* eslint-disable */ -declare module "lodash.startcase" { - import { startCase } from "lodash"; - - export default startCase; -} diff --git a/types/spawndamnit.d.ts b/types/spawndamnit.d.ts index b8c56054a..fb72e69a1 100644 --- a/types/spawndamnit.d.ts +++ b/types/spawndamnit.d.ts @@ -2,9 +2,11 @@ declare module "spawndamnit" { import { SpawnOptions } from "child_process"; import { EventEmitter } from "events"; - export default function spawn( + function spawn( cmd: string, args: Array, opts?: SpawnOptions ): Promise<{ stdout: Buffer; code: number; stderr: Buffer }> & EventEmitter; + + export = spawn; } diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 000000000..534331132 --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,9 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + clearMocks: true, + // TODO: migrate away from global + globals: true, + }, +}); diff --git a/yarn.lock b/yarn.lock index 13940d4f6..998f743f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,13 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" "@babel/cli@^7.26.4": version "7.26.4" @@ -33,21 +33,14 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" -"@babel/code-frame@^7.25.9": +"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -61,7 +54,12 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.3.tgz#99488264a56b2aded63983abd6a417f03b92ed02" integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.2": +"@babel/compat-data@^7.26.5": + version "7.26.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" + integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== + +"@babel/core@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92" integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== @@ -83,47 +81,27 @@ semver "^6.3.0" "@babel/core@^7.7.7": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" - integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.6" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" - convert-source-map "^1.7.0" + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.9.tgz#71838542a4b1e49dfed353d7acbc6eb89f4a76f2" + integrity sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.9" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.9" + "@babel/parser" "^7.26.9" + "@babel/template" "^7.26.9" + "@babel/traverse" "^7.26.9" + "@babel/types" "^7.26.9" + convert-source-map "^2.0.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243" - integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== - dependencies: - "@babel/types" "^7.10.4" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/generator@^7.11.5", "@babel/generator@^7.11.6": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" - integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== - dependencies: - "@babel/types" "^7.11.5" - jsesc "^2.5.1" - source-map "^0.5.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.20.1", "@babel/generator@^7.20.2", "@babel/generator@^7.7.2": +"@babel/generator@^7.20.1", "@babel/generator@^7.20.2": version "7.20.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== @@ -143,14 +121,18 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== +"@babel/generator@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.9.tgz#75a9482ad3d0cc7188a537aa4910bc59db67cbca" + integrity sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg== dependencies: - "@babel/types" "^7.18.6" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.25.9": +"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== @@ -168,6 +150,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.26.5": + version "7.26.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" + integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== + dependencies: + "@babel/compat-data" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" @@ -214,15 +207,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helper-function-name@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" @@ -231,26 +215,12 @@ "@babel/template" "^7.18.10" "@babel/types" "^7.19.0" -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - "@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" - integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" + integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.24.7" "@babel/helper-member-expression-to-functions@^7.25.9": version "7.25.9" @@ -260,21 +230,7 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.25.9": +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== @@ -282,19 +238,6 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helper-module-transforms@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/template" "^7.10.4" - "@babel/types" "^7.11.0" - lodash "^4.17.19" - "@babel/helper-module-transforms@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" @@ -309,7 +252,7 @@ "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.2" -"@babel/helper-module-transforms@^7.25.9": +"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== @@ -318,13 +261,6 @@ "@babel/helper-validator-identifier" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - "@babel/helper-optimise-call-expression@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" @@ -332,7 +268,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== @@ -346,16 +282,6 @@ "@babel/helper-wrap-function" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helper-replace-supers@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" @@ -365,22 +291,7 @@ "@babel/helper-optimise-call-expression" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-simple-access@^7.25.9": +"@babel/helper-simple-access@^7.20.2", "@babel/helper-simple-access@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== @@ -396,20 +307,6 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helper-split-export-declaration@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" - integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -427,11 +324,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" @@ -456,15 +348,6 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helpers@^7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" @@ -474,23 +357,23 @@ "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.0" -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== +"@babel/helpers@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.9.tgz#28f3fb45252fc88ef2dc547c8a911c255fc9fef6" + integrity sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA== dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.9" -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== +"@babel/highlight@^7.0.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" + "@babel/helper-validator-identifier" "^7.25.9" + chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" "@babel/highlight@^7.18.6": version "7.18.6" @@ -501,26 +384,18 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" - integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== - -"@babel/parser@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64" - integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== - -"@babel/parser@^7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== - -"@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2": +"@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2": version "7.20.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2" integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg== +"@babel/parser@^7.25.4", "@babel/parser@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5" + integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A== + dependencies: + "@babel/types" "^7.26.9" + "@babel/parser@^7.25.9", "@babel/parser@^7.26.2": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" @@ -572,27 +447,6 @@ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-import-assertions@^7.26.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" @@ -607,76 +461,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.25.9", "@babel/plugin-syntax-jsx@^7.7.2": +"@babel/plugin-syntax-jsx@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" @@ -684,13 +475,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" @@ -1194,11 +978,11 @@ "@babel/plugin-transform-typescript" "^7.25.9" "@babel/runtime@^7.5.5": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" - integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.9.tgz#aa4c6facc65b9cb3f87d75125ffd47781b475433" + integrity sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg== dependencies: - regenerator-runtime "^0.13.2" + regenerator-runtime "^0.14.0" "@babel/runtime@^7.7.7": version "7.11.2" @@ -1214,15 +998,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.4", "@babel/template@^7.3.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/template@^7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1241,37 +1016,16 @@ "@babel/parser" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/traverse@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818" - integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" - integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.5" - "@babel/types" "^7.11.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" +"@babel/template@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" + integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" -"@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== @@ -1300,34 +1054,20 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" - integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== +"@babel/traverse@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.9.tgz#4398f2394ba66d05d988b2ad13c219a2c857461a" + integrity sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg== dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee" - integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.9" + "@babel/parser" "^7.26.9" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.9" + debug "^4.3.1" + globals "^11.1.0" -"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2": +"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog== @@ -1336,6 +1076,14 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.19.0", "@babel/types@^7.24.7", "@babel/types@^7.25.4", "@babel/types@^7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce" + integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/types@^7.25.9", "@babel/types@^7.26.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" @@ -1344,16 +1092,150 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@babel/types@^7.4.4": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" + integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz#bbe12dca5b4ef983a0d0af4b07b9bc90ea0ababa" + integrity sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== "@changesets/types@^4.0.1": version "4.1.0" resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== +"@esbuild/aix-ppc64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461" + integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA== + +"@esbuild/android-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894" + integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg== + +"@esbuild/android-arm@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3" + integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q== + +"@esbuild/android-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb" + integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw== + +"@esbuild/darwin-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936" + integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA== + +"@esbuild/darwin-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9" + integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA== + +"@esbuild/freebsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00" + integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg== + +"@esbuild/freebsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f" + integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q== + +"@esbuild/linux-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43" + integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg== + +"@esbuild/linux-arm@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736" + integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA== + +"@esbuild/linux-ia32@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5" + integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw== + +"@esbuild/linux-loong64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc" + integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ== + +"@esbuild/linux-mips64el@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb" + integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw== + +"@esbuild/linux-ppc64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412" + integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw== + +"@esbuild/linux-riscv64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694" + integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q== + +"@esbuild/linux-s390x@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577" + integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw== + +"@esbuild/linux-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f" + integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q== + +"@esbuild/netbsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6" + integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw== + +"@esbuild/netbsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40" + integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw== + +"@esbuild/openbsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f" + integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A== + +"@esbuild/openbsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205" + integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA== + +"@esbuild/sunos-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6" + integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig== + +"@esbuild/win32-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85" + integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ== + +"@esbuild/win32-ia32@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2" + integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA== + +"@esbuild/win32-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b" + integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -1388,230 +1270,31 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" - integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - -"@jest/core@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" - integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/reporters" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.2.0" - jest-config "^29.3.1" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-resolve-dependencies "^29.3.1" - jest-runner "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - jest-watcher "^29.3.1" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" - integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== - dependencies: - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== - dependencies: - jest-get-type "^29.2.0" - -"@jest/expect@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" - integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== - dependencies: - expect "^29.3.1" - jest-snapshot "^29.3.1" - -"@jest/fake-timers@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" - integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== - dependencies: - "@jest/types" "^29.3.1" - "@sinonjs/fake-timers" "^9.1.2" - "@types/node" "*" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -"@jest/globals@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" - integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/types" "^29.3.1" - jest-mock "^29.3.1" - -"@jest/reporters@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" - integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - jest-worker "^29.3.1" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^29.2.0": - version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" - integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" - integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" - integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== - dependencies: - "@jest/test-result" "^29.3.1" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - slash "^3.0.0" - -"@jest/transform@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" - integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: - "@jridgewell/set-array" "^1.0.1" + "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" @@ -1627,11 +1310,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - "@jridgewell/set-array@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" @@ -1652,12 +1330,12 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/sourcemap-codec@^1.4.14": +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -1775,6 +1453,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@pnpm/config.env-replace@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" @@ -1796,10 +1479,10 @@ "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" -"@preconstruct/cli@^2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@preconstruct/cli/-/cli-2.8.1.tgz#7d7f9fa32e1bfd355d79062a9ccc5af4c97b3915" - integrity sha512-PX5w+au06iY/QaT+9RLmRlIfavRCRoMTC/krwtNrgPEnubR9e6P+QlywrKmwiEvkzbR9AEzGnRZL8uNRDDMzrQ== +"@preconstruct/cli@^2.8.9": + version "2.8.9" + resolved "https://registry.yarnpkg.com/@preconstruct/cli/-/cli-2.8.9.tgz#a004437448b61f46e42930f186147570f58d1aab" + integrity sha512-Psk/pgeWCFnJWddVtsarcNRZbZ+35AtNCEfOjDANrfLxyGm3Smt00rm1w8RiMiwqZryUkt9XaSHriWQBFKechQ== dependencies: "@babel/code-frame" "^7.5.5" "@babel/core" "^7.7.7" @@ -1813,6 +1496,7 @@ "@rollup/plugin-replace" "^2.4.1" builtin-modules "^3.1.0" chalk "^4.1.0" + ci-info "^3.8.0" dataloader "^2.0.0" detect-indent "^6.0.0" enquirer "^2.3.6" @@ -1820,11 +1504,9 @@ fast-deep-equal "^2.0.1" fast-glob "^3.2.4" fs-extra "^9.0.1" - is-ci "^2.0.0" is-reference "^1.2.1" jest-worker "^26.3.0" magic-string "^0.30.0" - meow "^7.1.0" ms "^2.1.2" normalize-path "^3.0.0" npm-packlist "^2.1.2" @@ -1832,7 +1514,6 @@ parse-glob "^3.0.4" parse-json "^5.1.0" quick-lru "^5.1.1" - resolve "^1.17.0" resolve-from "^5.0.0" rollup "^2.79.1" semver "^7.3.4" @@ -1906,63 +1587,106 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rollup/rollup-android-arm-eabi@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" + integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== + +"@rollup/rollup-android-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" + integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== + +"@rollup/rollup-darwin-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" + integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== + +"@rollup/rollup-darwin-x64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" + integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== + +"@rollup/rollup-freebsd-arm64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" + integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== + +"@rollup/rollup-freebsd-x64@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" + integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== + +"@rollup/rollup-linux-arm-gnueabihf@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" + integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== + +"@rollup/rollup-linux-arm-musleabihf@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" + integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== + +"@rollup/rollup-linux-arm64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" + integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== + +"@rollup/rollup-linux-arm64-musl@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" + integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== + +"@rollup/rollup-linux-loongarch64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" + integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" + integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== + +"@rollup/rollup-linux-riscv64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" + integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== + +"@rollup/rollup-linux-s390x-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" + integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== + +"@rollup/rollup-linux-x64-gnu@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz#5783fc0adcab7dc069692056e8ca8d83709855ce" + integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== + +"@rollup/rollup-linux-x64-musl@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz#00b6c29b298197a384e3c659910b47943003a678" + integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== + +"@rollup/rollup-win32-arm64-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" + integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== + +"@rollup/rollup-win32-ia32-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" + integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== + +"@rollup/rollup-win32-x64-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" + integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== + "@rtsao/scc@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== - -"@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.1.14": - version "7.1.20" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" - integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - "@types/braces@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" @@ -1978,56 +1702,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/graceful-fs@^4.1.3": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest-diff@*": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== - -"@types/jest-in-case@^1.0.6": +"@types/estree@1.0.6", "@types/estree@^1.0.0": version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/jest-in-case/-/jest-in-case-1.0.6.tgz#1099525666c45d91df4f344f109cc32324e8fe78" - integrity sha512-2VhZGKiji20QLG0gtcNftDmAaSmxoOLUvPW771ZDfi25IpNATGutn5wBnmqWz1Q7NIR6pqraDqrXXpq75wg/GA== - dependencies: - "@types/jest" "*" - "@types/node" "*" - -"@types/jest@*", "@types/jest@^24.0.12": - version "24.0.21" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.21.tgz#2c0a25440e025bb265f4a17d8b79b11b231426bf" - integrity sha512-uyqFvx78Tuy0h5iLCPWRCvi5HhWwEqhIj30doitp191oYLqlCxUyAJHdWVm5+Nr271/vPnkyt6rWeEIjGowBTg== - dependencies: - "@types/jest-diff" "*" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/js-yaml@^3.12.1": version "3.12.1" @@ -2049,6 +1727,13 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== +"@types/mdast@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== + dependencies: + "@types/unist" "*" + "@types/micromatch@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7" @@ -2056,11 +1741,6 @@ dependencies: "@types/braces" "*" -"@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= - "@types/node@*", "@types/node@^12.7.1": version "12.12.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.5.tgz#66103d2eddc543d44a04394abb7be52506d7f290" @@ -2073,12 +1753,7 @@ dependencies: undici-types "~6.19.2" -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/prettier@^2.1.5", "@types/prettier@^2.7.1": +"@types/prettier@^2.7.1": version "2.7.1" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== @@ -2095,28 +1770,16 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/unist@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== - -"@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== - dependencies: - "@types/yargs-parser" "*" - "@typescript-eslint/eslint-plugin@^5.43.0": version "5.43.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc" @@ -2234,6 +1897,83 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@vitest/coverage-v8@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-3.0.6.tgz#a8ba832ad8b5371a160869bce87424aa4f582f5e" + integrity sha512-JRTlR8Bw+4BcmVTICa7tJsxqphAktakiLsAmibVLAWbu1lauFddY/tXeM6sAyl1cgkPuXtpnUgaCPhTdz1Qapg== + dependencies: + "@ampproject/remapping" "^2.3.0" + "@bcoe/v8-coverage" "^1.0.2" + debug "^4.4.0" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-report "^3.0.1" + istanbul-lib-source-maps "^5.0.6" + istanbul-reports "^3.1.7" + magic-string "^0.30.17" + magicast "^0.3.5" + std-env "^3.8.0" + test-exclude "^7.0.1" + tinyrainbow "^2.0.0" + +"@vitest/expect@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.0.6.tgz#30993c0841203d2243826ee04fb25463eb86e20d" + integrity sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg== + dependencies: + "@vitest/spy" "3.0.6" + "@vitest/utils" "3.0.6" + chai "^5.2.0" + tinyrainbow "^2.0.0" + +"@vitest/mocker@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.0.6.tgz#28287cfdc06a8b0318344e5c240d774e43014cd0" + integrity sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ== + dependencies: + "@vitest/spy" "3.0.6" + estree-walker "^3.0.3" + magic-string "^0.30.17" + +"@vitest/pretty-format@3.0.6", "@vitest/pretty-format@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.0.6.tgz#a828569818b666a6e955c9af8129e6b0d2968ee6" + integrity sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg== + dependencies: + tinyrainbow "^2.0.0" + +"@vitest/runner@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.0.6.tgz#a07b54674b1a495424f2ea959a28a6096c17c33b" + integrity sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA== + dependencies: + "@vitest/utils" "3.0.6" + pathe "^2.0.3" + +"@vitest/snapshot@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.0.6.tgz#e962319e487b2e8da7ad39322b5e0b39ea639d7a" + integrity sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg== + dependencies: + "@vitest/pretty-format" "3.0.6" + magic-string "^0.30.17" + pathe "^2.0.3" + +"@vitest/spy@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.0.6.tgz#3a50ec0ab11e8f729cdaa938a6d271b12547cea1" + integrity sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q== + dependencies: + tinyspy "^3.0.2" + +"@vitest/utils@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.0.6.tgz#be4246ab46a076db1e49b9e0479bdd9a7f65782f" + integrity sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ== + dependencies: + "@vitest/pretty-format" "3.0.6" + loupe "^3.1.3" + tinyrainbow "^2.0.0" + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -2274,34 +2014,15 @@ ansi-colors@^4.1.1, ansi-colors@^4.1.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" - integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== - dependencies: - type-fest "^0.5.2" - -ansi-escapes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.0.0.tgz#68c580e87a489f6df3d761028bb93093fde6bd8a" - integrity sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw== - dependencies: - type-fest "^3.0.0" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" @@ -2317,18 +2038,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@~3.1.2: version "3.1.2" @@ -2432,16 +2145,16 @@ arraybuffer.prototype.slice@^1.0.4: get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -2454,40 +2167,6 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -babel-jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" - integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== - dependencies: - "@jest/transform" "^29.3.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" - integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.12" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" @@ -2512,32 +2191,6 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.3" -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" - integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== - dependencies: - babel-plugin-jest-hoist "^29.2.0" - babel-preset-current-node-syntax "^1.0.0" - bail@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" @@ -2568,6 +2221,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -2592,13 +2252,6 @@ browserslist@^4.24.0, browserslist@^4.24.2: node-releases "^2.0.19" update-browserslist-db "^1.1.1" -bser@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2616,6 +2269,11 @@ builtins@^5.0.1: dependencies: semver "^7.0.0" +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" @@ -2655,25 +2313,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - caniuse-lite@^1.0.30001688: version "1.0.30001689" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz#67ca960dd5f443903e19949aeacc9d28f6e10910" @@ -2696,7 +2335,18 @@ chai@^4.1.2: pathval "^1.1.0" type-detect "^4.0.5" -chalk@^2.0.0: +chai@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" + integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" + +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2713,21 +2363,6 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - character-entities-html4@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" @@ -2758,6 +2393,11 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= +check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== + chokidar@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" @@ -2773,45 +2413,21 @@ chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0, ci-info@^3.7.0: +ci-info@^3.7.0: version "3.8.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= +ci-info@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -2864,7 +2480,7 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" -convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -2883,7 +2499,7 @@ core-js-compat@^3.38.0, core-js-compat@^3.38.1: dependencies: browserslist "^4.24.2" -cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.5: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -2948,23 +2564,12 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "^2.1.3" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= +debug@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + ms "^2.1.3" deep-eql@^3.0.1: version "3.0.1" @@ -2973,6 +2578,11 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -3011,16 +2621,6 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== - dir-glob@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -3063,21 +2663,26 @@ dunder-proto@^1.0.0: es-errors "^1.3.0" gopd "^1.2.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + electron-to-chromium@^1.5.73: version "1.5.74" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz#cb886b504a6467e4c00bea3317edb38393c53413" integrity sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw== -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + enquirer@^2.3.6, enquirer@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" @@ -3157,6 +2762,11 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-module-lexer@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== + es-object-atoms@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" @@ -3189,10 +2799,36 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +esbuild@^0.24.2: + version "0.24.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d" + integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA== + optionalDependencies: + "@esbuild/aix-ppc64" "0.24.2" + "@esbuild/android-arm" "0.24.2" + "@esbuild/android-arm64" "0.24.2" + "@esbuild/android-x64" "0.24.2" + "@esbuild/darwin-arm64" "0.24.2" + "@esbuild/darwin-x64" "0.24.2" + "@esbuild/freebsd-arm64" "0.24.2" + "@esbuild/freebsd-x64" "0.24.2" + "@esbuild/linux-arm" "0.24.2" + "@esbuild/linux-arm64" "0.24.2" + "@esbuild/linux-ia32" "0.24.2" + "@esbuild/linux-loong64" "0.24.2" + "@esbuild/linux-mips64el" "0.24.2" + "@esbuild/linux-ppc64" "0.24.2" + "@esbuild/linux-riscv64" "0.24.2" + "@esbuild/linux-s390x" "0.24.2" + "@esbuild/linux-x64" "0.24.2" + "@esbuild/netbsd-arm64" "0.24.2" + "@esbuild/netbsd-x64" "0.24.2" + "@esbuild/openbsd-arm64" "0.24.2" + "@esbuild/openbsd-x64" "0.24.2" + "@esbuild/sunos-x64" "0.24.2" + "@esbuild/win32-arm64" "0.24.2" + "@esbuild/win32-ia32" "0.24.2" + "@esbuild/win32-x64" "0.24.2" escalade@^3.2.0: version "3.2.0" @@ -3204,11 +2840,6 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -3435,52 +3066,28 @@ estree-walker@^2.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0" integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expect@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== - dependencies: - "@jest/expect-utils" "^29.3.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" +expect-type@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75" + integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA== extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extendable-error@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" - integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== - external-editor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -3550,11 +3157,6 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -3567,13 +3169,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.0" -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -3600,7 +3195,7 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -3646,6 +3241,14 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + fs-extra@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" @@ -3684,11 +3287,16 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -3715,21 +3323,11 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -3760,16 +3358,6 @@ get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6: hasown "^2.0.2" math-intrinsics "^1.0.0" -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - get-symbol-description@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" @@ -3815,7 +3403,19 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^10.4.1: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.1.2, glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -3888,7 +3488,7 @@ gopd@^1.0.1, gopd@^1.2.0: resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@4.2.10, graceful-fs@^4.2.9: +graceful-fs@4.2.10: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -3903,11 +3503,6 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -3982,11 +3577,6 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -hosted-git-info@^2.1.4: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" - integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -3997,11 +3587,6 @@ human-id@^4.1.1: resolved "https://registry.yarnpkg.com/human-id/-/human-id-4.1.1.tgz#2801fbd61b9a5c1c9170f332802db6408a39a4b0" integrity sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg== -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4047,24 +3632,16 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" +import-meta-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706" + integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -4183,13 +3760,6 @@ is-callable@^1.1.3, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.9.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.0.tgz#6c01ffdd5e33c49c1d2abfa93334a85cb56bd81c" @@ -4246,11 +3816,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - is-generator-function@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" @@ -4317,11 +3882,6 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-obj@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" @@ -4356,11 +3916,6 @@ is-shared-array-buffer@^1.0.3: dependencies: call-bind "^1.0.7" -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -4458,421 +4013,45 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== +istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" + make-dir "^4.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" - integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" - integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - p-limit "^3.1.0" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" - integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== - dependencies: - "@jest/core" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" - integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.3.1" - "@jest/types" "^29.3.1" - babel-jest "^29.3.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.3.1" - jest-environment-node "^29.3.1" - jest-get-type "^29.2.0" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-runner "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-docblock@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" - integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" - integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== - dependencies: - "@jest/types" "^29.3.1" - chalk "^4.0.0" - jest-get-type "^29.2.0" - jest-util "^29.3.1" - pretty-format "^29.3.1" - -jest-environment-node@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" - integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - -jest-haste-map@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" - integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== - dependencies: - "@jest/types" "^29.3.1" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - jest-worker "^29.3.1" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-in-case@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jest-in-case/-/jest-in-case-1.0.2.tgz#56744b5af33222bd0abab70cf919f1d170ab75cc" - integrity sha1-VnRLWvMyIr0KurcM+Rnx0XCrdcw= - -jest-junit@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-15.0.0.tgz#a47544ab42e9f8fe7ada56306c218e09e52bd690" - integrity sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg== - dependencies: - mkdirp "^1.0.4" - strip-ansi "^6.0.1" - uuid "^8.3.2" - xml "^1.0.1" - -jest-leak-detector@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" - integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== - dependencies: - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== - dependencies: - chalk "^4.0.0" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" - integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-util "^29.3.1" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.0.0, jest-regex-util@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" - integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== - -jest-resolve-dependencies@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" - integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== - dependencies: - jest-regex-util "^29.2.0" - jest-snapshot "^29.3.1" - -jest-resolve@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" - integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-pnp-resolver "^1.2.2" - jest-util "^29.3.1" - jest-validate "^29.3.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" - integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== - dependencies: - "@jest/console" "^29.3.1" - "@jest/environment" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.2.0" - jest-environment-node "^29.3.1" - jest-haste-map "^29.3.1" - jest-leak-detector "^29.3.1" - jest-message-util "^29.3.1" - jest-resolve "^29.3.1" - jest-runtime "^29.3.1" - jest-util "^29.3.1" - jest-watcher "^29.3.1" - jest-worker "^29.3.1" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" - integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/globals" "^29.3.1" - "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" - integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.3.1" - graceful-fs "^4.2.9" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - jest-haste-map "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - natural-compare "^1.4.0" - pretty-format "^29.3.1" - semver "^7.3.5" - -jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== +istanbul-lib-source-maps@^5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz#acaef948df7747c8eb5fbf1265cb980f6353a441" + integrity sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A== dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" + "@jridgewell/trace-mapping" "^0.3.23" + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" -jest-validate@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" - integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== +istanbul-reports@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: - "@jest/types" "^29.3.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.2.0" - leven "^3.1.0" - pretty-format "^29.3.1" - -jest-watch-typeahead@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-2.2.2.tgz#5516d3cd006485caa5cfc9bd1de40f1f8b136abf" - integrity sha512-+QgOFW4o5Xlgd6jGS5X37i08tuuXNW8X0CV9WNFi+3n8ExCIP+E1melYhvYLjv5fE6D0yyzk74vsSO8I6GqtvQ== - dependencies: - ansi-escapes "^6.0.0" - chalk "^5.2.0" - jest-regex-util "^29.0.0" - jest-watcher "^29.0.0" - slash "^5.0.0" - string-length "^5.0.1" - strip-ansi "^7.0.1" + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" -jest-watcher@^29.0.0, jest-watcher@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" - integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.3.1" - string-length "^4.0.1" + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" jest-worker@^26.3.0: version "26.5.0" @@ -4883,26 +4062,6 @@ jest-worker@^26.3.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" - integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== - dependencies: - "@types/node" "*" - jest-util "^29.3.1" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" - integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== - dependencies: - "@jest/core" "^29.3.1" - "@jest/types" "^29.3.1" - import-local "^3.0.2" - jest-cli "^29.3.1" - jju@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" @@ -4946,12 +4105,7 @@ jsesc@^3.0.2, jsesc@~3.0.2: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-parse-even-better-errors@^2.3.0: version "2.3.1" @@ -4980,17 +4134,10 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.2.1, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^4.0.0: version "4.0.0" @@ -5008,26 +4155,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - ky@^1.2.0: version "1.7.2" resolved "https://registry.yarnpkg.com/ky/-/ky-1.7.2.tgz#b97d9b997ba51ff1e152f0815d3d27b86513eb1c" integrity sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg== -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -5075,16 +4207,21 @@ lodash@^4.17.13: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - longest-streak@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== +loupe@^3.1.0, loupe@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" + integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5106,6 +4243,22 @@ magic-string@^0.30.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" +magic-string@^0.30.17: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +magicast@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.3.5.tgz#8301c3c7d66704a0771eb1bad74274f0ec036739" + integrity sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ== + dependencies: + "@babel/parser" "^7.25.4" + "@babel/types" "^7.25.4" + source-map-js "^1.2.0" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -5114,29 +4267,12 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== dependencies: - tmpl "1.0.5" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" - integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + semver "^7.5.3" markdown-escapes@^1.0.0: version "1.0.4" @@ -5160,27 +4296,12 @@ mdast-util-compact@^1.0.0: dependencies: unist-util-visit "^1.1.0" -mdast-util-to-string@^1.0.6: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" - integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== - -meow@^7.1.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" merge-stream@^2.0.0: version "2.0.0" @@ -5221,16 +4342,6 @@ micromatch@^4.0.8: braces "^3.0.3" picomatch "^2.3.1" -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -5238,14 +4349,12 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" + brace-expansion "^2.0.1" minimist@0.0.8: version "0.0.8" @@ -5257,16 +4366,16 @@ minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + mkdirp@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -5274,11 +4383,6 @@ mkdirp@^0.5.0: dependencies: minimist "0.0.8" -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - mri@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -5294,6 +4398,11 @@ ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +nanoid@^3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -5321,11 +4430,6 @@ node-fetch@^2.5.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" @@ -5336,16 +4440,6 @@ node-releases@^2.0.19: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -5373,13 +4467,6 @@ npm-packlist@^2.1.2: npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - object-inspect@^1.13.3: version "1.13.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" @@ -5435,13 +4522,6 @@ once@^1.3.0: dependencies: wrappy "1" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -5459,10 +4539,10 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outdent@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" - integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== +outdent@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" + integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== p-limit@^2.2.0: version "2.2.1" @@ -5485,12 +4565,12 @@ p-limit@^3.0.2: dependencies: p-try "^2.0.0" -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== +p-limit@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-6.1.0.tgz#d91f9364d3fdff89b0a45c70d04ad4e0df30a0e8" + integrity sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg== dependencies: - yocto-queue "^0.1.0" + yocto-queue "^1.1.1" p-locate@^4.1.0: version "4.1.0" @@ -5511,6 +4591,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + package-json@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-10.0.1.tgz#e49ee07b8de63b638e7f1b5bb353733e428fe7d7" @@ -5560,16 +4645,6 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - lines-and-columns "^1.1.6" - parse-json@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" @@ -5580,16 +4655,6 @@ parse-json@^5.1.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -5600,7 +4665,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -5615,6 +4680,14 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -5627,11 +4700,21 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathe@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" + integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== + pathval@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -5642,6 +4725,11 @@ picocolors@^1.1.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -5652,7 +4740,7 @@ picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== -picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -5674,23 +4762,20 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== +postcss@^8.5.2: + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== + dependencies: + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -5701,23 +4786,6 @@ prettier@^2.7.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - propagate@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" @@ -5733,11 +4801,6 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - quick-lru@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" @@ -5753,30 +4816,6 @@ rc@1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - read-yaml-file@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" @@ -5794,14 +4833,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - reflect.getprototypeof@^1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz#c58afb17a4007b4d1118c07b92c23fca422c5d82" @@ -5816,14 +4847,7 @@ reflect.getprototypeof@^1.0.6: gopd "^1.2.0" which-builtin-type "^1.2.0" -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate-unicode-properties@^10.2.0: +regenerate-unicode-properties@^10.1.0, regenerate-unicode-properties@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== @@ -5835,15 +4859,15 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regenerator-transform@^0.15.2: version "0.15.2" @@ -5985,18 +5009,6 @@ replace-ext@1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -6007,19 +5019,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.10.0, resolve@^1.3.2: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: +resolve@^1.14.2, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -6072,6 +5072,34 @@ rollup@^2.79.1: optionalDependencies: fsevents "~2.3.2" +rollup@^4.30.1: + version "4.34.8" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.8.tgz#e859c1a51d899aba9bcf451d4eed1d11fb8e2a6e" + integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== + dependencies: + "@types/estree" "1.0.6" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.34.8" + "@rollup/rollup-android-arm64" "4.34.8" + "@rollup/rollup-darwin-arm64" "4.34.8" + "@rollup/rollup-darwin-x64" "4.34.8" + "@rollup/rollup-freebsd-arm64" "4.34.8" + "@rollup/rollup-freebsd-x64" "4.34.8" + "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" + "@rollup/rollup-linux-arm-musleabihf" "4.34.8" + "@rollup/rollup-linux-arm64-gnu" "4.34.8" + "@rollup/rollup-linux-arm64-musl" "4.34.8" + "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" + "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" + "@rollup/rollup-linux-riscv64-gnu" "4.34.8" + "@rollup/rollup-linux-s390x-gnu" "4.34.8" + "@rollup/rollup-linux-x64-gnu" "4.34.8" + "@rollup/rollup-linux-x64-musl" "4.34.8" + "@rollup/rollup-win32-arm64-msvc" "4.34.8" + "@rollup/rollup-win32-ia32-msvc" "4.34.8" + "@rollup/rollup-win32-x64-msvc" "4.34.8" + fsevents "~2.3.2" + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -6114,12 +5142,12 @@ sembear@^0.7.0: dependencies: semver "^7.3.5" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: +semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== @@ -6203,26 +5231,21 @@ side-channel@^1.1.0: side-channel-map "^1.0.1" side-channel-weakmap "^1.0.2" +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: +signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -6238,18 +5261,10 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-5.0.0.tgz#8c18a871096b71ee0e002976a4fe3374991c3074" - integrity sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" +source-map-js@^1.2.0, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@^0.5.16: version "0.5.19" @@ -6267,12 +5282,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1: +source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -6290,84 +5300,28 @@ spawndamnit@^3.0.1: cross-spawn "^7.0.5" signal-exit "^4.0.1" -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== state-toggle@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== - dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" - -string-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" - integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^5.2.0" - -string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" +std-env@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" + integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== -string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6376,6 +5330,15 @@ string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string.prototype.trim@^1.2.10: version "1.2.10" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" @@ -6419,24 +5382,17 @@ stringify-entities@^2.0.0: is-decimal "^1.0.2" is-hexadecimal "^1.0.0" -strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== +strip-ansi@^7.0.1, strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" @@ -6445,23 +5401,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -6486,13 +5425,6 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -6526,25 +5458,50 @@ terser@^5.16.8: commander "^2.20.0" source-map-support "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== +test-exclude@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-7.0.1.tgz#20b3ba4906ac20994e275bbcafd68d510264c2a2" + integrity sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg== dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" + glob "^10.4.1" + minimatch "^9.0.4" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +tinybench@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" + integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== + tinyexec@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== +tinyexec@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" + integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== + +tinypool@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" + integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== + +tinyrainbow@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" + integrity sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== + +tinyspy@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" + integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -6552,11 +5509,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -6569,11 +5521,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== - trim-trailing-lines@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" @@ -6618,41 +5565,16 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: +type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" - integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-fest@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.2.0.tgz#2c8b49e775d9e314a73ea6fcee0b2e8549d5f886" - integrity sha512-Il3wdLRzWvbAEtocgxGQA9YOoRVeVUGOMBtel5LdEpNeEAol6GJTLw8GbX6Z8EIMfvfhoOXs2bwOijtAZdK5og== - typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -6698,10 +5620,10 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +typescript@^5.8.2: + version "5.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.2.tgz#8170b3702f74b79db2e5a96207c15e65807999e4" + integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== unbox-primitive@^1.0.2: version "1.0.2" @@ -6825,33 +5747,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - v8-compile-cache@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - validate-npm-package-name@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" @@ -6881,12 +5781,53 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== +vite-node@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.0.6.tgz#a68c06c08e95c9a83f21993eabb17e0398804b1b" + integrity sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw== + dependencies: + cac "^6.7.14" + debug "^4.4.0" + es-module-lexer "^1.6.0" + pathe "^2.0.3" + vite "^5.0.0 || ^6.0.0" + +"vite@^5.0.0 || ^6.0.0": + version "6.1.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-6.1.1.tgz#c1f221749298357b9230782a04483e60ad83c8db" + integrity sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA== dependencies: - makeerror "1.0.12" + esbuild "^0.24.2" + postcss "^8.5.2" + rollup "^4.30.1" + optionalDependencies: + fsevents "~2.3.3" + +vitest@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.0.6.tgz#2fd1571a3cc1fa1648e29af73ff2dc85872f3a69" + integrity sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA== + dependencies: + "@vitest/expect" "3.0.6" + "@vitest/mocker" "3.0.6" + "@vitest/pretty-format" "^3.0.6" + "@vitest/runner" "3.0.6" + "@vitest/snapshot" "3.0.6" + "@vitest/spy" "3.0.6" + "@vitest/utils" "3.0.6" + chai "^5.2.0" + debug "^4.4.0" + expect-type "^1.1.0" + magic-string "^0.30.17" + pathe "^2.0.3" + std-env "^3.8.0" + tinybench "^2.9.0" + tinyexec "^0.3.2" + tinypool "^1.0.2" + tinyrainbow "^2.0.0" + vite "^5.0.0 || ^6.0.0" + vite-node "3.0.6" + why-is-node-running "^2.3.0" which-boxed-primitive@^1.0.2: version "1.0.2" @@ -6957,12 +5898,20 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +why-is-node-running@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" + integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -6971,69 +5920,34 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= - xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" + integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== zod@^3.21.4: version "3.21.4" From 32298977c0e50c005357bdfcb48a2bf799672ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 4 Mar 2025 12:28:34 +0100 Subject: [PATCH 008/223] Use node 22 as default on CI (#1605) --- .github/actions/ci-setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index 3fb1ecf42..f43e92e3d 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -4,7 +4,7 @@ inputs: node-version: description: "Node.js version" required: false - default: 20 + default: 22 runs: using: composite From 5c3dd20ed4c76061a719d684453ffd7b24d039e8 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 20 Mar 2025 04:18:42 +0800 Subject: [PATCH 009/223] Fix CI --- package.json | 4 ++-- packages/cli/src/run.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index a9c1ff7d6..8691989e2 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "format:fix": "prettier --write \"**/*.{js,ts,tsx,md}\"", "changeset": "NODE_OPTIONS=--experimental-strip-types packages/cli/bin.js", "check-all": "yarn test && yarn types:check && yarn lint && yarn format", - "version-packages": "changeset version && yarn format:fix", - "release": "yarn build && changeset publish" + "version-packages": "yarn changeset version && yarn format:fix", + "release": "yarn build && yarn changeset publish" }, "repository": { "type": "git", diff --git a/packages/cli/src/run.test.ts b/packages/cli/src/run.test.ts index e8490d95f..1da2ca523 100644 --- a/packages/cli/src/run.test.ts +++ b/packages/cli/src/run.test.ts @@ -224,8 +224,8 @@ describe("cli", () => { await expect(run(["version"], {}, cwd)).rejects .toThrowErrorMatchingInlineSnapshot(` - "Some errors occurred when validating the changesets config: - The \`prettier\` option is set as "no thanks" when the only valid values are undefined or a boolean" + [Error: Some errors occurred when validating the changesets config: + The \`prettier\` option is set as "no thanks" when the only valid values are undefined or a boolean] `); }); }); From 4b962cc6e5c56ca519c3d5c00bdec59c754a43cc Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 05:28:18 +0800 Subject: [PATCH 010/223] Bump `dotenv` to latest (#1615) --- .changeset/gentle-windows-enter.md | 5 +++++ packages/changelog-github/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 .changeset/gentle-windows-enter.md diff --git a/.changeset/gentle-windows-enter.md b/.changeset/gentle-windows-enter.md new file mode 100644 index 000000000..5afa2277b --- /dev/null +++ b/.changeset/gentle-windows-enter.md @@ -0,0 +1,5 @@ +--- +"@changesets/changelog-github": minor +--- + +Bump `dotenv` dependency to v16 diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index ad600dec2..93fea7ef9 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -12,7 +12,7 @@ "dependencies": { "@changesets/get-github-info": "^0.6.0", "@changesets/types": "^6.1.0", - "dotenv": "^8.1.0" + "dotenv": "^16.4.7" }, "devDependencies": { "@changesets/parse": "*", diff --git a/yarn.lock b/yarn.lock index f9c104fd0..4370421b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2649,10 +2649,10 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dotenv@^8.1.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotenv@^16.4.7: + version "16.4.7" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" + integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== dunder-proto@^1.0.0: version "1.0.1" From 3628cab6cbfd931b7f2a909b38b66c1aa794d4bf Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 05:30:47 +0800 Subject: [PATCH 011/223] Remove `is-subdir` dependency (#1612) --- .changeset/old-paths-bake.md | 5 +++++ packages/git/package.json | 1 - packages/git/src/index.ts | 5 ++--- yarn.lock | 19 ------------------- 4 files changed, 7 insertions(+), 23 deletions(-) create mode 100644 .changeset/old-paths-bake.md diff --git a/.changeset/old-paths-bake.md b/.changeset/old-paths-bake.md new file mode 100644 index 000000000..80d99fd41 --- /dev/null +++ b/.changeset/old-paths-bake.md @@ -0,0 +1,5 @@ +--- +"@changesets/git": patch +--- + +Remove `is-subdir` dependency diff --git a/packages/git/package.json b/packages/git/package.json index c07edc2de..c5aff4197 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -12,7 +12,6 @@ "dependencies": { "@changesets/errors": "^0.2.0", "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" }, diff --git a/packages/git/src/index.ts b/packages/git/src/index.ts index e60301566..12e44a9e4 100644 --- a/packages/git/src/index.ts +++ b/packages/git/src/index.ts @@ -3,7 +3,6 @@ import fs from "node:fs/promises"; import path from "path"; import { getPackages, type Package } from "@manypkg/get-packages"; import { GitError } from "@changesets/errors"; -import isSubdir from "is-subdir"; import micromatch from "micromatch"; export async function add(pathToFile: string, cwd: string) { @@ -271,8 +270,8 @@ export async function getChangedPackagesSinceRef({ for (let i = changedFiles.length - 1; i >= 0; i--) { const file = changedFiles[i]; - - if (isSubdir(pkg.dir, file)) { + const isFileInPkg = !path.relative(pkg.dir, file).startsWith(".."); + if (isFileInPkg) { changedFiles.splice(i, 1); const relativeFile = file.slice(pkg.dir.length + 1); changedPackageFiles.push(relativeFile); diff --git a/yarn.lock b/yarn.lock index 4370421b2..23e783fe4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2201,13 +2201,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -better-path-resolve@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" - integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== - dependencies: - is-windows "^1.0.0" - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -3931,13 +3924,6 @@ is-string@^1.1.1: call-bound "^1.0.3" has-tostringtag "^1.0.2" -is-subdir@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-subdir/-/is-subdir-1.1.1.tgz#423e66902f9c5f159b9cc4826c820df083059538" - integrity sha512-VYpq0S7gPBVkkmfwkvGnx1EL9UVIo87NQyNcgMiNUdQCws3CJm5wj2nB+XPL7zigvjxhuZgp3bl2yBcKkSIj1w== - dependencies: - better-path-resolve "1.0.0" - is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" @@ -3993,11 +3979,6 @@ is-whitespace-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== -is-windows@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - is-word-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" From 5717fe086e2f8689af36c59f74f977a9d71488d8 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 05:31:15 +0800 Subject: [PATCH 012/223] Update `package-manager-detector` (#1614) --- packages/cli/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 64c1e346e..ff4600273 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -64,7 +64,7 @@ "import-meta-resolve": "^4.1.0", "mri": "^1.2.0", "p-limit": "^6.1.0", - "package-manager-detector": "^0.2.0", + "package-manager-detector": "^1.1.0", "picocolors": "^1.1.0", "semver": "^7.5.3", "spawndamnit": "^3.0.1", diff --git a/yarn.lock b/yarn.lock index 23e783fe4..13316d7bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4582,10 +4582,10 @@ package-json@^10.0.1: registry-url "^6.0.1" semver "^7.6.0" -package-manager-detector@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-0.2.0.tgz#160395cd5809181f5a047222319262b8c2d8aaea" - integrity sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog== +package-manager-detector@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.1.0.tgz#2c9f19adb9835d0b9e9baaab484a020d4ee07b87" + integrity sha512-Y8f9qUlBzW8qauJjd/eu6jlpJZsuPJm2ZAV0cDVd420o4EdpH5RPdoCv+60/TdJflGatr4sDfpAL6ArWZbM5tA== parent-module@^1.0.0: version "1.0.1" From 5b02e2f61d2a1335293016f81efb0386a0ed7967 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 05:31:43 +0800 Subject: [PATCH 013/223] Remove `node-fetch` dependency (#1613) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove node-fetch dependency * Update nock * Update packages/get-github-info/src/index.ts --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/chilly-insects-attack.md | 5 ++ packages/get-github-info/package.json | 5 +- packages/get-github-info/src/index.ts | 2 - yarn.lock | 119 +++++++++++--------------- 4 files changed, 57 insertions(+), 74 deletions(-) create mode 100644 .changeset/chilly-insects-attack.md diff --git a/.changeset/chilly-insects-attack.md b/.changeset/chilly-insects-attack.md new file mode 100644 index 000000000..8e818c39d --- /dev/null +++ b/.changeset/chilly-insects-attack.md @@ -0,0 +1,5 @@ +--- +"@changesets/get-github-info": patch +--- + +Remove `node-fetch` dependency diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index 286453889..330eb7346 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -10,11 +10,10 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-github-info", "dependencies": { - "dataloader": "^1.4.0", - "node-fetch": "^2.5.0" + "dataloader": "^1.4.0" }, "devDependencies": { - "nock": "^11.7.0", + "nock": "^14.0.1", "prettier": "^2.7.1" }, "engines": { diff --git a/packages/get-github-info/src/index.ts b/packages/get-github-info/src/index.ts index d4daab033..82bf500d8 100644 --- a/packages/get-github-info/src/index.ts +++ b/packages/get-github-info/src/index.ts @@ -1,5 +1,3 @@ -// @ts-ignore -import fetch from "node-fetch"; import DataLoader from "dataloader"; const validRepoNameRegex = /^[\w.-]+\/[\w.-]+$/; diff --git a/yarn.lock b/yarn.lock index 13316d7bf..dc2039f36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1406,6 +1406,18 @@ jju "^1.4.0" js-yaml "^4.1.0" +"@mswjs/interceptors@^0.37.3": + version "0.37.6" + resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.37.6.tgz#2635319b7a81934e1ef1b5593ef7910347e2b761" + integrity sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w== + dependencies: + "@open-draft/deferred-promise" "^2.2.0" + "@open-draft/logger" "^0.3.0" + "@open-draft/until" "^2.0.0" + is-node-process "^1.2.0" + outvariant "^1.4.3" + strict-event-emitter "^0.5.1" + "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": version "2.1.8-no-fsevents.3" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" @@ -1453,6 +1465,24 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@open-draft/deferred-promise@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd" + integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== + +"@open-draft/logger@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@open-draft/logger/-/logger-0.3.0.tgz#2b3ab1242b360aa0adb28b85f5d7da1c133a0954" + integrity sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== + dependencies: + is-node-process "^1.2.0" + outvariant "^1.4.0" + +"@open-draft/until@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-2.1.0.tgz#0acf32f470af2ceaf47f095cdecd40d68666efda" + integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -2145,11 +2175,6 @@ arraybuffer.prototype.slice@^1.0.4: get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - assertion-error@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" @@ -2316,18 +2341,6 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -chai@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - pathval "^1.1.0" - type-detect "^4.0.5" - chai@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" @@ -2381,11 +2394,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - check-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" @@ -2564,13 +2572,6 @@ debug@^4.4.0: dependencies: ms "^2.1.3" -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" @@ -3321,11 +3322,6 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" @@ -3850,6 +3846,11 @@ is-negative-zero@^2.0.3: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== +is-node-process@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" + integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== + is-number-object@^1.0.4: version "1.0.7" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" @@ -4332,11 +4333,6 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -4352,13 +4348,6 @@ minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -mkdirp@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - mri@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -4389,23 +4378,15 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -nock@^11.7.0: - version "11.7.0" - resolved "https://registry.yarnpkg.com/nock/-/nock-11.7.0.tgz#5eaae8b8a55c0dfc014d05692c8cf3d31d61a342" - integrity sha512-7c1jhHew74C33OBeRYyQENT+YXQiejpwIrEjinh6dRurBae+Ei4QjeUaPlkptIF0ZacEiVCnw8dWaxqepkiihg== +nock@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/nock/-/nock-14.0.1.tgz#62006248bbbc7637322c9fc73f90b93a431b4f5e" + integrity sha512-IJN4O9pturuRdn60NjQ7YkFt6Rwei7ZKaOwb1tvUIIqTgeD0SDDAX3vrqZD4wcXczeEy/AsUXxpGpP/yHqV7xg== dependencies: - chai "^4.1.2" - debug "^4.1.0" + "@mswjs/interceptors" "^0.37.3" json-stringify-safe "^5.0.1" - lodash "^4.17.13" - mkdirp "^0.5.0" propagate "^2.0.0" -node-fetch@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" @@ -4520,6 +4501,11 @@ outdent@^0.8.0: resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== +outvariant@^1.4.0, outvariant@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" + integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== + p-limit@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" @@ -4681,11 +4667,6 @@ pathe@^2.0.3: resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= - pathval@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" @@ -5296,6 +5277,11 @@ std-env@^3.8.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== +strict-event-emitter@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz#1602ece81c51574ca39c6815e09f1a3e8550bd93" + integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== + "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -5556,11 +5542,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" From 609046c353caa08473b86e7c194e256e1cecacaa Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 06:00:07 +0800 Subject: [PATCH 014/223] Remove `term-size` dependency (#1616) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove term-size dependency * Update packages/cli/src/utils/cli-utilities.ts --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/thick-emus-refuse.md | 5 +++++ packages/cli/package.json | 3 +-- packages/cli/src/utils/cli-utilities.ts | 4 +--- yarn.lock | 5 ----- 4 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 .changeset/thick-emus-refuse.md diff --git a/.changeset/thick-emus-refuse.md b/.changeset/thick-emus-refuse.md new file mode 100644 index 000000000..984a9e638 --- /dev/null +++ b/.changeset/thick-emus-refuse.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": patch +--- + +Remove `term-size` dependency diff --git a/packages/cli/package.json b/packages/cli/package.json index ff4600273..373077454 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -67,8 +67,7 @@ "package-manager-detector": "^1.1.0", "picocolors": "^1.1.0", "semver": "^7.5.3", - "spawndamnit": "^3.0.1", - "term-size": "^2.1.0" + "spawndamnit": "^3.0.1" }, "devDependencies": { "@changesets/parse": "*", diff --git a/packages/cli/src/utils/cli-utilities.ts b/packages/cli/src/utils/cli-utilities.ts index 87efa7fad..25c5c228d 100644 --- a/packages/cli/src/utils/cli-utilities.ts +++ b/packages/cli/src/utils/cli-utilities.ts @@ -1,5 +1,3 @@ -// @ts-ignore it's not worth writing a TS declaration file in this repo for a tiny module we use once like this -import termSize from "term-size"; import { error, prefix, success } from "@changesets/logger"; import enuirer from "enquirer"; import { edit } from "external-editor"; @@ -41,7 +39,7 @@ const serialId: () => number = (function () { return () => id++; })(); -const limit = Math.max(termSize().rows - 5, 10); +const limit = Math.max(process.stdout.rows - 5, 10); let cancelFlow = () => { success("Cancelled... 👋 "); diff --git a/yarn.lock b/yarn.lock index dc2039f36..6bd2d5efd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5420,11 +5420,6 @@ tempy@^0.2.1: temp-dir "^1.0.0" unique-string "^1.0.0" -term-size@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.1.0.tgz#3aec444c07a7cf936e157c1dc224b590c3c7eef2" - integrity sha512-I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg== - terser@^5.16.8: version "5.18.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948" From 8f7b607b486e299e038bf8e257d28f0193ac4412 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 14:39:57 +0800 Subject: [PATCH 015/223] Move `outdent` as dev dependency (#1617) --- .changeset/petite-buttons-shake.md | 5 +++++ packages/apply-release-plan/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/petite-buttons-shake.md diff --git a/.changeset/petite-buttons-shake.md b/.changeset/petite-buttons-shake.md new file mode 100644 index 000000000..28da89dda --- /dev/null +++ b/.changeset/petite-buttons-shake.md @@ -0,0 +1,5 @@ +--- +"@changesets/apply-release-plan": patch +--- + +Move `outdent` as a dev dependency diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 497d26bcb..411b26cf5 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -18,12 +18,12 @@ "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "import-meta-resolve": "^4.1.0", - "outdent": "^0.8.0", "prettier": "^2.7.1", "semver": "^7.5.3" }, "devDependencies": { "@changesets/test-utils": "*", + "outdent": "^0.8.0", "spawndamnit": "^3.0.1" }, "engines": { From e089e60c6f9d4cbb2040abb1045dcbebc3a559e6 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 20 Mar 2025 17:34:50 +0800 Subject: [PATCH 016/223] Update markdown dependencies (#1618) --- .changeset/happy-news-wave.md | 5 + packages/release-utils/package.json | 7 +- .../src/__snapshots__/utils.test.ts.snap | 12 +- packages/release-utils/src/utils.ts | 15 +- yarn.lock | 592 +++++++++--------- 5 files changed, 328 insertions(+), 303 deletions(-) create mode 100644 .changeset/happy-news-wave.md diff --git a/.changeset/happy-news-wave.md b/.changeset/happy-news-wave.md new file mode 100644 index 000000000..d7310b415 --- /dev/null +++ b/.changeset/happy-news-wave.md @@ -0,0 +1,5 @@ +--- +"@changesets/release-utils": minor +--- + +Update markdown dependencies to latest. The returned markdown from `getChangelogEntry` may be formatted differently, but should semantically represent the same content. diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 4b7a950f5..78119fbd9 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -11,13 +11,12 @@ "@changesets/read": "^0.6.3", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", + "mdast-util-from-markdown": "^2.0.2", + "mdast-util-to-markdown": "^2.1.2", "mdast-util-to-string": "^4.0.0", - "remark-parse": "^7.0.1", - "remark-stringify": "^7.0.3", "semver": "^7.5.3", "signal-exit": "^4.1.0", - "spawndamnit": "^3.0.1", - "unified": "^8.3.2" + "spawndamnit": "^3.0.1" }, "devDependencies": { "@changesets/git": "*", diff --git a/packages/release-utils/src/__snapshots__/utils.test.ts.snap b/packages/release-utils/src/__snapshots__/utils.test.ts.snap index 81e249de6..104beb060 100644 --- a/packages/release-utils/src/__snapshots__/utils.test.ts.snap +++ b/packages/release-utils/src/__snapshots__/utils.test.ts.snap @@ -23,23 +23,23 @@ exports[`it sorts the things right 1`] = ` exports[`it works 1`] = ` "### Major Changes -- [2164a779](https://github.com/keystonejs/keystone-5/commit/2164a779): +* [2164a779](https://github.com/keystonejs/keystone-5/commit/2164a779): - - Replace jade with pug because Jade was renamed to Pug, and \`jade\` package is outdated + * Replace jade with pug because Jade was renamed to Pug, and \`jade\` package is outdated ### Patch Changes -- [81dc0be5](https://github.com/keystonejs/keystone-5/commit/81dc0be5): +* [81dc0be5](https://github.com/keystonejs/keystone-5/commit/81dc0be5): - - Update dependencies + * Update dependencies " `; exports[`it works 2`] = ` "### Patch Changes -- [19fe6c1b](https://github.com/keystonejs/keystone-5/commit/19fe6c1b): +* [19fe6c1b](https://github.com/keystonejs/keystone-5/commit/19fe6c1b): - Move frontmatter in docs into comments + Move frontmatter in docs into comments " `; diff --git a/packages/release-utils/src/utils.ts b/packages/release-utils/src/utils.ts index 0f0a609e9..c3bb1def3 100644 --- a/packages/release-utils/src/utils.ts +++ b/packages/release-utils/src/utils.ts @@ -2,12 +2,11 @@ import { getPackages, type Package } from "@manypkg/get-packages"; import cp, { type ChildProcess } from "node:child_process"; import { promisify } from "node:util"; import { SIGTERM } from "node:constants"; -import { toString as mdastToString } from "mdast-util-to-string"; +import { toString as mdastNodeToString } from "mdast-util-to-string"; import os from "os"; -import remarkParse from "remark-parse"; -import remarkStringify from "remark-stringify"; +import { fromMarkdown as stringToMdast } from "mdast-util-from-markdown"; +import { toMarkdown as mdastToString } from "mdast-util-to-markdown"; import spawn from "spawndamnit"; -import unified from "unified"; import { onExit } from "signal-exit"; const exec = promisify(cp.exec); @@ -42,11 +41,11 @@ export async function getChangedPackages( } export function getChangelogEntry(changelog: string, version: string) { - let ast = unified().use(remarkParse).parse(changelog); + let ast = stringToMdast(changelog); let highestLevel: number = BumpLevels.dep; - let nodes = ast.children as Array; + let nodes = ast.children; let headingStartInfo: | { index: number; @@ -58,7 +57,7 @@ export function getChangelogEntry(changelog: string, version: string) { for (let i = 0; i < nodes.length; i++) { let node = nodes[i]; if (node.type === "heading") { - let stringified: string = mdastToString(node); + let stringified: string = mdastNodeToString(node); let match = stringified.toLowerCase().match(/(major|minor|patch)/); if (match !== null) { let level = BumpLevels[match[0] as "major" | "minor" | "patch"]; @@ -88,7 +87,7 @@ export function getChangelogEntry(changelog: string, version: string) { ); } return { - content: unified().use(remarkStringify).stringify(ast), + content: mdastToString(ast), highestLevel, }; } diff --git a/yarn.lock b/yarn.lock index 6bd2d5efd..94f220b33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1722,6 +1722,13 @@ resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -1771,6 +1778,11 @@ dependencies: "@types/braces" "*" +"@types/ms@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + "@types/node@*", "@types/node@^12.7.1": version "12.12.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.5.tgz#66103d2eddc543d44a04394abb7be52506d7f290" @@ -1800,16 +1812,11 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== -"@types/unist@*": +"@types/unist@*", "@types/unist@^3.0.0": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== -"@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== - "@typescript-eslint/eslint-plugin@^5.43.0": version "5.43.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc" @@ -2216,11 +2223,6 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.3" -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -2336,11 +2338,6 @@ caniuse-lite@^1.0.30001688: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz#67ca960dd5f443903e19949aeacc9d28f6e10910" integrity sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g== -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== - chai@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" @@ -2369,25 +2366,10 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-html4@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" - integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== chardet@^0.7.0: version "0.7.0" @@ -2424,11 +2406,6 @@ ci-info@^3.8.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -2558,6 +2535,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.0.0, debug@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" @@ -2565,12 +2549,12 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "^2.1.3" -debug@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== +decode-named-character-reference@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" + integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== dependencies: - ms "^2.1.3" + character-entities "^2.0.0" deep-eql@^5.0.1: version "5.0.2" @@ -2610,11 +2594,23 @@ define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + detect-indent@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +devlop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + dir-glob@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -3077,11 +3073,6 @@ expect-type@^1.1.0: resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75" integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA== -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - external-editor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -3639,7 +3630,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.0: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3663,24 +3654,6 @@ internal-slot@^1.1.0: hasown "^2.0.2" side-channel "^1.1.0" -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumeric@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" - integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-array-buffer@^3.0.4: version "3.0.5" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" @@ -3739,11 +3712,6 @@ is-boolean-object@^1.2.1: call-bound "^1.0.2" has-tostringtag "^1.0.2" -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-callable@^1.1.3, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -3773,11 +3741,6 @@ is-date-object@^1.0.5, is-date-object@^1.1.0: call-bound "^1.0.2" has-tostringtag "^1.0.2" -is-decimal@^1.0.0, is-decimal@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -3826,11 +3789,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - is-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" @@ -3876,11 +3834,6 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -3975,16 +3928,6 @@ is-weakset@^2.0.3: call-bound "^1.0.3" get-intrinsic "^1.2.6" -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -4184,10 +4127,10 @@ lodash@^4.17.13: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -longest-streak@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loupe@^3.1.0, loupe@^3.1.3: version "3.1.3" @@ -4251,27 +4194,51 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -markdown-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== - -markdown-table@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" - integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== - math-intrinsics@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.0.0.tgz#4e04bf87c85aa51e90d078dac2252b4eb5260817" integrity sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA== -mdast-util-compact@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" - integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== +mdast-util-from-markdown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" + integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== dependencies: - unist-util-visit "^1.1.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" + integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-markdown@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" mdast-util-to-string@^4.0.0: version "4.0.0" @@ -4295,6 +4262,200 @@ merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +micromark-core-commonmark@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-html-tag-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromark@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" @@ -4580,18 +4741,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-entities@^1.0.2, parse-entities@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" - integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - parse-github-url@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" @@ -4915,57 +5064,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -remark-parse@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf" - integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA== - dependencies: - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^1.1.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^1.0.0" - vfile-location "^2.0.0" - xtend "^4.0.1" - -remark-stringify@^7.0.3: - version "7.0.4" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-7.0.4.tgz#3de1e3f93853288d3407da1cd44f2212321dd548" - integrity sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^1.1.0" - mdast-util-compact "^1.0.0" - parse-entities "^1.0.2" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^2.0.0" - unherit "^1.0.4" - xtend "^4.0.1" - -repeat-string@^1.5.4: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -replace-ext@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -5267,11 +5365,6 @@ stackback@0.0.2: resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== - std-env@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" @@ -5341,17 +5434,6 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -stringify-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-2.0.0.tgz#fa7ca6614b355fb6c28448140a20c4ede7462827" - integrity sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A== - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.2" - is-hexadecimal "^1.0.0" - "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -5493,21 +5575,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -trim-trailing-lines@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - tsconfig-paths@^3.15.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" @@ -5607,14 +5674,6 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== - dependencies: - inherits "^2.0.0" - xtend "^4.0.0" - unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -5638,17 +5697,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unified@^8.3.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" - integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -5656,38 +5704,36 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" -unist-util-is@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" - integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== - -unist-util-remove-position@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" - integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: - unist-util-visit "^1.1.0" + "@types/unist" "^3.0.0" -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: - "@types/unist" "^2.0.2" + "@types/unist" "^3.0.0" -unist-util-visit-parents@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" - integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: - unist-util-is "^3.0.0" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" -unist-util-visit@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" - integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: - unist-util-visit-parents "^2.0.0" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" universalify@^0.1.0: version "0.1.2" @@ -5724,30 +5770,6 @@ validate-npm-package-name@^5.0.1: resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== -vfile-location@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" - integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01" - integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vite-node@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.0.6.tgz#a68c06c08e95c9a83f21993eabb17e0398804b1b" @@ -5901,11 +5923,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -xtend@^4.0.0, xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -5920,3 +5937,8 @@ zod@^3.21.4: version "3.21.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== + +zwitch@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 2ad65e062ec882dcde461dbcd80a3e1d4ee98c96 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 18 Apr 2025 00:19:22 +0800 Subject: [PATCH 017/223] Remove deprecated CLI flag warnings (#1640) --- .changeset/whole-aliens-notice.md | 5 +++++ packages/cli/src/index.ts | 4 ---- packages/cli/src/run.ts | 13 ------------- 3 files changed, 5 insertions(+), 17 deletions(-) create mode 100644 .changeset/whole-aliens-notice.md diff --git a/.changeset/whole-aliens-notice.md b/.changeset/whole-aliens-notice.md new file mode 100644 index 000000000..d394e62ac --- /dev/null +++ b/.changeset/whole-aliens-notice.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": patch +--- + +Remove deprecated flag warnings, including `--updateChangelog`, `--isPublic`, `--skipCI`, and `--commit` diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 91289baa7..7f97bd097 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -28,10 +28,6 @@ const parsed = mri(args, { "since-master": "sinceMaster", "git-tag": "gitTag", "snapshot-prerelease-template": "snapshotPrereleaseTemplate", - // Deprecated flags - "update-changelog": "updateChangelog", - "is-public": "isPublic", - "skip-c-i": "skipCI", }, default: { gitTag: true, diff --git a/packages/cli/src/run.ts b/packages/cli/src/run.ts index dc36bd718..becdba9e3 100644 --- a/packages/cli/src/run.ts +++ b/packages/cli/src/run.ts @@ -91,19 +91,6 @@ export async function run( open, gitTag, }: CliOptions = flags; - const deadFlags = ["updateChangelog", "isPublic", "skipCI", "commit"]; - - deadFlags.forEach((flag) => { - if (flags[flag]) { - error( - `the flag ${flag} has been removed from changesets for version 2` - ); - error(`Please encode the desired value into your config`); - error(`See our changelog for more details`); - throw new ExitError(1); - } - }); - // Command line options need to be undefined, otherwise their // default value overrides the user's provided config in their // config file. For this reason, we only assign them to this From 771dc07bd7921f547f39d20d93c758e6e8cf3c1c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 21 Apr 2025 20:25:20 +0800 Subject: [PATCH 018/223] Version Packages (next) (#1481) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 15 ++++++++- packages/apply-release-plan/CHANGELOG.md | 21 ++++++++++++ packages/apply-release-plan/package.json | 14 ++++---- packages/assemble-release-plan/CHANGELOG.md | 16 +++++++++ packages/assemble-release-plan/package.json | 12 +++---- packages/changelog-git/CHANGELOG.md | 15 +++++++++ packages/changelog-git/package.json | 4 +-- packages/changelog-github/CHANGELOG.md | 18 +++++++++++ packages/changelog-github/package.json | 8 ++--- packages/cli/CHANGELOG.md | 34 ++++++++++++++++++++ packages/cli/package.json | 34 ++++++++++---------- packages/config/CHANGELOG.md | 18 +++++++++++ packages/config/package.json | 12 +++---- packages/errors/CHANGELOG.md | 10 ++++++ packages/errors/package.json | 2 +- packages/get-dependents-graph/CHANGELOG.md | 13 ++++++++ packages/get-dependents-graph/package.json | 6 ++-- packages/get-github-info/CHANGELOG.md | 14 ++++++++ packages/get-github-info/package.json | 2 +- packages/get-release-plan/CHANGELOG.md | 17 ++++++++++ packages/get-release-plan/package.json | 12 +++---- packages/get-version-range-type/CHANGELOG.md | 10 ++++++ packages/get-version-range-type/package.json | 2 +- packages/git/CHANGELOG.md | 17 ++++++++++ packages/git/package.json | 8 ++--- packages/logger/CHANGELOG.md | 10 ++++++ packages/logger/package.json | 2 +- packages/parse/CHANGELOG.md | 15 +++++++++ packages/parse/package.json | 4 +-- packages/pre/CHANGELOG.md | 16 +++++++++ packages/pre/package.json | 8 ++--- packages/read/CHANGELOG.md | 21 ++++++++++++ packages/read/package.json | 12 +++---- packages/release-utils/CHANGELOG.md | 21 ++++++++++++ packages/release-utils/package.json | 14 ++++---- packages/should-skip-package/CHANGELOG.md | 15 +++++++++ packages/should-skip-package/package.json | 6 ++-- packages/types/CHANGELOG.md | 8 +++++ packages/types/package.json | 2 +- packages/write/CHANGELOG.md | 17 ++++++++++ packages/write/package.json | 8 ++--- scripts/test-utils/CHANGELOG.md | 9 ++++++ scripts/test-utils/package.json | 4 +-- 43 files changed, 437 insertions(+), 89 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 82d95158c..f5e9d46f7 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -24,5 +24,18 @@ "@changesets/write": "0.3.2", "@changesets/test-utils": "0.0.7" }, - "changesets": [] + "changesets": [ + "afraid-radios-fetch", + "busy-points-guess", + "chilly-insects-attack", + "deep-coins-attend", + "gentle-windows-enter", + "happy-news-wave", + "old-paths-bake", + "petite-buttons-shake", + "red-emus-wave", + "spotty-chairs-call", + "thick-emus-refuse", + "whole-aliens-notice" + ] } diff --git a/packages/apply-release-plan/CHANGELOG.md b/packages/apply-release-plan/CHANGELOG.md index e36ae2fb3..884ec5072 100644 --- a/packages/apply-release-plan/CHANGELOG.md +++ b/packages/apply-release-plan/CHANGELOG.md @@ -1,5 +1,26 @@ # @changesets/apply-release-plan +## 8.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- [#1617](https://github.com/changesets/changesets/pull/1617) [`8f7b607`](https://github.com/changesets/changesets/commit/8f7b607b486e299e038bf8e257d28f0193ac4412) Thanks [@bluwy](https://github.com/bluwy)! - Move `outdent` as a dev dependency + +- Updated dependencies [[`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`3628cab`](https://github.com/changesets/changesets/commit/3628cab6cbfd931b7f2a909b38b66c1aa794d4bf), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/config@4.0.0-next.0 + - @changesets/git@4.0.0-next.0 + - @changesets/get-version-range-type@1.0.0-next.0 + - @changesets/should-skip-package@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 7.0.12 ### Patch Changes diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 5b45ee95f..7670713eb 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/apply-release-plan", - "version": "7.0.12", + "version": "8.0.0-next.0", "description": "Takes a release plan and applies it to packages", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/apply-release-plan", "dependencies": { - "@changesets/config": "^3.1.1", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.4", - "@changesets/should-skip-package": "^0.1.2", - "@changesets/types": "^6.1.0", + "@changesets/config": "^4.0.0-next.0", + "@changesets/get-version-range-type": "^1.0.0-next.0", + "@changesets/git": "^4.0.0-next.0", + "@changesets/should-skip-package": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "import-meta-resolve": "^4.1.0", @@ -22,7 +22,7 @@ "semver": "^7.5.3" }, "devDependencies": { - "@changesets/test-utils": "*", + "@changesets/test-utils": "0.0.9-next.0", "outdent": "^0.8.0", "spawndamnit": "^3.0.1" }, diff --git a/packages/assemble-release-plan/CHANGELOG.md b/packages/assemble-release-plan/CHANGELOG.md index a2dc7acee..1988113dd 100644 --- a/packages/assemble-release-plan/CHANGELOG.md +++ b/packages/assemble-release-plan/CHANGELOG.md @@ -1,5 +1,21 @@ # @changesets/assemble-release-plan +## 7.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/get-dependents-graph@3.0.0-next.0 + - @changesets/should-skip-package@1.0.0-next.0 + - @changesets/errors@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 6.0.6 ### Patch Changes diff --git a/packages/assemble-release-plan/package.json b/packages/assemble-release-plan/package.json index ef2ca9296..10e55e7ac 100644 --- a/packages/assemble-release-plan/package.json +++ b/packages/assemble-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/assemble-release-plan", - "version": "6.0.6", + "version": "7.0.0-next.0", "description": "Reads changesets and adds information on dependents that need bumping", "type": "module", "exports": { @@ -10,15 +10,15 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/assemble-release-plan", "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.3", - "@changesets/should-skip-package": "^0.1.2", - "@changesets/types": "^6.1.0", + "@changesets/errors": "^1.0.0-next.0", + "@changesets/get-dependents-graph": "^3.0.0-next.0", + "@changesets/should-skip-package": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" }, "devDependencies": { - "@changesets/config": "*" + "@changesets/config": "4.0.0-next.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/changelog-git/CHANGELOG.md b/packages/changelog-git/CHANGELOG.md index 2d381bf91..39be28fd3 100644 --- a/packages/changelog-git/CHANGELOG.md +++ b/packages/changelog-git/CHANGELOG.md @@ -1,5 +1,20 @@ # @changesets/changelog-git +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/types@7.0.0-next.0 + ## 0.2.1 ### Patch Changes diff --git a/packages/changelog-git/package.json b/packages/changelog-git/package.json index e3649463f..39018c331 100644 --- a/packages/changelog-git/package.json +++ b/packages/changelog-git/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/changelog-git", - "version": "0.2.1", + "version": "1.0.0-next.0", "description": "A changelog entry generator for git that writes hashes", "type": "module", "exports": { @@ -10,7 +10,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-git", "dependencies": { - "@changesets/types": "^6.1.0" + "@changesets/types": "^7.0.0-next.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/changelog-github/CHANGELOG.md b/packages/changelog-github/CHANGELOG.md index a71bc0ba1..bff03731e 100644 --- a/packages/changelog-github/CHANGELOG.md +++ b/packages/changelog-github/CHANGELOG.md @@ -1,5 +1,23 @@ # @changesets/changelog-github +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1615](https://github.com/changesets/changesets/pull/1615) [`4b962cc`](https://github.com/changesets/changesets/commit/4b962cc6e5c56ca519c3d5c00bdec59c754a43cc) Thanks [@bluwy](https://github.com/bluwy)! - Bump `dotenv` dependency to v16 + +### Patch Changes + +- Updated dependencies [[`5b02e2f`](https://github.com/changesets/changesets/commit/5b02e2f61d2a1335293016f81efb0386a0ed7967), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/get-github-info@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 0.5.1 ### Patch Changes diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index 93fea7ef9..d8cc672ac 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/changelog-github", - "version": "0.5.1", + "version": "1.0.0-next.0", "description": "A changelog entry generator for GitHub that links to commits, PRs and users", "type": "module", "exports": { @@ -10,12 +10,12 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-github", "dependencies": { - "@changesets/get-github-info": "^0.6.0", - "@changesets/types": "^6.1.0", + "@changesets/get-github-info": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "dotenv": "^16.4.7" }, "devDependencies": { - "@changesets/parse": "*", + "@changesets/parse": "1.0.0-next.0", "vitest": "^3.0.6" }, "engines": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 8f12034e1..03a43d6a4 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,39 @@ # @changesets/cli +## 3.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- [#1570](https://github.com/changesets/changesets/pull/1570) [`d099e43`](https://github.com/changesets/changesets/commit/d099e43300c590c86740a638330bed03511c7c77) Thanks [@pralkarz](https://github.com/pralkarz)! - Removed extra leftover code related to Changesets v1 + +- [#1616](https://github.com/changesets/changesets/pull/1616) [`609046c`](https://github.com/changesets/changesets/commit/609046c353caa08473b86e7c194e256e1cecacaa) Thanks [@bluwy](https://github.com/bluwy)! - Remove `term-size` dependency + +- [#1640](https://github.com/changesets/changesets/pull/1640) [`2ad65e0`](https://github.com/changesets/changesets/commit/2ad65e062ec882dcde461dbcd80a3e1d4ee98c96) Thanks [@bluwy](https://github.com/bluwy)! - Remove deprecated flag warnings, including `--updateChangelog`, `--isPublic`, `--skipCI`, and `--commit` + +- Updated dependencies [[`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e), [`6d1f384`](https://github.com/changesets/changesets/commit/6d1f384c8feab091f58443f6f7ee2ada64e0e7cc), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`3628cab`](https://github.com/changesets/changesets/commit/3628cab6cbfd931b7f2a909b38b66c1aa794d4bf), [`8f7b607`](https://github.com/changesets/changesets/commit/8f7b607b486e299e038bf8e257d28f0193ac4412), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/apply-release-plan@8.0.0-next.0 + - @changesets/config@4.0.0-next.0 + - @changesets/write@1.0.0-next.0 + - @changesets/read@1.0.0-next.0 + - @changesets/git@4.0.0-next.0 + - @changesets/pre@3.0.0-next.0 + - @changesets/assemble-release-plan@7.0.0-next.0 + - @changesets/get-dependents-graph@3.0.0-next.0 + - @changesets/should-skip-package@1.0.0-next.0 + - @changesets/get-release-plan@5.0.0-next.0 + - @changesets/changelog-git@1.0.0-next.0 + - @changesets/errors@1.0.0-next.0 + - @changesets/logger@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 2.29.2 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 9e0686d34..fbb5eb261 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/cli", - "version": "2.29.2", + "version": "3.0.0-next.0", "description": "Organise your package versioning and publishing to make both contributors and maintainers happy", "bin": { "changeset": "bin.js" @@ -42,20 +42,20 @@ }, "license": "MIT", "dependencies": { - "@changesets/apply-release-plan": "^7.0.12", - "@changesets/assemble-release-plan": "^6.0.6", - "@changesets/changelog-git": "^0.2.1", - "@changesets/config": "^3.1.1", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.3", - "@changesets/get-release-plan": "^4.0.10", - "@changesets/git": "^3.0.4", - "@changesets/logger": "^0.1.1", - "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", - "@changesets/should-skip-package": "^0.1.2", - "@changesets/types": "^6.1.0", - "@changesets/write": "^0.4.0", + "@changesets/apply-release-plan": "^8.0.0-next.0", + "@changesets/assemble-release-plan": "^7.0.0-next.0", + "@changesets/changelog-git": "^1.0.0-next.0", + "@changesets/config": "^4.0.0-next.0", + "@changesets/errors": "^1.0.0-next.0", + "@changesets/get-dependents-graph": "^3.0.0-next.0", + "@changesets/get-release-plan": "^5.0.0-next.0", + "@changesets/git": "^4.0.0-next.0", + "@changesets/logger": "^1.0.0-next.0", + "@changesets/pre": "^3.0.0-next.0", + "@changesets/read": "^1.0.0-next.0", + "@changesets/should-skip-package": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", + "@changesets/write": "^1.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", @@ -70,8 +70,8 @@ "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/parse": "*", - "@changesets/test-utils": "*", + "@changesets/parse": "1.0.0-next.0", + "@changesets/test-utils": "0.0.9-next.0", "@types/semver": "^7.5.0", "human-id": "^4.1.1", "outdent": "^0.8.0", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 4dbb763aa..8f32fd6c4 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,23 @@ # @changesets/config +## 4.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/get-dependents-graph@3.0.0-next.0 + - @changesets/errors@1.0.0-next.0 + - @changesets/logger@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 3.1.1 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index c7028c2fd..3de32230b 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/config", - "version": "3.1.1", + "version": "4.0.0-next.0", "description": "Utilities for reading and parsing Changeset's config", "type": "module", "exports": { @@ -14,15 +14,15 @@ "schema.json" ], "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.3", - "@changesets/logger": "^0.1.1", - "@changesets/types": "^6.1.0", + "@changesets/errors": "^1.0.0-next.0", + "@changesets/get-dependents-graph": "^3.0.0-next.0", + "@changesets/logger": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "micromatch": "^4.0.8" }, "devDependencies": { - "@changesets/test-utils": "*", + "@changesets/test-utils": "0.0.9-next.0", "@types/micromatch": "^4.0.1", "outdent": "^0.8.0", "vitest": "^3.0.6" diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index 67730cc50..1bb1537dd 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -1,5 +1,15 @@ # @changesets/errors +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + ## 0.2.0 ### Minor Changes diff --git a/packages/errors/package.json b/packages/errors/package.json index 538ad26ae..8af13ca17 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/errors", - "version": "0.2.0", + "version": "1.0.0-next.0", "description": "Error classes for @changesets", "type": "module", "exports": { diff --git a/packages/get-dependents-graph/CHANGELOG.md b/packages/get-dependents-graph/CHANGELOG.md index 7c3e349fc..f888f20fa 100644 --- a/packages/get-dependents-graph/CHANGELOG.md +++ b/packages/get-dependents-graph/CHANGELOG.md @@ -1,5 +1,18 @@ # @changesets/get-dependents-graph +## 3.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/types@7.0.0-next.0 + ## 2.1.3 ### Patch Changes diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index bdda3adcc..635e2bab4 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-dependents-graph", - "version": "2.1.3", + "version": "3.0.0-next.0", "description": "Get the graph of dependents in a monorepo", "type": "module", "exports": { @@ -10,13 +10,13 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-dependents-graph", "dependencies": { - "@changesets/types": "^6.1.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" }, "devDependencies": { - "@changesets/test-utils": "*", + "@changesets/test-utils": "0.0.9-next.0", "strip-ansi": "^7.1.0", "vitest": "^3.0.6" }, diff --git a/packages/get-github-info/CHANGELOG.md b/packages/get-github-info/CHANGELOG.md index fd3209b0f..de8e15a3b 100644 --- a/packages/get-github-info/CHANGELOG.md +++ b/packages/get-github-info/CHANGELOG.md @@ -1,5 +1,19 @@ # @changesets/get-github-info +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- [#1613](https://github.com/changesets/changesets/pull/1613) [`5b02e2f`](https://github.com/changesets/changesets/commit/5b02e2f61d2a1335293016f81efb0386a0ed7967) Thanks [@bluwy](https://github.com/bluwy)! - Remove `node-fetch` dependency + ## 0.6.0 ### Minor Changes diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index 330eb7346..cb5264a9d 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-github-info", - "version": "0.6.0", + "version": "1.0.0-next.0", "description": "Get the GitHub username and PR number from a commit. Intended for use with changesets.", "type": "module", "exports": { diff --git a/packages/get-release-plan/CHANGELOG.md b/packages/get-release-plan/CHANGELOG.md index b2b41f577..1f511deb3 100644 --- a/packages/get-release-plan/CHANGELOG.md +++ b/packages/get-release-plan/CHANGELOG.md @@ -1,5 +1,22 @@ # @changesets/get-release-plan +## 5.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- Updated dependencies [[`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e), [`6d1f384`](https://github.com/changesets/changesets/commit/6d1f384c8feab091f58443f6f7ee2ada64e0e7cc), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/config@4.0.0-next.0 + - @changesets/read@1.0.0-next.0 + - @changesets/pre@3.0.0-next.0 + - @changesets/assemble-release-plan@7.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 4.0.10 ### Patch Changes diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index 5857857da..a1d989fad 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-release-plan", - "version": "4.0.10", + "version": "5.0.0-next.0", "description": "Reads changesets and adds information on dependents that need bumping", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-release-plan", "dependencies": { - "@changesets/assemble-release-plan": "^6.0.6", - "@changesets/config": "^3.1.1", - "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", - "@changesets/types": "^6.1.0", + "@changesets/assemble-release-plan": "^7.0.0-next.0", + "@changesets/config": "^4.0.0-next.0", + "@changesets/pre": "^3.0.0-next.0", + "@changesets/read": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3" }, "engines": { diff --git a/packages/get-version-range-type/CHANGELOG.md b/packages/get-version-range-type/CHANGELOG.md index d0aeca63d..bf3fe9ae6 100644 --- a/packages/get-version-range-type/CHANGELOG.md +++ b/packages/get-version-range-type/CHANGELOG.md @@ -1,5 +1,15 @@ # @changesets/get-version-range-type +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + ## 0.4.0 ### Minor Changes diff --git a/packages/get-version-range-type/package.json b/packages/get-version-range-type/package.json index f0dfbd0d0..6103921fe 100644 --- a/packages/get-version-range-type/package.json +++ b/packages/get-version-range-type/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-version-range-type", - "version": "0.4.0", + "version": "1.0.0-next.0", "description": "Common get-version-range-type shared between changeset packages", "type": "module", "exports": { diff --git a/packages/git/CHANGELOG.md b/packages/git/CHANGELOG.md index e548d5a6c..acdad23be 100644 --- a/packages/git/CHANGELOG.md +++ b/packages/git/CHANGELOG.md @@ -1,5 +1,22 @@ # @changesets/git +## 4.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- [#1612](https://github.com/changesets/changesets/pull/1612) [`3628cab`](https://github.com/changesets/changesets/commit/3628cab6cbfd931b7f2a909b38b66c1aa794d4bf) Thanks [@bluwy](https://github.com/bluwy)! - Remove `is-subdir` dependency + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/errors@1.0.0-next.0 + ## 3.0.4 ### Patch Changes diff --git a/packages/git/package.json b/packages/git/package.json index a7b260003..c1f48e775 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/git", - "version": "3.0.4", + "version": "4.0.0-next.0", "description": "Some git helpers that changesets use to get information", "type": "module", "exports": { @@ -10,14 +10,14 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/git", "dependencies": { - "@changesets/errors": "^0.2.0", + "@changesets/errors": "^1.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/test-utils": "*", - "@changesets/write": "*", + "@changesets/test-utils": "0.0.9-next.0", + "@changesets/write": "1.0.0-next.0", "file-url": "^3.0.0" }, "engines": { diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index b7b6f2363..b48e0dc5a 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -1,5 +1,15 @@ # @changesets/logger +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + ## 0.1.1 ### Patch Changes diff --git a/packages/logger/package.json b/packages/logger/package.json index a446ce989..e4229fb99 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/logger", - "version": "0.1.1", + "version": "1.0.0-next.0", "description": "Console log alias", "type": "module", "exports": { diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 95bab5c9a..f0b5cb9f9 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -1,5 +1,20 @@ # @changesets/parse +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/types@7.0.0-next.0 + ## 0.4.1 ### Patch Changes diff --git a/packages/parse/package.json b/packages/parse/package.json index 663171757..682fc982c 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/parse", - "version": "0.4.1", + "version": "1.0.0-next.0", "description": "Parse a changeset file's contents into a usable json object", "type": "module", "exports": { @@ -10,7 +10,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/parse", "dependencies": { - "@changesets/types": "^6.1.0", + "@changesets/types": "^7.0.0-next.0", "js-yaml": "^3.13.1" }, "devDependencies": { diff --git a/packages/pre/CHANGELOG.md b/packages/pre/CHANGELOG.md index 468b2df79..c5f643671 100644 --- a/packages/pre/CHANGELOG.md +++ b/packages/pre/CHANGELOG.md @@ -1,5 +1,21 @@ # @changesets/pre +## 3.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/errors@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 2.0.2 ### Patch Changes diff --git a/packages/pre/package.json b/packages/pre/package.json index 8e61ec8fc..74388e0ec 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/pre", - "version": "2.0.2", + "version": "3.0.0-next.0", "description": "Utils to make a Changesets repo enter and exit pre mode", "type": "module", "exports": { @@ -10,12 +10,12 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/pre", "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.1.0", + "@changesets/errors": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { - "@changesets/test-utils": "*" + "@changesets/test-utils": "0.0.9-next.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/read/CHANGELOG.md b/packages/read/CHANGELOG.md index 8a4b808ae..79d9c92d6 100644 --- a/packages/read/CHANGELOG.md +++ b/packages/read/CHANGELOG.md @@ -1,5 +1,26 @@ # @changesets/read +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1494](https://github.com/changesets/changesets/pull/1494) [`6d1f384`](https://github.com/changesets/changesets/commit/6d1f384c8feab091f58443f6f7ee2ada64e0e7cc) Thanks [@bluwy](https://github.com/bluwy)! - Remove support for reading changesets from version 1 + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`3628cab`](https://github.com/changesets/changesets/commit/3628cab6cbfd931b7f2a909b38b66c1aa794d4bf), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/git@4.0.0-next.0 + - @changesets/parse@1.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 0.6.5 ### Patch Changes diff --git a/packages/read/package.json b/packages/read/package.json index 3884a193f..b06f8f761 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/read", - "version": "0.6.5", + "version": "1.0.0-next.0", "description": "Read changesets from disc, and return the information as JSON", "type": "module", "exports": { @@ -10,14 +10,14 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/read", "dependencies": { - "@changesets/git": "^3.0.4", - "@changesets/parse": "^0.4.1", - "@changesets/types": "^6.1.0", + "@changesets/git": "^4.0.0-next.0", + "@changesets/parse": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "picocolors": "^1.1.0" }, "devDependencies": { - "@changesets/test-utils": "*", - "@changesets/write": "*", + "@changesets/test-utils": "0.0.9-next.0", + "@changesets/write": "1.0.0-next.0", "outdent": "^0.8.0" }, "engines": { diff --git a/packages/release-utils/CHANGELOG.md b/packages/release-utils/CHANGELOG.md index 33e8306e5..731042657 100644 --- a/packages/release-utils/CHANGELOG.md +++ b/packages/release-utils/CHANGELOG.md @@ -1,5 +1,26 @@ # @changesets/release-utils +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1618](https://github.com/changesets/changesets/pull/1618) [`e089e60`](https://github.com/changesets/changesets/commit/e089e60c6f9d4cbb2040abb1045dcbebc3a559e6) Thanks [@bluwy](https://github.com/bluwy)! - Update markdown dependencies to latest. The returned markdown from `getChangelogEntry` may be formatted differently, but should semantically represent the same content. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e), [`6d1f384`](https://github.com/changesets/changesets/commit/6d1f384c8feab091f58443f6f7ee2ada64e0e7cc), [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/read@1.0.0-next.0 + - @changesets/pre@3.0.0-next.0 + - @changesets/types@7.0.0-next.0 + ## 0.2.5 ### Patch Changes diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index cc01a853b..f544ea9e6 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -1,15 +1,15 @@ { "name": "@changesets/release-utils", - "version": "0.2.5", + "version": "1.0.0-next.0", "type": "module", "exports": { ".": "./dist/changesets-release-utils.js", "./package.json": "./package.json" }, "dependencies": { - "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", - "@changesets/types": "^6.1.0", + "@changesets/pre": "^3.0.0-next.0", + "@changesets/read": "^1.0.0-next.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3", "mdast-util-from-markdown": "^2.0.2", "mdast-util-to-markdown": "^2.1.2", @@ -19,9 +19,9 @@ "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/git": "*", - "@changesets/test-utils": "*", - "@changesets/write": "*", + "@changesets/git": "4.0.0-next.0", + "@changesets/test-utils": "0.0.9-next.0", + "@changesets/write": "1.0.0-next.0", "file-url": "^3.0.0", "vitest": "^3.0.6" }, diff --git a/packages/should-skip-package/CHANGELOG.md b/packages/should-skip-package/CHANGELOG.md index 46c06bf44..c327c0d70 100644 --- a/packages/should-skip-package/CHANGELOG.md +++ b/packages/should-skip-package/CHANGELOG.md @@ -1,5 +1,20 @@ # @changesets/should-skip-package +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/types@7.0.0-next.0 + ## 0.1.2 ### Patch Changes diff --git a/packages/should-skip-package/package.json b/packages/should-skip-package/package.json index 6bb2e0c7b..b58476763 100644 --- a/packages/should-skip-package/package.json +++ b/packages/should-skip-package/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/should-skip-package", - "version": "0.1.2", + "version": "1.0.0-next.0", "description": "Checks if a package should be skipped for versioning or tagging purposes", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/should-skip-package", "dependencies": { - "@changesets/types": "^6.1.0", + "@changesets/types": "^7.0.0-next.0", "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { - "@changesets/test-utils": "*" + "@changesets/test-utils": "0.0.9-next.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 39ff44058..e2cdb7768 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,13 @@ # @changesets/types +## 7.0.0-next.0 + +### Major Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + ## 6.1.0 ### Minor Changes diff --git a/packages/types/package.json b/packages/types/package.json index a93296d35..feaf3a9fa 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/types", - "version": "6.1.0", + "version": "7.0.0-next.0", "description": "Common types shared between changeset packages", "type": "module", "exports": { diff --git a/packages/write/CHANGELOG.md b/packages/write/CHANGELOG.md index ea0718df2..2cf92f14b 100644 --- a/packages/write/CHANGELOG.md +++ b/packages/write/CHANGELOG.md @@ -1,5 +1,22 @@ # @changesets/write +## 1.0.0-next.0 + +### Major Changes + +- [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - From now on this package is going to be published as ES module. + +### Minor Changes + +- [#1479](https://github.com/changesets/changesets/pull/1479) [`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5) Thanks [@bluwy](https://github.com/bluwy)! - Add `"engines"` field for explicit node version support. The supported node versions are `>=18.0.0`. + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/types@7.0.0-next.0 + ## 0.4.0 ### Minor Changes diff --git a/packages/write/package.json b/packages/write/package.json index ae0c331e7..65e03683c 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/write", - "version": "0.4.0", + "version": "1.0.0-next.0", "description": "Writes a changeset to a file", "type": "module", "exports": { @@ -10,13 +10,13 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/write", "dependencies": { - "@changesets/types": "^6.1.0", + "@changesets/types": "^7.0.0-next.0", "human-id": "^4.1.1", "prettier": "^2.7.1" }, "devDependencies": { - "@changesets/parse": "*", - "@changesets/test-utils": "*", + "@changesets/parse": "1.0.0-next.0", + "@changesets/test-utils": "0.0.9-next.0", "vitest": "^3.0.6" }, "engines": { diff --git a/scripts/test-utils/CHANGELOG.md b/scripts/test-utils/CHANGELOG.md index e893ae44e..1df612876 100644 --- a/scripts/test-utils/CHANGELOG.md +++ b/scripts/test-utils/CHANGELOG.md @@ -1,5 +1,14 @@ # @changesets/test-utils +## 0.0.9-next.0 + +### Patch Changes + +- [#1476](https://github.com/changesets/changesets/pull/1476) [`e0e1748`](https://github.com/changesets/changesets/commit/e0e1748369b1f936c665b62590a76a0d57d1545e) Thanks [@pralkarz](https://github.com/pralkarz)! - Replace `fs-extra` usage with `node:fs` + +- Updated dependencies [[`7f34a00`](https://github.com/changesets/changesets/commit/7f34a00aab779a941a406b17f5a85895144fc0a5), [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7)]: + - @changesets/logger@1.0.0-next.0 + ## 0.0.8 ### Patch Changes diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index f030c3c88..866189e79 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/test-utils", - "version": "0.0.8", + "version": "0.0.9-next.0", "private": true, "type": "module", "description": "Utils for testing changesets packages", @@ -11,7 +11,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/test-utils", "dependencies": { - "@changesets/logger": "^0.1.1", + "@changesets/logger": "^1.0.0-next.0", "fixturez": "^1.1.0", "spawndamnit": "^3.0.1", "vitest": "^3.0.6" From b83787fb090dc03ad566a7d8b7e286dbe93e2301 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 27 Apr 2025 00:49:07 +0800 Subject: [PATCH 019/223] Change `defaultWrittenConfig`'s `baseBranch` to `main` (#1650) --- .changeset/plenty-forks-sip.md | 5 +++++ packages/cli/src/commands/init/__tests__/command.ts | 2 +- packages/cli/src/commands/init/index.ts | 8 +------- packages/config/schema.json | 2 +- packages/config/src/index.test.ts | 6 +++--- packages/config/src/index.ts | 2 +- 6 files changed, 12 insertions(+), 13 deletions(-) create mode 100644 .changeset/plenty-forks-sip.md diff --git a/.changeset/plenty-forks-sip.md b/.changeset/plenty-forks-sip.md new file mode 100644 index 000000000..b4ad65553 --- /dev/null +++ b/.changeset/plenty-forks-sip.md @@ -0,0 +1,5 @@ +--- +"@changesets/config": major +--- + +Change the `defaultWrittenConfig` `baseBranch` value from `"master"` to `"main"` diff --git a/packages/cli/src/commands/init/__tests__/command.ts b/packages/cli/src/commands/init/__tests__/command.ts index c446fc091..362ebed22 100644 --- a/packages/cli/src/commands/init/__tests__/command.ts +++ b/packages/cli/src/commands/init/__tests__/command.ts @@ -39,7 +39,7 @@ describe("init", () => { JSON.parse( await fs.readFile(path.join(cwd, ".changeset/config.json"), "utf8") ) - ).toEqual({ ...defaultWrittenConfig, baseBranch: "main" }); + ).toEqual(defaultWrittenConfig); }); it("should add newline at the end of config", async () => { const cwd = await testdir({ diff --git a/packages/cli/src/commands/init/index.ts b/packages/cli/src/commands/init/index.ts index a0fff561b..8c617f398 100644 --- a/packages/cli/src/commands/init/index.ts +++ b/packages/cli/src/commands/init/index.ts @@ -17,13 +17,7 @@ async function pathExists(p: string) { const pkgPath = path.dirname(require.resolve("@changesets/cli/package.json")); -// Modify base branch to "main" without changing defaultWrittenConfig since it also serves as a fallback -// for config files that don't specify a base branch. Changing that to main would be a breaking change. -const defaultConfig = `${JSON.stringify( - { ...defaultWrittenConfig, baseBranch: "main" }, - null, - 2 -)}\n`; +const defaultConfig = `${JSON.stringify(defaultWrittenConfig, null, 2)}\n`; export default async function init(cwd: string) { const changesetBase = path.resolve(cwd, ".changeset"); diff --git a/packages/config/schema.json b/packages/config/schema.json index 62f0b92f8..0a8ad6c3c 100644 --- a/packages/config/schema.json +++ b/packages/config/schema.json @@ -102,7 +102,7 @@ }, "baseBranch": { "type": "string", - "default": "master", + "default": "main", "description": "Determines the branch that Changesets uses when finding what packages have changed." }, "changedFilePatterns": { diff --git a/packages/config/src/index.test.ts b/packages/config/src/index.test.ts index 0383a4649..8c0ea5daa 100644 --- a/packages/config/src/index.test.ts +++ b/packages/config/src/index.test.ts @@ -45,7 +45,7 @@ test("read reads the config", async () => { changelog: false, commit: ["@changesets/cli/commit", { skipCI: "version" }], access: "restricted", - baseBranch: "master", + baseBranch: "main", changedFilePatterns: ["**"], updateInternalDependencies: "patch", ignore: [], @@ -85,7 +85,7 @@ test("read can read config based on the passed in `cwd`", async () => { changelog: false, commit: ["@changesets/cli/commit", { skipCI: "version" }], access: "restricted", - baseBranch: "master", + baseBranch: "main", changedFilePatterns: ["**"], updateInternalDependencies: "patch", ignore: [], @@ -144,7 +144,7 @@ let defaults: Config = { changelog: ["@changesets/cli/changelog", null], commit: false, access: "restricted", - baseBranch: "master", + baseBranch: "main", changedFilePatterns: ["**"], updateInternalDependencies: "patch", ignore: [], diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index b7471ebf6..3bfb317c1 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -25,7 +25,7 @@ export let defaultWrittenConfig = { fixed: [] as Fixed, linked: [] as Linked, access: "restricted", - baseBranch: "master", + baseBranch: "main", updateInternalDependencies: "patch", ignore: [] as ReadonlyArray, } as const; From e1df8625800a1b3c4f66474a0e3c01b08214465c Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 27 Apr 2025 01:25:38 +0800 Subject: [PATCH 020/223] Remove `--sinceMaster` flag support (#1651) * Remove `--sinceMaster` flag support * Fix lint --- .changeset/rare-carrots-read.md | 5 +++++ packages/cli/src/commands/status/index.ts | 16 +++------------- packages/cli/src/index.ts | 3 +-- packages/cli/src/run.ts | 3 +-- packages/cli/src/types.ts | 1 - 5 files changed, 10 insertions(+), 18 deletions(-) create mode 100644 .changeset/rare-carrots-read.md diff --git a/.changeset/rare-carrots-read.md b/.changeset/rare-carrots-read.md new file mode 100644 index 000000000..903053983 --- /dev/null +++ b/.changeset/rare-carrots-read.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": major +--- + +Remove support for the `--sinceMaster` flag for `changeset status`. Use `--since=master` or `--since=main` instead. diff --git a/packages/cli/src/commands/status/index.ts b/packages/cli/src/commands/status/index.ts index 167ff9066..1db3952bf 100644 --- a/packages/cli/src/commands/status/index.ts +++ b/packages/cli/src/commands/status/index.ts @@ -2,7 +2,7 @@ import pc from "picocolors"; import fs from "node:fs/promises"; import path from "path"; import getReleasePlan from "@changesets/get-release-plan"; -import { error, info, log, warn } from "@changesets/logger"; +import { error, info, log } from "@changesets/logger"; import type { ComprehensiveRelease, Config, @@ -14,31 +14,21 @@ import { getVersionableChangedPackages } from "../../utils/versionablePackages.t export default async function status( cwd: string, { - sinceMaster, since, verbose, output, }: { - sinceMaster?: boolean; since?: string; verbose?: boolean; output?: string; }, config: Config ) { - if (sinceMaster) { - warn( - "--sinceMaster is deprecated and will be removed in a future major version" - ); - warn("Use --since=master instead"); - } - const sinceBranch = - since === undefined ? (sinceMaster ? "master" : undefined) : since; - const releasePlan = await getReleasePlan(cwd, sinceBranch, config); + const releasePlan = await getReleasePlan(cwd, since, config); const { changesets, releases } = releasePlan; const changedPackages = await getVersionableChangedPackages(config, { cwd, - ref: sinceBranch, + ref: since, }); if (changedPackages.length > 0 && changesets.length === 0) { diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 7f97bd097..559c79494 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -10,7 +10,7 @@ const require = createRequire(import.meta.url); const args = process.argv.slice(2); const parsed = mri(args, { - boolean: ["sinceMaster", "verbose", "empty", "open", "gitTag", "snapshot"], + boolean: ["verbose", "empty", "open", "gitTag", "snapshot"], string: [ "output", "otp", @@ -25,7 +25,6 @@ const parsed = mri(args, { v: "verbose", o: "output", // Support kebab-case flags - "since-master": "sinceMaster", "git-tag": "gitTag", "snapshot-prerelease-template": "snapshotPrereleaseTemplate", }, diff --git a/packages/cli/src/run.ts b/packages/cli/src/run.ts index becdba9e3..de93c37dc 100644 --- a/packages/cli/src/run.ts +++ b/packages/cli/src/run.ts @@ -78,7 +78,6 @@ export async function run( ); } else { const { - sinceMaster, since, verbose, output, @@ -187,7 +186,7 @@ export async function run( return; } case "status": { - await status(cwd, { sinceMaster, since, verbose, output }, config); + await status(cwd, { since, verbose, output }, config); return; } case "tag": { diff --git a/packages/cli/src/types.ts b/packages/cli/src/types.ts index 9f3262743..e04270a78 100644 --- a/packages/cli/src/types.ts +++ b/packages/cli/src/types.ts @@ -1,5 +1,4 @@ export type CliOptions = { - sinceMaster?: boolean; verbose?: boolean; output?: string; otp?: string; From f5d4443bf28085d0f5b97a595f97ffd85286b1e2 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 1 May 2025 23:47:24 +0800 Subject: [PATCH 021/223] Add uncaptured tests to Vitest --- .../add/__tests__/{add.ts => add.test.ts} | 17 +++++++++-------- .../__tests__/{command.ts => command.test.ts} | 0 .../__tests__/{status.ts => status.test.ts} | 0 yarn.lock | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) rename packages/cli/src/commands/add/__tests__/{add.ts => add.test.ts} (96%) rename packages/cli/src/commands/init/__tests__/{command.ts => command.test.ts} (100%) rename packages/cli/src/commands/status/__tests__/{status.ts => status.test.ts} (100%) diff --git a/packages/cli/src/commands/add/__tests__/add.ts b/packages/cli/src/commands/add/__tests__/add.test.ts similarity index 96% rename from packages/cli/src/commands/add/__tests__/add.ts rename to packages/cli/src/commands/add/__tests__/add.test.ts index fed32c27c..8c75798bd 100644 --- a/packages/cli/src/commands/add/__tests__/add.ts +++ b/packages/cli/src/commands/add/__tests__/add.test.ts @@ -1,11 +1,11 @@ -import { Mock, vi } from "vitest"; +import { vi } from "vitest"; import path from "path"; import stripAnsi from "strip-ansi"; import * as git from "@changesets/git"; import { defaultConfig } from "@changesets/config"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; import writeChangeset from "@changesets/write"; -import { error as loggerError } from "@changesets/logger"; +import * as logger from "@changesets/logger"; import { askCheckboxPlus, @@ -22,6 +22,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); vi.mock("../../../utils/cli-utilities"); vi.mock("@changesets/git"); vi.mock("@changesets/write"); +vi.mock("@changesets/logger"); // @ts-ignore writeChangeset.mockImplementation(() => Promise.resolve("abcdefg")); // @ts-ignore @@ -374,7 +375,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a single-package repo", async () => { - const loggerErrorMock = loggerError as Mock; + const loggerErrorSpy = vi.spyOn(logger, 'error') const cwd = await testdir({ "package.json": JSON.stringify({ @@ -386,8 +387,8 @@ describe("Add command", () => { addChangeset(cwd, { empty: false }, defaultConfig) ).rejects.toThrow("The process exited with code: 1"); - expect(loggerErrorMock).toHaveBeenCalledTimes(3); - expect(loggerErrorMock.mock.calls).toMatchInlineSnapshot(` + expect(loggerErrorSpy).toHaveBeenCalledTimes(3); + expect(loggerErrorSpy.mock.calls).toMatchInlineSnapshot(` [ [ "No versionable packages found", @@ -403,7 +404,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a monorepo", async () => { - const loggerErrorMock = loggerError as Mock; + const loggerErrorSpy = vi.spyOn(logger, 'error') const cwd = await testdir({ "package.json": JSON.stringify({ @@ -421,8 +422,8 @@ describe("Add command", () => { addChangeset(cwd, { empty: false }, defaultConfig) ).rejects.toThrow("The process exited with code: 1"); - expect(loggerErrorMock).toHaveBeenCalledTimes(3); - expect(loggerErrorMock.mock.calls).toMatchInlineSnapshot(` + expect(loggerErrorSpy).toHaveBeenCalledTimes(3); + expect(loggerErrorSpy.mock.calls).toMatchInlineSnapshot(` [ [ "No versionable packages found", diff --git a/packages/cli/src/commands/init/__tests__/command.ts b/packages/cli/src/commands/init/__tests__/command.test.ts similarity index 100% rename from packages/cli/src/commands/init/__tests__/command.ts rename to packages/cli/src/commands/init/__tests__/command.test.ts diff --git a/packages/cli/src/commands/status/__tests__/status.ts b/packages/cli/src/commands/status/__tests__/status.test.ts similarity index 100% rename from packages/cli/src/commands/status/__tests__/status.ts rename to packages/cli/src/commands/status/__tests__/status.test.ts diff --git a/yarn.lock b/yarn.lock index ba442350b..f300dae68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4872,7 +4872,7 @@ semver@^5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.1: +semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== From 1719da44b43c34048c63b133ca01eda27cdcca0d Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 2 May 2025 00:26:32 +0800 Subject: [PATCH 022/223] Format files --- packages/cli/src/commands/add/__tests__/add.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/add/__tests__/add.test.ts b/packages/cli/src/commands/add/__tests__/add.test.ts index 8c75798bd..c4dfff146 100644 --- a/packages/cli/src/commands/add/__tests__/add.test.ts +++ b/packages/cli/src/commands/add/__tests__/add.test.ts @@ -375,7 +375,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a single-package repo", async () => { - const loggerErrorSpy = vi.spyOn(logger, 'error') + const loggerErrorSpy = vi.spyOn(logger, "error"); const cwd = await testdir({ "package.json": JSON.stringify({ @@ -404,7 +404,7 @@ describe("Add command", () => { }); it("should exit with an error when there are no versionable packages in a monorepo", async () => { - const loggerErrorSpy = vi.spyOn(logger, 'error') + const loggerErrorSpy = vi.spyOn(logger, "error"); const cwd = await testdir({ "package.json": JSON.stringify({ From 268a29fedc948f22c672a3b1e3e51df4427f478d Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 2 May 2025 02:12:09 +0800 Subject: [PATCH 023/223] Bump node engines to v20 (#1656) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump node engines to v20 * Update .changeset/free-results-love.md Co-authored-by: Mateusz BurzyƄski --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/free-results-love.md | 24 ++++++++++++++++++++ .github/workflows/ci.yml | 2 +- babel.config.js | 2 +- package.json | 2 +- packages/apply-release-plan/package.json | 2 +- packages/assemble-release-plan/package.json | 2 +- packages/changelog-git/package.json | 2 +- packages/changelog-github/package.json | 2 +- packages/cli/package.json | 2 +- packages/config/package.json | 2 +- packages/errors/package.json | 2 +- packages/get-dependents-graph/package.json | 2 +- packages/get-github-info/package.json | 2 +- packages/get-release-plan/package.json | 2 +- packages/get-version-range-type/package.json | 2 +- packages/git/package.json | 2 +- packages/logger/package.json | 2 +- packages/parse/package.json | 2 +- packages/pre/package.json | 2 +- packages/read/package.json | 2 +- packages/release-utils/package.json | 2 +- packages/should-skip-package/package.json | 2 +- packages/types/package.json | 2 +- packages/write/package.json | 2 +- scripts/test-utils/package.json | 2 +- 25 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 .changeset/free-results-love.md diff --git a/.changeset/free-results-love.md b/.changeset/free-results-love.md new file mode 100644 index 000000000..2afd4644f --- /dev/null +++ b/.changeset/free-results-love.md @@ -0,0 +1,24 @@ +--- +"@changesets/get-version-range-type": minor +"@changesets/assemble-release-plan": major +"@changesets/get-dependents-graph": major +"@changesets/should-skip-package": minor +"@changesets/apply-release-plan": major +"@changesets/changelog-github": minor +"@changesets/get-release-plan": major +"@changesets/get-github-info": minor +"@changesets/changelog-git": minor +"@changesets/release-utils": minor +"@changesets/config": major +"@changesets/errors": minor +"@changesets/logger": minor +"@changesets/parse": minor +"@changesets/types": major +"@changesets/write": minor +"@changesets/read": minor +"@changesets/cli": major +"@changesets/git": major +"@changesets/pre": major +--- + +Bumps minimum node version to `>=20.0.0` diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc0513289..73c8fda71 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - node_version: [18, 20, 22] + node_version: [20, 22] fail-fast: false steps: - uses: actions/checkout@v4 diff --git a/babel.config.js b/babel.config.js index 93949d86f..e117d4a39 100644 --- a/babel.config.js +++ b/babel.config.js @@ -3,7 +3,7 @@ module.exports = { [ "@babel/preset-env", { - targets: { node: 18 }, + targets: { node: 20 }, }, ], ], diff --git a/package.json b/package.json index 97813a52b..67345382f 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,6 @@ }, "prettier": {}, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 7670713eb..1d55e64b6 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -27,6 +27,6 @@ "spawndamnit": "^3.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/assemble-release-plan/package.json b/packages/assemble-release-plan/package.json index 10e55e7ac..705af9276 100644 --- a/packages/assemble-release-plan/package.json +++ b/packages/assemble-release-plan/package.json @@ -21,6 +21,6 @@ "@changesets/config": "4.0.0-next.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/changelog-git/package.json b/packages/changelog-git/package.json index 39018c331..b658636fc 100644 --- a/packages/changelog-git/package.json +++ b/packages/changelog-git/package.json @@ -13,6 +13,6 @@ "@changesets/types": "^7.0.0-next.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index d8cc672ac..f3828e9a8 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -19,6 +19,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index fbb5eb261..3d17229c3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -79,6 +79,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/config/package.json b/packages/config/package.json index 3de32230b..a9bf15067 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -28,6 +28,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/errors/package.json b/packages/errors/package.json index 8af13ca17..b80ca64a5 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -10,6 +10,6 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/errors", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index 635e2bab4..b58c69d1a 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -21,6 +21,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index cb5264a9d..ae664693a 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -17,6 +17,6 @@ "prettier": "^2.7.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index a1d989fad..ceda24e78 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -18,6 +18,6 @@ "@manypkg/get-packages": "^1.1.3" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/get-version-range-type/package.json b/packages/get-version-range-type/package.json index 6103921fe..850342825 100644 --- a/packages/get-version-range-type/package.json +++ b/packages/get-version-range-type/package.json @@ -10,6 +10,6 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-version-range-type", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/git/package.json b/packages/git/package.json index c1f48e775..c906a6b88 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -21,6 +21,6 @@ "file-url": "^3.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/logger/package.json b/packages/logger/package.json index e4229fb99..78d5975e7 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -16,6 +16,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/parse/package.json b/packages/parse/package.json index 682fc982c..7c2a61895 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -17,6 +17,6 @@ "outdent": "^0.8.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/pre/package.json b/packages/pre/package.json index 74388e0ec..9e58bf8e5 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -18,6 +18,6 @@ "@changesets/test-utils": "0.0.9-next.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/read/package.json b/packages/read/package.json index b06f8f761..adc18c0f2 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -21,6 +21,6 @@ "outdent": "^0.8.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index f544ea9e6..9904e54b2 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -26,6 +26,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/should-skip-package/package.json b/packages/should-skip-package/package.json index b58476763..9ca7a31da 100644 --- a/packages/should-skip-package/package.json +++ b/packages/should-skip-package/package.json @@ -17,6 +17,6 @@ "@changesets/test-utils": "0.0.9-next.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/types/package.json b/packages/types/package.json index feaf3a9fa..1ea9f896b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -10,6 +10,6 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/types", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/packages/write/package.json b/packages/write/package.json index 65e03683c..b92177e0f 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -20,6 +20,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index 866189e79..b920c41a7 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -17,6 +17,6 @@ "vitest": "^3.0.6" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } } From 957f24ed0446494c5709189ae57583f72c716d43 Mon Sep 17 00:00:00 2001 From: Qingyu Wang <40660121+colinaaa@users.noreply.github.com> Date: Tue, 9 Sep 2025 20:16:48 +0800 Subject: [PATCH 024/223] Fix an issue that caused an incorrect `CHANGELOG` to be generated when a changeset contained a special string replacement pattern (#1725) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(apply-release-plan): avoid using `String.prototype.replace` * chore: changeset * fix: use `.indexOf()` with `.slice()` * fix: fmt * Update packages/apply-release-plan/src/index.ts * Update packages/apply-release-plan/src/index.ts * Apply suggestions from code review --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/ninety-crews-allow.md | 5 ++ packages/apply-release-plan/src/index.ts | 6 ++- .../cli/src/commands/version/version.test.ts | 50 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .changeset/ninety-crews-allow.md diff --git a/.changeset/ninety-crews-allow.md b/.changeset/ninety-crews-allow.md new file mode 100644 index 000000000..49f0490d9 --- /dev/null +++ b/.changeset/ninety-crews-allow.md @@ -0,0 +1,5 @@ +--- +"@changesets/apply-release-plan": patch +--- + +Fix an issue that caused an incorrect `CHANGELOG` to be generated when a changeset contained a special string replacement pattern. diff --git a/packages/apply-release-plan/src/index.ts b/packages/apply-release-plan/src/index.ts index 810cd77f1..0c4bf33e3 100644 --- a/packages/apply-release-plan/src/index.ts +++ b/packages/apply-release-plan/src/index.ts @@ -325,7 +325,11 @@ async function prependFile( ); return; } - const newChangelog = fileData.replace("\n", data); + const index = fileData.indexOf("\n"); + const newChangelog = + index === -1 + ? fileData + data // treat the whole file as header + : fileData.slice(0, index) + data + fileData.slice(index + 1); await writeFormattedMarkdownFile(filePath, newChangelog, prettierInstance); } diff --git a/packages/cli/src/commands/version/version.test.ts b/packages/cli/src/commands/version/version.test.ts index 768307f93..135a6ff86 100644 --- a/packages/cli/src/commands/version/version.test.ts +++ b/packages/cli/src/commands/version/version.test.ts @@ -523,6 +523,56 @@ Awesome feature, hidden behind a feature flag `); }); + it("should ignore special string replacement patterns in appended changesets", async () => { + const spy = jest.spyOn(fs, "writeFile"); + + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + }), + "packages/pkg-a/CHANGELOG.md": `# pkg-a + + ## 1.0.0 + + ### Major Changes + + - a very useful summary for the change + `, + }); + + await writeChangeset( + { + releases: [{ name: "pkg-a", type: "major" }], + summary: "a summary with special replacement patterns `react$` $'", + }, + cwd + ); + + await version(cwd, defaultOptions, modifiedDefaultConfig); + + expect(getChangelog("pkg-a", spy.mock.calls)).toMatchInlineSnapshot(` + "# pkg-a + + ## 2.0.0 + + ### Major Changes + + - g1th4sh: a summary with special replacement patterns \`react$\` $' + + ## 1.0.0 + + ### Major Changes + + - a very useful summary for the change + " + `); + }); + describe("when there are multiple changeset commits", () => { it("should bump releasedPackages", async () => { const cwd = await testdir({ From 8c065c4313e06e13ce48d6681aa9a253d69f655f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Sep 2025 14:53:42 +0200 Subject: [PATCH 025/223] Version Packages (#1726) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/ninety-crews-allow.md | 5 ----- packages/apply-release-plan/CHANGELOG.md | 6 ++++++ packages/apply-release-plan/package.json | 2 +- packages/cli/CHANGELOG.md | 7 +++++++ packages/cli/package.json | 4 ++-- 5 files changed, 16 insertions(+), 8 deletions(-) delete mode 100644 .changeset/ninety-crews-allow.md diff --git a/.changeset/ninety-crews-allow.md b/.changeset/ninety-crews-allow.md deleted file mode 100644 index 49f0490d9..000000000 --- a/.changeset/ninety-crews-allow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/apply-release-plan": patch ---- - -Fix an issue that caused an incorrect `CHANGELOG` to be generated when a changeset contained a special string replacement pattern. diff --git a/packages/apply-release-plan/CHANGELOG.md b/packages/apply-release-plan/CHANGELOG.md index e36ae2fb3..b43f6d965 100644 --- a/packages/apply-release-plan/CHANGELOG.md +++ b/packages/apply-release-plan/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/apply-release-plan +## 7.0.13 + +### Patch Changes + +- [#1725](https://github.com/changesets/changesets/pull/1725) [`957f24e`](https://github.com/changesets/changesets/commit/957f24ed0446494c5709189ae57583f72c716d43) Thanks [@colinaaa](https://github.com/colinaaa)! - Fix an issue that caused an incorrect `CHANGELOG` to be generated when a changeset contained a special string replacement pattern. + ## 7.0.12 ### Patch Changes diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index b020e7e91..93c73880e 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/apply-release-plan", - "version": "7.0.12", + "version": "7.0.13", "description": "Takes a release plan and applies it to packages", "main": "dist/changesets-apply-release-plan.cjs.js", "module": "dist/changesets-apply-release-plan.esm.js", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index bce151664..a6bc9fbc0 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @changesets/cli +## 2.29.7 + +### Patch Changes + +- Updated dependencies [[`957f24e`](https://github.com/changesets/changesets/commit/957f24ed0446494c5709189ae57583f72c716d43)]: + - @changesets/apply-release-plan@7.0.13 + ## 2.29.6 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index c8e3f4970..b1d619d0c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/cli", - "version": "2.29.6", + "version": "2.29.7", "description": "Organise your package versioning and publishing to make both contributors and maintainers happy", "bin": { "changeset": "bin.js" @@ -66,7 +66,7 @@ }, "license": "MIT", "dependencies": { - "@changesets/apply-release-plan": "^7.0.12", + "@changesets/apply-release-plan": "^7.0.13", "@changesets/assemble-release-plan": "^6.0.9", "@changesets/changelog-git": "^0.2.1", "@changesets/config": "^3.1.1", From 9657b268d44645f7b55dcd6724578e0438415e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=83=81=ED=98=84?= Date: Thu, 2 Oct 2025 12:56:19 +0900 Subject: [PATCH 026/223] Update intro-to-using-changesets.md (#1731) --- docs/intro-to-using-changesets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro-to-using-changesets.md b/docs/intro-to-using-changesets.md index 8d68da4ff..61e71faf3 100644 --- a/docs/intro-to-using-changesets.md +++ b/docs/intro-to-using-changesets.md @@ -17,7 +17,7 @@ The second two steps can be made part of a CI process. ## Add the changeset tool ```shell -yarn add @changesets/cli && yarn changeset init +yarn add -D @changesets/cli && yarn changeset init ``` or From 3cb4a30c5979bfe7a74d9e04e1518fa2645e2243 Mon Sep 17 00:00:00 2001 From: Adam Haglund Date: Wed, 15 Oct 2025 19:10:56 +0200 Subject: [PATCH 027/223] update vitest (#1737) --- package.json | 5 +- packages/apply-release-plan/src/index.test.ts | 28 +- .../src/increment.test.ts | 2 + .../assemble-release-plan/src/index.test.ts | 2 + packages/changelog-github/package.json | 2 +- packages/changelog-github/src/index.test.ts | 2 +- packages/cli/package.json | 2 +- .../src/commands/add/__tests__/add.test.ts | 115 +- .../commands/init/__tests__/command.test.ts | 1 + packages/cli/src/commands/pre/index.test.ts | 1 + .../commands/publish/__tests__/index.test.ts | 1 + .../publish/__tests__/publishPackages.test.ts | 11 +- .../publish/__tests__/releaseCommand.test.ts | 18 +- .../commands/status/__tests__/status.test.ts | 23 +- .../src/commands/tag/__tests__/index.test.ts | 2 +- .../cli/src/commands/version/version.test.ts | 345 ++-- packages/cli/src/commit/commit.test.ts | 1 + packages/cli/src/run.test.ts | 4 +- .../utils/getLastJsonObjectFromString.test.ts | 1 + packages/config/package.json | 2 +- packages/config/src/index.test.ts | 6 +- packages/errors/src/index.test.ts | 2 + packages/get-dependents-graph/package.json | 2 +- .../src/get-dependency-graph.test.ts | 2 +- packages/get-github-info/src/index.test.ts | 2 + .../get-version-range-type/src/index.test.ts | 2 + packages/git/src/index.test.ts | 22 +- packages/logger/package.json | 2 +- packages/logger/src/index.test.ts | 4 +- packages/parse/src/index.test.ts | 2 + packages/pre/src/index.test.ts | 2 + packages/read/src/index.test.ts | 2 + packages/release-utils/package.json | 2 +- packages/release-utils/src/run.test.ts | 2 +- packages/release-utils/src/utils.test.ts | 3 +- packages/write/package.json | 2 +- packages/write/src/index.test.ts | 17 +- packages/write/src/index.ts | 4 +- scripts/test-utils/package.json | 2 +- scripts/test-utils/src/index.test.ts | 3 +- scripts/test-utils/src/index.ts | 2 +- tsconfig.json | 2 +- vitest.config.mts | 2 - yarn.lock | 1432 +++++++---------- 44 files changed, 848 insertions(+), 1243 deletions(-) diff --git a/package.json b/package.json index 67345382f..ccaf2c604 100644 --- a/package.json +++ b/package.json @@ -41,13 +41,12 @@ "@manypkg/cli": "^0.22.0", "@preconstruct/cli": "^2.8.12", "@types/js-yaml": "^3.12.1", - "@types/lodash": "^4.17.13", "@types/node": "^22.14.1", "@types/prettier": "^2.7.1", "@types/semver": "^7.5.0", "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.62.0", - "@vitest/coverage-v8": "^3.0.6", + "@vitest/coverage-v8": "^3.2.4", "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^17.1.0", @@ -57,7 +56,7 @@ "eslint-plugin-standard": "^5.0.0", "prettier": "^2.7.1", "typescript": "^5.8.3", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "preconstruct": { "packages": [ diff --git a/packages/apply-release-plan/src/index.test.ts b/packages/apply-release-plan/src/index.test.ts index 700adf5ff..2581c95d3 100644 --- a/packages/apply-release-plan/src/index.test.ts +++ b/packages/apply-release-plan/src/index.test.ts @@ -1,8 +1,10 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it, test } from "vitest"; import { - ReleasePlan, + ComprehensiveRelease, Config, NewChangeset, - ComprehensiveRelease, + ReleasePlan, } from "@changesets/types"; import * as git from "@changesets/git"; import fs from "node:fs/promises"; @@ -14,11 +16,11 @@ import { defaultConfig } from "@changesets/config"; import applyReleasePlan from "./index.ts"; import { getPackages } from "@manypkg/get-packages"; import { - temporarilySilenceLogs, - testdir, Fixture, outputFile, pathExists, + temporarilySilenceLogs, + testdir, } from "@changesets/test-utils"; import { fileURLToPath } from "node:url"; @@ -2948,7 +2950,7 @@ describe("apply release plan", () => { it("should delete one changeset after it is applied", async () => { const releasePlan = new FakeReleasePlan(); - let changesetPath: string; + let changesetPath!: string; const setupFunc = (tempDir: string) => Promise.all( @@ -2977,14 +2979,13 @@ describe("apply release plan", () => { setupFunc ); - // @ts-ignore this is possibly bad let changesetExists = await pathExists(changesetPath); expect(changesetExists).toEqual(false); }); it("should NOT delete changesets for ignored packages", async () => { const releasePlan = new FakeReleasePlan(); - let changesetPath: string; + let changesetPath!: string; const setupFunc = (tempDir: string) => Promise.all( @@ -3013,14 +3014,13 @@ describe("apply release plan", () => { setupFunc ); - // @ts-ignore this is possibly bad let changesetExists = await pathExists(changesetPath); expect(changesetExists).toEqual(true); }); it("should NOT delete changesets for private unversioned packages", async () => { const releasePlan = new FakeReleasePlan(); - let changesetPath: string; + let changesetPath!: string; const setupFunc = (tempDir: string) => Promise.all( @@ -3053,15 +3053,14 @@ describe("apply release plan", () => { setupFunc ); - // @ts-ignore this is possibly bad let changesetExists = await pathExists(changesetPath); expect(changesetExists).toEqual(true); }); it("should delete an old format changeset if it is applied", async () => { const releasePlan = new FakeReleasePlan(); - let changesetMDPath: string; - let changesetJSONPath: string; + let changesetMDPath!: string; + let changesetJSONPath!: string; const setupFunc = (tempDir: string) => Promise.all( @@ -3105,9 +3104,7 @@ describe("apply release plan", () => { setupFunc ); - // @ts-ignore this is possibly bad let mdPathExists = await pathExists(changesetMDPath); - // @ts-ignore this is possibly bad let JSONPathExists = await pathExists(changesetJSONPath); expect(mdPathExists).toEqual(false); @@ -3241,7 +3238,7 @@ describe("apply release plan", () => { it("should remove applied changesets", async () => { const releasePlan = new FakeReleasePlan(); - let changesetPath: string; + let changesetPath!: string; const setupFunc = (tempDir: string) => Promise.all( @@ -3283,7 +3280,6 @@ describe("apply release plan", () => { setupFunc ); - // @ts-ignore this is possibly bad let changesetExists = await pathExists(changesetPath); expect(changesetExists).toEqual(false); diff --git a/packages/assemble-release-plan/src/increment.test.ts b/packages/assemble-release-plan/src/increment.test.ts index 93fae53da..185bdf2e9 100644 --- a/packages/assemble-release-plan/src/increment.test.ts +++ b/packages/assemble-release-plan/src/increment.test.ts @@ -1,3 +1,5 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it } from "vitest"; import { incrementVersion } from "./increment.ts"; import type { InternalRelease, PreInfo } from "./types.ts"; diff --git a/packages/assemble-release-plan/src/index.test.ts b/packages/assemble-release-plan/src/index.test.ts index 68b33314e..11645d397 100644 --- a/packages/assemble-release-plan/src/index.test.ts +++ b/packages/assemble-release-plan/src/index.test.ts @@ -1,3 +1,5 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { beforeEach, describe, expect, it } from "vitest"; import { defaultConfig } from "@changesets/config"; import assembleReleasePlan from "./index.ts"; import FakeFullState from "./test-utils.ts"; diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index f3828e9a8..01d983d48 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@changesets/parse": "1.0.0-next.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/changelog-github/src/index.test.ts b/packages/changelog-github/src/index.test.ts index c4e0fe19a..a0a711fab 100644 --- a/packages/changelog-github/src/index.test.ts +++ b/packages/changelog-github/src/index.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { describe, expect, it, test, vi } from "vitest"; import changelogFunctions from "./index.ts"; import parse from "@changesets/parse"; diff --git a/packages/cli/package.json b/packages/cli/package.json index 1e8983baa..537af5d24 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -76,7 +76,7 @@ "human-id": "^4.1.1", "outdent": "^0.8.0", "strip-ansi": "^7.1.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/cli/src/commands/add/__tests__/add.test.ts b/packages/cli/src/commands/add/__tests__/add.test.ts index c4dfff146..9c8052626 100644 --- a/packages/cli/src/commands/add/__tests__/add.test.ts +++ b/packages/cli/src/commands/add/__tests__/add.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import path from "path"; import stripAnsi from "strip-ansi"; import * as git from "@changesets/git"; @@ -7,35 +7,28 @@ import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; import writeChangeset from "@changesets/write"; import * as logger from "@changesets/logger"; -import { - askCheckboxPlus, - askConfirm, - askQuestionWithEditor, - askQuestion, - askList, -} from "../../../utils/cli-utilities.ts"; +import * as utils from "../../../utils/cli-utilities.ts"; import addChangeset from "../index.ts"; -import { fileURLToPath } from "node:url"; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); vi.mock("../../../utils/cli-utilities"); +const mockedUtils = vi.mocked(utils); vi.mock("@changesets/git"); +const mockedGit = vi.mocked(git); vi.mock("@changesets/write"); +const mockedWriteChangeset = vi.mocked(writeChangeset); vi.mock("@changesets/logger"); -// @ts-ignore -writeChangeset.mockImplementation(() => Promise.resolve("abcdefg")); -// @ts-ignore -git.commit.mockImplementation(() => Promise.resolve(true)); - -// @ts-ignore -git.getChangedPackagesSinceRef.mockImplementation(({ ref }) => { +mockedWriteChangeset.mockImplementation(async () => "abcdefg"); +mockedGit.commit.mockImplementation(async () => true); +mockedGit.getChangedPackagesSinceRef.mockImplementation(async ({ ref }) => { expect(ref).toBe("master"); return []; }); - -// @ts-ignore -const mockUserResponses = (mockResponses) => { +const mockUserResponses = (mockResponses: { + releases: Record; + consoleSummaries?: string[]; + editorSummaries?: string[]; + summary?: string; +}) => { const summary = mockResponses.summary || "summary message mock"; let majorReleases: Array = []; let minorReleases: Array = []; @@ -52,38 +45,35 @@ const mockUserResponses = (mockResponses) => { majorReleases, minorReleases, ]; - // @ts-ignore - askCheckboxPlus.mockImplementation(() => { + mockedUtils.askCheckboxPlus.mockImplementation(async () => { if (callCount === returnValues.length) { throw new Error(`There was an unexpected call to askCheckboxPlus`); } return returnValues[callCount++]; }); - let confirmAnswers = { + let confirmAnswers: Record = { "Is this your desired changeset?": true, }; - if (mockResponses.consoleSummaries && mockResponses.editorSummaries) { + if ( + mockResponses.consoleSummaries != null && + mockResponses.editorSummaries != null + ) { let i = 0; let j = 0; - // @ts-ignore - askQuestion.mockImplementation(() => mockResponses.consoleSummaries[i++]); - // @ts-ignore - askQuestionWithEditor.mockImplementation( - () => mockResponses.editorSummaries[j++] + mockedUtils.askQuestion.mockImplementation( + async () => mockResponses.consoleSummaries![i++] + ); + mockedUtils.askQuestionWithEditor.mockImplementation( + () => mockResponses.editorSummaries![j++] ); } else { - // @ts-ignore - askQuestion.mockReturnValueOnce(summary); + mockedUtils.askQuestion.mockResolvedValue(summary); } - - // @ts-ignore - askConfirm.mockImplementation((question) => { + mockedUtils.askConfirm.mockImplementation(async (question) => { question = stripAnsi(question); - // @ts-ignore if (confirmAnswers[question]) { - // @ts-ignore return confirmAnswers[question]; } throw new Error(`An answer could not be found for ${question}`); @@ -111,9 +101,7 @@ describe("Add command", () => { mockUserResponses({ releases: { "pkg-a": "patch" } }); await addChangeset(cwd, { empty: false }, defaultConfig); - - // @ts-ignore - const call = writeChangeset.mock.calls[0][0]; + const call = mockedWriteChangeset.mock.calls[0][0]; expect(call).toEqual( expect.objectContaining({ summary: "summary message mock", @@ -130,7 +118,6 @@ describe("Add command", () => { ${["", "summary after error"]} | ${1 /* mock implementation will throw */} | ${"summary after error"} `( "should read summary", - // @ts-ignore async ({ consoleSummaries, editorSummaries, expectedSummary }) => { const cwd = await testdir({ "package.json": JSON.stringify({ @@ -153,9 +140,7 @@ describe("Add command", () => { editorSummaries, }); await addChangeset(cwd, { empty: false }, defaultConfig); - - // @ts-ignore - const call = writeChangeset.mock.calls[0][0]; + const call = mockedWriteChangeset.mock.calls[0][0]; expect(call).toEqual( expect.objectContaining({ summary: expectedSummary, @@ -175,32 +160,23 @@ describe("Add command", () => { }); const summary = "summary message mock"; + mockedUtils.askList.mockResolvedValueOnce("minor"); - // @ts-ignore - askList.mockReturnValueOnce(Promise.resolve("minor")); - - let confirmAnswers = { + let confirmAnswers: Record = { "Is this your desired changeset?": true, }; - // @ts-ignore - askQuestion.mockReturnValueOnce(""); - // @ts-ignore - askQuestionWithEditor.mockReturnValueOnce(summary); - // @ts-ignore - askConfirm.mockImplementation((question) => { + mockedUtils.askQuestion.mockResolvedValue(""); + mockedUtils.askQuestionWithEditor.mockReturnValueOnce(summary); + mockedUtils.askConfirm.mockImplementation(async (question) => { question = stripAnsi(question); - // @ts-ignore if (confirmAnswers[question]) { - // @ts-ignore return confirmAnswers[question]; } throw new Error(`An answer could not be found for ${question}`); }); await addChangeset(cwd, { empty: false }, defaultConfig); - - // @ts-ignore - const call = writeChangeset.mock.calls[0][0]; + const call = mockedWriteChangeset.mock.calls[0][0]; expect(call).toEqual( expect.objectContaining({ summary: "summary message mock", @@ -234,7 +210,10 @@ describe("Add command", () => { { empty: false }, { ...defaultConfig, - commit: [path.resolve(__dirname, "..", "..", "..", "commit"), null], + commit: [ + path.resolve(import.meta.dirname, "..", "..", "..", "commit"), + null, + ], } ); expect(git.add).toHaveBeenCalledTimes(1); @@ -254,9 +233,7 @@ describe("Add command", () => { }); await addChangeset(cwd, { empty: true }, defaultConfig); - - // @ts-ignore - const call = writeChangeset.mock.calls[0][0]; + const call = mockedWriteChangeset.mock.calls[0][0]; expect(call).toEqual( expect.objectContaining({ releases: [], @@ -301,9 +278,7 @@ describe("Add command", () => { { empty: false }, { ...defaultConfig, ignore: ["pkg-b"] } ); - - // @ts-ignore - const { choices } = askCheckboxPlus.mock.calls[0][1][0]; + const { choices } = mockedUtils.askCheckboxPlus.mock.calls[0][1][0]; expect(choices).toEqual(["pkg-a", "pkg-c"]); }); @@ -329,9 +304,7 @@ describe("Add command", () => { mockUserResponses({ releases: { "pkg-a": "patch" } }); await addChangeset(cwd, { empty: false }, defaultConfig); - - // @ts-ignore - const { choices } = askCheckboxPlus.mock.calls[0][1][0]; + const { choices } = mockedUtils.askCheckboxPlus.mock.calls[0][1][0]; expect(choices).toEqual(["pkg-a", "pkg-c"]); }); @@ -368,9 +341,7 @@ describe("Add command", () => { }, } ); - - // @ts-ignore - const { choices } = askCheckboxPlus.mock.calls[0][1][0]; + const { choices } = mockedUtils.askCheckboxPlus.mock.calls[0][1][0]; expect(choices).toEqual(["pkg-a", "pkg-c"]); }); diff --git a/packages/cli/src/commands/init/__tests__/command.test.ts b/packages/cli/src/commands/init/__tests__/command.test.ts index 362ebed22..749303777 100644 --- a/packages/cli/src/commands/init/__tests__/command.test.ts +++ b/packages/cli/src/commands/init/__tests__/command.test.ts @@ -1,3 +1,4 @@ +import { describe, expect, it } from "vitest"; import fs from "node:fs/promises"; import path from "path"; import { defaultWrittenConfig } from "@changesets/config"; diff --git a/packages/cli/src/commands/pre/index.test.ts b/packages/cli/src/commands/pre/index.test.ts index 46aeb6e9b..5a3f79951 100644 --- a/packages/cli/src/commands/pre/index.test.ts +++ b/packages/cli/src/commands/pre/index.test.ts @@ -1,3 +1,4 @@ +import { describe, expect, it } from "vitest"; import fs from "node:fs/promises"; import path from "path"; import pc from "picocolors"; diff --git a/packages/cli/src/commands/publish/__tests__/index.test.ts b/packages/cli/src/commands/publish/__tests__/index.test.ts index 2a5e55023..9a71dd656 100644 --- a/packages/cli/src/commands/publish/__tests__/index.test.ts +++ b/packages/cli/src/commands/publish/__tests__/index.test.ts @@ -1,3 +1,4 @@ +import { describe, expect, it } from "vitest"; import publishCommand from "../index.ts"; import { defaultConfig } from "@changesets/config"; import * as path from "path"; diff --git a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts index 157cc87ba..2ce4e7dce 100644 --- a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts +++ b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts @@ -1,10 +1,11 @@ -import { vi } from "vitest"; +import { afterEach, describe, expect, it, vi } from "vitest"; import publishPackages from "../publishPackages.ts"; import * as npmUtils from "../npm-utils.ts"; import { getPackages } from "@manypkg/get-packages"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; vi.mock("../npm-utils"); +const mockedNpmUtils = vi.mocked(npmUtils); vi.mock("ci-info", () => ({ isCI: true, })); @@ -29,16 +30,14 @@ describe("publishPackages", () => { }), }); - // @ts-ignore - npmUtils.infoAllow404.mockImplementation(() => ({ + mockedNpmUtils.infoAllow404.mockImplementation(async () => ({ published: false, pkgInfo: { version: "1.0.0", }, })); - // @ts-ignore - npmUtils.publish.mockImplementation(() => ({ + mockedNpmUtils.publish.mockImplementation(async () => ({ published: true, })); @@ -47,7 +46,7 @@ describe("publishPackages", () => { access: "public", preState: undefined, }); - expect(npmUtils.getTokenIsRequired).not.toHaveBeenCalled(); + expect(mockedNpmUtils.getTokenIsRequired).not.toHaveBeenCalled(); }); }); }); diff --git a/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts b/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts index a69c53fbe..23f2f4622 100644 --- a/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts +++ b/packages/cli/src/commands/publish/__tests__/releaseCommand.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { afterEach, describe, expect, it, vi } from "vitest"; import publishPackages from "../publishPackages.ts"; import * as git from "@changesets/git"; import { defaultConfig } from "@changesets/config"; @@ -7,10 +7,11 @@ import runRelease from "../index.ts"; vi.mock("../../../utils/cli-utilities"); vi.mock("@changesets/git"); +const mockGit = vi.mocked(git); vi.mock("../publishPackages"); +const mockedPublishPackages = vi.mocked(publishPackages); -// @ts-ignore -git.tag.mockImplementation(() => Promise.resolve(true)); +mockGit.tag.mockImplementation(async () => true); describe("running release", () => { silenceLogsInBlock(); @@ -42,13 +43,10 @@ describe("running release", () => { }), }); - // @ts-ignore - publishPackages.mockImplementation(() => - Promise.resolve([ - { name: "pkg-a", newVersion: "1.1.0", published: true }, - { name: "pkg-b", newVersion: "1.0.1", published: true }, - ]) - ); + mockedPublishPackages.mockImplementation(async () => [ + { name: "pkg-a", newVersion: "1.1.0", published: true }, + { name: "pkg-b", newVersion: "1.0.1", published: true }, + ]); await runRelease(cwd, {}, defaultConfig); diff --git a/packages/cli/src/commands/status/__tests__/status.test.ts b/packages/cli/src/commands/status/__tests__/status.test.ts index 1b67c51ef..910a818d0 100644 --- a/packages/cli/src/commands/status/__tests__/status.test.ts +++ b/packages/cli/src/commands/status/__tests__/status.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { afterEach, describe, expect, it, vi } from "vitest"; import { read } from "@changesets/config"; import * as git from "@changesets/git"; import { gitdir, outputFile, silenceLogsInBlock } from "@changesets/test-utils"; @@ -191,8 +191,7 @@ describe("status", () => { ".changeset/config.json": JSON.stringify({}), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -222,8 +221,7 @@ describe("status", () => { ".changeset/config.json": JSON.stringify({}), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -254,8 +252,7 @@ describe("status", () => { ".changeset/config.json": JSON.stringify({}), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -367,8 +364,7 @@ describe("status", () => { }), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -410,8 +406,7 @@ describe("status", () => { }), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -516,8 +511,7 @@ describe("status", () => { }), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); @@ -566,8 +560,7 @@ describe("status", () => { }), }); - // @ts-ignore - vi.spyOn(process, "exit").mockImplementation(() => {}); + vi.spyOn(process, "exit").mockImplementation((() => {}) as never); await spawn("git", ["checkout", "-b", "new-branch"], { cwd }); diff --git a/packages/cli/src/commands/tag/__tests__/index.test.ts b/packages/cli/src/commands/tag/__tests__/index.test.ts index 036984039..fc201f9fe 100644 --- a/packages/cli/src/commands/tag/__tests__/index.test.ts +++ b/packages/cli/src/commands/tag/__tests__/index.test.ts @@ -1,4 +1,4 @@ -import { Mock, vi } from "vitest"; +import { describe, expect, it, type Mock, vi } from "vitest"; import { read } from "@changesets/config"; import * as git from "@changesets/git"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; diff --git a/packages/cli/src/commands/version/version.test.ts b/packages/cli/src/commands/version/version.test.ts index 4d8799e28..24b08d6c3 100644 --- a/packages/cli/src/commands/version/version.test.ts +++ b/packages/cli/src/commands/version/version.test.ts @@ -1,4 +1,12 @@ -import { Mock, vi } from "vitest"; +import { + afterEach, + beforeEach, + describe, + expect, + it, + type Mock, + vi, +} from "vitest"; import { defaultConfig } from "@changesets/config"; import * as git from "@changesets/git"; import { @@ -17,37 +25,6 @@ import path from "node:path"; import pre from "../pre/index.ts"; import version from "./index.ts"; -function mockGlobalDate< - Args extends any[], - Return extends Promise | void ->( - testFn: (...args: Args) => Return, - fixedDate: string = "2021-12-13T00:07:30.879Z" -) { - return async (...args: Args) => { - const originalDate = Date; - const MockedDate = class MockedDate extends Date { - constructor() { - super(fixedDate); - } - - static now() { - return new MockedDate().getTime(); - } - } as typeof Date; - - // eslint-disable-next-line no-global-assign - Date = MockedDate; - - try { - await testFn(...args); - } finally { - // eslint-disable-next-line no-global-assign - Date = originalDate; - } - }; -} - let modifiedDefaultConfig: Config = { ...defaultConfig, changelog: ["@changesets/cli/changelog", null], @@ -61,24 +38,18 @@ let defaultOptions = { // This is from bolt's error log const consoleError = console.error; -vi.mock("../../utils/cli-utilities"); -vi.mock("@changesets/git"); vi.mock("human-id"); vi.mock("@changesets/logger"); -// @ts-ignore -git.add.mockImplementation(() => Promise.resolve(true)); -// @ts-ignore -git.commit.mockImplementation(() => Promise.resolve(true)); -// @ts-ignore -git.getCommitsThatAddFiles.mockImplementation((changesetIds) => - Promise.resolve(changesetIds.map(() => "g1th4sh")) +vi.mock("@changesets/git"); +const mockedGit = vi.mocked(git); +mockedGit.add.mockImplementation(async () => true); +mockedGit.commit.mockImplementation(async () => true); +mockedGit.getCommitsThatAddFiles.mockImplementation(async (changesetIds) => + changesetIds.map(() => "g1th4sh") ); -// @ts-ignore -git.getCurrentCommitId.mockImplementation(() => Promise.resolve("abcdef")); - -// @ts-ignore -git.tag.mockImplementation(() => Promise.resolve(true)); +mockedGit.getCurrentCommitId.mockImplementation(async () => "abcdef"); +mockedGit.tag.mockImplementation(async () => true); const writeChangesets = (changesets: Changeset[], cwd: string) => { return Promise.all( @@ -112,6 +83,8 @@ beforeEach(() => { }); console.error = vi.fn(); + + vi.setSystemTime(vi.getRealSystemTime()); }); afterEach(() => { @@ -1495,47 +1468,47 @@ describe("snapshot release", () => { `); }); - it( - "should not bump version of an ignored package when its dependency gets updated", - mockGlobalDate(async () => { - const cwd = await testdir({ - "package.json": JSON.stringify({ - private: true, - workspaces: ["packages/*"], - }), - "packages/pkg-a/package.json": JSON.stringify({ - name: "pkg-a", - version: "1.0.0", - dependencies: { - "pkg-b": "1.0.0", - }, - }), - "packages/pkg-b/package.json": JSON.stringify({ - name: "pkg-b", - version: "1.0.0", - }), - }); - await writeChangeset( - { - releases: [{ name: "pkg-b", type: "major" }], - summary: "a very useful summary", - }, - cwd - ); + it("should not bump version of an ignored package when its dependency gets updated", async () => { + vi.setSystemTime("2021-12-13T00:07:30.879Z"); - await version( - cwd, - { - snapshot: true, + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "1.0.0", }, - { - ...modifiedDefaultConfig, - ignore: ["pkg-a"], - } - ); + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + }); + await writeChangeset( + { + releases: [{ name: "pkg-b", type: "major" }], + summary: "a very useful summary", + }, + cwd + ); - expect((await getPackages(cwd)).packages.map((x) => x.packageJson)) - .toMatchInlineSnapshot(` + await version( + cwd, + { + snapshot: true, + }, + { + ...modifiedDefaultConfig, + ignore: ["pkg-a"], + } + ); + + expect((await getPackages(cwd)).packages.map((x) => x.packageJson)) + .toMatchInlineSnapshot(` [ { "dependencies": { @@ -1550,8 +1523,7 @@ describe("snapshot release", () => { }, ] `); - }) - ); + }); describe("snapshotPrereleaseTemplate", () => { it('should throw an error when "{tag}" and empty snapshot is used', async () => { @@ -1672,65 +1644,65 @@ describe("snapshot release", () => { [null, "alpha", "0.0.0-alpha-20211213000730"], ])( "should customize release correctly based on snapshotPrereleaseTemplate template: %s (tag: '%s')", - mockGlobalDate( - async (snapshotTemplate, snapshotValue, expectedResult) => { - const cwd = await testdir({ - "package.json": JSON.stringify({ - private: true, - workspaces: ["packages/*"], - }), - "packages/pkg-a/package.json": JSON.stringify({ - name: "pkg-a", - version: "1.0.0", - dependencies: { - "pkg-b": "1.0.0", - }, - }), - "packages/pkg-b/package.json": JSON.stringify({ - name: "pkg-b", - version: "1.0.0", - }), - }); - await writeChangesets( - [ - { - summary: "This is a summary too", - releases: [ - { name: "pkg-a", type: "minor" }, - { name: "pkg-b", type: "patch" }, - ], - }, - ], - cwd - ); - await version( - cwd, - { snapshot: snapshotValue }, + async (snapshotTemplate, snapshotValue, expectedResult) => { + vi.setSystemTime("2021-12-13T00:07:30.879Z"); + + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "1.0.0", + }, + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + }); + await writeChangesets( + [ { - ...modifiedDefaultConfig, - commit: false, - snapshot: { - ...modifiedDefaultConfig.snapshot, - prereleaseTemplate: snapshotTemplate as string, - }, - } - ); - - expect(await getPkgJSON("pkg-a", cwd)).toEqual( - expect.objectContaining({ - name: "pkg-a", - version: expectedResult, - }) - ); - - expect(await getPkgJSON("pkg-b", cwd)).toEqual( - expect.objectContaining({ - name: "pkg-b", - version: expectedResult, - }) - ); - } - ) + summary: "This is a summary too", + releases: [ + { name: "pkg-a", type: "minor" }, + { name: "pkg-b", type: "patch" }, + ], + }, + ], + cwd + ); + await version( + cwd, + { snapshot: snapshotValue }, + { + ...modifiedDefaultConfig, + commit: false, + snapshot: { + ...modifiedDefaultConfig.snapshot, + prereleaseTemplate: snapshotTemplate as string, + }, + } + ); + + expect(await getPkgJSON("pkg-a", cwd)).toEqual( + expect.objectContaining({ + name: "pkg-a", + version: expectedResult, + }) + ); + + expect(await getPkgJSON("pkg-b", cwd)).toEqual( + expect.objectContaining({ + name: "pkg-b", + version: expectedResult, + }) + ); + } ); }); @@ -1838,51 +1810,51 @@ describe("snapshot release", () => { `); }); - it( - "should not bump version of an ignored package when its dependency gets updated", - mockGlobalDate(async () => { - const cwd = await testdir({ - "package.json": JSON.stringify({ - private: true, - workspaces: ["packages/*"], - }), - "packages/pkg-a/package.json": JSON.stringify({ - name: "pkg-a", - version: "1.0.0", - dependencies: { - "pkg-b": "1.0.0", - }, - }), - "packages/pkg-b/package.json": JSON.stringify({ - name: "pkg-b", - version: "1.0.0", - }), - }); - await writeChangeset( - { - releases: [{ name: "pkg-b", type: "major" }], - summary: "a very useful summary", + it("should not bump version of an ignored package when its dependency gets updated", async () => { + vi.setSystemTime("2021-12-13T00:07:30.879Z"); + + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "1.0.0", }, - cwd - ); + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + }); + await writeChangeset( + { + releases: [{ name: "pkg-b", type: "major" }], + summary: "a very useful summary", + }, + cwd + ); - await version( - cwd, - { - snapshot: true, + await version( + cwd, + { + snapshot: true, + }, + { + ...modifiedDefaultConfig, + ignore: ["pkg-a"], + snapshot: { + useCalculatedVersion: true, + prereleaseTemplate: null, }, - { - ...modifiedDefaultConfig, - ignore: ["pkg-a"], - snapshot: { - useCalculatedVersion: true, - prereleaseTemplate: null, - }, - } - ); + } + ); - expect((await getPackages(cwd)).packages.map((x) => x.packageJson)) - .toMatchInlineSnapshot(` + expect((await getPackages(cwd)).packages.map((x) => x.packageJson)) + .toMatchInlineSnapshot(` [ { "dependencies": { @@ -1897,8 +1869,7 @@ describe("snapshot release", () => { }, ] `); - }) - ); + }); }); }); diff --git a/packages/cli/src/commit/commit.test.ts b/packages/cli/src/commit/commit.test.ts index e6c8a5e78..07c0b7df4 100644 --- a/packages/cli/src/commit/commit.test.ts +++ b/packages/cli/src/commit/commit.test.ts @@ -1,4 +1,5 @@ import { outdent } from "outdent"; +import { describe, expect, it } from "vitest"; import defaultCommitFunctions from "./index.ts"; import type { NewChangeset, ReleasePlan } from "@changesets/types"; diff --git a/packages/cli/src/run.test.ts b/packages/cli/src/run.test.ts index 1da2ca523..b961c4359 100644 --- a/packages/cli/src/run.test.ts +++ b/packages/cli/src/run.test.ts @@ -1,7 +1,7 @@ -import { vi } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import { - silenceLogsInBlock, mockedLogger, + silenceLogsInBlock, testdir, } from "@changesets/test-utils"; diff --git a/packages/cli/src/utils/getLastJsonObjectFromString.test.ts b/packages/cli/src/utils/getLastJsonObjectFromString.test.ts index b23b130a6..f44a1d2ed 100644 --- a/packages/cli/src/utils/getLastJsonObjectFromString.test.ts +++ b/packages/cli/src/utils/getLastJsonObjectFromString.test.ts @@ -1,3 +1,4 @@ +import { describe, expect, it } from "vitest"; import { getLastJsonObjectFromString } from "./getLastJsonObjectFromString.ts"; describe("getLastJsonObjectFromString", () => { diff --git a/packages/config/package.json b/packages/config/package.json index a9bf15067..1f1fc559a 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -25,7 +25,7 @@ "@changesets/test-utils": "0.0.9-next.0", "@types/micromatch": "^4.0.1", "outdent": "^0.8.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/config/src/index.test.ts b/packages/config/src/index.test.ts index 8c0ea5daa..d8392295a 100644 --- a/packages/config/src/index.test.ts +++ b/packages/config/src/index.test.ts @@ -1,8 +1,8 @@ -import { vi } from "vitest"; -import { read, parse } from "./index.ts"; +import { describe, expect, it, test, vi } from "vitest"; +import { parse, read } from "./index.ts"; import * as logger from "@changesets/logger"; import type { Config, WrittenConfig } from "@changesets/types"; -import { type Packages, getPackages } from "@manypkg/get-packages"; +import { getPackages, type Packages } from "@manypkg/get-packages"; import { testdir } from "@changesets/test-utils"; import { outdent } from "outdent"; diff --git a/packages/errors/src/index.test.ts b/packages/errors/src/index.test.ts index 6882817a4..b45bb2d45 100644 --- a/packages/errors/src/index.test.ts +++ b/packages/errors/src/index.test.ts @@ -1,3 +1,5 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { beforeEach, describe, expect, it } from "vitest"; import { GitError } from "./index.ts"; describe("Error classes", () => { diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index b58c69d1a..cbdaece4e 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -18,7 +18,7 @@ "devDependencies": { "@changesets/test-utils": "0.0.9-next.0", "strip-ansi": "^7.1.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index 8b1362400..e94162259 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import stripAnsi from "strip-ansi"; import { temporarilySilenceLogs } from "@changesets/test-utils"; import getDependencyGraph from "./get-dependency-graph.ts"; diff --git a/packages/get-github-info/src/index.test.ts b/packages/get-github-info/src/index.test.ts index 52b195cdc..cf279a7f6 100644 --- a/packages/get-github-info/src/index.test.ts +++ b/packages/get-github-info/src/index.test.ts @@ -1,6 +1,8 @@ import { getInfo, getInfoFromPullRequest } from "./index.ts"; import nock from "nock"; import prettier from "prettier"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { expect, test } from "vitest"; process.env.GITHUB_TOKEN = "token"; diff --git a/packages/get-version-range-type/src/index.test.ts b/packages/get-version-range-type/src/index.test.ts index a5a9b1a96..efba58fdb 100644 --- a/packages/get-version-range-type/src/index.test.ts +++ b/packages/get-version-range-type/src/index.test.ts @@ -1,3 +1,5 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { expect, test } from "vitest"; import getVersionRangeType from "./index.ts"; test.each([ diff --git a/packages/git/src/index.test.ts b/packages/git/src/index.test.ts index a40226a45..d5798018f 100644 --- a/packages/git/src/index.test.ts +++ b/packages/git/src/index.test.ts @@ -1,21 +1,23 @@ import path from "path"; import spawn from "spawndamnit"; import fileUrl from "file-url"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it } from "vitest"; import { gitdir, outputFile, tempdir } from "@changesets/test-utils"; import writeChangeset from "@changesets/write"; import { - getCommitsThatAddFiles, - getChangedFilesSince, add, commit, - tag, - getDivergedCommit, - getChangedPackagesSinceRef, - getChangedChangesetFilesSinceRef, getAllTags, - tagExists, + getChangedChangesetFilesSinceRef, + getChangedFilesSince, + getChangedPackagesSinceRef, + getCommitsThatAddFiles, getCurrentCommitId, + getDivergedCommit, + tag, + tagExists, } from "./index.ts"; async function getCommitCount(cwd: string) { @@ -348,7 +350,7 @@ describe("git", () => { const originalRepoDepth = await getCommitCount(cwd); expect(await getCommitCount(clone)).toBeGreaterThan(5); expect(await getCommitCount(clone)).toBeLessThan(originalRepoDepth); - }); + }, 10_000); it("reads the SHA of a file-add even if the first commit of a repo", async () => { const cwd = await gitdir({ @@ -370,7 +372,7 @@ describe("git", () => { // We should have fully deepened const originalRepoDepth = await getCommitCount(cwd); expect(await getCommitCount(clone)).toEqual(originalRepoDepth); - }); + }, 10_000); it("can return SHAs for multiple files including return blanks for missing files", async () => { const cwd = await gitdir({ @@ -397,7 +399,7 @@ describe("git", () => { ); expect(commits).toEqual([originalCommit1, undefined, originalCommit2]); - }); + }, 10_000); }); }); diff --git a/packages/logger/package.json b/packages/logger/package.json index 78d5975e7..303e5039b 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -13,7 +13,7 @@ "picocolors": "^1.1.0" }, "devDependencies": { - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/logger/src/index.test.ts b/packages/logger/src/index.test.ts index ae8ae2ae7..81df9101e 100644 --- a/packages/logger/src/index.test.ts +++ b/packages/logger/src/index.test.ts @@ -1,5 +1,5 @@ -import { vi } from "vitest"; -import { log, error, info, warn, success } from "./index.ts"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { error, info, log, success, warn } from "./index.ts"; describe("@changesets/logger", () => { const logMessageOne = "Message 1"; diff --git a/packages/parse/src/index.test.ts b/packages/parse/src/index.test.ts index b67a65d03..9f6885d5b 100644 --- a/packages/parse/src/index.test.ts +++ b/packages/parse/src/index.test.ts @@ -1,4 +1,6 @@ import { outdent } from "outdent"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it } from "vitest"; import parse from "./index.ts"; diff --git a/packages/pre/src/index.test.ts b/packages/pre/src/index.test.ts index 75ca5f775..8b961c841 100644 --- a/packages/pre/src/index.test.ts +++ b/packages/pre/src/index.test.ts @@ -6,6 +6,8 @@ import { PreExitButNotInPreModeError, } from "@changesets/errors"; import { testdir } from "@changesets/test-utils"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it, test } from "vitest"; describe("enterPre", () => { it("should enter", async () => { diff --git a/packages/read/src/index.test.ts b/packages/read/src/index.test.ts index 5a1cbef38..24bdf6dd9 100644 --- a/packages/read/src/index.test.ts +++ b/packages/read/src/index.test.ts @@ -1,5 +1,7 @@ import path from "node:path"; import { outdent } from "outdent"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { describe, expect, it } from "vitest"; import read from "./index.ts"; import { gitdir, silenceLogsInBlock, testdir } from "@changesets/test-utils"; diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 9904e54b2..6a4e19b46 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -23,7 +23,7 @@ "@changesets/test-utils": "0.0.9-next.0", "@changesets/write": "1.0.0-next.0", "file-url": "^3.0.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/release-utils/src/run.test.ts b/packages/release-utils/src/run.test.ts index 2497cbb2a..233cb158f 100644 --- a/packages/release-utils/src/run.test.ts +++ b/packages/release-utils/src/run.test.ts @@ -1,4 +1,4 @@ -import { vi } from "vitest"; +import { beforeEach, describe, expect, it, test, vi } from "vitest"; import { add, commit } from "@changesets/git"; import { linkNodeModules, diff --git a/packages/release-utils/src/utils.test.ts b/packages/release-utils/src/utils.test.ts index 414d7025f..d203f7194 100644 --- a/packages/release-utils/src/utils.test.ts +++ b/packages/release-utils/src/utils.test.ts @@ -1,6 +1,7 @@ +import { expect, test } from "vitest"; import { - getChangelogEntry, BumpLevels, + getChangelogEntry, sortChangelogEntries, } from "./utils.ts"; diff --git a/packages/write/package.json b/packages/write/package.json index b92177e0f..d34ce8e90 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -17,7 +17,7 @@ "devDependencies": { "@changesets/parse": "1.0.0-next.0", "@changesets/test-utils": "0.0.9-next.0", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/packages/write/src/index.test.ts b/packages/write/src/index.test.ts index 4f69dad3a..9a48619e1 100644 --- a/packages/write/src/index.test.ts +++ b/packages/write/src/index.test.ts @@ -1,13 +1,14 @@ -import { vi } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import fs from "node:fs/promises"; import path from "path"; import parse from "@changesets/parse"; import writeChangeset from "./index.ts"; -import humanId from "human-id"; +import { humanId } from "human-id"; import { testdir } from "@changesets/test-utils"; vi.mock("human-id"); +const mockedHumanId = vi.mocked(humanId); describe("simple project", () => { it("should write a changeset", async () => { @@ -23,8 +24,7 @@ describe("simple project", () => { }); const changesetID = "ascii"; - // @ts-ignore - humanId.mockReturnValueOnce(changesetID); + mockedHumanId.mockReturnValueOnce(changesetID); await writeChangeset( { @@ -56,8 +56,7 @@ describe("simple project", () => { }); const changesetID = "ascii"; - // @ts-ignore - humanId.mockReturnValueOnce(changesetID); + mockedHumanId.mockReturnValueOnce(changesetID); const summary = `This is a summary ~~~html @@ -97,8 +96,7 @@ describe("simple project", () => { }); const changesetID = "ascii"; - // @ts-ignore - humanId.mockReturnValueOnce(changesetID); + mockedHumanId.mockReturnValueOnce(changesetID); const summary = `This is a summary ~~~html @@ -143,8 +141,7 @@ describe("simple project", () => { }); const changesetID = "ascii"; - // @ts-ignore - humanId.mockReturnValueOnce(changesetID); + mockedHumanId.mockReturnValueOnce(changesetID); await writeChangeset( { diff --git a/packages/write/src/index.ts b/packages/write/src/index.ts index bf470f7db..51b65e5a1 100644 --- a/packages/write/src/index.ts +++ b/packages/write/src/index.ts @@ -19,12 +19,10 @@ function getPrettierInstance(cwd: string): typeof prettier { } async function writeChangeset( - changeset: Changeset, + { summary, releases }: Changeset, cwd: string, options?: { prettier?: boolean } ): Promise { - const { summary, releases } = changeset; - const changesetBase = path.resolve(cwd, ".changeset"); // Worth understanding that the ID merely needs to be a unique hash to avoid git conflicts diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index b920c41a7..0bc088002 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -14,7 +14,7 @@ "@changesets/logger": "^1.0.0-next.0", "fixturez": "^1.1.0", "spawndamnit": "^3.0.1", - "vitest": "^3.0.6" + "vitest": "^3.2.4" }, "engines": { "node": ">=20.0.0" diff --git a/scripts/test-utils/src/index.test.ts b/scripts/test-utils/src/index.test.ts index 887292947..41de8123f 100644 --- a/scripts/test-utils/src/index.test.ts +++ b/scripts/test-utils/src/index.test.ts @@ -1,6 +1,5 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { silenceLogsInBlock } from "./index.ts"; // this has to be imported before `@changesets/logger` - -import { vi } from "vitest"; import { log } from "@changesets/logger"; describe("temporarilySilenceLogs", () => { diff --git a/scripts/test-utils/src/index.ts b/scripts/test-utils/src/index.ts index 9609e383f..425736cc8 100644 --- a/scripts/test-utils/src/index.ts +++ b/scripts/test-utils/src/index.ts @@ -1,4 +1,4 @@ -import { Mock, vi } from "vitest"; +import { afterEach, beforeEach, type Mock, vi } from "vitest"; import fixturez from "fixturez"; import spawn from "spawndamnit"; import fs from "node:fs"; diff --git a/tsconfig.json b/tsconfig.json index f99c34d41..ef4588cd1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,6 @@ "libReplacement": false, "strict": true, "noEmit": true, - "types": ["vitest/globals"] + "types": ["node"] } } diff --git a/vitest.config.mts b/vitest.config.mts index 534331132..8c90c2b90 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -3,7 +3,5 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { clearMocks: true, - // TODO: migrate away from global - globals: true, }, }); diff --git a/yarn.lock b/yarn.lock index c198f3e9a..1e5f543c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -218,14 +218,7 @@ "@babel/template" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/parser@^7.25.4": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5" - integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A== - dependencies: - "@babel/types" "^7.26.9" - -"@babel/parser@^7.26.10", "@babel/parser@^7.27.0": +"@babel/parser@^7.25.4", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec" integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== @@ -834,15 +827,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.25.4", "@babel/types@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce" - integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0": +"@babel/types@^7.25.4", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.4.4": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== @@ -850,15 +835,6 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@babel/types@^7.4.4": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" - integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz#bbe12dca5b4ef983a0d0af4b07b9bc90ea0ababa" @@ -869,130 +845,135 @@ resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== -"@esbuild/aix-ppc64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461" - integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA== - -"@esbuild/android-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894" - integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg== - -"@esbuild/android-arm@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3" - integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q== - -"@esbuild/android-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb" - integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw== - -"@esbuild/darwin-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936" - integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA== - -"@esbuild/darwin-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9" - integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA== - -"@esbuild/freebsd-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00" - integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg== - -"@esbuild/freebsd-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f" - integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q== - -"@esbuild/linux-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43" - integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg== - -"@esbuild/linux-arm@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736" - integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA== - -"@esbuild/linux-ia32@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5" - integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw== - -"@esbuild/linux-loong64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc" - integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ== - -"@esbuild/linux-mips64el@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb" - integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw== - -"@esbuild/linux-ppc64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412" - integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw== - -"@esbuild/linux-riscv64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694" - integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q== - -"@esbuild/linux-s390x@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577" - integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw== - -"@esbuild/linux-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f" - integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q== - -"@esbuild/netbsd-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6" - integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw== - -"@esbuild/netbsd-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40" - integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw== - -"@esbuild/openbsd-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f" - integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A== - -"@esbuild/openbsd-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205" - integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA== - -"@esbuild/sunos-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6" - integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig== - -"@esbuild/win32-arm64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85" - integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ== - -"@esbuild/win32-ia32@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2" - integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA== - -"@esbuild/win32-x64@0.24.2": - version "0.24.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b" - integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg== +"@esbuild/aix-ppc64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz#ee6b7163a13528e099ecf562b972f2bcebe0aa97" + integrity sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw== + +"@esbuild/android-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz#115fc76631e82dd06811bfaf2db0d4979c16e2cb" + integrity sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg== + +"@esbuild/android-arm@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.10.tgz#8d5811912da77f615398611e5bbc1333fe321aa9" + integrity sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w== + +"@esbuild/android-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.10.tgz#e3e96516b2d50d74105bb92594c473e30ddc16b1" + integrity sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg== + +"@esbuild/darwin-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz#6af6bb1d05887dac515de1b162b59dc71212ed76" + integrity sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA== + +"@esbuild/darwin-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz#99ae82347fbd336fc2d28ffd4f05694e6e5b723d" + integrity sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg== + +"@esbuild/freebsd-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz#0c6d5558a6322b0bdb17f7025c19bd7d2359437d" + integrity sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg== + +"@esbuild/freebsd-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz#8c35873fab8c0857a75300a3dcce4324ca0b9844" + integrity sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA== + +"@esbuild/linux-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz#3edc2f87b889a15b4cedaf65f498c2bed7b16b90" + integrity sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ== + +"@esbuild/linux-arm@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz#86501cfdfb3d110176d80c41b27ed4611471cde7" + integrity sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg== + +"@esbuild/linux-ia32@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz#e6589877876142537c6864680cd5d26a622b9d97" + integrity sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ== + +"@esbuild/linux-loong64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz#11119e18781f136d8083ea10eb6be73db7532de8" + integrity sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg== + +"@esbuild/linux-mips64el@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz#3052f5436b0c0c67a25658d5fc87f045e7def9e6" + integrity sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA== + +"@esbuild/linux-ppc64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz#2f098920ee5be2ce799f35e367b28709925a8744" + integrity sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA== + +"@esbuild/linux-riscv64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz#fa51d7fd0a22a62b51b4b94b405a3198cf7405dd" + integrity sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA== + +"@esbuild/linux-s390x@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz#a27642e36fc282748fdb38954bd3ef4f85791e8a" + integrity sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew== + +"@esbuild/linux-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz#9d9b09c0033d17529570ced6d813f98315dfe4e9" + integrity sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA== + +"@esbuild/netbsd-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz#25c09a659c97e8af19e3f2afd1c9190435802151" + integrity sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A== + +"@esbuild/netbsd-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz#7fa5f6ffc19be3a0f6f5fd32c90df3dc2506937a" + integrity sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig== + +"@esbuild/openbsd-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz#8faa6aa1afca0c6d024398321d6cb1c18e72a1c3" + integrity sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw== + +"@esbuild/openbsd-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz#a42979b016f29559a8453d32440d3c8cd420af5e" + integrity sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw== + +"@esbuild/openharmony-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz#fd87bfeadd7eeb3aa384bbba907459ffa3197cb1" + integrity sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag== + +"@esbuild/sunos-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz#3a18f590e36cb78ae7397976b760b2b8c74407f4" + integrity sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ== + +"@esbuild/win32-arm64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz#e71741a251e3fd971408827a529d2325551f530c" + integrity sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw== + +"@esbuild/win32-ia32@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz#c6f010b5d3b943d8901a0c87ea55f93b8b54bf94" + integrity sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw== + +"@esbuild/win32-x64@0.25.10": + version "0.25.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz#e4b3e255a1b4aea84f6e1d2ae0b73f826c3785bd" + integrity sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -1049,9 +1030,9 @@ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" @@ -1077,25 +1058,15 @@ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.4.tgz#856a142864530d4059dda415659b48d37db2d556" integrity sha512-KE/SxsDqNs3rrWwFHcRh15ZLVFrI0YoZtgAdIyIq9k5hUNmiWRXXThPomIxHuL20sLdgzbDFyvkUMna14bvtrw== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.13": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== +"@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.30": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -1180,14 +1151,6 @@ resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1196,25 +1159,12 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -1374,100 +1324,115 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/rollup-android-arm-eabi@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" - integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== - -"@rollup/rollup-android-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" - integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== - -"@rollup/rollup-darwin-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" - integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== - -"@rollup/rollup-darwin-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" - integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== - -"@rollup/rollup-freebsd-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" - integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== - -"@rollup/rollup-freebsd-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" - integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== - -"@rollup/rollup-linux-arm-gnueabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" - integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== - -"@rollup/rollup-linux-arm-musleabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" - integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== - -"@rollup/rollup-linux-arm64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" - integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== - -"@rollup/rollup-linux-arm64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" - integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== - -"@rollup/rollup-linux-loongarch64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" - integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== - -"@rollup/rollup-linux-powerpc64le-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" - integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== - -"@rollup/rollup-linux-riscv64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" - integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== - -"@rollup/rollup-linux-s390x-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" - integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== - -"@rollup/rollup-linux-x64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz#5783fc0adcab7dc069692056e8ca8d83709855ce" - integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== - -"@rollup/rollup-linux-x64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz#00b6c29b298197a384e3c659910b47943003a678" - integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== - -"@rollup/rollup-win32-arm64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" - integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== - -"@rollup/rollup-win32-ia32-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" - integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== - -"@rollup/rollup-win32-x64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" - integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== +"@rollup/rollup-android-arm-eabi@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz#59e7478d310f7e6a7c72453978f562483828112f" + integrity sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA== + +"@rollup/rollup-android-arm64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz#a825192a0b1b2f27a5c950c439e7e37a33c5d056" + integrity sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w== + +"@rollup/rollup-darwin-arm64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz#4ee37078bccd725ae3c5f30ef92efc8e1bf886f3" + integrity sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg== + +"@rollup/rollup-darwin-x64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz#43cc08bd05bf9f388f125e7210a544e62d368d90" + integrity sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw== + +"@rollup/rollup-freebsd-arm64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz#bc8e640e28abe52450baf3fc80d9b26d9bb6587d" + integrity sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ== + +"@rollup/rollup-freebsd-x64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz#e981a22e057cc8c65bb523019d344d3a66b15bbc" + integrity sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw== + +"@rollup/rollup-linux-arm-gnueabihf@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz#4036b68904f392a20f3499d63b33e055b67eb274" + integrity sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ== + +"@rollup/rollup-linux-arm-musleabihf@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz#d3b1b9589606e0ff916801c855b1ace9e733427a" + integrity sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q== + +"@rollup/rollup-linux-arm64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz#cbf0943c477e3b96340136dd3448eaf144378cf2" + integrity sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg== + +"@rollup/rollup-linux-arm64-musl@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz#837f5a428020d5dce1c3b4cc049876075402cf78" + integrity sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g== + +"@rollup/rollup-linux-loong64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz#532c214ababb32ab4bc21b4054278b9a8979e516" + integrity sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ== + +"@rollup/rollup-linux-ppc64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz#93900163b61b49cee666d10ee38257a8b1dd161a" + integrity sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g== + +"@rollup/rollup-linux-riscv64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz#f0ffdcc7066ca04bc972370c74289f35c7a7dc42" + integrity sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg== + +"@rollup/rollup-linux-riscv64-musl@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz#361695c39dbe96773509745d77a870a32a9f8e48" + integrity sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA== + +"@rollup/rollup-linux-s390x-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz#09fc6cc2e266a2324e366486ae5d1bca48c43a6a" + integrity sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA== + +"@rollup/rollup-linux-x64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz#aa9d5b307c08f05d3454225bb0a2b4cc87eeb2e1" + integrity sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg== + +"@rollup/rollup-linux-x64-musl@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz#26949e5b4645502a61daba2f7a8416bd17cb5382" + integrity sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw== + +"@rollup/rollup-openharmony-arm64@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz#ef493c072f9dac7e0edb6c72d63366846b6ffcd9" + integrity sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA== + +"@rollup/rollup-win32-arm64-msvc@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz#56e1aaa6a630d2202ee7ec0adddd05cf384ffd44" + integrity sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ== + +"@rollup/rollup-win32-ia32-msvc@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz#0a44bbf933a9651c7da2b8569fa448dec0de7480" + integrity sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw== + +"@rollup/rollup-win32-x64-gnu@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz#730e12f0b60b234a7c02d5d3179ca3ec7972033d" + integrity sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ== + +"@rollup/rollup-win32-x64-msvc@4.52.4": + version "4.52.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz#5b2dd648a960b8fa00d76f2cc4eea2f03daa80f4" + integrity sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w== "@rtsao/scc@^1.1.0": version "1.1.0" @@ -1479,6 +1444,13 @@ resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== +"@types/chai@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.2.tgz#6f14cea18180ffc4416bc0fd12be05fdd73bdd6b" + integrity sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== + dependencies: + "@types/deep-eql" "*" + "@types/debug@^4.0.0": version "4.1.12" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" @@ -1486,21 +1458,21 @@ dependencies: "@types/ms" "*" -"@types/estree@*": - version "0.0.45" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" - integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + +"@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/estree@1.0.6", "@types/estree@^1.0.0": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - "@types/js-yaml@^3.12.1": version "3.12.1" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" @@ -1516,11 +1488,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" - integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== - "@types/mdast@^4.0.0": version "4.0.4" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" @@ -1691,81 +1658,84 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@vitest/coverage-v8@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-3.0.6.tgz#a8ba832ad8b5371a160869bce87424aa4f582f5e" - integrity sha512-JRTlR8Bw+4BcmVTICa7tJsxqphAktakiLsAmibVLAWbu1lauFddY/tXeM6sAyl1cgkPuXtpnUgaCPhTdz1Qapg== +"@vitest/coverage-v8@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz#a2d8d040288c1956a1c7d0a0e2cdcfc7a3319f13" + integrity sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ== dependencies: "@ampproject/remapping" "^2.3.0" "@bcoe/v8-coverage" "^1.0.2" - debug "^4.4.0" + ast-v8-to-istanbul "^0.3.3" + debug "^4.4.1" istanbul-lib-coverage "^3.2.2" istanbul-lib-report "^3.0.1" istanbul-lib-source-maps "^5.0.6" istanbul-reports "^3.1.7" magic-string "^0.30.17" magicast "^0.3.5" - std-env "^3.8.0" + std-env "^3.9.0" test-exclude "^7.0.1" tinyrainbow "^2.0.0" -"@vitest/expect@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.0.6.tgz#30993c0841203d2243826ee04fb25463eb86e20d" - integrity sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg== +"@vitest/expect@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.2.4.tgz#8362124cd811a5ee11c5768207b9df53d34f2433" + integrity sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig== dependencies: - "@vitest/spy" "3.0.6" - "@vitest/utils" "3.0.6" + "@types/chai" "^5.2.2" + "@vitest/spy" "3.2.4" + "@vitest/utils" "3.2.4" chai "^5.2.0" tinyrainbow "^2.0.0" -"@vitest/mocker@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.0.6.tgz#28287cfdc06a8b0318344e5c240d774e43014cd0" - integrity sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ== +"@vitest/mocker@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.2.4.tgz#4471c4efbd62db0d4fa203e65cc6b058a85cabd3" + integrity sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ== dependencies: - "@vitest/spy" "3.0.6" + "@vitest/spy" "3.2.4" estree-walker "^3.0.3" magic-string "^0.30.17" -"@vitest/pretty-format@3.0.6", "@vitest/pretty-format@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.0.6.tgz#a828569818b666a6e955c9af8129e6b0d2968ee6" - integrity sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg== +"@vitest/pretty-format@3.2.4", "@vitest/pretty-format@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.2.4.tgz#3c102f79e82b204a26c7a5921bf47d534919d3b4" + integrity sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA== dependencies: tinyrainbow "^2.0.0" -"@vitest/runner@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.0.6.tgz#a07b54674b1a495424f2ea959a28a6096c17c33b" - integrity sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA== +"@vitest/runner@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.2.4.tgz#5ce0274f24a971f6500f6fc166d53d8382430766" + integrity sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ== dependencies: - "@vitest/utils" "3.0.6" + "@vitest/utils" "3.2.4" pathe "^2.0.3" + strip-literal "^3.0.0" -"@vitest/snapshot@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.0.6.tgz#e962319e487b2e8da7ad39322b5e0b39ea639d7a" - integrity sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg== +"@vitest/snapshot@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.2.4.tgz#40a8bc0346ac0aee923c0eefc2dc005d90bc987c" + integrity sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ== dependencies: - "@vitest/pretty-format" "3.0.6" + "@vitest/pretty-format" "3.2.4" magic-string "^0.30.17" pathe "^2.0.3" -"@vitest/spy@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.0.6.tgz#3a50ec0ab11e8f729cdaa938a6d271b12547cea1" - integrity sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q== +"@vitest/spy@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.2.4.tgz#cc18f26f40f3f028da6620046881f4e4518c2599" + integrity sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw== dependencies: - tinyspy "^3.0.2" + tinyspy "^4.0.3" -"@vitest/utils@3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.0.6.tgz#be4246ab46a076db1e49b9e0479bdd9a7f65782f" - integrity sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ== +"@vitest/utils@3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.2.4.tgz#c0813bc42d99527fb8c5b138c7a88516bca46fea" + integrity sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA== dependencies: - "@vitest/pretty-format" "3.0.6" - loupe "^3.1.3" + "@vitest/pretty-format" "3.2.4" + loupe "^3.1.4" tinyrainbow "^2.0.0" acorn-jsx@^5.3.2: @@ -1773,27 +1743,12 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== - -acorn@^8.8.2: +acorn@^8.8.0, acorn@^8.8.2: version "8.9.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== -ajv@^6.10.0: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1826,9 +1781,9 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: color-convert "^2.0.1" ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== anymatch@~3.1.2: version "3.1.2" @@ -1937,6 +1892,15 @@ assertion-error@^2.0.1: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== +ast-v8-to-istanbul@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.5.tgz#9fba217c272dd8c2615603da5de3e1a460b4b9af" + integrity sha512-9SdXjNheSiE8bALAQCQQuT6fgQaoxJh7IRYrRGZ8/9nv8WhJeC1aXAwN8TbaOssGOukUvyvnkgD9+Yuykvl1aA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.30" + estree-walker "^3.0.3" + js-tokens "^9.0.1" + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -1992,37 +1956,20 @@ brace-expansion@^1.1.7: concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -braces@^3.0.3: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" -browserslist@^4.24.0: - version "4.24.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.3.tgz#5fc2725ca8fb3c1432e13dac278c7cc103e026d2" - integrity sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" - -browserslist@^4.24.4: +browserslist@^4.24.0, browserslist@^4.24.4: version "4.24.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -2062,15 +2009,7 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1: es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@^1.0.8: +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== @@ -2099,9 +2038,9 @@ caniuse-lite@^1.0.30001688: integrity sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g== chai@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" - integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== + version "5.3.3" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.3.3.tgz#dd3da955e270916a4bd3f625f4b919996ada7e06" + integrity sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw== dependencies: assertion-error "^2.0.1" check-error "^2.1.1" @@ -2147,12 +2086,7 @@ chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" -ci-info@^3.7.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -ci-info@^3.8.0: +ci-info@^3.7.0, ci-info@^3.8.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== @@ -2209,7 +2143,7 @@ core-js-compat@^3.40.0: dependencies: browserslist "^4.24.4" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.5: +cross-spawn@^7.0.2, cross-spawn@^7.0.5, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -2267,17 +2201,10 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.1: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" @@ -2484,10 +2411,10 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-module-lexer@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" - integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== +es-module-lexer@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== es-object-atoms@^1.0.0: version "1.0.0" @@ -2521,36 +2448,37 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" -esbuild@^0.24.2: - version "0.24.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d" - integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA== +esbuild@^0.25.0: + version "0.25.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.10.tgz#37f5aa5cd14500f141be121c01b096ca83ac34a9" + integrity sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ== optionalDependencies: - "@esbuild/aix-ppc64" "0.24.2" - "@esbuild/android-arm" "0.24.2" - "@esbuild/android-arm64" "0.24.2" - "@esbuild/android-x64" "0.24.2" - "@esbuild/darwin-arm64" "0.24.2" - "@esbuild/darwin-x64" "0.24.2" - "@esbuild/freebsd-arm64" "0.24.2" - "@esbuild/freebsd-x64" "0.24.2" - "@esbuild/linux-arm" "0.24.2" - "@esbuild/linux-arm64" "0.24.2" - "@esbuild/linux-ia32" "0.24.2" - "@esbuild/linux-loong64" "0.24.2" - "@esbuild/linux-mips64el" "0.24.2" - "@esbuild/linux-ppc64" "0.24.2" - "@esbuild/linux-riscv64" "0.24.2" - "@esbuild/linux-s390x" "0.24.2" - "@esbuild/linux-x64" "0.24.2" - "@esbuild/netbsd-arm64" "0.24.2" - "@esbuild/netbsd-x64" "0.24.2" - "@esbuild/openbsd-arm64" "0.24.2" - "@esbuild/openbsd-x64" "0.24.2" - "@esbuild/sunos-x64" "0.24.2" - "@esbuild/win32-arm64" "0.24.2" - "@esbuild/win32-ia32" "0.24.2" - "@esbuild/win32-x64" "0.24.2" + "@esbuild/aix-ppc64" "0.25.10" + "@esbuild/android-arm" "0.25.10" + "@esbuild/android-arm64" "0.25.10" + "@esbuild/android-x64" "0.25.10" + "@esbuild/darwin-arm64" "0.25.10" + "@esbuild/darwin-x64" "0.25.10" + "@esbuild/freebsd-arm64" "0.25.10" + "@esbuild/freebsd-x64" "0.25.10" + "@esbuild/linux-arm" "0.25.10" + "@esbuild/linux-arm64" "0.25.10" + "@esbuild/linux-ia32" "0.25.10" + "@esbuild/linux-loong64" "0.25.10" + "@esbuild/linux-mips64el" "0.25.10" + "@esbuild/linux-ppc64" "0.25.10" + "@esbuild/linux-riscv64" "0.25.10" + "@esbuild/linux-s390x" "0.25.10" + "@esbuild/linux-x64" "0.25.10" + "@esbuild/netbsd-arm64" "0.25.10" + "@esbuild/netbsd-x64" "0.25.10" + "@esbuild/openbsd-arm64" "0.25.10" + "@esbuild/openbsd-x64" "0.25.10" + "@esbuild/openharmony-arm64" "0.25.10" + "@esbuild/sunos-x64" "0.25.10" + "@esbuild/win32-arm64" "0.25.10" + "@esbuild/win32-ia32" "0.25.10" + "@esbuild/win32-x64" "0.25.10" escalade@^3.2.0: version "3.2.0" @@ -2795,10 +2723,10 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -expect-type@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75" - integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA== +expect-type@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.2.2.tgz#c030a329fb61184126c8447585bc75a7ec6fbff3" + integrity sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA== fast-deep-equal@^2.0.1: version "2.0.1" @@ -2810,41 +2738,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.1.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d" - integrity sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-glob@^3.2.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" - integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.3.2: +fast-glob@^3.2.4, fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -2872,6 +2766,11 @@ fastq@^1.6.0: dependencies: reusify "^1.0.0" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -2884,13 +2783,6 @@ file-url@^3.0.0: resolved "https://registry.yarnpkg.com/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77" integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -2945,11 +2837,11 @@ for-each@^0.3.3: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" fs-extra@^5.0.0: @@ -2990,21 +2882,11 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -fsevents@~2.3.3: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" @@ -3031,15 +2913,6 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.6.tgz#43dd3dd0e7b49b82b2dfcad10dc824bf7fc265d5" @@ -3080,13 +2953,6 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== - dependencies: - is-glob "^4.0.1" - glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -3145,19 +3011,7 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" -globby@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.0.tgz#56fd0e9f0d4f8fb0c456f1ab0dee96e1380bc154" - integrity sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.1.0: +globby@^11.0.0, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -3186,22 +3040,17 @@ gopd@^1.0.1, gopd@^1.2.0: resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@4.2.10: +graceful-fs@4.2.10, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - grapheme-splitter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -has-bigints@^1.0.1, has-bigints@^1.0.2: +has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== @@ -3211,14 +3060,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-property-descriptors@^1.0.2: +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== @@ -3232,37 +3074,18 @@ has-proto@^1.0.3, has-proto@^1.2.0: dependencies: dunder-proto "^1.0.0" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-symbols@^1.1.0: +has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-tostringtag@^1.0.2: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -3299,25 +3122,12 @@ ignore@^3.3.5: resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" - integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== - -ignore@^5.2.0: +ignore@^5.1.1, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -import-fresh@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" - integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -3348,16 +3158,11 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.4: +ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - internal-slot@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" @@ -3388,13 +3193,6 @@ is-async-function@^2.0.0: dependencies: has-tostringtag "^1.0.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-bigint@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" @@ -3409,14 +3207,6 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-boolean-object@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.1.tgz#c20d0c654be05da4fbc23c562635c019e93daf89" @@ -3430,7 +3220,7 @@ is-callable@^1.1.3, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.9.0: +is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.0.tgz#6c01ffdd5e33c49c1d2abfa93334a85cb56bd81c" integrity sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g== @@ -3522,13 +3312,6 @@ is-node-process@^1.2.0: resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number-object@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" @@ -3576,14 +3359,7 @@ is-shared-array-buffer@^1.0.3: dependencies: call-bind "^1.0.7" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-string@^1.1.1: +is-string@^1.0.7, is-string@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== @@ -3591,13 +3367,6 @@ is-string@^1.1.1: call-bound "^1.0.3" has-tostringtag "^1.0.2" -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - is-symbol@^1.0.4, is-symbol@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" @@ -3619,14 +3388,7 @@ is-weakmap@^2.0.2: resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakref@^1.1.0: +is-weakref@^1.0.2, is-weakref@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.0.tgz#47e3472ae95a63fa9cf25660bcf0c181c39770ef" integrity sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q== @@ -3675,9 +3437,9 @@ istanbul-lib-source-maps@^5.0.6: istanbul-lib-coverage "^3.0.0" istanbul-reports@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" + integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -3715,6 +3477,11 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-tokens@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.1.tgz#2ec43964658435296f6761b34e10671c2d9527f4" + integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== + js-yaml@^3.13.1, js-yaml@^3.6.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" @@ -3825,20 +3592,15 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.13: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== -loupe@^3.1.0, loupe@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" - integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== +loupe@^3.1.0, loupe@^3.1.4: + version "3.2.1" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.2.1.tgz#0095cf56dc5b7a9a7c08ff5b1a8796ec8ad17e76" + integrity sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ== lru-cache@^10.2.0: version "10.4.3" @@ -3859,19 +3621,12 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" -magic-string@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529" - integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ== +magic-string@^0.30.0, magic-string@^0.30.17: + version "0.30.19" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.19.tgz#cebe9f104e565602e5d2098c5f2e79a77cc86da9" + integrity sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - -magic-string@^0.30.17: - version "0.30.17" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/sourcemap-codec" "^1.5.5" magicast@^0.3.5: version "0.3.5" @@ -3955,12 +3710,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -merge2@^1.4.1: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -4159,23 +3909,7 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -micromatch@^4.0.8: +micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -4197,12 +3931,7 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== @@ -4217,20 +3946,15 @@ mri@^1.2.0: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -ms@^2.1.1, ms@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.3: +ms@^2.1.1, ms@^2.1.2, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.8: - version "3.3.8" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" - integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== natural-compare-lite@^1.4.0: version "1.4.0" @@ -4365,14 +4089,7 @@ outvariant@^1.4.0, outvariant@^1.4.3: resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== -p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.1: +p-limit@^2.2.0, p-limit@^2.2.1: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -4479,11 +4196,6 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -4515,40 +4227,25 @@ pathe@^2.0.3: integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== pathval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" - integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.1.tgz#8855c5a2899af072d6ac05d11e46045ad0dc605d" + integrity sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ== -picocolors@^1.1.1: +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== - -picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2, picomatch@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -4571,12 +4268,12 @@ possible-typed-array-names@^1.0.0: resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== -postcss@^8.5.2: - version "8.5.3" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== +postcss@^8.5.6: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: - nanoid "^3.3.8" + nanoid "^3.3.11" picocolors "^1.1.1" source-map-js "^1.2.1" @@ -4685,12 +4382,7 @@ regexp.prototype.flags@^1.5.3: es-errors "^1.3.0" set-function-name "^2.0.2" -regexpp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" - integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== - -regexpp@^3.2.0: +regexpp@^3.0.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -4743,32 +4435,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.14.2, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.19.0: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.22.4: +resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4: version "1.22.9" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.9.tgz#6da76e4cdc57181fa4471231400e8851d0a924f3" integrity sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A== @@ -4796,32 +4463,35 @@ rollup@^2.79.1: optionalDependencies: fsevents "~2.3.2" -rollup@^4.30.1: - version "4.34.8" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.34.8.tgz#e859c1a51d899aba9bcf451d4eed1d11fb8e2a6e" - integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== +rollup@^4.43.0: + version "4.52.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.52.4.tgz#71e64cce96a865fcbaa6bb62c6e82807f4e378a1" + integrity sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.34.8" - "@rollup/rollup-android-arm64" "4.34.8" - "@rollup/rollup-darwin-arm64" "4.34.8" - "@rollup/rollup-darwin-x64" "4.34.8" - "@rollup/rollup-freebsd-arm64" "4.34.8" - "@rollup/rollup-freebsd-x64" "4.34.8" - "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" - "@rollup/rollup-linux-arm-musleabihf" "4.34.8" - "@rollup/rollup-linux-arm64-gnu" "4.34.8" - "@rollup/rollup-linux-arm64-musl" "4.34.8" - "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" - "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" - "@rollup/rollup-linux-riscv64-gnu" "4.34.8" - "@rollup/rollup-linux-s390x-gnu" "4.34.8" - "@rollup/rollup-linux-x64-gnu" "4.34.8" - "@rollup/rollup-linux-x64-musl" "4.34.8" - "@rollup/rollup-win32-arm64-msvc" "4.34.8" - "@rollup/rollup-win32-ia32-msvc" "4.34.8" - "@rollup/rollup-win32-x64-msvc" "4.34.8" + "@rollup/rollup-android-arm-eabi" "4.52.4" + "@rollup/rollup-android-arm64" "4.52.4" + "@rollup/rollup-darwin-arm64" "4.52.4" + "@rollup/rollup-darwin-x64" "4.52.4" + "@rollup/rollup-freebsd-arm64" "4.52.4" + "@rollup/rollup-freebsd-x64" "4.52.4" + "@rollup/rollup-linux-arm-gnueabihf" "4.52.4" + "@rollup/rollup-linux-arm-musleabihf" "4.52.4" + "@rollup/rollup-linux-arm64-gnu" "4.52.4" + "@rollup/rollup-linux-arm64-musl" "4.52.4" + "@rollup/rollup-linux-loong64-gnu" "4.52.4" + "@rollup/rollup-linux-ppc64-gnu" "4.52.4" + "@rollup/rollup-linux-riscv64-gnu" "4.52.4" + "@rollup/rollup-linux-riscv64-musl" "4.52.4" + "@rollup/rollup-linux-s390x-gnu" "4.52.4" + "@rollup/rollup-linux-x64-gnu" "4.52.4" + "@rollup/rollup-linux-x64-musl" "4.52.4" + "@rollup/rollup-openharmony-arm64" "4.52.4" + "@rollup/rollup-win32-arm64-msvc" "4.52.4" + "@rollup/rollup-win32-ia32-msvc" "4.52.4" + "@rollup/rollup-win32-x64-gnu" "4.52.4" + "@rollup/rollup-win32-x64-msvc" "4.52.4" fsevents "~2.3.2" run-parallel@^1.1.9: @@ -4985,15 +4655,7 @@ source-map-js@^1.2.0, source-map-js@^1.2.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== -source-map-support@^0.5.16: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.20: +source-map-support@^0.5.16, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -5029,10 +4691,10 @@ stackback@0.0.2: resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -std-env@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" - integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== +std-env@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" + integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== strict-event-emitter@^0.5.1: version "0.5.1" @@ -5113,9 +4775,9 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: ansi-regex "^5.0.1" strip-ansi@^7.0.1, strip-ansi@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + version "7.1.2" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" + integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== dependencies: ansi-regex "^6.0.1" @@ -5134,6 +4796,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-literal@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-3.1.0.tgz#222b243dd2d49c0bcd0de8906adbd84177196032" + integrity sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg== + dependencies: + js-tokens "^9.0.1" + supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -5188,35 +4857,33 @@ tinybench@^2.9.0: resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== -tinyexec@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" - integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== - -tinyexec@^0.3.2: +tinyexec@^0.3.1, tinyexec@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== -tinypool@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" - integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== +tinyglobby@^0.2.14, tinyglobby@^0.2.15: + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" + +tinypool@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591" + integrity sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg== tinyrainbow@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" integrity sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== -tinyspy@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" - integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +tinyspy@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-4.0.4.tgz#d77a002fb53a88aa1429b419c1c92492e0c81f78" + integrity sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q== to-regex-range@^5.0.1: version "5.0.1" @@ -5420,66 +5087,61 @@ validate-npm-package-name@^5.0.1: resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== -vite-node@3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.0.6.tgz#a68c06c08e95c9a83f21993eabb17e0398804b1b" - integrity sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw== +vite-node@3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.2.4.tgz#f3676d94c4af1e76898c162c92728bca65f7bb07" + integrity sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg== dependencies: cac "^6.7.14" - debug "^4.4.0" - es-module-lexer "^1.6.0" + debug "^4.4.1" + es-module-lexer "^1.7.0" pathe "^2.0.3" - vite "^5.0.0 || ^6.0.0" - -"vite@^5.0.0 || ^6.0.0": - version "6.1.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-6.1.1.tgz#c1f221749298357b9230782a04483e60ad83c8db" - integrity sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA== - dependencies: - esbuild "^0.24.2" - postcss "^8.5.2" - rollup "^4.30.1" + vite "^5.0.0 || ^6.0.0 || ^7.0.0-0" + +"vite@^5.0.0 || ^6.0.0 || ^7.0.0-0": + version "7.1.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-7.1.9.tgz#ba844410e5d0c0f2a4eaf17a52af60ebea322cbf" + integrity sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg== + dependencies: + esbuild "^0.25.0" + fdir "^6.5.0" + picomatch "^4.0.3" + postcss "^8.5.6" + rollup "^4.43.0" + tinyglobby "^0.2.15" optionalDependencies: fsevents "~2.3.3" -vitest@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.0.6.tgz#2fd1571a3cc1fa1648e29af73ff2dc85872f3a69" - integrity sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA== - dependencies: - "@vitest/expect" "3.0.6" - "@vitest/mocker" "3.0.6" - "@vitest/pretty-format" "^3.0.6" - "@vitest/runner" "3.0.6" - "@vitest/snapshot" "3.0.6" - "@vitest/spy" "3.0.6" - "@vitest/utils" "3.0.6" +vitest@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.2.4.tgz#0637b903ad79d1539a25bc34c0ed54b5c67702ea" + integrity sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A== + dependencies: + "@types/chai" "^5.2.2" + "@vitest/expect" "3.2.4" + "@vitest/mocker" "3.2.4" + "@vitest/pretty-format" "^3.2.4" + "@vitest/runner" "3.2.4" + "@vitest/snapshot" "3.2.4" + "@vitest/spy" "3.2.4" + "@vitest/utils" "3.2.4" chai "^5.2.0" - debug "^4.4.0" - expect-type "^1.1.0" + debug "^4.4.1" + expect-type "^1.2.1" magic-string "^0.30.17" pathe "^2.0.3" - std-env "^3.8.0" + picomatch "^4.0.2" + std-env "^3.9.0" tinybench "^2.9.0" tinyexec "^0.3.2" - tinypool "^1.0.2" + tinyglobby "^0.2.14" + tinypool "^1.1.1" tinyrainbow "^2.0.0" - vite "^5.0.0 || ^6.0.0" - vite-node "3.0.6" + vite "^5.0.0 || ^6.0.0 || ^7.0.0-0" + vite-node "3.2.4" why-is-node-running "^2.3.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-boxed-primitive@^1.1.0: +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== From 8796f0a4b042419e10897898df22534124d2fc62 Mon Sep 17 00:00:00 2001 From: Adam Haglund Date: Wed, 15 Oct 2025 19:53:24 +0200 Subject: [PATCH 028/223] replace `strip-ansi` with `node:util#stripVTControlCharacters` (#1741) --- packages/cli/package.json | 1 - packages/cli/src/commands/add/__tests__/add.test.ts | 6 +++--- packages/get-dependents-graph/package.json | 1 - .../get-dependents-graph/src/get-dependency-graph.test.ts | 6 ++++-- yarn.lock | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 537af5d24..b43612b74 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -75,7 +75,6 @@ "@types/semver": "^7.5.0", "human-id": "^4.1.1", "outdent": "^0.8.0", - "strip-ansi": "^7.1.0", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/cli/src/commands/add/__tests__/add.test.ts b/packages/cli/src/commands/add/__tests__/add.test.ts index 9c8052626..4eb145cff 100644 --- a/packages/cli/src/commands/add/__tests__/add.test.ts +++ b/packages/cli/src/commands/add/__tests__/add.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from "vitest"; import path from "path"; -import stripAnsi from "strip-ansi"; +import { stripVTControlCharacters } from "node:util"; import * as git from "@changesets/git"; import { defaultConfig } from "@changesets/config"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; @@ -72,7 +72,7 @@ const mockUserResponses = (mockResponses: { mockedUtils.askQuestion.mockResolvedValue(summary); } mockedUtils.askConfirm.mockImplementation(async (question) => { - question = stripAnsi(question); + question = stripVTControlCharacters(question); if (confirmAnswers[question]) { return confirmAnswers[question]; } @@ -168,7 +168,7 @@ describe("Add command", () => { mockedUtils.askQuestion.mockResolvedValue(""); mockedUtils.askQuestionWithEditor.mockReturnValueOnce(summary); mockedUtils.askConfirm.mockImplementation(async (question) => { - question = stripAnsi(question); + question = stripVTControlCharacters(question); if (confirmAnswers[question]) { return confirmAnswers[question]; } diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index cbdaece4e..81aa71713 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -17,7 +17,6 @@ }, "devDependencies": { "@changesets/test-utils": "0.0.9-next.0", - "strip-ansi": "^7.1.0", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index e94162259..a3745b38e 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -1,5 +1,5 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import stripAnsi from "strip-ansi"; +import { stripVTControlCharacters } from "node:util"; import { temporarilySilenceLogs } from "@changesets/test-utils"; import getDependencyGraph from "./get-dependency-graph.ts"; @@ -109,7 +109,9 @@ describe("getting the dependency graph", function () { }); expect(valid).toBeFalsy(); expect((console.error as any).mock.calls).toHaveLength(1); - expect(stripAnsi((console.error as any).mock.calls[0][0])).toBe( + expect( + stripVTControlCharacters((console.error as any).mock.calls[0][0]) + ).toBe( `Package "foo" must depend on the current version of "bar": "1.0.0" vs "link:../bar"` ); }) diff --git a/yarn.lock b/yarn.lock index 1e5f543c1..483894b3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4774,7 +4774,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1, strip-ansi@^7.1.0: +strip-ansi@^7.0.1: version "7.1.2" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== From f21b58935431157dc21e6db94fba02cde4c8d57b Mon Sep 17 00:00:00 2001 From: Adam Haglund Date: Wed, 15 Oct 2025 20:00:16 +0200 Subject: [PATCH 029/223] replace `file-url` with `node:url#pathToFileUrl` (#1742) --- packages/git/package.json | 3 +-- packages/git/src/index.test.ts | 10 ++++++++-- packages/release-utils/package.json | 1 - packages/release-utils/src/run.test.ts | 4 ++-- yarn.lock | 5 ----- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/git/package.json b/packages/git/package.json index c906a6b88..671df2386 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -17,8 +17,7 @@ }, "devDependencies": { "@changesets/test-utils": "0.0.9-next.0", - "@changesets/write": "1.0.0-next.0", - "file-url": "^3.0.0" + "@changesets/write": "1.0.0-next.0" }, "engines": { "node": ">=20.0.0" diff --git a/packages/git/src/index.test.ts b/packages/git/src/index.test.ts index d5798018f..b6957b324 100644 --- a/packages/git/src/index.test.ts +++ b/packages/git/src/index.test.ts @@ -1,6 +1,6 @@ import path from "path"; import spawn from "spawndamnit"; -import fileUrl from "file-url"; +import { pathToFileURL } from "node:url"; // eslint-disable-next-line import/no-extraneous-dependencies import { describe, expect, it } from "vitest"; import { gitdir, outputFile, tempdir } from "@changesets/test-utils"; @@ -295,7 +295,13 @@ describe("git", () => { "git", // Note: a file:// URL is needed in order to make a shallow clone of // a local repo - ["clone", "--depth", depth.toString(), fileUrl(cwd), "."], + [ + "clone", + "--depth", + depth.toString(), + pathToFileURL(cwd).toString(), + ".", + ], { cwd: cloneDir, } diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 6a4e19b46..fe6ecbc63 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -22,7 +22,6 @@ "@changesets/git": "4.0.0-next.0", "@changesets/test-utils": "0.0.9-next.0", "@changesets/write": "1.0.0-next.0", - "file-url": "^3.0.0", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/release-utils/src/run.test.ts b/packages/release-utils/src/run.test.ts index 233cb158f..58ea629bb 100644 --- a/packages/release-utils/src/run.test.ts +++ b/packages/release-utils/src/run.test.ts @@ -8,7 +8,7 @@ import { } from "@changesets/test-utils"; import type { Changeset } from "@changesets/types"; import writeChangeset from "@changesets/write"; -import fileUrl from "file-url"; +import { pathToFileURL } from "node:url"; import fs from "node:fs/promises"; import path from "path"; import spawn from "spawndamnit"; @@ -39,7 +39,7 @@ async function setupRepoAndClone(cwd: string) { "git", // Note: a file:// URL is needed in order to make a shallow clone of // a local repo - ["clone", "--depth", "1", fileUrl(cwd), "."], + ["clone", "--depth", "1", pathToFileURL(cwd).toString(), "."], { cwd: clone, } diff --git a/yarn.lock b/yarn.lock index 483894b3c..e1416f3c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2778,11 +2778,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-url@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77" - integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA== - fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" From 6ad9629c9186b99dfbe0795a2e8c66ce4438fcb0 Mon Sep 17 00:00:00 2001 From: Bojan Rajh <117360292+bojanrajh@users.noreply.github.com> Date: Thu, 30 Oct 2025 13:41:20 +0100 Subject: [PATCH 030/223] Fix versioning bump example in the docs (#1746) --- docs/decisions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/decisions.md b/docs/decisions.md index 313bae1c6..bddc29e24 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -6,7 +6,7 @@ This file is a discussion of some of the rules and design decisions that have go Changesets are designed to be as easy to accumulate as possible. As such, when changesets are consumed with `version`, we flatten the version bumps into one single bump at the highest semver range specified. -For example: if you run `version`, and we have `packageA` at `1.1.1`, which has two `minor` changesets, and one `patch` changeset, we will bump `packageA` to `1.2.1`. +For example: if you run `version`, and we have `packageA` at `1.1.1`, which has two `minor` changesets, and one `patch` changeset, we will bump `packageA` to `1.2.0`. This allows changesets to be added and accumulated safely, with the knowledge that packages will only be released once at an appropriate version for the combined set of changesets, while still ensuring each change is captured in the changelog, with an indication of what kind of change it is. From f84aea6bbe1f5d40c2fe71a86dcd7af4fe43fade Mon Sep 17 00:00:00 2001 From: Adam Haglund Date: Thu, 30 Oct 2025 14:05:09 +0100 Subject: [PATCH 031/223] replaces custom `pathExists` functions with `fs.existsSync` (#1743) --- packages/apply-release-plan/src/index.test.ts | 14 +++++++------- .../src/commands/init/__tests__/command.test.ts | 15 ++++++--------- packages/cli/src/commands/init/index.ts | 16 +++++----------- scripts/test-utils/src/index.ts | 8 -------- 4 files changed, 18 insertions(+), 35 deletions(-) diff --git a/packages/apply-release-plan/src/index.test.ts b/packages/apply-release-plan/src/index.test.ts index 2581c95d3..66f3c94b1 100644 --- a/packages/apply-release-plan/src/index.test.ts +++ b/packages/apply-release-plan/src/index.test.ts @@ -7,6 +7,7 @@ import { ReleasePlan, } from "@changesets/types"; import * as git from "@changesets/git"; +import { existsSync } from "node:fs"; import fs from "node:fs/promises"; import path from "path"; import { outdent } from "outdent"; @@ -18,7 +19,6 @@ import { getPackages } from "@manypkg/get-packages"; import { Fixture, outputFile, - pathExists, temporarilySilenceLogs, testdir, } from "@changesets/test-utils"; @@ -2979,7 +2979,7 @@ describe("apply release plan", () => { setupFunc ); - let changesetExists = await pathExists(changesetPath); + let changesetExists = existsSync(changesetPath); expect(changesetExists).toEqual(false); }); it("should NOT delete changesets for ignored packages", async () => { @@ -3014,7 +3014,7 @@ describe("apply release plan", () => { setupFunc ); - let changesetExists = await pathExists(changesetPath); + let changesetExists = existsSync(changesetPath); expect(changesetExists).toEqual(true); }); it("should NOT delete changesets for private unversioned packages", async () => { @@ -3053,7 +3053,7 @@ describe("apply release plan", () => { setupFunc ); - let changesetExists = await pathExists(changesetPath); + let changesetExists = existsSync(changesetPath); expect(changesetExists).toEqual(true); }); it("should delete an old format changeset if it is applied", async () => { @@ -3104,8 +3104,8 @@ describe("apply release plan", () => { setupFunc ); - let mdPathExists = await pathExists(changesetMDPath); - let JSONPathExists = await pathExists(changesetJSONPath); + let mdPathExists = existsSync(changesetMDPath); + let JSONPathExists = existsSync(changesetJSONPath); expect(mdPathExists).toEqual(false); expect(JSONPathExists).toEqual(false); @@ -3280,7 +3280,7 @@ describe("apply release plan", () => { setupFunc ); - let changesetExists = await pathExists(changesetPath); + let changesetExists = existsSync(changesetPath); expect(changesetExists).toEqual(false); diff --git a/packages/cli/src/commands/init/__tests__/command.test.ts b/packages/cli/src/commands/init/__tests__/command.test.ts index 749303777..1c629b6fe 100644 --- a/packages/cli/src/commands/init/__tests__/command.test.ts +++ b/packages/cli/src/commands/init/__tests__/command.test.ts @@ -1,12 +1,9 @@ import { describe, expect, it } from "vitest"; +import { existsSync } from "node:fs"; import fs from "node:fs/promises"; import path from "path"; import { defaultWrittenConfig } from "@changesets/config"; -import { - pathExists, - silenceLogsInBlock, - testdir, -} from "@changesets/test-utils"; +import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; import initializeCommand from "../index.ts"; @@ -21,11 +18,11 @@ describe("init", () => { const cwd = await testdir({}); const { readmePath, configPath } = getPaths(cwd); - expect(await pathExists(readmePath)).toBe(false); - expect(await pathExists(configPath)).toBe(false); + expect(existsSync(readmePath)).toBe(false); + expect(existsSync(configPath)).toBe(false); await initializeCommand(cwd); - expect(await pathExists(readmePath)).toBe(true); - expect(await pathExists(configPath)).toBe(true); + expect(existsSync(readmePath)).toBe(true); + expect(existsSync(configPath)).toBe(true); }); it("should write the default config if it doesn't exist", async () => { const cwd = await testdir({ diff --git a/packages/cli/src/commands/init/index.ts b/packages/cli/src/commands/init/index.ts index 8c617f398..a8da5e555 100644 --- a/packages/cli/src/commands/init/index.ts +++ b/packages/cli/src/commands/init/index.ts @@ -1,5 +1,6 @@ +import { existsSync } from "node:fs"; import fs from "node:fs/promises"; -import path from "path"; +import path from "node:path"; import pc from "picocolors"; import { defaultWrittenConfig } from "@changesets/config"; @@ -8,13 +9,6 @@ import { createRequire } from "node:module"; const require = createRequire(import.meta.url); -async function pathExists(p: string) { - return fs.access(p).then( - () => true, - () => false - ); -} - const pkgPath = path.dirname(require.resolve("@changesets/cli/package.json")); const defaultConfig = `${JSON.stringify(defaultWrittenConfig, null, 2)}\n`; @@ -22,9 +16,9 @@ const defaultConfig = `${JSON.stringify(defaultWrittenConfig, null, 2)}\n`; export default async function init(cwd: string) { const changesetBase = path.resolve(cwd, ".changeset"); - if (await pathExists(changesetBase)) { - if (!(await pathExists(path.join(changesetBase, "config.json")))) { - if (await pathExists(path.join(changesetBase, "config.js"))) { + if (existsSync(changesetBase)) { + if (!existsSync(path.join(changesetBase, "config.json"))) { + if (existsSync(path.join(changesetBase, "config.js"))) { error( "It looks like you're using the version 1 `.changeset/config.js` file" ); diff --git a/scripts/test-utils/src/index.ts b/scripts/test-utils/src/index.ts index 425736cc8..a75ee5212 100644 --- a/scripts/test-utils/src/index.ts +++ b/scripts/test-utils/src/index.ts @@ -153,14 +153,6 @@ export async function outputFile( await fsp.writeFile(filePath, content, encoding); } -// `fs.exists` is deprecated, and Node recommends this for asynchronous existence checks. -export async function pathExists(p: string) { - return fsp.access(p).then( - () => true, - () => false - ); -} - export async function linkNodeModules(cwd: string) { await fsp.symlink( path.join( From f6f3d0bfdb69a80648eee5734762bb59c5cdbbca Mon Sep 17 00:00:00 2001 From: CNOCTAVE Date: Thu, 30 Oct 2025 21:06:52 +0800 Subject: [PATCH 032/223] Tweaked a hint text printed when one confirms an empty set of packages to be released (#1739) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Feat of #1738 Feat of #1738 * Create 1738.md * Update .changeset/1738.md * Update .changeset/1738.md * fix lint * Update .changeset/1738.md --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/1738.md | 4 ++++ packages/cli/src/commands/add/createChangeset.ts | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/1738.md diff --git a/.changeset/1738.md b/.changeset/1738.md new file mode 100644 index 000000000..ad2f228c0 --- /dev/null +++ b/.changeset/1738.md @@ -0,0 +1,4 @@ +--- +"@changesets/cli": patch +--- +Tweaked a hint text printed when one confirms an empty set of packages to be released diff --git a/packages/cli/src/commands/add/createChangeset.ts b/packages/cli/src/commands/add/createChangeset.ts index 8eb5985d1..faeef8a0c 100644 --- a/packages/cli/src/commands/add/createChangeset.ts +++ b/packages/cli/src/commands/add/createChangeset.ts @@ -81,7 +81,9 @@ async function getPackagesToRelease( if (packagesToRelease.length === 0) { do { error("You must select at least one package to release"); - error("(You most likely hit enter instead of space!)"); + error( + "(Press space to mark/unmark one option. Press enter to confirm.)" + ); packagesToRelease = await askInitialReleaseQuestion(defaultChoiceList); } while (packagesToRelease.length === 0); From d189da19e042b4e2a177bd5a04776e2ec58cac2f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 14:14:24 +0100 Subject: [PATCH 033/223] Version Packages (next) (#1653) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 3 ++ packages/apply-release-plan/CHANGELOG.md | 15 +++++++++ packages/apply-release-plan/package.json | 14 ++++---- packages/assemble-release-plan/CHANGELOG.md | 14 ++++++++ packages/assemble-release-plan/package.json | 12 +++---- packages/changelog-git/CHANGELOG.md | 11 +++++++ packages/changelog-git/package.json | 4 +-- packages/changelog-github/CHANGELOG.md | 12 +++++++ packages/changelog-github/package.json | 8 ++--- packages/cli/CHANGELOG.md | 26 +++++++++++++++ packages/cli/package.json | 34 ++++++++++---------- packages/config/CHANGELOG.md | 16 +++++++++ packages/config/package.json | 12 +++---- packages/errors/CHANGELOG.md | 6 ++++ packages/errors/package.json | 2 +- packages/get-dependents-graph/CHANGELOG.md | 11 +++++++ packages/get-dependents-graph/package.json | 6 ++-- packages/get-github-info/CHANGELOG.md | 6 ++++ packages/get-github-info/package.json | 2 +- packages/get-release-plan/CHANGELOG.md | 15 +++++++++ packages/get-release-plan/package.json | 12 +++---- packages/get-version-range-type/CHANGELOG.md | 6 ++++ packages/get-version-range-type/package.json | 2 +- packages/git/CHANGELOG.md | 11 +++++++ packages/git/package.json | 8 ++--- packages/logger/CHANGELOG.md | 6 ++++ packages/logger/package.json | 2 +- packages/parse/CHANGELOG.md | 11 +++++++ packages/parse/package.json | 4 +-- packages/pre/CHANGELOG.md | 12 +++++++ packages/pre/package.json | 8 ++--- packages/read/CHANGELOG.md | 13 ++++++++ packages/read/package.json | 12 +++---- packages/release-utils/CHANGELOG.md | 13 ++++++++ packages/release-utils/package.json | 14 ++++---- packages/should-skip-package/CHANGELOG.md | 11 +++++++ packages/should-skip-package/package.json | 6 ++-- packages/types/CHANGELOG.md | 6 ++++ packages/types/package.json | 2 +- packages/write/CHANGELOG.md | 11 +++++++ packages/write/package.json | 8 ++--- scripts/test-utils/CHANGELOG.md | 7 ++++ scripts/test-utils/package.json | 4 +-- 43 files changed, 330 insertions(+), 88 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index f5e9d46f7..46bf7eeb1 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -29,10 +29,13 @@ "busy-points-guess", "chilly-insects-attack", "deep-coins-attend", + "free-results-love", "gentle-windows-enter", "happy-news-wave", "old-paths-bake", "petite-buttons-shake", + "plenty-forks-sip", + "rare-carrots-read", "red-emus-wave", "spotty-chairs-call", "thick-emus-refuse", diff --git a/packages/apply-release-plan/CHANGELOG.md b/packages/apply-release-plan/CHANGELOG.md index 884ec5072..4f6764aa3 100644 --- a/packages/apply-release-plan/CHANGELOG.md +++ b/packages/apply-release-plan/CHANGELOG.md @@ -1,5 +1,20 @@ # @changesets/apply-release-plan +## 8.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d), [`b83787f`](https://github.com/changesets/changesets/commit/b83787fb090dc03ad566a7d8b7e286dbe93e2301)]: + - @changesets/get-version-range-type@1.0.0-next.1 + - @changesets/should-skip-package@1.0.0-next.1 + - @changesets/config@4.0.0-next.1 + - @changesets/types@7.0.0-next.1 + - @changesets/git@4.0.0-next.1 + ## 8.0.0-next.0 ### Major Changes diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 1d55e64b6..1cc31e096 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/apply-release-plan", - "version": "8.0.0-next.0", + "version": "8.0.0-next.1", "description": "Takes a release plan and applies it to packages", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/apply-release-plan", "dependencies": { - "@changesets/config": "^4.0.0-next.0", - "@changesets/get-version-range-type": "^1.0.0-next.0", - "@changesets/git": "^4.0.0-next.0", - "@changesets/should-skip-package": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/config": "^4.0.0-next.1", + "@changesets/get-version-range-type": "^1.0.0-next.1", + "@changesets/git": "^4.0.0-next.1", + "@changesets/should-skip-package": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "import-meta-resolve": "^4.1.0", @@ -22,7 +22,7 @@ "semver": "^7.5.3" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0", + "@changesets/test-utils": "0.0.9-next.1", "outdent": "^0.8.0", "spawndamnit": "^3.0.1" }, diff --git a/packages/assemble-release-plan/CHANGELOG.md b/packages/assemble-release-plan/CHANGELOG.md index fb841042a..27b5cec94 100644 --- a/packages/assemble-release-plan/CHANGELOG.md +++ b/packages/assemble-release-plan/CHANGELOG.md @@ -1,5 +1,19 @@ # @changesets/assemble-release-plan +## 7.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/get-dependents-graph@3.0.0-next.1 + - @changesets/should-skip-package@1.0.0-next.1 + - @changesets/errors@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + ## 6.0.9 ### Patch Changes diff --git a/packages/assemble-release-plan/package.json b/packages/assemble-release-plan/package.json index 705af9276..7340686e6 100644 --- a/packages/assemble-release-plan/package.json +++ b/packages/assemble-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/assemble-release-plan", - "version": "7.0.0-next.0", + "version": "7.0.0-next.1", "description": "Reads changesets and adds information on dependents that need bumping", "type": "module", "exports": { @@ -10,15 +10,15 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/assemble-release-plan", "dependencies": { - "@changesets/errors": "^1.0.0-next.0", - "@changesets/get-dependents-graph": "^3.0.0-next.0", - "@changesets/should-skip-package": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/errors": "^1.0.0-next.1", + "@changesets/get-dependents-graph": "^3.0.0-next.1", + "@changesets/should-skip-package": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" }, "devDependencies": { - "@changesets/config": "4.0.0-next.0" + "@changesets/config": "4.0.0-next.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/changelog-git/CHANGELOG.md b/packages/changelog-git/CHANGELOG.md index 39be28fd3..d9e76ffc7 100644 --- a/packages/changelog-git/CHANGELOG.md +++ b/packages/changelog-git/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/changelog-git +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/changelog-git/package.json b/packages/changelog-git/package.json index b658636fc..475da3249 100644 --- a/packages/changelog-git/package.json +++ b/packages/changelog-git/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/changelog-git", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "A changelog entry generator for git that writes hashes", "type": "module", "exports": { @@ -10,7 +10,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-git", "dependencies": { - "@changesets/types": "^7.0.0-next.0" + "@changesets/types": "^7.0.0-next.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/changelog-github/CHANGELOG.md b/packages/changelog-github/CHANGELOG.md index bff03731e..3e4ff1b0d 100644 --- a/packages/changelog-github/CHANGELOG.md +++ b/packages/changelog-github/CHANGELOG.md @@ -1,5 +1,17 @@ # @changesets/changelog-github +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/get-github-info@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index 01d983d48..341b67999 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/changelog-github", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "A changelog entry generator for GitHub that links to commits, PRs and users", "type": "module", "exports": { @@ -10,12 +10,12 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-github", "dependencies": { - "@changesets/get-github-info": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/get-github-info": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "dotenv": "^16.4.7" }, "devDependencies": { - "@changesets/parse": "1.0.0-next.0", + "@changesets/parse": "1.0.0-next.1", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 925cc2a67..115ddbdf5 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,31 @@ # @changesets/cli +## 3.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +- [#1651](https://github.com/changesets/changesets/pull/1651) [`e1df862`](https://github.com/changesets/changesets/commit/e1df8625800a1b3c4f66474a0e3c01b08214465c) Thanks [@bluwy](https://github.com/bluwy)! - Remove support for the `--sinceMaster` flag for `changeset status`. Use `--since=master` or `--since=main` instead. + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d), [`b83787f`](https://github.com/changesets/changesets/commit/b83787fb090dc03ad566a7d8b7e286dbe93e2301)]: + - @changesets/assemble-release-plan@7.0.0-next.1 + - @changesets/get-dependents-graph@3.0.0-next.1 + - @changesets/should-skip-package@1.0.0-next.1 + - @changesets/apply-release-plan@8.0.0-next.1 + - @changesets/get-release-plan@5.0.0-next.1 + - @changesets/changelog-git@1.0.0-next.1 + - @changesets/config@4.0.0-next.1 + - @changesets/errors@1.0.0-next.1 + - @changesets/logger@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + - @changesets/write@1.0.0-next.1 + - @changesets/read@1.0.0-next.1 + - @changesets/git@4.0.0-next.1 + - @changesets/pre@3.0.0-next.1 + ## 2.29.6 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index b43612b74..e5437049b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/cli", - "version": "3.0.0-next.0", + "version": "3.0.0-next.1", "description": "Organise your package versioning and publishing to make both contributors and maintainers happy", "bin": { "changeset": "bin.js" @@ -42,20 +42,20 @@ }, "license": "MIT", "dependencies": { - "@changesets/apply-release-plan": "^8.0.0-next.0", - "@changesets/assemble-release-plan": "^7.0.0-next.0", - "@changesets/changelog-git": "^1.0.0-next.0", - "@changesets/config": "^4.0.0-next.0", - "@changesets/errors": "^1.0.0-next.0", - "@changesets/get-dependents-graph": "^3.0.0-next.0", - "@changesets/get-release-plan": "^5.0.0-next.0", - "@changesets/git": "^4.0.0-next.0", - "@changesets/logger": "^1.0.0-next.0", - "@changesets/pre": "^3.0.0-next.0", - "@changesets/read": "^1.0.0-next.0", - "@changesets/should-skip-package": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", - "@changesets/write": "^1.0.0-next.0", + "@changesets/apply-release-plan": "^8.0.0-next.1", + "@changesets/assemble-release-plan": "^7.0.0-next.1", + "@changesets/changelog-git": "^1.0.0-next.1", + "@changesets/config": "^4.0.0-next.1", + "@changesets/errors": "^1.0.0-next.1", + "@changesets/get-dependents-graph": "^3.0.0-next.1", + "@changesets/get-release-plan": "^5.0.0-next.1", + "@changesets/git": "^4.0.0-next.1", + "@changesets/logger": "^1.0.0-next.1", + "@changesets/pre": "^3.0.0-next.1", + "@changesets/read": "^1.0.0-next.1", + "@changesets/should-skip-package": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", + "@changesets/write": "^1.0.0-next.1", "@inquirer/external-editor": "^1.0.0", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", @@ -70,8 +70,8 @@ "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/parse": "1.0.0-next.0", - "@changesets/test-utils": "0.0.9-next.0", + "@changesets/parse": "1.0.0-next.1", + "@changesets/test-utils": "0.0.9-next.1", "@types/semver": "^7.5.0", "human-id": "^4.1.1", "outdent": "^0.8.0", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 8f32fd6c4..d0a1b1a33 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,21 @@ # @changesets/config +## 4.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +- [#1650](https://github.com/changesets/changesets/pull/1650) [`b83787f`](https://github.com/changesets/changesets/commit/b83787fb090dc03ad566a7d8b7e286dbe93e2301) Thanks [@bluwy](https://github.com/bluwy)! - Change the `defaultWrittenConfig` `baseBranch` value from `"master"` to `"main"` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/get-dependents-graph@3.0.0-next.1 + - @changesets/errors@1.0.0-next.1 + - @changesets/logger@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + ## 4.0.0-next.0 ### Major Changes diff --git a/packages/config/package.json b/packages/config/package.json index 1f1fc559a..b7f89b1d3 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/config", - "version": "4.0.0-next.0", + "version": "4.0.0-next.1", "description": "Utilities for reading and parsing Changeset's config", "type": "module", "exports": { @@ -14,15 +14,15 @@ "schema.json" ], "dependencies": { - "@changesets/errors": "^1.0.0-next.0", - "@changesets/get-dependents-graph": "^3.0.0-next.0", - "@changesets/logger": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/errors": "^1.0.0-next.1", + "@changesets/get-dependents-graph": "^3.0.0-next.1", + "@changesets/logger": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "micromatch": "^4.0.8" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0", + "@changesets/test-utils": "0.0.9-next.1", "@types/micromatch": "^4.0.1", "outdent": "^0.8.0", "vitest": "^3.2.4" diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index 1bb1537dd..95a07c370 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/errors +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/errors/package.json b/packages/errors/package.json index b80ca64a5..43a264614 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/errors", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Error classes for @changesets", "type": "module", "exports": { diff --git a/packages/get-dependents-graph/CHANGELOG.md b/packages/get-dependents-graph/CHANGELOG.md index f888f20fa..90b36dd04 100644 --- a/packages/get-dependents-graph/CHANGELOG.md +++ b/packages/get-dependents-graph/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/get-dependents-graph +## 3.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + ## 3.0.0-next.0 ### Major Changes diff --git a/packages/get-dependents-graph/package.json b/packages/get-dependents-graph/package.json index 81aa71713..031accafd 100644 --- a/packages/get-dependents-graph/package.json +++ b/packages/get-dependents-graph/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-dependents-graph", - "version": "3.0.0-next.0", + "version": "3.0.0-next.1", "description": "Get the graph of dependents in a monorepo", "type": "module", "exports": { @@ -10,13 +10,13 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-dependents-graph", "dependencies": { - "@changesets/types": "^7.0.0-next.0", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0", + "@changesets/test-utils": "0.0.9-next.1", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/get-github-info/CHANGELOG.md b/packages/get-github-info/CHANGELOG.md index de8e15a3b..cb18c9b73 100644 --- a/packages/get-github-info/CHANGELOG.md +++ b/packages/get-github-info/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/get-github-info +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index ae664693a..fa5e66859 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-github-info", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Get the GitHub username and PR number from a commit. Intended for use with changesets.", "type": "module", "exports": { diff --git a/packages/get-release-plan/CHANGELOG.md b/packages/get-release-plan/CHANGELOG.md index 0e9cb59b8..665758676 100644 --- a/packages/get-release-plan/CHANGELOG.md +++ b/packages/get-release-plan/CHANGELOG.md @@ -1,5 +1,20 @@ # @changesets/get-release-plan +## 5.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d), [`b83787f`](https://github.com/changesets/changesets/commit/b83787fb090dc03ad566a7d8b7e286dbe93e2301)]: + - @changesets/assemble-release-plan@7.0.0-next.1 + - @changesets/config@4.0.0-next.1 + - @changesets/types@7.0.0-next.1 + - @changesets/read@1.0.0-next.1 + - @changesets/pre@3.0.0-next.1 + ## 4.0.13 ### Patch Changes diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index ceda24e78..de009cf06 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-release-plan", - "version": "5.0.0-next.0", + "version": "5.0.0-next.1", "description": "Reads changesets and adds information on dependents that need bumping", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/get-release-plan", "dependencies": { - "@changesets/assemble-release-plan": "^7.0.0-next.0", - "@changesets/config": "^4.0.0-next.0", - "@changesets/pre": "^3.0.0-next.0", - "@changesets/read": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/assemble-release-plan": "^7.0.0-next.1", + "@changesets/config": "^4.0.0-next.1", + "@changesets/pre": "^3.0.0-next.1", + "@changesets/read": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3" }, "engines": { diff --git a/packages/get-version-range-type/CHANGELOG.md b/packages/get-version-range-type/CHANGELOG.md index bf3fe9ae6..ee1d5c311 100644 --- a/packages/get-version-range-type/CHANGELOG.md +++ b/packages/get-version-range-type/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/get-version-range-type +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/get-version-range-type/package.json b/packages/get-version-range-type/package.json index 850342825..a3f69bcb1 100644 --- a/packages/get-version-range-type/package.json +++ b/packages/get-version-range-type/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-version-range-type", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Common get-version-range-type shared between changeset packages", "type": "module", "exports": { diff --git a/packages/git/CHANGELOG.md b/packages/git/CHANGELOG.md index acdad23be..41b813d97 100644 --- a/packages/git/CHANGELOG.md +++ b/packages/git/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/git +## 4.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/errors@1.0.0-next.1 + ## 4.0.0-next.0 ### Major Changes diff --git a/packages/git/package.json b/packages/git/package.json index 671df2386..7808e617f 100644 --- a/packages/git/package.json +++ b/packages/git/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/git", - "version": "4.0.0-next.0", + "version": "4.0.0-next.1", "description": "Some git helpers that changesets use to get information", "type": "module", "exports": { @@ -10,14 +10,14 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/git", "dependencies": { - "@changesets/errors": "^1.0.0-next.0", + "@changesets/errors": "^1.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0", - "@changesets/write": "1.0.0-next.0" + "@changesets/test-utils": "0.0.9-next.1", + "@changesets/write": "1.0.0-next.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index b48e0dc5a..aee1285e3 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/logger +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/logger/package.json b/packages/logger/package.json index 303e5039b..b88cbc3f7 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/logger", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Console log alias", "type": "module", "exports": { diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index f0b5cb9f9..afe106441 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/parse +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/parse/package.json b/packages/parse/package.json index 7c2a61895..3d6244837 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/parse", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Parse a changeset file's contents into a usable json object", "type": "module", "exports": { @@ -10,7 +10,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/parse", "dependencies": { - "@changesets/types": "^7.0.0-next.0", + "@changesets/types": "^7.0.0-next.1", "js-yaml": "^3.13.1" }, "devDependencies": { diff --git a/packages/pre/CHANGELOG.md b/packages/pre/CHANGELOG.md index c5f643671..b75bd8614 100644 --- a/packages/pre/CHANGELOG.md +++ b/packages/pre/CHANGELOG.md @@ -1,5 +1,17 @@ # @changesets/pre +## 3.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/errors@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + ## 3.0.0-next.0 ### Major Changes diff --git a/packages/pre/package.json b/packages/pre/package.json index 9e58bf8e5..9f5f453f8 100644 --- a/packages/pre/package.json +++ b/packages/pre/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/pre", - "version": "3.0.0-next.0", + "version": "3.0.0-next.1", "description": "Utils to make a Changesets repo enter and exit pre mode", "type": "module", "exports": { @@ -10,12 +10,12 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/pre", "dependencies": { - "@changesets/errors": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/errors": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0" + "@changesets/test-utils": "0.0.9-next.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/read/CHANGELOG.md b/packages/read/CHANGELOG.md index 79d9c92d6..12d874c9f 100644 --- a/packages/read/CHANGELOG.md +++ b/packages/read/CHANGELOG.md @@ -1,5 +1,18 @@ # @changesets/read +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/parse@1.0.0-next.1 + - @changesets/types@7.0.0-next.1 + - @changesets/git@4.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/read/package.json b/packages/read/package.json index adc18c0f2..62e211920 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/read", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Read changesets from disc, and return the information as JSON", "type": "module", "exports": { @@ -10,14 +10,14 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/read", "dependencies": { - "@changesets/git": "^4.0.0-next.0", - "@changesets/parse": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/git": "^4.0.0-next.1", + "@changesets/parse": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "picocolors": "^1.1.0" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0", - "@changesets/write": "1.0.0-next.0", + "@changesets/test-utils": "0.0.9-next.1", + "@changesets/write": "1.0.0-next.1", "outdent": "^0.8.0" }, "engines": { diff --git a/packages/release-utils/CHANGELOG.md b/packages/release-utils/CHANGELOG.md index 731042657..b964ab54e 100644 --- a/packages/release-utils/CHANGELOG.md +++ b/packages/release-utils/CHANGELOG.md @@ -1,5 +1,18 @@ # @changesets/release-utils +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + - @changesets/read@1.0.0-next.1 + - @changesets/pre@3.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index fe6ecbc63..0a9302030 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -1,15 +1,15 @@ { "name": "@changesets/release-utils", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "type": "module", "exports": { ".": "./dist/changesets-release-utils.js", "./package.json": "./package.json" }, "dependencies": { - "@changesets/pre": "^3.0.0-next.0", - "@changesets/read": "^1.0.0-next.0", - "@changesets/types": "^7.0.0-next.0", + "@changesets/pre": "^3.0.0-next.1", + "@changesets/read": "^1.0.0-next.1", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3", "mdast-util-from-markdown": "^2.0.2", "mdast-util-to-markdown": "^2.1.2", @@ -19,9 +19,9 @@ "spawndamnit": "^3.0.1" }, "devDependencies": { - "@changesets/git": "4.0.0-next.0", - "@changesets/test-utils": "0.0.9-next.0", - "@changesets/write": "1.0.0-next.0", + "@changesets/git": "4.0.0-next.1", + "@changesets/test-utils": "0.0.9-next.1", + "@changesets/write": "1.0.0-next.1", "vitest": "^3.2.4" }, "engines": { diff --git a/packages/should-skip-package/CHANGELOG.md b/packages/should-skip-package/CHANGELOG.md index c327c0d70..b39fa1dde 100644 --- a/packages/should-skip-package/CHANGELOG.md +++ b/packages/should-skip-package/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/should-skip-package +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/should-skip-package/package.json b/packages/should-skip-package/package.json index 9ca7a31da..1f43f2d10 100644 --- a/packages/should-skip-package/package.json +++ b/packages/should-skip-package/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/should-skip-package", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Checks if a package should be skipped for versioning or tagging purposes", "type": "module", "exports": { @@ -10,11 +10,11 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/should-skip-package", "dependencies": { - "@changesets/types": "^7.0.0-next.0", + "@changesets/types": "^7.0.0-next.1", "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { - "@changesets/test-utils": "0.0.9-next.0" + "@changesets/test-utils": "0.0.9-next.1" }, "engines": { "node": ">=20.0.0" diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index e2cdb7768..010b3f0b3 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/types +## 7.0.0-next.1 + +### Major Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + ## 7.0.0-next.0 ### Major Changes diff --git a/packages/types/package.json b/packages/types/package.json index 1ea9f896b..c7f3b3f71 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/types", - "version": "7.0.0-next.0", + "version": "7.0.0-next.1", "description": "Common types shared between changeset packages", "type": "module", "exports": { diff --git a/packages/write/CHANGELOG.md b/packages/write/CHANGELOG.md index 2cf92f14b..7267c19f0 100644 --- a/packages/write/CHANGELOG.md +++ b/packages/write/CHANGELOG.md @@ -1,5 +1,16 @@ # @changesets/write +## 1.0.0-next.1 + +### Minor Changes + +- [#1656](https://github.com/changesets/changesets/pull/1656) [`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d) Thanks [@bluwy](https://github.com/bluwy)! - Bumps minimum node version to `>=20.0.0` + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/types@7.0.0-next.1 + ## 1.0.0-next.0 ### Major Changes diff --git a/packages/write/package.json b/packages/write/package.json index d34ce8e90..84849f01a 100644 --- a/packages/write/package.json +++ b/packages/write/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/write", - "version": "1.0.0-next.0", + "version": "1.0.0-next.1", "description": "Writes a changeset to a file", "type": "module", "exports": { @@ -10,13 +10,13 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/write", "dependencies": { - "@changesets/types": "^7.0.0-next.0", + "@changesets/types": "^7.0.0-next.1", "human-id": "^4.1.1", "prettier": "^2.7.1" }, "devDependencies": { - "@changesets/parse": "1.0.0-next.0", - "@changesets/test-utils": "0.0.9-next.0", + "@changesets/parse": "1.0.0-next.1", + "@changesets/test-utils": "0.0.9-next.1", "vitest": "^3.2.4" }, "engines": { diff --git a/scripts/test-utils/CHANGELOG.md b/scripts/test-utils/CHANGELOG.md index 1df612876..c82246635 100644 --- a/scripts/test-utils/CHANGELOG.md +++ b/scripts/test-utils/CHANGELOG.md @@ -1,5 +1,12 @@ # @changesets/test-utils +## 0.0.9-next.1 + +### Patch Changes + +- Updated dependencies [[`268a29f`](https://github.com/changesets/changesets/commit/268a29fedc948f22c672a3b1e3e51df4427f478d)]: + - @changesets/logger@1.0.0-next.1 + ## 0.0.9-next.0 ### Patch Changes diff --git a/scripts/test-utils/package.json b/scripts/test-utils/package.json index 0bc088002..264a483fa 100644 --- a/scripts/test-utils/package.json +++ b/scripts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/test-utils", - "version": "0.0.9-next.0", + "version": "0.0.9-next.1", "private": true, "type": "module", "description": "Utils for testing changesets packages", @@ -11,7 +11,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/test-utils", "dependencies": { - "@changesets/logger": "^1.0.0-next.0", + "@changesets/logger": "^1.0.0-next.1", "fixturez": "^1.1.0", "spawndamnit": "^3.0.1", "vitest": "^3.2.4" From 47dcb93210906b09c22c77eacbf81e53a14d94a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 30 Oct 2025 14:22:16 +0100 Subject: [PATCH 034/223] Fix `package.json#repository` field in `release-utils` (#1752) --- packages/release-utils/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 0a9302030..9e45da1e2 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -2,6 +2,7 @@ "name": "@changesets/release-utils", "version": "1.0.0-next.1", "type": "module", + "repository": "https://github.com/changesets/changesets/tree/main/packages/release-utils", "exports": { ".": "./dist/changesets-release-utils.js", "./package.json": "./package.json" From aa68d54faa17f825345ef3732d20e4a74423e5fd Mon Sep 17 00:00:00 2001 From: with-heart Date: Sun, 16 Nov 2025 21:05:00 -0500 Subject: [PATCH 035/223] Remove codesandbox file (#1437) --- .changeset/{1738.md => purple-chefs-film.md} | 1 + .codesandbox/ci.json | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) rename .changeset/{1738.md => purple-chefs-film.md} (99%) delete mode 100644 .codesandbox/ci.json diff --git a/.changeset/1738.md b/.changeset/purple-chefs-film.md similarity index 99% rename from .changeset/1738.md rename to .changeset/purple-chefs-film.md index ad2f228c0..3d542d45e 100644 --- a/.changeset/1738.md +++ b/.changeset/purple-chefs-film.md @@ -1,4 +1,5 @@ --- "@changesets/cli": patch --- + Tweaked a hint text printed when one confirms an empty set of packages to be released diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json deleted file mode 100644 index 0b9cc8935..000000000 --- a/.codesandbox/ci.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "packages": ["packages/*"], - "node": "14" -} From 40f803bf13a805cb9be663862e0e71fab12b009d Mon Sep 17 00:00:00 2001 From: Marco Pasqualetti <24919330+marcalexiei@users.noreply.github.com> Date: Mon, 17 Nov 2025 03:09:06 +0100 Subject: [PATCH 036/223] ci: account also `skipped` and `cancelled` job statuses in `ci-ok` job (#1765) --- .github/workflows/ci.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 341b0ea89..d95930e1e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,14 +61,7 @@ jobs: runs-on: ubuntu-latest if: always() needs: [test, typecheck, lint] - env: - FAILURE: ${{ contains(join(needs.*.result, ','), 'failure') }} steps: - - name: Check for failure - run: | - echo $FAILURE - if [ "$FAILURE" = "false" ]; then - exit 0 - else - exit 1 - fi + - name: Exit with error if some jobs are not successful + run: exit 1 + if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')) }} From a34c9bd6d5dbffd806b199ec1d8d01b6a0501087 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 10:17:52 +0800 Subject: [PATCH 037/223] Bump @inquirer/external-editor from 1.0.1 to 1.0.2 (#1755) --- packages/cli/package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index b1d619d0c..a52de0617 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -80,7 +80,7 @@ "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@changesets/write": "^0.4.0", - "@inquirer/external-editor": "^1.0.0", + "@inquirer/external-editor": "^1.0.2", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", diff --git a/yarn.lock b/yarn.lock index 54574f5ff..67d4c96cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -963,13 +963,13 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@inquirer/external-editor@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@inquirer/external-editor/-/external-editor-1.0.1.tgz#ab0a82c5719a963fb469021cde5cd2b74fea30f8" - integrity sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q== +"@inquirer/external-editor@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@inquirer/external-editor/-/external-editor-1.0.2.tgz#dc16e7064c46c53be09918db639ff780718c071a" + integrity sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ== dependencies: chardet "^2.1.0" - iconv-lite "^0.6.3" + iconv-lite "^0.7.0" "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -3488,10 +3488,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== +iconv-lite@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.0.tgz#c50cd80e6746ca8115eb98743afa81aa0e147a3e" + integrity sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" From b6cf72aebc4f90842c2eeaff1d8e20cfa776c54b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 10:21:19 +0800 Subject: [PATCH 038/223] Bump @babel/preset-env from 7.26.9 to 7.28.5 (#1754) --- package.json | 2 +- yarn.lock | 1262 ++++++++++++++++++++++++++++++-------------------- 2 files changed, 766 insertions(+), 498 deletions(-) diff --git a/package.json b/package.json index 0f6d37a25..8233a8863 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "dependencies": { "@babel/cli": "^7.27.0", "@babel/core": "^7.26.10", - "@babel/preset-env": "^7.26.9", + "@babel/preset-env": "^7.28.5", "@babel/preset-typescript": "^7.27.0", "@manypkg/cli": "^0.22.0", "@preconstruct/cli": "^2.8.12", diff --git a/yarn.lock b/yarn.lock index 67d4c96cc..0d3dfaf93 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,10 +35,19 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" - integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== +"@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f" + integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.26.10", "@babel/core@^7.7.7": version "7.26.10" @@ -72,6 +81,17 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" +"@babel/generator@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" + integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== + dependencies: + "@babel/parser" "^7.28.5" + "@babel/types" "^7.28.5" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" @@ -79,18 +99,25 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz#de0c753b1cd1d9ab55d473c5a5cf7170f0a81880" - integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== +"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" + integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-validator-option" "^7.25.9" + "@babel/types" "^7.27.3" + +"@babel/helper-compilation-targets@^7.26.5", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.25.9", "@babel/helper-create-class-features-plugin@^7.27.0": +"@babel/helper-create-class-features-plugin@^7.27.0": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz#518fad6a307c6a96f44af14912b2c20abe9bfc30" integrity sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg== @@ -103,7 +130,20 @@ "@babel/traverse" "^7.27.0" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": +"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz#472d0c28028850968979ad89f173594a6995da46" + integrity sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-member-expression-to-functions" "^7.28.5" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.28.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.0.tgz#0e41f7d38c2ebe06ebd9cf0e02fb26019c77cd95" integrity sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ== @@ -112,16 +152,30 @@ regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.3": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" - integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== +"@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz#7c1ddd64b2065c7f78034b25b43346a7e19ed997" + integrity sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw== dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" + "@babel/helper-annotate-as-pure" "^7.27.3" + regexpu-core "^6.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.5": + version "0.6.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753" + integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg== + dependencies: + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + debug "^4.4.1" lodash.debounce "^4.0.8" - resolve "^1.14.2" + resolve "^1.22.10" + +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== "@babel/helper-member-expression-to-functions@^7.25.9": version "7.25.9" @@ -131,6 +185,14 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" +"@babel/helper-member-expression-to-functions@^7.27.1", "@babel/helper-member-expression-to-functions@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz#f3e07a10be37ed7a63461c63e6929575945a6150" + integrity sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg== + dependencies: + "@babel/traverse" "^7.28.5" + "@babel/types" "^7.28.5" + "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" @@ -139,7 +201,15 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.26.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== @@ -148,6 +218,15 @@ "@babel/helper-validator-identifier" "^7.25.9" "@babel/traverse" "^7.25.9" +"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" + integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.28.3" + "@babel/helper-optimise-call-expression@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" @@ -155,21 +234,28 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35" - integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== + dependencies: + "@babel/types" "^7.27.1" -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-replace-supers@^7.25.9", "@babel/helper-replace-supers@^7.26.5": +"@babel/helper-replace-supers@^7.26.5": version "7.26.5" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz#6cb04e82ae291dae8e72335dfe438b0725f14c8d" integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== @@ -178,6 +264,15 @@ "@babel/helper-optimise-call-expression" "^7.25.9" "@babel/traverse" "^7.26.5" +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" @@ -186,29 +281,47 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + "@babel/helper-string-parser@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + "@babel/helper-validator-identifier@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== +"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" + integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== +"@babel/helper-validator-option@^7.25.9", "@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helper-wrap-function@^7.27.1": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz#fe4872092bc1438ffd0ce579e6f699609f9d0a7a" + integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g== dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.28.3" + "@babel/types" "^7.28.2" "@babel/helpers@^7.26.10": version "7.27.0" @@ -225,44 +338,51 @@ dependencies: "@babel/types" "^7.27.0" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== +"@babel/parser@^7.27.2", "@babel/parser@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" + integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/types" "^7.28.5" -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz#fbde57974707bbfa0376d34d425ff4fa6c732421" + integrity sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.5" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz#373f6e2de0016f73caf8f27004f61d167743742a" + integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.3" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" @@ -290,19 +410,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-import-assertions@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" - integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-import-attributes@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== +"@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -389,361 +509,371 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-async-generator-functions@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" - integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== +"@babel/plugin-transform-async-generator-functions@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2" + integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.26.8" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.28.0" -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== +"@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" - integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz#acc2c0d98a7439bbde4244588ddbd4904701d47f" - integrity sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ== +"@babel/plugin-transform-block-scoping@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz#e0d3af63bd8c80de2e567e690a54e84d85eb16f6" + integrity sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== +"@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-static-block@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" - integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== +"@babel/plugin-transform-class-static-block@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852" + integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.28.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== +"@babel/plugin-transform-classes@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz#75d66175486788c56728a73424d67cbc7473495c" + integrity sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" - globals "^11.1.0" + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-globals" "^7.28.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.28.4" -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== +"@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== +"@babel/plugin-transform-destructuring@^7.28.0", "@babel/plugin-transform-destructuring@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz#b8402764df96179a2070bb7b501a1586cf8ad7a7" + integrity sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.5" -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-exponentiation-operator@^7.26.3": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" - integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== +"@babel/plugin-transform-explicit-resource-management@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a" + integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.0" -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== +"@babel/plugin-transform-exponentiation-operator@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz#7cc90a8170e83532676cfa505278e147056e94fe" + integrity sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" - integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== +"@babel/plugin-transform-logical-assignment-operators@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz#d028fd6db8c081dee4abebc812c2325e24a85b0e" + integrity sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.26.3", "@babel/plugin-transform-modules-commonjs@^7.7.5": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" - integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== +"@babel/plugin-transform-modules-commonjs@^7.26.3", "@babel/plugin-transform-modules-commonjs@^7.27.1", "@babel/plugin-transform-modules-commonjs@^7.7.5": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== +"@babel/plugin-transform-modules-systemjs@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz#7439e592a92d7670dfcb95d0cbc04bd3e64801d2" + integrity sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.28.3" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": - version "7.26.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" - integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== +"@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== +"@babel/plugin-transform-object-rest-spread@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz#9ee1ceca80b3e6c4bac9247b2149e36958f7f98d" + integrity sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.0" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/traverse" "^7.28.4" -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== +"@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== +"@babel/plugin-transform-optional-chaining@^7.27.1", "@babel/plugin-transform-optional-chaining@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz#8238c785f9d5c1c515a90bf196efb50d075a4b26" + integrity sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== +"@babel/plugin-transform-parameters@^7.27.7": + version "7.27.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a" + integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== +"@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== +"@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz#822feebef43d6a59a81f696b2512df5b1682db31" - integrity sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA== +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - regenerator-transform "^0.15.2" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== +"@babel/plugin-transform-regenerator@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz#9d3fa3bebb48ddd0091ce5729139cd99c67cea51" + integrity sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== +"@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" - integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typeof-symbol@^7.26.7": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz#044a0890f3ca694207c7826d0c7a65e5ac008aae" - integrity sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w== +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-typescript@^7.27.0": version "7.27.0" @@ -756,110 +886,111 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-syntax-typescript" "^7.25.9" -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/preset-env@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" - integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== - dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/preset-env@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.5.tgz#82dd159d1563f219a1ce94324b3071eb89e280b0" + integrity sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg== + dependencies: + "@babel/compat-data" "^7.28.5" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" + "@babel/plugin-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.26.8" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.26.5" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.26.3" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.26.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.26.8" - "@babel/plugin-transform-typeof-symbol" "^7.26.7" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.28.0" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.28.5" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.28.3" + "@babel/plugin-transform-classes" "^7.28.4" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.28.5" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-explicit-resource-management" "^7.28.0" + "@babel/plugin-transform-exponentiation-operator" "^7.28.5" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.28.5" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.28.5" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.28.4" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.28.5" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.28.4" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.11.0" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.40.0" + babel-plugin-polyfill-corejs2 "^0.4.14" + babel-plugin-polyfill-corejs3 "^0.13.0" + babel-plugin-polyfill-regenerator "^0.6.5" + core-js-compat "^3.43.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -882,14 +1013,14 @@ "@babel/plugin-transform-modules-commonjs" "^7.26.3" "@babel/plugin-transform-typescript" "^7.27.0" -"@babel/runtime@^7.5.5", "@babel/runtime@^7.7.7", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.5.5", "@babel/runtime@^7.7.7": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": +"@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4" integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== @@ -898,7 +1029,16 @@ "@babel/parser" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.27.0", "@babel/traverse@^7.7.2": +"@babel/template@^7.27.1", "@babel/template@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.27.0", "@babel/traverse@^7.7.2": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70" integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== @@ -911,6 +1051,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4", "@babel/traverse@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" + integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.5" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.5" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.5" + debug "^4.3.1" + "@babel/types@^7.0.0", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" @@ -919,6 +1072,14 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" +"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" + integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1179,6 +1340,14 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" +"@jridgewell/gen-mapping@^0.3.12": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" @@ -1218,6 +1387,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" @@ -1226,6 +1400,14 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jridgewell/trace-mapping@^0.3.28": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@manypkg/cli@^0.22.0": version "0.22.0" resolved "https://registry.yarnpkg.com/@manypkg/cli/-/cli-0.22.0.tgz#e4fc1f4632c7171cbc454b3e0a22e54ab35d90d2" @@ -2032,29 +2214,29 @@ babel-plugin-jest-hoist@^29.2.0: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.12" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" - integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== +babel-plugin-polyfill-corejs2@^0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f" + integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg== dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/compat-data" "^7.27.7" + "@babel/helper-define-polyfill-provider" "^0.6.5" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" - integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== +babel-plugin-polyfill-corejs3@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" + integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - core-js-compat "^3.40.0" + "@babel/helper-define-polyfill-provider" "^0.6.5" + core-js-compat "^3.43.0" -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" - integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== +babel-plugin-polyfill-regenerator@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5" + integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/helper-define-polyfill-provider" "^0.6.5" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2092,6 +2274,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +baseline-browser-mapping@^2.8.19: + version "2.8.23" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.23.tgz#cd43e17eff5cbfb67c92153e7fe856cf6d426421" + integrity sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ== + better-path-resolve@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" @@ -2136,15 +2323,16 @@ browserslist@^4.24.0: node-releases "^2.0.19" update-browserslist-db "^1.1.1" -browserslist@^4.24.4: - version "4.24.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== +browserslist@^4.26.3: + version "4.27.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.27.0.tgz#755654744feae978fbb123718b2f139bc0fa6697" + integrity sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw== dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" + baseline-browser-mapping "^2.8.19" + caniuse-lite "^1.0.30001751" + electron-to-chromium "^1.5.238" + node-releases "^2.0.26" + update-browserslist-db "^1.1.4" bser@^2.0.0: version "2.1.1" @@ -2224,6 +2412,11 @@ caniuse-lite@^1.0.30001688: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz#67ca960dd5f443903e19949aeacc9d28f6e10910" integrity sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g== +caniuse-lite@^1.0.30001751: + version "1.0.30001753" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001753.tgz#419f8fc9bab6f1a1d10d9574d0b3374f823c5b00" + integrity sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw== + ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" @@ -2400,12 +2593,12 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.40.0: - version "3.41.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17" - integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== +core-js-compat@^3.43.0: + version "3.46.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.46.0.tgz#0c87126a19a1af00371e12b02a2b088a40f3c6f7" + integrity sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law== dependencies: - browserslist "^4.24.4" + browserslist "^4.26.3" cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5: version "7.0.6" @@ -2472,6 +2665,13 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "^2.1.3" +debug@^4.4.1: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -2574,6 +2774,11 @@ dunder-proto@^1.0.0: es-errors "^1.3.0" gopd "^1.2.0" +electron-to-chromium@^1.5.238: + version "1.5.244" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.244.tgz#b9b61e3d24ef4203489951468614f2a360763820" + integrity sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw== + electron-to-chromium@^1.5.73: version "1.5.74" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz#cb886b504a6467e4c00bea3317edb38393c53413" @@ -3671,6 +3876,13 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.15.1, is-core- dependencies: hasown "^2.0.2" +is-core-module@^2.16.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-data-view@^1.0.1, is-data-view@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" @@ -4407,6 +4619,11 @@ jsesc@^3.0.2, jsesc@~3.0.2: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== +jsesc@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -4727,6 +4944,11 @@ node-releases@^2.0.19: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== +node-releases@^2.0.26: + version "2.0.27" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" + integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -5020,6 +5242,11 @@ picocolors@^1.1.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -5169,6 +5396,13 @@ regenerate-unicode-properties@^10.2.0: dependencies: regenerate "^1.4.2" +regenerate-unicode-properties@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz#aa113812ba899b630658c7623466be71e1f86f66" + integrity sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g== + dependencies: + regenerate "^1.4.2" + regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" @@ -5179,13 +5413,6 @@ regenerator-runtime@^0.14.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - regexp.prototype.flags@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" @@ -5218,6 +5445,18 @@ regexpu-core@^6.2.0: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" +regexpu-core@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.4.0.tgz#3580ce0c4faedef599eccb146612436b62a176e5" + integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.2" + regjsgen "^0.8.0" + regjsparser "^0.13.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.2.1" + registry-auth-token@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" @@ -5244,6 +5483,13 @@ regjsparser@^0.12.0: dependencies: jsesc "~3.0.2" +regjsparser@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.0.tgz#01f8351335cf7898d43686bc74d2dd71c847ecc0" + integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q== + dependencies: + jsesc "~3.1.0" + remark-parse@^7.0.1: version "7.0.2" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf" @@ -5322,15 +5568,6 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@^1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" @@ -5347,6 +5584,24 @@ resolve@^1.19.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.20.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.22.10: + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== + dependencies: + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^1.22.4: version "1.22.9" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.9.tgz#6da76e4cdc57181fa4471231400e8851d0a924f3" @@ -5970,6 +6225,11 @@ unicode-match-property-value-ecmascript@^2.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== +unicode-match-property-value-ecmascript@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz#65a7adfad8574c219890e219285ce4c64ed67eaa" + integrity sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg== + unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" @@ -6044,6 +6304,14 @@ update-browserslist-db@^1.1.1: escalade "^3.2.0" picocolors "^1.1.0" +update-browserslist-db@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz#7802aa2ae91477f255b86e0e46dbc787a206ad4a" + integrity sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" From 13dace895017fa351014bc9e13b544d33f8b4bbe Mon Sep 17 00:00:00 2001 From: Matthias Prost Date: Mon, 17 Nov 2025 02:52:28 +0000 Subject: [PATCH 039/223] Fix log error link not to include dot at the end (#1232) --- .changeset/wise-turkeys-behave.md | 5 +++++ packages/config/src/index.test.ts | 24 ++++++++++++------------ packages/config/src/index.ts | 10 +++++----- 3 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 .changeset/wise-turkeys-behave.md diff --git a/.changeset/wise-turkeys-behave.md b/.changeset/wise-turkeys-behave.md new file mode 100644 index 000000000..84534ce1e --- /dev/null +++ b/.changeset/wise-turkeys-behave.md @@ -0,0 +1,5 @@ +--- +"@changesets/config": patch +--- + +Fixed log error link mismatch to remove dot at the end diff --git a/packages/config/src/index.test.ts b/packages/config/src/index.test.ts index e857a3799..f5045447a 100644 --- a/packages/config/src/index.test.ts +++ b/packages/config/src/index.test.ts @@ -524,7 +524,7 @@ describe("parser errors", () => { parse({ fixed: [["not-existing"]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "not-existing" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "not-existing" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("package that does not exist (using glob expressions)", () => { @@ -532,7 +532,7 @@ describe("parser errors", () => { parse({ fixed: [["pkg-a", "foo/*"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "foo/*" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "foo/*" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("package in two fixed groups", () => { @@ -540,7 +540,7 @@ describe("parser errors", () => { parse({ fixed: [["pkg-a"], ["pkg-a"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch" `); }); test("package in two fixed groups (using glob expressions)", () => { @@ -551,8 +551,8 @@ describe("parser errors", () => { ); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch. - The package "pkg-b" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-a" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch + The package "pkg-b" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch" `); }); }); @@ -593,7 +593,7 @@ describe("parser errors", () => { parse({ linked: [["not-existing"]] }, defaultPackages); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "not-existing" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "not-existing" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("package that does not exist (using glob expressions)", () => { @@ -601,7 +601,7 @@ describe("parser errors", () => { parse({ linked: [["pkg-a", "foo/*"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "foo/*" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "foo/*" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("package in two linked groups", () => { @@ -609,7 +609,7 @@ describe("parser errors", () => { parse({ linked: [["pkg-a"], ["pkg-a"]] }, withPackages(["pkg-a"])); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch" `); }); test("package in two linked groups (using glob expressions)", () => { @@ -620,8 +620,8 @@ describe("parser errors", () => { ); }).toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch. - The package "pkg-b" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch." + The package "pkg-a" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch + The package "pkg-b" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch" `); }); }); @@ -661,14 +661,14 @@ describe("parser errors", () => { expect(() => unsafeParse({ ignore: ["pkg-a"] }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "pkg-a" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "pkg-a" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("ignore package that does not exist (using glob expressions)", () => { expect(() => unsafeParse({ ignore: ["pkg-*"] }, defaultPackages)) .toThrowErrorMatchingInlineSnapshot(` "Some errors occurred when validating the changesets config: - The package or glob expression "pkg-*" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch." + The package or glob expression "pkg-*" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch" `); }); test("ignore missing dependent packages", async () => { diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index 4f4a33295..ccef68dde 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -203,7 +203,7 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { messages.push( ...getUnmatchedPatterns(fixedGroup, pkgNames).map( (pkgOrGlob) => - `The package or glob expression "${pkgOrGlob}" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.` + `The package or glob expression "${pkgOrGlob}" specified in the \`fixed\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch` ) ); @@ -221,7 +221,7 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { if (duplicatedPkgNames.size) { duplicatedPkgNames.forEach((pkgName) => { messages.push( - `The package "${pkgName}" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.` + `The package "${pkgName}" is defined in multiple sets of fixed packages. Packages can only be defined in a single set of fixed packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch` ); }); } @@ -246,7 +246,7 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { messages.push( ...getUnmatchedPatterns(linkedGroup, pkgNames).map( (pkgOrGlob) => - `The package or glob expression "${pkgOrGlob}" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.` + `The package or glob expression "${pkgOrGlob}" specified in the \`linked\` option does not match any package in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch` ) ); @@ -264,7 +264,7 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { if (duplicatedPkgNames.size) { duplicatedPkgNames.forEach((pkgName) => { messages.push( - `The package "${pkgName}" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch.` + `The package "${pkgName}" is defined in multiple sets of linked packages. Packages can only be defined in a single set of linked packages. If you are using glob expressions, make sure that they are valid according to https://www.npmjs.com/package/micromatch` ); }); } @@ -312,7 +312,7 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { messages.push( ...getUnmatchedPatterns(json.ignore, pkgNames).map( (pkgOrGlob) => - `The package or glob expression "${pkgOrGlob}" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch.` + `The package or glob expression "${pkgOrGlob}" is specified in the \`ignore\` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch` ) ); From a8f8b4853d571a292c4eca6410697091c75f91e6 Mon Sep 17 00:00:00 2001 From: Kunal Nagar <2741371+kunalnagar@users.noreply.github.com> Date: Sun, 16 Nov 2025 22:05:09 -0500 Subject: [PATCH 040/223] fix(cli): typo in `changeset pre enter` when tag is not passed (#1344) --- packages/cli/src/run.test.ts | 27 +++++++++++++++++++++++++++ packages/cli/src/run.ts | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/run.test.ts b/packages/cli/src/run.test.ts index ad8cc86c6..a2ad5cb5f 100644 --- a/packages/cli/src/run.test.ts +++ b/packages/cli/src/run.test.ts @@ -224,4 +224,31 @@ describe("cli", () => { `); }); }); + + describe("pre", () => { + it("should throw an error if tag not passed in", async () => { + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + }), + ".changeset/config.json": JSON.stringify({}), + }); + try { + await run(["pre", "enter"], {}, cwd); + } catch (e) { + // ignore the error. We just want to validate the error message + } + + const loggerErrorCalls = (error as any).mock.calls; + expect(loggerErrorCalls.length).toEqual(1); + expect(loggerErrorCalls[0][0]).toEqual( + `A tag must be passed when using prerelease enter` + ); + }); + }); }); diff --git a/packages/cli/src/run.ts b/packages/cli/src/run.ts index 3034cd30a..52f6a7328 100644 --- a/packages/cli/src/run.ts +++ b/packages/cli/src/run.ts @@ -212,7 +212,7 @@ export async function run( } let tag = input[2]; if (command === "enter" && typeof tag !== "string") { - error(`A tag must be passed when using prerelese enter`); + error(`A tag must be passed when using prerelease enter`); throw new ExitError(1); } // @ts-ignore From 59e6a06d4df358c5b2e86a6d1e9c9d5f8d0a0c6c Mon Sep 17 00:00:00 2001 From: Cefn Hoile Date: Mon, 17 Nov 2025 03:10:15 +0000 Subject: [PATCH 041/223] Update adding-a-changeset.md (#1407) --- docs/adding-a-changeset.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/adding-a-changeset.md b/docs/adding-a-changeset.md index 97307cee0..fed4c0a5a 100644 --- a/docs/adding-a-changeset.md +++ b/docs/adding-a-changeset.md @@ -12,7 +12,7 @@ A changeset is a piece of information about changes made in a branch or commit. ## I am in a multi-package repository (a mono-repo) -1. Run the command line script `yarn changeset` or `npx @changesets/cli`. +1. Run the command line script `yarn changeset` or `pnpm changeset` or `npx @changesets/cli`. 2. Select the packages you want to include in the changeset using ↑ and ↓ to navigate to packages, and space to select a package. Hit enter when all desired packages are selected. 3. You will be prompted to select a bump type for each selected package. Select an appropriate bump type for the changes made. See [here](https://semver.org/) for information on semver versioning 4. Your final prompt will be to provide a message to go alongside the changeset. This will be written into the changelog when the next release occurs. @@ -36,7 +36,7 @@ While not every changeset is going to need a huge amount of detail, a good idea ## I am in a single-package repository -1. Run the command line script `yarn changeset` or `npx @changesets/cli`. +1. Run the command line script `yarn changeset` or `pnpm changeset` or `npx @changesets/cli`. 2. Select an appropriate bump type for the changes made. See [here](https://semver.org/) for information on semver versioning. 3. Your final prompt will be to provide a message to go alongside the changeset. This will be written into the changelog when the next release occurs. From 8acf5cafd3dae397c4b75c8b87d0a21ed95c941a Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Mon, 17 Nov 2025 12:41:20 +0900 Subject: [PATCH 042/223] fix: Throw descriptive error if a package is not found (#1474) Co-authored-by: Bjorn Lu --- .changeset/pink-animals-heal.md | 5 ++ .../src/flatten-releases.ts | 19 ++++--- .../assemble-release-plan/src/index.test.ts | 52 +++++++++---------- packages/assemble-release-plan/src/index.ts | 22 ++++---- packages/assemble-release-plan/src/utils.ts | 16 +++++- 5 files changed, 62 insertions(+), 52 deletions(-) create mode 100644 .changeset/pink-animals-heal.md diff --git a/.changeset/pink-animals-heal.md b/.changeset/pink-animals-heal.md new file mode 100644 index 000000000..423719f09 --- /dev/null +++ b/.changeset/pink-animals-heal.md @@ -0,0 +1,5 @@ +--- +"@changesets/assemble-release-plan": patch +--- + +fix: Throw a descriptive error if there is an issue with a package name in a changeset diff --git a/packages/assemble-release-plan/src/flatten-releases.ts b/packages/assemble-release-plan/src/flatten-releases.ts index b24af22e4..98ce84721 100644 --- a/packages/assemble-release-plan/src/flatten-releases.ts +++ b/packages/assemble-release-plan/src/flatten-releases.ts @@ -5,6 +5,7 @@ import { shouldSkipPackage } from "@changesets/should-skip-package"; import { Config, NewChangeset } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import { InternalRelease } from "./types"; +import { getPackageIfExists } from "./utils"; export default function flattenReleases( changesets: NewChangeset[], @@ -19,19 +20,17 @@ export default function flattenReleases( // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` .filter( ({ name }) => - !shouldSkipPackage(packagesByName.get(name)!, { - ignore: config.ignore, - allowPrivatePackages: config.privatePackages.version, - }) + !shouldSkipPackage( + getPackageIfExists(packagesByName, name, changeset), + { + ignore: config.ignore, + allowPrivatePackages: config.privatePackages.version, + } + ) ) .forEach(({ name, type }) => { let release = releases.get(name); - let pkg = packagesByName.get(name); - if (!pkg) { - throw new Error( - `"${changeset.id}" changeset mentions a release for a package "${name}" but such a package could not be found.` - ); - } + const pkg = getPackageIfExists(packagesByName, name, changeset); if (!release) { release = { name, diff --git a/packages/assemble-release-plan/src/index.test.ts b/packages/assemble-release-plan/src/index.test.ts index 6ef1f9578..4dad2d9c9 100644 --- a/packages/assemble-release-plan/src/index.test.ts +++ b/packages/assemble-release-plan/src/index.test.ts @@ -535,11 +535,29 @@ describe("assemble-release-plan", () => { undefined ) ).toThrowErrorMatchingInlineSnapshot(` -"Found mixed changeset big-cats-delight -Found ignored packages: pkg-b -Found not ignored packages: pkg-a -Mixed changesets that contain both ignored and not ignored packages are not allowed" -`); + "Found mixed changeset big-cats-delight + Found ignored packages: pkg-b + Found not ignored packages: pkg-a + Mixed changesets that contain both ignored and not ignored packages are not allowed" + `); + }); + + it("should throw for packages not present in the project", () => { + setup.addChangeset({ + id: "big-cats-delight", + releases: [{ name: "impossible-package", type: "major" }], + }); + + expect(() => + assembleReleasePlan( + setup.changesets, + setup.packages, + defaultConfig, + undefined + ) + ).toThrowErrorMatchingInlineSnapshot( + `""big-cats-delight" changeset mentions a release for a package "impossible-package" but such a package could not be found."` + ); }); it("should not bump a dev dependent nor its dependent when a package gets bumped", () => { @@ -560,28 +578,6 @@ Mixed changesets that contain both ignored and not ignored packages are not allo expect(releases[1].newVersion).toEqual("1.0.0"); }); - it("should throw an error when a changeset contains a package that is not in the workspace", () => { - setup.addChangeset({ - id: "big-cats-delight", - releases: [{ name: "pkg-a", type: "major" }], - }); - setup.addChangeset({ - id: "small-dogs-sad", - releases: [{ name: "pkg-z", type: "minor" }], - }); - - expect(() => - assembleReleasePlan( - setup.changesets, - setup.packages, - defaultConfig, - undefined - ) - ).toThrow( - "Found changeset small-dogs-sad for package pkg-z which is not in the workspace" - ); - }); - describe("fixed packages", () => { it("should assemble release plan for fixed packages", () => { setup.addChangeset({ @@ -634,7 +630,7 @@ Mixed changesets that contain both ignored and not ignored packages are not allo // Expected events: // - dependencies are checked, nothing leaves semver, nothing changes // - fixed are checked, pkg-a is aligned with pkg-b - // - depencencies are checked, in pkg-c the dependency range for pkg-a is not satisfied, so a patch bump is given to it + // - dependencies are checked, in pkg-c the dependency range for pkg-a is not satisfied, so a patch bump is given to it // - fixed are checked, pkg-c is aligned with pkg-d setup.addChangeset({ id: "just-some-umbrellas", diff --git a/packages/assemble-release-plan/src/index.ts b/packages/assemble-release-plan/src/index.ts index c8038f0b2..3b44e9dcd 100644 --- a/packages/assemble-release-plan/src/index.ts +++ b/packages/assemble-release-plan/src/index.ts @@ -16,6 +16,7 @@ import flattenReleases from "./flatten-releases"; import { incrementVersion } from "./increment"; import matchFixedConstraint from "./match-fixed-constraint"; import { InternalRelease, PreInfo } from "./types"; +import { getPackageIfExists } from "./utils"; type SnapshotReleaseParameters = { tag?: string | undefined; @@ -126,7 +127,7 @@ function assembleReleasePlan( config: OptionalProp, // intentionally not using an optional parameter here so the result of `readPreState` has to be passed in here preState: PreState | undefined, - // snapshot: undefined -> not using snaphot + // snapshot: undefined -> not using snapshot // snapshot: { tag: undefined } -> --snapshot (empty tag) // snapshot: { tag: "canary" } -> --snapshot canary snapshot?: SnapshotReleaseParameters | string | boolean @@ -276,19 +277,14 @@ function getRelevantChangesets( const skippedPackages = []; const notSkippedPackages = []; for (const release of changeset.releases) { - const packageByName = packagesByName.get(release.name); - - if (!packageByName) { - throw new Error( - `Found changeset ${changeset.id} for package ${release.name} which is not in the workspace` - ); - } - if ( - shouldSkipPackage(packageByName, { - ignore: config.ignore, - allowPrivatePackages: config.privatePackages.version, - }) + shouldSkipPackage( + getPackageIfExists(packagesByName, release.name, changeset), + { + ignore: config.ignore, + allowPrivatePackages: config.privatePackages.version, + } + ) ) { skippedPackages.push(release.name); } else { diff --git a/packages/assemble-release-plan/src/utils.ts b/packages/assemble-release-plan/src/utils.ts index 8784f8606..f0375e3ce 100644 --- a/packages/assemble-release-plan/src/utils.ts +++ b/packages/assemble-release-plan/src/utils.ts @@ -1,4 +1,4 @@ -import { PackageGroup, VersionType } from "@changesets/types"; +import { NewChangeset, PackageGroup, VersionType } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import semverGt from "semver/functions/gt"; import { InternalRelease } from "./types"; @@ -58,3 +58,17 @@ export function getCurrentHighestVersion( return highestVersion!; } + +export function getPackageIfExists( + packagesByName: Map, + packageName: string, + changeset: Pick +): Package { + const pkg = packagesByName.get(packageName); + if (pkg) { + return pkg; + } + throw new Error( + `"${changeset.id}" changeset mentions a release for a package "${packageName}" but such a package could not be found.` + ); +} From 8a8bfe487ef7326ca6f7e0cd83b162df7f2b3617 Mon Sep 17 00:00:00 2001 From: situ2001 Date: Mon, 17 Nov 2025 17:49:42 +0800 Subject: [PATCH 043/223] Add default value of `bumpVersionsWithWorkspaceProtocolOnly` option to md doc (#1564) --- docs/config-file-options.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/config-file-options.md b/docs/config-file-options.md index 1d8d79150..18492d9c7 100644 --- a/docs/config-file-options.md +++ b/docs/config-file-options.md @@ -158,7 +158,9 @@ You would specify our github changelog generator with: For more details on these functions and information on how to write your own see [changelog-functions](./modifying-changelog-format.md) -## `bumpVersionsWithWorkspaceProtocolOnly` (boolean) +## `bumpVersionsWithWorkspaceProtocolOnly` (optional boolean) + +Default value: `false` Determines whether Changesets should only bump dependency ranges that use workspace protocol of packages that are part of the workspace. From b8a5e626bb98edfe2abf214379413dd0e300647b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 17:54:25 +0800 Subject: [PATCH 044/223] Bump jest-junit from 15.0.0 to 16.0.0 (#1550) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8233a8863..e42bc2585 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "eslint-plugin-promise": "^6.1.1", "eslint-plugin-standard": "^5.0.0", "jest": "^29.3.1", - "jest-junit": "^15.0.0", + "jest-junit": "^16.0.0", "jest-watch-typeahead": "^2.2.2", "prettier": "^2.7.1", "typescript": "^5.8.3" diff --git a/yarn.lock b/yarn.lock index 0d3dfaf93..3de5c046a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4334,10 +4334,10 @@ jest-in-case@^1.0.2: resolved "https://registry.yarnpkg.com/jest-in-case/-/jest-in-case-1.0.2.tgz#56744b5af33222bd0abab70cf919f1d170ab75cc" integrity sha1-VnRLWvMyIr0KurcM+Rnx0XCrdcw= -jest-junit@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-15.0.0.tgz#a47544ab42e9f8fe7ada56306c218e09e52bd690" - integrity sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg== +jest-junit@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-16.0.0.tgz#d838e8c561cf9fdd7eb54f63020777eee4136785" + integrity sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ== dependencies: mkdirp "^1.0.4" strip-ansi "^6.0.1" From 60512b5dd6da1b5509606dcb0a3a38a21c4367a3 Mon Sep 17 00:00:00 2001 From: Coby Sher <63015754+CobyPear@users.noreply.github.com> Date: Mon, 17 Nov 2025 04:02:38 -0600 Subject: [PATCH 045/223] Specify `default` branch in prereleases.md (#1245) --- docs/prereleases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/prereleases.md b/docs/prereleases.md index 4c5e716e4..1831c3ad4 100644 --- a/docs/prereleases.md +++ b/docs/prereleases.md @@ -2,7 +2,7 @@ > Warning! Prereleases are very complicated! Using them requires a thorough understanding of all parts of npm publishes. Mistakes can lead to repository and publish states that are very hard to fix. -> Warning: If you decide to do prereleases from the main branch of your repository, without having a branch for your last stable release without the prerelease changes, you will block other changes until you are ready to exit prerelease mode. We thoroughly recommend only running prereleases from a branch other than the main branch. +> Warning: If you decide to do prereleases from the default branch of your repository, without having a branch for your last stable release without the prerelease changes, you will block other changes until you are ready to exit prerelease mode. We thoroughly recommend only running prereleases from a branch other than the default branch. You might want to release a version of your packages before you do an actual release, Changesets lets you do this but there are some caveats because of the complexity that monorepos add that are important to understand. From 6601c8e414ac95b4da92cc0a184befae756b6513 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 01:45:33 +0800 Subject: [PATCH 046/223] Build(deps): Bump @manypkg/cli from 0.22.0 to 0.25.1 (#1768) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: bluwy --- package.json | 4 +- yarn.lock | 162 +++++++++++++++++++++++++-------------------------- 2 files changed, 83 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index e42bc2585..b396c2569 100644 --- a/package.json +++ b/package.json @@ -33,12 +33,12 @@ "Mateusz BurzyƄski (https://github.com/Andarist)" ], "license": "MIT", - "dependencies": { + "devDependencies": { "@babel/cli": "^7.27.0", "@babel/core": "^7.26.10", "@babel/preset-env": "^7.28.5", "@babel/preset-typescript": "^7.27.0", - "@manypkg/cli": "^0.22.0", + "@manypkg/cli": "^0.25.1", "@preconstruct/cli": "^2.8.12", "@types/fs-extra": "^5.1.0", "@types/jest": "^24.0.12", diff --git a/yarn.lock b/yarn.lock index 3de5c046a..a6aedf4c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1408,22 +1408,22 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@manypkg/cli@^0.22.0": - version "0.22.0" - resolved "https://registry.yarnpkg.com/@manypkg/cli/-/cli-0.22.0.tgz#e4fc1f4632c7171cbc454b3e0a22e54ab35d90d2" - integrity sha512-HwONx0Pr9ucehlrMvFMSuztLiKfwPYkjRDc0ymL5RiGYBk1slX8k3RWy+F01f1T+JLbImthSGMwY04Ojt20nTA== +"@manypkg/cli@^0.25.1": + version "0.25.1" + resolved "https://registry.yarnpkg.com/@manypkg/cli/-/cli-0.25.1.tgz#fdafb679ee26697589cd2e19e0d9387c4dbe59da" + integrity sha512-lag906FyiNxzZjsRErkUD5/to174I2JzPk5bZubuJp6loMKKJn73zrtqeU7nHlVkHBg3tgXDTJj22HxUDxLRXw== dependencies: - "@manypkg/get-packages" "^2.2.1" - detect-indent "^6.0.0" + "@manypkg/get-packages" "^3.1.0" + detect-indent "^7.0.1" normalize-path "^3.0.0" - p-limit "^2.2.1" + p-limit "^6.2.0" package-json "^10.0.1" - parse-github-url "^1.0.2" - picocolors "^1.1.0" + parse-github-url "^1.0.3" + picocolors "^1.1.1" sembear "^0.7.0" - semver "^7.6.3" - tinyexec "^0.3.1" - validate-npm-package-name "^5.0.1" + semver "^7.7.1" + tinyexec "^1.0.1" + validate-npm-package-name "^6.0.0" "@manypkg/find-root@^1.1.0": version "1.1.0" @@ -1435,12 +1435,12 @@ find-up "^4.1.0" fs-extra "^8.1.0" -"@manypkg/find-root@^2.2.2": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@manypkg/find-root/-/find-root-2.2.3.tgz#3e9be5dff4a008c228649a34e2af65288ff13c26" - integrity sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ== +"@manypkg/find-root@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@manypkg/find-root/-/find-root-3.1.0.tgz#dde5798a08fb2d0e05ee8ba3b745134532cc7b74" + integrity sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA== dependencies: - "@manypkg/tools" "^1.1.2" + "@manypkg/tools" "^2.1.0" "@manypkg/get-packages@^1.1.3": version "1.1.3" @@ -1454,22 +1454,22 @@ globby "^11.0.0" read-yaml-file "^1.1.0" -"@manypkg/get-packages@^2.2.1": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-2.2.2.tgz#6eb16fc1ccf8c903aff5cde4e535c7574e965b0d" - integrity sha512-3+Zd8kLZmsyJFmWTBtY0MAuCErI7yKB2cjMBlujvSVKZ2R/BMXi0kjCXu2dtRlSq/ML86t1FkumT0yreQ3n8OQ== +"@manypkg/get-packages@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-3.1.0.tgz#c97510b6386cab9c4a59e4a7fc2757753ef18865" + integrity sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg== dependencies: - "@manypkg/find-root" "^2.2.2" - "@manypkg/tools" "^1.1.1" + "@manypkg/find-root" "^3.1.0" + "@manypkg/tools" "^2.1.0" -"@manypkg/tools@^1.1.1", "@manypkg/tools@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@manypkg/tools/-/tools-1.1.2.tgz#15d0abb66aa04cee83e7fe75839d56ddfdd5196f" - integrity sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ== +"@manypkg/tools@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@manypkg/tools/-/tools-2.1.0.tgz#e5a67b2ddb7cc34d304a0e5d23e8633008eebf20" + integrity sha512-0FOIepYR4ugPYaHwK7hDeHDkfPOBVvayt9QpvRbi2LT/h2b0GaE/gM9Gag7fsnyYyNaTZ2IGyOuVg07IYepvYQ== dependencies: - fast-glob "^3.3.2" jju "^1.4.0" js-yaml "^4.1.0" + tinyglobby "^0.2.13" "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": version "2.1.8-no-fsevents.3" @@ -2722,6 +2722,11 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +detect-indent@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.2.tgz#16c516bf75d4b2f759f68214554996d467c8d648" + integrity sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -3236,17 +3241,6 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -3276,6 +3270,11 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -5076,27 +5075,20 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" - integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== - dependencies: - p-try "^2.0.0" - -p-limit@^3.1.0: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" +p-limit@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-6.2.0.tgz#c254d22ba6aeef441a3564c5e6c2f2da59268a0f" + integrity sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA== + dependencies: + yocto-queue "^1.1.1" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -5155,10 +5147,10 @@ parse-entities@^1.0.2, parse-entities@^1.1.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-github-url@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" - integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== +parse-github-url@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.3.tgz#2ab55642c8685b63fbe2a196f5abe4ae9bd68abc" + integrity sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww== parse-glob@^3.0.4: version "3.0.4" @@ -5232,17 +5224,7 @@ pathval@^1.1.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== - -picocolors@^1.1.1: +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -5262,6 +5244,11 @@ picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -5682,10 +5669,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.6.0, semver@^7.6.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== +semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.6.0, semver@^7.7.1: + version "7.7.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" + integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== set-function-length@^1.2.2: version "1.2.2" @@ -6053,10 +6040,18 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -tinyexec@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" - integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== +tinyexec@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.2.tgz#bdd2737fe2ba40bd6f918ae26642f264b99ca251" + integrity sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== + +tinyglobby@^0.2.13: + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" tmpl@1.0.5: version "1.0.5" @@ -6338,10 +6333,10 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" -validate-npm-package-name@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" - integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== +validate-npm-package-name@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz#4e8d2c4d939975a73dd1b7a65e8f08d44c85df96" + integrity sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ== vfile-location@^2.0.0: version "2.0.6" @@ -6513,6 +6508,11 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.1.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.2.tgz#3e09c95d3f1aa89a58c114c99223edf639152c00" + integrity sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ== + zod@^3.21.4: version "3.21.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" From f5394c42b83648ee53dbdbd44e6b5963f79d66b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 17:47:21 +0000 Subject: [PATCH 047/223] Build(deps): Bump @types/node from 22.14.1 to 24.10.1 (#1769) --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index b396c2569..614708c77 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@types/jest-in-case": "^1.0.6", "@types/js-yaml": "^3.12.1", "@types/lodash": "^4.17.13", - "@types/node": "^22.14.1", + "@types/node": "^24.10.1", "@types/prettier": "^2.7.1", "@types/semver": "^7.5.0", "@typescript-eslint/eslint-plugin": "^5.43.0", diff --git a/yarn.lock b/yarn.lock index a6aedf4c5..9a042aee8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1804,12 +1804,12 @@ dependencies: "@types/braces" "*" -"@types/node@*", "@types/node@^22.14.1": - version "22.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f" - integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== +"@types/node@*", "@types/node@^24.10.1": + version "24.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" + integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== dependencies: - undici-types "~6.21.0" + undici-types "~7.16.0" "@types/node@^12.7.1": version "12.20.55" @@ -6189,10 +6189,10 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== unherit@^1.0.4: version "1.1.3" From e520bf5d4dbfe96f59ca28008e87bffaf3c9dfea Mon Sep 17 00:00:00 2001 From: bencergazda Date: Mon, 17 Nov 2025 19:17:59 +0100 Subject: [PATCH 048/223] fix: Prerelease mode - add pre.json to version commit (#610) Co-authored-by: Bjorn Lu --- .changeset/wild-flies-suffer.md | 5 ++ packages/apply-release-plan/src/index.test.ts | 55 +++++++++++++++++++ packages/apply-release-plan/src/index.ts | 1 + 3 files changed, 61 insertions(+) create mode 100644 .changeset/wild-flies-suffer.md diff --git a/.changeset/wild-flies-suffer.md b/.changeset/wild-flies-suffer.md new file mode 100644 index 000000000..bd3cb50d7 --- /dev/null +++ b/.changeset/wild-flies-suffer.md @@ -0,0 +1,5 @@ +--- +"@changesets/apply-release-plan": patch +--- + +Add `pre.json` to the version commit diff --git a/packages/apply-release-plan/src/index.test.ts b/packages/apply-release-plan/src/index.test.ts index 8103e5d1f..c2e0c5fe0 100644 --- a/packages/apply-release-plan/src/index.test.ts +++ b/packages/apply-release-plan/src/index.test.ts @@ -3,6 +3,7 @@ import { Config, NewChangeset, ComprehensiveRelease, + PreState, } from "@changesets/types"; import * as git from "@changesets/git"; import fs from "fs-extra"; @@ -3297,5 +3298,59 @@ describe("apply release plan", () => { expect(releasePlan.changesets.length).toBeGreaterThan(0); expect(changesetsDeleted).toBe(true); }); + + it("should include pre.json in pre-release", async () => { + const releasePlan = new FakeReleasePlan(); + const preState: PreState = { + mode: "pre", + tag: "beta", + initialVersions: { + "pkg-a": "1.0.0", + "pkg-b": "1.0.0", + }, + changesets: [], + }; + + let { tempDir } = await testSetup( + { + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "1.0.0", + }, + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + ".changeset/pre.json": JSON.stringify(preState), + }, + { + ...releasePlan.getReleasePlan(), + preState, + }, + { + ...releasePlan.config, + commit: [ + path.resolve(__dirname, "test-utils/simple-get-commit-entry"), + null, + ], + } + ); + + let gitCmd = await spawn("git", ["status"], { cwd: tempDir }); + + expect(gitCmd.stdout.toString()).toContain( + "modified: .changeset/pre.json" + ); + expect(gitCmd.stdout.toString()).toContain( + "modified: packages/pkg-a/package.json" + ); + }); }); }); diff --git a/packages/apply-release-plan/src/index.ts b/packages/apply-release-plan/src/index.ts index 0c4bf33e3..393f5a735 100644 --- a/packages/apply-release-plan/src/index.ts +++ b/packages/apply-release-plan/src/index.ts @@ -111,6 +111,7 @@ export default async function applyReleasePlan( JSON.stringify(releasePlan.preState, null, 2) + "\n" ); } + touchedFiles.push(path.join(cwd, ".changeset", "pre.json")); } let versionsToUpdate = releases.map(({ name, newVersion, type }) => ({ From 097afd931c0dd39ddf574ad085ee36b67ff52b86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 10:57:16 +0800 Subject: [PATCH 049/223] Build(deps): Bump @babel/core from 7.26.10 to 7.28.5 (#1771) --- package.json | 2 +- yarn.lock | 166 ++++++++++++--------------------------------------- 2 files changed, 40 insertions(+), 128 deletions(-) diff --git a/package.json b/package.json index 614708c77..1aad7211d 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "license": "MIT", "devDependencies": { "@babel/cli": "^7.27.0", - "@babel/core": "^7.26.10", + "@babel/core": "^7.28.5", "@babel/preset-env": "^7.28.5", "@babel/preset-typescript": "^7.27.0", "@manypkg/cli": "^0.25.1", diff --git a/yarn.lock b/yarn.lock index 9a042aee8..86e986316 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,14 +2,6 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - "@babel/cli@^7.27.0": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.27.0.tgz#076603b25fc7dd88298ea94ab249c8237c7e71cc" @@ -26,16 +18,7 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.6.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.5.5": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/code-frame@^7.27.1": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.5.5": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== @@ -49,39 +32,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f" integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.26.10", "@babel/core@^7.7.7": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9" - integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/traverse" "^7.26.10" - "@babel/types" "^7.26.10" +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.28.5", "@babel/core@^7.7.7": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" + integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.5" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.28.3" + "@babel/helpers" "^7.28.4" + "@babel/parser" "^7.28.5" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.28.5" + "@babel/types" "^7.28.5" + "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.26.10", "@babel/generator@^7.27.0", "@babel/generator@^7.7.2": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c" - integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== - dependencies: - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/generator@^7.28.5": +"@babel/generator@^7.28.5", "@babel/generator@^7.7.2": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== @@ -106,7 +78,7 @@ dependencies: "@babel/types" "^7.27.3" -"@babel/helper-compilation-targets@^7.26.5", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": +"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== @@ -193,7 +165,7 @@ "@babel/traverse" "^7.28.5" "@babel/types" "^7.28.5" -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.25.9": +"@babel/helper-module-imports@^7.10.4": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== @@ -209,15 +181,6 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3": version "7.28.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" @@ -289,21 +252,11 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - "@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - "@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" @@ -323,22 +276,15 @@ "@babel/traverse" "^7.28.3" "@babel/types" "^7.28.2" -"@babel/helpers@^7.26.10": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.0.tgz#53d156098defa8243eab0f32fa17589075a1b808" - integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg== - dependencies: - "@babel/template" "^7.27.0" - "@babel/types" "^7.27.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec" - integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== +"@babel/helpers@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" + integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== dependencies: - "@babel/types" "^7.27.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.4" -"@babel/parser@^7.27.2", "@babel/parser@^7.28.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== @@ -1020,16 +966,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4" - integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" - -"@babel/template@^7.27.1", "@babel/template@^7.27.2": +"@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== @@ -1038,20 +975,7 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.27.0", "@babel/traverse@^7.7.2": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70" - integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.27.0" - "@babel/parser" "^7.27.0" - "@babel/template" "^7.27.0" - "@babel/types" "^7.27.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4", "@babel/traverse@^7.28.5": +"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.27.0", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4", "@babel/traverse@^7.28.5", "@babel/traverse@^7.7.2": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== @@ -1064,15 +988,7 @@ "@babel/types" "^7.28.5" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" - integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.5": +"@babel/types@^7.0.0", "@babel/types@^7.25.9", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== @@ -1357,6 +1273,14 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" @@ -2658,14 +2582,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -debug@^4.4.1: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.1: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -3532,11 +3449,6 @@ glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globals@^13.15.0: version "13.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc" @@ -5224,7 +5136,7 @@ pathval@^1.1.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= -picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== From 4c5a2078e45d1d269ecc65c3c24b898ed6451245 Mon Sep 17 00:00:00 2001 From: Marco Pasqualetti <24919330+marcalexiei@users.noreply.github.com> Date: Wed, 19 Nov 2025 11:19:49 +0100 Subject: [PATCH 050/223] Update `js-yaml` to `v4` (#1772) --- .changeset/tall-parks-worry.md | 5 +++++ package.json | 1 - packages/parse/package.json | 3 ++- packages/parse/src/index.test.ts | 31 +++++++++++++++++++++++++++++++ packages/parse/src/index.ts | 6 ++++-- yarn.lock | 15 +++++++++++---- 6 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 .changeset/tall-parks-worry.md diff --git a/.changeset/tall-parks-worry.md b/.changeset/tall-parks-worry.md new file mode 100644 index 000000000..a55559b2d --- /dev/null +++ b/.changeset/tall-parks-worry.md @@ -0,0 +1,5 @@ +--- +"@changesets/parse": patch +--- + +Update `js-yaml` to `v4` diff --git a/package.json b/package.json index 1aad7211d..ae76356d6 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ "@types/fs-extra": "^5.1.0", "@types/jest": "^24.0.12", "@types/jest-in-case": "^1.0.6", - "@types/js-yaml": "^3.12.1", "@types/lodash": "^4.17.13", "@types/node": "^24.10.1", "@types/prettier": "^2.7.1", diff --git a/packages/parse/package.json b/packages/parse/package.json index d65fe10b9..a3f68262b 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -20,9 +20,10 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/parse", "dependencies": { "@changesets/types": "^6.1.0", - "js-yaml": "^3.13.1" + "js-yaml": "^4.1.1" }, "devDependencies": { + "@types/js-yaml": "^4.0.9", "outdent": "^0.5.0" } } diff --git a/packages/parse/src/index.test.ts b/packages/parse/src/index.test.ts index 5f141f0d8..07577cf42 100644 --- a/packages/parse/src/index.test.ts +++ b/packages/parse/src/index.test.ts @@ -213,6 +213,20 @@ describe("parsing a changeset", () => { summary: "Nice simple summary", }); }); + + it("should handle package name unquoted and version quoted", () => { + const changesetMd = `--- + pkg: "minor" + --- + + something`; + const changeset = parse(changesetMd); + expect(changeset).toEqual({ + releases: [{ name: "pkg", type: "minor" }], + summary: "something", + }); + }); + it("should throw if the frontmatter is followed by non-whitespace characters on the same line", () => { const changesetMd = outdent`--- "cool-package": minor @@ -229,4 +243,21 @@ describe("parsing a changeset", () => { Nice simple summary" `); }); + + it("should throw when frontmatter hasn't a valid yml structure", () => { + const changesetMd = outdent`--- + : minor + --- + + Nice simple summary + `; + + expect(() => parse(changesetMd)).toThrowErrorMatchingInlineSnapshot(` + "could not parse changeset - invalid frontmatter: --- + : minor + --- + + Nice simple summary" + `); + }); }); diff --git a/packages/parse/src/index.ts b/packages/parse/src/index.ts index 04431e648..2de84e7da 100644 --- a/packages/parse/src/index.ts +++ b/packages/parse/src/index.ts @@ -18,8 +18,10 @@ export default function parseChangesetFile(contents: string): { let releases: Release[]; try { - const yamlStuff: { [key: string]: VersionType } = - yaml.safeLoad(roughReleases); + const yamlStuff = yaml.load(roughReleases) as + | Record + | undefined; + if (yamlStuff) { releases = Object.entries(yamlStuff).map(([name, type]) => ({ name, diff --git a/yarn.lock b/yarn.lock index 86e986316..70504305c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1701,10 +1701,10 @@ dependencies: "@types/jest-diff" "*" -"@types/js-yaml@^3.12.1": - version "3.12.1" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" - integrity sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA== +"@types/js-yaml@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2" + integrity sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg== "@types/json-schema@^7.0.9": version "7.0.11" @@ -4525,6 +4525,13 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +js-yaml@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== + dependencies: + argparse "^2.0.1" + jsesc@^3.0.2, jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" From cc28222ee892b3a078fa02ee26e1cef98c171532 Mon Sep 17 00:00:00 2001 From: Joe Reed Date: Mon, 24 Nov 2025 11:36:36 +0000 Subject: [PATCH 051/223] Use `bumpVersionsWithWorkspaceProtocolOnly` properly when parsing config (#1535) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Passes bumpVersionsWithWorkspaceProtocolOnly from config to getDependentsGraph * Adds test to ensure `bumpVersionsWithWorkspaceProtocolOnly` is passed to `getDependentsGraph` * fix tests * Update .changeset/itchy-comics-nail.md --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/itchy-comics-nail.md | 5 ++ packages/config/src/index.test.ts | 52 +++++++++++- packages/config/src/index.ts | 5 +- .../src/get-dependency-graph.test.ts | 79 +++++++++++++++++++ 4 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 .changeset/itchy-comics-nail.md diff --git a/.changeset/itchy-comics-nail.md b/.changeset/itchy-comics-nail.md new file mode 100644 index 000000000..22bf3f66f --- /dev/null +++ b/.changeset/itchy-comics-nail.md @@ -0,0 +1,5 @@ +--- +"@changesets/config": patch +--- + +Respect config value for `bumpVersionsWithWorkspaceProtocolOnly` when validating `ignore` option to prevent spurious console errors. diff --git a/packages/config/src/index.test.ts b/packages/config/src/index.test.ts index f5045447a..a85c35c27 100644 --- a/packages/config/src/index.test.ts +++ b/packages/config/src/index.test.ts @@ -3,11 +3,21 @@ import jestInCase from "jest-in-case"; import * as logger from "@changesets/logger"; import { Config, WrittenConfig } from "@changesets/types"; import { Packages, getPackages } from "@manypkg/get-packages"; -import { testdir } from "@changesets/test-utils"; +import { temporarilySilenceLogs, testdir } from "@changesets/test-utils"; import outdent from "outdent"; jest.mock("@changesets/logger"); +const consoleError = console.error; + +beforeEach(() => { + console.error = jest.fn(); +}); + +afterEach(() => { + console.error = consoleError; +}); + type CorrectCase = { packages?: string[]; input: WrittenConfig; @@ -138,6 +148,46 @@ it("should not fail when validating ignored packages when some package depends o expect(() => read(cwd, packages)).not.toThrow(); }); +it( + "should not print spurious errors when validing ignored packages when some packages don't use workspace protocol when configured with `bumpVersionsWithWorkspaceProtocolOnly: true`", + temporarilySilenceLogs(async () => { + const cwd = await testdir({ + ".changeset/config.json": JSON.stringify({ + bumpVersionsWithWorkspaceProtocolOnly: true, + ignore: ["pkg-c"], + }), + "package.json": JSON.stringify({ + name: "root", + version: "1.0.0", + }), + "pnpm-workspace.yaml": outdent` + packages: + - packages/* + `, + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + dependencies: { + "pkg-b": "^0.9.0", + }, + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + "packages/pkg-c/package.json": JSON.stringify({ + name: "pkg-c", + version: "1.0.0", + }), + }); + + const packages = await getPackages(cwd); + + await read(cwd, packages); + expect(console.error).not.toBeCalled(); + }) +); + let defaults: Config = { fixed: [], linked: [], diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index ccef68dde..9d0eb5abb 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -317,7 +317,10 @@ export let parse = (json: WrittenConfig, packages: Packages): Config => { ); // Validate that all dependents of ignored packages are listed in the ignore list - const dependentsGraph = getDependentsGraph(packages); + const dependentsGraph = getDependentsGraph(packages, { + bumpVersionsWithWorkspaceProtocolOnly: + json.bumpVersionsWithWorkspaceProtocolOnly, + }); for (const ignoredPackage of json.ignore) { const dependents = dependentsGraph.get(ignoredPackage) || []; for (const dependent of dependents) { diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index f5df1b077..24e040e3c 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -115,4 +115,83 @@ describe("getting the dependency graph", function () { `); }) ); + + it( + "should error on dependencies not specified using workspace protocol when bumpVersionsWithWorkspaceProtocolOnly is false", + temporarilySilenceLogs(() => { + const { valid } = getDependencyGraph({ + root: { + dir: ".", + packageJson: { name: "root", version: "1.0.0" }, + }, + packages: [ + { + dir: "foo", + packageJson: { + name: "foo", + version: "1.0.0", + dependencies: { + bar: "0.9.0", + }, + }, + }, + { + dir: "bar", + packageJson: { + name: "bar", + version: "1.0.0", + }, + }, + ], + tool: "pnpm", + }); + expect(valid).toBe(false); + expect((console.error as any).mock.calls).toMatchInlineSnapshot(` + [ + [ + "Package "foo" must depend on the current version of "bar": "1.0.0" vs "0.9.0"", + ], + ] + `); + }) + ); + + it( + "should skip dependencies not specified using workspace protocol when bumpVersionsWithWorkspaceProtocolOnly is true", + temporarilySilenceLogs(() => { + const { valid } = getDependencyGraph( + { + root: { + dir: ".", + packageJson: { name: "root", version: "1.0.0" }, + }, + packages: [ + { + dir: "foo", + packageJson: { + name: "foo", + version: "1.0.0", + dependencies: { + bar: "0.9.0", + }, + }, + }, + { + dir: "bar", + packageJson: { + name: "bar", + version: "1.0.0", + }, + }, + ], + tool: "pnpm", + }, + { + bumpVersionsWithWorkspaceProtocolOnly: true, + } + ); + expect(valid).toBe(true); + expect((console.error as any).mock.calls).toMatchInlineSnapshot(`[]`); + }) + ); }); From 3fdcb182269d32cb4df72fa01b6ff582b5d9fa57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:09:16 +0800 Subject: [PATCH 052/223] Build(deps-dev): Bump @types/semver from 7.5.0 to 7.7.1 (#1785) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- packages/cli/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ae76356d6..22ce3eae9 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@types/lodash": "^4.17.13", "@types/node": "^24.10.1", "@types/prettier": "^2.7.1", - "@types/semver": "^7.5.0", + "@types/semver": "^7.7.1", "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.62.0", "eslint": "^8.28.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index a52de0617..7a7787db0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -98,7 +98,7 @@ "devDependencies": { "@changesets/parse": "*", "@changesets/test-utils": "*", - "@types/semver": "^7.5.0", + "@types/semver": "^7.7.1", "human-id": "^4.1.1", "outdent": "^0.5.0", "strip-ansi": "^5.2.0" diff --git a/yarn.lock b/yarn.lock index 70504305c..99d576b42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1752,10 +1752,10 @@ dependencies: "@types/node" "*" -"@types/semver@^7.3.12", "@types/semver@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" - integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== +"@types/semver@^7.3.12", "@types/semver@^7.7.1": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.1.tgz#3ce3af1a5524ef327d2da9e4fd8b6d95c8d70528" + integrity sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA== "@types/stack-utils@^2.0.0": version "2.0.1" From 398b3fe1cbce3c8a02f4d6a568f6cb724acffa5a Mon Sep 17 00:00:00 2001 From: Bill Collins Date: Wed, 26 Nov 2025 11:33:03 +0000 Subject: [PATCH 053/223] Support GitHub URL environment variables (#1783) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Support GitHub URL environment variables * Also update missing token message * Tests * Add info on envvars to readme * Only URL env vars will be set in GH Actions * tweaks * add test * Create six-lemons-yell.md * Update packages/get-github-info/README.md * Update packages/get-github-info/README.md * Move GHES to its own readme section --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/six-lemons-yell.md | 5 + .changeset/tender-coins-make.md | 12 +++ packages/changelog-github/src/index.ts | 11 ++- packages/get-github-info/README.md | 12 +++ packages/get-github-info/src/index.test.ts | 107 ++++++++++++++++++++- packages/get-github-info/src/index.ts | 20 +++- 6 files changed, 159 insertions(+), 8 deletions(-) create mode 100644 .changeset/six-lemons-yell.md create mode 100644 .changeset/tender-coins-make.md diff --git a/.changeset/six-lemons-yell.md b/.changeset/six-lemons-yell.md new file mode 100644 index 000000000..7b05eac75 --- /dev/null +++ b/.changeset/six-lemons-yell.md @@ -0,0 +1,5 @@ +--- +"@changesets/changelog-github": patch +--- + +Respect `GITHUB_SERVER_URL` environment variable when constructing URLs diff --git a/.changeset/tender-coins-make.md b/.changeset/tender-coins-make.md new file mode 100644 index 000000000..2d791bccc --- /dev/null +++ b/.changeset/tender-coins-make.md @@ -0,0 +1,12 @@ +--- +"@changesets/get-github-info": minor +--- + +Support GitHub URL environment variables + +`@changesets/get-github-info` will now respect environment variables [set by GitHub Actions](https://docs.github.com/en/actions/reference/workflows-and-actions/variables), specifically: + +- `GITHUB_GRAPHQL_URL` +- `GITHUB_SERVER_URL` + +This means GitHub Enterprise Server will be supported without any additional configuration or patching. diff --git a/packages/changelog-github/src/index.ts b/packages/changelog-github/src/index.ts index 15618c47d..247bbb7d8 100644 --- a/packages/changelog-github/src/index.ts +++ b/packages/changelog-github/src/index.ts @@ -5,6 +5,12 @@ import { getInfo, getInfoFromPullRequest } from "@changesets/get-github-info"; config(); +function readEnv() { + const GITHUB_SERVER_URL = + process.env.GITHUB_SERVER_URL || "https://github.com"; + return { GITHUB_SERVER_URL }; +} + const changelogFunctions: ChangelogFunctions = { getDependencyReleaseLine: async ( changesets, @@ -41,6 +47,7 @@ const changelogFunctions: ChangelogFunctions = { return [changesetLink, ...updatedDepenenciesList].join("\n"); }, getReleaseLine: async (changeset, type, options) => { + const { GITHUB_SERVER_URL } = readEnv(); if (!options || !options.repo) { throw new Error( 'Please provide a repo to this changelog generator like this:\n"changelog": ["@changesets/changelog-github", { "repo": "org/repo" }]' @@ -81,7 +88,7 @@ const changelogFunctions: ChangelogFunctions = { const shortCommitId = commitFromSummary.slice(0, 7); links = { ...links, - commit: `[\`${shortCommitId}\`](https://github.com/${options.repo}/commit/${commitFromSummary})`, + commit: `[\`${shortCommitId}\`](${GITHUB_SERVER_URL}/${options.repo}/commit/${commitFromSummary})`, }; } return links; @@ -105,7 +112,7 @@ const changelogFunctions: ChangelogFunctions = { ? usersFromSummary .map( (userFromSummary) => - `[@${userFromSummary}](https://github.com/${userFromSummary})` + `[@${userFromSummary}](${GITHUB_SERVER_URL}/${userFromSummary})` ) .join(", ") : links.user; diff --git a/packages/get-github-info/README.md b/packages/get-github-info/README.md index 6ed4a187f..744e23f36 100644 --- a/packages/get-github-info/README.md +++ b/packages/get-github-info/README.md @@ -60,6 +60,18 @@ GITHUB_TOKEN=token_here You can now bump your packages and changelogs with `changeset version` and it'll have the GitHub info. 🎉 +### GitHub Enterprise Server + +If you are using GitHub Enterprise Server, you can configure `@changesets/get-github-info` to point at it using the following +environment variables: + +```bash +GITHUB_SERVER_URL=https://github.example.com +GITHUB_GRAPHQL_URL=https://github.example.com/api/graphql +``` + +When using GitHub Actions, these environment variables will already have been set. + ## API ```ts diff --git a/packages/get-github-info/src/index.test.ts b/packages/get-github-info/src/index.test.ts index c5310ec0c..1321ec242 100644 --- a/packages/get-github-info/src/index.test.ts +++ b/packages/get-github-info/src/index.test.ts @@ -4,7 +4,16 @@ import prettier from "prettier"; process.env.GITHUB_TOKEN = "token"; -let apiPath = `/graphql`; +const apiPath = `/graphql`; + +beforeEach(() => { + nock.disableNetConnect(); +}); + +afterEach(() => { + nock.cleanAll(); + nock.enableNetConnect(); +}); test("associated with multiple PRs with only one merged", async () => { nock("https://api.github.com", { @@ -397,3 +406,99 @@ test("associated with multiple PRs with only one merged", async () => { } `); }); + +test("uses custom GITHUB_GRAPHQL_URL when set", async () => { + const originalGraphqlUrl = process.env.GITHUB_GRAPHQL_URL; + process.env.GITHUB_GRAPHQL_URL = "https://custom.github.com/api/graphql"; + + try { + nock("https://custom.github.com", { + reqheaders: { + Authorization: `Token ${process.env.GITHUB_TOKEN}`, + }, + }) + .post("/api/graphql", ({ query }) => { + expect(prettier.format(query, { parser: "graphql" })) + .toMatchInlineSnapshot(` + "query { + a0: repository(owner: "emotion-js", name: "emotion") { + aa085003: object(expression: "a085003") { + ... on Commit { + commitUrl + associatedPullRequests(first: 50) { + nodes { + number + url + mergedAt + author { + login + url + } + } + } + author { + user { + login + url + } + } + } + } + } + } + " + `); + return true; + }) + .reply( + 200, + JSON.stringify({ + data: { + a0: { + aa085003: { + commitUrl: + "https://custom.github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85", + associatedPullRequests: { + nodes: [ + { + number: 1613, + url: "https://custom.github.com/emotion-js/emotion/pull/1613", + mergedAt: "2019-11-07T06:43:58Z", + author: { + login: "Andarist", + url: "https://custom.github.com/Andarist", + }, + }, + ], + }, + author: { + user: { + login: "Andarist", + url: "https://custom.github.com/Andarist", + }, + }, + }, + }, + }, + }) + ); + + let result = await getInfo({ + commit: "a085003", + repo: "emotion-js/emotion", + }); + expect(result).toMatchInlineSnapshot(` + { + "links": { + "commit": "[\`a085003\`](https://custom.github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85)", + "pull": "[#1613](https://custom.github.com/emotion-js/emotion/pull/1613)", + "user": "[@Andarist](https://custom.github.com/Andarist)", + }, + "pull": 1613, + "user": "Andarist", + } + `); + } finally { + process.env.GITHUB_GRAPHQL_URL = originalGraphqlUrl; + } +}); diff --git a/packages/get-github-info/src/index.ts b/packages/get-github-info/src/index.ts index d4daab033..ea172edc7 100644 --- a/packages/get-github-info/src/index.ts +++ b/packages/get-github-info/src/index.ts @@ -2,6 +2,15 @@ import fetch from "node-fetch"; import DataLoader from "dataloader"; +function readEnv() { + const GITHUB_GRAPHQL_URL = + process.env.GITHUB_GRAPHQL_URL || "https://api.github.com/graphql"; + const GITHUB_SERVER_URL = + process.env.GITHUB_SERVER_URL || "https://github.com"; + const GITHUB_TOKEN = process.env.GITHUB_TOKEN; + return { GITHUB_GRAPHQL_URL, GITHUB_SERVER_URL, GITHUB_TOKEN }; +} + const validRepoNameRegex = /^[\w.-]+\/[\w.-]+$/; type RequestData = @@ -79,9 +88,10 @@ function makeQuery(repos: ReposWithCommitsAndPRsToFetch) { // getReleaseLine will be called a large number of times but it'll be called at the same time // so instead of doing a bunch of network requests, we can do a single one. const GHDataLoader = new DataLoader(async (requests: RequestData[]) => { - if (!process.env.GITHUB_TOKEN) { + const { GITHUB_GRAPHQL_URL, GITHUB_SERVER_URL, GITHUB_TOKEN } = readEnv(); + if (!GITHUB_TOKEN) { throw new Error( - "Please create a GitHub personal access token at https://github.com/settings/tokens/new with `read:user` and `repo:status` permissions and add it as the GITHUB_TOKEN environment variable" + `Please create a GitHub personal access token at ${GITHUB_SERVER_URL}/settings/tokens/new with \`read:user\` and \`repo:status\` permissions and add it as the GITHUB_TOKEN environment variable` ); } let repos: ReposWithCommitsAndPRsToFetch = {}; @@ -92,10 +102,10 @@ const GHDataLoader = new DataLoader(async (requests: RequestData[]) => { repos[repo].push(data); }); - const data = await fetch("https://api.github.com/graphql", { + const data = await fetch(GITHUB_GRAPHQL_URL, { method: "POST", headers: { - Authorization: `Token ${process.env.GITHUB_TOKEN}`, + Authorization: `Token ${GITHUB_TOKEN}`, }, body: JSON.stringify({ query: makeQuery(repos) }), }).then((x: any) => x.json()); @@ -257,7 +267,7 @@ export async function getInfoFromPullRequest(request: { commit: commit ? `[\`${commit.abbreviatedOid.slice(0, 7)}\`](${commit.commitUrl})` : null, - pull: `[#${request.pull}](https://github.com/${request.repo}/pull/${request.pull})`, + pull: `[#${request.pull}](${data.url})`, user: user ? `[@${user.login}](${user.url})` : null, }, }; From 84b4e8d394bac24da976bdcfb742a79c431a78e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 27 Nov 2025 11:22:50 +0100 Subject: [PATCH 054/223] Cleanup `Map#get` usage in `assemble-release-plan` (#1782) * Revert "fix: Throw descriptive error if a package is not found (#1474)" This reverts commit 8acf5cafd3dae397c4b75c8b87d0a21ed95c941a. * Cleanup `Map#get` usage in `assemble-release-plan` * bring back fixed typos * require error message --- .changeset/pink-animals-heal.md | 5 -- .../src/determine-dependents.ts | 19 ++++--- .../src/flatten-releases.ts | 29 ++++++----- .../assemble-release-plan/src/increment.ts | 13 +++-- .../assemble-release-plan/src/index.test.ts | 50 ++++++++++--------- packages/assemble-release-plan/src/index.ts | 44 +++++++++++----- .../src/match-fixed-constraint.ts | 15 +++++- packages/assemble-release-plan/src/utils.ts | 48 ++++++++++-------- 8 files changed, 134 insertions(+), 89 deletions(-) delete mode 100644 .changeset/pink-animals-heal.md diff --git a/.changeset/pink-animals-heal.md b/.changeset/pink-animals-heal.md deleted file mode 100644 index 423719f09..000000000 --- a/.changeset/pink-animals-heal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/assemble-release-plan": patch ---- - -fix: Throw a descriptive error if there is an issue with a package name in a changeset diff --git a/packages/assemble-release-plan/src/determine-dependents.ts b/packages/assemble-release-plan/src/determine-dependents.ts index 47e32b6f0..7908e1abf 100644 --- a/packages/assemble-release-plan/src/determine-dependents.ts +++ b/packages/assemble-release-plan/src/determine-dependents.ts @@ -9,6 +9,7 @@ import { Package } from "@manypkg/get-packages"; import semverSatisfies from "semver/functions/satisfies"; import { incrementVersion } from "./increment"; import { InternalRelease, PreInfo } from "./types"; +import { mapGetOrThrowInternal } from "./utils"; /* WARNING: @@ -44,18 +45,20 @@ export default function determineDependents({ const nextRelease = pkgsToSearch.shift(); if (!nextRelease) continue; // pkgDependents will be a list of packages that depend on nextRelease ie. ['avatar-group', 'comment'] - const pkgDependents = dependencyGraph.get(nextRelease.name); - if (!pkgDependents) { - throw new Error( - `Error in determining dependents - could not find package in repository: ${nextRelease.name}` - ); - } + const pkgDependents = mapGetOrThrowInternal( + dependencyGraph, + nextRelease.name, + `Error in determining dependents - could not find package in repository: ${nextRelease.name}` + ); pkgDependents .map((dependent) => { let type: VersionType | undefined; - const dependentPackage = packagesByName.get(dependent); - if (!dependentPackage) throw new Error("Dependency map is incorrect"); + const dependentPackage = mapGetOrThrowInternal( + packagesByName, + dependent, + "Dependency map is incorrect" + ); if ( shouldSkipPackage(dependentPackage, { diff --git a/packages/assemble-release-plan/src/flatten-releases.ts b/packages/assemble-release-plan/src/flatten-releases.ts index 98ce84721..5579a3ea6 100644 --- a/packages/assemble-release-plan/src/flatten-releases.ts +++ b/packages/assemble-release-plan/src/flatten-releases.ts @@ -5,7 +5,7 @@ import { shouldSkipPackage } from "@changesets/should-skip-package"; import { Config, NewChangeset } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import { InternalRelease } from "./types"; -import { getPackageIfExists } from "./utils"; +import { mapGetOrThrowInternal } from "./utils"; export default function flattenReleases( changesets: NewChangeset[], @@ -18,19 +18,24 @@ export default function flattenReleases( changeset.releases // Filter out skipped packages because they should not trigger a release // If their dependencies need updates, they will be added to releases by `determineDependents()` with release type `none` - .filter( - ({ name }) => - !shouldSkipPackage( - getPackageIfExists(packagesByName, name, changeset), - { - ignore: config.ignore, - allowPrivatePackages: config.privatePackages.version, - } - ) - ) + .filter(({ name }) => { + const pkg = mapGetOrThrowInternal( + packagesByName, + name, + `Couldn't find package named "${name}" listed in changeset "${changeset.id}"` + ); + return !shouldSkipPackage(pkg, { + ignore: config.ignore, + allowPrivatePackages: config.privatePackages.version, + }); + }) .forEach(({ name, type }) => { + let pkg = mapGetOrThrowInternal( + packagesByName, + name, + `Couldn't find package named "${name}" listed in changeset "${changeset.id}"` + ); let release = releases.get(name); - const pkg = getPackageIfExists(packagesByName, name, changeset); if (!release) { release = { name, diff --git a/packages/assemble-release-plan/src/increment.ts b/packages/assemble-release-plan/src/increment.ts index 3c1c735ac..daeac446c 100644 --- a/packages/assemble-release-plan/src/increment.ts +++ b/packages/assemble-release-plan/src/increment.ts @@ -1,6 +1,6 @@ import semverInc from "semver/functions/inc"; import { InternalRelease, PreInfo } from "./types"; -import { InternalError } from "@changesets/errors"; +import { mapGetOrThrowInternal } from "./utils"; export function incrementVersion( release: InternalRelease, @@ -12,12 +12,11 @@ export function incrementVersion( let version = semverInc(release.oldVersion, release.type)!; if (preInfo !== undefined && preInfo.state.mode !== "exit") { - let preVersion = preInfo.preVersions.get(release.name); - if (preVersion === undefined) { - throw new InternalError( - `preVersion for ${release.name} does not exist when preState is defined` - ); - } + let preVersion = mapGetOrThrowInternal( + preInfo.preVersions, + release.name, + `preVersion for ${release.name} does not exist when preState is defined` + ); // why are we adding this ourselves rather than passing 'pre' + versionType to semver.inc? // because semver.inc with prereleases is confusing and this seems easier version += `-${preInfo.state.tag}.${preVersion}`; diff --git a/packages/assemble-release-plan/src/index.test.ts b/packages/assemble-release-plan/src/index.test.ts index 4dad2d9c9..63a7587c4 100644 --- a/packages/assemble-release-plan/src/index.test.ts +++ b/packages/assemble-release-plan/src/index.test.ts @@ -535,29 +535,11 @@ describe("assemble-release-plan", () => { undefined ) ).toThrowErrorMatchingInlineSnapshot(` - "Found mixed changeset big-cats-delight - Found ignored packages: pkg-b - Found not ignored packages: pkg-a - Mixed changesets that contain both ignored and not ignored packages are not allowed" - `); - }); - - it("should throw for packages not present in the project", () => { - setup.addChangeset({ - id: "big-cats-delight", - releases: [{ name: "impossible-package", type: "major" }], - }); - - expect(() => - assembleReleasePlan( - setup.changesets, - setup.packages, - defaultConfig, - undefined - ) - ).toThrowErrorMatchingInlineSnapshot( - `""big-cats-delight" changeset mentions a release for a package "impossible-package" but such a package could not be found."` - ); +"Found mixed changeset big-cats-delight +Found ignored packages: pkg-b +Found not ignored packages: pkg-a +Mixed changesets that contain both ignored and not ignored packages are not allowed" +`); }); it("should not bump a dev dependent nor its dependent when a package gets bumped", () => { @@ -578,6 +560,28 @@ describe("assemble-release-plan", () => { expect(releases[1].newVersion).toEqual("1.0.0"); }); + it("should throw an error when a changeset contains a package that is not in the workspace", () => { + setup.addChangeset({ + id: "big-cats-delight", + releases: [{ name: "pkg-a", type: "major" }], + }); + setup.addChangeset({ + id: "small-dogs-sad", + releases: [{ name: "pkg-z", type: "minor" }], + }); + + expect(() => + assembleReleasePlan( + setup.changesets, + setup.packages, + defaultConfig, + undefined + ) + ).toThrow( + "Found changeset small-dogs-sad for package pkg-z which is not in the workspace" + ); + }); + describe("fixed packages", () => { it("should assemble release plan for fixed packages", () => { setup.addChangeset({ diff --git a/packages/assemble-release-plan/src/index.ts b/packages/assemble-release-plan/src/index.ts index 3b44e9dcd..8c690986e 100644 --- a/packages/assemble-release-plan/src/index.ts +++ b/packages/assemble-release-plan/src/index.ts @@ -16,7 +16,7 @@ import flattenReleases from "./flatten-releases"; import { incrementVersion } from "./increment"; import matchFixedConstraint from "./match-fixed-constraint"; import { InternalRelease, PreInfo } from "./types"; -import { getPackageIfExists } from "./utils"; +import { mapGetOrThrow, mapGetOrThrowInternal } from "./utils"; type SnapshotReleaseParameters = { tag?: string | undefined; @@ -277,14 +277,18 @@ function getRelevantChangesets( const skippedPackages = []; const notSkippedPackages = []; for (const release of changeset.releases) { + // this acts as an early validation in this package so we don't throw an internal error here + const packageByName = mapGetOrThrow( + packagesByName, + release.name, + `Found changeset ${changeset.id} for package ${release.name} which is not in the workspace` + ); + if ( - shouldSkipPackage( - getPackageIfExists(packagesByName, release.name, changeset), - { - ignore: config.ignore, - allowPrivatePackages: config.privatePackages.version, - } - ) + shouldSkipPackage(packageByName, { + ignore: config.ignore, + allowPrivatePackages: config.privatePackages.version, + }) ) { skippedPackages.push(release.name); } else { @@ -313,13 +317,21 @@ function getRelevantChangesets( } function getHighestPreVersion( + groupKind: "linked" | "fixed", packageGroup: PackageGroup, packagesByName: Map ): number { let highestPreVersion = 0; - for (let pkg of packageGroup) { + for (let pkgName of packageGroup) { + const pkg = mapGetOrThrowInternal( + packagesByName, + pkgName, + `Could not find package named "${pkgName}" listed in ${groupKind} group ${JSON.stringify( + packageGroup + )}` + ); highestPreVersion = Math.max( - getPreVersion(packagesByName.get(pkg)!.packageJson.version), + getPreVersion(pkg.packageJson.version), highestPreVersion ); } @@ -368,13 +380,21 @@ function getPreInfo( ); } for (let fixedGroup of config.fixed) { - let highestPreVersion = getHighestPreVersion(fixedGroup, packagesByName); + let highestPreVersion = getHighestPreVersion( + "fixed", + fixedGroup, + packagesByName + ); for (let fixedPackage of fixedGroup) { preVersions.set(fixedPackage, highestPreVersion); } } for (let linkedGroup of config.linked) { - let highestPreVersion = getHighestPreVersion(linkedGroup, packagesByName); + let highestPreVersion = getHighestPreVersion( + "linked", + linkedGroup, + packagesByName + ); for (let linkedPackage of linkedGroup) { preVersions.set(linkedPackage, highestPreVersion); } diff --git a/packages/assemble-release-plan/src/match-fixed-constraint.ts b/packages/assemble-release-plan/src/match-fixed-constraint.ts index 963d609f5..c72ad63a5 100644 --- a/packages/assemble-release-plan/src/match-fixed-constraint.ts +++ b/packages/assemble-release-plan/src/match-fixed-constraint.ts @@ -2,7 +2,11 @@ import { shouldSkipPackage } from "@changesets/should-skip-package"; import { Config } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import { InternalRelease } from "./types"; -import { getCurrentHighestVersion, getHighestReleaseType } from "./utils"; +import { + getCurrentHighestVersion, + getHighestReleaseType, + mapGetOrThrowInternal, +} from "./utils"; export default function matchFixedConstraint( releases: Map, @@ -27,8 +31,15 @@ export default function matchFixedConstraint( // Finally, we update the packages so all of them are on the highest version for (let pkgName of fixedPackages) { + const pkg = mapGetOrThrowInternal( + packagesByName, + pkgName, + `Could not find package named "${pkgName}" listed in fixed group ${JSON.stringify( + fixedPackages + )}` + ); if ( - shouldSkipPackage(packagesByName.get(pkgName)!, { + shouldSkipPackage(pkg, { ignore: config.ignore, allowPrivatePackages: config.privatePackages.version, }) diff --git a/packages/assemble-release-plan/src/utils.ts b/packages/assemble-release-plan/src/utils.ts index f0375e3ce..730917e9d 100644 --- a/packages/assemble-release-plan/src/utils.ts +++ b/packages/assemble-release-plan/src/utils.ts @@ -1,7 +1,8 @@ -import { NewChangeset, PackageGroup, VersionType } from "@changesets/types"; +import { PackageGroup, VersionType } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import semverGt from "semver/functions/gt"; import { InternalRelease } from "./types"; +import { InternalError } from "@changesets/errors"; export function getHighestReleaseType( releases: InternalRelease[] @@ -39,14 +40,11 @@ export function getCurrentHighestVersion( let highestVersion: string | undefined; for (let pkgName of packageGroup) { - let pkg = packagesByName.get(pkgName); - - if (!pkg) { - console.error( - `FATAL ERROR IN CHANGESETS! We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}` - ); - throw new Error(`fatal: could not resolve linked packages`); - } + let pkg = mapGetOrThrowInternal( + packagesByName, + pkgName, + `We were unable to version for package group: ${pkgName} in package group: ${packageGroup.toString()}` + ); if ( highestVersion === undefined || @@ -59,16 +57,26 @@ export function getCurrentHighestVersion( return highestVersion!; } -export function getPackageIfExists( - packagesByName: Map, - packageName: string, - changeset: Pick -): Package { - const pkg = packagesByName.get(packageName); - if (pkg) { - return pkg; +export function mapGetOrThrow( + map: Map, + key: string, + errorMessage: string +): V { + const value = map.get(key); + if (value === undefined) { + throw new Error(errorMessage); + } + return value; +} + +export function mapGetOrThrowInternal( + map: Map, + key: string, + errorMessage: string +): V { + const value = map.get(key); + if (value === undefined) { + throw new InternalError(errorMessage); } - throw new Error( - `"${changeset.id}" changeset mentions a release for a package "${packageName}" but such a package could not be found.` - ); + return value; } From 805444723b12d2e2e7525c63c873bedab61d4b7b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Nov 2025 15:25:47 +0100 Subject: [PATCH 055/223] Version Packages (#1751) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/itchy-comics-nail.md | 5 ----- .changeset/purple-chefs-film.md | 5 ----- .changeset/six-lemons-yell.md | 5 ----- .changeset/tall-parks-worry.md | 5 ----- .changeset/tender-coins-make.md | 12 ------------ .changeset/wild-flies-suffer.md | 5 ----- .changeset/wise-turkeys-behave.md | 5 ----- packages/apply-release-plan/CHANGELOG.md | 9 +++++++++ packages/apply-release-plan/package.json | 4 ++-- packages/changelog-github/CHANGELOG.md | 9 +++++++++ packages/changelog-github/package.json | 4 ++-- packages/cli/CHANGELOG.md | 12 ++++++++++++ packages/cli/package.json | 10 +++++----- packages/config/CHANGELOG.md | 8 ++++++++ packages/config/package.json | 2 +- packages/get-github-info/CHANGELOG.md | 13 +++++++++++++ packages/get-github-info/package.json | 2 +- packages/get-release-plan/CHANGELOG.md | 8 ++++++++ packages/get-release-plan/package.json | 6 +++--- packages/parse/CHANGELOG.md | 6 ++++++ packages/parse/package.json | 2 +- packages/read/CHANGELOG.md | 7 +++++++ packages/read/package.json | 4 ++-- packages/release-utils/CHANGELOG.md | 7 +++++++ packages/release-utils/package.json | 4 ++-- 25 files changed, 98 insertions(+), 61 deletions(-) delete mode 100644 .changeset/itchy-comics-nail.md delete mode 100644 .changeset/purple-chefs-film.md delete mode 100644 .changeset/six-lemons-yell.md delete mode 100644 .changeset/tall-parks-worry.md delete mode 100644 .changeset/tender-coins-make.md delete mode 100644 .changeset/wild-flies-suffer.md delete mode 100644 .changeset/wise-turkeys-behave.md diff --git a/.changeset/itchy-comics-nail.md b/.changeset/itchy-comics-nail.md deleted file mode 100644 index 22bf3f66f..000000000 --- a/.changeset/itchy-comics-nail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/config": patch ---- - -Respect config value for `bumpVersionsWithWorkspaceProtocolOnly` when validating `ignore` option to prevent spurious console errors. diff --git a/.changeset/purple-chefs-film.md b/.changeset/purple-chefs-film.md deleted file mode 100644 index 3d542d45e..000000000 --- a/.changeset/purple-chefs-film.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/cli": patch ---- - -Tweaked a hint text printed when one confirms an empty set of packages to be released diff --git a/.changeset/six-lemons-yell.md b/.changeset/six-lemons-yell.md deleted file mode 100644 index 7b05eac75..000000000 --- a/.changeset/six-lemons-yell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/changelog-github": patch ---- - -Respect `GITHUB_SERVER_URL` environment variable when constructing URLs diff --git a/.changeset/tall-parks-worry.md b/.changeset/tall-parks-worry.md deleted file mode 100644 index a55559b2d..000000000 --- a/.changeset/tall-parks-worry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/parse": patch ---- - -Update `js-yaml` to `v4` diff --git a/.changeset/tender-coins-make.md b/.changeset/tender-coins-make.md deleted file mode 100644 index 2d791bccc..000000000 --- a/.changeset/tender-coins-make.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@changesets/get-github-info": minor ---- - -Support GitHub URL environment variables - -`@changesets/get-github-info` will now respect environment variables [set by GitHub Actions](https://docs.github.com/en/actions/reference/workflows-and-actions/variables), specifically: - -- `GITHUB_GRAPHQL_URL` -- `GITHUB_SERVER_URL` - -This means GitHub Enterprise Server will be supported without any additional configuration or patching. diff --git a/.changeset/wild-flies-suffer.md b/.changeset/wild-flies-suffer.md deleted file mode 100644 index bd3cb50d7..000000000 --- a/.changeset/wild-flies-suffer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/apply-release-plan": patch ---- - -Add `pre.json` to the version commit diff --git a/.changeset/wise-turkeys-behave.md b/.changeset/wise-turkeys-behave.md deleted file mode 100644 index 84534ce1e..000000000 --- a/.changeset/wise-turkeys-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@changesets/config": patch ---- - -Fixed log error link mismatch to remove dot at the end diff --git a/packages/apply-release-plan/CHANGELOG.md b/packages/apply-release-plan/CHANGELOG.md index b43f6d965..575e872fa 100644 --- a/packages/apply-release-plan/CHANGELOG.md +++ b/packages/apply-release-plan/CHANGELOG.md @@ -1,5 +1,14 @@ # @changesets/apply-release-plan +## 7.0.14 + +### Patch Changes + +- [#610](https://github.com/changesets/changesets/pull/610) [`e520bf5`](https://github.com/changesets/changesets/commit/e520bf5d4dbfe96f59ca28008e87bffaf3c9dfea) Thanks [@bencergazda](https://github.com/bencergazda)! - Add `pre.json` to the version commit + +- Updated dependencies [[`cc28222`](https://github.com/changesets/changesets/commit/cc28222ee892b3a078fa02ee26e1cef98c171532), [`13dace8`](https://github.com/changesets/changesets/commit/13dace895017fa351014bc9e13b544d33f8b4bbe)]: + - @changesets/config@3.1.2 + ## 7.0.13 ### Patch Changes diff --git a/packages/apply-release-plan/package.json b/packages/apply-release-plan/package.json index 93c73880e..3556fcff2 100644 --- a/packages/apply-release-plan/package.json +++ b/packages/apply-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/apply-release-plan", - "version": "7.0.13", + "version": "7.0.14", "description": "Takes a release plan and applies it to packages", "main": "dist/changesets-apply-release-plan.cjs.js", "module": "dist/changesets-apply-release-plan.esm.js", @@ -19,7 +19,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/apply-release-plan", "dependencies": { - "@changesets/config": "^3.1.1", + "@changesets/config": "^3.1.2", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.4", "@changesets/should-skip-package": "^0.1.2", diff --git a/packages/changelog-github/CHANGELOG.md b/packages/changelog-github/CHANGELOG.md index a71bc0ba1..f4b5e4666 100644 --- a/packages/changelog-github/CHANGELOG.md +++ b/packages/changelog-github/CHANGELOG.md @@ -1,5 +1,14 @@ # @changesets/changelog-github +## 0.5.2 + +### Patch Changes + +- [#1783](https://github.com/changesets/changesets/pull/1783) [`398b3fe`](https://github.com/changesets/changesets/commit/398b3fe1cbce3c8a02f4d6a568f6cb724acffa5a) Thanks [@mrginglymus](https://github.com/mrginglymus)! - Respect `GITHUB_SERVER_URL` environment variable when constructing URLs + +- Updated dependencies [[`398b3fe`](https://github.com/changesets/changesets/commit/398b3fe1cbce3c8a02f4d6a568f6cb724acffa5a)]: + - @changesets/get-github-info@0.7.0 + ## 0.5.1 ### Patch Changes diff --git a/packages/changelog-github/package.json b/packages/changelog-github/package.json index 57ab72b3f..f2398a65b 100644 --- a/packages/changelog-github/package.json +++ b/packages/changelog-github/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/changelog-github", - "version": "0.5.1", + "version": "0.5.2", "description": "A changelog entry generator for GitHub that links to commits, PRs and users", "main": "dist/changesets-changelog-github.cjs.js", "module": "dist/changesets-changelog-github.esm.js", @@ -19,7 +19,7 @@ "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-github", "dependencies": { - "@changesets/get-github-info": "^0.6.0", + "@changesets/get-github-info": "^0.7.0", "@changesets/types": "^6.1.0", "dotenv": "^8.1.0" }, diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index a6bc9fbc0..d78d51997 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,17 @@ # @changesets/cli +## 2.29.8 + +### Patch Changes + +- [#1437](https://github.com/changesets/changesets/pull/1437) [`aa68d54`](https://github.com/changesets/changesets/commit/aa68d54faa17f825345ef3732d20e4a74423e5fd) Thanks [@with-heart](https://github.com/with-heart)! - Tweaked a hint text printed when one confirms an empty set of packages to be released + +- Updated dependencies [[`cc28222`](https://github.com/changesets/changesets/commit/cc28222ee892b3a078fa02ee26e1cef98c171532), [`e520bf5`](https://github.com/changesets/changesets/commit/e520bf5d4dbfe96f59ca28008e87bffaf3c9dfea), [`13dace8`](https://github.com/changesets/changesets/commit/13dace895017fa351014bc9e13b544d33f8b4bbe)]: + - @changesets/config@3.1.2 + - @changesets/apply-release-plan@7.0.14 + - @changesets/get-release-plan@4.0.14 + - @changesets/read@0.6.6 + ## 2.29.7 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 7a7787db0..1723b4f3f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/cli", - "version": "2.29.7", + "version": "2.29.8", "description": "Organise your package versioning and publishing to make both contributors and maintainers happy", "bin": { "changeset": "bin.js" @@ -66,17 +66,17 @@ }, "license": "MIT", "dependencies": { - "@changesets/apply-release-plan": "^7.0.13", + "@changesets/apply-release-plan": "^7.0.14", "@changesets/assemble-release-plan": "^6.0.9", "@changesets/changelog-git": "^0.2.1", - "@changesets/config": "^3.1.1", + "@changesets/config": "^3.1.2", "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", - "@changesets/get-release-plan": "^4.0.13", + "@changesets/get-release-plan": "^4.0.14", "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", + "@changesets/read": "^0.6.6", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@changesets/write": "^0.4.0", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 4dbb763aa..b51ef9b58 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,13 @@ # @changesets/config +## 3.1.2 + +### Patch Changes + +- [#1535](https://github.com/changesets/changesets/pull/1535) [`cc28222`](https://github.com/changesets/changesets/commit/cc28222ee892b3a078fa02ee26e1cef98c171532) Thanks [@joerobot](https://github.com/joerobot)! - Respect config value for `bumpVersionsWithWorkspaceProtocolOnly` when validating `ignore` option to prevent spurious console errors. + +- [#1232](https://github.com/changesets/changesets/pull/1232) [`13dace8`](https://github.com/changesets/changesets/commit/13dace895017fa351014bc9e13b544d33f8b4bbe) Thanks [@matthprost](https://github.com/matthprost)! - Fixed log error link mismatch to remove dot at the end + ## 3.1.1 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index c964e7b68..2080b785d 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/config", - "version": "3.1.1", + "version": "3.1.2", "description": "Utilities for reading and parsing Changeset's config", "main": "dist/changesets-config.cjs.js", "module": "dist/changesets-config.esm.js", diff --git a/packages/get-github-info/CHANGELOG.md b/packages/get-github-info/CHANGELOG.md index fd3209b0f..d8009d78a 100644 --- a/packages/get-github-info/CHANGELOG.md +++ b/packages/get-github-info/CHANGELOG.md @@ -1,5 +1,18 @@ # @changesets/get-github-info +## 0.7.0 + +### Minor Changes + +- [#1783](https://github.com/changesets/changesets/pull/1783) [`398b3fe`](https://github.com/changesets/changesets/commit/398b3fe1cbce3c8a02f4d6a568f6cb724acffa5a) Thanks [@mrginglymus](https://github.com/mrginglymus)! - Support GitHub URL environment variables + + `@changesets/get-github-info` will now respect environment variables [set by GitHub Actions](https://docs.github.com/en/actions/reference/workflows-and-actions/variables), specifically: + + - `GITHUB_GRAPHQL_URL` + - `GITHUB_SERVER_URL` + + This means GitHub Enterprise Server will be supported without any additional configuration or patching. + ## 0.6.0 ### Minor Changes diff --git a/packages/get-github-info/package.json b/packages/get-github-info/package.json index 5fb8b444e..0ce362add 100644 --- a/packages/get-github-info/package.json +++ b/packages/get-github-info/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-github-info", - "version": "0.6.0", + "version": "0.7.0", "description": "Get the GitHub username and PR number from a commit. Intended for use with changesets.", "main": "dist/changesets-get-github-info.cjs.js", "module": "dist/changesets-get-github-info.esm.js", diff --git a/packages/get-release-plan/CHANGELOG.md b/packages/get-release-plan/CHANGELOG.md index 055bea389..9bf98b80f 100644 --- a/packages/get-release-plan/CHANGELOG.md +++ b/packages/get-release-plan/CHANGELOG.md @@ -1,5 +1,13 @@ # @changesets/get-release-plan +## 4.0.14 + +### Patch Changes + +- Updated dependencies [[`cc28222`](https://github.com/changesets/changesets/commit/cc28222ee892b3a078fa02ee26e1cef98c171532), [`13dace8`](https://github.com/changesets/changesets/commit/13dace895017fa351014bc9e13b544d33f8b4bbe)]: + - @changesets/config@3.1.2 + - @changesets/read@0.6.6 + ## 4.0.13 ### Patch Changes diff --git a/packages/get-release-plan/package.json b/packages/get-release-plan/package.json index a96d49810..bf30f1b1a 100644 --- a/packages/get-release-plan/package.json +++ b/packages/get-release-plan/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/get-release-plan", - "version": "4.0.13", + "version": "4.0.14", "description": "Reads changesets and adds information on dependents that need bumping", "main": "dist/changesets-get-release-plan.cjs.js", "module": "dist/changesets-get-release-plan.esm.js", @@ -20,9 +20,9 @@ "repository": "https://github.com/changesets/changesets/tree/main/packages/get-release-plan", "dependencies": { "@changesets/assemble-release-plan": "^6.0.9", - "@changesets/config": "^3.1.1", + "@changesets/config": "^3.1.2", "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", + "@changesets/read": "^0.6.6", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 95bab5c9a..3c7a8f6cf 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -1,5 +1,11 @@ # @changesets/parse +## 0.4.2 + +### Patch Changes + +- [#1772](https://github.com/changesets/changesets/pull/1772) [`4c5a207`](https://github.com/changesets/changesets/commit/4c5a2078e45d1d269ecc65c3c24b898ed6451245) Thanks [@marcalexiei](https://github.com/marcalexiei)! - Update `js-yaml` to `v4` + ## 0.4.1 ### Patch Changes diff --git a/packages/parse/package.json b/packages/parse/package.json index a3f68262b..7b44876f0 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/parse", - "version": "0.4.1", + "version": "0.4.2", "description": "Parse a changeset file's contents into a usable json object", "main": "dist/changesets-parse.cjs.js", "module": "dist/changesets-parse.esm.js", diff --git a/packages/read/CHANGELOG.md b/packages/read/CHANGELOG.md index 8a4b808ae..1d2e0a9f4 100644 --- a/packages/read/CHANGELOG.md +++ b/packages/read/CHANGELOG.md @@ -1,5 +1,12 @@ # @changesets/read +## 0.6.6 + +### Patch Changes + +- Updated dependencies [[`4c5a207`](https://github.com/changesets/changesets/commit/4c5a2078e45d1d269ecc65c3c24b898ed6451245)]: + - @changesets/parse@0.4.2 + ## 0.6.5 ### Patch Changes diff --git a/packages/read/package.json b/packages/read/package.json index 2fcf3023e..8e752486a 100644 --- a/packages/read/package.json +++ b/packages/read/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/read", - "version": "0.6.5", + "version": "0.6.6", "description": "Read changesets from disc, and return the information as JSON", "main": "dist/changesets-read.cjs.js", "module": "dist/changesets-read.esm.js", @@ -21,7 +21,7 @@ "dependencies": { "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", - "@changesets/parse": "^0.4.1", + "@changesets/parse": "^0.4.2", "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0", diff --git a/packages/release-utils/CHANGELOG.md b/packages/release-utils/CHANGELOG.md index 33e8306e5..8fce6f4f9 100644 --- a/packages/release-utils/CHANGELOG.md +++ b/packages/release-utils/CHANGELOG.md @@ -1,5 +1,12 @@ # @changesets/release-utils +## 0.2.6 + +### Patch Changes + +- Updated dependencies []: + - @changesets/read@0.6.6 + ## 0.2.5 ### Patch Changes diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index 2b60c420d..e0fe638d8 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -1,6 +1,6 @@ { "name": "@changesets/release-utils", - "version": "0.2.5", + "version": "0.2.6", "main": "dist/changesets-release-utils.cjs.js", "module": "dist/changesets-release-utils.esm.js", "exports": { @@ -17,7 +17,7 @@ }, "dependencies": { "@changesets/pre": "^2.0.2", - "@changesets/read": "^0.6.5", + "@changesets/read": "^0.6.6", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", From 3cb9982b96aef8e2b46860258d56dbd7a2a02953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 30 Oct 2025 14:22:16 +0100 Subject: [PATCH 056/223] Fix `package.json#repository` field in `release-utils` (#1752) --- packages/release-utils/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/release-utils/package.json b/packages/release-utils/package.json index e0fe638d8..303c945e2 100644 --- a/packages/release-utils/package.json +++ b/packages/release-utils/package.json @@ -1,6 +1,7 @@ { "name": "@changesets/release-utils", "version": "0.2.6", + "repository": "https://github.com/changesets/changesets/tree/main/packages/release-utils", "main": "dist/changesets-release-utils.cjs.js", "module": "dist/changesets-release-utils.esm.js", "exports": { From 677f2086e667d27389728a2290e7db1048f73d2b Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 4 Dec 2025 09:57:12 +0800 Subject: [PATCH 057/223] Fix snapshot fail --- .../src/get-dependency-graph.test.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index 660acea2c..e4f74d111 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -147,13 +147,8 @@ describe("getting the dependency graph", function () { tool: "pnpm", }); expect(valid).toBe(false); - expect((console.error as any).mock.calls).toMatchInlineSnapshot(` - [ - [ - "Package "foo" must depend on the current version of "bar": "1.0.0" vs "0.9.0"", - ], - ] - `); + expect(stripVTControlCharacters((console.error as any).mock.calls[0][0])) + .toMatchInlineSnapshot(`"Package "foo" must depend on the current version of "bar": "1.0.0" vs "0.9.0""`); }) ); From 49ec234923d01eb7c34d6f5b6ea71c48c39ce795 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 4 Dec 2025 09:59:06 +0800 Subject: [PATCH 058/223] Fix lint fail --- .../get-dependents-graph/src/get-dependency-graph.test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/get-dependents-graph/src/get-dependency-graph.test.ts b/packages/get-dependents-graph/src/get-dependency-graph.test.ts index e4f74d111..a1b58a9f1 100644 --- a/packages/get-dependents-graph/src/get-dependency-graph.test.ts +++ b/packages/get-dependents-graph/src/get-dependency-graph.test.ts @@ -147,8 +147,11 @@ describe("getting the dependency graph", function () { tool: "pnpm", }); expect(valid).toBe(false); - expect(stripVTControlCharacters((console.error as any).mock.calls[0][0])) - .toMatchInlineSnapshot(`"Package "foo" must depend on the current version of "bar": "1.0.0" vs "0.9.0""`); + expect( + stripVTControlCharacters((console.error as any).mock.calls[0][0]) + ).toMatchInlineSnapshot( + `"Package "foo" must depend on the current version of "bar": "1.0.0" vs "0.9.0""` + ); }) ); From 2ec8403bdfa265e8c47637dff99c4ae1a93f740e Mon Sep 17 00:00:00 2001 From: Adam Haglund Date: Mon, 15 Dec 2025 12:59:49 +0100 Subject: [PATCH 059/223] Update GH Actions, Test Against Node 24 (#1800) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update actions and pin versions * test against node 24 * add skipped scripts from postinstall * change checks * Apply suggestions from code review Co-authored-by: Bjorn Lu * Update .github/actions/ci-setup/action.yml * Update .github/actions/ci-setup/action.yml --------- Co-authored-by: Bjorn Lu Co-authored-by: Mateusz BurzyƄski --- .github/actions/ci-setup/action.yml | 14 +++++++++++--- .github/workflows/changeset-version.yml | 5 ++++- .github/workflows/ci.yml | 25 +++++++++++++++++-------- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index f43e92e3d..db2a0d7a1 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -4,17 +4,25 @@ inputs: node-version: description: "Node.js version" required: false - default: 22 + default: 24 runs: using: composite steps: - name: Setup Node.js ${{ inputs.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ inputs.node-version }} cache: yarn - name: Install dependencies shell: bash - run: yarn install --frozen-lockfile + run: yarn install --frozen-lockfile --ignore-scripts + + - name: Setup dev environment + shell: bash + run: yarn preconstruct dev + + - name: Manypkg check + shell: bash + run: yarn manypkg check diff --git a/.github/workflows/changeset-version.yml b/.github/workflows/changeset-version.yml index 044e5651f..fdb2f31ce 100644 --- a/.github/workflows/changeset-version.yml +++ b/.github/workflows/changeset-version.yml @@ -20,7 +20,10 @@ jobs: pull-requests: write # to create pull request (changesets/action) id-token: write # to use OpenID Connect token for provenance (changesets/action) steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 6.0.1 + with: + persist-credentials: false + - uses: ./.github/actions/ci-setup - name: Create Release Pull Request or Publish to npm diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79cc193b7..6a1a8af6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,10 +17,13 @@ jobs: timeout-minutes: 20 strategy: matrix: - node_version: [20, 22] + node_version: [20, 22, 24] fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 6.0.1 + with: + persist-credentials: false + - uses: ./.github/actions/ci-setup with: node-version: ${{ matrix.node_version }} @@ -32,18 +35,18 @@ jobs: run: git config --global user.email "you@example.com" && git config --global user.name "Your Name" - name: Vitest tests - if: matrix.node_version != 22 + if: matrix.node_version != 24 # @changesets/release-utils depend on `--experimental-strip-types` so we exclude those test here for simplicity run: yarn vitest --no-file-parallelism --exclude=packages/release-utils - # Run coverage only once on node 22 to avoid duplicate codecov uploads + # Run coverage only once on node 24 to avoid duplicate codecov uploads - name: Vitest tests with coverage - if: matrix.node_version == 22 + if: matrix.node_version == 24 run: yarn vitest --no-file-parallelism --coverage - name: Upload coverage uses: codecov/codecov-action@v4 - if: matrix.node_version == 22 + if: matrix.node_version == 24 with: token: ${{ secrets.CODECOV_TOKEN }} @@ -52,7 +55,10 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 6.0.1 + with: + persist-credentials: false + - uses: ./.github/actions/ci-setup - name: Typecheck @@ -63,7 +69,10 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 6.0.1 + with: + persist-credentials: false + - uses: ./.github/actions/ci-setup - name: Lint From 8a3d9ef415e832696c936c253a87805333702ad9 Mon Sep 17 00:00:00 2001 From: Vas Sudanagunta Date: Sat, 10 Jan 2026 04:10:46 -0500 Subject: [PATCH 060/223] Add Biome to cool projects list (#1816) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba837b0f0..17c0d787f 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,7 @@ To make releasing easier, you can use [this changesets github action](https://gi - [verdaccio](https://verdaccio.org) - [Chakra UI](https://chakra-ui.com) - [Astro](https://astro.build) +- [Biome](https://biomejs.dev) - [SvelteKit](https://kit.svelte.dev) - [Hydrogen](https://hydrogen.shopify.dev) - [react-pdf](https://github.com/diegomura/react-pdf) From 27fd8f41dddafcc2e96e7df39dca04d92f916a0a Mon Sep 17 00:00:00 2001 From: Rasso Hilber Date: Mon, 12 Jan 2026 02:52:00 +0100 Subject: [PATCH 061/223] Replace `String.trimRight` with `String.trimEnd` (#1810) --- .changeset/tidy-hoops-feel.md | 6 ++++++ .../src/test-utils/get-changelog-entry-with-git-hash.ts | 2 +- packages/changelog-git/src/index.ts | 2 +- packages/changelog-github/src/index.ts | 2 +- packages/get-github-info/README.md | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .changeset/tidy-hoops-feel.md diff --git a/.changeset/tidy-hoops-feel.md b/.changeset/tidy-hoops-feel.md new file mode 100644 index 000000000..64566a6fe --- /dev/null +++ b/.changeset/tidy-hoops-feel.md @@ -0,0 +1,6 @@ +--- +"@changesets/apply-release-plan": patch +"@changesets/changelog-github": patch +--- + +Replace deprecated `String.prototype.trimRight` with [`String.prototype.trimEnd`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd) diff --git a/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts b/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts index d9bb2f0cb..4266b2c4d 100644 --- a/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts +++ b/packages/apply-release-plan/src/test-utils/get-changelog-entry-with-git-hash.ts @@ -8,7 +8,7 @@ import { RelevantChangesets } from "../types"; async function getReleaseLine(changeset: NewChangeset, cwd: string) { const [firstLine, ...futureLines] = changeset.summary .split("\n") - .map((l) => l.trimRight()); + .map((l) => l.trimEnd()); const [commitThatAddsFile] = await getCommitsThatAddFiles( [`.changeset/${changeset.id}.md`], diff --git a/packages/changelog-git/src/index.ts b/packages/changelog-git/src/index.ts index f09d521c4..4d9a02838 100644 --- a/packages/changelog-git/src/index.ts +++ b/packages/changelog-git/src/index.ts @@ -11,7 +11,7 @@ const getReleaseLine = async ( ) => { const [firstLine, ...futureLines] = changeset.summary .split("\n") - .map((l) => l.trimRight()); + .map((l) => l.trimEnd()); let returnVal = `- ${ changeset.commit ? `${changeset.commit.slice(0, 7)}: ` : "" diff --git a/packages/changelog-github/src/index.ts b/packages/changelog-github/src/index.ts index 247bbb7d8..8452939c0 100644 --- a/packages/changelog-github/src/index.ts +++ b/packages/changelog-github/src/index.ts @@ -76,7 +76,7 @@ const changelogFunctions: ChangelogFunctions = { const [firstLine, ...futureLines] = replacedChangelog .split("\n") - .map((l) => l.trimRight()); + .map((l) => l.trimEnd()); const links = await (async () => { if (prFromSummary !== undefined) { diff --git a/packages/get-github-info/README.md b/packages/get-github-info/README.md index 744e23f36..384b49bd6 100644 --- a/packages/get-github-info/README.md +++ b/packages/get-github-info/README.md @@ -32,7 +32,7 @@ const { getInfo } = require("@changesets/get-github-info"); const getReleaseLine = async (changeset, type) => { const [firstLine, ...futureLines] = changeset.summary .split("\n") - .map((l) => l.trimRight()); + .map((l) => l.trimEnd()); // getInfo exposes the GH username and PR number if you want them directly // but it also exposes a set of links for the commit, PR and GH username let { user, pull, links } = await getInfo({ From 83a507559d282763576010905b26ae05bb801b71 Mon Sep 17 00:00:00 2001 From: James <5511220+Zamiell@users.noreply.github.com> Date: Tue, 27 Jan 2026 06:53:33 -0500 Subject: [PATCH 062/223] Fix missing punctuation (#1820) * fix: missing punctuation * more fixes --- .changeset/README.md | 4 ++-- packages/cli/default-files/README.md | 4 ++-- packages/cli/src/commands/init/index.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.changeset/README.md b/.changeset/README.md index c5206f019..e23084528 100644 --- a/.changeset/README.md +++ b/.changeset/README.md @@ -1,5 +1,5 @@ # Changesets -Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with mono-repos or single package repos to help you version and release your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with mono-repos or single package repos to help you version and release your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets). -We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) +We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md). diff --git a/packages/cli/default-files/README.md b/packages/cli/default-files/README.md index e5b6d8d6a..654c6d475 100644 --- a/packages/cli/default-files/README.md +++ b/packages/cli/default-files/README.md @@ -2,7 +2,7 @@ Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can -find the full documentation for it [in our repository](https://github.com/changesets/changesets) +find the full documentation for it [in our repository](https://github.com/changesets/changesets). We have a quick list of common questions to get you started engaging with this project in -[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md). diff --git a/packages/cli/src/commands/init/index.ts b/packages/cli/src/commands/init/index.ts index b5d6a1f5d..c7045af79 100644 --- a/packages/cli/src/commands/init/index.ts +++ b/packages/cli/src/commands/init/index.ts @@ -58,7 +58,7 @@ export default async function init(cwd: string) { log( `Thanks for choosing ${pc.green( "changesets" - )} to help manage your versioning and publishing\n` + )} to help manage your versioning and publishing.\n` ); log("You should be set up to start using changesets now!\n"); From bb2586df3170dfb97a70a90681e16eb1e6f97b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 27 Jan 2026 18:28:34 +0100 Subject: [PATCH 063/223] Rename the publishing workflow file (#1825) --- .github/workflows/{changeset-version.yml => publish.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{changeset-version.yml => publish.yml} (100%) diff --git a/.github/workflows/changeset-version.yml b/.github/workflows/publish.yml similarity index 100% rename from .github/workflows/changeset-version.yml rename to .github/workflows/publish.yml From 11421d9ccc64c6d9235be37de346bc6fbb5feca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 29 Jan 2026 08:17:50 +0100 Subject: [PATCH 064/223] Cleanup `publish.yml` (#1826) --- .github/workflows/publish.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 044e5651f..c04b210b3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: contents: write # to create release (changesets/action) issues: write # to post issue comments (changesets/action) pull-requests: write # to create pull request (changesets/action) - id-token: write # to use OpenID Connect token for provenance (changesets/action) + id-token: write # to use OpenID Connect token for trusted publishing (changesets/action) steps: - uses: actions/checkout@v4 - uses: ./.github/actions/ci-setup @@ -32,5 +32,3 @@ jobs: version: yarn version-packages env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - NPM_CONFIG_PROVENANCE: true From 10d13ae34c6c9136cb5e7ede0d73f05088261d8c Mon Sep 17 00:00:00 2001 From: Eduardo Ferras Date: Thu, 29 Jan 2026 23:06:36 -0300 Subject: [PATCH 065/223] docs(readme): add React Email to cool projects list (#1829) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17c0d787f..6704d4a14 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ To make releasing easier, you can use [this changesets github action](https://gi - [Apollo Client](https://github.com/apollographql/apollo-client) - [Adobe Spectrum CSS](https://github.com/adobe/spectrum-css) - [Adobe Spectrum Web Components](https://github.com/adobe/spectrum-web-components) +- [React Email](https://react.email) From b6f4c748c4ba50b5ac608f3ce41229526d1bfe94 Mon Sep 17 00:00:00 2001 From: Rodri Date: Wed, 4 Feb 2026 14:37:36 +0000 Subject: [PATCH 066/223] Export schema.json in `@changesets/config` package exports (#1834) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(config): export schema.json for JSON schema validation Add `./schema.json` to the exports field in @changesets/config package.json to allow editors like VSCode to provide schema validation for config.json files. https://claude.ai/code/session_01QjZrLhyQ1gAEfk59U5hvtq * Enhance schema.json export for pnpm compatibility Updated export instructions for schema.json to include pnpm usage. * fix(config): use preconstruct exports.extra for schema.json Use preconstruct's exports.extra configuration instead of directly modifying the exports field. This ensures the exports field is properly managed by preconstruct while still exposing schema.json for pnpm users. https://claude.ai/code/session_01QjZrLhyQ1gAEfk59U5hvtq * Update .changeset/fix-config-schema-export.md --------- Co-authored-by: Claude Co-authored-by: Mateusz BurzyƄski --- .changeset/fix-config-schema-export.md | 5 +++++ packages/config/package.json | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/fix-config-schema-export.md diff --git a/.changeset/fix-config-schema-export.md b/.changeset/fix-config-schema-export.md new file mode 100644 index 000000000..e044871c8 --- /dev/null +++ b/.changeset/fix-config-schema-export.md @@ -0,0 +1,5 @@ +--- +"@changesets/config": patch +--- + +Export `schema.json` in the package's `exports` field to make it accessible when using modern package managers. diff --git a/packages/config/package.json b/packages/config/package.json index 2080b785d..392dd3882 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -14,7 +14,8 @@ "import": "./dist/changesets-config.cjs.mjs", "default": "./dist/changesets-config.cjs.js" }, - "./package.json": "./package.json" + "./package.json": "./package.json", + "./schema.json": "./schema.json" }, "license": "MIT", "repository": "https://github.com/changesets/changesets/tree/main/packages/config", @@ -36,5 +37,12 @@ "@types/micromatch": "^4.0.1", "jest-in-case": "^1.0.2", "outdent": "^0.5.0" + }, + "preconstruct": { + "exports": { + "extra": { + "./schema.json": "./schema.json" + } + } } } From 3388f6a06728f4fbb2dcd7692ab6a29f9688327e Mon Sep 17 00:00:00 2001 From: Jake Ginnivan <453152+JakeGinnivan@users.noreply.github.com> Date: Wed, 18 Feb 2026 16:02:23 +0800 Subject: [PATCH 067/223] Add workflow support for publishing PR snapshots (#909) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create workflow to add `/release-pr` comment to deploy a snapshot release * refactor --------- Co-authored-by: Mateusz BurzyƄski --- .github/workflows/publish.yml | 117 ++++++++++++++++++++++++++++++++-- 1 file changed, 111 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c04b210b3..4210e342b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,17 +1,21 @@ -name: Release +name: Publish on: push: branches: - main - next + issue_comment: + types: [created] -concurrency: ${{ github.workflow }}-${{ github.ref }} +concurrency: ${{ github.workflow }}-${{ github.event_name == 'issue_comment' && github.event.issue.number || github.ref }} + +permissions: {} # each job should define its own permission explicitly jobs: - release: - name: Release - if: github.repository == 'changesets/changesets' + publish: + name: Publish + if: github.repository == 'changesets/changesets' && github.event_name == 'push' runs-on: ubuntu-latest timeout-minutes: 20 permissions: @@ -30,5 +34,106 @@ jobs: # this expects you to have a script called release which does a build for your packages and calls changeset publish publish: yarn release version: yarn version-packages + + publish_pr: + if: github.repository == 'changesets/changesets' && github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/publish-pr') + timeout-minutes: 20 + runs-on: ubuntu-latest + permissions: + contents: read # to checkout the pull request + id-token: write # to use OpenID Connect token for trusted publishing + issues: write # to post comments and reactions + steps: + - name: Report in-progress reaction + id: report_in_progress + run: | + echo "in_progress_reaction_id=$(gh api /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions -f content='eyes' --jq '.id')" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check if user is authorized to publish + id: check_authorization + run: | + if [[ $AUTHOR_ASSOCIATION == 'MEMBER' || $AUTHOR_ASSOCIATION == 'OWNER' || $AUTHOR_ASSOCIATION == 'COLLABORATOR' ]] + then + echo "User is authorized to publish" + else + echo "User is not authorized to publish" + exit 1 + fi + env: + AUTHOR_ASSOCIATION: ${{ github.event.comment.author_association }} + + - uses: actions/checkout@v4 + + - name: Checkout pull request + run: gh pr checkout ${{ github.event.issue.number }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check if Version Packages PR + id: check_version_packages + run: | + echo "version_packages=$(gh pr view ${{ github.event.issue.number }} --json headRefName --jq '.headRefName|startswith("changeset-release/")')" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # for Version Packages PR we want to publish the state from before the Version Packages commit + - name: Reset Version Packages PR + if: steps.check_version_packages.outputs.version_packages == 'true' + run: git reset --hard HEAD~1 + + - uses: ./.github/actions/ci-setup + + - name: Compute snapshot version + id: snapshot_version + run: | + PUBLISH_TAG="pr${{ github.event.issue.number }}" + SNAPSHOT_TAG="${PUBLISH_TAG}.$(git rev-parse --short HEAD)" + + echo "publish_tag=$PUBLISH_TAG" >> "$GITHUB_OUTPUT" + echo "snapshot_tag=$SNAPSHOT_TAG" >> "$GITHUB_OUTPUT" + echo "version=0.0.0-$SNAPSHOT_TAG" >> "$GITHUB_OUTPUT" + + - run: yarn changeset version --snapshot "${{ steps.snapshot_version.outputs.snapshot_tag }}" --snapshot-prerelease-template "{tag}" + + - run: yarn build + + - name: Publish snapshot versions + run: yarn changeset publish --tag "${{ steps.snapshot_version.outputs.publish_tag }}" + + - name: Post comment with published version + run: | + cat <<'BODY' > /tmp/comment-body.md + Published snapshot version `${{ steps.snapshot_version.outputs.version }}` in response to [this comment](${{ github.event.comment.html_url }}). + BODY + gh issue comment "${{ github.event.issue.number }}" --body-file /tmp/comment-body.md + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Post failure comment + if: failure() + run: | + FAILED_JOB_ID=$(gh api "/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs" --jq '[.jobs[] | select(.conclusion == "failure")][0].id') + LINK="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${FAILED_JOB_ID}" + + cat < /tmp/comment-body.md + Snapshot publish triggered by [this comment](${{ github.event.comment.html_url }}) failed. [See the failed job](${LINK}). + BODY + gh issue comment "${{ github.event.issue.number }}" --body-file /tmp/comment-body.md + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Add result reaction + if: always() && steps.report_in_progress.outcome == 'success' + run: | + gh api /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions \ + -f content="${{ job.status == 'success' && 'rocket' || '-1' }}" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Remove in-progress reaction + if: always() && steps.report_in_progress.outcome == 'success' + run: gh api -X DELETE /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions/${{steps.report_in_progress.outputs.in_progress_reaction_id}} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From e965bc73b78998dd83f41106fcc5d07c2ea3ece1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Wed, 18 Feb 2026 09:37:53 +0100 Subject: [PATCH 068/223] Fix issues in the `publish_pr` workflow (#1846) * Fix issues in the `publish_pr` workflow * update --- .github/workflows/publish.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4210e342b..0f5cce9f6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,11 +43,13 @@ jobs: contents: read # to checkout the pull request id-token: write # to use OpenID Connect token for trusted publishing issues: write # to post comments and reactions + pull-requests: write # to post reactions on PR comments steps: - name: Report in-progress reaction id: report_in_progress run: | - echo "in_progress_reaction_id=$(gh api /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions -f content='eyes' --jq '.id')" >> "$GITHUB_OUTPUT" + REACTION_ID=$(gh api /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions -f content='eyes' --jq '.id') + echo "in_progress_reaction_id=$REACTION_ID" >> "$GITHUB_OUTPUT" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -74,13 +76,14 @@ jobs: - name: Check if Version Packages PR id: check_version_packages run: | - echo "version_packages=$(gh pr view ${{ github.event.issue.number }} --json headRefName --jq '.headRefName|startswith("changeset-release/")')" >> "$GITHUB_OUTPUT" + IS_VERSION_PACKAGES_PR=$(gh pr view ${{ github.event.issue.number }} --json headRefName --jq '.headRefName|startswith("changeset-release/")') + echo "is_version_packages_pr=$IS_VERSION_PACKAGES_PR" >> "$GITHUB_OUTPUT" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for Version Packages PR we want to publish the state from before the Version Packages commit - name: Reset Version Packages PR - if: steps.check_version_packages.outputs.version_packages == 'true' + if: steps.check_version_packages.outputs.is_version_packages_pr == 'true' run: git reset --hard HEAD~1 - uses: ./.github/actions/ci-setup @@ -96,6 +99,8 @@ jobs: echo "version=0.0.0-$SNAPSHOT_TAG" >> "$GITHUB_OUTPUT" - run: yarn changeset version --snapshot "${{ steps.snapshot_version.outputs.snapshot_tag }}" --snapshot-prerelease-template "{tag}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: yarn build From d23e19e2d768fc6902a5379f135d6cc3d2b3974a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Wed, 18 Feb 2026 10:22:52 +0100 Subject: [PATCH 069/223] Use modern npm version in publish jobs to enable trusted publishing (#1847) --- .github/actions/ci-setup/action.yml | 10 ++++++++-- .github/workflows/publish.yml | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index a44f173f7..3fb1ecf42 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -1,12 +1,18 @@ name: Setup CI +inputs: + node-version: + description: "Node.js version" + required: false + default: 20 + runs: using: composite steps: - - name: Setup Node.js 20.x + - name: Setup Node.js ${{ inputs.node-version }} uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: ${{ inputs.node-version }} cache: yarn - name: Install dependencies diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0f5cce9f6..a5e181861 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,6 +26,8 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/ci-setup + with: + node-version: 24 - name: Create Release Pull Request or Publish to npm # https://github.com/changesets/action @@ -87,6 +89,8 @@ jobs: run: git reset --hard HEAD~1 - uses: ./.github/actions/ci-setup + with: + node-version: 24 - name: Compute snapshot version id: snapshot_version From e07fd62e8c1ebad39eeeb9833cd5c31336323bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Wed, 18 Feb 2026 14:03:37 +0100 Subject: [PATCH 070/223] Update `actions/setup-node` (#1848) --- .github/actions/ci-setup/action.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index 3fb1ecf42..ba8d3f169 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -10,7 +10,7 @@ runs: using: composite steps: - name: Setup Node.js ${{ inputs.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ inputs.node-version }} cache: yarn diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a5e181861..1b08d03b0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -123,7 +123,7 @@ jobs: - name: Post failure comment if: failure() run: | - FAILED_JOB_ID=$(gh api "/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs" --jq '[.jobs[] | select(.conclusion == "failure")][0].id') + FAILED_JOB_ID=$(gh api "/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs" --jq ".jobs[] | select(.name == \"$GITHUB_JOB\") | .id") LINK="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${FAILED_JOB_ID}" cat < /tmp/comment-body.md From 9dc32308e4d208964b648a788ba4eee1003c273c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sun, 22 Feb 2026 23:43:27 +0100 Subject: [PATCH 071/223] Compute the terminal's size lazily to avoid spurious stderr output in non-interactive mode (#1849) --- .changeset/brave-eagles-pick.md | 5 +++++ packages/cli/src/utils/cli-utilities.ts | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 .changeset/brave-eagles-pick.md diff --git a/.changeset/brave-eagles-pick.md b/.changeset/brave-eagles-pick.md new file mode 100644 index 000000000..e4e83095d --- /dev/null +++ b/.changeset/brave-eagles-pick.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": patch +--- + +Compute the terminal's size lazily to avoid spurious stderr output in non-interactive mode diff --git a/packages/cli/src/utils/cli-utilities.ts b/packages/cli/src/utils/cli-utilities.ts index bd793fcc4..60ce59bc6 100644 --- a/packages/cli/src/utils/cli-utilities.ts +++ b/packages/cli/src/utils/cli-utilities.ts @@ -38,7 +38,9 @@ const serialId: () => number = (function () { return () => id++; })(); -const limit = Math.max(termSize().rows - 5, 10); +// this can exec tput so we make it compute lazily to avoid such side effects at init time +let limit: number | undefined; +const getLimit = () => (limit ??= Math.max(termSize().rows - 5, 10)); let cancelFlow = () => { success("Cancelled... 👋 "); @@ -60,7 +62,7 @@ async function askCheckboxPlus( multiple: true, choices, format, - limit, + limit: getLimit(), onCancel: cancelFlow, symbols: { indicator: symbols.radioOff, From 2b4a66a36497fd5504186dcc6ae9e287c8403de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Mon, 23 Feb 2026 00:01:57 +0100 Subject: [PATCH 072/223] Delegate OTP prompting to the package manager (#1845) * Delegate OTP prompting to the package manager * changeset * normalize registry * normalize more * stdio inherit * simplify --- .changeset/delegate-otp-prompting.md | 5 + package.json | 1 + packages/cli/package.json | 2 - .../publish/__tests__/publishPackages.test.ts | 3 - .../cli/src/commands/publish/npm-utils.ts | 151 +++++++++++------- .../src/commands/publish/publishPackages.ts | 53 +++--- .../cli/src/utils/createPromiseQueue.test.ts | 138 ++++++++++++++++ packages/cli/src/utils/createPromiseQueue.ts | 72 +++++++++ packages/cli/src/utils/types.ts | 5 +- packages/get-github-info/src/index.ts | 1 - yarn.lock | 60 ++++++- 11 files changed, 408 insertions(+), 83 deletions(-) create mode 100644 .changeset/delegate-otp-prompting.md create mode 100644 packages/cli/src/utils/createPromiseQueue.test.ts create mode 100644 packages/cli/src/utils/createPromiseQueue.ts diff --git a/.changeset/delegate-otp-prompting.md b/.changeset/delegate-otp-prompting.md new file mode 100644 index 000000000..2e83fd410 --- /dev/null +++ b/.changeset/delegate-otp-prompting.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": minor +--- + +Delegate OTP prompting to the package manager instead of handling it in-process. This allows Changesets to use the package manager's native web auth support. diff --git a/package.json b/package.json index 22ce3eae9..991b07c4f 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@types/jest-in-case": "^1.0.6", "@types/lodash": "^4.17.13", "@types/node": "^24.10.1", + "@types/node-fetch": "^2.6.13", "@types/prettier": "^2.7.1", "@types/semver": "^7.7.1", "@typescript-eslint/eslint-plugin": "^5.43.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index 1723b4f3f..1ad96e6f9 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -83,11 +83,9 @@ "@inquirer/external-editor": "^1.0.2", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", - "ci-info": "^3.7.0", "enquirer": "^2.4.1", "fs-extra": "^7.0.1", "mri": "^1.2.0", - "p-limit": "^2.2.0", "package-manager-detector": "^0.2.0", "picocolors": "^1.1.0", "resolve-from": "^5.0.0", diff --git a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts index 27af17208..89df7b43a 100644 --- a/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts +++ b/packages/cli/src/commands/publish/__tests__/publishPackages.test.ts @@ -4,9 +4,6 @@ import { getPackages } from "@manypkg/get-packages"; import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; jest.mock("../npm-utils"); -jest.mock("ci-info", () => ({ - isCI: true, -})); describe("publishPackages", () => { silenceLogsInBlock(); diff --git a/packages/cli/src/commands/publish/npm-utils.ts b/packages/cli/src/commands/publish/npm-utils.ts index 4c84dab2f..91a95e188 100644 --- a/packages/cli/src/commands/publish/npm-utils.ts +++ b/packages/cli/src/commands/publish/npm-utils.ts @@ -1,15 +1,15 @@ +import { spawnSync } from "child_process"; import { ExitError } from "@changesets/errors"; import { error, info, warn } from "@changesets/logger"; import { AccessType, PackageJSON } from "@changesets/types"; -import pLimit from "p-limit"; import { detect } from "package-manager-detector"; import pc from "picocolors"; import spawn from "spawndamnit"; import semverParse from "semver/functions/parse"; -import { askQuestion } from "../../utils/cli-utilities"; -import { isCI } from "ci-info"; +import { createPromiseQueue } from "../../utils/createPromiseQueue"; import { TwoFactorState } from "../../utils/types"; import { getLastJsonObjectFromString } from "../../utils/getLastJsonObjectFromString"; +import { requiresDelegatedAuth } from "./publishPackages"; interface PublishOptions { cwd: string; @@ -18,8 +18,15 @@ interface PublishOptions { tag: string; } -const npmRequestLimit = pLimit(40); -const npmPublishLimit = pLimit(10); +const NPM_REQUEST_CONCURRENCY_LIMIT = 40; +const NPM_PUBLISH_CONCURRENCY_LIMIT = 10; + +export const npmRequestQueue = createPromiseQueue( + NPM_REQUEST_CONCURRENCY_LIMIT +); +export const npmPublishQueue = createPromiseQueue( + NPM_PUBLISH_CONCURRENCY_LIMIT +); function jsonParse(input: string) { try { @@ -32,19 +39,33 @@ function jsonParse(input: string) { } } +export const isCustomRegistry = (registry?: string): boolean => { + registry = normalizeRegistry(registry); + return ( + !!registry && + registry !== "https://registry.npmjs.org" && + registry !== "https://registry.yarnpkg.com" + ); +}; + interface RegistryInfo { scope?: string; registry: string; } +function normalizeRegistry(registry: string | undefined) { + return registry && registry.replace(/\/+$/, ""); +} + export function getCorrectRegistry(packageJson?: PackageJSON): RegistryInfo { const packageName = packageJson?.name; if (packageName?.startsWith("@")) { const scope = packageName.split("/")[0]; - const scopedRegistry = + const scopedRegistry = normalizeRegistry( packageJson!.publishConfig?.[`${scope}:registry`] || - process.env[`npm_config_${scope}:registry`]; + process.env[`npm_config_${scope}:registry`] + ); if (scopedRegistry) { return { scope, @@ -53,8 +74,9 @@ export function getCorrectRegistry(packageJson?: PackageJSON): RegistryInfo { } } - const registry = - packageJson?.publishConfig?.registry || process.env.npm_config_registry; + const registry = normalizeRegistry( + packageJson?.publishConfig?.registry || process.env.npm_config_registry + ); return { scope: undefined, @@ -112,7 +134,7 @@ export async function getTokenIsRequired() { } export function getPackageInfo(packageJson: PackageJSON) { - return npmRequestLimit(async () => { + return npmRequestQueue.add(async () => { info(`npm info ${packageJson.name}`); const { scope, registry } = getCorrectRegistry(packageJson); @@ -163,42 +185,17 @@ export async function infoAllow404(packageJson: PackageJSON) { return { published: true, pkgInfo }; } -let otpAskLimit = pLimit(1); - -let askForOtpCode = (twoFactorState: TwoFactorState) => - otpAskLimit(async () => { - if (twoFactorState.token !== null) return twoFactorState.token; - info( - "This operation requires a one-time password from your authenticator." - ); - - let val = await askQuestion("Enter one-time password:"); - twoFactorState.token = val; - return val; - }); - -export let getOtpCode = async (twoFactorState: TwoFactorState) => { - if (twoFactorState.token !== null) { - return twoFactorState.token; - } - return askForOtpCode(twoFactorState); -}; - // we have this so that we can do try a publish again after a publish without // the call being wrapped in the npm request limit and causing the publishes to potentially never run async function internalPublish( packageJson: PackageJSON, opts: PublishOptions, twoFactorState: TwoFactorState -): Promise<{ published: boolean }> { - let publishTool = await getPublishTool(opts.cwd); - let publishFlags = opts.access ? ["--access", opts.access] : []; - publishFlags.push("--tag", opts.tag); +): Promise<{ published: boolean; allowRetry?: boolean }> { + const publishTool = await getPublishTool(opts.cwd); - if ((await twoFactorState.isRequired) && !isCI) { - let otpCode = await getOtpCode(twoFactorState); - publishFlags.push("--otp", otpCode); - } + const publishFlags = opts.access ? ["--access", opts.access] : []; + publishFlags.push("--tag", opts.tag); if (publishTool.name === "pnpm" && publishTool.shouldAddNoGitChecks) { publishFlags.push("--no-git-checks"); } @@ -211,19 +208,54 @@ async function internalPublish( [scope ? `npm_config_${scope}:registry` : "npm_config_registry"]: registry, }; + if (requiresDelegatedAuth(twoFactorState)) { + const result = + publishTool.name === "pnpm" + ? spawnSync("pnpm", ["publish", ...publishFlags], { + env: Object.assign({}, process.env, envOverride), + cwd: opts.cwd, + stdio: "inherit", + }) + : spawnSync( + publishTool.name, + ["publish", opts.publishDir, ...publishFlags], + { + env: Object.assign({}, process.env, envOverride), + stdio: "inherit", + } + ); + + if (result.status === 0) { + twoFactorState.allowConcurrency = true; + // bump for remaining packages + npmPublishQueue.setConcurrency(NPM_PUBLISH_CONCURRENCY_LIMIT); + return { published: true }; + } + + return { published: false }; + } + + // in the delegated mode we don't need the json output + // as we won't be handling the auth errors + publishFlags.push("--json"); + if (twoFactorState.token) { + publishFlags.push("--otp", twoFactorState.token); + } + let { code, stdout, stderr } = publishTool.name === "pnpm" - ? await spawn("pnpm", ["publish", "--json", ...publishFlags], { + ? await spawn("pnpm", ["publish", ...publishFlags], { env: Object.assign({}, process.env, envOverride), cwd: opts.cwd, }) : await spawn( publishTool.name, - ["publish", opts.publishDir, "--json", ...publishFlags], + ["publish", opts.publishDir, ...publishFlags], { env: Object.assign({}, process.env, envOverride), } ); + if (code !== 0) { // NPM's --json output is included alongside the `prepublish` and `postpublish` output in terminal // We want to handle this as best we can but it has some struggles: @@ -239,16 +271,22 @@ async function internalPublish( if ( (json.error.code === "EOTP" || (json.error.code === "E401" && - json.error.detail.includes("--otp="))) && - !isCI + json.error.detail?.includes("--otp="))) && + process.stdin.isTTY ) { - if (twoFactorState.token !== null) { - // the current otp code must be invalid since it errored - twoFactorState.token = null; - } + // the current otp code must be invalid since it errored + twoFactorState.token = undefined; // just in case this isn't already true - twoFactorState.isRequired = Promise.resolve(true); - return internalPublish(packageJson, opts, twoFactorState); + twoFactorState.isRequired = true; + twoFactorState.allowConcurrency = false; + npmPublishQueue.setConcurrency(1); + return { + published: false, + // given we have just adjusted the concurrency, we need to handle the retries in the layer that requeues the publish + // calling internalPublish again would allow concurrent failures to run again concurrently + // but only one retried publish should get delegated to the npm cli and other ones should "await" its successful result before being retried + allowRetry: true, + }; } error( `an error occurred while publishing ${packageJson.name}: ${json.error.code}`, @@ -268,9 +306,14 @@ export function publish( opts: PublishOptions, twoFactorState: TwoFactorState ): Promise<{ published: boolean }> { - // If there are many packages to be published, it's better to limit the - // concurrency to avoid unwanted errors, for example from npm. - return npmRequestLimit(() => - npmPublishLimit(() => internalPublish(packageJson, opts, twoFactorState)) - ); + return npmRequestQueue.add(async () => { + let result: { published: boolean; allowRetry?: boolean }; + do { + result = await npmPublishQueue.add(() => + internalPublish(packageJson, opts, twoFactorState) + ); + } while (result.allowRetry); + + return { published: result.published }; + }); } diff --git a/packages/cli/src/commands/publish/publishPackages.ts b/packages/cli/src/commands/publish/publishPackages.ts index 2ed82911c..495803035 100644 --- a/packages/cli/src/commands/publish/publishPackages.ts +++ b/packages/cli/src/commands/publish/publishPackages.ts @@ -5,9 +5,15 @@ import { AccessType } from "@changesets/types"; import { Package } from "@manypkg/get-packages"; import { info, warn } from "@changesets/logger"; import { PreState } from "@changesets/types"; -import * as npmUtils from "./npm-utils"; +import { + isCustomRegistry, + getCorrectRegistry, + getTokenIsRequired, + publish, + infoAllow404, + npmPublishQueue, +} from "./npm-utils"; import { TwoFactorState } from "../../utils/types"; -import { isCI } from "ci-info"; type PublishedState = "never" | "published" | "only-pre"; @@ -34,45 +40,48 @@ function getReleaseTag(pkgInfo: PkgInfo, preState?: PreState, tag?: string) { return "latest"; } -const isCustomRegistry = (registry?: string): boolean => - !!registry && - registry !== "https://registry.npmjs.org" && - registry !== "https://registry.yarnpkg.com"; - -const getTwoFactorState = ({ +const getTwoFactorState = async ({ otp, publicPackages, }: { otp?: string; publicPackages: Package[]; -}): TwoFactorState => { +}): Promise => { if (otp) { return { token: otp, - isRequired: Promise.resolve(true), + isRequired: true, }; } if ( - isCI || + !process.stdin.isTTY || publicPackages.some((pkg) => - isCustomRegistry(npmUtils.getCorrectRegistry(pkg.packageJson).registry) + isCustomRegistry(getCorrectRegistry(pkg.packageJson).registry) ) || isCustomRegistry(process.env.npm_config_registry) ) { return { - token: null, - isRequired: Promise.resolve(false), + token: undefined, + isRequired: false, }; } return { - token: null, - // note: we're not awaiting this here, we want this request to happen in parallel with getUnpublishedPackages - isRequired: npmUtils.getTokenIsRequired(), + token: undefined, + isRequired: await getTokenIsRequired(), }; }; +export const requiresDelegatedAuth = (twoFactorState: TwoFactorState) => { + return ( + process.stdin.isTTY && + !twoFactorState.token && + !twoFactorState.allowConcurrency && + twoFactorState.isRequired + ); +}; + export default async function publishPackages({ packages, access, @@ -97,11 +106,15 @@ export default async function publishPackages({ return []; } - const twoFactorState: TwoFactorState = getTwoFactorState({ + const twoFactorState = await getTwoFactorState({ otp, publicPackages, }); + if (requiresDelegatedAuth(twoFactorState)) { + npmPublishQueue.setConcurrency(1); + } + return Promise.all( unpublishedPackagesInfo.map((pkgInfo) => { let pkg = packagesByName.get(pkgInfo.name)!; @@ -124,7 +137,7 @@ async function publishAPackage( const { name, version, publishConfig } = pkg.packageJson; info(`Publishing ${pc.cyan(`"${name}"`)} at ${pc.green(`"${version}"`)}`); - const publishConfirmation = await npmUtils.publish( + const publishConfirmation = await publish( pkg.packageJson, { cwd: pkg.dir, @@ -150,7 +163,7 @@ async function getUnpublishedPackages( ) { const results: Array = await Promise.all( packages.map(async ({ packageJson }) => { - const response = await npmUtils.infoAllow404(packageJson); + const response = await infoAllow404(packageJson); let publishedState: PublishedState = "never"; if (response.published) { publishedState = "published"; diff --git a/packages/cli/src/utils/createPromiseQueue.test.ts b/packages/cli/src/utils/createPromiseQueue.test.ts new file mode 100644 index 000000000..aef3505c9 --- /dev/null +++ b/packages/cli/src/utils/createPromiseQueue.test.ts @@ -0,0 +1,138 @@ +import { createPromiseQueue } from "./createPromiseQueue"; + +function asyncSpy(implementation: () => unknown = () => {}) { + return jest.fn().mockImplementation(async () => implementation()); +} + +function syncSpy(implementation: () => unknown = () => {}) { + return jest.fn().mockImplementation(() => implementation()); +} + +describe("createPromiseQueue", () => { + it("should start jobs immediately before hitting the concurrency limit", () => { + const queue = createPromiseQueue(3); + + const job1 = asyncSpy(); + const job2 = asyncSpy(); + const job3 = asyncSpy(); + + queue.add(job1); + queue.add(job2); + queue.add(job3); + + expect(job1).toHaveBeenCalled(); + expect(job2).toHaveBeenCalled(); + expect(job3).toHaveBeenCalled(); + }); + + it("should not start a job immediately after hitting the concurrency limit", () => { + const queue = createPromiseQueue(2); + + const job1 = asyncSpy(); + const job2 = asyncSpy(); + const job3 = asyncSpy(); + + queue.add(job1); + queue.add(job2); + queue.add(job3); + + expect(job3).not.toHaveBeenCalled(); + }); + + it("should start a next job after going below the concurrency limit", async () => { + const queue = createPromiseQueue(2); + + const job1 = asyncSpy(); + const job2 = asyncSpy(); + const job3 = asyncSpy(); + + queue.add(job1); + const queuedJob2 = queue.add(job2); + queue.add(job3); + + expect(job3).not.toHaveBeenCalled(); + + await queuedJob2; + + expect(job3).toHaveBeenCalled(); + }); + + it("should resolve with the original result", async () => { + const queue = createPromiseQueue(2); + + const job = asyncSpy(() => 42); + const queuedJob = queue.add(job); + + await expect(queuedJob).resolves.toBe(42); + }); + + it("should reject with the original error", async () => { + const queue = createPromiseQueue(2); + const error = new Error("My error."); + + const job = asyncSpy(() => { + throw error; + }); + const queuedJob = queue.add(job); + + await expect(queuedJob).rejects.toBe(error); + }); + + it("should drain pending jobs after a rejection", async () => { + const queue = createPromiseQueue(1); + + const job1 = asyncSpy(() => { + throw new Error("fail"); + }); + const job2 = asyncSpy(() => "ok"); + + const q1 = queue.add(job1); + const q2 = queue.add(job2); + + await expect(q1).rejects.toThrow("fail"); + await expect(q2).resolves.toBe("ok"); + }); + + it("should handle a synchronously throwing job", async () => { + const queue = createPromiseQueue(2); + const error = new Error("sync throw"); + + const job = syncSpy(() => { + throw error; + }); + const queuedJob = queue.add(job); + + await expect(queuedJob).rejects.toBe(error); + }); + + it("should drain pending jobs after a synchronous throw", async () => { + const queue = createPromiseQueue(1); + + const job1 = syncSpy(() => { + throw new Error("sync fail"); + }); + const job2 = asyncSpy(() => "ok"); + + const q1 = queue.add(job1); + const q2 = queue.add(job2); + + await expect(q1).rejects.toThrow("sync fail"); + await expect(q2).resolves.toBe("ok"); + }); + + it("setConcurrency should allow more jobs to run", async () => { + const queue = createPromiseQueue(1); + + const job1 = asyncSpy(); + const job2 = asyncSpy(); + + queue.add(job1); + queue.add(job2); + + expect(job2).not.toHaveBeenCalled(); + + queue.setConcurrency(2); + + expect(job2).toHaveBeenCalled(); + }); +}); diff --git a/packages/cli/src/utils/createPromiseQueue.ts b/packages/cli/src/utils/createPromiseQueue.ts new file mode 100644 index 000000000..0890b3b03 --- /dev/null +++ b/packages/cli/src/utils/createPromiseQueue.ts @@ -0,0 +1,72 @@ +interface PromiseWithResolvers { + promise: Promise; + resolve: (value: T | PromiseLike) => void; + reject: (reason?: any) => void; +} + +function withResolvers(): PromiseWithResolvers { + const rv = {} as PromiseWithResolvers; + rv.promise = new Promise((resolve, reject) => { + rv.resolve = resolve; + rv.reject = reject; + }); + return rv; +} + +function promiseTry(fn: () => Promise): Promise { + return new Promise((resolve) => resolve(fn())); +} + +export function createPromiseQueue(concurrency: number) { + const jobs: Array<{ + fn: () => Promise; + resolve: PromiseWithResolvers["resolve"]; + reject: PromiseWithResolvers["reject"]; + }> = []; + + let active = 0; + + function run() { + if (active >= concurrency) { + return; + } + + const job = jobs.shift(); + + if (!job) { + return; + } + + active++; + + promiseTry(job.fn).then( + (result) => { + active--; + job.resolve(result); + run(); + }, + (error) => { + active--; + job.reject(error); + run(); + } + ); + } + + return { + add: (fn: () => Promise): Promise => { + const { promise, resolve, reject } = withResolvers(); + jobs.push({ + fn, + resolve, + reject, + }); + run(); + return promise as Promise; + }, + setConcurrency: (newConcurrency: number) => { + concurrency = newConcurrency; + run(); + }, + }; +} diff --git a/packages/cli/src/utils/types.ts b/packages/cli/src/utils/types.ts index 4be534754..d7c94c229 100644 --- a/packages/cli/src/utils/types.ts +++ b/packages/cli/src/utils/types.ts @@ -1,4 +1,5 @@ export type TwoFactorState = { - token: string | null; - isRequired: Promise; + token: string | undefined; + isRequired: boolean; + allowConcurrency?: boolean; }; diff --git a/packages/get-github-info/src/index.ts b/packages/get-github-info/src/index.ts index ea172edc7..7a940c909 100644 --- a/packages/get-github-info/src/index.ts +++ b/packages/get-github-info/src/index.ts @@ -1,4 +1,3 @@ -// @ts-ignore import fetch from "node-fetch"; import DataLoader from "dataloader"; diff --git a/yarn.lock b/yarn.lock index 99d576b42..096b20fcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1728,6 +1728,14 @@ dependencies: "@types/braces" "*" +"@types/node-fetch@^2.6.13": + version "2.6.13" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.13.tgz#e0c9b7b5edbdb1b50ce32c127e85e880872d56ee" + integrity sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw== + dependencies: + "@types/node" "*" + form-data "^4.0.4" + "@types/node@*", "@types/node@^24.10.1": version "24.10.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" @@ -2092,6 +2100,11 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -2426,7 +2439,7 @@ chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" -ci-info@^3.2.0, ci-info@^3.7.0: +ci-info@^3.2.0: version "3.8.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== @@ -2477,6 +2490,13 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -2634,6 +2654,11 @@ define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + detect-indent@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" @@ -2811,6 +2836,16 @@ es-set-tostringtag@^2.0.3: has-tostringtag "^1.0.2" hasown "^2.0.1" +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" @@ -3264,6 +3299,17 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.12" + fs-extra@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" @@ -4766,6 +4812,18 @@ micromatch@^4.0.8: braces "^3.0.3" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" From d8d06e709f263bc5d73c161138ae9f6203e22b4f Mon Sep 17 00:00:00 2001 From: Seokrin Taron Sung Date: Mon, 23 Feb 2026 20:07:15 +0900 Subject: [PATCH 073/223] Fix dependency version typo in `prereleases.md` (#1828) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: fix dependency version typo in prereleases.md The documentation incorrectly showed pkg-a's dependency on pkg-b as ^2.0.1 when it should be ^2.1.0, since pkg-b was bumped with a minor changeset from 2.0.0 to 2.1.0-next.0. Fixes #1822 * Apply suggestions from code review --------- Co-authored-by: Mateusz BurzyƄski --- docs/prereleases.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/prereleases.md b/docs/prereleases.md index 1831c3ad4..6c71fdcb3 100644 --- a/docs/prereleases.md +++ b/docs/prereleases.md @@ -46,7 +46,7 @@ The repo would now look like this: ``` packages/ - pkg-a@1.0.1-next.0 has dep on pkg-b@^2.0.1 + pkg-a@1.0.1-next.0 has dep on pkg-b@^2.1.0-next.0 pkg-b@2.1.0-next.0 has no deps pkg-c@3.0.0 has no deps .changeset/ @@ -72,7 +72,7 @@ Let's say we add some changesets and a new package so our repo looks like this ``` packages/ - pkg-a@1.0.1-next.0 has dep on pkg-b@^2.0.1 + pkg-a@1.0.1-next.0 has dep on pkg-b@^2.1.0-next.0 pkg-b@2.1.0-next.0 has no deps pkg-c@3.0.0 has no deps pkg-d@0.0.0 has no deps @@ -91,7 +91,7 @@ The version command will behave just like it does for the first versioning of a ``` packages/ - pkg-a@1.1.0-next.1 has dep on pkg-b@^2.0.1 + pkg-a@1.1.0-next.1 has dep on pkg-b@^2.1.0-next.0 pkg-b@2.1.0-next.0 has no deps pkg-c@3.0.1-next.0 has no deps pkg-d@1.0.0-next.0 has no deps @@ -128,7 +128,7 @@ The version command will apply any changesets currently in the repo and then rem ``` packages/ - pkg-a@1.1.0 has dep on pkg-b@^2.0.1 + pkg-a@1.1.0 has dep on pkg-b@^2.1.0 pkg-b@2.1.0 has no deps pkg-c@3.0.1 has no deps pkg-d@1.0.0 has no deps From fd0bc2e997a7bf603415489d10fcac0ca129badf Mon Sep 17 00:00:00 2001 From: mixelburg <52622705+mixelburg@users.noreply.github.com> Date: Mon, 23 Feb 2026 14:42:32 +0200 Subject: [PATCH 074/223] Linkify issue references in GitHub changelog entries (#1850) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(changelog-github): linkify issue references in changelog entries Converts plain #1234 references in changeset summaries into clickable GitHub links in the generated CHANGELOG.md. References that are already part of markdown links are left unchanged. Uses the configured repo and GITHUB_SERVER_URL for link generation. Fixes #538 * style: format with prettier * style: fix prettier formatting * simplif regex * extra tests * Create tall-meals-marry.md * explain tradeoff in the comment --------- Co-authored-by: Maks Pikov Co-authored-by: Mateusz BurzyƄski --- .changeset/tall-meals-marry.md | 5 + packages/changelog-github/src/index.test.ts | 106 ++++++++++++++++++++ packages/changelog-github/src/index.ts | 26 ++++- 3 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 .changeset/tall-meals-marry.md diff --git a/.changeset/tall-meals-marry.md b/.changeset/tall-meals-marry.md new file mode 100644 index 000000000..8db63a031 --- /dev/null +++ b/.changeset/tall-meals-marry.md @@ -0,0 +1,5 @@ +--- +"@changesets/changelog-github": minor +--- + +Linkify issue references in changelog entries. diff --git a/packages/changelog-github/src/index.test.ts b/packages/changelog-github/src/index.test.ts index a5904a22d..998bc14a7 100644 --- a/packages/changelog-github/src/index.test.ts +++ b/packages/changelog-github/src/index.test.ts @@ -118,6 +118,112 @@ describe.each(["author", "user"])( } ); +it("linkifies bare issue references", async () => { + expect( + await getReleaseLine(...getChangeset("fixes #1234 and #5678", data.commit)) + ).toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + fixes [#1234](https://github.com/emotion-js/emotion/issues/1234) and [#5678](https://github.com/emotion-js/emotion/issues/5678)" + `); +}); + +it("does not double-linkify existing markdown links", async () => { + expect( + await getReleaseLine( + ...getChangeset( + "see [#1234](https://github.com/emotion-js/emotion/issues/1234)", + data.commit + ) + ) + ).toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + see [#1234](https://github.com/emotion-js/emotion/issues/1234)" + `); +}); + +it("does not linkify issue-like refs inside link text", async () => { + expect( + await getReleaseLine( + ...getChangeset("see [fix for #99](https://example.com)", data.commit) + ) + ).toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + see [fix for #99](https://example.com)" + `); +}); + +it("does not linkify when preceded by a word character", async () => { + expect(await getReleaseLine(...getChangeset("foo#123", data.commit))) + .toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + foo#123" + `); +}); + +it("does not linkify #0", async () => { + expect(await getReleaseLine(...getChangeset("see #0", data.commit))) + .toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + see #0" + `); +}); + +it("linkifies issue ref at the start of a line", async () => { + expect(await getReleaseLine(...getChangeset("#42 was fixed", data.commit))) + .toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + [#42](https://github.com/emotion-js/emotion/issues/42) was fixed" + `); +}); + +it("linkifies issue ref after punctuation", async () => { + expect(await getReleaseLine(...getChangeset("fixed (#99)", data.commit))) + .toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + fixed ([#99](https://github.com/emotion-js/emotion/issues/99))" + `); +}); + +it("handles mixed linked and bare refs", async () => { + expect( + await getReleaseLine( + ...getChangeset( + "fixes [#1](https://github.com/emotion-js/emotion/issues/1) and #2", + data.commit + ) + ) + ).toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + fixes [#1](https://github.com/emotion-js/emotion/issues/1) and [#2](https://github.com/emotion-js/emotion/issues/2)" + `); +}); + +it("linkifies issue ref followed by a dot", async () => { + expect(await getReleaseLine(...getChangeset("this fixes #42.", data.commit))) + .toMatchInlineSnapshot(` + " + + - [#1613](https://github.com/emotion-js/emotion/pull/1613) [\`a085003\`](https://github.com/emotion-js/emotion/commit/a085003) Thanks [@Andarist](https://github.com/Andarist)! - something + this fixes [#42](https://github.com/emotion-js/emotion/issues/42)." + `); +}); + it("with multiple authors", async () => { expect( await getReleaseLine( diff --git a/packages/changelog-github/src/index.ts b/packages/changelog-github/src/index.ts index 8452939c0..3785257fc 100644 --- a/packages/changelog-github/src/index.ts +++ b/packages/changelog-github/src/index.ts @@ -5,6 +5,19 @@ import { getInfo, getInfoFromPullRequest } from "@changesets/get-github-info"; config(); +// "match what you skip, capture what you want": the left alternative +// consumes markdown links so the right alternative only matches bare refs +function linkifyIssueRefs( + line: string, + { serverUrl, repo }: { serverUrl: string; repo: string } +): string { + return line.replace(/\[.*?\]\(.*?\)|\B#([1-9]\d*)\b/g, (match, issue) => + // PRs and issues are the same thing on GitHub (to some extent, of course) + // this relies on GitHub redirecting from /issues/1234 to /pull/1234 when necessary + issue ? `[#${issue}](${serverUrl}/${repo}/issues/${issue})` : match + ); +} + function readEnv() { const GITHUB_SERVER_URL = process.env.GITHUB_SERVER_URL || "https://github.com"; @@ -123,8 +136,17 @@ const changelogFunctions: ChangelogFunctions = { users === null ? "" : ` Thanks ${users}!`, ].join(""); - return `\n\n-${prefix ? `${prefix} -` : ""} ${firstLine}\n${futureLines - .map((l) => ` ${l}`) + return `\n\n-${prefix ? `${prefix} -` : ""} ${linkifyIssueRefs(firstLine, { + serverUrl: GITHUB_SERVER_URL, + repo: options!.repo, + })}\n${futureLines + .map( + (l) => + ` ${linkifyIssueRefs(l, { + serverUrl: GITHUB_SERVER_URL, + repo: options!.repo, + })}` + ) .join("\n")}`; }, }; From 73b18099517b00a3c7b70c417b7f7f1bfaa24931 Mon Sep 17 00:00:00 2001 From: Leo Chiu <72372594+leochiu-a@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:08:44 +0800 Subject: [PATCH 075/223] Add `--message` support (#1839) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(cli): add support for custom message in `add` command - Introduced a new `--msg` option for the `add` command to allow users to provide a custom summary for changesets. - Updated the `CliOptions` type to include the `msg` property. - Modified the `add` function and `createChangeset` to handle the new message parameter, enhancing user experience by allowing direct input of change summaries. * test(cli): enhance tests for `add` command with custom message support - Added tests to verify that the `--msg` option correctly passes a custom summary to the `add` command. - Included scenarios for handling empty summaries and using messages with empty changesets. - Ensured that the confirmation flow remains intact when a summary is provided. * docs(cli): update command line options to include `--msg` for custom summary * chore: update changelog * rename to message * add test * tweak --------- Co-authored-by: Mateusz BurzyƄski --- .changeset/tangy-crabs-give.md | 5 + docs/command-line-options.md | 3 +- packages/cli/README.md | 5 +- .../cli/src/commands/add/__tests__/add.ts | 125 ++++++++++++++++++ .../cli/src/commands/add/createChangeset.ts | 11 +- packages/cli/src/commands/add/index.ts | 11 +- packages/cli/src/index.ts | 4 +- packages/cli/src/run.test.ts | 48 +++++++ packages/cli/src/run.ts | 7 +- packages/cli/src/types.ts | 1 + 10 files changed, 209 insertions(+), 11 deletions(-) create mode 100644 .changeset/tangy-crabs-give.md diff --git a/.changeset/tangy-crabs-give.md b/.changeset/tangy-crabs-give.md new file mode 100644 index 000000000..53b840f44 --- /dev/null +++ b/.changeset/tangy-crabs-give.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": minor +--- + +Add a `--message` (`-m`) flag to `changeset add` (and default `changeset`) so the changeset summary can be provided from the command line. When `--message` is present, the summary prompt is skipped while the final confirmation step is kept. diff --git a/docs/command-line-options.md b/docs/command-line-options.md index c6d9590d0..f7b96b614 100644 --- a/docs/command-line-options.md +++ b/docs/command-line-options.md @@ -3,7 +3,7 @@ The command line for changesets is the main way of interacting with it. There are 4 main commands. If you are looking for how we recommend you setup and manage changesets with the commands, check out our [intro to using changesets](./intro-to-using-changesets.md) - init -- add [--empty][--open] +- add [--empty] [--open] [--message ] - version [--ignore, --snapshot] - publish [--otp=code, --tag] - status [--since=master --verbose --output=JSON_FILE.json] @@ -65,6 +65,7 @@ A changeset created with the empty flag would look like this: If you set the commit option in the config, the command will add the updated changeset files and then commit them. - `--open` - opens the created changeset in an external editor +- `--message` (or `-m`) - provides the changeset summary from the command line instead of prompting for it. ## version diff --git a/packages/cli/README.md b/packages/cli/README.md index fa78b5bee..18362fa0b 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -100,13 +100,13 @@ To publish public packages to NPM, you'll need to edit `.changeset/config.json` ### add ```shell -changeset [--empty] [--open] +changeset [--empty] [--open] [--message ] ``` or ```shell -changeset add [--empty] [--open] +changeset add [--empty] [--open] [--message ] ``` This command will ask you a series of questions, first about what packages you want to release, then what semver bump type for each package, then it will ask for a summary of the entire changeset. At the final step it will show the changeset it will generate, and confirm that you want to add it. @@ -137,6 +137,7 @@ A changeset created with the `empty` flag would look like this: If you set the `commit` option in the config, the command will add the updated changeset files and then commit them. - `--open` - opens the created changeset in an external editor +- `--message` (or `-m`) - provides the changeset summary from the command line instead of prompting for it. ### version diff --git a/packages/cli/src/commands/add/__tests__/add.ts b/packages/cli/src/commands/add/__tests__/add.ts index 1664ae3ce..2fe914b8d 100644 --- a/packages/cli/src/commands/add/__tests__/add.ts +++ b/packages/cli/src/commands/add/__tests__/add.ts @@ -260,6 +260,131 @@ describe("Add command", () => { ); }); + it("should use summary passed via message and keep confirmation flow", async () => { + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + name: "single-package", + version: "1.0.0", + }), + }); + + // @ts-ignore + askList.mockReturnValueOnce(Promise.resolve("minor")); + // @ts-ignore + askConfirm.mockReturnValueOnce(Promise.resolve(true)); + + await addChangeset( + cwd, + { empty: false, message: "summary from message" }, + defaultConfig + ); + + // @ts-ignore + const call = writeChangeset.mock.calls[0][0]; + expect(call).toEqual( + expect.objectContaining({ + summary: "summary from message", + releases: [{ name: "single-package", type: "minor" }], + }) + ); + expect(askConfirm).toHaveBeenCalledWith("Is this your desired changeset?"); + expect(askQuestion).not.toHaveBeenCalled(); + expect(askQuestionWithEditor).not.toHaveBeenCalled(); + }); + + it("should allow empty summary when message is an empty string", async () => { + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + name: "single-package", + version: "1.0.0", + }), + }); + + // @ts-ignore + askList.mockReturnValueOnce(Promise.resolve("patch")); + // @ts-ignore + askConfirm.mockReturnValueOnce(Promise.resolve(true)); + + await addChangeset(cwd, { empty: false, message: "" }, defaultConfig); + + // @ts-ignore + const call = writeChangeset.mock.calls[0][0]; + expect(call).toEqual( + expect.objectContaining({ + summary: "", + releases: [{ name: "single-package", type: "patch" }], + }) + ); + expect(askQuestion).not.toHaveBeenCalled(); + expect(askQuestionWithEditor).not.toHaveBeenCalled(); + }); + + it("should use summary passed via message in a monorepo and skip summary prompt", async () => { + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + }), + "packages/pkg-b/package.json": JSON.stringify({ + name: "pkg-b", + version: "1.0.0", + }), + }); + + mockUserResponses({ releases: { "pkg-a": "patch" } }); + await addChangeset( + cwd, + { empty: false, message: "monorepo summary from message" }, + defaultConfig + ); + + // @ts-ignore + const call = writeChangeset.mock.calls[0][0]; + expect(call).toEqual( + expect.objectContaining({ + summary: "monorepo summary from message", + releases: [{ name: "pkg-a", type: "patch" }], + }) + ); + expect(askConfirm).toHaveBeenCalledWith("Is this your desired changeset?"); + expect(askQuestion).not.toHaveBeenCalled(); + expect(askQuestionWithEditor).not.toHaveBeenCalled(); + }); + + it("should allow using message with empty changesets", async () => { + const cwd = await testdir({ + "package.json": JSON.stringify({ + private: true, + workspaces: ["packages/*"], + }), + "packages/pkg-a/package.json": JSON.stringify({ + name: "pkg-a", + version: "1.0.0", + }), + }); + + await addChangeset( + cwd, + { empty: true, message: "empty changeset summary" }, + defaultConfig + ); + + // @ts-ignore + const call = writeChangeset.mock.calls[0][0]; + expect(call).toEqual( + expect.objectContaining({ + releases: [], + summary: "empty changeset summary", + }) + ); + }); + it("should not include ignored packages in the prompt", async () => { const cwd = await testdir({ "package.json": JSON.stringify({ diff --git a/packages/cli/src/commands/add/createChangeset.ts b/packages/cli/src/commands/add/createChangeset.ts index faeef8a0c..a9a57ca0e 100644 --- a/packages/cli/src/commands/add/createChangeset.ts +++ b/packages/cli/src/commands/add/createChangeset.ts @@ -108,7 +108,8 @@ function formatPkgNameAndVersion(pkgName: string, version: string) { export default async function createChangeset( changedPackages: Array, - allPackages: Package[] + allPackages: Package[], + messageFromCli?: string ): Promise<{ confirmed: boolean; summary: string; releases: Array }> { const releases: Array = []; @@ -235,6 +236,14 @@ export default async function createChangeset( releases.push({ name: pkg.packageJson.name, type }); } + if (messageFromCli !== undefined) { + return { + confirmed: false, + summary: messageFromCli, + releases, + }; + } + log( "Please enter a summary for this change (this will be in the changelogs)." ); diff --git a/packages/cli/src/commands/add/index.ts b/packages/cli/src/commands/add/index.ts index 5f0cb88af..a0db9dedf 100644 --- a/packages/cli/src/commands/add/index.ts +++ b/packages/cli/src/commands/add/index.ts @@ -18,7 +18,11 @@ import printConfirmationMessage from "./messages"; export default async function add( cwd: string, - { empty, open }: { empty?: boolean; open?: boolean }, + { + empty, + open, + message, + }: { empty?: boolean; open?: boolean; message?: string }, config: Config ): Promise { const packages = await getPackages(cwd); @@ -51,7 +55,7 @@ export default async function add( newChangeset = { confirmed: true, releases: [], - summary: ``, + summary: message ?? "", }; } else { let changedPackagesNames: string[] = []; @@ -72,7 +76,8 @@ export default async function add( newChangeset = await createChangeset( changedPackagesNames, - versionablePackages + versionablePackages, + message ); printConfirmationMessage(newChangeset, versionablePackages.length > 1); diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index de627c493..46804c89d 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -13,6 +13,7 @@ const parsed = mri(args, { "otp", "since", "ignore", + "message", "tag", "snapshot", "snapshotPrereleaseTemplate", @@ -21,6 +22,7 @@ const parsed = mri(args, { // Short flags v: "verbose", o: "output", + m: "message", // Support kebab-case flags "since-master": "sinceMaster", "git-tag": "gitTag", @@ -52,7 +54,7 @@ if (parsed.help && args.length === 1) { $ changeset [command] Commands init - add [--empty] [--open] + add [--empty] [--open] [--message ] version [--ignore] [--snapshot ] [--snapshot-prerelease-template