Progressive Web App (PWA) starter template for Vue-based Single-page application (SPA) development, leveraging various Omni libraries.
1️⃣ Create a new repository from this template (or fork) and clone locally:
git clone https://github.com/{your-repo-name}.git
cd {your-repo-name}
2️⃣ Restore all package dependencies:
npm i
3️⃣ Open it in VS Code:
code .
The following NPM scripts within package.json
should be noted:
serve
- Launches Vite's dev server.build
- Bundles code and copies artifacts for production from thesrc
directory to thedist
directory.preview
- Launches a simple web server, serving thedist
directory (Remember tobuild
first! 🎗️).test
- Launches the Playwright test runner & executes all tests withintests
directory.format
- Runs the Prettier formatter, applying format updates where necessary.lint
- Runs the ESLint analyzer, applying code updates where necessary.
Run End-to-End Tests with Playwright
# Install browsers for the first run
npx playwright install
# When testing on CI, must build the project first
npm run build
# Runs the end-to-end tests
npm run test
# Runs the tests only on Chromium
npm run test -- --project=chromium
# Runs the tests of a specific file
npm run test -- tests/example.spec.ts
# Runs the tests in debug mode
npm run test -- --debug
Feature | Availability | Description |
---|---|---|
Components | ✅ | Omni Components |
Component Intellisense | ❌ | Not available |
Routing | ✅ | Vue Router |
VS Code Debugging | ❌ | Not available |
Tests | ✅ | Playwright |
Serve | ✅ | Vite |
Build | ✅ | Vite |
Build chunking | ✅ | vite.config.ts |
Preview built output | ✅ | Vite |
Formatting | ✅ | Prettier |
Linting | ✅ | ESLint |