mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-10 07:14:36 +00:00
43d07ca85f
Tighten the package model around the determinism invariant: everything the
engine imports must itself be deterministic.
- Rename core-public -> engine-public (package, dir, `engine-public/*` alias,
all 118 import sites). It is the deterministic public surface the engine
depends on and that client/server also use.
- Move the pure formatting helpers (renderNumber/renderTroops) from shared
into engine-public/format — the engine uses them and they're deterministic.
- Drop the now-empty shared package (and its alias). `shared` was intended for
client/server-shared, engine-forbidden code; there is none yet, so it is
removed and can be re-added when such code appears.
Final graph: engine-public (leaf) <- engine <- {client, server};
client/server also -> engine-public.
Verified: tsc clean; 1364 + 65 tests pass; prod build succeeds; engine-public
is a leaf; engine has no client/server imports. Lockfile regenerated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
30 lines
855 B
JSON
30 lines
855 B
JSON
// Shared compiler options for all workspace packages.
|
|
// https://www.typescriptlang.org/tsconfig/
|
|
{
|
|
"compilerOptions": {
|
|
// Language and Environment
|
|
"target": "ES2020",
|
|
// Modules
|
|
"module": "ESNext",
|
|
"moduleResolution": "bundler",
|
|
"paths": {
|
|
"resources/*": ["./resources/*"],
|
|
"engine-public/*": ["./packages/engine-public/src/*"],
|
|
"engine/*": ["./packages/engine/src/*"],
|
|
"client/*": ["./packages/client/src/*"],
|
|
"server/*": ["./packages/server/src/*"]
|
|
},
|
|
// Emit
|
|
"sourceMap": true,
|
|
// Type Checking
|
|
"allowUnusedLabels": false,
|
|
"experimentalDecorators": true,
|
|
"resolveJsonModule": true,
|
|
"strictNullChecks": true,
|
|
"useDefineForClassFields": false,
|
|
"strictPropertyInitialization": false,
|
|
"skipLibCheck": true,
|
|
"types": ["vitest/globals", "node"]
|
|
}
|
|
}
|