Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
c8c60e9
chore(spec-25): add FormatterDescriptor typedef and CHANGELOG entry
orioltf May 3, 2026
9c0512c
feat(spec-25): add FormatterDescriptor typedef to lib/types.mjs (v0.5.9)
orioltf May 3, 2026
3aac327
chore(spec-26): extract runFormatter to lib/runners.mjs with tests
orioltf May 3, 2026
7cfd9a3
feat(spec-26): extract runFormatter to lib/runners.mjs with tests (v0…
orioltf May 3, 2026
722b20d
chore(spec-26): fix Prettier blank lines after ### subheadings in CHA…
orioltf May 3, 2026
abaecfa
chore(spec-27): replace runner functions with FormatterDescriptor con…
orioltf May 3, 2026
95b5db3
feat(spec-27): replace runner functions with FormatterDescriptor cons…
orioltf May 3, 2026
dd7867b
chore(spec-27): fix Prettier blank lines after ### subheadings in CHA…
orioltf May 3, 2026
2f6def0
chore(spec-28): add ### Changed entry for runner extraction refactor
orioltf May 3, 2026
fdd1e7f
chore(spec-28): bump auto-format patch version — runner extraction re…
orioltf May 3, 2026
2f32c3e
chore(spec-29): extract loadConfig and DEFAULTS to lib/config.mjs wit…
orioltf May 3, 2026
7da1732
chore(spec-29): bump auto-format patch version — config module extrac…
orioltf May 3, 2026
6ceb3eb
chore(spec-29): fix Prettier blank lines after ### subheadings in [Un…
orioltf May 3, 2026
929af2c
refactor(spec-30): use lib/config.mjs in format-hook.mjs
orioltf May 3, 2026
e19f693
chore(spec-31): add ### Changed entry for config extraction refactor
orioltf May 3, 2026
887e583
chore(spec-31): bump auto-format patch version — config module extrac…
orioltf May 3, 2026
a3f2c93
fix(auto-format): distinguish timeout, signal-kill, and spawn errors …
orioltf May 4, 2026
2736c13
docs(auto-format): document Prettier error-message format change in 0…
orioltf May 4, 2026
113fc55
chore(auto-format): bump auto-format patch version — runner error han…
orioltf May 4, 2026
5b457ab
chore(auto-format): fix Prettier blank lines in [Unreleased] after bump
orioltf May 4, 2026
5e8e4fa
fix(auto-format): fix TypeScript types in runFormatter for spawnError…
orioltf May 4, 2026
9d5b8b0
fix(auto-format): use consistent error serialisation in loadConfig ca…
orioltf May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"name": "auto-format",
"source": "./",
"tags": ["productivity", "code-quality"],
"version": "0.5.8"
"version": "0.5.15"
}
]
}
2 changes: 1 addition & 1 deletion apps/claude-code/auto-format/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "auto-format",
"version": "0.5.8",
"version": "0.5.15",
"description": "Auto-format and lint files when Claude Code edits them. Runs Prettier + ESLint --fix after Write/Edit/MultiEdit/NotebookEdit.",
"author": {
"name": "Unic AG",
Expand Down
112 changes: 112 additions & 0 deletions apps/claude-code/auto-format/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,118 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- (none)

## [0.5.15] — 2026-05-04

### Breaking

- (none)

### Added

- (none)

### Fixed

- `runFormatter`: detect ETIMEDOUT precisely for timeouts; report signal-kill and spawn errors with distinct messages; wrap `descriptor.args()` in try/catch to uphold the never-throws contract

## [0.5.14] — 2026-05-03

### Breaking

- (none)
Comment thread
orioltf marked this conversation as resolved.

### Added

- (none)

### Changed

- Internal: extracted `DEFAULTS` and `loadConfig` from `format-hook.mjs` into `lib/config.mjs`,
with ten unit tests covering the merge strategy — no behaviour change for consumers.

### Fixed

- (none)

## [0.5.13] — 2026-05-03

### Breaking

- (none)

### Added

- (none)

### Fixed

- Extract `DEFAULTS` and `loadConfig(projectDir)` to `scripts/lib/config.mjs` with 10 unit tests

## [0.5.12] — 2026-05-03

### Breaking

- (none)

### Added

- (none)

### Changed

- Internal: extracted shared subprocess contract from `runPrettier`/`runEslint`/`runBiome` into
`lib/runners.mjs` — no behaviour change for consumers.

### Fixed

- (none)

## [0.5.11] — 2026-05-03

### Breaking

- (none)

### Added

- (none)

### Changed

- Prettier failure messages now include the exit code (`prettier failed (exit N): …`) to align with the ESLint/Biome format; previous format was `prettier failed: …`

### Fixed

- Replaced inline `runPrettier`, `runEslint`, `runBiome` functions in `format-hook.mjs` with `FormatterDescriptor` constants and a single `runFormatter` call-through

## [0.5.10] — 2026-05-03

### Breaking

- (none)

### Added

- (none)

### Fixed

- Extract `runFormatter` to `scripts/lib/runners.mjs` with six unit tests; update `pnpm test` to run both test files

## [0.5.9] — 2026-05-03

### Breaking

- (none)

### Added

- (none)

### Fixed

- Added `FormatterDescriptor` typedef to `scripts/lib/types.mjs` in preparation for `lib/runners.mjs` extraction

## [0.5.8] — 2026-04-30

### Breaking
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 25. Add `FormatterDescriptor` typedef to `lib/types.mjs`
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** XS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 26. Extract `lib/runners.mjs` with `runFormatter` and tests
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** S
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 27. Replace runner functions with descriptors in `format-hook.mjs`
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** S
Expand Down
2 changes: 2 additions & 0 deletions apps/claude-code/auto-format/docs/plans/28-version-bump.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 28. Version bump and CHANGELOG entry

**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** XS
**Version impact:** patch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 29. Extract `lib/config.mjs` with `DEFAULTS`, `loadConfig`, and tests
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** S
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 30. Update `format-hook.mjs` to use `lib/config.mjs`
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** XS
Expand Down
1 change: 1 addition & 0 deletions apps/claude-code/auto-format/docs/plans/31-version-bump.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 31. Version bump and CHANGELOG entry
**Status: done — 2026-05-04**

**Priority:** P2
**Effort:** XS
Expand Down
4 changes: 2 additions & 2 deletions apps/claude-code/auto-format/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "auto-format",
"version": "0.5.8",
"version": "0.5.15",
"private": true,
"license": "LGPL-3.0-or-later",
"type": "module",
Expand All @@ -10,7 +10,7 @@
"pnpm": ">=10"
},
"scripts": {
"test": "node --test tests/format-hook.test.mjs",
"test": "node --test tests/format-hook.test.mjs scripts/lib/runners.test.mjs scripts/lib/config.test.mjs",
"typecheck": "tsc --noEmit --project tsconfig.json",
"bump": "unic-bump",
"sync-version": "unic-sync-version",
Expand Down
Loading
Loading