{ "name": "@reactive-resume/source", "description": "A free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.", "version": "4.0.3", "license": "MIT", "private": true, "author": { "name": "Amruth Pillai", "url": "https://amruthpillai.com", "email": "hello@amruthpillai.com" }, "repository": { "type": "git", "url": "https://github.com/AmruthPillai/Reactive-Resume.git" }, "scripts": { "dev": "nx run-many -t serve", "test": "nx run-many -t test", "prebuild": "pnpm prisma:generate", "build": "nx run-many -t build", "prestart": "pnpm prisma:migrate", "start": "node dist/apps/server/main", "lint": "nx run-many -t lint --fix", "format": "pnpm exec prettier -w .", "crowdin:sync": "crowdin push && crowdin pull", "prisma:generate": "pnpm exec prisma generate", "prisma:migrate": "pnpm exec prisma migrate deploy", "prisma:migrate:dev": "pnpm exec prisma migrate dev", "messages:extract": "pnpm exec lingui extract --clean --overwrite" }, "devDependencies": { "@babel/core": "^7.23.5", "@babel/preset-react": "^7.23.3", "@lingui/conf": "^4.6.0", "@lingui/swc-plugin": "^4.0.4", "@lingui/vite-plugin": "^4.6.0", "@nestjs/schematics": "^10.0.3", "@nestjs/testing": "^10.2.10", "@nx/eslint": "17.1.3", "@nx/eslint-plugin": "17.1.3", "@nx/jest": "17.1.3", "@nx/js": "17.1.3", "@nx/nest": "17.1.3", "@nx/node": "17.1.3", "@nx/react": "17.1.3", "@nx/vite": "17.1.3", "@nx/web": "17.1.3", "@nx/webpack": "17.1.3", "@nx/workspace": "17.1.3", "@swc-node/register": "~1.6.8", "@swc/cli": "~0.1.63", "@swc/core": "~1.3.100", "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@tanstack/eslint-plugin-query": "^5.12.1", "@testing-library/react": "14.1.2", "@types/async-retry": "^1.4.8", "@types/bcryptjs": "^2.4.6", "@types/cookie-parser": "^1.4.6", "@types/express": "^4.17.21", "@types/file-saver": "^2.0.7", "@types/jest": "^29.5.11", "@types/lodash.debounce": "^4.0.9", "@types/lodash.get": "^4.4.9", "@types/lodash.set": "^4.3.9", "@types/multer": "^1.4.11", "@types/node": "20.10.3", "@types/nodemailer": "^6.4.14", "@types/papaparse": "^5.3.14", "@types/passport": "^1.0.16", "@types/passport-github2": "^1.2.9", "@types/passport-google-oauth20": "^2.0.14", "@types/passport-local": "^1.0.38", "@types/react": "18.2.42", "@types/react-dom": "18.2.17", "@types/react-is": "18.2.4", "@types/retry": "^0.12.5", "@types/webfontloader": "^1.6.38", "@typescript-eslint/eslint-plugin": "^6.13.2", "@typescript-eslint/parser": "^6.13.2", "@vitejs/plugin-react": "~4.2.1", "@vitejs/plugin-react-swc": "~3.5.0", "@vitest/coverage-v8": "^1.0.1", "@vitest/ui": "~1.0.1", "autoprefixer": "^10.4.16", "eslint": "~8.55.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-lingui": "^0.2.0", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-tailwindcss": "^3.13.0", "eslint-plugin-unused-imports": "^3.0.0", "jest": "^29.7.0", "jest-environment-node": "^29.7.0", "jsdom": "~23.0.1", "nx": "17.1.3", "postcss": "8.4.32", "postcss-import": "^15.1.0", "postcss-nested": "^6.0.1", "prettier": "^3.1.0", "tailwindcss": "^3.3.6", "tailwindcss-animate": "^1.0.7", "ts-jest": "^29.1.1", "ts-node": "10.9.1", "typescript": "~5.3.2", "vite": "~5.0.6", "vite-plugin-dts": "~3.6.4", "vitest": "~1.0.1" }, "dependencies": { "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", "@fontsource/ibm-plex-sans": "^5.0.17", "@hookform/resolvers": "^3.3.2", "@lingui/cli": "^4.6.0", "@lingui/core": "^4.6.0", "@lingui/detect-locale": "^4.6.0", "@lingui/macro": "^4.6.0", "@lingui/react": "^4.6.0", "@nestjs-modules/mailer": "^1.9.1", "@nestjs/axios": "^3.0.1", "@nestjs/common": "^10.2.10", "@nestjs/config": "^3.1.1", "@nestjs/core": "^10.2.10", "@nestjs/jwt": "^10.2.0", "@nestjs/passport": "^10.0.3", "@nestjs/platform-express": "^10.2.10", "@nestjs/serve-static": "^4.0.0", "@nestjs/swagger": "^7.1.16", "@nestjs/terminus": "^10.2.0", "@paralleldrive/cuid2": "^2.2.2", "@pdf-lib/fontkit": "^1.1.1", "@phosphor-icons/react": "^2.0.15", "@prisma/client": "^5.6.0", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-aspect-ratio": "^1.0.3", "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-context-menu": "^2.1.5", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-portal": "^1.0.4", "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slider": "^1.1.2", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-toggle-group": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", "@sentry/node": "^7.85.0", "@songkeys/nestjs-redis": "^10.0.0", "@songkeys/nestjs-redis-health": "^10.0.0", "@swc/helpers": "~0.5.3", "@tanstack/react-query": "^5.12.2", "@tiptap/extension-highlight": "^2.1.12", "@tiptap/extension-image": "^2.1.12", "@tiptap/extension-link": "^2.1.12", "@tiptap/extension-text-align": "^2.1.12", "@tiptap/extension-underline": "^2.1.12", "@tiptap/react": "^2.1.12", "@tiptap/starter-kit": "^2.1.12", "@types/passport-jwt": "^3.0.13", "async-retry": "^1.3.3", "axios": "^1.6.2", "axios-auth-refresh": "^3.3.6", "bcryptjs": "^2.4.3", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "cmdk": "^0.2.0", "cookie-parser": "^1.4.6", "dayjs": "^1.11.10", "deepmerge": "^4.3.1", "file-saver": "^2.0.5", "framer-motion": "^10.16.14", "fuzzy": "^0.1.3", "helmet": "^7.1.0", "immer": "^10.0.3", "ioredis": "^5.3.2", "jszip": "^3.10.1", "lodash.debounce": "^4.0.8", "lodash.get": "^4.4.2", "lodash.set": "^4.3.2", "minio": "^7.1.3", "nest-raven": "^10.0.1", "nestjs-minio-client": "^2.2.0", "nestjs-prisma": "^0.22.0", "nestjs-zod": "^3.0.0", "nodemailer": "^6.9.7", "openai": "^4.20.1", "otplib": "^12.0.1", "papaparse": "^5.4.1", "passport": "^0.7.0", "passport-github2": "^0.1.12", "passport-google-oauth20": "^2.0.0", "passport-jwt": "^4.0.1", "passport-local": "^1.0.0", "pdf-lib": "^1.17.1", "prisma": "^5.6.0", "puppeteer": "^21.4.1", "qrcode.react": "^3.1.0", "react": "18.2.0", "react-colorful": "^5.6.1", "react-dom": "18.2.0", "react-helmet-async": "^2.0.3", "react-hook-form": "^7.48.2", "react-parallax-tilt": "^1.7.175", "react-resizable-panels": "^0.0.63", "react-router-dom": "6.20.1", "react-zoom-pan-pinch": "^3.3.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", "sharp": "^0.33.0", "tailwind-merge": "^2.1.0", "tslib": "^2.6.2", "unique-names-generator": "^4.7.1", "use-breakpoint": "^4.0.1", "use-keyboard-shortcut": "^1.1.6", "usehooks-ts": "^2.9.1", "webfontloader": "^1.6.28", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.1", "zundo": "^2.0.0", "zustand": "^4.4.7" }, "packageManager": "pnpm@8.11.0", "engines": { "node": ">=18.0.0" }, "prisma": { "schema": "tools/prisma/schema.prisma" } }