Skip to content

Comments

chore(deps): upgrade eslint to v9#13258

Merged
czubocha merged 9 commits intomainfrom
eslint-upgrade
Jan 19, 2026
Merged

chore(deps): upgrade eslint to v9#13258
czubocha merged 9 commits intomainfrom
eslint-upgrade

Conversation

@czubocha
Copy link
Contributor

@czubocha czubocha commented Jan 15, 2026

Migrate to ESLint v9 Flat Config + Unified Prettier Setup

Summary

This PR migrates the monorepo to ESLint v9 with flat configuration and establishes a unified linting/formatting setup across all packages. It also adds ESLint and Prettier checks to CI.

Changes

ESLint v9 Migration

  • New root eslint.config.js — Central flat config that covers all packages
  • Removed package-level .eslintrc.cjs files — Now using root config
  • Updated packages/standards — New ESLint v9 flat config in src/eslint.js

Prettier Unification

  • New root prettier.config.js — Re-exports from packages/standards
  • Added --ignore-path to package scripts — Ensures consistent .prettierignore usage
  • Reformatted all files — Semicolons removed, quotes normalized

CI Integration

  • Added lint job to ci-framework.yml — Runs ESLint and Prettier on every PR

Bug Fixes (discovered by new ESLint rules)

File Fix
sf-core/src/utils/fs/index.js Now re-throws non-ENOENT errors instead of silently ignoring
sf-core/src/lib/resolvers/manager.js Guards against nullish CLI params
sf-core/src/lib/runners/framework.js Removed redundant || {}
serverless/lib/plugins/aws/alerts/external-stack.js Fixed typeof check that was always truthy
serverless/lib/plugins/aws/invoke-local/index.js Added missing importEsm import

Dead Code Removal

File Removed
sf-core/src/lib/runners/cfn/aws/Bucket.js uploadTemplate() — never called, contained bug
engine/src/lib/integrations/slack.js #stage, #deleteSlackAppCredentials() — unused
sf-core/src/lib/frameworks/scf/index.js #projectConfig — unused
engine/src/lib/*/slack/apps.js canRunOpenOnLinux() — never called

Breaking Changes

None. All changes are internal tooling, formatting, or bug fixes that improve robustness.

File Count

Category Files
Formatting only ~200
Bug fixes 5
Dead code removal 4
Config changes 15
Total ~215

Testing

  • npm run lint passes
  • npm run prettier passes
  • All existing tests pass

Notes

The large line diff (+1,526 / -2,628) is primarily due to:

  1. Semicolon removal — Prettier's semi: false setting
  2. Quote normalization"'
  3. Dead code and old config files removed

This is a one-time cleanup. Future PRs will have minimal formatting changes.

@Mmarzex
Copy link
Contributor

Mmarzex commented Jan 15, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@czubocha czubocha requested a review from eahefnawy January 15, 2026 03:35
# Conflicts:
#	.github/dependabot.yml
#	.github/workflows/release-framework.yml
eahefnawy
eahefnawy previously approved these changes Jan 19, 2026
@czubocha czubocha merged commit f776dcb into main Jan 19, 2026
15 checks passed
@czubocha czubocha deleted the eslint-upgrade branch January 19, 2026 17:43
@github-actions github-actions bot locked and limited conversation to collaborators Jan 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants