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.
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
This Turborepo includes the following packages/apps:
.
├── 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.
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.
This Turborepo
already configured useful commands for all your apps and packages.
# 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.
# Will run the development server for all the app & packages with the supported `dev` script.
pnpm run dev
# 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.
# Will lint all the app & packages with the supported `lint` script.
# See `@repo/eslint-config` to customize the behavior.
pnpm run lint