{ "name": "reactive-resume", "version": "5.0.20", "description": "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.", "license": "MIT", "author": { "name": "Amruth Pillai", "email": "hello@amruthpillai.com", "url": "https://amruthpillai.com" }, "repository": { "type": "git", "url": "https://github.com/amruthpillai/reactive-resume.git" }, "type": "module", "scripts": { "build": "vp build", "db:generate": "drizzle-kit generate", "db:migrate": "drizzle-kit migrate", "db:pull": "drizzle-kit pull", "db:push": "drizzle-kit push", "db:studio": "drizzle-kit studio", "dev": "vp dev", "docs:dev": "cd docs && npx mint dev", "email:dev": "email dev --dir src/integrations/email/templates --port 3001", "format": "vp fmt --check", "format:fix": "vp fmt", "knip": "knip", "lingui:extract": "lingui extract --clean --overwrite", "lint": "vp lint --type-aware", "lint:fix": "vp lint --type-aware --fix", "preview": "vp preview", "start": "node .output/server/index.mjs", "test": "vp test", "test:coverage": "vp test --coverage --run", "typecheck": "tsgo --noEmit" }, "dependencies": { "@ai-sdk/anthropic": "^3.0.71", "@ai-sdk/google": "^3.0.64", "@ai-sdk/openai": "^3.0.53", "@ai-sdk/openai-compatible": "^2.0.41", "@aws-sdk/client-s3": "^3.1037.0", "@base-ui/react": "^1.4.1", "@better-auth/api-key": "^1.6.9", "@better-auth/drizzle-adapter": "^1.6.9", "@better-auth/infra": "^0.2.5", "@better-auth/oauth-provider": "^1.6.9", "@better-auth/passkey": "^1.6.9", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@fontsource-variable/ibm-plex-sans": "^5.2.8", "@hookform/resolvers": "^5.2.2", "@lingui/core": "^6.0.0", "@lingui/react": "^6.0.0", "@modelcontextprotocol/sdk": "^1.29.0", "@monaco-editor/react": "4.8.0-rc.3", "@orpc/client": "^1.14.0", "@orpc/experimental-ratelimit": "^1.14.0", "@orpc/json-schema": "^1.14.0", "@orpc/openapi": "^1.14.0", "@orpc/server": "^1.14.0", "@orpc/tanstack-query": "^1.14.0", "@orpc/zod": "^1.14.0", "@phosphor-icons/react": "^2.1.10", "@phosphor-icons/web": "^2.1.2", "@sindresorhus/slugify": "^3.0.0", "@t3-oss/env-core": "^0.13.11", "@tanstack/react-query": "^5.100.5", "@tanstack/react-router": "^1.168.25", "@tanstack/react-router-ssr-query": "^1.166.12", "@tanstack/react-start": "^1.167.50", "@tanstack/zod-adapter": "^1.166.9", "@tiptap/extension-color": "^3.22.4", "@tiptap/extension-highlight": "^3.22.4", "@tiptap/extension-table": "^3.22.4", "@tiptap/extension-text-align": "^3.22.4", "@tiptap/extension-text-style": "^3.22.4", "@tiptap/pm": "^3.22.4", "@tiptap/react": "^3.22.4", "@tiptap/starter-kit": "^3.22.4", "@uiw/color-convert": "^2.10.1", "@uiw/react-color-colorful": "^2.10.1", "ai": "^6.0.168", "bcrypt": "^6.0.0", "better-auth": "^1.6.9", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "docx": "^9.6.1", "dompurify": "^3.4.1", "drizzle-orm": "1.0.0-beta.22", "drizzle-zod": "1.0.0-beta.14-a36c63d", "es-toolkit": "^1.46.0", "fast-deep-equal": "^3.1.3", "fast-json-patch": "^3.1.1", "fuse.js": "^7.3.0", "immer": "^11.1.4", "js-cookie": "^3.0.5", "jsonrepair": "^3.14.0", "monaco-editor": "^0.55.1", "motion": "^12.38.0", "nodemailer": "^8.0.7", "ollama-ai-provider-v2": "^3.5.0", "pg": "^8.20.0", "puppeteer-core": "^24.42.0", "qrcode.react": "^4.2.0", "react": "^19.2.5", "react-dom": "^19.2.5", "react-email": "^6.0.0", "react-hook-form": "^7.74.0", "react-hotkeys-hook": "^5.2.4", "react-resizable-panels": "^4.10.0", "react-window": "^2.2.7", "react-zoom-pan-pinch": "^4.0.3", "shadcn": "^4.5.0", "sharp": "^0.34.5", "sonner": "^2.0.7", "srvx": "^0.11.15", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.4", "ts-pattern": "^5.9.0", "tw-animate-css": "^1.4.0", "unique-names-generator": "^4.7.1", "usehooks-ts": "^3.1.1", "uuid": "^14.0.0", "workbox-window": "^7.4.0", "zod": "^4.3.6", "zundo": "^2.3.0", "zustand": "^5.0.12" }, "devDependencies": { "@babel/core": "^7.29.0", "@lingui/babel-plugin-lingui-macro": "^6.0.0", "@lingui/cli": "^6.0.0", "@lingui/format-po": "^6.0.0", "@lingui/vite-plugin": "^6.0.0", "@react-email/ui": "^6.0.0", "@rolldown/plugin-babel": "^0.2.3", "@tailwindcss/vite": "^4.2.4", "@testing-library/react": "^16.3.2", "@types/bcrypt": "^6.0.0", "@types/js-cookie": "^3.0.6", "@types/node": "^25.6.0", "@types/nodemailer": "^8.0.0", "@types/pg": "^8.20.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@typescript/native-preview": "7.0.0-dev.20260427.1", "@vitejs/plugin-react": "^6.0.1", "@vitest/coverage-v8": "^4.1.5", "babel-plugin-macros": "^3.1.0", "drizzle-kit": "1.0.0-beta.22", "happy-dom": "^20.9.0", "jose": "^6.2.2", "knip": "^6.7.0", "nitro": "3.0.260415-beta", "node-addon-api": "^8.7.0", "node-gyp": "^12.3.0", "npm-check-updates": "^22.0.1", "vite": "npm:@voidzero-dev/vite-plus-core@^0.1.19", "vite-plugin-pwa": "^1.2.0", "vite-plus": "^0.1.19", "vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.19" }, "packageManager": "pnpm@10.33.2", "pnpm": { "onlyBuiltDependencies": [ "bcrypt", "esbuild", "msw", "sharp" ], "overrides": { "dompurify@<=3.3.1": ">=3.3.2", "dompurify@<=3.3.3": ">=3.4.0", "dompurify@<3.3.2": ">=3.3.2", "dompurify@<3.4.0": ">=3.4.0", "dompurify@>=1.0.10 <3.4.0": ">=3.4.0", "dompurify@>=3.0.1 <3.4.0": ">=3.4.0", "dompurify@>=3.1.3 <=3.3.1": ">=3.3.2", "postcss@<8.5.10": ">=8.5.10", "serialize-javascript@<=7.0.2": ">=7.0.3", "serialize-javascript@<7.0.5": ">=7.0.5", "uuid@<14.0.0": ">=14.0.0" } } }