Skip to main content

angular-tooling

Use Angular CLI and development tools effectively in Angular v20+ projects. Use for project setup, code generation, building, testing, and configuration. Triggers on creating new projects, generating components/services/modules, configuring builds, running tests, or optimizing production builds. Don't use for Nx workspace commands, custom Webpack configurations, or non-Angular CLI build systems like Vite standalone or esbuild direct usage.

Aller à l'installation

Informations de source

Dépôt
mediar-ai/skillhubz
Dernière activité de la source
1 mars 2026 à 22:54
Langue détectée de SKILL.md
anglais
Étoiles
7
Forks
4

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
angular-tooling
description
Use Angular CLI and development tools effectively in Angular v20+ projects. Use for project setup, code generation, building, testing, and configuration. Triggers on creating new projects, generating components/services/modules, configuring builds, running tests, or optimizing production builds. Don't use for Nx workspace commands, custom Webpack configurations, or non-Angular CLI build systems like Vite standalone or esbuild direct usage.
# Angular Tooling Use Angular CLI and development tools for efficient Angular v20+ development. ## Project Setup ### Create New Project ```bash # Create new standalone project (default in v20+) ng new my-app # With specific options ng new my-app --style=scss --routing --ssr=false # Skip tests ng new my-app --skip-tests # Minimal setup ng new my-app --minimal --inline-style --inline-template ``` ### Project Structure ``` my-app/ ├── src/ │ ├── app/ │ │ ├── app.component.ts │ │ ├── app.config.ts │ │ └── app.routes.ts │ ├── index.html │ ├── main.ts │ └── styles.scss ├── public/ # Static assets ├── angular.json # CLI configuration ├── package.json ├── tsconfig.json └── tsconfig.app.json ``` ## Code Generation ### Components ```bash # Generate component ng generate component features/user-profile ng g c features/user-profile # Short form # With options ng g c shared/button --inline-template --inline-style ng g c features/dashboard --skip-tests ng g c features/settings --change-detection=OnPush # Flat (no folder) ng g c shared/icon --flat # Dry run (preview) ng g c features/checkout --dry-run ``` ### Services ```bash # Generate service (providedIn: 'root' by default) ng g service services/auth ng g s services/user # Skip tests ng g s services/api --skip-tests ``` ### Other Schematics ```bash # Directive ng g directive directives/highlight ng g d directives/tooltip # Pipe ng g pipe pipes/truncate ng g p pipes/date-format # Guard (functional by default) ng g guard guards/auth # Interceptor (functional by default) ng g interceptor interceptors/auth # Interface ng g interface models/user # Enum ng g enum models/status # Class ng g class models/product ``` ### Generate with Path Alias ```bash # Components in feature folders ng g c @features/products/product-list ng g c @shared/ui/button ``` ## Development Server ```bash # Start dev server ng serve ng s # Short form # With options ng serve --port 4201 ng serve --open # Open browser ng serve --host 0.0.0.0 # Expose to network # Production mode locally ng serve --configuration=production # With SSL ng serve --ssl --ssl-key ./ssl/key.pem --ssl-cert ./ssl/cert.pem ``` ## Building ### Development Build ```bash ng build ``` ### Production Build ```bash ng build --configuration=production ng build -c production # Short form # With specific options ng build -c production --source-map=false ng build -c production --named-chunks ``` ### Build Output ``` dist/my-app/ ├── browser/ │ ├── index.html │ ├── main-[hash].js │ ├── polyfills-[hash].js │ └── styles-[hash].css └── server/ # If SSR enabled └── main.js ``` ## Testing ### Unit Tests ```bash # Run tests ng test ng t # Short form # Single run (CI) ng test --watch=false --browsers=ChromeHeadless # With coverage ng test --code-coverage # Specific file ng test --include=**/user.service.spec.ts ``` ### E2E Tests ```bash # Run e2e (if configured) ng e2e ``` ## Linting ```bash # Run linter ng lint # Fix auto-fixable issues ng lint --fix ``` ## Configuration ### angular.json Key Sections ```json { "projects": { "my-app": { "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/my-app", "index": "src/index.html", "browser": "src/main.ts", "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", "assets": ["{ \"glob\": \"**/*\", \"input\": \"public\" }"], "styles": ["src/styles.scss"], "scripts": [] }, "configurations": { "production": { "budgets": [ { "type": "initial", "maximumWarning": "500kB", "maximumError": "1MB" } ], "outputHashing": "all" }, "development": { "optimization": false, "extractLicenses": false, "sourceMap": true } } } } } } } ``` ### Environment Configuration ```typescript // src/environments/environment.ts export const environment = { production: false, apiUrl: 'http://localhost:3000/api', }; // src/environments/environment.prod.ts export const environment = { production: true, apiUrl: 'https://api.example.com', }; ``` Configure in angular.json: ```json { "configurations": { "production": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ] } } } ``` ## Adding Libraries ### Angular Libraries ```bash # Add Angular Material ng add @angular/material # Add Angular PWA ng add @angular/pwa # Add Angular SSR ng add @angular/ssr # Add Angular Localize ng add @angular/localize ``` ### Third-Party Libraries ```bash # Install and configure npm install @ngrx/signals # Some libraries have schematics ng add @ngrx/store ``` ## Update Angular ```bash # Check for updates ng update # Update Angular core and CLI ng update @angular/core @angular/cli # Update all packages ng update --all # Force update (skip peer dependency checks) ng update @angular/core @angular/cli --force ``` ## Performance Analysis ```bash # Build with stats ng build -c production --stats-json # Analyze bundle (install esbuild-visualizer) npx esbuild-visualizer --metadata dist/my-app/browser/stats.json --open ``` ## Caching ```bash # Enable persistent build cache (default in v20+) # Configured in angular.json: { "cli": { "cache": { "enabled": true, "path": ".angular/cache", "environment": "all" } } } # Clear cache rm -rf .angular/cache ``` For advanced configuration, see [references/tooling-patterns.md](references/tooling-patterns.md).
Voir sur GitHub