{ "name": "reactive-resume", "version": "5.0.19", "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", "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", "@aws-sdk/client-s3": "^3.1034.0", "@base-ui/react": "^1.4.1", "@better-auth/api-key": "^1.6.7", "@better-auth/drizzle-adapter": "^1.6.7", "@better-auth/infra": "^0.2.5", "@better-auth/oauth-provider": "^1.6.7", "@better-auth/passkey": "^1.6.7", "@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.13.14", "@orpc/json-schema": "^1.13.14", "@orpc/openapi": "^1.13.14", "@orpc/server": "^1.13.14", "@orpc/tanstack-query": "^1.13.14", "@orpc/zod": "^1.13.14", "@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.99.2", "@tanstack/react-router": "^1.168.23", "@tanstack/react-router-ssr-query": "^1.166.11", "@tanstack/react-start": "^1.167.42", "@tanstack/zod-adapter": "^1.166.9", "@tiptap/extension-highlight": "^3.22.4", "@tiptap/extension-table": "^3.22.4", "@tiptap/extension-text-align": "^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", "ai-sdk-ollama": "^3.8.3", "bcrypt": "^6.0.0", "better-auth": "^1.6.7", "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.23", "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.5", "pg": "^8.20.0", "puppeteer-core": "^24.42.0", "qrcode.react": "^4.2.0", "react": "^19.2.5", "react-dom": "^19.2.5", "react-hook-form": "^7.73.1", "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.4.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", "@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.20260422.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.23", "happy-dom": "^20.9.0", "jose": "^6.2.2", "knip": "^6.6.1", "nitro": "3.0.260415-beta", "node-addon-api": "^8.7.0", "node-gyp": "^12.3.0", "npm-check-updates": "^21.0.3", "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vite-plugin-pwa": "^1.2.0", "vite-plus": "latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" }, "packageManager": "pnpm@10.33.1", "pnpm": { "overrides": { "@isaacs/brace-expansion": "^5.0.1", "@hono/node-server": "^1.19.14", "ajv": "^8.18.0", "basic-ftp": "^5.3.0", "dompurify": "^3.4.1", "effect": "^3.20.0", "fast-xml-parser": "^5.3.8", "hono": "^4.12.14", "lodash": "^4.17.23", "markdown-it": "^14.1.1", "minimatch": "^10.2.3", "qs": "^6.14.2", "serialize-javascript": "^7.0.4" }, "onlyBuiltDependencies": [ "bcrypt", "esbuild", "msw", "prisma", "sharp" ] } }