ludo-technologies / ludo-technologies/polyscan

TypeScript parser rejects generic call signatures, `export type *` and variance annotations

Open
#97 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.