Skip to content

Fix VibeDev end-to-end: ESLint v9 config, working lint, health endpoint smoke test in CI - #13

Open
Evank253 with Copilot wants to merge 3 commits into
Python-3from
copilot/fix-vibedev-end-to-end
Open

Evank253 with Copilot wants to merge 3 commits into
Python-3from
copilot/fix-vibedev-end-to-end

Conversation

Copilot AI commented Aug 5, 2026 •

Copy link
Copy Markdown
Contributor

The CI lint step was silently no-oping (ESLint v9 requires a flat config file, none existed), and CI had no actual server health check — only import-level smoke tests.

Changes

  • eslint.config.js — New ESLint v9 flat config covering server/**/*.js and client/src/**/*.{js,jsx}. Includes proper globals for Node 18 (native fetch, URL, etc.) and React plugin rules.
  • package.json — Added @eslint/js to devDependencies.
  • .github/workflows/ci.yml:
    • Lint step: npx eslint server/ — v9 syntax, --ext flag removed, || true bypass removed so lint failures are now visible.
    • Added Smoke-test health endpoint step: starts the server, waits, curls /api/health, asserts HTTP 200, then kills the process.
- name: Smoke-test health endpoint
  run: |
    node server/index.js &
    SERVER_PID=$!
    sleep 3
    STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/api/health)
    kill $SERVER_PID 2>/dev/null || true
    if [ "$STATUS" != "200" ]; then
      echo "❌ Health endpoint returned HTTP $STATUS"
      exit 1
    fi
    echo "✅ Health endpoint returned HTTP 200"

Copilot AI and others added 2 commits August 5, 2026 02:25
Co-authored-by: Evank253 <154094143+Evank253@users.noreply.github.com>
Co-authored-by: Evank253 <154094143+Evank253@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix VibeDev to run properly end-to-end Fix VibeDev end-to-end: ESLint v9 config, working lint, health endpoint smoke test in CI Aug 5, 2026
Copilot AI requested a review from Evank253 August 5, 2026 02:29
@Evank253
Evank253 marked this pull request as ready for review August 5, 2026 06:26
Copilot AI lite review requested due to automatic review settings August 5, 2026 06:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR aims to make CI enforcement real end-to-end by introducing an ESLint v9 flat config, ensuring the server lint step actually fails on violations, and adding a CI smoke test that starts the backend and checks the /api/health endpoint.

Changes:

  • Add a new ESLint v9 flat config (eslint.config.js) covering server JS and client JS/JSX.
  • Update dependencies/lockfile to support the ESLint v9 config.
  • Update CI to run server lint without bypassing failures and to smoke-test the health endpoint.

Reviewed changes

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

File Description
package.json Adds ESLint config dependency (but currently with dependency scope/version inconsistencies).
package-lock.json Lockfile updates reflecting the dependency changes.
eslint.config.js Introduces ESLint v9 flat config for server + client with React/React Hooks rules.
.github/workflows/ci.yml Makes lint blocking and adds a backend /api/health smoke test step.
Suppressed comments (1)

package.json:44

  • @eslint/js is duplicated across dependencies and devDependencies, and the versions differ (^10.0.1 vs ^9.22.0). This can lead to unexpected resolutions and potential incompatibility with ESLint 9. Keep a single @eslint/js entry in devDependencies and align it with the ESLint major version.
  "devDependencies": {
    "eslint": "^9.22.0",
    "eslint-plugin-react": "^7.37.4",
    "eslint-plugin-react-hooks": "^5.2.0",
    "prettier": "^3.5.3",
    "@eslint/js": "^9.22.0"
  },

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

Comment thread package.json
Comment thread .github/workflows/ci.yml
Comment thread eslint.config.js
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