Skip to content

chore: give each package its own tsconfig, drop the root tsconfig folder - #63

Open
ivanbanov wants to merge 5 commits into
solidfrom
tsconfig-per-package
Open

chore: give each package its own tsconfig, drop the root tsconfig folder#63
ivanbanov wants to merge 5 commits into
solidfrom
tsconfig-per-package

Conversation

@ivanbanov

Copy link
Copy Markdown
Member

What

  • tsconfig/ is gone. The root tsconfig.json is now the shared base (options + paths, plus the root config files), and tsconfig.build.json is the tsc -b solution list pnpm typecheck runs.
  • Every package owns its project config: packages/{core,react,solid,native,opentui,shared/utils,shared/bindings}/tsconfig.json. Only react (react-jsx) and solid (preserve + @solidjs/web) set a JSX flavor.

Why

tsconfig/react.json was misleadingly named — it typechecked everything except solid, while the solid project already lived inside its package. This makes the layout consistent with the per-package vitest configs: config lives with the code it describes, and no package's settings leak into another's.

No changeset: internal tooling only, nothing ships to consumers.

Stacked on #32.

🤖 Generated with Claude Code

tsconfig/react.json actually typechecked everything except solid, while the
solid project already lived in its package — an inconsistent split. Now the
root tsconfig.json is the shared base (it also covers the root config files),
tsconfig.build.json is the tsc -b solution list, and every package owns its
project config. Only react and solid set a JSX flavor.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
dunky-state-machine Skipped Skipped Aug 18, 2026 12:40pm

Signed-off-by: Ivan Banov <ivanbanov@gmail.com>
Signed-off-by: Ivan Banov <ivanbanov@gmail.com>
Signed-off-by: Ivan Banov <ivanbanov@gmail.com>
Solid 2.0 renders a boolean attribute as presence/absence, so
aria-expanded={false} disappeared and aria-modal={true} rendered empty.
ARIA states are literal "true"/"false" tokens — serialize them explicitly.
Found by the solid-dialog binding in dunky-dev/ui#44.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant