Monorepos, Typescript, dépendances transitives et gestionnaires de paquets (pnpm)

Donc, je viens de créer un monorepo en utilisant rush (pnpm).

J'ai une bibliothèque appelée web-commons qui a des dépendances "fastify, et d'autres.

J'ai une application backend appelée my-app.

Je veux utiliser certains types et modules fastify dans my-app, mais je ne peux pas les importer.

Comment puis-je faire en sorte que les dépendances de web-commons soient incluses transitivement d

Lire la suite →

Paquets de l’espace de travail privé pnpm écrits en TypeScript : exposer src ou dist ?

J'ai un monorepo contenant principalement du code TypeScript géré avec pnpm, et nous avons beaucoup de dépendances entre les packages du workspace (par exemple pour les packages de bibliothèque). Ces packages sont privés à ce workspace et ne sont jamais publiés individuellement. Nous définissons généralement le package comme ceci :

{ "name": "my-library", "license": "UNLICENSED", "private": true, "main": "d

Lire la suite →

docker - Dockeriser un monorepo MERN en Typescript qui utilise les espaces de travail pnpm

J'ai un projet avec la structure de dossiers suivante, c'est un monorepo TypeScript qui a deux applications (client et api) et une bibliothèque partagée (shared), à la fois le backend et le frontend dépendent de la bibliothèque partagée. Et je veux dockeriser ce projet.

my-monorepo/ |-- api/ | |-- src/ | |-- package.json | |-- tsconfig.json | | |-- client/ | |-- src/ | |-- package.json | |-- tsconfig.json | | |-- shared/ | |-- src/ | |-- package.json | |--

Lire la suite →

material ui - Pourquoi TypeScript se plaint-il lors de l'utilisation de pnpm ?

J'essaie de passer de yarn à pnpm, mais j'ai rencontré un petit problème et je ne sais pas comment le résoudre. Je n'ai pas encore essayé de modifier les paramètres concernant le hoisting (je préférerais ne pas le faire si possible), mais j'essaie de comprendre pourquoi cela me pose un problème.

Lire la suite →

typescript - Comment déclencher la construction des packages automatiquement lors de l'utilisation de pnpm install ?

Notre projet utilise pnpm + workspace + TypeScript en suivant le standard monorepo. Après avoir cloné le dépôt, nous exécutons pnpm install pour installer les dépendances et lier les paquets locaux entre eux. Mais le code à l'intérieur de chaque paquet reste toujours en mode code source dans les fichiers .ts. Comment déclencher automatiquement pnpm run build pour chaque paquet afin d'avoir un dossier dist à l'intérieur du paquet lors de l'utilisation de

Lire la suite →

node.js - Utilisation du schéma Prisma dans un monorepo PNPM avec NestJS causant des problèmes ESM

J'ai créé un monorepo PNPM qui contient deux applications NestJS (apps/api et apps/backend ; les deux sont exactement les mêmes) et un package de base de données Prisma (packages/database). Lorsque je lance l'api avec start:dev, je reçois l'erreur suivante :

(node:

Lire la suite →

Erreurs de compilation TypeScript lors de la construction d'Angular avec SSR + pnpm + preserveSymlinks

J'avais une application Angular qui se compilait correctement. Les seules particularités de cette application sont qu'elle a preserveSymlinks: true dans angular.json et une bibliothèque locale installée pour le développement en utilisa

Lire la suite →

Configuration fonctionnelle pour un monorepo pnpm avec TypeScript, Vite et Rollup

Je construis un monorepo en utilisant les espaces de travail pnpm et j'ai des difficultés à le faire fonctionner. Il utilise Typescript, Vite pour les interfaces frontales, Rollup pour les microservices back-end.

Voici la configuration :

package.json <== all dependencies reside here tsconfig.json pnpm-workspaces.yaml - commonlib/ package.json, tsconfig.json, rollup.config.js src/ ...interfaces, types etc--- - serverlib

Lire la suite →

reactjs - Vite avec PNPM échoue en raison de l'analyse d'importation sur le package `node_modules/.pnpm`

L'utilisation de PNPM et Vite dans un monorepo entraîne le problème suivant, je n'ai aucune idée du type d'abomination que représentent ces [email protected]_@[email protected], probablement une bizarrerie de PNPM. Y a-t-il un moyen de désactiver

Lire la suite →

node.js - Pourquoi PNPM marque mon package avec « version : link: » après la commande « pnpm install ... » ?

J'ai un paquet, qui est publié sur NPM. Dans ce paquet, j'ai utilisé le même paquet comme l'une de ses dépendances, https://github.com/tal-rofe/cz-vinyl

Alors comme vous pouvez le voir, le nom du paquet est cz-vinyl, avec la dernière version 2.5.0. Le plus important, mon fichier package.json inclut : "cz-vinyl": "2.5.0", donc j'utilise le paquet comme dépendance.

Dans le package, j'exporte cer

Lire la suite →