Passa al contenuto principale
Versione: 7.x

pnpm deploy

Aggiunto in: v7.4.0

Deploy a package from a workspace.

Utilizzo:

pnpm --filter=<deployed project name> deploy <target directory>

Nel caso in cui compili il progetto prima della distribuzione, usa anche l'opzione --prod per ignorare l'installazione delle devDependencies.

pnpm --filter=<deployed project name> --prod deploy <target directory>

Utilizzo in un'immagine Docker. Dopo aver creato tutto nel tuo monorepo, fallo in una seconda immagine che usa l'immagine di base del tuo monorepo come contesto di compilazione o in una fase di compilazione aggiuntiva:

# syntax=docker/dockerfile:1.4

FROM workspace as pruned
RUN pnpm --filter <your package name> --prod deploy pruned

FROM node:18-alpine
WORKDIR /app

ENV NODE_ENV=production

COPY --from=pruned /app/pruned .

ENTRYPOINT ["node", "index.js"]

Opzioni

--dev, -D

Solo le dipendenze di sviluppo (devDependencies) vengono installate indipendentemente da NODE_ENV.

--no-optional

Le dipendenze opzionali (optionalDependencies) non vengono installate.

--prod, -P

Packages in devDependencies won't be installed.

--filter <selettore_pacchetto>

Ulteriori informazioni sui filtri.

File inclusi nel progetto distribuito

Per impostazione predefinita, tutti i file del progetto vengono copiati durante la distribuzione. Il package.json del progetto può contenere un campo "file" per elencare i file e le directory che devono essere copiati.