mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-09-30 10:23:11 +00:00
Some checks failed
Deploy dev content / Deploy shoc-frontend-new-dev through Terraform (push) Has been cancelled
* ci(cd): convert SPA hosting to handbook HCP and GitHub content CD Give HCP the bucket and CloudFront with an empty origin path. GitHub owns bucket-root sync and invalidation so merge-to-main and a human staging tag can deploy without creating HCP runs. G13 fails PRs that mix terraform/ with deployable application files. * ci: run Frontend checks and Terraform CI on PRs to main and dev Match backend 148 so a PR targeting origin/dev still gets the required checks. Push remains main only. * refactor(terraform): keep live/dev and live/staging as HCP roots Leave the adopted working directories in place so this CD PR does not retarget two live HCP workspaces. Flattening stays a later change. * style: prettier terraform-validate.mjs * fix(terraform): pin githubdeploy assume-role policy in import checker Reject controlled role updates whose trust document is not the rendered GitHub OIDC policy, matching the bucket-policy pin.
115 lines
3.7 KiB
JSON
115 lines
3.7 KiB
JSON
{
|
|
"name": "seahaven-new-app",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:visual": "playwright test --config playwright.visual.config.ts",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:terraform-import-plan": "python3 scripts/test-terraform-import-plan-check.py",
|
|
"test:terraform": "node scripts/terraform-validate.mjs",
|
|
"test:hcp-run-guard": "python3 scripts/test-hcp-run-guard.py",
|
|
"test:cloudfront-release-verify": "bash scripts/test-verify-cloudfront-release.sh",
|
|
"test:github-workflows": "bash scripts/check-github-workflows.sh",
|
|
"test:app-terraform-isolation": "python3 scripts/test_check_app_terraform_isolation.py",
|
|
"lint": "eslint . --max-warnings=0",
|
|
"lint:fix": "eslint . --fix --max-warnings=0",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"governance": "node scripts/governance-check.mjs",
|
|
"verify": "npm run format:check && npm run lint && npm run build && npm test && npm run governance",
|
|
"prepare": "husky"
|
|
},
|
|
"lint-staged": {
|
|
"src/{api,domain,app,lib,providers,infra,config,hooks,components}/**/*.{ts,tsx}": [
|
|
"eslint --fix --max-warnings=0",
|
|
"prettier --write"
|
|
],
|
|
"*.{ts,tsx}": [
|
|
"prettier --write"
|
|
],
|
|
"src/test/**/*.{test,integration.test}.{ts,tsx}": [
|
|
"prettier --write"
|
|
],
|
|
"*.{json,css,md,mdc}": [
|
|
"prettier --write"
|
|
],
|
|
"eslint.config.js": [
|
|
"prettier --write"
|
|
],
|
|
"commitlint.config.js": [
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/styled": "^11.14.1",
|
|
"@fontsource/dm-sans": "^5.2.8",
|
|
"@fontsource/jetbrains-mono": "^5.2.8",
|
|
"@fontsource/montserrat": "^5.2.8",
|
|
"@fullcalendar/daygrid": "^6.1.21",
|
|
"@fullcalendar/interaction": "^6.1.21",
|
|
"@fullcalendar/react": "^6.1.21",
|
|
"@fullcalendar/timegrid": "^6.1.21",
|
|
"@generouted/react-router": "^1.20.2",
|
|
"@hookform/resolvers": "^5.4.0",
|
|
"@mui/icons-material": "^9.2.0",
|
|
"@mui/material": "^9.2.0",
|
|
"@sentry/react": "10.73.0",
|
|
"@tanstack/query-broadcast-client-experimental": "5.101.2",
|
|
"@tanstack/react-query": "5.101.2",
|
|
"@tanstack/react-query-devtools": "5.101.2",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"clsx": "^2.1.1",
|
|
"ky": "^2.0.2",
|
|
"lucide-react": "^1.24.0",
|
|
"react": "^19.2.7",
|
|
"react-dom": "^19.2.7",
|
|
"react-hook-form": "^7.81.0",
|
|
"react-icons": "^5.7.0",
|
|
"react-router": "^8.2.0",
|
|
"react-toastify": "^11.1.0",
|
|
"tailwind-merge": "^3.6.0",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "^21.2.1",
|
|
"@commitlint/config-conventional": "^21.2.0",
|
|
"@eslint/js": "^10.0.1",
|
|
"@playwright/test": "^1.61.1",
|
|
"@sentry/cli": "3.7.0",
|
|
"@tailwindcss/vite": "^4.3.2",
|
|
"@types/node": "^24.13.3",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^6.0.3",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"eslint": "^10.7.0",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
"eslint-plugin-react-refresh": "^0.5.3",
|
|
"globals": "^17.7.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^29.1.1",
|
|
"lint-staged": "^17.0.8",
|
|
"prettier": "^3.9.5",
|
|
"tailwindcss": "^4.3.2",
|
|
"typescript": "~6.0.3",
|
|
"typescript-eslint": "^8.63.0",
|
|
"vite": "^8.1.4",
|
|
"vitest": "^4.1.10"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.22.1"
|
|
},
|
|
"packageManager": "npm@11.16.0"
|
|
}
|