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 --version
Then install dependencies:
pnpm install
To compile the arena-app
:
pnpm nx build @echo-app-nx/arena-app
The 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.js
You 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.