sveltejs / sveltejs/cli

Convert to JavaScript

Open
#80 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community-addons pkg:add pkg:create
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:

image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.