Context
We found Bun preload module mocks (test/preload-workspace-aliases.ts) are fragile with subpath imports and can fail in CI with errors like:
SyntaxError: export ... not found in '@umpire/core/guards'
TypeError: Requested module is already fetched.
A more reliable pattern is now proven in @umpire/devtools, @umpire/dsl, @umpire/json, and @umpire/zod:
- Remove the shared workspace preload from package
bunfig.toml
- Add package-local
compilerOptions.paths in tsconfig.json for direct sibling deps/subpaths
- Validate with package-local
test + typecheck
Goal
Apply this migration pattern to all remaining packages still using ../../test/preload-workspace-aliases.ts.
Remaining packages
Suggested acceptance criteria
- No listed package preloads
../../test/preload-workspace-aliases.ts
- Each migrated package has explicit local
paths aliases for sibling imports it uses
yarn workspace <pkg> test and yarn workspace <pkg> typecheck pass for each migrated package
- CI passes without relying on preload mock behavior for those packages
Context
We found Bun preload module mocks (
test/preload-workspace-aliases.ts) are fragile with subpath imports and can fail in CI with errors like:SyntaxError: export ... not found in '@umpire/core/guards'TypeError: Requested module is already fetched.A more reliable pattern is now proven in
@umpire/devtools,@umpire/dsl,@umpire/json, and@umpire/zod:bunfig.tomlcompilerOptions.pathsintsconfig.jsonfor direct sibling deps/subpathstest+typecheckGoal
Apply this migration pattern to all remaining packages still using
../../test/preload-workspace-aliases.ts.Remaining packages
@umpire/react@umpire/signals@umpire/solid@umpire/store@umpire/redux@umpire/pinia@umpire/tanstack-store@umpire/vuex@umpire/reads@umpire/testing@umpire/zustandSuggested acceptance criteria
../../test/preload-workspace-aliases.tspathsaliases for sibling imports it usesyarn workspace <pkg> testandyarn workspace <pkg> typecheckpass for each migrated package