From 4217af8c957343b3d440ebccabbf4fb4fb726909 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 14 Jun 2026 15:23:01 +0000 Subject: [PATCH] chore: version packages --- .changeset/boundary-try.md | 5 ---- .changeset/cli-node-publishable.md | 5 ---- .changeset/eslint-plugin-publish-fixes.md | 16 ----------- .changeset/redaction-globstar.md | 7 ----- .changeset/taskresult-cancellation.md | 13 --------- packages/eslint-plugin-faultline/CHANGELOG.md | 20 ++++++++++++++ packages/eslint-plugin-faultline/package.json | 26 ++++++++++++++---- packages/faultline-cli/CHANGELOG.md | 7 +++++ packages/faultline-cli/package.json | 2 +- packages/faultline/CHANGELOG.md | 21 ++++++++++++++ packages/faultline/faultline-0.2.0.tgz | Bin 0 -> 39654 bytes packages/faultline/package.json | 2 +- 12 files changed, 71 insertions(+), 53 deletions(-) delete mode 100644 .changeset/boundary-try.md delete mode 100644 .changeset/cli-node-publishable.md delete mode 100644 .changeset/eslint-plugin-publish-fixes.md delete mode 100644 .changeset/redaction-globstar.md delete mode 100644 .changeset/taskresult-cancellation.md create mode 100644 packages/eslint-plugin-faultline/CHANGELOG.md create mode 100644 packages/faultline-cli/CHANGELOG.md create mode 100644 packages/faultline/faultline-0.2.0.tgz diff --git a/.changeset/boundary-try.md b/.changeset/boundary-try.md deleted file mode 100644 index 93d0827..0000000 --- a/.changeset/boundary-try.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"faultline": minor ---- - -Add `boundary.try(error)` — a non-throwing variant of a boundary that returns `Result` instead of throwing on an unmapped tag. Boundaries usually sit at a transport edge where an uncaught throw is costly; `.try()` lets you handle an unexpected (untyped/foreign) error tag as a value. Exposes the `BoundaryViolationError` type. diff --git a/.changeset/cli-node-publishable.md b/.changeset/cli-node-publishable.md deleted file mode 100644 index 884818f..0000000 --- a/.changeset/cli-node-publishable.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"faultline-cli": minor ---- - -The CLI is now publishable to npm and runs on plain Node.js (>=18). The `bin` points at a built `dist/index.js` with a Node shebang (previously a raw `.ts` file with a `bun` shebang), `typescript` is declared as a runtime dependency, and the package ships a `files` allowlist, README, LICENSE, and full repository metadata. diff --git a/.changeset/eslint-plugin-publish-fixes.md b/.changeset/eslint-plugin-publish-fixes.md deleted file mode 100644 index 792fcff..0000000 --- a/.changeset/eslint-plugin-publish-fixes.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"eslint-plugin-faultline": minor ---- - -Rule improvements and publish-readiness fixes. - -Rules: -- `throw-type-mismatch` now inspects all overload signatures, not just the first — overloaded functions are fully checked for transitive error propagation. -- `throw-type-mismatch` reports `throw ` when the surrounding function declares a `TypedPromise` error type and the thrown variable's type has no resolvable `_tag`. -- `uncovered-catch` no longer misattributes throws inside async closures (e.g. `setTimeout(async () => ...)`) to the outer try's catch. -- Published `LIMITATIONS.md` documenting patterns the rules can't detect, plus an 11-pattern torture-fixture corpus guarding the rules. - -Packaging: -- Ship the previously-missing `README.md` (it was already listed in `files`). -- Derive `meta.version` from `package.json` at build time so it can no longer drift from the published version (was hardcoded `0.1.0`). -- Run tests as part of `prepublishOnly`. diff --git a/.changeset/redaction-globstar.md b/.changeset/redaction-globstar.md deleted file mode 100644 index 15ad9fd..0000000 --- a/.changeset/redaction-globstar.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"faultline": minor ---- - -Redaction: support a `**` globstar segment in `redactPaths` to redact a key at any depth (e.g. `**.password`). Redaction paths are matched against the serialized error structure and a non-matching path is a silent no-op (it fails open), so `**.` is now the recommended form for sensitive keys — it can't silently miss a nested occurrence the way a brittle exact path can. Documented this behavior in the README and SECURITY.md. - -Also clarified (docs only, no behavior change): `attemptAsync`/`TaskResult` cancellation is cooperative — aborting short-circuits *subsequent* steps and stops the caller waiting, but does not preempt in-flight work unless your function threads the `AbortSignal` through. And `defineBoundary` throws `System.BoundaryViolation` (preserving the original as cause) when an unmapped error tag reaches it. diff --git a/.changeset/taskresult-cancellation.md b/.changeset/taskresult-cancellation.md deleted file mode 100644 index eee3754..0000000 --- a/.changeset/taskresult-cancellation.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"faultline": minor ---- - -TaskResult cancellation, rejection safety, and API pruning. - -Breaking changes: -- `TaskResult.toPromise()` removed. Use `.run()` instead — same signature. -- TaskResult chain methods (`.map`, `.andThen`, `.catchTag`, etc.) now widen their error union to include `System.Cancelled`. Exhaustive `match()` over a TaskResult needs a `'System.Cancelled'` handler or a `_` branch. -- `TaskResult.fromPromise` return type now widens to include `System.Unexpected`. Factory rejections are no longer unhandled — they are caught and wrapped as `System.Unexpected` with the original throw preserved as `.cause`. - -Added: -- TaskResult chain steps check `context.signal?.aborted` between every step. Aborting the signal mid-pipeline short-circuits the remaining steps to `System.Cancelled` instead of running them to completion. diff --git a/packages/eslint-plugin-faultline/CHANGELOG.md b/packages/eslint-plugin-faultline/CHANGELOG.md new file mode 100644 index 0000000..3e87274 --- /dev/null +++ b/packages/eslint-plugin-faultline/CHANGELOG.md @@ -0,0 +1,20 @@ +# eslint-plugin-faultline + +## 0.3.0 + +### Minor Changes + +- 7a010cc: Rule improvements and publish-readiness fixes. + + Rules: + + - `throw-type-mismatch` now inspects all overload signatures, not just the first — overloaded functions are fully checked for transitive error propagation. + - `throw-type-mismatch` reports `throw ` when the surrounding function declares a `TypedPromise` error type and the thrown variable's type has no resolvable `_tag`. + - `uncovered-catch` no longer misattributes throws inside async closures (e.g. `setTimeout(async () => ...)`) to the outer try's catch. + - Published `LIMITATIONS.md` documenting patterns the rules can't detect, plus an 11-pattern torture-fixture corpus guarding the rules. + + Packaging: + + - Ship the previously-missing `README.md` (it was already listed in `files`). + - Derive `meta.version` from `package.json` at build time so it can no longer drift from the published version (was hardcoded `0.1.0`). + - Run tests as part of `prepublishOnly`. diff --git a/packages/eslint-plugin-faultline/package.json b/packages/eslint-plugin-faultline/package.json index 055d563..bb9b27f 100644 --- a/packages/eslint-plugin-faultline/package.json +++ b/packages/eslint-plugin-faultline/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-faultline", - "version": "0.2.0", + "version": "0.3.0", "description": "ESLint rules for type-safe error handling — checks that catch blocks cover all throwable error types.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -12,16 +12,24 @@ } } }, - "files": ["dist", "README.md", "LICENSE"], + "files": [ + "dist", + "README.md", + "LICENSE" + ], "scripts": { "build": "tsdown src/index.ts --format cjs --dts", "test": "bun test", "typecheck": "bunx tsc --noEmit", "prepublishOnly": "bun run typecheck && bun run test && bun run build" }, - "publishConfig": { "access": "public" }, + "publishConfig": { + "access": "public" + }, "sideEffects": false, - "engines": { "node": ">=18.0.0" }, + "engines": { + "node": ">=18.0.0" + }, "repository": { "type": "git", "url": "https://github.com/danfry1/faultline.git", @@ -42,5 +50,13 @@ "tsdown": "^0.9.0", "typescript": "^5.9.3" }, - "keywords": ["eslint", "eslintplugin", "typescript", "errors", "error-handling", "type-safe", "faultline"] + "keywords": [ + "eslint", + "eslintplugin", + "typescript", + "errors", + "error-handling", + "type-safe", + "faultline" + ] } diff --git a/packages/faultline-cli/CHANGELOG.md b/packages/faultline-cli/CHANGELOG.md new file mode 100644 index 0000000..9ae01e8 --- /dev/null +++ b/packages/faultline-cli/CHANGELOG.md @@ -0,0 +1,7 @@ +# faultline-cli + +## 0.2.0 + +### Minor Changes + +- 7a010cc: The CLI is now publishable to npm and runs on plain Node.js (>=18). The `bin` points at a built `dist/index.js` with a Node shebang (previously a raw `.ts` file with a `bun` shebang), `typescript` is declared as a runtime dependency, and the package ships a `files` allowlist, README, LICENSE, and full repository metadata. diff --git a/packages/faultline-cli/package.json b/packages/faultline-cli/package.json index 0fc3d4d..0e6cb22 100644 --- a/packages/faultline-cli/package.json +++ b/packages/faultline-cli/package.json @@ -1,6 +1,6 @@ { "name": "faultline-cli", - "version": "0.1.0", + "version": "0.2.0", "description": "CLI for Faultline — error catalog, lint, doctor, and flow graph.", "type": "module", "bin": { diff --git a/packages/faultline/CHANGELOG.md b/packages/faultline/CHANGELOG.md index 83011ce..325f2c6 100644 --- a/packages/faultline/CHANGELOG.md +++ b/packages/faultline/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## 0.3.0 + +### Minor Changes + +- 7a010cc: Add `boundary.try(error)` — a non-throwing variant of a boundary that returns `Result` instead of throwing on an unmapped tag. Boundaries usually sit at a transport edge where an uncaught throw is costly; `.try()` lets you handle an unexpected (untyped/foreign) error tag as a value. Exposes the `BoundaryViolationError` type. +- 7a010cc: Redaction: support a `**` globstar segment in `redactPaths` to redact a key at any depth (e.g. `**.password`). Redaction paths are matched against the serialized error structure and a non-matching path is a silent no-op (it fails open), so `**.` is now the recommended form for sensitive keys — it can't silently miss a nested occurrence the way a brittle exact path can. Documented this behavior in the README and SECURITY.md. + + Also clarified (docs only, no behavior change): `attemptAsync`/`TaskResult` cancellation is cooperative — aborting short-circuits _subsequent_ steps and stops the caller waiting, but does not preempt in-flight work unless your function threads the `AbortSignal` through. And `defineBoundary` throws `System.BoundaryViolation` (preserving the original as cause) when an unmapped error tag reaches it. + +- 7a010cc: TaskResult cancellation, rejection safety, and API pruning. + + Breaking changes: + + - `TaskResult.toPromise()` removed. Use `.run()` instead — same signature. + - TaskResult chain methods (`.map`, `.andThen`, `.catchTag`, etc.) now widen their error union to include `System.Cancelled`. Exhaustive `match()` over a TaskResult needs a `'System.Cancelled'` handler or a `_` branch. + - `TaskResult.fromPromise` return type now widens to include `System.Unexpected`. Factory rejections are no longer unhandled — they are caught and wrapped as `System.Unexpected` with the original throw preserved as `.cause`. + + Added: + + - TaskResult chain steps check `context.signal?.aborted` between every step. Aborting the signal mid-pipeline short-circuits the remaining steps to `System.Cancelled` instead of running them to completion. + ## 0.1.0 Initial release. diff --git a/packages/faultline/faultline-0.2.0.tgz b/packages/faultline/faultline-0.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4de941e8952fd97118eccfd2e590ff6620a85b1f GIT binary patch literal 39654 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�L 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 literal 0 HcmV?d00001 diff --git a/packages/faultline/package.json b/packages/faultline/package.json index 4885e2b..eaddc0c 100644 --- a/packages/faultline/package.json +++ b/packages/faultline/package.json @@ -1,6 +1,6 @@ { "name": "faultline", - "version": "0.2.0", + "version": "0.3.0", "description": "The incremental type-safe error system for TypeScript.", "author": "Daniel Fry", "license": "MIT",