Skip to content

feat: add composable fixture lifecycle plugins - #16

Merged
ho991217 merged 2 commits into
mainfrom
feature/fixture-lifecycle-plugins
Oct 28, 2026
Merged

ho991217 merged 2 commits into
mainfrom
feature/fixture-lifecycle-plugins

Conversation

@ho991217

@ho991217 ho991217 commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Add composable lifecycle plugins to Fixture.create and Fixture.fromDirectory. Setup runs in declaration order after files are prepared; teardown runs in reverse order before directory removal, including after partial setup failure.

Repeated or concurrent cleanup shares one operation. Teardown failures do not prevent remaining cleanup, and initialization and cleanup errors are preserved.

Wait for pending filesystem operations before cleaning up a failed fixture to prevent delayed writes from racing directory removal. Document per-fixture instances for plugins that store mutable state.

Based on #15 by @GiHoon1123 , who is credited as a co-author of the squashed commit.

Closes #15
Closes #14

Checklist

  • Tests cover the change.
  • README.md and README.ko.md are updated, if user-facing behavior changed.
  • A changeset is included (yarn changeset), if the published package changed.

Compose fixture setup and teardown through plugins. Wait for pending filesystem
operations before cleanup and document plugin instance scope.

Based on #15 by @GiHoon1123.

Co-authored-by: GiHoon1123 <rlaejrqo465@naver.com>
@ho991217 ho991217 self-assigned this Oct 28, 2026
@ho991217 ho991217 linked an issue Oct 28, 2026 that may be closed by this pull request
@ho991217
ho991217 marked this pull request as ready for review October 28, 2026 11:38
@ho991217
ho991217 merged commit 4c62c84 into main Oct 28, 2026
12 checks passed
@ho991217
ho991217 deleted the feature/fixture-lifecycle-plugins branch October 28, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add lifecycle hooks to Fixture

2 participants