Skip to content
/ vuetres Public template

🏠🌱 Vuetres is an opinionated Vue 3 starter template made by @domicoder for mocking apps quickly. It uses Vue 3 with Vite, Pinia, Typescript, file-based routing, i18n, webfont self-hosting, TailwindCSS for styling, custom icons.

Notifications You must be signed in to change notification settings

domicoder/vuetres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’š Vuetres Template

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses the new <script setup> syntax. Check out the script setup docs to learn more.

🧩 Features

🧰 Recommended Setup

πŸ“¦ 🧰 Additional Setup

βš™οΈ Environment Setup

  • Node: v20.11.0 (LTS/iron May 2024)
  • NPM: v10.5.2
  • NVM: v0.38.0

πŸ’… Code Styling

  • ESLint rules are defined in .eslintrc.json
  • Prettier rules are defined in .prettierrc.
  • Pre-commit hooks are defined in .husky/pre-commit.

πŸ’… CSS Architecture

We use Tailwind CSS for styling. It is a utility-first CSS framework that provides a set of pre-built components and utilities that can be used to quickly build responsive and visually appealing web pages.

βš—οΈ Husky pre-commit hooks

Husky is a package that allows you to run a script before every commit. It can be used to check code formatting, run tests, or perform other tasks. We use 3 pre-commit hooks:

  • pre-commit: Runs ESLint on the staged files.
  • commit-msg: Runs commitlint on the commit message.
  • pre-push: Runs unit tests on the staged files.

πŸ›  NPM scripts for Development

πŸͺ„ Init

# install nvm if you don't have it
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm use # If you have nvm installed with node version 20.11.0
nvm install # Install node version 20.11.0 using nvm

πŸ“¦ Installation

npm install # Install all dependencies

πŸ”¨ Compile and hot-reload for development

npm run dev # Compile and hot-reload for development

πŸ“ Lint and fix files

npm run lint # run lint
npm run lint:fix # run lint --fix

πŸš€ Build

npm run build # Build the project for production

πŸ‘ Preview

npm run preview # Preview of the locally packaged project

πŸ”¬ Test Setup

npm run test-setup # Install playwright

πŸ§ͺ Run unit tests

npx playwright test # Run playwright
npx playwright show-report # Show playwright report
npx playwright test --ui # Run playwright with UI

# or
npm run test:unit
npm run test:e2e
npm run test # Runs both unit and e2e tests

Commit Message Conventions

We use commitlint to enforce a conventional commit message format. This ensures that the commit message follows a standard format that is easy to read and understand.

The commitlint configuration file is located at .commitlintrc.json. It specifies the rules for validating commit messages.

<type>(<scope>): <subject>

<type>

  • Descibes the category of your change.
  • Commonly used: build, feat, fix, docs, style, refactor, perf, test, chore, etc.

<scope>

  • Optional argument.
  • Describes the module affected by your change.
  • Highly project specific.
  • Commonly used: core, ui, api, state, utils, types, config, tests, etc.

<subject>

  • Terse description.
  • Avoid repeating information from type and scope.
  • Describe what the software does after your change.

Help

'init:     initial commit'
'feat:     add new feature'
'fix:      fix bug'
'ui:       update UI'
'refactor: refactor code'
'perf:     performance code or flows'
'release:  release application'
'deploy:   deploy on server'
'docs:     change docs'
'test:     add testing'
'chore:    change settings (ex. deps)'
'style:    update style without logic change'
'revert:   revert commit'

Examples

feat(core): add new feature

fix(core): fix bug in component

perf(cache): optimize cache retrieval speed

chore(deps): update dependency versions

refactor(user): simplify user creation logic

docs(ui): update documentation

docs(readme): update installation instructions

chore: update .gitignore

Browser support

The Chrome 80+ browser is recommended for local development

Support modern browsers, doesn't include IE

 Edge
IE
 Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
not support last 2 versions last 2 versions last 2 versions last 2 versions

About

🏠🌱 Vuetres is an opinionated Vue 3 starter template made by @domicoder for mocking apps quickly. It uses Vue 3 with Vite, Pinia, Typescript, file-based routing, i18n, webfont self-hosting, TailwindCSS for styling, custom icons.

Topics

Resources

Stars

Watchers

Forks