{ "name": "notshop-bundle", "version": "1.0.0", "type": "module", "license": "MIT", "description": "NoShop — open source headless commerce for Replit. Fork, configure, deploy.", "scripts": { "dev": "NODE_ENV=development tsx server/index.ts", "build": "vite build && tsc -p tsconfig.server.json", "start": "NODE_ENV=production node dist/server/index.js", "db:push": "drizzle-kit push", "db:seed": "tsx scripts/seed-admin.ts" }, "dependencies": { "@hookform/resolvers": "^3.10.0", "@radix-ui/react-dialog": "^1.1.7", "@radix-ui/react-label": "^2.1.3", "@radix-ui/react-select": "^2.1.7", "@radix-ui/react-slot": "^1.2.0", "@radix-ui/react-toast": "^1.2.7", "@stripe/react-stripe-js": "^5.6.1", "@stripe/stripe-js": "^8.9.0", "@tanstack/react-query": "^5.60.5", "authorizenet": "^1.0.10", "bcrypt": "^6.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "connect-pg-simple": "^10.0.0", "drizzle-orm": "^0.39.3", "drizzle-zod": "^0.7.1", "express": "^5.0.1", "express-session": "^1.19.0", "lucide-react": "^0.453.0", "pg": "^8.16.3", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.55.0", "resend": "^6.9.2", "stripe": "^20.4.1", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "wouter": "^3.3.5", "zod": "^3.25.76" }, "devDependencies": { "@tailwindcss/typography": "^0.5.15", "@types/bcrypt": "^6.0.0", "@types/connect-pg-simple": "^7.0.3", "@types/express": "^5.0.0", "@types/express-session": "^1.18.2", "@types/node": "20.19.27", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.7.0", "autoprefixer": "^10.4.20", "drizzle-kit": "^0.31.8", "postcss": "^8.4.47", "tailwindcss": "^3.4.17", "tsx": "^4.20.5", "typescript": "5.6.3", "vite": "^7.3.0" } }