Skip to content

feat: migrating to eslint#2432

Draft
rshade wants to merge 1 commit intomasterfrom
eslint
Draft

feat: migrating to eslint#2432
rshade wants to merge 1 commit intomasterfrom
eslint

Conversation

@rshade
Copy link
Copy Markdown
Contributor

@rshade rshade commented Feb 19, 2026

This pull request migrates the codebase from TSLint to ESLint for TypeScript and JavaScript linting, updates related scripts and configuration, and cleans up obsolete TSLint-specific code. The migration includes introducing a new ESLint configuration, updating CI and Makefile linting commands, and removing TSLint from dependencies and scripts.

Linting migration and configuration:

  • Added a new ESLint configuration in eslint.config.mjs to enforce code style and quality rules, including copyright headers and stylistic preferences.
  • Added ESLint and related plugins as development dependencies in package.json.
  • Removed the obsolete tslint.json configuration file.

Build and CI updates:

  • Updated the GitHub Actions workflow (.github/workflows/test-examples.yml) to install dependencies and use ESLint instead of TSLint for linting.
  • Updated the Makefile to remove global TSLint installation, add ESLint-based linting targets, and integrate ESLint into the main lint target. [1] [2]

Project scripts and code cleanup:

  • Replaced TSLint-based scripts with ESLint-based scripts in all relevant package.json files (e.g., aws-ts-stackreference-architecture/application/package.json, database/package.json, networking/package.json). [1] [2]
  • Removed all tslint:disable comments from TypeScript source files, as ESLint now enforces equivalent rules. [1] [2] [3] [4] [5] [6] [7]

@dirien
Copy link
Copy Markdown
Contributor

dirien commented Mar 21, 2026

The TSLint-to-ESLint migration looks right — TSLint has been deprecated for years. The CI lint check fails because the PR itself changes the lint command, which is expected.

A few things I noticed:

  • The eslint config and Makefile changes look clean.
  • Removing tslint:disable comments and adding missing copyright headers is good cleanup.
  • Removing package-lock.json from .gitignore makes sense since the root now has a package.json for eslint.

@rshade want to rebase this against current master? I think it's close to mergeable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants