- src/checkout/ (PayPal order request, pricing, VAT) and src/logging/format.ts hold the checkout's pure code, moved out of PayPalApi, the product service and config without a behaviour change. - npm test runs node:test on the TypeScript sources (type stripping), with no dependencies: 21 tests, 13 pin today's output, 8 describe the correct behaviour for the known defects of libretech/mp#67 and are marked todo. - CI: the tests run in the image's base (node:22.14.0-alpine) for every pull request, push to main and release tag. The image is built for pull requests and built and published only for v* tags; main no longer publishes :main and :sha-* images. Refs libretech/mp#71 Co-authored-by: Michael Czechowski <mail@librete.ch>
26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import { Environment } from "@paypal/paypal-server-sdk";
|
|
import { vatDecimal } from "../src/checkout/vat";
|
|
|
|
export const pdfApiUrl = process.env.PDF_API_ADDRESS!;
|
|
export const mailApiUrl = process.env.MAIL_API_ADDRESS!;
|
|
export const baseUrl = process.env.BASE_URL!;
|
|
|
|
export const paypalClientId = process.env.PAYPAL_CLIENT_ID!;
|
|
export const paypalClientSecret = process.env.PAYPAL_CLIENT_SECRET!;
|
|
export const paypalEnvironment = process.env.PAYPAL_ENVIRONMENT! === "production" ? Environment.Production : Environment.Sandbox;
|
|
|
|
export const adminEmail = process.env.ADMIN_EMAIL_ADDRESS!;
|
|
|
|
export const shopName = process.env.SHOP_NAME ?? "Shop";
|
|
export const shopContactName = process.env.SHOP_CONTACT_NAME ?? "";
|
|
export const shopAddress = process.env.SHOP_ADDRESS ?? "";
|
|
export const shopPhone = process.env.SHOP_PHONE ?? "";
|
|
export const shopEmail = process.env.SHOP_EMAIL ?? process.env.ADMIN_EMAIL_ADDRESS ?? "";
|
|
export const shopLogoUrl = process.env.SHOP_LOGO_URL ?? "";
|
|
export const shopSecondaryLogoUrl = process.env.SHOP_SECONDARY_LOGO_URL ?? "";
|
|
|
|
export { vatIncludedDecimal, vatDecimal } from "../src/checkout/vat";
|
|
export const vatDecimalExcluded = 1 - vatDecimal;
|
|
|
|
export const maxProductsSitemap = 500;
|