move cypress into frontend

Manage Cypress through the frontend npm lockfile instead of the Nix shell. Approve its install script and align the Oxlint package pair so npm can resolve dependencies without overrides.
This commit is contained in:
Yisroel Baum 2026-07-31 09:30:15 +03:00
parent 334e8d1792
commit ce1b920fb6
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
4 changed files with 2152 additions and 92 deletions

View file

@ -20,8 +20,10 @@ The scaffold uses:
- `src/stores/` for Pinia stores. - `src/stores/` for Pinia stores.
- `@` as an alias for `src/` in both Vite and TypeScript. - `@` as an alias for `src/` in both Vite and TypeScript.
There are no views, shared components, API layer, or test setup yet. Do not There are no views, shared components, API layer, or configured test suite
invent an architecture for them before requested behavior establishes one. yet. Cypress is installed as a frontend development dependency, but there is
no Cypress configuration or npm test script. Do not invent an architecture
before requested behavior establishes one.
## Package management and commands ## Package management and commands
@ -97,7 +99,8 @@ under `dist/` is generated and ignored.
## Testing ## Testing
No frontend test runner or test script is configured yet. Cypress is installed, but no frontend test configuration or test script
exists yet.
- Do not invent test commands or claim frontend tests passed. - Do not invent test commands or claim frontend tests passed.
- New frontend behavior must still follow the shared test-first workflow. - New frontend behavior must still follow the shared test-first workflow.

View file

@ -37,7 +37,6 @@
nodejs nodejs
nixfmt nixfmt
nixfmt-tree nixfmt-tree
cypress
yaml-language-server yaml-language-server
typescript typescript
postgresql postgresql

File diff suppressed because it is too large Load diff

View file

@ -26,14 +26,15 @@
"@vitejs/plugin-vue-jsx": "^5.1.6", "@vitejs/plugin-vue-jsx": "^5.1.6",
"@vue/eslint-config-typescript": "^14.9.0", "@vue/eslint-config-typescript": "^14.9.0",
"@vue/tsconfig": "^0.9.1", "@vue/tsconfig": "^0.9.1",
"cypress": "^15.19.0",
"eslint": "^10.7.0", "eslint": "^10.7.0",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-oxlint": "~1.73.0", "eslint-plugin-oxlint": "~1.76.0",
"eslint-plugin-vue": "~10.9.2", "eslint-plugin-vue": "~10.9.2",
"jiti": "^2.7.0", "jiti": "^2.7.0",
"npm-run-all2": "^9.0.2", "npm-run-all2": "^9.0.2",
"oxfmt": "^0.59.0", "oxfmt": "^0.59.0",
"oxlint": "~1.74.0", "oxlint": "~1.76.0",
"typescript": "~6.0.0", "typescript": "~6.0.0",
"vite": "^8.1.5", "vite": "^8.1.5",
"vite-plugin-vue-devtools": "^8.1.5", "vite-plugin-vue-devtools": "^8.1.5",
@ -42,5 +43,8 @@
}, },
"engines": { "engines": {
"node": "^22.18.0 || >=24.12.0" "node": "^22.18.0 || >=24.12.0"
},
"allowScripts": {
"cypress@15.19.0": true
} }
} }