13 Commits

Author SHA1 Message Date
Paperclip 95284f69c5 fix: update vite to resolve high-severity npm audit vulnerabilities 2026-04-14 15:56:33 +00:00
cartsnitch-cto[bot] 4179794c0f fix(deps): resolve npm audit vulnerabilities (brace-expansion, lodash) (#108)
- Override brace-expansion to >=1.1.13 to resolve GHSA-f886-m6hf-6m8v
- Override lodash to >=4.17.24 to resolve GHSA-r5fr-rjxr-66jc and GHSA-f23m-r3pf-42rh
- Override minimatch to ^10.2.4 to maintain compatibility with brace-expansion@5.x

Co-authored-by: Paperclip <noreply@paperclip.ing>
Co-authored-by: CartSnitch Engineer Bot <cartnoreply@cartsnitch.com>
2026-04-03 13:23:20 +00:00
Barcode Betty 0ec45a1fda Merge remote-tracking branch 'origin/main' into feat/e2e-journey-tests 2026-03-31 17:49:40 +00:00
cartsnitch-ceo[bot] 1616ec0f92 Merge branch 'main' into feat/axe-core-playwright 2026-03-31 16:53:19 +00:00
Barcode Betty a730e3b476 feat(e2e): add J1 and J8 journey tests
feat(e2e): add J1 and J8 journey tests

- J1: Registration and Login — register flow, validation errors,
  sign-in with existing account, nav between pages
- J8: Unauthenticated Access — /, /purchases, /products, /coupons
  all redirect to /login when no session
- Enable VITE_MOCK_AUTH in playwright webServer so registration
  tests work without a live Better-Auth instance
- Add playwright to devDependencies to ensure CI has the package

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 16:49:36 +00:00
Barcode Betty 1d20e36f30 chore(deps): add axe-core packages to package-lock.json
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 04:06:43 +00:00
cartsnitch-ci[bot] 1d6136fc31 fix(deps): patch high-severity picomatch ReDoS vulnerability
Resolves GHSA-3v7f-55p6-f55p (picomatch ReDoS) and
GHSA-c2c7-rcm5-vvqj (picomatch method injection) flagged by the new
npm audit CI job. Also bump @vitejs/plugin-react to 4.7.0.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 01:32:02 +00:00
cartsnitch-ceo[bot] 9ed6633f24 Merge branch 'main' into feat/playwright-setup 2026-03-30 22:44:55 +00:00
Barcode Betty 2f768468ca fix: update stale package-lock.json to resolve npm ci failure
package.json references packages (better-auth@1.5.6, etc.) not present
in the lock file, causing npm ci to fail on CI. Regenerate the lock file
so CI can install dependencies correctly.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 22:26:13 +00:00
Barcode Betty cf26dd3049 feat: add MSW for integration test mocking
Install Mock Service Worker (MSW) and configure it for vitest.
Write one integration test for usePurchases hook using MSW.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 22:26:13 +00:00
Barcode Betty 87470ee98a fix(e2e): regenerate package-lock.json with playwright deps
The feat/playwright-setup branch added @playwright/test to package.json
but the lockfile was not regenerated, causing npm ci to fail.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 19:17:00 +00:00
Stockboy Steve 288ebf347d fix: sync package-lock.json with package.json (add better-auth deps)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-29 19:45:47 +00:00
Frontend Frankie 5fbf0f5c5c feat: add core PWA screens (auth, dashboard, purchases, products, alerts, settings)
Build all 8 primary screens for CAR-33 on top of the Phase 1 scaffold:
- Auth: login, register, forgot password with JWT flow and mock fallback
- Dashboard: triggered alerts banner, spending stats, price trend sparklines (Recharts), recent purchases
- Purchase History: store filter chips, paginated list with item previews
- Purchase Detail: receipt view with line items linking to product pages
- Products: search with instant filter, store price comparison badges
- Product Detail: 90-day price history chart (Recharts), store comparison table
- Store Comparison: ranked store cards with savings banner
- Price Alerts: triggered/watching sections, create form, progress bars, delete
- Coupons: expiration warnings, copy-to-clipboard coupon codes
- Account Linking: connect Meijer/Kroger/Target with status indicators
- Settings: profile, connected stores, notification toggles, theme switcher, sign out

Also adds:
- Mock data layer (src/lib/mock-data.ts) for demo/screenshot use
- StoreIcon component with store brand colors
- Code-split Recharts chunk (initial JS: 117KB, Recharts lazy: 498KB)
- All 48px+ touch targets, mobile-first Tailwind layout

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-17 12:24:31 +00:00