All checks were successful
build-and-release / build (push) Successful in 2m19s
Steps 7/8 of the live-server runbook (npm run lint / tsc --noEmit)
surfaced two unrelated pre-existing issues:
- node_modules/eslint was 10.1.0 despite package.json declaring
^8.57.1 and package-lock.json correctly recording 8.57.1 - a
legacy .eslintrc.cjs config can't run under ESLint v9+, which
dropped the old config format by default. Root cause: @vitest/browser
and @vitest/coverage-v8 were still pinned to ^3.2.4 while vitest
itself had been bumped to ^4.1.1, an internal peer-dependency
conflict that forced node_modules into an inconsistent state
whenever anyone ran npm install without --legacy-peer-deps. Bumped
both to ^4.1.4 to resolve the conflict at its source, then a clean
npm install correctly restored eslint@8.57.1.
- ExploreServicesPage.tsx's RoleCard.Icon field was typed as
"(props) => unknown", which TypeScript correctly refuses to accept
as a JSX component ('card.Icon' cannot be used as a JSX component).
lucide-solid's actual icon components return solid-js's JSX.Element
(confirmed via node_modules/lucide-solid's own .d.ts) - fixed the
annotation to match reality instead of loosening it.
lint: 0 errors (293 pre-existing warnings elsewhere in src/, untouched
by this session, left as tracked debt per the runbook's own bar).
tsc --noEmit --skipLibCheck: exits 0.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
75 lines
2.2 KiB
JSON
75 lines
2.2 KiB
JSON
{
|
|
"name": "nxtgauge-frontend-solid",
|
|
"type": "module",
|
|
"scripts": {
|
|
"lint": "eslint src --ext .tsx,.ts --max-warnings 0",
|
|
"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": "^4.1.4",
|
|
"@vitest/coverage-v8": "^4.1.4",
|
|
"eslint": "^8.57.1",
|
|
"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"
|
|
}
|
|
}
|