- functions: add codegen config and the downloaded schema.graphql (generated/ ignored) - order-reschedule: add the @preact/signals peer dependency - widget: source moved to widget-src/, minified build in assets (npm run build:widget, also run by predeploy); e2e passes on the minified file Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
2.4 KiB
JSON
63 lines
2.4 KiB
JSON
{
|
|
"name": "datewise",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"description": "Datewise — 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",
|
|
"build:widget": "esbuild widget-src/datewise.js --minify --target=es2019 --legal-comments=none --outfile=extensions/datewise-widget/assets/datewise.js",
|
|
"predeploy": "npm run build:widget"
|
|
},
|
|
"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"
|
|
}
|
|
}
|