ludo-technologies / ludo-technologies/polyscan
TypeScript parser rejects generic call signatures, `export type *` and variance annotations
- Dominant language
- Go
- Stars
- 12
- Forks
- 7
- Avg merge
- 5h 46m
- Merged PRs (30d)
- 49
Description
Recent TypeScript syntax makes the parser skip whole files, which removes them from every score.
Failing constructs, with the file and line the error points at:
- Generic call signatures inside interfaces and type literals, e.g. `(key: Key): E['Variables'][Key]`: hono `src/context.ts:96`, `src/jsx/hooks/index.ts:179`, `src/helper/ssg/middleware.ts:32`, `src/utils/body.ts:94`, `src/types.ts`, `src/helper/factory/index.ts`
- `export type * from './types'` (TS 5.0): hono `src/jsx/index.ts:112`, `src/jsx/dom/index.ts:169`
- Variance annotations on type parameters, e.g. `interface ZodType` (TS 4.7): zod `packages/zod/src/v4/classic/schemas.ts:34`, `v4/core/checks.ts:28`, `v4/core/schemas.ts:182`, `v4/mini/schemas.ts:9`
Reproduce with `polyscan analyze src` on [hono](https://github.com/honojs/hono) (8 of 311 files skipped) and `polyscan analyze packages/zod/src` on [zod](https://github.com/colinhacks/zod) (4 of 327 skipped).
Contributor guide
Research direction
Start by running `polyscan analyze src` on hono and `polyscan analyze packages/zod/src` on zod to reproduce the skipped files. Trace parser handling for the generic call signatures, `export type *`, and variance annotations, using the listed source locations as fixtures. Done means these constructs parse successfully and the reported files are no longer skipped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100