Skip to content

TS strict (4/4): enable strict mode in base tsconfig#3640

Closed
tegan-temporal wants to merge 1 commit into
strict/3-behaviorfrom
ts-strict-mode
Closed

TS strict (4/4): enable strict mode in base tsconfig#3640
tegan-temporal wants to merge 1 commit into
strict/3-behaviorfrom
ts-strict-mode

Conversation

@tegan-temporal

@tegan-temporal tegan-temporal commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Final of a 4-PR split (was the combined branch). Stacked on strict/3-behavior (#3688).

Enables and enforces strict mode now that PRs 1–3 resolve every error:

  • Flip strict: true in tsconfig.json
  • Switch the Danger strict-error check from warn to fail (dangerfile.ts) so any strict error in a changed file blocks the PR, with 1-indexed line numbers (scripts/count-strict-errors.ts)

The enforcement flip lives here, not in the base PR, so the earlier PRs can merge incrementally without prematurely blocking unrelated PRs while the ~690 errors are still being resolved across the stack.


Stack (merge bottom-up):

  1. TS strict (1/4): type annotations, dead-code cleanup, strict-error CI infra #3686 strict/1-base — type annotations + dead-code cleanup (zero runtime)
  2. TS strict (2/4): strictNullChecks null-safety guards #3687 strict/2-mechanical — strictNullChecks null-safety guards
  3. TS strict (3/3): runtime model/form/service changes + enable strict mode #3688 strict/3-behavior — runtime-affecting model/form/service changes
  4. TS strict (4/4): enable strict mode in base tsconfig #3640 ts-strict-mode — flip strict: true + enforce in CI

Split verified: stacking all four reproduces the original combined tree byte-for-byte.

@tegan-temporal tegan-temporal self-assigned this Jul 8, 2026
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
holocene Ready Ready Preview, Comment Jul 17, 2026 5:37pm

Request Review


<!-- Info Alert -->
<Alert intent="info" class="text-sm">
<Icon name="info" slot="icon" />

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alert does not have an icon slot... this wasn't being rendered to begin with. It just became noticeable due to the strictness change

@andrewzamojc

andrewzamojc commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Hey @tegan-temporal . I know lots of these change are not runtime, but since they're mixed with runtime changes it ends up a being a big PR that needs review. Any chance you want to ship all the stuff that doesn't need real review (tests/types etc) first, which can be insta-approved. Then a second PR could be the runtime changes and get a proper review (~30 files).

Flip strict: true and switch the Danger strict-error check from warn to fail.
tegan-temporal added a commit that referenced this pull request Jul 17, 2026
Fold the strict: true flip + Danger warn->fail into this PR. The standalone-activity
form's superForm types only resolve correctly under strictNullChecks, so the behavior
changes can't type-check on a strict:false main — the flag must land with them.
Supersedes the separate flag PR (#3640).
@tegan-temporal

Copy link
Copy Markdown
Contributor Author

Superseded by #3688. The strict: true flip can't be a standalone follow-up: the standalone-activity form's superForm types only type-check under strictNullChecks, so the behavior changes and the flag must merge together. Folded the tsconfig/danger changes into #3688 and closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants