Skip to content

Conversation

@jonpspri
Copy link
Collaborator

@jonpspri jonpspri commented Jan 9, 2026

Supports updates to admin console as A2A and other components are modernized.

Summary

  • Upgrade ESLint from v8 to v9 (major version update)
  • Replace deprecated eslint-config-standard with neostandard for modern JavaScript linting
  • Move JS linter dependencies from inline Makefile installation to package.json for better dependency management
  • Add htmlhint and retire to tracked devDependencies

Test plan

  • Run make install-web-linters to verify dependencies install correctly
  • Run JS linting targets to verify ESLint v9 compatibility
  • Verify no regressions in existing lint checks

Copilot AI review requested due to automatic review settings January 9, 2026 20:04
@jonpspri jonpspri requested a review from crivetimihai as a code owner January 9, 2026 20:04
@jonpspri jonpspri force-pushed the jps-update-js-linters branch from 86ce35d to a0c09a9 Compare January 9, 2026 20:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates JavaScript linting infrastructure by upgrading ESLint from v8 to v9 and consolidating dependency management. The changes replace the deprecated eslint-config-standard with neostandard, move linter installations from inline Makefile npm commands to package.json devDependencies, and simplify the installation process.

Key changes:

  • ESLint upgraded from ^8.57.1 to ^9.39.0 (major version upgrade)
  • Replaced eslint-config-standard with neostandard ^0.12.2
  • Consolidated web linting tools (htmlhint, retire) in package.json

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.

File Description
package.json Updated ESLint to v9, added neostandard, htmlhint, and retire to devDependencies; removed eslint-config-standard; downgraded @stylistic/eslint-plugin to 4.0.0
Makefile Simplified install-web-linters target to use npm install instead of inline installation commands

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jonpspri jonpspri marked this pull request as draft January 9, 2026 20:16
@jonpspri jonpspri force-pushed the jps-update-js-linters branch 4 times, most recently from c4d8c10 to b603289 Compare January 10, 2026 01:04
@jonpspri jonpspri marked this pull request as ready for review January 10, 2026 01:13
@jonpspri jonpspri requested a review from gcgoncalves January 10, 2026 01:15
@jonpspri jonpspri force-pushed the jps-update-js-linters branch 2 times, most recently from 81344f4 to eb01219 Compare January 10, 2026 01:26
@jonpspri jonpspri requested a review from Copilot January 10, 2026 10:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Makefile:2454

  • The npx commands in the lint-web target (lines 2448, 2450, 2452, 2454) are missing the '--yes' flag, which is inconsistent with the other Makefile targets (jshint, jscpd, markuplint, format-web) that use 'npx --yes'. Without the '--yes' flag, npx will prompt for user confirmation if packages need to be installed, which could cause the target to hang in automated environments. Add '--yes' to these npx invocations for consistency.
	@find mcpgateway/templates -name "*.html" -exec npx htmlhint {} + 2>/dev/null || true
	@echo "🔍 Linting CSS files..."
	@find mcpgateway/static -name "*.css" -exec npx stylelint {} + 2>/dev/null || true
	@echo "🔍 Linting JS files..."
	@find mcpgateway/static -name "*.js" -exec npx eslint {} + 2>/dev/null || true
	@echo "🔒 Scanning for known JS/CSS library vulnerabilities with retire.js..."
	@cd mcpgateway/static && npx retire . 2>/dev/null || true

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jonpspri jonpspri marked this pull request as draft January 10, 2026 15:22
@jonpspri jonpspri force-pushed the jps-update-js-linters branch 3 times, most recently from 4fc2071 to 110d0bb Compare January 10, 2026 16:52
@jonpspri jonpspri marked this pull request as ready for review January 10, 2026 17:00
Signed-off-by: Jonathan Springer <[email protected]>
Signed-off-by: Mihai Criveti <[email protected]>
@crivetimihai crivetimihai self-assigned this Jan 11, 2026
@crivetimihai crivetimihai force-pushed the jps-update-js-linters branch from 110d0bb to 467a2dd Compare January 11, 2026 13:15
Copy link
Member

@crivetimihai crivetimihai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixes applied to the PR:

  1. Added eslint to .PHONY declaration - was missing for the new target
  2. Fixed eslint target - changed from npm install --save-dev (which modified package files) to @npm install --no-save
  3. Added @ prefix to commands for silent output consistency
  4. Removed redundant npm install from lint-web target (eslint already handles it)
  5. Restored install-web-linters target - provides explicit install command using package.json dependencies

Rebased onto current main (5 new commits integrated, no conflicts).

@crivetimihai crivetimihai merged commit 05dfa96 into main Jan 11, 2026
41 checks passed
@crivetimihai crivetimihai deleted the jps-update-js-linters branch January 11, 2026 13:29
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.

3 participants