Convert to JavaScript
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 506
- Forks
- 107
- Avg merge
- 5d 15h
- Merged PRs (30d)
- 28
Description
The first thing I experience when I clone this repo and try to install dependencies is this:
IIUC what this is telling me is that I can't install anything because pnpm tries to link up the executables as part of the installation process, but it can't do that because the executable hasn't been built. I can't build the executable because I haven't installed dependencies.
I'm sure this is fixable and if I bash my head against a wall for a couple of minutes I'll figure it out, but: we don't have to live this way. Svelte and SvelteKit are written in JS and don't have a build step (beyond generating .d.ts files during prepublish, or bundling the compiler for the playground in Svelte's case), and aside from avoiding this sort of headache it's been a real productivity win — I don't need to mess around with file watchers during dev, I don't need to deal with sourcemap flakiness or any of that nonsense, I can just pnpm link and I'm good to go. I can even make changes to this package inside another project's node_modules, and once I've done whatever I needed to do the changes are sitting there waiting for me to commit them — no more editing transpiled files and then painstakingly reapplying them to the source they were transpiled from.
Not something we need to act on immediately, but I promise future us will thank us for making this change
Contributor guide
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 reproducing the dependency-installation failure described in the issue and inspect the package's build and executable-linking flow. Compare the current TypeScript workflow with the proposed JavaScript workflow; done means the CLI can be installed and linked without a prerequisite build step, while preserving the package's development workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- build-system, cli, developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100