Monorepos, Typescript, transitiva beroenden och paketchefer (pnpm)

Så jag har precis startat ett monorepo med hjälp av rush (pnpm).

Jag har ett bibliotek som heter web-commons som har beroenden fastify och andra.

Jag har en backend-applikation som heter my-app.

Jag vill använda vissa fastify-typer och moduler i my-app, men jag kan inte importera det.

Hur kan jag få web-commons-beroenden att inkluderas transitivt i my-app-beroenden?

Jag vet

Läs mer →

pnpm privata arbetsytapaket skrivna i TypeScript: exponera src eller dist?

Jag har ett monorepo med mestadels TypeScript-kod som hanteras med pnpm, och vi har många beroenden mellan paket inom arbetsytan (t.ex. för bibliotekspaket). Dessa paket är privata för denna arbetsyta och publiceras aldrig på egen hand. Vi definierar vanligtvis paketet på följande sätt:

{ "name": "my-library", "license": "UNLICENSED", "private": true, "main": "dist/index.js", "types": "

Läs mer →

docker - Dockerisera ett Typescript MERN-monorepo som använder pnpm-arbetsytor

Jag har ett projekt med följande mappstruktur, det är ett TypeScript-monorepo som har två appar (client och api) och ett delat bibliotek (shared), både backend och frontend är beroende av det delade biblioteket. Och jag vill dockerisera detta projekt.

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

Läs mer →

material ui - Varför klagar TypeScript när man använder pnpm?

Jag försöker migrera från yarn till pnpm men jag har stött på ett litet problem och jag är inte säker på hur jag ska gå vidare med det. Jag har inte försökt ändra inställningarna för hoisting ännu (jag föredrar att inte göra det om möjligt), men jag försöker förstå varför detta orsakar problem fö

Läs mer →

typescript - Hur man får paket att byggas automatiskt när man använder pnpm install?

Vårt projekt använder pnpm + workspace + typescript enligt monorepo-standarden. Efter att ha klonat repot kör vi pnpm install för att installera beroenden och länka lokala paket till varandra. Men koden i varje paket förblir fortfarande i källkodsläge i .ts-filerna. Hur triggar man varje paket att köra pnpm run build automatiskt för att ha en dist-mapp i paketet när man använder pnpm install första gången.

Läs mer →

node.js - Använda Prisma Schema i PNPM-monorepo med NestJS orsakar ESM-problem

Jag har skapat ett PNPM-monorepo som har två NestJS-appar (apps/api och apps/backend; båda är exakt samma) och ett Prisma-databaspaket (packages/database). När jag kör api med start:dev får jag följande fel:

(node:69498) Warning: To load an ES module, set "typ

Läs mer →

Typescript-kompileringsfel vid byggande av Angular med SSR + pnpm + preserveSymlinks

Jag hade en Angular-app som byggde fint. Enda egenheten med denna app är att den har preserveSymlinks: true i angular.json och ett lokalt bibliotek installerat för utveckling med hjälp av link:-protokollet i package.

Läs mer →

Fungerande setup för pnpm-monorepo med TypeScript, Vite och Rollup

Jag bygger ett monorepo med pnpm workspaces och jag har problem med att få det att fungera. Det använder TypeScript, Vite på frontend och Rollup på backend-mikrotjänster.

Här är upplägget:

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

Läs mer →

reactjs - Vite med PNPM misslyckas på grund av importanalys av `node_modules/.pnpm`-paket

Att använda PNPM och Vite i en monorepo resulterar i följande problem, jag har ingen aning om vilken sorts avskyvärd skapelse detta [email protected]_@[email protected] är, förmodligen någon PNPM-konstighet. Finns det något sätt att inaktivera de

Läs mer →

node.js - Varför markerar PNPM mitt paket med "version: link:" efter kommandot "pnpm install ..."?

Jag har ett paket som är publicerat på NPM. I detta paket använde jag samma paket som en av dess beroenden, https://github.com/tal-rofe/cz-vinyl

Så som du kan se, är paketnamnet cz-vinyl, med senaste versionen 2.5.0. Viktigast, min package.json-fil inkluderar: "cz-vinyl": "2.5.0", så jag använder paketet som ett beroende.

I paketet exporterar jag några TypeScript-typer i dess package.jso

Läs mer →