pnpm deploy
Distribuisci un pacchetto da uno spazio di lavoro.
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.