Development Server
Start the development server
Run the Angular development server:Or using npm:The application will be available at
http://localhost:4200 by default.Building for Production
Build your application with production optimizations:Build Features
The production build includes:- Subresource Integrity (SRI): Ensures downloaded resources haven’t been tampered with
- Output hashing: Automatic cache busting for deployed assets
- Service Worker: PWA support with offline capabilities
- Post-build optimizations:
- Icon font preload tag injection
- Translation file optimization
Build Budgets
Jet enforces strict size budgets:- Initial bundle: 500kB warning, 1MB error
- Component styles: 4kB warning, 8kB error
Code Quality
Linting
Lint your TypeScript and HTML files:- ESLint with Angular ESLint rules
- typescript-eslint for TypeScript-specific linting
- eslint-plugin-perfectionist for consistent code organization
Linting runs automatically before every commit via Husky.
Formatting
- Format Staged Files
- Format All Files
Format only staged files (runs automatically on commit):This uses lint-staged to format files efficiently.
Prettier Configuration
Jet uses Prettier with specialized plugins:- prettier-plugin-organize-imports: Automatically organizes imports
- prettier-plugin-css-order: Orders CSS properties consistently
- prettier-plugin-sql-cst: Formats SQL in migration files
Testing
Run unit tests with Vitest:- JSDOM for DOM testing
- Angular testing utilities
- Signal-aware test helpers
Committing Code
Conventional Commits
Jet enforces Conventional Commits for changelog generation and versioning.Commit Message Format
Valid Scopes
angular: Angular-specific changesgeneral: General project changessupabase: Supabase-related changes
Common Types
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringperf: Performance improvementstest: Test additions or modificationschore: Build process or tooling changes
Update Commit Scopes
To add or modify allowed scopes, edit.commitlintrc.json:
Pre-commit Hooks
Husky automatically runs these tasks before every commit:- Format staged files:
npm run format-staged - Lint code:
npm run lint - Build project:
npm run build
Customize Pre-commit Tasks
Edit.husky/pre-commit to modify pre-commit behavior:
Disable Husky
If you need to temporarily skip hooks:Internationalization (i18n) Tools
Extract Translation Keys
Extract translation keys from your templates:Find Missing Translations
Find missing or unused translation keys:Dependency Management
Jet includes scripts to update all dependencies to their latest versions:- Uninstall all devDependencies
- Uninstall all dependencies
- Remove build artifacts and node_modules
- Reinstall dependencies (latest versions)
- Reinstall devDependencies (latest versions)
Keep the helper scripts (
x:install-* and x:uninstall-*) in package.json updated when adding or removing dependencies.Development Environment
The development server includes security headers matching production:- Content Security Policy (CSP)
- Cross-Origin-Embedder-Policy
- Cross-Origin-Opener-Policy
- Cross-Origin-Resource-Policy
- Referrer-Policy
- Strict-Transport-Security
- X-Content-Type-Options