122 lines
3.4 KiB
JSON
122 lines
3.4 KiB
JSON
{
|
|
"name": "shellphone.app",
|
|
"private": true,
|
|
"sideEffects": false,
|
|
"scripts": {
|
|
"dev:build": "NODE_ENV=development dotenv npm run build:server -- -- --watch",
|
|
"dev:css": "NODE_ENV=development tailwindcss -i ./styles/tailwind.css -o ./app/styles/tailwind.css --watch",
|
|
"dev:remix": "NODE_ENV=development remix watch",
|
|
"dev:server": "NODE_ENV=development dotenv node ./server/index.js",
|
|
"dev:worker": "NODE_ENV=development npm run build:worker -- --watch",
|
|
"dev:init": "NODE_ENV=development dotenv run-s build:remix build:server",
|
|
"dev": "npm run dev:init && run-p dev:build dev:worker dev:css dev:remix dev:server",
|
|
"build:server": "node ./scripts/build-server.js",
|
|
"build:css": "tailwindcss -i ./styles/tailwind.css -o ./app/styles/tailwind.css -m",
|
|
"build:remix": "remix build",
|
|
"build:worker": "node ./scripts/build-worker.js",
|
|
"build": "NODE_ENV=production run-s build:css build:remix build:worker build:server",
|
|
"start": "NODE_ENV=production node ./server/index.js",
|
|
"test": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"lint": "eslint --ignore-path .gitignore --ext .js,.ts,.tsx .",
|
|
"db:setup": "prisma migrate deploy",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"@bull-board/express": "3.11.0",
|
|
"@headlessui/react": "1.6.4",
|
|
"@prisma/client": "4.13.0",
|
|
"@react-aria/interactions": "3.9.0",
|
|
"@remix-run/express": "1.14.3",
|
|
"@remix-run/node": "1.14.3",
|
|
"@remix-run/react": "1.14.3",
|
|
"@remix-run/server-runtime": "1.14.3",
|
|
"@tailwindcss/forms": "0.5.2",
|
|
"@tailwindcss/line-clamp": "0.4.0",
|
|
"@tailwindcss/typography": "0.5.2",
|
|
"@twilio/voice-sdk": "2.1.1",
|
|
"awesome-phonenumber": "3.0.2",
|
|
"bullmq": "1.85.1",
|
|
"clsx": "1.1.1",
|
|
"compression": "1.7.4",
|
|
"express": "4.18.1",
|
|
"ioredis": "5.0.6",
|
|
"jotai": "1.7.0",
|
|
"luxon": "2.4.0",
|
|
"morgan": "1.10.0",
|
|
"nanoid": "3.3.4",
|
|
"react": "18.1.0",
|
|
"react-dom": "18.1.0",
|
|
"react-icons": "4.4.0",
|
|
"react-modal-sheet": "1.5.1",
|
|
"remix-seo": "0.1.0",
|
|
"remix-utils": "3.2.0",
|
|
"superjson-remix": "0.2.0",
|
|
"tiny-invariant": "1.2.0",
|
|
"tslog": "3.3.3",
|
|
"twilio": "3.77.1",
|
|
"web-push": "3.5.0",
|
|
"zod": "3.17.3"
|
|
},
|
|
"devDependencies": {
|
|
"@remix-run/dev": "1.14.3",
|
|
"@remix-run/eslint-config": "1.14.3",
|
|
"@testing-library/jest-dom": "5.16.4",
|
|
"@types/compression": "1.7.2",
|
|
"@types/express": "4.17.13",
|
|
"@types/luxon": "2.3.2",
|
|
"@types/morgan": "1.9.3",
|
|
"@types/react": "18.0.10",
|
|
"@types/react-dom": "18.0.5",
|
|
"@types/web-push": "3.3.2",
|
|
"@vitejs/plugin-react": "1.3.2",
|
|
"c8": "7.11.3",
|
|
"dotenv-cli": "5.1.0",
|
|
"esbuild": "0.14.42",
|
|
"esbuild-node-externals": "1.4.1",
|
|
"eslint": "8.16.0",
|
|
"glob": "7.2.3",
|
|
"happy-dom": "5.0.0",
|
|
"husky": "7.0.4",
|
|
"lint-staged": "13.0.0",
|
|
"npm-run-all": "4.1.5",
|
|
"prettier": "2.6.2",
|
|
"prettier-plugin-prisma": "4.12.0",
|
|
"prisma": "4.13.0",
|
|
"start-server-and-test": "1.14.0",
|
|
"tailwindcss": "3.0.24",
|
|
"typescript": "4.7.2",
|
|
"vite": "2.9.9",
|
|
"vite-tsconfig-paths": "3.5.0",
|
|
"vitest": "0.13.1"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts,tsx,css}": "prettier --write",
|
|
"*.prisma": "prisma format"
|
|
},
|
|
"prettier": {
|
|
"bracketSameLine": false,
|
|
"printWidth": 120,
|
|
"quoteProps": "as-needed",
|
|
"semi": true,
|
|
"singleQuote": false,
|
|
"tabWidth": 4,
|
|
"trailingComma": "all",
|
|
"useTabs": true
|
|
},
|
|
"eslintConfig": {
|
|
"env": {
|
|
"node": true
|
|
},
|
|
"extends": [
|
|
"@remix-run/eslint-config"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": "18"
|
|
},
|
|
"prisma": {
|
|
"schema": "prisma/schema.prisma"
|
|
}
|
|
}
|