mirror of
https://github.com/dsh-market/dsh-market.git
synced 2026-09-28 05:03:07 +08:00
The hand-written zero-build client (launch-day tech debt) is now official-
stack: src/client/{index.ts,locales.ts,MarketSection.tsx,InstallToast.tsx,
market-data.ts,Market.module.css} built by tsdown (config adapted from the
monorepo's client preset) into the same client/client.js artifact — loader
wrapper, exports contract, endpoints, strings, storage keys and timings
all preserved (verified by rendering old and new bundles to byte-identical
trees across 8 presets, plus live checks on a test instance).
Notes: banner normalizer keeps preflight's exact one-line prefix (rolldown
pretty-prints it); lightningcss config regenerates backdrop-filter
prefixes (its last-wins merge dropped the standard form); ui-primitives
adoption deferred — it's loader-external in official builds and its Button
is a different design language, adopting it would visibly change every
button.
25 lines
577 B
JSON
25 lines
577 B
JSON
{
|
|
// Typecheck-only project for the browser client sources (src/client), which
|
|
// tsdown bundles into client/client.js. The host tsconfig.json excludes
|
|
// this tree; `npm run typecheck` runs both projects.
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"lib": [
|
|
"ES2024",
|
|
"DOM",
|
|
"DOM.Iterable"
|
|
],
|
|
"module": "esnext",
|
|
"moduleResolution": "bundler",
|
|
"jsx": "react-jsx",
|
|
"allowImportingTsExtensions": true,
|
|
"noEmit": true,
|
|
"types": [],
|
|
"strict": true,
|
|
"skipLibCheck": true
|
|
},
|
|
"include": [
|
|
"src/client"
|
|
]
|
|
}
|