Skip to content

jinzhi0123/turborepo-vue-nest-starter

Repository files navigation

Turborepo starter

This is a monorepo(Turborepo) template that includes Vue.js and Nest.js. The starter is inspired by official Turborepo template and antfu's vitesse-lite.

Using this template

Run the following command:

npx degit jinzhi0123/turborepo-vue-nest-starter my-turbo-app
cd my-turbo-app
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm

What's inside?

This Turborepo includes the following packages/apps:

Apps and Packages

.
├── apps
│   ├── api                       # Nest.js app.
│   └── web                       # Vue.js app using vitesse-lite.
└── packages
    ├── @repo/api                 # Shared `NestJS` resources.
    ├── @repo/eslint-config       # `eslint` configurations.
    ├── @repo/jest-config         # `jest` configurations.
    ├── @repo/typescript-config   # `tsconfig.json`s used throughout the monorepo.
    ├── @repo/ui                  # Shared Vue component library.
    └── @repo/css-present         # `unocss` configurations.

Each package and application are 100% TypeScript safe.

Utilities

The eslint config is based on @antfu/eslint-config to provide auto linting and formatting.

The config has been adapted to Eslint V9 Flat Config. If you are using turbo's official nest/nuxt template, which still use eslint v8 style, you will encounter some issues about this.

Commands

This Turborepo already configured useful commands for all your apps and packages.

Build

# Will build all the app & packages with the supported `build` script.
pnpm run build

# ℹ️ If you plan to only build apps individually,
# Please make sure you've built the packages first.

Develop

# Will run the development server for all the app & packages with the supported `dev` script.
pnpm run dev

test

# Will launch a test suites for all the app & packages with the supported `test` script.
pnpm run test

# You can launch e2e testes with `test:e2e`
pnpm run test:e2e

# See `@repo/jest-config` to customize the behavior.

Lint

# Will lint all the app & packages with the supported `lint` script.
# See `@repo/eslint-config` to customize the behavior.
pnpm run lint