This is a modern front-end boilerplate which is partially based on islands architecture with focus on improved DX (Developer Experience).
Feature | Advantage |
---|---|
Dynamic Imports | Reduced initial load times |
Bundle Splitting | Reducing the loading and execution time |
Tree Shaking | Dead code removal |
Auto Prefixing | Supports more browsers |
SPA | Improved UX with routing |
PWA | Native app like performance |
Image Optimization | Reduces Image size |
Special Routing | Lightweight SPA |
Rough Annotations | Modern site decorators |
Type Checking | Reduced Bugs |
Linting | Maintain Code Standards |
Git Hooks | Improved DX (Developer Experience) |
HMR | Quick response on code change |
Workflows | Automated github workflows |
Technology | Why? |
---|---|
Svelte | DX, no Virtual DOM, build time compilation, reactivity and ease of use |
Vite | Blazing fast, DX, HMR, Extensible plugins and framework agnostic |
TypeScript | Type Checking, DX, Code Auto Completion and Superset of JavaScript |
EsLint | Code Linting and Maintains Standards |
Prettier | Code Formatting and Maintaining standards |
Commitizen | Lints git commit messages |
Husky | Git Hooks before and after git commit |
Tinro | Lightweight Routing |
Terser | JavaScript minification, mangling and tangling |
PostCSS | CSS transformations |
AutoPrefixer | Prefixes the CSS to support more browsers |
GitHub Actions | Building and Deploying the Code in Github Pages |
Dependabot | Automatic Dependency Updates |
CodeQL | Discover vulnerabilities across a codebase with semantic code analysis engine |
PWA | App like installation and Offline capabilities |
Rollup | Aggressive Bundle Optimizations and TreeShaking |
EsBuild | Ultra fast dependency pre bundling |
Conventional Commits | Git commit messages standards |
Release Please | Automated versioning and releasing packages based on commits |
Image Sharp | Image optimizations out-of-the-box |
yarn dev
vite
yarn build
dist/
foldervite build
yarn preview
vite preview
yarn lint
src
directory and tries to fix the issues to ensure the code quality and standards across the entire codebaseeslint --ext .js,.ts,.svelte --ignore-path .gitignore --fix src
yarn format
prettier --write . '!**/dist'
yarn check
svelte-check --tsconfig tsconfig.json
yarn prepare
husky install
yarn commit
cz
Hook at: pre-commit
yarn lint #eslint linting
yarn format #prettier formatting
yarn build #vite-rollup building
Hook at: prepare-commit-msg
exec < /dev/tty && yarn commit --hook || true #lints commit with interactive prompts
Workflow in: dependabot.yaml
Workflow in: codeql-analysis.yaml
Workflow in: release-please.yaml
gh-pages
branch for GitHub Pages hostingWorkflow in: deploy.yaml
All kind of contributions are welcomed