Ricerca nel sito web

Monorepo, Typescript, dipendenze transitive e gestori di pacchetti (pnpm)

Quindi ho appena avviato un monorepo usando rush (pnpm).

Ho una libreria chiamata web-commons che ha dipendenze fastify e altre.

Ho un'applicazione backend chiamata my-app.

Voglio usare alcuni tipi e moduli di fastify in my-app, ma non riesco a importarli.

Come posso fare in modo che le dipendenze di web-commons siano incluse nelle dipendenze di my-app in modo transitivo?

S

Continua a leggere →

Pacchetti workspace privati di pnpm scritti in TypeScript: esporre src o dist?

Ho un monorepo composto principalmente da codice TypeScript gestito utilizzando pnpm, e abbiamo molte dipendenze tra pacchetti all'interno dello workspace (ad esempio per pacchetti di libreria). Questi pacchetti sono privati per questo workspace e non vengono mai pubblicati da soli. Tipicamente definiamo il pacchetto in questo modo:

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

Continua a leggere →

docker - Dockerizzare un monorepo MERN in Typescript che utilizza gli workspace pnpm

Ho un progetto con la seguente struttura di cartelle, è un monorepo TypeScript che ha due app (client e api) e una libreria condivisa (shared), sia il backend che il frontend dipendono dalla libreria condivisa. E voglio dockerizzare questo progetto.

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

Continua a leggere →

material ui - Perché TypeScript dà errori quando si usa pnpm?

Sto cercando di migrare da yarn a pnpm, ma ho incontrato un piccolo problema e non sono sicuro su come procedere. Non ho ancora provato a modificare le impostazioni relative all'hoisting (preferirei non farlo se possibile), ma sto cercando di capire perché questo mi sta causando un problema.

Continua a leggere →

typescript - Come far sì che i pacchetti vengano compilati automaticamente quando si utilizza pnpm install?

Il nostro progetto utilizza pnpm + workspace + typescript seguendo lo standard monorepo. Dopo aver clonato il repository, eseguiamo pnpm install per installare le dipendenze e collegare i pacchetti locali tra loro. Ma il codice all'interno di ciascun pacchetto rimane ancora in modalità sorgente nei file .ts. Come fare per far eseguire automaticamente pnpm run build in ciascun pacchetto in modo da avere una cartella dist all'interno del pacchetto quando s

Continua a leggere →

node.js - Uso dello schema Prisma in un monorepo PNPM con NestJS che causa problemi ESM

Ho creato un monorepo PNPM che ha due app NestJS (apps/api e apps/backend; entrambe sono esattamente uguali) e un pacchetto database Prisma (packages/database). Quando avvio l'api con start:dev, ottengo il seguente errore:

(node:69498) Warning: To load an ES module

Continua a leggere →

Errori di compilazione di Typescript durante la build di Angular con SSR + pnpm + preserveSymlinks

Avevo un'app Angular che si compilava correttamente. L'unica particolarità di questa app è che ha preserveSymlinks: true in angular.json e una libreria locale installata per lo sviluppo usando il protocollo link: nelle dip

Continua a leggere →

Configurazione funzionante per monorepo pnpm con TypeScript, Vite e Rollup

Creo un monorepo usando i workspace di pnpm e ho problemi a farlo funzionare. Usa TypeScript, Vite sui frontend, Rollup nei microservizi backend.

Ecco l'impostazione:

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

Continua a leggere →

reactjs - Vite con PNPM fallisce a causa dell'analisi delle importazioni sul pacchetto `node_modules/.pnpm`

Usare PNPM e Vite in un monorepo porta al seguente problema, non ho idea che tipo di abominio siano questi [email protected]_@[email protected], probabilmente qualche stranezza di PNPM. C'è un modo per disabilitare questo controllo delle librerie

Continua a leggere →

node.js - Perché PNPM marca il mio pacchetto con "versione: link:" dopo il comando "pnpm install ..."?

Ho un pacchetto, che è pubblicato in NPM. In questo pacchetto, ho usato lo stesso pacchetto come una delle sue dipendenze, https://github.com/tal-rofe/cz-vinyl

Come puoi vedere, il nome del pacchetto è cz-vinyl, con l'ultima versione 2.5.0. La cosa più importante è che il mio file package.json include: "cz-vinyl": "2.5.0", quindi uso il pacchetto come dipendenza.

Nel pacchetto, esporto alcuni

Continua a leggere →