This repository contains the migration of the DevsClub website from Next.js to Nuxt 3.
Built using:
- Vue 3
- Nuxt 3
- TypeScript
- pnpm
- Husky
- Commitlint
- Prettier
| Technology | Purpose |
|---|---|
| Nuxt 3 | Full-stack Vue framework |
| Vue 3 | Frontend framework |
| TypeScript | Type safety |
| pnpm | Package manager |
| Husky | Git hooks |
| Commitlint | Commit message enforcement |
| Prettier | Code formatting |
| lint-staged | Staged file formatting |
git clone <repo-url>
cd vue-migrationUsing pnpm:
pnpm installDuring installation, pnpm may ask to approve build scripts.
Run:
pnpm approve-buildsApprove:
esbuild@parcel/watcher
Start the local development server:
pnpm devApplication runs on:
http://localhost:3000
Build the application for production:
pnpm buildPreview production build locally:
pnpm previewThis project uses:
- Husky
- Commitlint
- Prettier
- lint-staged
to maintain clean commits and consistent formatting.
All commits must follow the Conventional Commits format:
type: message
Examples:
git commit -m "feat: add authentication flow"
git commit -m "fix: resolve navbar overflow"
git commit -m "chore: configure husky"Allowed commit types:
- feat
- fix
- chore
- docs
- style
- refactor
- perf
- test
- build
- ci
- revert
Branch names must follow:
type/branch-name
Examples:
feature/auth-system
fix/mobile-navbar
chore/husky-setup
refactor/api-cleanup
Allowed branch prefixes:
- feature
- fix
- chore
- docs
- refactor
- style
- test
Direct pushes to main are blocked locally using Husky hooks.
Please create feature branches and open Pull Requests instead.
Example workflow:
git checkout -b feature/login-page
git commit -m "feat: add login page"
git push origin feature/login-pageFormat the project manually:
pnpm formatPrettier automatically formats staged files during commits.
Run lint checks:
pnpm lint- Vue - Official
- Prettier
- ESLint
- Tailwind CSS IntelliSense
Nuxt supports deployment on:
- VPS
- Docker
- Vercel
- Netlify
- Cloudflare
- Node servers
Build output is generated inside:
.output/
- Nuxt Documentation: https://nuxt.com/docs
- Vue Documentation: https://vuejs.org
- pnpm Documentation: https://pnpm.io
- Husky Documentation: https://typicode.github.io/husky
- Commitlint Documentation: https://commitlint.js.org