{ "name": "nextjs-prisma-boilerplate", "version": "1.0.0", "description": "", "keywords": [], "license": "MIT", "author": { "name": "Nemanja Mitic" }, "repository": { "type": "git", "url": "https://github.com/nemanjam/nextjs-prisma-boilerplate" }, "homepage": "https://github.com/nemanjam/nextjs-prisma-boilerplate", "scripts": { "dev": "NODE_ENV=development nodemon", "build": "next build && tsc --project tsconfig.server.json", "start": "NODE_ENV=production node dist/index.js", "types": "tsc --pretty --noEmit", "lint": "eslint . --ext ts --ext tsx --ext js", "format": "prettier --write .", "jest-preview": "jest-preview", "test": "jest --", "prisma:migrate:dev": "npx prisma migrate dev --skip-seed", "prisma:migrate:dev:env": "dotenv -e .env.development.local -- sh -c 'yarn prisma:migrate:dev'", "prisma:migrate:test:env": "dotenv -e .env.test.local -- sh -c 'yarn prisma:migrate:dev'", "prisma:validate:dev:env": "dotenv -e .env.development.local -- sh -c 'npx prisma validate'", "cmd:start:dev": "yarn prisma:migrate:dev && yarn dev", "docker:dev:build": "docker-compose -f docker-compose.dev.yml build npb-app-dev", "docker:dev:up": "docker-compose -f docker-compose.dev.yml -p npb-dev up", "docker:dev:down": "docker-compose -f docker-compose.dev.yml -p npb-dev down -v --remove-orphans", "prisma:studio:dev:env": "dotenv -e .env.development.local -- sh -c 'npx prisma studio'", "prisma:reset:dev:env": "dotenv -e .env.development.local -- sh -c 'npx prisma migrate reset dev --skip-seed'", "prisma:migrate:prod": "npx prisma migrate deploy", "prisma:migrate:prod:env": "dotenv -e .env.production.local -- sh -c 'yarn prisma:migrate:prod'", "prisma:push": "npx prisma db push", "prisma:seed": "npx prisma db seed", "prisma:seed:dev:env": "dotenv -e .env.development.local -- sh -c 'yarn prisma:seed'", "cmd:start:prod": "yarn prisma:migrate:prod && yarn prisma:seed && yarn start", "with:prod:docker:env": "fn() { npx dotenv -e ./envs/production-docker/.env.production.docker -e ./envs/production-docker/.env.production.docker.local -- bash -c \"yarn $2\";}; fn --", "docker:prod:build": "docker-compose -f docker-compose.prod.yml build npb-app-prod", "docker:prod:build:env": "yarn with:prod:docker:env docker:prod:build", "docker:prod:up": "docker-compose -f docker-compose.prod.yml -p npb-prod up", "docker:prod:down": "docker-compose -f docker-compose.prod.yml -p npb-prod down", "test:client": "jest --projects test-client/config", "test:server:unit": "jest -i --projects test-server/config/jest.config.unit.js", "test:server:integration": "jest -i --projects test-server/config/jest.config.integration.js", "test:coverage": "jest -i --coverage", "docker:db:dev:up": "docker-compose -f docker-compose.dev.yml -p npb-dev up -d npb-db-dev", "docker:db:test:up": "docker-compose -f docker-compose.test.yml -p npb-test up -d npb-db-test", "docker:db:prod:up": "docker-compose -f docker-compose.prod.yml -p npb-prod up -d npb-db-prod", "docker:test:build": "docker-compose -f docker-compose.test.yml build npb-app-test", "docker:test:down": "docker-compose -f docker-compose.test.yml down -v --remove-orphans", "docker:test:client": "docker-compose -f docker-compose.test.yml -p npb-test run --rm npb-app-test sh -c 'yarn test:client'", "docker:test:server:unit": "docker-compose -f docker-compose.test.yml -p npb-test run --rm npb-app-test sh -c 'yarn test:server:unit'", "docker:test:server:integration": "docker-compose -f docker-compose.test.yml -p npb-test run --rm npb-app-test sh -c 'yarn test:server:integration'", "docker:test:coverage": "docker-compose -f docker-compose.test.yml -p npb-test run --rm npb-app-test sh -c 'yarn test:coverage'", "docker:test:start": "yarn prisma:migrate:prod && yarn build && yarn start", "cypress": "cypress open --project ./tests-e2e", "cypress:headless": "cypress run --project ./tests-e2e", "start:e2e": "NODE_ENV=test node dist/index.js", "test:e2e": "start-server-and-test start:e2e 3001 cypress", "test:e2e:env": "dotenv -e .env.test.local -- sh -c 'yarn test:e2e'", "test:e2e:headless": "start-server-and-test start:e2e 3001 cypress:headless", "test:e2e:headless:env": "dotenv -e .env.test.local -- sh -c 'yarn test:e2e:headless'", "docker:npb-app-test:build": "docker-compose -f docker-compose.test.yml build npb-app-test", "docker:npb-e2e:build": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml build npb-e2e", "docker:npb-app-test:npb-db-test:e2e:up": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml -p npb-test up -d npb-app-test npb-db-test", "docker:npb-e2e:up": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml -p npb-test up npb-e2e", "docker:test:e2e:up": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml -p npb-test up", "docker:test:e2e:down": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml -p npb-test down", "docker:db:e2e:up": "docker-compose -f docker-compose.test.yml -f docker-compose.e2e.yml -p npb-test up -d npb-db-test", "with:gitpod:env": "fn() { npx dotenv -e ./envs/development-gitpod/.env.development.gitpod -e ./envs/development-gitpod/.env.development.gitpod.local -- bash -c \"yarn $2\";}; fn --", "gitpod:migrate:dev:env": "yarn with:gitpod:env prisma:migrate:dev", "gitpod:push:env": "yarn with:gitpod:env prisma:push", "gitpod:seed:env": "yarn with:gitpod:env prisma:seed", "gitpod:dev:env": "yarn with:gitpod:env dev", "docker:live:build": "dotenv -e ./envs/production-live/.env.production.live.build.local -- bash -c 'docker build -f Dockerfile.prod -t nemanjamitic/nextjs-prisma-boilerplate:latest --build-arg ARG_DATABASE_URL=${DATABASE_URL} --build-arg ARG_NEXTAUTH_URL=${NEXTAUTH_URL} .'", "docker:live:build:push:arm": "dotenv -e ./envs/production-live/.env.production.live.build.local -- bash -c 'docker buildx build -f Dockerfile.prod -t nemanjamitic/nextjs-prisma-boilerplate:arm-latest --build-arg ARG_DATABASE_URL=${DATABASE_URL} --build-arg ARG_NEXTAUTH_URL=${NEXTAUTH_URL} --platform linux/arm64 --push .'", "docker:live:tag": "docker tag nextjs-prisma-boilerplate:latest nemanjamitic/nextjs-prisma-boilerplate:latest", "docker:live:push": "docker push nemanjamitic/nextjs-prisma-boilerplate:latest", "debug:env": "dotenv -e ./envs/production-live/.env.production.live.build.local -- sh -c 'echo $DATABASE_URL'" }, "dependencies": { "@faker-js/faker": "^7.3.0", "@hookform/resolvers": "^2.9.5", "@next-auth/prisma-adapter": "^1.0.3", "@prisma/client": "^4.10.1", "axios": "^0.27.2", "b_": "^1.3.4", "babel-plugin-superjson-next": "^0.4.3", "bcryptjs": "^2.4.3", "dotenv-cli": "^6.0.0", "express": "^4.18.1", "moment": "^2.29.4", "multer": "^1.4.5-lts.1", "next": "^12.2.2", "next-auth": "^4.9.0", "next-connect": "^0.12.2", "next-themes": "^0.2.0", "next-validations": "^0.2.0", "prisma": "^4.10.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.2", "react-error-boundary": "^3.1.4", "react-hook-form": "^8.0.0-alpha.4", "react-icons": "^4.4.0", "react-query": "^4.0.0-beta.23", "sass": "^1.53.0", "superjson": "^1.9.1", "zod": "^3.17.3" }, "devDependencies": { "@tailwindcss/forms": "^0.5.2", "@testing-library/cypress": "^8.0.3", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^14.2.1", "@types/b_": "^1.3.2", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.13", "@types/jest": "^28.1.4", "@types/multer": "^1.4.7", "@types/node": "18.0.3", "@types/react": "^18.0.15", "@types/react-dom": "^18.0.6", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.30.5", "autoprefixer": "^10.4.7", "babel-plugin-preval": "^5.1.0", "blob-polyfill": "^7.0.20220408", "cypress": "9.6.1", "eslint": "^8.19.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-jest": "^26.5.3", "eslint-plugin-react": "^7.30.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-testing-library": "^5.5.1", "jest": "^28.1.1", "jest-environment-jsdom": "^28.1.1", "jest-mock-extended": "^2.0.6", "jest-preview": "^0.2.6", "jsdom-worker": "^0.2.1", "msw": "^0.43.1", "nodemon": "^2.0.19", "postcss": "^8.4.14", "prettier": "^2.7.1", "start-server-and-test": "^1.14.0", "stylelint": "^14.9.1", "stylelint-config-recommended-scss": "^7.0.0", "stylelint-scss": "^4.3.0", "supertest": "^6.2.4", "tailwindcss": "^3.1.5", "ts-jest": "^28.0.5", "ts-node": "^10.8.2", "typescript": "^4.7.4" }, "prisma": { "seed": "node prisma/seed-run.js" } }