Files
continuum-schemas/tsconfig.json
T
octoturgeandClaude Opus 5 d3d853ec89 Stop committing tsc output, and pin TypeBox exactly
Two cleanups, one cause each.

The root tsconfig.json carried the compilerOptions directly with no `include`,
which made `tsc -b` treat the whole repository as one project: it ignored each
package's `outDir` and emitted .js/.d.ts next to every source file, which then
got committed. So every typecheck dirtied the tree and the build output was in
git. The root is now a solution file that only references the real projects,
shared options moved to tsconfig.base.json, and the six emitted files are
removed from the index. Output goes to packages/ts-types/dist, which was
already gitignored.

@sinclair/typebox is now pinned exactly rather than by caret range. It is
load-bearing in a way a range should not be allowed near: continuum-backend's
Elysia requires it at runtime without declaring it as a dependency at all, and
@continuum/ts-types resolves its own copy from here, so two different versions
mean two structurally incompatible TSchema types and nothing from this package
validates anything there.

Worth recording what that looked like, because the error pointed elsewhere.
Elysia accepts `TSchema | StandardSchemaV1Like`; when the TSchema branch failed
on the version skew, TypeScript reported the *other* branch's failure,
`'~standard' is missing`. That reads as "Elysia wants a Standard Schema
validator, TypeBox is wrong here", which is not true - Elysia is TypeBox-native
and Standard Schema is just the alternative for Zod/Valibot users. The fix was
only ever to make the versions match.

0.34.52 rather than 0.33.x because Elysia 1.4 calls `t.Module`, which 0.34
introduced. continuum-backend pins the identical version and
tests/dependency_identity.test.ts there fails if the two ever drift again.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-03 12:16:35 +00:00

11 lines
539 B
JSON

{
// A solution file: it builds nothing itself and only points at the real
// projects. It used to carry the compilerOptions directly with no `include`,
// which made `tsc -b` compile every .ts file in the repository as one project
// and emit .js/.d.ts next to the sources - overriding each package's own
// `outDir`, and leaving generated files in src/ that then got committed.
// Shared options now live in tsconfig.base.json, which each package extends.
"files": [],
"references": [{ "path": "./packages/ts-types" }]
}