Only if asked — extract shared TypeScript types + composables into a small npm package @libreshop/types so multiple consumers can share schema definitions without copying types verbatim.
When to action this
A second consumer beyond libretech/mp adopts libreshop as a starter
That consumer asks for "we want to track type changes upstream"
We see drift between consumers' type definitions causing API contract bugs
Until then: don't build this. Forking + copy-and-modify is sufficient for one consumer.
Published as @libreshop/types on a public npm-compatible registry (Verdaccio at git.librete.ch or npmjs.com)
Versioned independently of libreshop/shop main repo
At least 2 consumers depend on it
Migration guide for libretech/mp to consume it
Part of https://git.librete.ch/libreshop/shop/issues/10
## Status: deferred / on-demand
## Goal
**Only if asked** — extract shared TypeScript types + composables into a small npm package `@libreshop/types` so multiple consumers can share schema definitions without copying types verbatim.
## When to action this
- A second consumer beyond `libretech/mp` adopts libreshop as a starter
- That consumer asks for "we want to track type changes upstream"
- We see drift between consumers' type definitions causing API contract bugs
Until then: **don't build this**. Forking + copy-and-modify is sufficient for one consumer.
## What it would contain (sketch only)
- Strapi response types (`Product`, `ProductCover`, `ProductPattern`, `ProductPages`, `ProductRuling`)
- `CopyText` interface
- API path constants (`/api/products`, `/api/orders`, etc.)
- Shared composables that don't depend on Vue runtime: pure data transforms
## What it would NOT contain
- Vue components (those don't share well across forks)
- Nuxt-specific composables (auto-import paths differ)
- Branding utils (those are per-consumer)
## Acceptance (when actioned)
- [ ] Published as `@libreshop/types` on a public npm-compatible registry (Verdaccio at git.librete.ch or npmjs.com)
- [ ] Versioned independently of libreshop/shop main repo
- [ ] At least 2 consumers depend on it
- [ ] Migration guide for libretech/mp to consume it
Folded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Folded into the single muellerprints.de tracker https://git.librete.ch/libretech/mp/issues/50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #10
Status: deferred / on-demand
Goal
Only if asked — extract shared TypeScript types + composables into a small npm package
@libreshop/typesso multiple consumers can share schema definitions without copying types verbatim.When to action this
libretech/mpadopts libreshop as a starterUntil then: don't build this. Forking + copy-and-modify is sufficient for one consumer.
What it would contain (sketch only)
Product,ProductCover,ProductPattern,ProductPages,ProductRuling)CopyTextinterface/api/products,/api/orders, etc.)What it would NOT contain
Acceptance (when actioned)
@libreshop/typeson a public npm-compatible registry (Verdaccio at git.librete.ch or npmjs.com)Folded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.