Linting with ESLint
Air Tracker uses ESLint with Angular-specific rules for code quality and consistency.Running ESLint
ESLint Configuration
Configuration is defined ineslint.config.js:
Key ESLint Rules
Component Selectors
Components must usekebab-case with app prefix:
Directive Selectors
Directives must usecamelCase with app prefix:
Template Accessibility
Templates are checked for accessibility issues:Code Formatting with Prettier
Prettier is configured inpackage.json:
Prettier Rules
- Line Length: Maximum 100 characters
- Quotes: Single quotes for strings
- HTML Parser: Angular-aware HTML parsing
Running Prettier
TypeScript Conventions
TypeScript Configuration
Air Tracker uses strict TypeScript settings intsconfig.json:
Type Safety
Always use explicit types:Avoid any
Use unknown for Uncertain Types
From flights-store.service.ts:183:
Angular Style Guide
Air Tracker follows the Official Angular Style Guide with these specific conventions:File Naming
- Components:
feature-name.component.ts - Services:
feature-name.service.ts - Models:
feature-name.model.ts - Specs:
feature-name.component.spec.ts
Class Naming
Import Order
Organize imports in this order:- Angular core imports
- Angular material/CDK imports
- Third-party libraries
- Application imports (services, models, components)
flights-shell.component.ts:1-36:
Access Modifiers
Always use explicit access modifiers:Readonly Properties
Usereadonly for injected dependencies:
Code Organization
Service Structure
Organize service code in sections (example fromflights-store.service.ts:14-167):
Component Structure
Comments and Documentation
JSDoc for Public APIs
Document public methods and complex logic:Inline Comments
Use comments for complex logic:Section Comments
Use section dividers for clarity:Common Patterns
Signals
Use signals for reactive state:Dependency Injection
Useinject() function:
Error Handling
IDE Integration
VS Code Settings
Create.vscode/settings.json:
Pre-commit Hooks
Consider setting up Husky with lint-staged:Next Steps
- Learn about component development guidelines
- Read the contributing guide
- Review testing best practices
