CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-angular-eslint--schematics

Angular CLI Schematics that automate the setup and configuration of ESLint in Angular workspaces

Pending
Overview
Eval results
Files

workspace-setup.mddocs/

Workspace Setup

This capability handles adding ESLint to existing Angular workspaces and configuring workspace-level settings.

Capabilities

ng-add Schematic

The primary entry point for adding angular-eslint to an existing workspace. This is automatically invoked when running ng add @angular-eslint/schematics.

/**
 * Add angular-eslint to an existing workspace
 * @param options - Configuration options for the installation
 * @returns Schematic rule that performs the installation
 */
export default function (options: NgAddSchema): Rule;

interface NgAddSchema {
  /** Skip installing dependencies after adding the schematic */
  skipInstall?: boolean;
}

Usage Examples:

# Add ESLint to workspace with automatic dependency installation
ng add @angular-eslint/schematics

# Add ESLint to workspace but skip dependency installation
ng add @angular-eslint/schematics --skipInstall

The ng-add schematic performs the following operations:

  1. Updates package.json with required dependencies
  2. Configures schematic collections in angular.json
  3. Sets up root-level ESLint configuration
  4. Updates workspace lint targets
  5. Installs dependencies (unless skipInstall is true)

Workspace Configuration Updates

The ng-add process updates several workspace-level configuration files:

Package.json Updates

Adds the following devDependencies:

  • @angular-eslint/builder
  • @angular-eslint/eslint-plugin
  • @angular-eslint/eslint-plugin-template
  • @angular-eslint/schematics
  • @angular-eslint/template-parser
  • @typescript-eslint/eslint-plugin
  • @typescript-eslint/parser
  • eslint

Angular.json Updates

Updates the workspace configuration to:

  • Set default schematic collection to @angular-eslint/schematics
  • Configure default values for @angular-eslint/schematics:application
  • Configure default values for @angular-eslint/schematics:library

ESLint Configuration

Creates a root ESLint configuration file (either legacy .eslintrc.json or modern eslint.config.js format) with:

  • Base configuration for TypeScript files
  • Angular-specific rules and plugins
  • Template parsing configuration
  • Proper file pattern matching

Types

interface NgAddSchema {
  skipInstall?: boolean;
}

const FIXED_ESLINT_V8_VERSION = '8.57.1';
const FIXED_TYPESCRIPT_ESLINT_V7_VERSION = '7.11.0';

Install with Tessl CLI

npx tessl i tessl/npm-angular-eslint--schematics

docs

index.md

migration-system.md

project-configuration.md

project-generation.md

utility-functions.md

workspace-setup.md

tile.json