check-engine icon indicating copy to clipboard operation
check-engine copied to clipboard

Phase 1: Foundation modernization - Node 18+, ESLint 9, security hardening, documentation

Open Copilot opened this issue 1 month ago • 0 comments

Implements Phase 1 of the modernization plan: establish a solid foundation with updated runtime, security enhancements, and documentation before adding new features.

Runtime & Dependencies

  • Bump minimum Node.js from >=10 to >=18 (breaking change for v2.0)
  • Fix 3 security vulnerabilities (brace-expansion, cross-spawn, js-yaml)
  • Update ESLint 8 → 9 with flat config format
  • Update jsonfile, semver to latest

Security

  • Add npm audit --audit-level=high to CI pipeline
  • Add CodeQL static analysis workflow
  • Add SECURITY.md with vulnerability disclosure policy

CI/CD

  • Test matrix: Node 18.x, 20.x, 22.x
  • Upgrade to actions/checkout@v4, actions/setup-node@v4

Documentation

  • Add CONTRIBUTING.md with validator authoring guide
  • Add CHANGELOG.md (Keep a Changelog format)
  • Add CODE_OF_CONDUCT.md (Contributor Covenant v2.0)
  • Add badges to README (build, npm version, license)

ESLint 9 Migration

// eslint.config.js (flat config)
module.exports = [
    js.configs.recommended,
    {
        files: ["**/*.js"],
        languageOptions: {
            ecmaVersion: 2022,
            globals: { ...globals.node, ...globals.es2022 }
        },
        rules: { /* preserved existing rules */ }
    }
];

[!WARNING]

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com//advisories
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Impliment Phase 1


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot avatar Dec 03 '25 19:12 Copilot