svelte-package watch mode leaves the compiled .js of a deleted .ts file in the output
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 84/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- build-system, tooling
Direzione di ricerca
Inizia in packages/package/src/index.js, nel ramo unlink del watcher, poi leggi il test esistente «watches for changes» menzionato nell’issue. Riproduci il problema eliminando src/lib/b.ts durante la modalità watch e controlla se package/b.js viene rimosso. Il lavoro è completato quando l’output compilato viene rimosso per i file TypeScript eliminati o rinominati e il test di regressione passa.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
In watch mode (svelte-package -w), deleting or renaming a .ts module in src/lib removes its .d.ts from the output directory, but the compiled .js stays there. The watcher still logs Removed foo.js.
The unlink branch in packages/package/src/index.js deletes path.join(output, file.name). That is the source path (foo.ts), which never exists in the output. It never deletes file.dest (foo.js). The same applies to Svelte files with a custom extension from config.extensions (for example .svx), whose output is .svelte.
The stale file stays until the next build without --preserve-output. Meanwhile it can still be imported, and it gets published if someone runs npm publish on a watched output directory.
Reproduction
- Take any library packaged with
@sveltejs/package(for example, one created bysv createwith the library template). npx svelte-package -w- Create
src/lib/foo.tswithexport const foo = 1;.dist/foo.jsanddist/foo.d.tsare created. - Delete
src/lib/foo.ts. The watcher logsRemoved foo.js. ls dist:foo.d.tsis gone, butfoo.jsis still there.
Logs
Processing foo.ts
Removed foo.js
(dist/foo.js still exists afterwards.)
System Info
System:
OS: macOS 27.0.1 (arm64)
Binaries:
Node: 26.8.2
npmPackages:
@sveltejs/package: 3.0.1 (also 3.0.0 and main)
Severity
annoyance
Additional Information
A likely fix is to delete file.dest instead of file.name in that branch. For .js and .svelte files the two are the same, so their behaviour wouldn't change. With that change, a test in the existing "watches for changes" test that deletes src/lib/b.ts and checks that package/b.js is gone passes; without it, the test fails.
- Lingua principale
- JavaScript
- Stelle
- 20.9k
- Fork
- 2.4k
- Merge medio
- 1g 20h
- PR unite (30g)
- 83
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sveltejs/kit
-
awaiting submitter
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
adapter-cloudflare: `cloudflare:workers` keeps using the old platform proxy after the Wrangler config reloads in devForse già presa @svelte-triage-bot l’ha presa 3 giorni fa. Apertapkg:adapter-cloudflare
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
types / typescript
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Prerendering no longer shows progressForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
sveltejs/kit#17163 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
sync: concurrent runs can read a truncated route_meta_data.json (JSON.parse error)Forse già presa @Nic-Polumeyv l’ha presa 30 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sveltejs/kit
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
yunaremaia/jsonl-cli#1 · 1 commento ·
-
agent-ready agent:in-progress backend/api
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
bug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apex-dev-tools/apex-log-parser#199 ·
I maintainer di solito rispondono entro 1 giorno