A basic monorepo setup using Nx and pnpm, built to accompany the Spanish lesson Creando un Proyecto Básico con Nx.
While the lesson is written in Spanish, this repository — including code, comments, and documentation — uses English to follow common development practices and align with the official Nx documentation.
This project demonstrates how to initialize and structure a TypeScript monorepo using Nx with pnpm as the package manager. It contains a single application called arena, organized under the packages/ directory.
echo-app-nx/
├── packages/
│ └── arena-app/
│ └── src/
│ └── main.ts
├── .nx/
├── .vscode/
├── node_modules/
├── package.json
├── pnpm-workspace.yaml
├── tsconfig.base.json
└── ...
Make sure you have Node.js and pnpm installed:
node --version
pnpm --versionThen install dependencies:
pnpm installTo compile the arena-app:
pnpm nx build @echo-app-nx/arena-appThe compiled output will be placed under:
packages/arena-app/dist/packages/arena-app/src/main.js
node packages/arena-app/dist/packages/arena-app/src/main.jsYou should see:
Are you not entertained?!
This example was built as a companion to the DIBS course on building software libraries. It demonstrates how to:
- Set up a monorepo with Nx and pnpm.
- Generate a basic Node.js application.
- Organize applications using the
packages/directory. - Understand the structure and build workflow of a modular Nx project.
This project is licensed under the BSD 2-Clause License. See LICENSE for details.