You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've built this monorepo template for frontend libraries and applications based on pnpm workspaces and Nx.
The ease of code reusability as well as good starting point for optimized builds will provide you
a solid foundation for projects that are expected to grow.
Although this template is focused on the Vue.js framework, it can be easily adapted to other ones.
The template contains a few example libraries and applications with some basic functionality.
It also demonstrates the connections between them such as usage of outsourced components and composables.
@monorepo/app_1 - example application using shared libraries.
@monorepo/commons - shared library with some useful helpers and Vue composables.
@monorepo/ui - shared library with basic styling, starter components and Storybook.
Why pnpm?
Because we are using a monorepo structure, we have to use so called `workspaces` as well.
pnpm's `workspaces` implementation is fast, efficient, and disk-space friendly due to its unique symlinked node_modules structure.
For example, package hoisting and dependency management are handled efficiently by pnpm.
You can read more about pnpm's advantages in the official documentation.
2025-05-29: Updated to use pnpm v10 instead of yarn classic.
If you still want to use the old version, you can switch to the yarn branch of this repository.