120 lines
5.3 KiB
JSON
Executable file
120 lines
5.3 KiB
JSON
Executable file
{
|
|
"name": "familiaros-website",
|
|
"version": "2.0.0",
|
|
"description": "FamiliarOS — Your AI Companion That Lives With You. Public website, auth, and account surface.",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "node scripts/dev-singleton.mjs",
|
|
"dev:raw": "vite",
|
|
"dev:clean": "node scripts/dev-process-clean.mjs",
|
|
"dev:clean:dry-run": "node scripts/dev-process-clean.mjs --dry-run",
|
|
"prebuild": "node scripts/generate-runtime-config.mjs",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 1000",
|
|
"test": "vitest",
|
|
"test:ci": "vitest run --coverage",
|
|
"test:e2e": "playwright test --reporter=line",
|
|
"test:e2e:built": "node scripts/run-e2e-against-built.mjs",
|
|
"test:e2e:dashboard:auth-live": "node scripts/run-dashboard-auth-live-e2e.mjs",
|
|
"type-check": "tsc --noEmit",
|
|
"validate:fast": "npm run test -- --run src/__tests__/command-palette.test.tsx && npm run test -- --run src/__tests__/MindMapView.test.tsx",
|
|
"validate:pre-push": "npm run type-check && npm run test:ci && npm run polish:readiness:report",
|
|
"validate:full-local": "npm run validate:pre-push && npm run test:e2e",
|
|
"verify:ep02": "node scripts/run-ep02-validation-sweep.mjs --iterations=1",
|
|
"verify:ep02:stability": "node scripts/run-ep02-validation-sweep.mjs --iterations=3",
|
|
"verify:ep07": "node scripts/run-ep07-validation-sweep.mjs --iterations=1",
|
|
"verify:ep07:stability": "node scripts/run-ep07-validation-sweep.mjs --iterations=3",
|
|
"verify:ep07:advanced": "node scripts/run-ep07-advanced-validation-sweep.mjs --iterations=1",
|
|
"verify:ep07:advanced:stability": "node scripts/run-ep07-advanced-validation-sweep.mjs --iterations=3",
|
|
"verify:ep07:release": "node scripts/run-ep07-release-readiness-sweep.mjs --iterations=1 --advanced-iterations=1",
|
|
"verify:ep07:release:stability": "node scripts/run-ep07-release-readiness-sweep.mjs --iterations=3 --advanced-iterations=3",
|
|
"verify:ep07:release:ci": "node scripts/run-ep07-release-readiness-sweep.mjs --iterations=1 --advanced-iterations=1 --fail-on=warning",
|
|
"runtime:config:generate": "node scripts/generate-runtime-config.mjs",
|
|
"a11y": "node scripts/run-a11y-suite.mjs",
|
|
"a11y:core:workflows:check": "node scripts/check-accessibility-core-workflows.mjs",
|
|
"e2e:critical:workflows:check": "node scripts/check-e2e-critical-workflows.mjs",
|
|
"ux:journeys:check": "node scripts/check-ux-journeys.mjs",
|
|
"performance:budgets:check": "node scripts/check-performance-budgets.mjs",
|
|
"polish:readiness:report": "node scripts/generate-polish-readiness-report.mjs",
|
|
"lighthouse:ci": "lhci autorun --config=./lighthouserc.json",
|
|
"bundle:budget:check": "node scripts/check-bundle-budget.mjs",
|
|
"bundle:budget:check:ci": "node scripts/check-bundle-budget.mjs --fail-on=warning --json"
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@excalidraw/excalidraw": "^0.18.0",
|
|
"@monaco-editor/react": "^4.6.0",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-toast": "^1.2.15",
|
|
"@tanstack/react-query": "^5.28.0",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@tsparticles/engine": "^3.9.1",
|
|
"@tsparticles/react": "^3.0.0",
|
|
"@tsparticles/slim": "^3.9.1",
|
|
"@types/three": "^0.183.1",
|
|
"axios": "^1.6.7",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"dompurify": "^3.2.7",
|
|
"fast-diff": "^1.3.0",
|
|
"framer-motion": "^11.0.8",
|
|
"katex": "^0.16.9",
|
|
"lucide-react": "^0.344.0",
|
|
"metal-fx": "^1.0.4",
|
|
"pdfjs-dist": "^4.10.38",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-dropzone": "^14.3.8",
|
|
"react-hot-toast": "^2.6.0",
|
|
"react-katex": "^3.1.0",
|
|
"react-resizable-panels": "^3.0.6",
|
|
"react-router-dom": "^6.22.0",
|
|
"simple-mind-map": "^0.14.0-fix.1",
|
|
"supertokens-auth-react": "^0.51.2",
|
|
"tailwind-merge": "^2.6.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"three": "^0.183.2",
|
|
"zustand": "^4.5.2"
|
|
},
|
|
"devDependencies": {
|
|
"@lhci/cli": "^0.15.1",
|
|
"@playwright/test": "^1.49.0",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/katex": "^0.16.7",
|
|
"@types/node": "^24.7.0",
|
|
"@types/react": "^18.2.64",
|
|
"@types/react-dom": "^18.2.21",
|
|
"@types/react-katex": "^3.0.4",
|
|
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
|
"@typescript-eslint/parser": "^7.1.1",
|
|
"@vitejs/plugin-react-swc": "^3.6.0",
|
|
"@vitest/coverage-v8": "^1.6.1",
|
|
"autoprefixer": "^10.4.18",
|
|
"baseline-browser-mapping": "^2.10.10",
|
|
"eslint": "^8.57.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-react-refresh": "^0.4.5",
|
|
"jsdom": "^29.1.1",
|
|
"pdfkit": "^0.18.0",
|
|
"postcss": "^8.4.35",
|
|
"prettier": "^3.2.5",
|
|
"tailwindcss": "^3.4.1",
|
|
"ts-morph": "^27.0.2",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.4.2",
|
|
"vite": "^5.1.6",
|
|
"vitest": "^1.3.1",
|
|
"vitest-axe": "^0.1.0"
|
|
},
|
|
"license": "MIT",
|
|
"author": "Boring Dystopia Development"
|
|
}
|