Work out how to get typesync to run automatically
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 23
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 17
Description
I've just added typesync, which is a super cool package that ensures you have matching @types packages for all your packages.
The only problem is that in pnpm, we have to run it manually.
One day, I'd like to be able to automatically run typesync after pnpm add, pnpm remove and pnpm update (but not pnpm install).
Typesync provides docs to autorun in npm, but this simply doesn't work in pnpm
Options and ideas:
pnpmdoes provide some postinstall hooks through a.pnnpmfile.cjs, but a) it'll run oninstallas well asadd, and b) they don't let do you very much. We can't run pnpm commands from these hooks, we can only hack the lockfilepnpmhas an option to enable npm-stylepre/postscript hooks. If we enable this, we could probably addpostadd,postremoveandpostupdatescripts. But I think you can only do this onpnpm run, and it has to be passed into the CLI.- We could use a git hook and run typesync before committing or pushing ,failing if types are not synced. But this is dogmatic and annoying.
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
Start by reviewing the existing typesync setup and pnpm's documentation for postinstall hooks, npm-style pre/post scripts, and the .pnnpmfile.cjs option. Compare those entry points against the required pnpm add, remove, and update commands while excluding install. Done means an agreed automatic approach is documented and works without requiring manual typesync runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100