Repository navigation
Release v1.2.2
Problem
Both frontend starters (Templates/Cratis, Templates/CratisAspire) declare rxjs and tsyringe as direct dependencies but not tslib, which rxjs's compiled output (and other packages) import directly.
Under Yarn's default Plug'n'Play linker, an undeclared-but-imported package is a hard resolution error, not a warning. yarn dev fails on the pristine, unmodified sample feature — no application code involved:
Failed to resolve import "tslib" from ".yarn/__virtual__/@cratis-arc.react-virtual.../node_modules/@cratis/arc.react/dist/esm/index.js"
Reproduced from a completely fresh dotnet new cratis -n X / dotnet new cratis-aspire -n X, zero code changes, default Yarn PnP (no .yarnrc.yml override).
Fix
Add "tslib": "^2.8.1" next to the other already-declared transitive deps (@cratis/arc, @cratis/fundamentals, rxjs, tsyringe) in both starters' package.json.
Verification
- Packed and installed the template locally, scaffolded fresh, ran
yarn devwith no linker override — starts clean, no resolution errors. - Built a full vertical slice (backend commands/read model + a Components 4
DataPageUI) against the generated proxies and exercised add → borrow → return through the running dev-server proxy end to end. - Confirmed the template's own `/demo" sample-feature route still works out of the box (unrelated QA pass) — no change needed there.
Scope note
yarn build (production tsc -b) has a separate, pre-existing PnP/TypeScript module-resolution issue on the pristine template (Home.tsx, App.tsx), unrelated to this fix (it's not a missing-dependency problem). Left out of scope here; happy to open a follow-up issue.