Reading exercise application for note reading.
- Recommended IDE Setup
- Type Support for .vue Imports in TS
- Customize configuration
- Project Setup
- Commit Message Guidelines for Version Bumping
- Run Dockerfile
VSCode + Volar (and disable Vetur).
TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
See Vite Configuration Reference.
pnpm installpnpm devpnpm buildRun Unit Tests with Vitest
pnpm test:unitRun End-to-End Tests with Cypress
pnpm test:e2e:devThis runs the end-to-end tests against the Vite development server. It is much faster than the production build.
But it's still recommended to test the production build with test:e2e before deploying (e.g. in CI environments):
pnpm build
pnpm test:e2eLint with ESLint
pnpm lintWe follow the Conventional Commits specification for commit messages. This helps with readability, automated changelogs, and versioning.
Format:
<type>(optional-scope): <description>
[optional body]
[optional footer(s)]
Examples:
> feat: add search bar to header
> fix(auth): handle expired token on refresh
> chore: update dependencies
> feat(api)!: remove deprecated endpoint
> refactor!: migrate to new database schema
The ! after the type (or in the footer) indicates a breaking change.
Breaking Changes:
To signal a breaking change, you can either:
- Add a
!after the type/scope (e.g.feat!,fix(core)!) - Or add a
BREAKING CHANGE:section in the footer
Example:
> feat!: remove deprecated login method
> BREAKING CHANGE: The old login() function has been removed. Use loginWithToken() instead.
Common types:
feat: A new featurefix: A bug fixdocs: Documentation only changesci: CI/CD only changesstyle: Code style changes (formatting, missing semicolons, etc.)refactor: Code changes that neither fix a bug nor add a featuretest: Adding or correcting testschore: Changes to the build process or auxiliary tools
docker build -t note-exercise .docker rm -f note-exercise-nginxdocker run --name note-exercise-nginx -d -p 8080:80 note-exercise