Fix CI failures: missing lockfile, ESLint v9 flat config migration, lint errors#22
Merged
Merged
Conversation
✅ Deploy Preview for rss-reader-pwa ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
- Create playwright.ci.config.ts targeting reader.chigao.site - Add E2E tests: page load, feed subscription, theme, settings - Create .github/workflows/ci.yml for automated testing on PR/push - Add test:e2e:ci script to package.json Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add automated testing scripts for feature validation
Add CI workflow and E2E tests against live site
Mar 1, 2026
Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
…mgmt/AI features - Add US-17 (AI Translation) and US-18 (AI Summarization) to user stories - Add E2E tests: favorites, history, search, feedManagement, articleReading, aiFeatures - Add search and feed-management page load tests to pageLoad.spec.ts - Update coverage matrix in user stories document - Remove waitForTimeout anti-patterns from new tests Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
…2E tests Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Copilot
AI
changed the title
Add CI workflow and E2E tests against live site
Add user stories document and comprehensive E2E test coverage including AI features
Mar 1, 2026
chiga0
approved these changes
Mar 1, 2026
…lat config, fix lint errors Root causes: 1. package-lock.json was in .gitignore, causing `npm ci` to fail 2. ESLint v9 requires flat config (eslint.config.js), but only .eslintrc.cjs existed 3. eslint-plugin-react-refresh was missing from devDependencies 4. 23 ESLint errors across src and test files Fixes: - Remove package-lock.json from .gitignore and commit the lockfile - Create eslint.config.js (flat config) for ESLint v9 compatibility - Add eslint-plugin-react-refresh to devDependencies - Fix all 23 ESLint errors: - Remove unused imports (Heart, ComponentType, useStore, vi, renderHook, act, etc.) - Remove unused variables (handleThemeChange, initialHasLight, initialIsDark, etc.) - Escape quotes in JSX (react/no-unescaped-entities) - Fix unnecessary regex escapes (no-useless-escape) - Prefix intentionally unused params with _ (catch clauses, event handlers) - Disable react/prop-types (TypeScript handles this) - Configure @typescript-eslint/no-unused-vars with _-prefix patterns - Update lint script: remove deprecated --ext flag for ESLint v9 - Update CI workflow lint command to match Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Change `([-.]?[a-z0-9]+)*` to `(?:[-.][a-z0-9]+)*` to prevent exponential backtracking on malicious inputs like 'http://0' + '0'*n. Co-authored-by: chiga0 <24784430+chiga0@users.noreply.github.com>
Copilot
AI
changed the title
Add user stories document and comprehensive E2E test coverage including AI features
Fix CI failures: missing lockfile, ESLint v9 flat config migration, lint errors
Mar 1, 2026
chiga0
marked this pull request as ready for review
March 1, 2026 06:27
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.
CI was completely broken — both jobs (
unit-testsande2e-tests) failed atnpm cibecausepackage-lock.jsonwas in.gitignore. The lint step also would have failed due to ESLint v9 requiring flat config format.Changes
package-lock.jsonfrom.gitignore, generate and commit it sonpm ciworkseslint.config.js(flat config) since.eslintrc.cjsis unsupported in ESLint v9. Add missingeslint-plugin-react-refreshdevDependency. Remove deprecated--extflag from lint command inpackage.jsonandci.ymlHeart,ComponentType,useStore,handleThemeChange,vi,renderHook, etc.)don't→don't)_react/prop-types(redundant with TypeScript)@typescript-eslint/no-unused-varswithargsIgnorePattern: '^_'andcaughtErrorsIgnorePattern: '^_'src/utils/validators.ts:Making
[-.]required (not optional) in the repeating group eliminates overlapping match paths that caused exponential backtracking.User stories doc
Also includes a comprehensive user stories document (
docs/user-stories.md) covering all 18 feature areas (US-01 through US-18, including AI translation/summarization), with E2E coverage matrix mapping each acceptance scenario to existing test files. Six new E2E test files added for previously uncovered areas (favorites, history, search, feed management, article reading, AI features).💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.