Documentation
supastarter for Nuxtsupastarter for NuxtWorking with the codebase

Manage dependencies

As the package manager we chose pnpm.

Why pnpm

It is a fast, disk space efficient package manager that uses hard links and symlinks to save one version of a module only ever once on a disk. It also has a great monorepo support.

Install a package

To install a package to the supastarter monorepo you need to decide whether you want to install it to the root of the monorepo or to a specific workspace. Installing it to the root makes it available to all packages, while installing it to a specific workspace makes it available only to that workspace.

To install a package globally, run:

pnpm add -w <package-name>

To install a package to a specific workspace, run:

pnpm add --filter <workspace-name> <package-name>

Here is a list of the workspaces of supastarter:

Apps:

  • saas
  • marketing
  • docs
  • mail-preview

Packages:

  • ai
  • api
  • auth
  • database
  • i18n
  • logs
  • mail
  • payments
  • storage
  • ui
  • utils

Tooling:

  • @repo/eslint-config
  • @repo/tailwind-config
  • @repo/tsconfig

Remove a package

Removing a package is the same as installing but with the remove command.

To remove a package globally, run:

pnpm remove -w <package-name>

To remove a package to a specific workspace, run:

pnpm remove --filter <workspace-name> <package-name>

Update a package

Updating is a bit easier since there is a nice way to update a package in all workspaces at once:

pnpm update -r <package-name>