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 devvite
yarn builddist/ foldervite build
yarn previewvite preview
yarn lintsrc 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 formatprettier --write . '!**/dist'
yarn checksvelte-check --tsconfig tsconfig.json
yarn preparehusky install
yarn commitcz
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