{ "name": "@zitadel/login", "private": true, "type": "module", "scripts": { "dev": "next dev --turbopack", "test": "concurrently --timings --kill-others-on-fail 'npm:test:unit' 'npm:test:integration'", "test:watch": "concurrently --kill-others 'npm:test:unit:watch' 'npm:test:integration:watch'", "test:unit": "vitest", "test:unit:watch": "pnpm test:unit --watch", "test:integration": "pnpm mock:build && concurrently --names 'mock,test' --success command-test --kill-others 'pnpm:mock' 'env-cmd -f ./.env.integration start-server-and-test start http://localhost:3000 \"test:integration:run\"'", "test:integration:watch:run": "concurrently --names 'mock,test' --kill-others 'pnpm:mock' 'env-cmd -f ./.env.integration start-server-and-test dev http://localhost:3000 \"pnpm nodemon -e js,jsx,ts,tsx,css,scss --ignore \\\"__test__/**\\\" --exec \\\"pnpm test:integration:run\\\"\"'", "test:integration:watch:open": "concurrently --names 'mock,test' --kill-others 'pnpm:mock' 'env-cmd -f ./.env.integration start-server-and-test dev http://localhost:3000 \"pnpm nodemon -e js,jsx,ts,tsx,css,scss --ignore \\\"__test__/**\\\" --exec \\\"pnpm test:integration:open\\\"\"'", "test:integration:run": "cypress run --config-file ./cypress/cypress.config.ts --quiet", "test:integration:open": "cypress open --config-file ./cypress/cypress.config.ts", "mock": "pnpm mock:build && pnpm mock:run", "mock:run": "pnpm mock:stop && docker run --rm --name zitadel-mock-grpc-server --publish 22220:22220 --publish 22222:22222 zitadel-mock-grpc-server", "mock:build": "DOCKER_BUILDKIT=1 docker build --tag zitadel-mock-grpc-server ./mock", "mock:build:nocache": "pnpm mock:build --no-cache", "mock:stop": "docker rm --force zitadel-mock-grpc-server 2>/dev/null || true", "mock:destroy": "docker rmi --force zitadel-mock-grpc-server 2>/dev/null || true", "lint": "next lint && prettier --check .", "lint:fix": "prettier --write .", "lint-staged": "lint-staged", "build": "next build", "prestart": "pnpm build", "start": "next start", "start:built": "next start", "clean": "pnpm mock:destroy && rm -rf .turbo && rm -rf node_modules && rm -rf .next" }, "git": { "pre-commit": "lint-staged" }, "lint-staged": { "*": "prettier --write --ignore-unknown" }, "dependencies": { "@headlessui/react": "^2.1.9", "@heroicons/react": "2.1.3", "@tailwindcss/forms": "0.5.7", "@vercel/analytics": "^1.2.2", "@zitadel/client": "workspace:*", "@zitadel/proto": "workspace:*", "clsx": "1.2.1", "copy-to-clipboard": "^3.3.3", "deepmerge": "^4.3.1", "jose": "^5.3.0", "moment": "^2.29.4", "next": "15.2.0-canary.33", "next-intl": "^3.25.1", "next-themes": "^0.2.1", "nice-grpc": "2.0.1", "qrcode.react": "^3.1.0", "react": "19.0.0", "react-dom": "19.0.0", "react-hook-form": "7.39.5", "swr": "^2.2.0", "tinycolor2": "1.4.2" }, "devDependencies": { "@bufbuild/buf": "^1.46.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", "@types/ms": "0.7.34", "@types/node": "^20.17.17", "@types/react": "19.0.2", "@types/react-dom": "19.0.2", "@types/tinycolor2": "1.4.3", "@types/uuid": "^10.0.0", "@vercel/git-hooks": "1.0.0", "@zitadel/eslint-config": "workspace:*", "@zitadel/prettier-config": "workspace:*", "@zitadel/tailwind-config": "workspace:*", "@zitadel/tsconfig": "workspace:*", "autoprefixer": "10.4.20", "concurrently": "^9.1.0", "cypress": "^13.15.2", "del-cli": "6.0.0", "env-cmd": "^10.0.0", "grpc-tools": "1.12.4", "jsdom": "^25.0.1", "lint-staged": "15.2.10", "make-dir-cli": "4.0.0", "nodemon": "^3.1.7", "postcss": "8.4.49", "prettier-plugin-tailwindcss": "0.6.8", "sass": "^1.80.7", "start-server-and-test": "^2.0.8", "tailwindcss": "3.4.14", "ts-proto": "^2.2.7", "typescript": "^5.6.3" } }