Mark the `typescript` peer dependency as optional
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- json, typescript
- Domaine
- build-system
Piste de recherche
Examinez les manifestes des paquets @tanstack/db et des 14 autres paquets répertoriés dans l’issue. Commencez par vérifier leurs peerDependencies et les éventuelles entrées existantes dans peerDependenciesMeta. Marquez la dépendance peer de TypeScript comme facultative tout en conservant sa contrainte de version ; le travail est terminé lorsque les 15 manifestes comportent les métadonnées facultatives et que les utilisateurs de JavaScript n’ont plus à installer TypeScript comme dépendance peer obligatoire.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
- I've validated the bug against the latest version of DB packages
Describe the bug
@tanstack/db declares "typescript": ">=4.7" in peerDependencies without a peerDependenciesMeta entry, so the peer is required. Fourteen other packages in this repo declare the same peer: db-ivm, query-db-collection, convex-db-collection, rxdb-db-collection, trailbase-db-collection, db-sqlite-persistence-core and the browser, Capacitor, Cloudflare Durable Objects, Electron, Expo, Node, React Native and Tauri SQLite persistence packages.
None of these packages import typescript, so the peer only states the minimum TypeScript version for the published types. Because it is required, npm, pnpm (with its default auto-install-peers) and Bun install TypeScript for every consumer, including JavaScript projects and projects that type-check with a different compiler.
To Reproduce
mkdir repro && cd repro && npm init -y
npm install @tanstack/db
npm ls typescript
npm ls typescript lists [email protected], pulled in by @tanstack/db and @tanstack/db-ivm. On macOS arm64, TypeScript and its native binary take about 30 MB of the 43 MB node_modules.
Expected behavior
Only projects that use TypeScript install it. Marking the peer as optional keeps the version requirement for them:
"peerDependenciesMeta": {
"typescript": { "optional": true }
}
Additional context
The other TanStack libraries (@tanstack/query-core, @tanstack/router-core, @tanstack/form-core, @tanstack/store) declare no TypeScript peer. Happy to send a PR that adds peerDependenciesMeta to the 15 packages.
- Langage dominant
- TypeScript
- Étoiles
- 4k
- Forks
- 280
- Merge moyen
- 1 j 10 h
- PR mergées (30 j)
- 132
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TanStack/db
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
`Collection.currentStateAsChanges` JSDoc examples don’t match `CurrentStateAsChangesOptions`Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
OfflineExecutor.dispose() never settles pendingTransactionPromisesPeut-être à nouveau libre @Claire-ovo l’a pris il y a 12 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
TanStack/db#2254 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Two @tanstack/db tests time out under CPU load because a cold module import counts against the 5 s default timeoutPeut-être pris @jp-knj l’a pris il y a 10 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de TanStack/db
Issues similaires
-
FR: Support CJK brackets, symbols and full-width markers in footnoteHeuristics (EBPAJ support)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
readest/readest#7413 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
content triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eliasstravik/herdr-projects#788 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Ability to edit tagsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour