chore: add test harness + CI (Vitest, Typecheck, ESLint)#10
Open
chore: add test harness + CI (Vitest, Typecheck, ESLint)#10
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a minimal testing and CI foundation for markdown-web.\n\nSummary\n- Add Vitest + Supertest test harness and 5 basic API tests\n- Add GitHub Actions workflows to run tests on push/PR (Node 18 + 20)\n- Add separate jobs for TypeScript typecheck and ESLint\n- Introduce ESLint config and npm scripts (lint, lint:fix)\n\nDetails\n- tests/server.test.ts: spins up an isolated workspace and verifies: listing nested .md files (including spaces), create, rename, delete, and AI status toggling via settings\n- .github/workflows/tests.yml: (1) test job (Node 18/20), (2) typecheck job (Node 20), (3) lint job (Node 20)\n- package.json: scripts (test, lint, lint:fix); devDeps (vitest, supertest, eslint, @typescript-eslint/*, react plugins)\n- .eslintrc.json + .eslintignore: TS/React/React hooks rules and sane ignores\n\nNotes\n- Tests use a tmp HOME to avoid touching user settings/logs\n- Server runs on an ephemeral port during tests, then closes cleanly\n\nFollow-ups (optional)\n- Add client-side component tests (with jsdom)\n- Increase coverage across API endpoints and reducers\n- Add a coverage upload step (e.g., Codecov) if desired