Skip to content

feat: add @script-development/fs-loading package#6

Merged
Goosterhof merged 2 commits into
mainfrom
fs-loading
Apr 1, 2026
Merged

feat: add @script-development/fs-loading package#6
Goosterhof merged 2 commits into
mainfrom
fs-loading

Conversation

@Goosterhof
Copy link
Copy Markdown
Contributor

Summary

  • New @script-development/fs-loading package — reactive loading state service with counter-based tracking and HTTP middleware for fs-http
  • Second Vue-dependent package in the Armory (vue + @script-development/fs-http as peer dependencies)
  • Extracted from BIO's mature implementation: timeout protection (30s default), per-request deduplication via WeakSet, and full middleware unregistration

Details

Public API:

  • createLoadingService() — factory returning { isLoading, activeCount, startLoading, stopLoading, ensureLoadingFinished }
  • registerLoadingMiddleware(httpService, loadingService, options?) — bridges loading state to fs-http request/response/error cycle, returns { unregister }
  • Types: LoadingService, LoadingMiddlewareOptions, LoadingMiddlewareResult

Quality gates: 100% test coverage (25 tests), 90% mutation score (threshold: 90%)

Test plan

  • Format check (oxfmt)
  • Lint (oxlint)
  • Type check (tsc --noEmit)
  • Build (tsdown — ESM + CJS + DTS)
  • Package lint (publint + attw)
  • Test coverage (100% lines/branches/functions/statements)
  • Mutation testing (90.00%, threshold 90%)

🤖 Generated with Claude Code

Goosterhof and others added 2 commits April 1, 2026 13:39
Reactive loading state service with counter-based tracking,
async completion waiting, and HTTP middleware for fs-http with
timeout protection and per-request deduplication.

Second Vue-dependent package in the Armory.
Workspace packages that depend on other workspace packages
(fs-loading → fs-http) need built declaration files for tsc
to resolve types. Build must run before typecheck.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Goosterhof Goosterhof merged commit f1b10c9 into main Apr 1, 2026
1 check passed
@Goosterhof Goosterhof deleted the fs-loading branch April 1, 2026 11:49
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.

1 participant