diff --git a/.changeset/healthy-starfishes-peel.md b/.changeset/healthy-starfishes-peel.md index 9efbfff80..0e4a55367 100644 --- a/.changeset/healthy-starfishes-peel.md +++ b/.changeset/healthy-starfishes-peel.md @@ -1,5 +1,4 @@ --- -"@kosko/aggregate-error": major "@kosko/cli": major "@kosko/common-utils": major "@kosko/config": major diff --git a/.changeset/weak-pumpkins-drum.md b/.changeset/weak-pumpkins-drum.md new file mode 100644 index 000000000..273f90fd5 --- /dev/null +++ b/.changeset/weak-pumpkins-drum.md @@ -0,0 +1,5 @@ +--- +"@kosko/generate": major +--- + +Replace the `@kosko/aggregate-error` package with the standard `AggregateError` class. diff --git a/packages/aggregate-error/CHANGELOG.md b/packages/aggregate-error/CHANGELOG.md deleted file mode 100644 index 48d58b783..000000000 --- a/packages/aggregate-error/CHANGELOG.md +++ /dev/null @@ -1,25 +0,0 @@ -# @kosko/aggregate-error - -## 0.3.0 - -### Minor Changes - -- [#118](https://github.com/tommy351/kosko/pull/118) [`9923210`](https://github.com/tommy351/kosko/commit/9923210d7cb465c787966dc55e7755619a921552) Thanks [@tommy351](https://github.com/tommy351)! - Build bundles with Rollup. - -- [`69729f8`](https://github.com/tommy351/kosko/commit/69729f869caa8f89c88ff29b8675467e0826000d) Thanks [@tommy351](https://github.com/tommy351)! - Support TypeScript `nodenext` module resolution. - -## 0.2.0 - -### Minor Changes - -- [#114](https://github.com/tommy351/kosko/pull/114) [`7744bcd`](https://github.com/tommy351/kosko/commit/7744bcdb86bbfff60350638fe27d89781a6714f7) Thanks [@tommy351](https://github.com/tommy351)! - Set `AggregateError.errors` as an readonly array. - -### Patch Changes - -- [#114](https://github.com/tommy351/kosko/pull/114) [`7744bcd`](https://github.com/tommy351/kosko/commit/7744bcdb86bbfff60350638fe27d89781a6714f7) Thanks [@tommy351](https://github.com/tommy351)! - Update docs. - -## 0.1.0 - -### Minor Changes - -- [#108](https://github.com/tommy351/kosko/pull/108) [`8a6af40`](https://github.com/tommy351/kosko/commit/8a6af40da68fd3a3c8186e3ce008fc06955c4dc4) Thanks [@tommy351](https://github.com/tommy351)! - Implement `AggregateError` polyfill. diff --git a/packages/aggregate-error/api-extractor.json b/packages/aggregate-error/api-extractor.json deleted file mode 100644 index 5d9fad992..000000000 --- a/packages/aggregate-error/api-extractor.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../api-extractor.json", - "mainEntryPointFilePath": "/index.d.ts", - "dtsRollup": { - "enabled": false - } -} diff --git a/packages/aggregate-error/index.browser.mjs b/packages/aggregate-error/index.browser.mjs deleted file mode 100644 index 031d41f5d..000000000 --- a/packages/aggregate-error/index.browser.mjs +++ /dev/null @@ -1,2 +0,0 @@ -/* global AggregateError */ -export default AggregateError; diff --git a/packages/aggregate-error/index.d.mts b/packages/aggregate-error/index.d.mts deleted file mode 100644 index b2a41529b..000000000 --- a/packages/aggregate-error/index.d.mts +++ /dev/null @@ -1 +0,0 @@ -export { AggregateError as default } from "./dist/index.d"; diff --git a/packages/aggregate-error/index.d.ts b/packages/aggregate-error/index.d.ts deleted file mode 100644 index c286bf52b..000000000 --- a/packages/aggregate-error/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Polyfill of the standard {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError | AggregateError} class. - * - * @packageDocumentation - */ - -export { AggregateError as default } from "./dist/index.d"; diff --git a/packages/aggregate-error/index.node.cjs b/packages/aggregate-error/index.node.cjs deleted file mode 100644 index 3c52224dd..000000000 --- a/packages/aggregate-error/index.node.cjs +++ /dev/null @@ -1,7 +0,0 @@ -/* global AggregateError */ -"use strict"; - -module.exports = - typeof AggregateError === "undefined" - ? require("./dist/index.node.cjs").AggregateError - : AggregateError; diff --git a/packages/aggregate-error/index.node.mjs b/packages/aggregate-error/index.node.mjs deleted file mode 100644 index a05053f98..000000000 --- a/packages/aggregate-error/index.node.mjs +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./index.node.cjs"; diff --git a/packages/aggregate-error/package.json b/packages/aggregate-error/package.json deleted file mode 100644 index e83d47625..000000000 --- a/packages/aggregate-error/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@kosko/aggregate-error", - "version": "0.3.0", - "description": "AggregateError polyfill.", - "homepage": "https://kosko.dev", - "repository": "https://github.com/tommy351/kosko/tree/master/packages/aggregate-error", - "author": "Tommy Chen ", - "license": "MIT", - "main": "index.node.cjs", - "module": "index.node.mjs", - "browser": "index.browser.mjs", - "types": "index.d.ts", - "sideEffects": false, - "files": [ - "dist", - "index.d.ts", - "index.d.mts", - "index.browser.mjs", - "index.node.cjs", - "index.node.mjs" - ], - "exports": { - "node": { - "import": { - "types": "./index.d.mts", - "default": "./index.node.mjs" - }, - "types": "./index.d.ts", - "require": "./index.node.cjs" - }, - "import": { - "types": "./index.d.mts", - "default": "./index.browser.mjs" - }, - "types": "./index.d.ts", - "require": "./index.node.cjs" - }, - "scripts": { - "build": "build-scripts" - }, - "keywords": [ - "kosko" - ], - "publishConfig": { - "access": "public" - }, - "engines": { - "node": ">=18" - }, - "devDependencies": { - "@kosko/build-scripts": "workspace:^", - "@kosko/jest-preset": "workspace:^" - }, - "jest": { - "preset": "@kosko/jest-preset" - } -} diff --git a/packages/aggregate-error/src/AggregateError.ts b/packages/aggregate-error/src/AggregateError.ts deleted file mode 100644 index f7cc474df..000000000 --- a/packages/aggregate-error/src/AggregateError.ts +++ /dev/null @@ -1,29 +0,0 @@ -function defineNonEnumerableProp( - target: T, - key: K, - value: T[K] -) { - Object.defineProperty(target, key, { value, enumerable: false }); -} - -/** - * This class implements the standard {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError | AggregateError} class. - * - * @public - */ -export default class AggregateError extends Error { - public readonly errors!: readonly unknown[]; - public readonly cause?: unknown; - - public constructor( - errors: Iterable, - message?: string, - options: { cause?: unknown } = {} - ) { - super(message); - defineNonEnumerableProp(this, "errors", [...errors]); - defineNonEnumerableProp(this, "cause", options.cause); - } -} - -AggregateError.prototype.name = "AggregateError"; diff --git a/packages/aggregate-error/src/__tests__/AggregateError.ts b/packages/aggregate-error/src/__tests__/AggregateError.ts deleted file mode 100644 index a2e3e151a..000000000 --- a/packages/aggregate-error/src/__tests__/AggregateError.ts +++ /dev/null @@ -1,30 +0,0 @@ -import AggregateError from "../AggregateError"; - -test("only errors is given", () => { - const errors = [new Error("first"), new Error("second")]; - const err = new AggregateError(errors); - - expect(err.name).toEqual("AggregateError"); - expect(err.errors).toEqual(errors); - expect(err.message).toEqual(""); -}); - -test("when errors is a Set", () => { - const errors = new Set([new Error("first"), new Error("second")]); - const err = new AggregateError(errors); - - expect(err.errors).toEqual([...errors]); -}); - -test("when message is given", () => { - const err = new AggregateError([], "foobar"); - - expect(err.message).toEqual("foobar"); -}); - -test("when cause is given", () => { - const cause = new Error("err cause"); - const err = new AggregateError([], "foobar", { cause }); - - expect(err.cause).toEqual(cause); -}); diff --git a/packages/aggregate-error/src/index.ts b/packages/aggregate-error/src/index.ts deleted file mode 100644 index eab28ce4b..000000000 --- a/packages/aggregate-error/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as AggregateError } from "./AggregateError"; diff --git a/packages/aggregate-error/tsconfig.json b/packages/aggregate-error/tsconfig.json deleted file mode 100644 index 77cad4f9b..000000000 --- a/packages/aggregate-error/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.build.json" -} diff --git a/packages/cli/package.json b/packages/cli/package.json index 3c707036b..df7fb13ba 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -51,7 +51,6 @@ "node": ">=18" }, "dependencies": { - "@kosko/aggregate-error": "workspace:^", "@kosko/cli-utils": "workspace:^", "@kosko/common-utils": "workspace:^", "@kosko/config": "workspace:^", diff --git a/packages/cli/src/commands/generate/__tests__/error.ts b/packages/cli/src/commands/generate/__tests__/error.ts index 8a70efa2b..dbfe327ee 100644 --- a/packages/cli/src/commands/generate/__tests__/error.ts +++ b/packages/cli/src/commands/generate/__tests__/error.ts @@ -1,6 +1,5 @@ import { handleGenerateError } from "../error"; import BufferList from "bl"; -import AggregateError from "@kosko/aggregate-error"; import { GenerateError, ResolveError } from "@kosko/generate"; import { join, normalize } from "node:path"; import { CLIError } from "@kosko/cli-utils"; diff --git a/packages/cli/src/commands/generate/error.ts b/packages/cli/src/commands/generate/error.ts index f0068489a..2cc27d9fa 100644 --- a/packages/cli/src/commands/generate/error.ts +++ b/packages/cli/src/commands/generate/error.ts @@ -1,4 +1,3 @@ -import AggregateError from "@kosko/aggregate-error"; import { GenerateError, ResolveError } from "@kosko/generate"; import cleanStack from "clean-stack"; import extractStack from "extract-stack"; diff --git a/packages/generate/package.json b/packages/generate/package.json index a6882f560..315f80970 100644 --- a/packages/generate/package.json +++ b/packages/generate/package.json @@ -43,7 +43,6 @@ "node": ">=18" }, "dependencies": { - "@kosko/aggregate-error": "workspace:^", "@kosko/common-utils": "workspace:^", "@kosko/log": "workspace:^", "@kosko/require": "workspace:^", diff --git a/packages/generate/src/__tests__/generate.ts b/packages/generate/src/__tests__/generate.ts index 4bb3b28fc..4ae041da4 100644 --- a/packages/generate/src/__tests__/generate.ts +++ b/packages/generate/src/__tests__/generate.ts @@ -4,7 +4,6 @@ import { mkdir, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; import { GenerateError, ResolveError } from "../error"; import { makeTempDir, TempDir } from "@kosko/test-utils"; -import AggregateError from "@kosko/aggregate-error"; import stringify from "fast-safe-stringify"; jest.mock("@kosko/require", () => { diff --git a/packages/generate/src/__tests__/resolve.ts b/packages/generate/src/__tests__/resolve.ts index ba6549f11..9824d0b60 100644 --- a/packages/generate/src/__tests__/resolve.ts +++ b/packages/generate/src/__tests__/resolve.ts @@ -1,6 +1,5 @@ /// import { getRejectedValue } from "@kosko/test-utils"; -import AggregateError from "@kosko/aggregate-error"; import assert from "node:assert"; import { ResolveError } from "../error"; import { resolve } from "../resolve"; diff --git a/packages/generate/src/error.ts b/packages/generate/src/error.ts index 43ce84078..de248a440 100644 --- a/packages/generate/src/error.ts +++ b/packages/generate/src/error.ts @@ -1,4 +1,3 @@ -import AggregateError from "@kosko/aggregate-error"; import { isRecord } from "@kosko/common-utils"; import extractStack from "extract-stack"; diff --git a/packages/generate/src/generate.ts b/packages/generate/src/generate.ts index c44884468..d6f259d8c 100644 --- a/packages/generate/src/generate.ts +++ b/packages/generate/src/generate.ts @@ -125,7 +125,7 @@ function validateExtensions( * @throws {@link GenerateError} * Thrown if an error occurred. * - * @throws {@link @kosko/aggregate-error#AggregateError} + * @throws AggregateError * Thrown if multiple errors occurred. * * @public diff --git a/packages/generate/src/resolve.ts b/packages/generate/src/resolve.ts index 1087867a8..da8679b37 100644 --- a/packages/generate/src/resolve.ts +++ b/packages/generate/src/resolve.ts @@ -121,7 +121,7 @@ export interface ResolveOptions { * @throws {@link ResolveError} * Thrown if an error occurred. * - * @throws {@link @kosko/aggregate-error#AggregateError} + * @throws AggregateError * Thrown if multiple errors occurred. * * @public diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ec1373bf..3a8012907 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -228,20 +228,8 @@ importers: specifier: ^0.2.3 version: 0.2.3 - packages/aggregate-error: - devDependencies: - '@kosko/build-scripts': - specifier: workspace:^ - version: link:../../internal/build-scripts - '@kosko/jest-preset': - specifier: workspace:^ - version: link:../../internal/jest-preset - packages/cli: dependencies: - '@kosko/aggregate-error': - specifier: workspace:^ - version: link:../aggregate-error '@kosko/cli-utils': specifier: workspace:^ version: link:../cli-utils @@ -500,9 +488,6 @@ importers: packages/generate: dependencies: - '@kosko/aggregate-error': - specifier: workspace:^ - version: link:../aggregate-error '@kosko/common-utils': specifier: workspace:^ version: link:../common-utils