cbcc54bd753954702ffe9376232f27472a446498
npm test runs node:test on the TypeScript sources with Node's type stripping (Node 22.14 in the image, Node 24 locally), with no dependencies. Node, unlike tsc, does not resolve extensionless relative imports. TypeScript 5.2 cannot emit .ts import extensions. tests/unit/support therefore registers a small resolve hook that appends ".ts" for imports from .ts files. - pricing, paypal-order, log-format: characterization tests of the current output. - The known defects of libretech/mp#67 are tests of the correct behaviour, marked todo: null, two-line and price-null addresses and deliveries, a deleted product, the payment surcharge missing from the breakdown, and in the log line circular JSON, the Basic credentials of an axios error, and an Error rendered as {}. - That the breakdown adds up to the amount holds today, including for the subtotals closest to a half cent, so that test is a regular one. Refs libretech/mp#71
libreshop/cms
Strapi-based content backend (catalogue, orders, customers).
Part of the libreshop toolkit. Image
published at git.librete.ch/libreshop/cms on every push to main
and on v* tags.
Source
This repo was extracted from mp/cms/ on 2026-04-29; mp was the
first concrete adapter consuming the toolkit. mp's compose.yml now
pulls git.librete.ch/libreshop/cms:<pin> instead of building locally.
Build locally
docker build -t libreshop/cms:dev .
Adapter contract
See docker-entrypoint.sh and Dockerfile for the runtime surface.
Adapters configure the component via env vars and bind-mounted volumes;
do not patch the running container or rely on internal paths.
Languages
TypeScript
91.9%
Shell
7.2%
JavaScript
0.6%
Dockerfile
0.3%