a2ui-project / a2ui-project/a2ui

ci: Add explicit `types` to prevent `@types/node` leakage.

Open Beginner friendly
#2,059 0 comments 0 reactions 1 assignee Claimed by @ditman View on GitHub
CI/CD P2
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

In our monorepo, omitting the `"types"` property in a project's `tsconfig.json` causes TypeScript to automatically discover and include all type packages from `node_modules/@types`, including root-level packages like `@types/node` and `@types/jest`.

(See #1515)

For browser-only frontend projects targeting DOM (`"lib": ["DOM", "ESNext"]`), auto-including `@types/node` introduces global type namespace pollution and type collisions (for example, `setTimeout` returning `NodeJS.Timeout` instead of `number`, or conflicting `Console` and `Event` interfaces).

Most core libraries and Angular projects in the repository already specify `"types": []` or explicit type arrays. We should update the remaining browser frontend shells and community sample projects to prevent global type leakage.

#### Proposed changes

Add `"types": []` (or `"types": ["vite/client"]` for Vite applications) to `compilerOptions` in the following files:

- [ ] `samples/client/react/shell/tsconfig.json` (add `"types": ["vite/client"]`)
- [ ] `samples/community/client/lit/mcp-apps-in-a2ui-sample/tsconfig.json` (add `"types": []`)
- [ ] `samples/community/client/lit/personalized_learning/tsconfig.json` (add `"types": []`)
- [ ] `samples/community/mcp/a2ui-over-mcp-recipe/client/tsconfig.json` (add `"types": []`)

Contributor guide

Open the contributing guide

Research direction

The issue lists four specific tsconfig.json files to update. Start by locating each file in the repository. For the Vite application, add `"types": ["vite/client"]`; for the others, add `"types": []`. Verify the change by checking the TypeScript compiler options and ensuring no type errors appear in the respective projects.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vite
Domain
build-system, frontend
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.