or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

index.mdmigration-system.mdproject-configuration.mdproject-generation.mdutility-functions.mdworkspace-setup.md
tile.json

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';