{ "name": "datewise", "private": true, "version": "0.1.0", "type": "module", "description": "Datewise \u2014 delivery & pickup date/time scheduling for Shopify, with capacity holds, peak-day rush control, perishable-aware dates, customer self-reschedule, reminders and driver run sheets.", "scripts": { "build": "react-router build", "dev": "shopify app dev", "config:link": "shopify app config link", "deploy": "shopify app deploy", "start": "react-router-serve ./build/server/index.js", "setup": "prisma generate && prisma migrate deploy", "typecheck": "react-router typegen && tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "worker": "node --import tsx ./app/jobs/worker.ts", "prototype": "esbuild app/engine/index.ts --bundle --format=iife --global-name=DatewiseEngine --target=es2019 --minify --outfile=prototype/engine.js && node prototype/build.mjs", "test:db": "TEST_DATABASE_URL=${TEST_DATABASE_URL:-postgresql://postgres@localhost:5432/datewise_test} vitest run", "e2e:server": "tsx tests/e2e/server.ts", "e2e": "node tests/e2e/widget.e2e.mjs" }, "engines": { "node": ">=20.10" }, "dependencies": { "@prisma/adapter-pg": "6.19", "@prisma/client": "^6.17.1", "@react-router/dev": "^7.9.0", "@react-router/fs-routes": "^7.9.0", "@react-router/node": "^7.9.0", "@react-router/serve": "^7.9.0", "@shopify/app-bridge-react": "^4.2.0", "@shopify/shopify-app-react-router": "^3.0.2", "@shopify/shopify-app-session-storage-prisma": "^11.0.1", "isbot": "^5.1.0", "pg": "^8.23.1", "prisma": "^6.17.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router": "^7.9.0", "vite": "^6.3.0", "vite-tsconfig-paths": "^5.1.4", "zod": "^3.25.0" }, "devDependencies": { "@shopify/api-codegen-preset": "^1.1.0", "@shopify/app-bridge-types": "^0.7.2", "@shopify/polaris-types": "^1.1.0", "@types/node": "^22.0.0", "@types/pg": "^8.23.1", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "esbuild": "^0.25.0", "tsx": "^4.19.0", "typescript": "^5.8.0", "vitest": "^3.2.0", "playwright": "^1.56.0" } }