mattpocock / mattpocock/ts-reset
Make dynamic require imports return `unknown`
Open
Nobody has claimed this yet.
enhancement
needs-triage
- Dominant language
- TypeScript
- Stars
- 8.6k
- Forks
- 146
- PR merge metrics
- No merged PRs in 30d
Description
Currently, require faces a similar problem to JSON.parse, where it returns any. Like JSON.parse, I think this would be another great place to reset the return type to be unknown.
I.e.
var require: NodeRequire (id: string) => any
becomes
var require: NodeRequire (id: string) => unknown
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the NodeRequire declaration and the existing tests covering require typing. Compare the current dynamic require return type with the proposed unknown type, then update the relevant behavior and verify that the tests show callers must narrow the imported value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100