All checks were successful
build-and-release / build (push) Successful in 2m5s
The captcha on login and all four signup forms was generated and checked entirely in the browser (answer readable via window global), so it provided no real bot/brute-force protection. Wire up the new server-side captcha endpoint instead: fetch a challenge on mount, submit captcha_id + captcha_answer with login/register, and refresh the challenge on CAPTCHA_FAILED. Also bump patchable dependency vulnerabilities via npm audit fix (all criticals resolved; remainder needs an upstream SolidStart/vinxi bump not yet available). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
74 lines
2.1 KiB
JSON
74 lines
2.1 KiB
JSON
{
|
|
"name": "nxtgauge-frontend-solid",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vinxi dev",
|
|
"build": "vinxi build",
|
|
"start": "vinxi start",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "playwright test",
|
|
"test:accessibility": "playwright test --config=playwright.a11y.config.ts",
|
|
"test:visual": "playwright test --config=playwright.visual.config.ts",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build"
|
|
},
|
|
"dependencies": {
|
|
"@solidjs/meta": "^0.29.4",
|
|
"@solidjs/router": "^0.15.0",
|
|
"@solidjs/start": "^1.3.2",
|
|
"lucide-solid": "^1.7.0",
|
|
"solid-js": "^1.9.5",
|
|
"solid-markdown": "^2.1.1",
|
|
"vinxi": "^0.5.7"
|
|
},
|
|
"devDependencies": {
|
|
"@axe-core/playwright": "^4.11.1",
|
|
"@chromatic-com/storybook": "^5.1.0",
|
|
"@mswjs/data": "^0.16.2",
|
|
"@playwright/test": "^1.58.2",
|
|
"@solidjs/testing-library": "^0.8.0",
|
|
"@storybook/addon-a11y": "^10.3.3",
|
|
"@storybook/addon-docs": "^10.3.3",
|
|
"@storybook/addon-vitest": "^10.3.3",
|
|
"@tailwindcss/vite": "^4.2.2",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
"@typescript-eslint/parser": "^7.0.0",
|
|
"@vitest/browser": "^3.2.4",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"eslint": "^10.1.0",
|
|
"eslint-plugin-solid": "^0.14.5",
|
|
"jsdom": "^25.0.1",
|
|
"loki": "^0.35.1",
|
|
"msw": "^2.7.3",
|
|
"pixelmatch": "^7.1.0",
|
|
"playwright": "^1.58.2",
|
|
"pngjs": "^7.0.0",
|
|
"prettier": "^3.0.0",
|
|
"storybook": "^10.3.3",
|
|
"storybook-solidjs-vite": "^10.0.11",
|
|
"tailwindcss": "^4.2.2",
|
|
"typescript": "^6.0.3",
|
|
"visbug": "^0.1.14",
|
|
"vitest": "^4.1.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"overrides": {
|
|
"tar": "^7.5.21",
|
|
"node-forge": "^1.4.0",
|
|
"serialize-javascript": "^7.0.7",
|
|
"defu": "^6.1.7",
|
|
"follow-redirects": "^1.16.0",
|
|
"form-data": "^4.0.6",
|
|
"lodash": "^4.18.1",
|
|
"nitropack": "^2.13.4",
|
|
"postcss": "^8.5.10",
|
|
"@babel/core": "^7.29.7",
|
|
"esbuild": "^0.28.1",
|
|
"shell-quote": "^1.10.0"
|
|
}
|
|
}
|