{ "name": "alla-allaos-fullstack", "version": "1.0.0", "private": true, "scripts": { "dev": "next dev", "build": "npm run verify:encoding && next build", "start": "next start", "lint": "oxlint", "lint:fix": "oxlint --fix && bun format", "lint:strict": "oxlint --deny-warnings", "test:setup": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types --test src/tests/setup/*.test.ts", "format": "oxfmt --write .", "format:check": "oxfmt --check .", "prepare": "husky", "typecheck": "tsc --noEmit", "db:generate": "npx drizzle-kit generate", "db:migrate": "npx drizzle-kit migrate", "db:studio": "npx drizzle-kit studio", "db:reset": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/db/reset-database.ts", "db:setup": "npm run db:migrate && npm run seed:system", "db:setup:uat": "npm run db:setup && npm run seed:uat", "db:fresh": "npm run db:reset -- --allow-db-reset && npm run db:migrate && npm run seed:system", "db:fresh:uat": "npm run db:reset -- --allow-db-reset && npm run db:migrate && npm run seed:system && npm run seed:uat", "setup:db": "npm run db:setup", "seed:super-admin": "node scripts/seed-super-admin.js", "seed:foundation": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types src/db/seeds/foundation.seed.ts", "seed:crm-uat": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types src/db/seeds/crm-uat.seed.ts", "seed:system": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/seed-system.ts", "seed:uat": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/seed-uat.ts", "seed:reset": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/seed-reset.ts", "seed:pdf-template": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/reseed-pdf-template-version.ts", "seed:pdf-template-version": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/reseed-pdf-template-version.ts", "migrate:membership-business-roles": "node --experimental-strip-types scripts/migrate-membership-business-roles.ts", "seed:task-h1-fixture": "node scripts/seed-task-h1-fixture.js", "verify:task-h1": "node scripts/verify-task-h1.js", "verify:task-h3": "node scripts/verify-task-h3.js", "verify:crm-access": "node --experimental-strip-types scripts/security/verify-crm-access.ts", "verify:encoding": "node scripts/verify-encoding.mjs", "audit:pdf:inventory": "node --experimental-strip-types scripts/audit-pdf-template-inventory.ts", "audit:pdf:coverage": "node --experimental-strip-types scripts/audit-pdf-mapping-coverage.ts", "audit:pdf:runtime": "node --experimental-strip-types scripts/audit-pdf-runtime-payload.ts", "audit:pdf:report": "node --experimental-strip-types scripts/generate-pdf-audit-report.ts", "audit:pdf:versions": "node --experimental-strip-types scripts/audit-template-version-integrity.ts", "audit:pdf:placeholders": "node --experimental-strip-types scripts/audit-placeholder-integrity.ts", "audit:pdf:parity": "node --experimental-strip-types scripts/audit-payload-parity.ts", "audit:pdf:snapshot": "node --experimental-strip-types scripts/audit-approved-snapshot-parity.ts", "audit:pdf:integrity": "node --experimental-strip-types scripts/generate-pdf-integrity-report.ts", "audit:pdf:visual": "node --experimental-strip-types scripts/audit-pdf-visual-regression.ts", "audit:pdf:visual:baseline": "node --experimental-strip-types scripts/audit-pdf-visual-regression.ts --refresh-baseline", "audit:pdf": "npm run audit:pdf:inventory && npm run audit:pdf:coverage && npm run audit:pdf:runtime && npm run audit:pdf:versions && npm run audit:pdf:placeholders && npm run audit:pdf:parity && npm run audit:pdf:snapshot && npm run audit:pdf:report && npm run audit:pdf:integrity", "pdf:seed:product": "node --disable-warning=ExperimentalWarning --disable-warning=MODULE_TYPELESS_PACKAGE_JSON --experimental-strip-types scripts/reseed-pdf-template-version.ts --template-variant=product-v1", "pdf:activate:product": "node --experimental-strip-types scripts/reseed-pdf-template-version.ts --template-variant=product-v1 --activate" }, "dependencies": { "@aws-sdk/client-s3": "^3.1069.0", "@aws-sdk/s3-request-presigner": "^3.1069.0", "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@pdfme/common": "^6.1.5", "@pdfme/generator": "^6.1.5", "@pdfme/schemas": "^6.1.5", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-aspect-ratio": "^1.1.8", "@radix-ui/react-avatar": "^1.1.11", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-context-menu": "^2.2.16", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-hover-card": "^1.1.15", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-menubar": "^1.1.16", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-radio-group": "^1.3.8", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slider": "^1.3.6", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-toast": "^1.2.15", "@radix-ui/react-toggle": "^1.1.10", "@radix-ui/react-toggle-group": "^1.1.11", "@radix-ui/react-tooltip": "^1.2.8", "@sentry/nextjs": "^10.45.0", "@tabler/icons-react": "^3.40.0", "@tailwindcss/postcss": "^4.2.2", "@tanstack/react-form": "^1.28.5", "@tanstack/react-query": "^5.95.2", "@tanstack/react-query-devtools": "^5.95.2", "@tanstack/react-table": "^8.21.3", "bcryptjs": "^3.0.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "drizzle-orm": "^0.44.2", "headroom-ai": "^0.22.4", "input-otp": "^1.4.2", "kbar": "^0.1.0-beta.48", "match-sorter": "^8.2.0", "motion": "^11.18.2", "next": "16.2.6", "next-auth": "^5.0.0-beta.30", "next-themes": "^0.4.6", "nextjs-toploader": "^3.9.17", "nodemailer": "^7.0.13", "nuqs": "^2.8.9", "postcss": "8.5.14", "postgres": "^3.4.7", "radix-ui": "^1.4.3", "react": "19.2.4", "react-day-picker": "^9.14.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "19.2.4", "react-dropzone": "^14.4.1", "react-resizable-panels": "^2.1.9", "react-responsive": "^10.0.1", "recharts": "^2.15.4", "sharp": "^0.33.5", "sonner": "^1.7.4", "sort-by": "^1.2.0", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.2", "tailwindcss-animate": "^1.0.7", "typescript": "5.7.2", "uuid": "^11.1.0", "vaul": "^1.1.2", "zod": "^4.3.6", "zustand": "^5.0.12" }, "devDependencies": { "@faker-js/faker": "^9.9.0", "@types/node": "22.10.2", "@types/nodemailer": "^8.0.1", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "@types/sort-by": "^1.2.3", "@types/uuid": "^10.0.0", "drizzle-kit": "^0.31.4", "husky": "^9.1.7", "lint-staged": "^15.5.2", "oxfmt": "^0.42.0", "oxlint": "^1.57.0", "tw-animate-css": "^1.4.0" }, "overrides": { "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "postcss": "8.5.14" }, "lint-staged": { "!(scripts)/**/*.{js,jsx,tsx,ts,css,less,scss,sass}": [ "oxfmt --write" ] } }