Skip to content

T-5YZA-determined-adopts-the-bar

State: open/ready · Impact: medium · Complexity: medium

Seven configs under solutions/determined re-implement the shared bar by hand and land slightly under it — uniformly missing noUncheckedIndexedAccess, noUnusedLocals, noImplicitOverride and noFallthroughCasesInSwitch. Five of the seven are byte-identical to each other, so this is one shape copied five times plus two variants, and it sits one extends line from the bar its sibling vault-contracts already meets.

LocationRole today
solutions/determined/apps/calendar-sync/tsconfig.jsonThe canonical copy: strict, noEmit, verbatimModuleSyntax, isolatedModules, esModuleInterop, skipLibCheck — missing the four strictness options the bar adds
solutions/determined/apps/mail-sync/tsconfig.jsonByte-identical to it
solutions/determined/apps/todo-sync/tsconfig.jsonByte-identical
solutions/determined/apps/vault-engine/tsconfig.jsonByte-identical
solutions/determined/packages/obsidian-astro/tsconfig.jsonByte-identical
solutions/determined/apps/vault-triage/tsconfig.jsonSame options, different key order, include adds eval/**/*.ts
solutions/determined/packages/photo-annotator/tsconfig.jsonDrops lib and esModuleInterop; types: ["node","bun"]
solutions/determined/packages/vault-contracts/tsconfig.jsonAlready on @sksizer/tsconfig/bun-lib — the shape the other seven should take

All seven extend node-lib or bun-lib and keep only their own include and any genuinely different types. Five collapse to two lines each.

  1. Measure per config before editing; the bar adds four strictness options and the error count is unknown until it is run.
  2. Take the five identical ones as one batch — they should produce one shape and one class of fix.
  3. Then vault-triage (which keeps its eval/ include) and photo-annotator (which is on bun types).
  4. Fix errors rather than opting out. Where a package genuinely cannot meet an option yet, it declares that one option locally with a comment naming why, rather than staying off the bar entirely.
  5. Note that determined carries its own moon projects; confirm each affected project’s check still resolves and passes.
AreaNote
solutions/determined/apps/five app configs extend the matching preset
solutions/determined/apps/vault-triage/tsconfig.jsonextend the preset, keep the eval/ include
solutions/determined/packages/obsidian-astro/tsconfig.jsonextend the matching preset
solutions/determined/packages/photo-annotator/tsconfig.jsonextend bun-lib
  • AC-1: All seven extend a @sksizer/tsconfig/* preset.
  • AC-2: The five that were byte-identical are byte-identical again, and short.
  • AC-3: Every affected project’s check passes.
  • AC-4: Any option kept locally to stay under the bar carries a comment naming the reason.
  • The eight framework-owned configs under solutions/determined (Nuxt and Astro), which cannot take the bar.
  • solutions/determined’s own vault markdown and its separate formatting regime.
  • none

Deferred from #1644 with the rest of the laxer configs.


← Back to Tasks