Skip to content

[CHORE]: Add lint-web to CI/CD and add additional linters to Makefile (jshint jscpd markuplint) #390

@crivetimihai

Description

@crivetimihai

Add web linting to our CI/CD pipeline to ensure frontend code quality and security. This includes creating a new GitHub workflow (lint-web.yml) that runs HTML, CSS, and JavaScript linters in parallel jobs, similar to our existing Python lint workflow.

Tasks:

  • Create .github/workflows/lint-web.yml with matrix jobs for:
    • htmlhint (HTML validation)
    • stylelint (CSS linting)
    • eslint (JavaScript linting)
    • retire (vulnerability scanning)
    • npm audit (dependency security)
    • jshint (Additional JS analysis with ES11 support)
    • jscpd (Copy/paste detection across JS/HTML/CSS)
    • markuplint (Modern HTML validation)
    • nodejsscan (JS security analysis - separate Python job)
  • Add new linter targets to Makefile:
    • jshint - Additional JS analysis with ES11 support
    • jscpd - Copy/paste detection across JS/HTML/CSS
    • markuplint - Modern HTML validation
  • Update install-web-linters target to include new tools
  • Create .jshintrc config file for consistent JS standards

Benefits:

  • Automated frontend code quality checks on every PR
  • Early detection of security vulnerabilities
  • Consistent code standards across HTML/CSS/JS
  • Reduced technical debt through duplicate code detection
  • Comprehensive coverage with 9 different linting tools

Metadata

Metadata

Assignees

Labels

choreLinting, formatting, dependency hygiene, or project maintenance chorescicdIssue with CI/CD process (GitHub Actions, scaffolding)devopsDevOps activities (containers, automation, deployment, makefiles, etc)triageIssues / Features awaiting triage

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions