From f5ee08031cff172b451803da4b71eb3bf0a1ba01 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 01:21:40 +0000 Subject: [PATCH 1/6] feat!: Upgrade to Jiti 2 --- .github/workflows/build.yml | 9 ++ README.md | 22 +++- lib/index.spec.ts | 38 +------ lib/index.ts | 2 +- lib/loader.spec.ts | 166 ++++++++++++++++++++-------- lib/loader.ts | 38 ++++++- package.json | 8 +- pnpm-lock.yaml | 100 ++++++++--------- smoke-tests/smoke-test-cjs-sync.cjs | 28 +++++ smoke-tests/smoke-test-esm-sync.mjs | 28 +++++ smoke-tests/smoke-test-sync.js | 26 +++++ 11 files changed, 324 insertions(+), 141 deletions(-) create mode 100644 smoke-tests/smoke-test-cjs-sync.cjs create mode 100644 smoke-tests/smoke-test-esm-sync.mjs create mode 100644 smoke-tests/smoke-test-sync.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 463012b..c3adc64 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,6 +42,15 @@ jobs: - name: Import with both CJS and ESM if: ${{ always() }} run: node smoke-tests/smoke-test.js + - name: Import synchronously with CJS + if: ${{ always() }} + run: node smoke-tests/smoke-test-cjs-sync.cjs + - name: Import synchronously with ESM + if: ${{ always() }} + run: node smoke-tests/smoke-test-esm-sync.mjs + - name: Import synchronously with both CJS and ESM + if: ${{ always() }} + run: node smoke-tests/smoke-test-sync.js - name: lint if: ${{ always() }} run: pnpm lint diff --git a/README.md b/README.md index 6dd83d0..c15df76 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## Usage -Simply add `TypeScriptLoader` to the list of loaders for the `.ts` file type: +Simply add `TypeScriptLoader` to the list of loaders for the `.ts` file type, and `await` loading: ```ts import { cosmiconfig } from "cosmiconfig"; @@ -34,7 +34,7 @@ const explorer = cosmiconfig("test", { }, }); -const cfg = explorer.load("./"); +const cfg = await explorer.load("./"); ``` Or more simply if you only support loading of a TypeScript based configuration file: @@ -50,6 +50,24 @@ const explorer = cosmiconfig("test", { }, }); +const cfg = await explorer.load("./amazing.config.ts"); +``` + +### Synchronously loading + +With the release of Jiti 2, the synchronous loader has now been deprecated. It can still be used by using the `TypeScriptLoaderSync` export: + +```ts +import { cosmiconfig } from "cosmiconfig"; +import { TypeScriptLoaderSync } from "cosmiconfig-typescript-loader"; + +const moduleName = "module"; +const explorer = cosmiconfig("test", { + loaders: { + ".ts": TypeScriptLoaderSync(), + }, +}); + const cfg = explorer.load("./amazing.config.ts"); ``` diff --git a/lib/index.spec.ts b/lib/index.spec.ts index 7734cea..23c27ce 100644 --- a/lib/index.spec.ts +++ b/lib/index.spec.ts @@ -1,8 +1,10 @@ +/* eslint-disable @typescript-eslint/no-deprecated */ + import path from "node:path"; import { cosmiconfig, cosmiconfigSync } from "cosmiconfig"; -import { TypeScriptLoader } from "."; +import { TypeScriptLoader, TypeScriptLoaderSync } from "."; describe("TypeScriptLoader", () => { const fixturesPath = path.resolve(__dirname, "__fixtures__"); @@ -10,6 +12,7 @@ describe("TypeScriptLoader", () => { describe("exports", () => { it("should export the loader function as a default", () => { expect(typeof TypeScriptLoader).toStrictEqual("function"); + expect(typeof TypeScriptLoaderSync).toStrictEqual("function"); }); }); @@ -18,7 +21,7 @@ describe("TypeScriptLoader", () => { it("should load a valid TS file", () => { const cfg = cosmiconfigSync("test", { loaders: { - ".ts": TypeScriptLoader(), + ".ts": TypeScriptLoaderSync(), }, }); const loadedCfg = cfg.load( @@ -33,7 +36,7 @@ describe("TypeScriptLoader", () => { it("should throw an error on loading an invalid TS file", () => { const cfg = cosmiconfigSync("test", { loaders: { - ".ts": TypeScriptLoader(), + ".ts": TypeScriptLoaderSync(), }, }); @@ -80,33 +83,4 @@ describe("TypeScriptLoader", () => { }); }); }); - - describe("cosmiconfigSync", () => { - it("should load a valid TS file", () => { - const cfg = cosmiconfigSync("test", { - loaders: { - ".ts": TypeScriptLoader(), - }, - }); - const loadedCfg = cfg.load( - path.resolve(fixturesPath, "valid.fixture.ts"), - ); - - expect(typeof loadedCfg!.config).toStrictEqual("object"); - expect(typeof loadedCfg!.config.test).toStrictEqual("object"); - expect(loadedCfg!.config.test.cake).toStrictEqual("a lie"); - }); - - it("should throw an error on loading an invalid TS file", () => { - const cfg = cosmiconfigSync("test", { - loaders: { - ".ts": TypeScriptLoader(), - }, - }); - - expect(() => - cfg.load(path.resolve(fixturesPath, "invalid.fixture.ts")), - ).toThrow(); - }); - }); }); diff --git a/lib/index.ts b/lib/index.ts index 203de7e..4c66e00 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -1,2 +1,2 @@ -export { TypeScriptLoader } from "./loader.js"; +export { TypeScriptLoader, TypeScriptLoaderSync } from "./loader.js"; export type { TypeScriptCompileError } from "./typescript-compile-error.js"; diff --git a/lib/loader.spec.ts b/lib/loader.spec.ts index 27cf443..a0c47cc 100644 --- a/lib/loader.spec.ts +++ b/lib/loader.spec.ts @@ -1,10 +1,10 @@ import fs from "node:fs"; import path from "node:path"; -import { Loader } from "cosmiconfig"; +import type { LoaderResult, LoaderSync } from "cosmiconfig"; import * as jiti from "jiti"; -import { TypeScriptLoader } from "./loader"; +import { TypeScriptLoader, TypeScriptLoaderSync } from "./loader"; import { TypeScriptCompileError } from "./typescript-compile-error"; // Handle jiti using `export default` @@ -12,83 +12,155 @@ jest.mock("jiti", () => { const actual = jest.requireActual("jiti"); return { __esModule: true, - default: jest.fn(actual), + createJiti: actual.createJiti, }; }); describe("TypeScriptLoader", () => { const fixturesPath = path.resolve(__dirname, "__fixtures__"); - const jitiSpy = jest.spyOn(jiti, "default"); - - let loader: Loader; + let jitiCreateJitiSpy: jest.SpyInstance; function readFixtureContent(file: string): string { return fs.readFileSync(file).toString(); } - beforeAll(() => { - loader = TypeScriptLoader(); + beforeEach(() => { + jitiCreateJitiSpy = jest.spyOn(jiti, "createJiti"); }); - it("should parse a valid TS file", () => { - const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); - loader(filePath, readFixtureContent(filePath)); + afterEach(() => { + jest.restoreAllMocks(); }); - it("should fail on parsing an invalid TS file", () => { - const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); - expect((): unknown => - loader(filePath, readFixtureContent(filePath)), - ).toThrow(); - }); + describe("asynchronous", () => { + let loader: (filepath: string, content: string) => Promise; - it("should use the same instance of jiti across multiple calls", () => { - const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); - loader(filePath, readFixtureContent(filePath)); - loader(filePath, readFixtureContent(filePath)); - expect(jitiSpy).toHaveBeenCalledTimes(1); - }); + beforeEach(() => { + loader = TypeScriptLoader(); + }); + + it("should parse a valid TS file", async () => { + const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); + await loader(filePath, readFixtureContent(filePath)); + }); - it("should throw a TypeScriptCompileError on error", () => { - try { + it("should fail on parsing an invalid TS file", async () => { const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); - loader(filePath, readFixtureContent(filePath)); - fail( - "Error should be thrown upon failing to transpile an invalid TS file.", - ); - } catch (error: unknown) { - expect(error).toBeInstanceOf(TypeScriptCompileError); - } - }); + await expect( + loader(filePath, readFixtureContent(filePath)), + ).rejects.toThrow(); + }); - describe("jiti", () => { - const unknownError = "Test Error"; + it("should use the same instance of jiti across multiple calls", async () => { + const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); + await loader(filePath, readFixtureContent(filePath)); + await loader(filePath, readFixtureContent(filePath)); + expect(jitiCreateJitiSpy).toHaveBeenCalledTimes(1); + }); - let stub: jest.SpyInstance; + it("should throw a TypeScriptCompileError on error", async () => { + try { + const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); + await loader(filePath, readFixtureContent(filePath)); + fail( + "Error should be thrown upon failing to transpile an invalid TS file.", + ); + } catch (error: unknown) { + expect(error).toBeInstanceOf(TypeScriptCompileError); + } + }); + + describe("jiti", () => { + const unknownError = "Test Error"; + + beforeEach(() => { + jitiCreateJitiSpy.mockImplementation((() => ({ + import: () => { + // eslint-disable-next-line @typescript-eslint/only-throw-error + throw unknownError; + }, + })) as never); + + loader = TypeScriptLoader(); + }); + + it("rethrows an error if it is not an instance of Error", async () => { + try { + await loader("filePath", "readFixtureContent(filePath)"); + fail( + "Error should be thrown upon failing to transpile an invalid TS file.", + ); + } catch (error: unknown) { + expect(error).not.toBeInstanceOf(TypeScriptCompileError); + expect(error).toStrictEqual(unknownError); + } + }); + }); + }); + + describe("synchronous", () => { + let loader: LoaderSync; beforeEach(() => { - stub = jest.spyOn(jiti, "default").mockImplementation((() => () => { - // eslint-disable-next-line @typescript-eslint/only-throw-error - throw unknownError; - }) as never); + // eslint-disable-next-line @typescript-eslint/no-deprecated + loader = TypeScriptLoaderSync(); + }); - loader = TypeScriptLoader(); + it("should parse a valid TS file", () => { + const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); + loader(filePath, readFixtureContent(filePath)); + }); + + it("should fail on parsing an invalid TS file", () => { + const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); + expect((): unknown => + loader(filePath, readFixtureContent(filePath)), + ).toThrow(); }); - afterEach(() => { - stub.mockRestore(); + it("should use the same instance of jiti across multiple calls", () => { + const filePath = path.resolve(fixturesPath, "valid.fixture.ts"); + loader(filePath, readFixtureContent(filePath)); + loader(filePath, readFixtureContent(filePath)); + expect(jitiCreateJitiSpy).toHaveBeenCalledTimes(1); }); - it("rethrows an error if it is not an instance of Error", () => { + it("should throw a TypeScriptCompileError on error", () => { try { - loader("filePath", "readFixtureContent(filePath)"); + const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); + loader(filePath, readFixtureContent(filePath)); fail( "Error should be thrown upon failing to transpile an invalid TS file.", ); } catch (error: unknown) { - expect(error).not.toBeInstanceOf(TypeScriptCompileError); - expect(error).toStrictEqual(unknownError); + expect(error).toBeInstanceOf(TypeScriptCompileError); } }); + + describe("jiti", () => { + const unknownError = "Test Error"; + + beforeEach(() => { + jitiCreateJitiSpy.mockImplementation((() => () => { + // eslint-disable-next-line @typescript-eslint/only-throw-error + throw unknownError; + }) as never); + + // eslint-disable-next-line @typescript-eslint/no-deprecated + loader = TypeScriptLoaderSync(); + }); + + it("rethrows an error if it is not an instance of Error", () => { + try { + loader("filePath", "readFixtureContent(filePath)"); + fail( + "Error should be thrown upon failing to transpile an invalid TS file.", + ); + } catch (error: unknown) { + expect(error).not.toBeInstanceOf(TypeScriptCompileError); + expect(error).toStrictEqual(unknownError); + } + }); + }); }); }); diff --git a/lib/loader.ts b/lib/loader.ts index 36ca35f..15a2b12 100644 --- a/lib/loader.ts +++ b/lib/loader.ts @@ -1,13 +1,41 @@ -import type { Loader } from "cosmiconfig"; -import jiti, { type JITIOptions } from "jiti"; +import type { LoaderResult, LoaderSync } from "cosmiconfig"; +import { createJiti } from "jiti"; +import type { Jiti, JitiOptions } from "jiti/lib/types.js"; import { TypeScriptCompileError } from "./typescript-compile-error.js"; -export function TypeScriptLoader(options?: JITIOptions): Loader { - const loader = jiti("", { interopDefault: true, ...options }); +type LoaderAsync = (filepath: string, content: string) => Promise; + +export function TypeScriptLoader(options?: JitiOptions): LoaderAsync { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment + const loader: Jiti = createJiti("", { interopDefault: true, ...options }); + return async (path: string): Promise => { + try { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any + const result: { default?: unknown } = (await loader.import(path)) as any; + + // `default` is used when exporting using export default, some modules + // may still use `module.exports` or if in TS `export = ` + return result.default || result; + } catch (error) { + if (error instanceof Error) { + // Coerce generic error instance into typed error with better logging. + throw TypeScriptCompileError.fromError(error); + } + throw error; + } + }; +} + +/** + * @deprecated use `TypeScriptLoader` + */ +export function TypeScriptLoaderSync(options?: JitiOptions): LoaderSync { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment + const loader: Jiti = createJiti("", { interopDefault: true, ...options }); return (path: string): unknown => { try { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-deprecated const result: { default?: unknown } = loader(path); // `default` is used when exporting using export default, some modules diff --git a/package.json b/package.json index 2f0445b..d31f150 100644 --- a/package.json +++ b/package.json @@ -44,15 +44,15 @@ "test:coverage": "jest --coverage" }, "engines": { - "node": ">=v16" + "node": ">=v18" }, "peerDependencies": { "@types/node": "*", - "cosmiconfig": ">=8.2", - "typescript": ">=4" + "cosmiconfig": ">=9", + "typescript": ">=5" }, "dependencies": { - "jiti": "^1.21.6" + "jiti": "^2.3.3" }, "devDependencies": { "@swc/core": "^1.7.26", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff8c41b..bbad7e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: '*' version: 22.7.4 jiti: - specifier: ^1.21.6 - version: 1.21.6 + specifier: ^2.3.3 + version: 2.3.3 devDependencies: '@swc/core': specifier: ^1.7.26 @@ -26,7 +26,7 @@ importers: version: 29.5.13 '@typescript-eslint/eslint-plugin': specifier: ^8.10.0 - version: 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + version: 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) chalk: specifier: ^5.3.0 version: 5.3.0 @@ -38,16 +38,16 @@ importers: version: 0.24.0 eslint: specifier: ^9.13.0 - version: 9.13.0(jiti@1.21.6) + version: 9.13.0(jiti@2.3.3) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.13.0(jiti@1.21.6)) + version: 9.1.0(eslint@9.13.0(jiti@2.3.3)) eslint-import-resolver-typescript: specifier: ^3.6.3 - version: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@1.21.6)) + version: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)) eslint-plugin-import-x: specifier: ^4.3.1 - version: 4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + version: 4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.7.4) @@ -62,7 +62,7 @@ importers: version: 5.6.2 typescript-eslint: specifier: ^8.10.0 - version: 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + version: 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) packages: @@ -2071,8 +2071,8 @@ packages: node-notifier: optional: true - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + jiti@2.3.3: + resolution: {integrity: sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==} hasBin: true js-tokens@4.0.0: @@ -3285,9 +3285,9 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0(jiti@2.3.3))': dependencies: - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -3764,15 +3764,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) '@typescript-eslint/scope-manager': 8.10.0 - '@typescript-eslint/type-utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/type-utils': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.10.0 - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3782,14 +3782,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/types': 8.10.0 '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.10.0 debug: 4.3.7 - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -3800,10 +3800,10 @@ snapshots: '@typescript-eslint/types': 8.10.0 '@typescript-eslint/visitor-keys': 8.10.0 - '@typescript-eslint/type-utils@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -3829,13 +3829,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2)': + '@typescript-eslint/utils@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.3.3)) '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/types': 8.10.0 '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.2) - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) transitivePeerDependencies: - supports-color - typescript @@ -4471,9 +4471,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@1.21.6)): + eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@2.3.3)): dependencies: - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) eslint-import-resolver-node@0.3.9: dependencies: @@ -4483,43 +4483,43 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@1.21.6)): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 - eslint: 9.13.0(jiti@1.21.6) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@1.21.6)) + eslint: 9.13.0(jiti@2.3.3) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) + eslint-plugin-import-x: 4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@1.21.6)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.13.0(jiti@1.21.6) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) + eslint: 9.13.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@1.21.6)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)) transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2): + eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -4531,7 +4531,7 @@ snapshots: - supports-color - typescript - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@1.21.6)): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -4540,9 +4540,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.13.0(jiti@1.21.6) + eslint: 9.13.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@1.21.6)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -4553,7 +4553,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -4569,9 +4569,9 @@ snapshots: eslint-visitor-keys@4.1.0: {} - eslint@9.13.0(jiti@1.21.6): + eslint@9.13.0(jiti@2.3.3): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.3.3)) '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/core': 0.7.0 @@ -4607,7 +4607,7 @@ snapshots: optionator: 0.9.4 text-table: 0.2.0 optionalDependencies: - jiti: 1.21.6 + jiti: 2.3.3 transitivePeerDependencies: - supports-color @@ -5489,7 +5489,7 @@ snapshots: - supports-color - ts-node - jiti@1.21.6: {} + jiti@2.3.3: {} js-tokens@4.0.0: {} @@ -6301,11 +6301,11 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2): + typescript-eslint@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: diff --git a/smoke-tests/smoke-test-cjs-sync.cjs b/smoke-tests/smoke-test-cjs-sync.cjs new file mode 100644 index 0000000..4cfa5dc --- /dev/null +++ b/smoke-tests/smoke-test-cjs-sync.cjs @@ -0,0 +1,28 @@ +const assert = require("node:assert"); + +const { cosmiconfig } = require("cosmiconfig"); +const { TypeScriptLoaderSync } = require("../dist/cjs/index.cjs"); +TypeScriptLoaderSync(); + +(async () => { + try { + const explorer = cosmiconfig("test", { + loaders: { + ".ts": TypeScriptLoaderSync(), + }, + }); + + const cfg = await explorer.load("./smoke-tests/config.ts"); + + assert.deepStrictEqual(cfg.config, { + cake: "lie", + }); + + console.info("Loaded with CJS successfully"); + } catch (error) { + console.error(error); + console.debug(error.stack); + console.error("Failed to load with CJS"); + process.exit(1); + } +})(); diff --git a/smoke-tests/smoke-test-esm-sync.mjs b/smoke-tests/smoke-test-esm-sync.mjs new file mode 100644 index 0000000..3f96f4d --- /dev/null +++ b/smoke-tests/smoke-test-esm-sync.mjs @@ -0,0 +1,28 @@ +import assert from "node:assert"; + +import { cosmiconfig } from "cosmiconfig"; +import { TypeScriptLoaderSync } from "../dist/esm/index.mjs"; +TypeScriptLoaderSync(); + +(async () => { + try { + const explorer = cosmiconfig("test", { + loaders: { + ".ts": TypeScriptLoaderSync(), + }, + }); + + const cfg = await explorer.load("./smoke-tests/config.ts"); + + assert.deepStrictEqual(cfg.config, { + cake: "lie", + }); + + console.info("Loaded with ESM successfully"); + } catch (error) { + console.error(error); + console.debug(error.stack); + console.error("Failed to load with ESM"); + process.exit(1); + } +})(); diff --git a/smoke-tests/smoke-test-sync.js b/smoke-tests/smoke-test-sync.js new file mode 100644 index 0000000..724c182 --- /dev/null +++ b/smoke-tests/smoke-test-sync.js @@ -0,0 +1,26 @@ +const assert = require("node:assert"); + +(async () => { + try { + const { TypeScriptLoaderSync: esm } = await import("../dist/esm/index.mjs"); + const { TypeScriptLoaderSync: cjs } = require("../dist/cjs/index.cjs"); + + // Assert the functions loaded by checking their names load and types are correct + assert.strictEqual(esm.name === "TypeScriptLoaderSync", true); + assert.strictEqual(typeof esm === "function", true); + assert.strictEqual(cjs.name === "TypeScriptLoaderSync", true); + assert.strictEqual(typeof cjs === "function", true); + + // Try to create loaders + esm(); + cjs(); + + console.info("Loaded with both CJS and ESM successfully"); + } catch (error) { + console.error(error); + console.debug(error.stack); + + // Prevent an unhandled rejection, exit gracefully. + process.exit(1); + } +})(); From ae87dd3188035fe382815c203ea4562499b97cf3 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Sat, 19 Oct 2024 16:37:54 +1300 Subject: [PATCH 2/6] test: imrpove smoke tests --- smoke-tests/smoke-test-cjs-sync.cjs | 12 +++++++++--- smoke-tests/smoke-test-cjs.cjs | 12 +++++++++--- smoke-tests/smoke-test-esm-sync.mjs | 12 +++++++++--- smoke-tests/smoke-test-esm.mjs | 12 +++++++++--- smoke-tests/smoke-test-sync.js | 15 +++++++++++++-- smoke-tests/smoke-test.js | 19 +++++++++++++++++-- 6 files changed, 66 insertions(+), 16 deletions(-) diff --git a/smoke-tests/smoke-test-cjs-sync.cjs b/smoke-tests/smoke-test-cjs-sync.cjs index 4cfa5dc..4bc8176 100644 --- a/smoke-tests/smoke-test-cjs-sync.cjs +++ b/smoke-tests/smoke-test-cjs-sync.cjs @@ -20,9 +20,15 @@ TypeScriptLoaderSync(); console.info("Loaded with CJS successfully"); } catch (error) { - console.error(error); - console.debug(error.stack); - console.error("Failed to load with CJS"); + console.error("Failed to load configuration with CJS"); + if (error instanceof TypeError) { + console.error("Type error occurred:", error.message); + } else if (error instanceof SyntaxError) { + console.error("Syntax error in configuration file:", error.message); + } else { + console.error("An unexpected error occurred:", error.message); + } + console.debug("Error stack trace:", error.stack); process.exit(1); } })(); diff --git a/smoke-tests/smoke-test-cjs.cjs b/smoke-tests/smoke-test-cjs.cjs index 5fe64b6..0e3db88 100644 --- a/smoke-tests/smoke-test-cjs.cjs +++ b/smoke-tests/smoke-test-cjs.cjs @@ -20,9 +20,15 @@ TypeScriptLoader(); console.info("Loaded with CJS successfully"); } catch (error) { - console.error(error); - console.debug(error.stack); - console.error("Failed to load with CJS"); + console.error("Failed to load configuration with CJS"); + if (error instanceof TypeError) { + console.error("Type error occurred:", error.message); + } else if (error instanceof SyntaxError) { + console.error("Syntax error in configuration file:", error.message); + } else { + console.error("An unexpected error occurred:", error.message); + } + console.debug("Error stack trace:", error.stack); process.exit(1); } })(); diff --git a/smoke-tests/smoke-test-esm-sync.mjs b/smoke-tests/smoke-test-esm-sync.mjs index 3f96f4d..5202186 100644 --- a/smoke-tests/smoke-test-esm-sync.mjs +++ b/smoke-tests/smoke-test-esm-sync.mjs @@ -20,9 +20,15 @@ TypeScriptLoaderSync(); console.info("Loaded with ESM successfully"); } catch (error) { - console.error(error); - console.debug(error.stack); - console.error("Failed to load with ESM"); + console.error("Failed to load configuration with ESM"); + if (error instanceof TypeError) { + console.error("Type error occurred:", error.message); + } else if (error instanceof SyntaxError) { + console.error("Syntax error in configuration file:", error.message); + } else { + console.error("An unexpected error occurred:", error.message); + } + console.debug("Error stack trace:", error.stack); process.exit(1); } })(); diff --git a/smoke-tests/smoke-test-esm.mjs b/smoke-tests/smoke-test-esm.mjs index e19e206..f5c7f01 100644 --- a/smoke-tests/smoke-test-esm.mjs +++ b/smoke-tests/smoke-test-esm.mjs @@ -20,9 +20,15 @@ TypeScriptLoader(); console.info("Loaded with ESM successfully"); } catch (error) { - console.error(error); - console.debug(error.stack); - console.error("Failed to load with ESM"); + console.error("Failed to load configuration with ESM"); + if (error instanceof TypeError) { + console.error("Type error occurred:", error.message); + } else if (error instanceof SyntaxError) { + console.error("Syntax error in configuration file:", error.message); + } else { + console.error("An unexpected error occurred:", error.message); + } + console.debug("Error stack trace:", error.stack); process.exit(1); } })(); diff --git a/smoke-tests/smoke-test-sync.js b/smoke-tests/smoke-test-sync.js index 724c182..ac16920 100644 --- a/smoke-tests/smoke-test-sync.js +++ b/smoke-tests/smoke-test-sync.js @@ -12,8 +12,19 @@ const assert = require("node:assert"); assert.strictEqual(typeof cjs === "function", true); // Try to create loaders - esm(); - cjs(); + const esmResult = esm({}); + const cjsResult = cjs({}); + + assert.strictEqual( + typeof esmResult, + "function", + "ESM loader should return an function", + ); + assert.strictEqual( + typeof cjsResult, + "function", + "CJS loader should return an function", + ); console.info("Loaded with both CJS and ESM successfully"); } catch (error) { diff --git a/smoke-tests/smoke-test.js b/smoke-tests/smoke-test.js index f3a1591..34e6a79 100644 --- a/smoke-tests/smoke-test.js +++ b/smoke-tests/smoke-test.js @@ -12,8 +12,23 @@ const assert = require("node:assert"); assert.strictEqual(typeof cjs === "function", true); // Try to create loaders - esm(); - cjs(); + const esmResult = await esm({ + /* mock config */ + }); + const cjsResult = await cjs({ + /* mock config */ + }); + + assert.strictEqual( + typeof esmResult, + "function", + "ESM loader should return an function", + ); + assert.strictEqual( + typeof cjsResult, + "function", + "CJS loader should return an function", + ); console.info("Loaded with both CJS and ESM successfully"); } catch (error) { From 1547200bd5b04d6deb48efe61f9cdc4901cff8eb Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Sat, 19 Oct 2024 16:38:12 +1300 Subject: [PATCH 3/6] chore: remove reaching into jiti for types --- lib/loader.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/loader.ts b/lib/loader.ts index 15a2b12..f2ce411 100644 --- a/lib/loader.ts +++ b/lib/loader.ts @@ -1,7 +1,8 @@ import type { LoaderResult, LoaderSync } from "cosmiconfig"; import { createJiti } from "jiti"; -import type { Jiti, JitiOptions } from "jiti/lib/types.js"; +type Jiti = ReturnType; +type JitiOptions = Parameters[1]; import { TypeScriptCompileError } from "./typescript-compile-error.js"; type LoaderAsync = (filepath: string, content: string) => Promise; From 6f9fb984794c8e2aabbad82644bc25fc4b9e2cf8 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Sat, 19 Oct 2024 16:40:18 +1300 Subject: [PATCH 4/6] fix: improve typings --- lib/loader.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/loader.ts b/lib/loader.ts index f2ce411..722e867 100644 --- a/lib/loader.ts +++ b/lib/loader.ts @@ -8,12 +8,10 @@ import { TypeScriptCompileError } from "./typescript-compile-error.js"; type LoaderAsync = (filepath: string, content: string) => Promise; export function TypeScriptLoader(options?: JitiOptions): LoaderAsync { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment const loader: Jiti = createJiti("", { interopDefault: true, ...options }); - return async (path: string): Promise => { + return async (path: string, _content: string): Promise => { try { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any - const result: { default?: unknown } = (await loader.import(path)) as any; + const result = (await loader.import(path)) as { default?: unknown }; // `default` is used when exporting using export default, some modules // may still use `module.exports` or if in TS `export = ` @@ -32,12 +30,11 @@ export function TypeScriptLoader(options?: JitiOptions): LoaderAsync { * @deprecated use `TypeScriptLoader` */ export function TypeScriptLoaderSync(options?: JitiOptions): LoaderSync { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment const loader: Jiti = createJiti("", { interopDefault: true, ...options }); - return (path: string): unknown => { + return (path: string, _content: string): LoaderResult => { try { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-deprecated - const result: { default?: unknown } = loader(path); + // eslint-disable-next-line @typescript-eslint/no-deprecated + const result = loader(path) as { default?: unknown }; // `default` is used when exporting using export default, some modules // may still use `module.exports` or if in TS `export = ` From 364312b04de2beb7985a6ebd30952ad25b3429c7 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Sat, 19 Oct 2024 16:42:37 +1300 Subject: [PATCH 5/6] test: improve tests --- lib/loader.spec.ts | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/lib/loader.spec.ts b/lib/loader.spec.ts index a0c47cc..161b5e4 100644 --- a/lib/loader.spec.ts +++ b/lib/loader.spec.ts @@ -59,15 +59,10 @@ describe("TypeScriptLoader", () => { }); it("should throw a TypeScriptCompileError on error", async () => { - try { - const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); - await loader(filePath, readFixtureContent(filePath)); - fail( - "Error should be thrown upon failing to transpile an invalid TS file.", - ); - } catch (error: unknown) { - expect(error).toBeInstanceOf(TypeScriptCompileError); - } + const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); + await expect( + loader(filePath, readFixtureContent(filePath)), + ).rejects.toThrow(TypeScriptCompileError); }); describe("jiti", () => { @@ -86,7 +81,7 @@ describe("TypeScriptLoader", () => { it("rethrows an error if it is not an instance of Error", async () => { try { - await loader("filePath", "readFixtureContent(filePath)"); + await loader("filePath", "invalidInput"); fail( "Error should be thrown upon failing to transpile an invalid TS file.", ); @@ -126,15 +121,10 @@ describe("TypeScriptLoader", () => { }); it("should throw a TypeScriptCompileError on error", () => { - try { - const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); - loader(filePath, readFixtureContent(filePath)); - fail( - "Error should be thrown upon failing to transpile an invalid TS file.", - ); - } catch (error: unknown) { - expect(error).toBeInstanceOf(TypeScriptCompileError); - } + const filePath = path.resolve(fixturesPath, "invalid.fixture.ts"); + expect((): unknown => + loader(filePath, readFixtureContent(filePath)), + ).toThrow(TypeScriptCompileError); }); describe("jiti", () => { @@ -152,7 +142,7 @@ describe("TypeScriptLoader", () => { it("rethrows an error if it is not an instance of Error", () => { try { - loader("filePath", "readFixtureContent(filePath)"); + loader("filePath", "invalidInput"); fail( "Error should be thrown upon failing to transpile an invalid TS file.", ); From 0056629c5791ace1a262cb7dcacf3959a7e40029 Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Sat, 19 Oct 2024 16:55:33 +1300 Subject: [PATCH 6/6] fix: missed npx commands, moved to pnpm exec --- .release-it.json | 4 +- package.json | 1 + pnpm-lock.yaml | 954 +++++------------------------------------------ 3 files changed, 106 insertions(+), 853 deletions(-) diff --git a/.release-it.json b/.release-it.json index 4875863..2a90075 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,11 +1,11 @@ { "git": { - "changelog": "npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs" + "changelog": "pnpm exec auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs" }, "github": { "release": true }, "hooks": { - "after:bump": "npx auto-changelog -p" + "after:bump": "pnpm exec auto-changelog -p" } } diff --git a/package.json b/package.json index d31f150..615ab18 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "@swc/jest": "^0.2.36", "@types/jest": "^29.5.13", "@typescript-eslint/eslint-plugin": "^8.10.0", + "auto-changelog": "^2.5.0", "chalk": "^5.3.0", "cosmiconfig": "^9.0.0", "esbuild": "^0.24.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbad7e2..ec68b39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,6 +27,9 @@ importers: '@typescript-eslint/eslint-plugin': specifier: ^8.10.0 version: 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) + auto-changelog: + specifier: ^2.5.0 + version: 2.5.0 chalk: specifier: ^5.3.0 version: 5.3.0 @@ -44,7 +47,7 @@ importers: version: 9.1.0(eslint@9.13.0(jiti@2.3.3)) eslint-import-resolver-typescript: specifier: ^3.6.3 - version: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)) + version: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3)) eslint-plugin-import-x: specifier: ^4.3.1 version: 4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) @@ -616,9 +619,6 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -760,9 +760,6 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/node@22.7.4': resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} @@ -890,30 +887,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -921,9 +894,10 @@ packages: async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + auto-changelog@2.5.0: + resolution: {integrity: sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==} + engines: {node: '>=8.3'} + hasBin: true babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} @@ -1006,10 +980,6 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1103,6 +1073,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1146,18 +1120,6 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -1213,18 +1175,10 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} @@ -1240,10 +1194,6 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -1282,33 +1232,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - esbuild@0.24.0: resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} engines: {node: '>=18'} @@ -1388,16 +1311,6 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-import@2.30.0: - resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint-scope@8.1.0: resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1511,9 +1424,6 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -1537,13 +1447,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -1556,10 +1459,6 @@ packages: resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} engines: {node: '>=18'} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -1572,10 +1471,6 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} @@ -1613,17 +1508,10 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - globby@14.0.2: resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} engines: {node: '>=18'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@13.0.0: resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} engines: {node: '>=16'} @@ -1637,8 +1525,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -1648,21 +1538,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -1704,10 +1579,18 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + import-cwd@3.0.0: + resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} + engines: {node: '>=8'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-from@3.0.0: + resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} + engines: {node: '>=8'} + import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} @@ -1739,10 +1622,6 @@ packages: resolution: {integrity: sha512-+ynEbhWKhyomnaX0n2aLIMSkgSlGB5RrWbNXnEqj6mdaIydu6y40MdBjL38SAB0JcdmOaIaMua1azdjLEr3sdw==} engines: {node: '>=18'} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} @@ -1751,27 +1630,12 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - is-bun-module@1.2.1: resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -1780,14 +1644,6 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1831,18 +1687,10 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - is-npm@6.0.0: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -1855,14 +1703,6 @@ packages: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-ssh@1.4.0: resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} @@ -1874,18 +1714,6 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -1901,16 +1729,10 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2106,10 +1928,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -2261,6 +2079,9 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} @@ -2273,6 +2094,15 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-fetch@3.3.2: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2299,30 +2129,6 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2398,6 +2204,11 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-github-url@1.0.3: + resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} + engines: {node: '>= 0.10'} + hasBin: true + parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -2446,10 +2257,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2513,10 +2320,6 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - registry-auth-token@5.0.2: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} @@ -2594,17 +2397,9 @@ packages: rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -2626,14 +2421,6 @@ packages: engines: {node: '>=10'} hasBin: true - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2647,10 +2434,6 @@ packages: engines: {node: '>=4'} hasBin: true - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -2721,17 +2504,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -2743,10 +2515,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} @@ -2809,15 +2577,15 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -2841,22 +2609,6 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -2874,8 +2626,10 @@ packages: engines: {node: '>=14.17'} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -2929,12 +2683,11 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -2956,6 +2709,9 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -3621,9 +3377,6 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@rtsao/scc@1.1.0': - optional: true - '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@5.6.0': {} @@ -3749,9 +3502,6 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': - optional: true - '@types/node@22.7.4': dependencies: undici-types: 6.19.8 @@ -3899,60 +3649,6 @@ snapshots: argparse@2.0.1: {} - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - optional: true - - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - optional: true - - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - optional: true - - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - optional: true - - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - optional: true - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - optional: true - ast-types@0.13.4: dependencies: tslib: 2.7.0 @@ -3961,10 +3657,16 @@ snapshots: dependencies: retry: 0.13.1 - available-typed-arrays@1.0.7: + auto-changelog@2.5.0: dependencies: - possible-typed-array-names: 1.0.0 - optional: true + commander: 7.2.0 + handlebars: 4.7.8 + import-cwd: 3.0.0 + node-fetch: 2.7.0 + parse-github-url: 1.0.3 + semver: 7.6.3 + transitivePeerDependencies: + - encoding babel-jest@29.7.0(@babel/core@7.25.2): dependencies: @@ -4093,15 +3795,6 @@ snapshots: normalize-url: 8.0.1 responselike: 3.0.0 - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - optional: true - callsites@3.1.0: {} camelcase@5.3.1: {} @@ -4171,6 +3864,8 @@ snapshots: color-name@1.1.4: {} + commander@7.2.0: {} + concat-map@0.0.1: {} config-chain@1.1.13: @@ -4226,27 +3921,6 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - optional: true - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - optional: true - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - optional: true - debug@3.2.7: dependencies: ms: 2.1.3 @@ -4280,22 +3954,8 @@ snapshots: defer-to-connect@2.0.1: {} - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - optional: true - define-lazy-prop@3.0.0: {} - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - optional: true - degenerator@5.0.1: dependencies: ast-types: 0.13.4 @@ -4308,11 +3968,6 @@ snapshots: diff-sequences@29.6.3: {} - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - optional: true - doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -4344,88 +3999,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - optional: true - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - optional: true - - es-errors@1.3.0: - optional: true - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - optional: true - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - optional: true - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - optional: true - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - optional: true - esbuild@0.24.0: optionalDependencies: '@esbuild/aix-ppc64': 0.24.0 @@ -4483,19 +4056,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 9.13.0(jiti@2.3.3) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3)))(eslint@9.13.0(jiti@2.3.3)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) eslint-plugin-import-x: 4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) transitivePeerDependencies: - '@typescript-eslint/parser' @@ -4503,14 +4075,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3)))(eslint@9.13.0(jiti@2.3.3)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.13.0(jiti@2.3.3) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.13.0(jiti@2.3.3)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint@9.13.0(jiti@2.3.3)) transitivePeerDependencies: - supports-color @@ -4531,35 +4102,6 @@ snapshots: - supports-color - typescript - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.13.0(jiti@2.3.3) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.13.0(jiti@2.3.3)) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.2) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - optional: true - eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 @@ -4723,11 +4265,6 @@ snapshots: flatted@3.3.1: {} - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - optional: true - form-data-encoder@2.1.4: {} formdata-polyfill@4.0.10: @@ -4747,45 +4284,18 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - optional: true - - functions-have-names@1.2.3: - optional: true - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} get-east-asian-width@1.2.0: {} - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - optional: true - get-package-type@0.1.0: {} get-stream@6.0.1: {} get-stream@8.0.1: {} - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - optional: true - get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -4833,12 +4343,6 @@ snapshots: globals@14.0.0: {} - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - optional: true - globby@14.0.2: dependencies: '@sindresorhus/merge-streams': 2.3.0 @@ -4848,11 +4352,6 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.1.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - optional: true - got@13.0.0: dependencies: '@sindresorhus/is': 5.6.0 @@ -4873,29 +4372,19 @@ snapshots: graphemer@1.4.0: {} - has-bigints@1.0.2: - optional: true + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 has-flag@3.0.0: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.0 - optional: true - - has-proto@1.0.3: - optional: true - - has-symbols@1.0.3: - optional: true - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - optional: true - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -4935,11 +4424,19 @@ snapshots: ignore@5.3.2: {} + import-cwd@3.0.0: + dependencies: + import-from: 3.0.0 + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-from@3.0.0: + dependencies: + resolve-from: 5.0.0 + import-lazy@4.0.0: {} import-local@3.2.0: @@ -4975,13 +4472,6 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - optional: true - interpret@1.4.0: {} ip-address@9.0.5: @@ -4989,32 +4479,12 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - optional: true - is-arrayish@0.2.1: {} - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - optional: true - - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - optional: true - is-bun-module@1.2.1: dependencies: semver: 7.6.3 - is-callable@1.2.7: - optional: true - is-ci@3.0.1: dependencies: ci-info: 3.9.0 @@ -5023,16 +4493,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - optional: true - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - optional: true - is-docker@3.0.0: {} is-extglob@2.1.1: {} @@ -5060,33 +4520,14 @@ snapshots: is-interactive@2.0.0: {} - is-negative-zero@2.0.3: - optional: true - is-npm@6.0.0: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - optional: true - is-number@7.0.0: {} is-obj@2.0.0: {} is-path-inside@4.0.0: {} - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - optional: true - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - optional: true - is-ssh@1.4.0: dependencies: protocols: 2.0.1 @@ -5095,21 +4536,6 @@ snapshots: is-stream@3.0.0: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - optional: true - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - optional: true - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - optional: true - is-typedarray@1.0.0: {} is-unicode-supported@0.1.0: {} @@ -5118,18 +4544,10 @@ snapshots: is-unicode-supported@2.1.0: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - optional: true - is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 - isarray@2.0.5: - optional: true - isexe@2.0.0: {} issue-parser@7.0.1: @@ -5514,11 +4932,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json5@1.0.2: - dependencies: - minimist: 1.2.8 - optional: true - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -5639,6 +5052,8 @@ snapshots: natural-compare@1.4.0: {} + neo-async@2.6.2: {} + netmask@2.0.2: {} new-github-release-url@2.0.0: @@ -5647,6 +5062,10 @@ snapshots: node-domexception@1.0.0: {} + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 @@ -5669,42 +5088,6 @@ snapshots: dependencies: path-key: 4.0.0 - object-inspect@1.13.2: - optional: true - - object-keys@1.1.1: - optional: true - - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - optional: true - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - optional: true - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - optional: true - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - optional: true - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -5813,6 +5196,8 @@ snapshots: dependencies: callsites: 3.1.0 + parse-github-url@1.0.3: {} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.7 @@ -5850,9 +5235,6 @@ snapshots: dependencies: find-up: 4.1.0 - possible-typed-array-names@1.0.0: - optional: true - prelude-ls@1.2.1: {} prettier@3.3.3: {} @@ -5918,14 +5300,6 @@ snapshots: dependencies: resolve: 1.22.8 - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - optional: true - registry-auth-token@5.0.2: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -6018,23 +5392,8 @@ snapshots: dependencies: tslib: 2.7.0 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - optional: true - safe-buffer@5.2.1: {} - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - optional: true - safer-buffer@2.1.2: {} semver-diff@4.0.0: @@ -6047,24 +5406,6 @@ snapshots: semver@7.6.3: {} - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - optional: true - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - optional: true - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -6077,14 +5418,6 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.2 - optional: true - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -6152,28 +5485,6 @@ snapshots: get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - optional: true - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - optional: true - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - optional: true - string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -6186,9 +5497,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-bom@3.0.0: - optional: true - strip-bom@4.0.0: {} strip-final-newline@2.0.0: {} @@ -6235,18 +5543,12 @@ snapshots: dependencies: is-number: 7.0.0 + tr46@0.0.3: {} + ts-api-utils@1.3.0(typescript@5.6.2): dependencies: typescript: 5.6.2 - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - optional: true - tslib@2.7.0: {} type-check@0.4.0: @@ -6261,42 +5563,6 @@ snapshots: type-fest@2.19.0: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - optional: true - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - optional: true - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - optional: true - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - optional: true - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 @@ -6314,12 +5580,7 @@ snapshots: typescript@5.6.2: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + uglify-js@3.19.3: optional: true undici-types@6.19.8: {} @@ -6379,23 +5640,12 @@ snapshots: web-streams-polyfill@3.3.3: {} - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - optional: true + webidl-conversions@3.0.1: {} - which-typed-array@1.1.15: + whatwg-url@5.0.0: dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - optional: true + tr46: 0.0.3 + webidl-conversions: 3.0.1 which@2.0.2: dependencies: @@ -6413,6 +5663,8 @@ snapshots: word-wrap@1.2.5: {} + wordwrap@1.0.0: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0