diff --git a/login/.changeset/README.md b/.changeset/README.md similarity index 100% rename from login/.changeset/README.md rename to .changeset/README.md diff --git a/login/.changeset/config.json b/.changeset/config.json similarity index 100% rename from login/.changeset/config.json rename to .changeset/config.json diff --git a/.gitignore b/.gitignore index dd694bdeb5..0a24fed963 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ # Test binary, build with `go test -c` *.test +!login/.env.test # Coverage coverage.txt @@ -68,6 +69,7 @@ docs/docs/apis/proto /internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css /internal/api/ui/login/static/resources/themes/zitadel/css/zitadel.css.map zitadel-*-* +!login/**/zitadel-*-* # local build/local/*.env diff --git a/LICENSING.md b/LICENSING.md index 259a0d5070..ca4717afa5 100644 --- a/LICENSING.md +++ b/LICENSING.md @@ -23,6 +23,7 @@ The following files and directories, including their subdirectories, are license ``` login/ +clients/ ``` ## Community Contributions diff --git a/login/packages/zitadel-client/.eslintrc.cjs b/clients/typescript/zitadel-client/.eslintrc.cjs similarity index 100% rename from login/packages/zitadel-client/.eslintrc.cjs rename to clients/typescript/zitadel-client/.eslintrc.cjs diff --git a/login/packages/zitadel-client/.gitignore b/clients/typescript/zitadel-client/.gitignore similarity index 100% rename from login/packages/zitadel-client/.gitignore rename to clients/typescript/zitadel-client/.gitignore diff --git a/login/packages/zitadel-client/CHANGELOG.md b/clients/typescript/zitadel-client/CHANGELOG.md similarity index 100% rename from login/packages/zitadel-client/CHANGELOG.md rename to clients/typescript/zitadel-client/CHANGELOG.md diff --git a/login/packages/zitadel-client/README.md b/clients/typescript/zitadel-client/README.md similarity index 100% rename from login/packages/zitadel-client/README.md rename to clients/typescript/zitadel-client/README.md diff --git a/login/packages/zitadel-client/package.json b/clients/typescript/zitadel-client/package.json similarity index 100% rename from login/packages/zitadel-client/package.json rename to clients/typescript/zitadel-client/package.json diff --git a/login/packages/zitadel-client/src/helpers.ts b/clients/typescript/zitadel-client/src/helpers.ts similarity index 100% rename from login/packages/zitadel-client/src/helpers.ts rename to clients/typescript/zitadel-client/src/helpers.ts diff --git a/login/packages/zitadel-client/src/index.ts b/clients/typescript/zitadel-client/src/index.ts similarity index 100% rename from login/packages/zitadel-client/src/index.ts rename to clients/typescript/zitadel-client/src/index.ts diff --git a/login/packages/zitadel-client/src/interceptors.test.ts b/clients/typescript/zitadel-client/src/interceptors.test.ts similarity index 100% rename from login/packages/zitadel-client/src/interceptors.test.ts rename to clients/typescript/zitadel-client/src/interceptors.test.ts diff --git a/login/packages/zitadel-client/src/interceptors.ts b/clients/typescript/zitadel-client/src/interceptors.ts similarity index 100% rename from login/packages/zitadel-client/src/interceptors.ts rename to clients/typescript/zitadel-client/src/interceptors.ts diff --git a/login/packages/zitadel-client/src/node.ts b/clients/typescript/zitadel-client/src/node.ts similarity index 100% rename from login/packages/zitadel-client/src/node.ts rename to clients/typescript/zitadel-client/src/node.ts diff --git a/login/packages/zitadel-client/src/v1.ts b/clients/typescript/zitadel-client/src/v1.ts similarity index 100% rename from login/packages/zitadel-client/src/v1.ts rename to clients/typescript/zitadel-client/src/v1.ts diff --git a/login/packages/zitadel-client/src/v2.ts b/clients/typescript/zitadel-client/src/v2.ts similarity index 100% rename from login/packages/zitadel-client/src/v2.ts rename to clients/typescript/zitadel-client/src/v2.ts diff --git a/login/packages/zitadel-client/src/v3alpha.ts b/clients/typescript/zitadel-client/src/v3alpha.ts similarity index 100% rename from login/packages/zitadel-client/src/v3alpha.ts rename to clients/typescript/zitadel-client/src/v3alpha.ts diff --git a/login/packages/zitadel-client/src/web.ts b/clients/typescript/zitadel-client/src/web.ts similarity index 100% rename from login/packages/zitadel-client/src/web.ts rename to clients/typescript/zitadel-client/src/web.ts diff --git a/login/packages/zitadel-client/tsconfig.json b/clients/typescript/zitadel-client/tsconfig.json similarity index 100% rename from login/packages/zitadel-client/tsconfig.json rename to clients/typescript/zitadel-client/tsconfig.json diff --git a/login/packages/zitadel-client/tsup.config.ts b/clients/typescript/zitadel-client/tsup.config.ts similarity index 100% rename from login/packages/zitadel-client/tsup.config.ts rename to clients/typescript/zitadel-client/tsup.config.ts diff --git a/login/packages/zitadel-client/turbo.json b/clients/typescript/zitadel-client/turbo.json similarity index 100% rename from login/packages/zitadel-client/turbo.json rename to clients/typescript/zitadel-client/turbo.json diff --git a/login/packages/zitadel-proto/.gitignore b/clients/typescript/zitadel-proto/.gitignore similarity index 100% rename from login/packages/zitadel-proto/.gitignore rename to clients/typescript/zitadel-proto/.gitignore diff --git a/login/packages/zitadel-proto/CHANGELOG.md b/clients/typescript/zitadel-proto/CHANGELOG.md similarity index 100% rename from login/packages/zitadel-proto/CHANGELOG.md rename to clients/typescript/zitadel-proto/CHANGELOG.md diff --git a/login/packages/zitadel-proto/README.md b/clients/typescript/zitadel-proto/README.md similarity index 100% rename from login/packages/zitadel-proto/README.md rename to clients/typescript/zitadel-proto/README.md diff --git a/login/packages/zitadel-proto/buf.gen.yaml b/clients/typescript/zitadel-proto/buf.gen.yaml similarity index 100% rename from login/packages/zitadel-proto/buf.gen.yaml rename to clients/typescript/zitadel-proto/buf.gen.yaml diff --git a/login/packages/zitadel-proto/package.json b/clients/typescript/zitadel-proto/package.json similarity index 100% rename from login/packages/zitadel-proto/package.json rename to clients/typescript/zitadel-proto/package.json diff --git a/login/packages/zitadel-proto/turbo.json b/clients/typescript/zitadel-proto/turbo.json similarity index 100% rename from login/packages/zitadel-proto/turbo.json rename to clients/typescript/zitadel-proto/turbo.json diff --git a/login/apps/login/.env.test b/login/.env.test similarity index 100% rename from login/apps/login/.env.test rename to login/.env.test diff --git a/login/.eslintrc.cjs b/login/.eslintrc.cjs index 84711c5881..76ad0c10d8 100644 --- a/login/.eslintrc.cjs +++ b/login/.eslintrc.cjs @@ -1,10 +1,21 @@ module.exports = { - root: true, - // Use basic ESLint config since the login app has its own detailed config - extends: ["eslint:recommended"], - settings: { - next: { - rootDir: ["apps/*/"], + parser: "@typescript-eslint/parser", + extends: ["next", "prettier"], + plugins: ["@typescript-eslint"], + rules: { + "@next/next/no-html-link-for-pages": "off", + "@next/next/no-img-element": "off", + "react/no-unescaped-entities": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + "no-undef": "off", + }, + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + ecmaFeatures: { + jsx: true, }, + project: "./tsconfig.json", }, }; diff --git a/login/.gitignore b/login/.gitignore index 8d49ae1b37..e0924d4d56 100644 --- a/login/.gitignore +++ b/login/.gitignore @@ -1,3 +1,8 @@ +custom-config.js +.env*.local +standalone +tsconfig.tsbuildinfo + .DS_Store node_modules .turbo @@ -7,12 +12,6 @@ dist dist-ssr *.local .env -server/dist -public/dist .vscode .idea -.vercel -.env*.local /blob-report/ -/out -/docker diff --git a/login/.npmrc b/login/.npmrc deleted file mode 100644 index ded82e2f63..0000000000 --- a/login/.npmrc +++ /dev/null @@ -1 +0,0 @@ -auto-install-peers = true diff --git a/login/.prettierignore b/login/.prettierignore index 77415caa1e..642f919c4e 100644 --- a/login/.prettierignore +++ b/login/.prettierignore @@ -1,9 +1,5 @@ -.next/ -.changeset/ +.next +/external .github/ dist/ -standalone/ -packages/zitadel-proto/google -packages/zitadel-proto/protoc-gen-openapiv2 -packages/zitadel-proto/validate -packages/zitadel-proto/zitadel +standalone/ \ No newline at end of file diff --git a/login/apps/login/Dockerfile b/login/Dockerfile similarity index 100% rename from login/apps/login/Dockerfile rename to login/Dockerfile diff --git a/login/acceptance/.eslintrc.cjs b/login/acceptance/.eslintrc.cjs new file mode 100644 index 0000000000..84711c5881 --- /dev/null +++ b/login/acceptance/.eslintrc.cjs @@ -0,0 +1,10 @@ +module.exports = { + root: true, + // Use basic ESLint config since the login app has its own detailed config + extends: ["eslint:recommended"], + settings: { + next: { + rootDir: ["apps/*/"], + }, + }, +}; diff --git a/login/apps/login-test-acceptance/.gitignore b/login/acceptance/.gitignore similarity index 100% rename from login/apps/login-test-acceptance/.gitignore rename to login/acceptance/.gitignore diff --git a/login/apps/login-test-acceptance/docker-compose-ci.yaml b/login/acceptance/docker-compose-ci.yaml similarity index 100% rename from login/apps/login-test-acceptance/docker-compose-ci.yaml rename to login/acceptance/docker-compose-ci.yaml diff --git a/login/acceptance/docker-compose.yaml b/login/acceptance/docker-compose.yaml index a68a435e83..cb0463fdc8 100644 --- a/login/acceptance/docker-compose.yaml +++ b/login/acceptance/docker-compose.yaml @@ -1,8 +1,16 @@ services: + zitadel: - user: "${ZITADEL_DEV_UID}" - image: "${ZITADEL_IMAGE:-ghcr.io/zitadel/zitadel:02617cf17fdde849378c1a6b5254bbfb2745b164}" - command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --tlsMode disabled --config /zitadel.yaml --steps /zitadel.yaml' + user: "${UID:-1000}:${GID:-1000}" + image: "${ZITADEL_TAG:-ghcr.io/zitadel/zitadel:latest}" + container_name: acceptance-zitadel + command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --config /zitadel.yaml --steps /zitadel.yaml' + labels: + - "traefik.enable=true" + - "traefik.http.routers.zitadel.rule=!PathPrefix(`/ui/v2/login`)" + # - "traefik.http.middlewares.zitadel.headers.customrequestheaders.Host=localhost" +# - "traefik.http.routers.zitadel.middlewares=zitadel@docker" + - "traefik.http.services.zitadel-service.loadbalancer.server.scheme=h2c" ports: - "8080:8080" volumes: @@ -11,12 +19,11 @@ services: depends_on: db: condition: "service_healthy" - extra_hosts: - - "localhost:host-gateway" db: restart: "always" - image: postgres:17.0-alpine3.19 + image: ${LOGIN_TEST_ACCEPTANCE_POSTGES_TAG:-postgres:17.0-alpine3.19} + container_name: acceptance-db environment: - POSTGRES_USER=zitadel - PGUSER=zitadel @@ -30,42 +37,201 @@ services: retries: 5 start_period: "20s" ports: - - 5432:5432 + - "5432:5432" - wait_for_zitadel: + wait-for-zitadel: image: curlimages/curl:8.00.1 + container_name: acceptance-wait-for-zitadel command: /bin/sh -c "until curl -s -o /dev/null -i -f http://zitadel:8080/debug/ready; do echo 'waiting' && sleep 1; done; echo 'ready' && sleep 5;" || false depends_on: - zitadel + traefik: + image: "traefik:v3.4" + container_name: "acceptance-traefik" + labels: + - "traefik.enable=true" + - "traefik.http.routers.login.rule=PathPrefix(`/ui/v2/login`)" + - "traefik.http.services.login-service.loadbalancer.server.url=http://host.docker.internal:3000" + command: +# - "--log.level=DEBUG" + - "--ping" + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.websecure.http.tls=true" + - "--entryPoints.websecure.address=:443" + healthcheck: + test: ["CMD", "traefik", "healthcheck", "--ping"] + interval: "10s" + timeout: "30s" + retries: 5 + start_period: "20s" + ports: + - "443:443" + - "8090:8080" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + extra_hosts: + - host.docker.internal:host-gateway + setup: - user: "${ZITADEL_DEV_UID}" - container_name: setup - image: acceptance-setup:latest + user: "${UID:-1000}:${GID:-1000}" + image: ${LOGIN_TEST_ACCEPTANCE_SETUP_TAG:-login-test-acceptance-setup:local} + container_name: acceptance-setup + restart: no + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/setup" + dockerfile: ../go-command.Dockerfile + entrypoint: "./setup.sh" environment: PAT_FILE: /pat/zitadel-admin-sa.pat ZITADEL_API_INTERNAL_URL: http://zitadel:8080 - WRITE_ENVIRONMENT_FILE: /apps/login/.env.local - WRITE_TEST_ENVIRONMENT_FILE: /acceptance/tests/.env.local + WRITE_ENVIRONMENT_FILE: /login-env/.env.test.local SINK_EMAIL_INTERNAL_URL: http://sink:3333/email SINK_SMS_INTERNAL_URL: http://sink:3333/sms SINK_NOTIFICATION_URL: http://localhost:3333/notification + LOGIN_BASE_URL: https://127.0.0.1.sslip.io/ui/v2/login/ + ZITADEL_API_URL: https://127.0.0.1.sslip.io + ZITADEL_API_DOMAIN: 127.0.0.1.sslip.io + ZITADEL_ADMIN_USER: zitadel-admin@zitadel.127.0.0.1.sslip.io volumes: - - "./pat:/pat" - - "../apps/login:/apps/login" - - "../acceptance/tests:/acceptance/tests" + - ./pat:/pat # Read the PAT file from zitadels setup + - ../login:/login-env # Write the environment variables file for the login depends_on: - wait_for_zitadel: + traefik: + condition: "service_healthy" + wait-for-zitadel: condition: "service_completed_successfully" sink: - image: golang:1.24-alpine - container_name: sink - command: go run /sink/main.go -port '3333' -email '/email' -sms '/sms' -notification '/notification' + image: ${LOGIN_TEST_ACCEPTANCE_SINK_TAG:-login-test-acceptance-sink:local} + container_name: acceptance-sink + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/sink" + dockerfile: ../go-command.Dockerfile + args: + - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} + environment: + PORT: '3333' + command: + - -port + - '3333' + - -email + - '/email' + - -sms + - '/sms' + - -notification + - '/notification' ports: - - 3333:3333 - volumes: - - "./sink:/sink" + - "3333:3333" depends_on: setup: condition: "service_completed_successfully" + + oidcrp: + user: "${UID:-1000}:${GID:-1000}" + image: ${LOGIN_TEST_ACCEPTANCE_OIDCRP_TAG:-login-test-acceptance-oidcrp:local} + container_name: acceptance-oidcrp + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/oidcrp" + dockerfile: ../go-command.Dockerfile + args: + - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} + environment: + API_URL: 'http://traefik' + API_DOMAIN: 'traefik' + PAT_FILE: '/pat/zitadel-admin-sa.pat' + LOGIN_URL: 'https://traefik/ui/v2/login' + ISSUER: 'https://traefik' + HOST: 'traefik' + PORT: '8000' + SCOPES: 'openid profile email' + ports: + - "8000:8000" + volumes: + - "./pat:/pat" + depends_on: + traefik: + condition: "service_healthy" + setup: + condition: "service_completed_successfully" + + oidcop: + user: "${UID:-1000}:${GID:-1000}" + image: ${LOGIN_TEST_ACCEPTANCE_OIDCOP_TAG:-login-test-acceptance-oidcop:local} + container_name: acceptance-oidcop + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/oidc" + dockerfile: ../../go-command.Dockerfile + args: + - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} + environment: + API_URL: 'http://traefik' + API_DOMAIN: 'traefik' + PAT_FILE: '/pat/zitadel-admin-sa.pat' + SCHEMA: 'https' + HOST: 'traefik' + PORT: "8004" + ports: + - 8004:8004 + volumes: + - "./pat:/pat" + depends_on: + traefik: + condition: "service_healthy" + setup: + condition: "service_completed_successfully" + + samlsp: + user: "${UID:-1000}:${GID:-1000}" + image: "${LOGIN_TEST_ACCEPTANCE_SAMLSP_TAG:-login-test-acceptance-samlsp:local}" + container_name: acceptance-samlsp + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/samlsp" + dockerfile: ../go-command.Dockerfile + args: + - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} + environment: + API_URL: 'http://traefik' + API_DOMAIN: 'traefik' + PAT_FILE: '/pat/zitadel-admin-sa.pat' + LOGIN_URL: 'https://traefik/ui/v2/login' + IDP_URL: 'http://zitadel:8080/saml/v2/metadata' + HOST: 'https://traefik' + PORT: '8001' + ports: + - 8001:8001 + volumes: + - "./pat:/pat" + depends_on: + traefik: + condition: "service_healthy" + setup: + condition: "service_completed_successfully" + + samlidp: + user: "${UID:-1000}:${GID:-1000}" + image: "${LOGIN_TEST_ACCEPTANCE_SAMLIDP_TAG:-login-test-acceptance-samlidp:local}" + container_name: acceptance-samlidp + build: + context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/saml" + dockerfile: ../../go-command.Dockerfile + args: + - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} + environment: + API_URL: 'http://traefik:8080' + API_DOMAIN: 'traefik' + PAT_FILE: '/pat/zitadel-admin-sa.pat' + SCHEMA: 'https' + HOST: 'traefik' + PORT: "8003" + ports: + - 8003:8003 + volumes: + - "./pat:/pat" + depends_on: + traefik: + condition: "service_healthy" + setup: + condition: "service_completed_successfully" diff --git a/login/apps/login-test-acceptance/go-command.Dockerfile b/login/acceptance/go-command.Dockerfile similarity index 100% rename from login/apps/login-test-acceptance/go-command.Dockerfile rename to login/acceptance/go-command.Dockerfile diff --git a/login/apps/login-test-acceptance/idp/oidc/go.mod b/login/acceptance/idp/oidc/go.mod similarity index 100% rename from login/apps/login-test-acceptance/idp/oidc/go.mod rename to login/acceptance/idp/oidc/go.mod diff --git a/login/apps/login-test-acceptance/idp/oidc/go.sum b/login/acceptance/idp/oidc/go.sum similarity index 100% rename from login/apps/login-test-acceptance/idp/oidc/go.sum rename to login/acceptance/idp/oidc/go.sum diff --git a/login/apps/login-test-acceptance/idp/oidc/main.go b/login/acceptance/idp/oidc/main.go similarity index 100% rename from login/apps/login-test-acceptance/idp/oidc/main.go rename to login/acceptance/idp/oidc/main.go diff --git a/login/apps/login-test-acceptance/idp/saml/go.mod b/login/acceptance/idp/saml/go.mod similarity index 100% rename from login/apps/login-test-acceptance/idp/saml/go.mod rename to login/acceptance/idp/saml/go.mod diff --git a/login/apps/login-test-acceptance/idp/saml/go.sum b/login/acceptance/idp/saml/go.sum similarity index 100% rename from login/apps/login-test-acceptance/idp/saml/go.sum rename to login/acceptance/idp/saml/go.sum diff --git a/login/apps/login-test-acceptance/idp/saml/main.go b/login/acceptance/idp/saml/main.go similarity index 100% rename from login/apps/login-test-acceptance/idp/saml/main.go rename to login/acceptance/idp/saml/main.go diff --git a/login/apps/login-test-acceptance/oidcrp/go.mod b/login/acceptance/oidcrp/go.mod similarity index 100% rename from login/apps/login-test-acceptance/oidcrp/go.mod rename to login/acceptance/oidcrp/go.mod diff --git a/login/apps/login-test-acceptance/oidcrp/go.sum b/login/acceptance/oidcrp/go.sum similarity index 100% rename from login/apps/login-test-acceptance/oidcrp/go.sum rename to login/acceptance/oidcrp/go.sum diff --git a/login/apps/login-test-acceptance/oidcrp/main.go b/login/acceptance/oidcrp/main.go similarity index 100% rename from login/apps/login-test-acceptance/oidcrp/main.go rename to login/acceptance/oidcrp/main.go diff --git a/login/apps/login-test-acceptance/package.json b/login/acceptance/package.json similarity index 100% rename from login/apps/login-test-acceptance/package.json rename to login/acceptance/package.json diff --git a/login/apps/login-test-acceptance/test-results/.gitignore b/login/acceptance/pat/.gitignore similarity index 50% rename from login/apps/login-test-acceptance/test-results/.gitignore rename to login/acceptance/pat/.gitignore index 377ccd3fdf..bf27f3114d 100644 --- a/login/apps/login-test-acceptance/test-results/.gitignore +++ b/login/acceptance/pat/.gitignore @@ -1,2 +1,3 @@ * +!.gitignore !.gitkeep diff --git a/login/apps/login-test-acceptance/pat/.gitkeep b/login/acceptance/pat/.gitkeep similarity index 100% rename from login/apps/login-test-acceptance/pat/.gitkeep rename to login/acceptance/pat/.gitkeep diff --git a/login/apps/login-test-acceptance/pat/.gitignore b/login/acceptance/playwright-report/.gitignore similarity index 50% rename from login/apps/login-test-acceptance/pat/.gitignore rename to login/acceptance/playwright-report/.gitignore index 377ccd3fdf..bf27f3114d 100644 --- a/login/apps/login-test-acceptance/pat/.gitignore +++ b/login/acceptance/playwright-report/.gitignore @@ -1,2 +1,3 @@ * +!.gitignore !.gitkeep diff --git a/login/apps/login-test-acceptance/playwright-report/.gitkeep b/login/acceptance/playwright-report/.gitkeep similarity index 100% rename from login/apps/login-test-acceptance/playwright-report/.gitkeep rename to login/acceptance/playwright-report/.gitkeep diff --git a/login/apps/login-test-acceptance/playwright.config.ts b/login/acceptance/playwright.config.ts similarity index 100% rename from login/apps/login-test-acceptance/playwright.config.ts rename to login/acceptance/playwright.config.ts diff --git a/login/apps/login-test-acceptance/samlsp/go.mod b/login/acceptance/samlsp/go.mod similarity index 100% rename from login/apps/login-test-acceptance/samlsp/go.mod rename to login/acceptance/samlsp/go.mod diff --git a/login/apps/login-test-acceptance/samlsp/go.sum b/login/acceptance/samlsp/go.sum similarity index 100% rename from login/apps/login-test-acceptance/samlsp/go.sum rename to login/acceptance/samlsp/go.sum diff --git a/login/apps/login-test-acceptance/samlsp/main.go b/login/acceptance/samlsp/main.go similarity index 100% rename from login/apps/login-test-acceptance/samlsp/main.go rename to login/acceptance/samlsp/main.go diff --git a/login/apps/login-test-acceptance/setup/go.mod b/login/acceptance/setup/go.mod similarity index 100% rename from login/apps/login-test-acceptance/setup/go.mod rename to login/acceptance/setup/go.mod diff --git a/login/apps/login-test-acceptance/setup/go.sum b/login/acceptance/setup/go.sum similarity index 100% rename from login/apps/login-test-acceptance/setup/go.sum rename to login/acceptance/setup/go.sum diff --git a/login/apps/login-test-acceptance/setup/main.go b/login/acceptance/setup/main.go similarity index 100% rename from login/apps/login-test-acceptance/setup/main.go rename to login/acceptance/setup/main.go diff --git a/login/apps/login-test-acceptance/setup/setup.sh b/login/acceptance/setup/setup.sh similarity index 100% rename from login/apps/login-test-acceptance/setup/setup.sh rename to login/acceptance/setup/setup.sh diff --git a/login/apps/login-test-acceptance/sink/go.mod b/login/acceptance/sink/go.mod similarity index 100% rename from login/apps/login-test-acceptance/sink/go.mod rename to login/acceptance/sink/go.mod diff --git a/login/apps/login-test-acceptance/sink/go.sum b/login/acceptance/sink/go.sum similarity index 100% rename from login/apps/login-test-acceptance/sink/go.sum rename to login/acceptance/sink/go.sum diff --git a/login/apps/login-test-acceptance/sink/main.go b/login/acceptance/sink/main.go similarity index 100% rename from login/apps/login-test-acceptance/sink/main.go rename to login/acceptance/sink/main.go diff --git a/login/apps/login-test-acceptance/playwright-report/.gitignore b/login/acceptance/test-results/.gitignore similarity index 50% rename from login/apps/login-test-acceptance/playwright-report/.gitignore rename to login/acceptance/test-results/.gitignore index 377ccd3fdf..bf27f3114d 100644 --- a/login/apps/login-test-acceptance/playwright-report/.gitignore +++ b/login/acceptance/test-results/.gitignore @@ -1,2 +1,3 @@ * +!.gitignore !.gitkeep diff --git a/login/apps/login-test-acceptance/test-results/.gitkeep b/login/acceptance/test-results/.gitkeep similarity index 100% rename from login/apps/login-test-acceptance/test-results/.gitkeep rename to login/acceptance/test-results/.gitkeep diff --git a/login/apps/login-test-acceptance/tests/admin.spec.ts b/login/acceptance/tests/admin.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/admin.spec.ts rename to login/acceptance/tests/admin.spec.ts diff --git a/login/apps/login-test-acceptance/tests/code-screen.ts b/login/acceptance/tests/code-screen.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/code-screen.ts rename to login/acceptance/tests/code-screen.ts diff --git a/login/apps/login-test-acceptance/tests/code.ts b/login/acceptance/tests/code.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/code.ts rename to login/acceptance/tests/code.ts diff --git a/login/apps/login-test-acceptance/tests/email-verify-screen.ts b/login/acceptance/tests/email-verify-screen.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/email-verify-screen.ts rename to login/acceptance/tests/email-verify-screen.ts diff --git a/login/apps/login-test-acceptance/tests/email-verify.spec.ts b/login/acceptance/tests/email-verify.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/email-verify.spec.ts rename to login/acceptance/tests/email-verify.spec.ts diff --git a/login/apps/login-test-acceptance/tests/email-verify.ts b/login/acceptance/tests/email-verify.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/email-verify.ts rename to login/acceptance/tests/email-verify.ts diff --git a/login/apps/login-test-acceptance/tests/idp-apple.spec.ts b/login/acceptance/tests/idp-apple.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-apple.spec.ts rename to login/acceptance/tests/idp-apple.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-generic-jwt.spec.ts b/login/acceptance/tests/idp-generic-jwt.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-generic-jwt.spec.ts rename to login/acceptance/tests/idp-generic-jwt.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-generic-oauth.spec.ts b/login/acceptance/tests/idp-generic-oauth.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-generic-oauth.spec.ts rename to login/acceptance/tests/idp-generic-oauth.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-generic-oidc.spec.ts b/login/acceptance/tests/idp-generic-oidc.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-generic-oidc.spec.ts rename to login/acceptance/tests/idp-generic-oidc.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-github-enterprise.spec.ts b/login/acceptance/tests/idp-github-enterprise.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-github-enterprise.spec.ts rename to login/acceptance/tests/idp-github-enterprise.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-github.spec.ts b/login/acceptance/tests/idp-github.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-github.spec.ts rename to login/acceptance/tests/idp-github.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-gitlab-self-hosted.spec.ts b/login/acceptance/tests/idp-gitlab-self-hosted.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-gitlab-self-hosted.spec.ts rename to login/acceptance/tests/idp-gitlab-self-hosted.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-gitlab.spec.ts b/login/acceptance/tests/idp-gitlab.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-gitlab.spec.ts rename to login/acceptance/tests/idp-gitlab.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-google.spec.ts b/login/acceptance/tests/idp-google.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-google.spec.ts rename to login/acceptance/tests/idp-google.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-ldap.spec.ts b/login/acceptance/tests/idp-ldap.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-ldap.spec.ts rename to login/acceptance/tests/idp-ldap.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-microsoft.spec.ts b/login/acceptance/tests/idp-microsoft.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-microsoft.spec.ts rename to login/acceptance/tests/idp-microsoft.spec.ts diff --git a/login/apps/login-test-acceptance/tests/idp-saml.spec.ts b/login/acceptance/tests/idp-saml.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/idp-saml.spec.ts rename to login/acceptance/tests/idp-saml.spec.ts diff --git a/login/apps/login-test-acceptance/tests/login-configuration-possiblities.spec.ts b/login/acceptance/tests/login-configuration-possiblities.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/login-configuration-possiblities.spec.ts rename to login/acceptance/tests/login-configuration-possiblities.spec.ts diff --git a/login/apps/login-test-acceptance/tests/login.ts b/login/acceptance/tests/login.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/login.ts rename to login/acceptance/tests/login.ts diff --git a/login/apps/login-test-acceptance/tests/loginname-screen.ts b/login/acceptance/tests/loginname-screen.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/loginname-screen.ts rename to login/acceptance/tests/loginname-screen.ts diff --git a/login/apps/login-test-acceptance/tests/loginname.ts b/login/acceptance/tests/loginname.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/loginname.ts rename to login/acceptance/tests/loginname.ts diff --git a/login/apps/login-test-acceptance/tests/passkey.ts b/login/acceptance/tests/passkey.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/passkey.ts rename to login/acceptance/tests/passkey.ts diff --git a/login/apps/login-test-acceptance/tests/password-screen.ts b/login/acceptance/tests/password-screen.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/password-screen.ts rename to login/acceptance/tests/password-screen.ts diff --git a/login/apps/login-test-acceptance/tests/password.ts b/login/acceptance/tests/password.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/password.ts rename to login/acceptance/tests/password.ts diff --git a/login/apps/login-test-acceptance/tests/register-screen.ts b/login/acceptance/tests/register-screen.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/register-screen.ts rename to login/acceptance/tests/register-screen.ts diff --git a/login/apps/login-test-acceptance/tests/register.spec.ts b/login/acceptance/tests/register.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/register.spec.ts rename to login/acceptance/tests/register.spec.ts diff --git a/login/apps/login-test-acceptance/tests/register.ts b/login/acceptance/tests/register.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/register.ts rename to login/acceptance/tests/register.ts diff --git a/login/apps/login-test-acceptance/tests/select-account.ts b/login/acceptance/tests/select-account.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/select-account.ts rename to login/acceptance/tests/select-account.ts diff --git a/login/apps/login-test-acceptance/tests/sink.ts b/login/acceptance/tests/sink.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/sink.ts rename to login/acceptance/tests/sink.ts diff --git a/login/apps/login-test-acceptance/tests/user.ts b/login/acceptance/tests/user.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/user.ts rename to login/acceptance/tests/user.ts diff --git a/login/apps/login-test-acceptance/tests/username-passkey.spec.ts b/login/acceptance/tests/username-passkey.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-passkey.spec.ts rename to login/acceptance/tests/username-passkey.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-change-required.spec.ts b/login/acceptance/tests/username-password-change-required.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-change-required.spec.ts rename to login/acceptance/tests/username-password-change-required.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-changed.spec.ts b/login/acceptance/tests/username-password-changed.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-changed.spec.ts rename to login/acceptance/tests/username-password-changed.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-otp_email.spec.ts b/login/acceptance/tests/username-password-otp_email.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-otp_email.spec.ts rename to login/acceptance/tests/username-password-otp_email.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-otp_sms.spec.ts b/login/acceptance/tests/username-password-otp_sms.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-otp_sms.spec.ts rename to login/acceptance/tests/username-password-otp_sms.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-set.spec.ts b/login/acceptance/tests/username-password-set.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-set.spec.ts rename to login/acceptance/tests/username-password-set.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-totp.spec.ts b/login/acceptance/tests/username-password-totp.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-totp.spec.ts rename to login/acceptance/tests/username-password-totp.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password-u2f.spec.ts b/login/acceptance/tests/username-password-u2f.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password-u2f.spec.ts rename to login/acceptance/tests/username-password-u2f.spec.ts diff --git a/login/apps/login-test-acceptance/tests/username-password.spec.ts b/login/acceptance/tests/username-password.spec.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/username-password.spec.ts rename to login/acceptance/tests/username-password.spec.ts diff --git a/login/apps/login-test-acceptance/tests/welcome.ts b/login/acceptance/tests/welcome.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/welcome.ts rename to login/acceptance/tests/welcome.ts diff --git a/login/apps/login-test-acceptance/tests/zitadel.ts b/login/acceptance/tests/zitadel.ts similarity index 100% rename from login/apps/login-test-acceptance/tests/zitadel.ts rename to login/acceptance/tests/zitadel.ts diff --git a/login/apps/login-test-acceptance/turbo.json b/login/acceptance/turbo.json similarity index 100% rename from login/apps/login-test-acceptance/turbo.json rename to login/acceptance/turbo.json diff --git a/login/apps/login-test-acceptance/zitadel.yaml b/login/acceptance/zitadel.yaml similarity index 100% rename from login/apps/login-test-acceptance/zitadel.yaml rename to login/acceptance/zitadel.yaml diff --git a/login/apps/login-test-acceptance/docker-compose.yaml b/login/apps/login-test-acceptance/docker-compose.yaml deleted file mode 100644 index cb0463fdc8..0000000000 --- a/login/apps/login-test-acceptance/docker-compose.yaml +++ /dev/null @@ -1,237 +0,0 @@ -services: - - zitadel: - user: "${UID:-1000}:${GID:-1000}" - image: "${ZITADEL_TAG:-ghcr.io/zitadel/zitadel:latest}" - container_name: acceptance-zitadel - command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --config /zitadel.yaml --steps /zitadel.yaml' - labels: - - "traefik.enable=true" - - "traefik.http.routers.zitadel.rule=!PathPrefix(`/ui/v2/login`)" - # - "traefik.http.middlewares.zitadel.headers.customrequestheaders.Host=localhost" -# - "traefik.http.routers.zitadel.middlewares=zitadel@docker" - - "traefik.http.services.zitadel-service.loadbalancer.server.scheme=h2c" - ports: - - "8080:8080" - volumes: - - ./pat:/pat - - ./zitadel.yaml:/zitadel.yaml - depends_on: - db: - condition: "service_healthy" - - db: - restart: "always" - image: ${LOGIN_TEST_ACCEPTANCE_POSTGES_TAG:-postgres:17.0-alpine3.19} - container_name: acceptance-db - environment: - - POSTGRES_USER=zitadel - - PGUSER=zitadel - - POSTGRES_DB=zitadel - - POSTGRES_HOST_AUTH_METHOD=trust - command: postgres -c shared_preload_libraries=pg_stat_statements -c pg_stat_statements.track=all -c shared_buffers=1GB -c work_mem=16MB -c effective_io_concurrency=100 -c wal_level=minimal -c archive_mode=off -c max_wal_senders=0 - healthcheck: - test: ["CMD-SHELL", "pg_isready"] - interval: "10s" - timeout: "30s" - retries: 5 - start_period: "20s" - ports: - - "5432:5432" - - wait-for-zitadel: - image: curlimages/curl:8.00.1 - container_name: acceptance-wait-for-zitadel - command: /bin/sh -c "until curl -s -o /dev/null -i -f http://zitadel:8080/debug/ready; do echo 'waiting' && sleep 1; done; echo 'ready' && sleep 5;" || false - depends_on: - - zitadel - - traefik: - image: "traefik:v3.4" - container_name: "acceptance-traefik" - labels: - - "traefik.enable=true" - - "traefik.http.routers.login.rule=PathPrefix(`/ui/v2/login`)" - - "traefik.http.services.login-service.loadbalancer.server.url=http://host.docker.internal:3000" - command: -# - "--log.level=DEBUG" - - "--ping" - - "--api.insecure=true" - - "--providers.docker=true" - - "--providers.docker.exposedbydefault=false" - - "--entrypoints.websecure.http.tls=true" - - "--entryPoints.websecure.address=:443" - healthcheck: - test: ["CMD", "traefik", "healthcheck", "--ping"] - interval: "10s" - timeout: "30s" - retries: 5 - start_period: "20s" - ports: - - "443:443" - - "8090:8080" - volumes: - - "/var/run/docker.sock:/var/run/docker.sock:ro" - extra_hosts: - - host.docker.internal:host-gateway - - setup: - user: "${UID:-1000}:${GID:-1000}" - image: ${LOGIN_TEST_ACCEPTANCE_SETUP_TAG:-login-test-acceptance-setup:local} - container_name: acceptance-setup - restart: no - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/setup" - dockerfile: ../go-command.Dockerfile - entrypoint: "./setup.sh" - environment: - PAT_FILE: /pat/zitadel-admin-sa.pat - ZITADEL_API_INTERNAL_URL: http://zitadel:8080 - WRITE_ENVIRONMENT_FILE: /login-env/.env.test.local - SINK_EMAIL_INTERNAL_URL: http://sink:3333/email - SINK_SMS_INTERNAL_URL: http://sink:3333/sms - SINK_NOTIFICATION_URL: http://localhost:3333/notification - LOGIN_BASE_URL: https://127.0.0.1.sslip.io/ui/v2/login/ - ZITADEL_API_URL: https://127.0.0.1.sslip.io - ZITADEL_API_DOMAIN: 127.0.0.1.sslip.io - ZITADEL_ADMIN_USER: zitadel-admin@zitadel.127.0.0.1.sslip.io - volumes: - - ./pat:/pat # Read the PAT file from zitadels setup - - ../login:/login-env # Write the environment variables file for the login - depends_on: - traefik: - condition: "service_healthy" - wait-for-zitadel: - condition: "service_completed_successfully" - - sink: - image: ${LOGIN_TEST_ACCEPTANCE_SINK_TAG:-login-test-acceptance-sink:local} - container_name: acceptance-sink - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/sink" - dockerfile: ../go-command.Dockerfile - args: - - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} - environment: - PORT: '3333' - command: - - -port - - '3333' - - -email - - '/email' - - -sms - - '/sms' - - -notification - - '/notification' - ports: - - "3333:3333" - depends_on: - setup: - condition: "service_completed_successfully" - - oidcrp: - user: "${UID:-1000}:${GID:-1000}" - image: ${LOGIN_TEST_ACCEPTANCE_OIDCRP_TAG:-login-test-acceptance-oidcrp:local} - container_name: acceptance-oidcrp - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/oidcrp" - dockerfile: ../go-command.Dockerfile - args: - - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} - environment: - API_URL: 'http://traefik' - API_DOMAIN: 'traefik' - PAT_FILE: '/pat/zitadel-admin-sa.pat' - LOGIN_URL: 'https://traefik/ui/v2/login' - ISSUER: 'https://traefik' - HOST: 'traefik' - PORT: '8000' - SCOPES: 'openid profile email' - ports: - - "8000:8000" - volumes: - - "./pat:/pat" - depends_on: - traefik: - condition: "service_healthy" - setup: - condition: "service_completed_successfully" - - oidcop: - user: "${UID:-1000}:${GID:-1000}" - image: ${LOGIN_TEST_ACCEPTANCE_OIDCOP_TAG:-login-test-acceptance-oidcop:local} - container_name: acceptance-oidcop - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/oidc" - dockerfile: ../../go-command.Dockerfile - args: - - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} - environment: - API_URL: 'http://traefik' - API_DOMAIN: 'traefik' - PAT_FILE: '/pat/zitadel-admin-sa.pat' - SCHEMA: 'https' - HOST: 'traefik' - PORT: "8004" - ports: - - 8004:8004 - volumes: - - "./pat:/pat" - depends_on: - traefik: - condition: "service_healthy" - setup: - condition: "service_completed_successfully" - - samlsp: - user: "${UID:-1000}:${GID:-1000}" - image: "${LOGIN_TEST_ACCEPTANCE_SAMLSP_TAG:-login-test-acceptance-samlsp:local}" - container_name: acceptance-samlsp - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/samlsp" - dockerfile: ../go-command.Dockerfile - args: - - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} - environment: - API_URL: 'http://traefik' - API_DOMAIN: 'traefik' - PAT_FILE: '/pat/zitadel-admin-sa.pat' - LOGIN_URL: 'https://traefik/ui/v2/login' - IDP_URL: 'http://zitadel:8080/saml/v2/metadata' - HOST: 'https://traefik' - PORT: '8001' - ports: - - 8001:8001 - volumes: - - "./pat:/pat" - depends_on: - traefik: - condition: "service_healthy" - setup: - condition: "service_completed_successfully" - - samlidp: - user: "${UID:-1000}:${GID:-1000}" - image: "${LOGIN_TEST_ACCEPTANCE_SAMLIDP_TAG:-login-test-acceptance-samlidp:local}" - container_name: acceptance-samlidp - build: - context: "${LOGIN_TEST_ACCEPTANCE_BUILD_CONTEXT:-.}/idp/saml" - dockerfile: ../../go-command.Dockerfile - args: - - LOGIN_TEST_ACCEPTANCE_GOLANG_TAG=${LOGIN_TEST_ACCEPTANCE_GOLANG_TAG:-golang:1.24-alpine} - environment: - API_URL: 'http://traefik:8080' - API_DOMAIN: 'traefik' - PAT_FILE: '/pat/zitadel-admin-sa.pat' - SCHEMA: 'https' - HOST: 'traefik' - PORT: "8003" - ports: - - 8003:8003 - volumes: - - "./pat:/pat" - depends_on: - traefik: - condition: "service_healthy" - setup: - condition: "service_completed_successfully" diff --git a/login/apps/login/.eslintrc.cjs b/login/apps/login/.eslintrc.cjs deleted file mode 100644 index 76ad0c10d8..0000000000 --- a/login/apps/login/.eslintrc.cjs +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - parser: "@typescript-eslint/parser", - extends: ["next", "prettier"], - plugins: ["@typescript-eslint"], - rules: { - "@next/next/no-html-link-for-pages": "off", - "@next/next/no-img-element": "off", - "react/no-unescaped-entities": "off", - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], - "no-undef": "off", - }, - parserOptions: { - ecmaVersion: "latest", - sourceType: "module", - ecmaFeatures: { - jsx: true, - }, - project: "./tsconfig.json", - }, -}; diff --git a/login/apps/login/.gitignore b/login/apps/login/.gitignore deleted file mode 100644 index f1327fd22b..0000000000 --- a/login/apps/login/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -custom-config.js -.env*.local -standalone - -# Generated standalone files (temporary) -*.generated.* -package.monorepo.backup.json - -# TypeScript build info -tsconfig.tsbuildinfo diff --git a/login/apps/login/.prettierignore b/login/apps/login/.prettierignore deleted file mode 100644 index dbcbbd11d1..0000000000 --- a/login/apps/login/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -.next -/external \ No newline at end of file diff --git a/login/apps/login/test-setup.ts b/login/apps/login/test-setup.ts deleted file mode 100644 index f149f27ae4..0000000000 --- a/login/apps/login/test-setup.ts +++ /dev/null @@ -1 +0,0 @@ -import "@testing-library/jest-dom/vitest"; diff --git a/login/apps/login/constants/csp.js b/login/constants/csp.js similarity index 100% rename from login/apps/login/constants/csp.js rename to login/constants/csp.js diff --git a/login/integration/.eslintrc.cjs b/login/integration/.eslintrc.cjs new file mode 100644 index 0000000000..84711c5881 --- /dev/null +++ b/login/integration/.eslintrc.cjs @@ -0,0 +1,10 @@ +module.exports = { + root: true, + // Use basic ESLint config since the login app has its own detailed config + extends: ["eslint:recommended"], + settings: { + next: { + rootDir: ["apps/*/"], + }, + }, +}; diff --git a/login/apps/login-test-integration/.gitignore b/login/integration/.gitignore similarity index 100% rename from login/apps/login-test-integration/.gitignore rename to login/integration/.gitignore diff --git a/login/apps/login-test-integration/core-mock/Dockerfile b/login/integration/core-mock/Dockerfile similarity index 100% rename from login/apps/login-test-integration/core-mock/Dockerfile rename to login/integration/core-mock/Dockerfile diff --git a/login/apps/login-test-integration/core-mock/initial-stubs/zitadel.settings.v2.SettingsService.json b/login/integration/core-mock/initial-stubs/zitadel.settings.v2.SettingsService.json similarity index 100% rename from login/apps/login-test-integration/core-mock/initial-stubs/zitadel.settings.v2.SettingsService.json rename to login/integration/core-mock/initial-stubs/zitadel.settings.v2.SettingsService.json diff --git a/login/apps/login-test-integration/core-mock/mocked-services.cfg b/login/integration/core-mock/mocked-services.cfg similarity index 100% rename from login/apps/login-test-integration/core-mock/mocked-services.cfg rename to login/integration/core-mock/mocked-services.cfg diff --git a/login/apps/login-test-integration/cypress.config.ts b/login/integration/cypress.config.ts similarity index 100% rename from login/apps/login-test-integration/cypress.config.ts rename to login/integration/cypress.config.ts diff --git a/login/apps/login-test-integration/docker-compose.yaml b/login/integration/docker-compose.yaml similarity index 100% rename from login/apps/login-test-integration/docker-compose.yaml rename to login/integration/docker-compose.yaml diff --git a/login/apps/login-test-integration/fixtures/example.json b/login/integration/fixtures/example.json similarity index 100% rename from login/apps/login-test-integration/fixtures/example.json rename to login/integration/fixtures/example.json diff --git a/login/apps/login-test-integration/integration/invite.cy.ts b/login/integration/integration/invite.cy.ts similarity index 100% rename from login/apps/login-test-integration/integration/invite.cy.ts rename to login/integration/integration/invite.cy.ts diff --git a/login/apps/login-test-integration/integration/login.cy.ts b/login/integration/integration/login.cy.ts similarity index 100% rename from login/apps/login-test-integration/integration/login.cy.ts rename to login/integration/integration/login.cy.ts diff --git a/login/apps/login-test-integration/integration/register-idp.cy.ts b/login/integration/integration/register-idp.cy.ts similarity index 100% rename from login/apps/login-test-integration/integration/register-idp.cy.ts rename to login/integration/integration/register-idp.cy.ts diff --git a/login/apps/login-test-integration/integration/register.cy.ts b/login/integration/integration/register.cy.ts similarity index 100% rename from login/apps/login-test-integration/integration/register.cy.ts rename to login/integration/integration/register.cy.ts diff --git a/login/apps/login-test-integration/integration/verify.cy.ts b/login/integration/integration/verify.cy.ts similarity index 100% rename from login/apps/login-test-integration/integration/verify.cy.ts rename to login/integration/integration/verify.cy.ts diff --git a/login/apps/login-test-integration/package.json b/login/integration/package.json similarity index 100% rename from login/apps/login-test-integration/package.json rename to login/integration/package.json diff --git a/login/apps/login-test-integration/support/e2e.ts b/login/integration/support/e2e.ts similarity index 100% rename from login/apps/login-test-integration/support/e2e.ts rename to login/integration/support/e2e.ts diff --git a/login/apps/login-test-integration/tsconfig.json b/login/integration/tsconfig.json similarity index 100% rename from login/apps/login-test-integration/tsconfig.json rename to login/integration/tsconfig.json diff --git a/login/apps/login-test-integration/turbo.json b/login/integration/turbo.json similarity index 100% rename from login/apps/login-test-integration/turbo.json rename to login/integration/turbo.json diff --git a/login/apps/login/locales/de.json b/login/locales/de.json similarity index 100% rename from login/apps/login/locales/de.json rename to login/locales/de.json diff --git a/login/apps/login/locales/en.json b/login/locales/en.json similarity index 100% rename from login/apps/login/locales/en.json rename to login/locales/en.json diff --git a/login/apps/login/locales/es.json b/login/locales/es.json similarity index 100% rename from login/apps/login/locales/es.json rename to login/locales/es.json diff --git a/login/apps/login/locales/it.json b/login/locales/it.json similarity index 100% rename from login/apps/login/locales/it.json rename to login/locales/it.json diff --git a/login/apps/login/locales/pl.json b/login/locales/pl.json similarity index 100% rename from login/apps/login/locales/pl.json rename to login/locales/pl.json diff --git a/login/apps/login/locales/ru.json b/login/locales/ru.json similarity index 100% rename from login/apps/login/locales/ru.json rename to login/locales/ru.json diff --git a/login/apps/login/locales/zh.json b/login/locales/zh.json similarity index 100% rename from login/apps/login/locales/zh.json rename to login/locales/zh.json diff --git a/login/meta.json b/login/meta.json deleted file mode 100644 index 2c443f76cf..0000000000 --- a/login/meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "ZITADEL typescript Monorepo with Changesets", - "description": "ZITADEL typescript monorepo preconfigured to publish packages via Changesets" -} diff --git a/login/apps/login/next-env-vars.d.ts b/login/next-env-vars.d.ts similarity index 100% rename from login/apps/login/next-env-vars.d.ts rename to login/next-env-vars.d.ts diff --git a/login/apps/login/next-env.d.ts b/login/next-env.d.ts similarity index 100% rename from login/apps/login/next-env.d.ts rename to login/next-env.d.ts diff --git a/login/apps/login/next.config.mjs b/login/next.config.mjs similarity index 100% rename from login/apps/login/next.config.mjs rename to login/next.config.mjs diff --git a/login/apps/login/package.json b/login/package.json similarity index 95% rename from login/apps/login/package.json rename to login/package.json index 655aeb8f28..c42fcb122e 100644 --- a/login/apps/login/package.json +++ b/login/package.json @@ -1,4 +1,5 @@ { + "packageManager": "pnpm@9.1.2+sha256.19c17528f9ca20bd442e4ca42f00f1b9808a9cb419383cd04ba32ef19322aba7", "name": "@zitadel/login", "private": true, "type": "module", diff --git a/login/pnpm-workspace.yaml b/login/pnpm-workspace.yaml new file mode 100644 index 0000000000..43ef8ed781 --- /dev/null +++ b/login/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +packages: + - "." + - "integration" + - "acceptance" diff --git a/login/apps/login/postcss.config.cjs b/login/postcss.config.cjs similarity index 100% rename from login/apps/login/postcss.config.cjs rename to login/postcss.config.cjs diff --git a/login/apps/login/prettier.config.mjs b/login/prettier.config.mjs similarity index 100% rename from login/apps/login/prettier.config.mjs rename to login/prettier.config.mjs diff --git a/login/apps/login/public/checkbox.svg b/login/public/checkbox.svg similarity index 100% rename from login/apps/login/public/checkbox.svg rename to login/public/checkbox.svg diff --git a/login/apps/login/public/favicon.ico b/login/public/favicon.ico similarity index 100% rename from login/apps/login/public/favicon.ico rename to login/public/favicon.ico diff --git a/login/apps/login/public/favicon/android-chrome-192x192.png b/login/public/favicon/android-chrome-192x192.png similarity index 100% rename from login/apps/login/public/favicon/android-chrome-192x192.png rename to login/public/favicon/android-chrome-192x192.png diff --git a/login/apps/login/public/favicon/android-chrome-512x512.png b/login/public/favicon/android-chrome-512x512.png similarity index 100% rename from login/apps/login/public/favicon/android-chrome-512x512.png rename to login/public/favicon/android-chrome-512x512.png diff --git a/login/apps/login/public/favicon/apple-touch-icon.png b/login/public/favicon/apple-touch-icon.png similarity index 100% rename from login/apps/login/public/favicon/apple-touch-icon.png rename to login/public/favicon/apple-touch-icon.png diff --git a/login/apps/login/public/favicon/browserconfig.xml b/login/public/favicon/browserconfig.xml similarity index 100% rename from login/apps/login/public/favicon/browserconfig.xml rename to login/public/favicon/browserconfig.xml diff --git a/login/apps/login/public/favicon/favicon-16x16.png b/login/public/favicon/favicon-16x16.png similarity index 100% rename from login/apps/login/public/favicon/favicon-16x16.png rename to login/public/favicon/favicon-16x16.png diff --git a/login/apps/login/public/favicon/favicon-32x32.png b/login/public/favicon/favicon-32x32.png similarity index 100% rename from login/apps/login/public/favicon/favicon-32x32.png rename to login/public/favicon/favicon-32x32.png diff --git a/login/apps/login/public/favicon/favicon.ico b/login/public/favicon/favicon.ico similarity index 100% rename from login/apps/login/public/favicon/favicon.ico rename to login/public/favicon/favicon.ico diff --git a/login/apps/login/public/favicon/mstile-150x150.png b/login/public/favicon/mstile-150x150.png similarity index 100% rename from login/apps/login/public/favicon/mstile-150x150.png rename to login/public/favicon/mstile-150x150.png diff --git a/login/apps/login/public/favicon/site.webmanifest b/login/public/favicon/site.webmanifest similarity index 100% rename from login/apps/login/public/favicon/site.webmanifest rename to login/public/favicon/site.webmanifest diff --git a/login/apps/login/public/grid-dark.svg b/login/public/grid-dark.svg similarity index 100% rename from login/apps/login/public/grid-dark.svg rename to login/public/grid-dark.svg diff --git a/login/apps/login/public/grid-light.svg b/login/public/grid-light.svg similarity index 100% rename from login/apps/login/public/grid-light.svg rename to login/public/grid-light.svg diff --git a/login/apps/login/public/logo/zitadel-logo-solo-darkdesign.svg b/login/public/logo/zitadel-logo-solo-darkdesign.svg similarity index 100% rename from login/apps/login/public/logo/zitadel-logo-solo-darkdesign.svg rename to login/public/logo/zitadel-logo-solo-darkdesign.svg diff --git a/login/apps/login/public/logo/zitadel-logo-solo-lightdesign.svg b/login/public/logo/zitadel-logo-solo-lightdesign.svg similarity index 100% rename from login/apps/login/public/logo/zitadel-logo-solo-lightdesign.svg rename to login/public/logo/zitadel-logo-solo-lightdesign.svg diff --git a/login/apps/login/public/zitadel-logo-dark.svg b/login/public/zitadel-logo-dark.svg similarity index 100% rename from login/apps/login/public/zitadel-logo-dark.svg rename to login/public/zitadel-logo-dark.svg diff --git a/login/apps/login/public/zitadel-logo-light.svg b/login/public/zitadel-logo-light.svg similarity index 100% rename from login/apps/login/public/zitadel-logo-light.svg rename to login/public/zitadel-logo-light.svg diff --git a/login/apps/login/readme.md b/login/readme.md similarity index 100% rename from login/apps/login/readme.md rename to login/readme.md diff --git a/login/apps/login/screenshots/accounts.png b/login/screenshots/accounts.png similarity index 100% rename from login/apps/login/screenshots/accounts.png rename to login/screenshots/accounts.png diff --git a/login/apps/login/screenshots/accounts_jumpto.png b/login/screenshots/accounts_jumpto.png similarity index 100% rename from login/apps/login/screenshots/accounts_jumpto.png rename to login/screenshots/accounts_jumpto.png diff --git a/login/apps/login/screenshots/collage.png b/login/screenshots/collage.png similarity index 100% rename from login/apps/login/screenshots/collage.png rename to login/screenshots/collage.png diff --git a/login/apps/login/screenshots/idp.png b/login/screenshots/idp.png similarity index 100% rename from login/apps/login/screenshots/idp.png rename to login/screenshots/idp.png diff --git a/login/apps/login/screenshots/loginname.png b/login/screenshots/loginname.png similarity index 100% rename from login/apps/login/screenshots/loginname.png rename to login/screenshots/loginname.png diff --git a/login/apps/login/screenshots/mfa.png b/login/screenshots/mfa.png similarity index 100% rename from login/apps/login/screenshots/mfa.png rename to login/screenshots/mfa.png diff --git a/login/apps/login/screenshots/mfaset.png b/login/screenshots/mfaset.png similarity index 100% rename from login/apps/login/screenshots/mfaset.png rename to login/screenshots/mfaset.png diff --git a/login/apps/login/screenshots/otp.png b/login/screenshots/otp.png similarity index 100% rename from login/apps/login/screenshots/otp.png rename to login/screenshots/otp.png diff --git a/login/apps/login/screenshots/otpset.png b/login/screenshots/otpset.png similarity index 100% rename from login/apps/login/screenshots/otpset.png rename to login/screenshots/otpset.png diff --git a/login/apps/login/screenshots/passkey.png b/login/screenshots/passkey.png similarity index 100% rename from login/apps/login/screenshots/passkey.png rename to login/screenshots/passkey.png diff --git a/login/apps/login/screenshots/password.png b/login/screenshots/password.png similarity index 100% rename from login/apps/login/screenshots/password.png rename to login/screenshots/password.png diff --git a/login/apps/login/screenshots/password_change.png b/login/screenshots/password_change.png similarity index 100% rename from login/apps/login/screenshots/password_change.png rename to login/screenshots/password_change.png diff --git a/login/apps/login/screenshots/password_set.png b/login/screenshots/password_set.png similarity index 100% rename from login/apps/login/screenshots/password_set.png rename to login/screenshots/password_set.png diff --git a/login/apps/login/screenshots/register.png b/login/screenshots/register.png similarity index 100% rename from login/apps/login/screenshots/register.png rename to login/screenshots/register.png diff --git a/login/apps/login/screenshots/register_password.png b/login/screenshots/register_password.png similarity index 100% rename from login/apps/login/screenshots/register_password.png rename to login/screenshots/register_password.png diff --git a/login/apps/login/screenshots/signedin.png b/login/screenshots/signedin.png similarity index 100% rename from login/apps/login/screenshots/signedin.png rename to login/screenshots/signedin.png diff --git a/login/apps/login/screenshots/u2f.png b/login/screenshots/u2f.png similarity index 100% rename from login/apps/login/screenshots/u2f.png rename to login/screenshots/u2f.png diff --git a/login/apps/login/screenshots/u2fset.png b/login/screenshots/u2fset.png similarity index 100% rename from login/apps/login/screenshots/u2fset.png rename to login/screenshots/u2fset.png diff --git a/login/apps/login/screenshots/verify.png b/login/screenshots/verify.png similarity index 100% rename from login/apps/login/screenshots/verify.png rename to login/screenshots/verify.png diff --git a/login/apps/login/src/app/(login)/accounts/page.tsx b/login/src/app/(login)/accounts/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/accounts/page.tsx rename to login/src/app/(login)/accounts/page.tsx diff --git a/login/apps/login/src/app/(login)/authenticator/set/page.tsx b/login/src/app/(login)/authenticator/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/authenticator/set/page.tsx rename to login/src/app/(login)/authenticator/set/page.tsx diff --git a/login/apps/login/src/app/(login)/device/consent/page.tsx b/login/src/app/(login)/device/consent/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/device/consent/page.tsx rename to login/src/app/(login)/device/consent/page.tsx diff --git a/login/apps/login/src/app/(login)/device/page.tsx b/login/src/app/(login)/device/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/device/page.tsx rename to login/src/app/(login)/device/page.tsx diff --git a/login/apps/login/src/app/(login)/error.tsx b/login/src/app/(login)/error.tsx similarity index 100% rename from login/apps/login/src/app/(login)/error.tsx rename to login/src/app/(login)/error.tsx diff --git a/login/apps/login/src/app/(login)/idp/[provider]/failure/page.tsx b/login/src/app/(login)/idp/[provider]/failure/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/idp/[provider]/failure/page.tsx rename to login/src/app/(login)/idp/[provider]/failure/page.tsx diff --git a/login/apps/login/src/app/(login)/idp/[provider]/success/page.tsx b/login/src/app/(login)/idp/[provider]/success/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/idp/[provider]/success/page.tsx rename to login/src/app/(login)/idp/[provider]/success/page.tsx diff --git a/login/apps/login/src/app/(login)/idp/ldap/page.tsx b/login/src/app/(login)/idp/ldap/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/idp/ldap/page.tsx rename to login/src/app/(login)/idp/ldap/page.tsx diff --git a/login/apps/login/src/app/(login)/idp/page.tsx b/login/src/app/(login)/idp/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/idp/page.tsx rename to login/src/app/(login)/idp/page.tsx diff --git a/login/apps/login/src/app/(login)/layout.tsx b/login/src/app/(login)/layout.tsx similarity index 100% rename from login/apps/login/src/app/(login)/layout.tsx rename to login/src/app/(login)/layout.tsx diff --git a/login/apps/login/src/app/(login)/loginname/page.tsx b/login/src/app/(login)/loginname/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/loginname/page.tsx rename to login/src/app/(login)/loginname/page.tsx diff --git a/login/apps/login/src/app/(login)/logout/page.tsx b/login/src/app/(login)/logout/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/logout/page.tsx rename to login/src/app/(login)/logout/page.tsx diff --git a/login/apps/login/src/app/(login)/logout/success/page.tsx b/login/src/app/(login)/logout/success/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/logout/success/page.tsx rename to login/src/app/(login)/logout/success/page.tsx diff --git a/login/apps/login/src/app/(login)/mfa/page.tsx b/login/src/app/(login)/mfa/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/mfa/page.tsx rename to login/src/app/(login)/mfa/page.tsx diff --git a/login/apps/login/src/app/(login)/mfa/set/page.tsx b/login/src/app/(login)/mfa/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/mfa/set/page.tsx rename to login/src/app/(login)/mfa/set/page.tsx diff --git a/login/apps/login/src/app/(login)/otp/[method]/page.tsx b/login/src/app/(login)/otp/[method]/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/otp/[method]/page.tsx rename to login/src/app/(login)/otp/[method]/page.tsx diff --git a/login/apps/login/src/app/(login)/otp/[method]/set/page.tsx b/login/src/app/(login)/otp/[method]/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/otp/[method]/set/page.tsx rename to login/src/app/(login)/otp/[method]/set/page.tsx diff --git a/login/apps/login/src/app/(login)/page.tsx b/login/src/app/(login)/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/page.tsx rename to login/src/app/(login)/page.tsx diff --git a/login/apps/login/src/app/(login)/passkey/page.tsx b/login/src/app/(login)/passkey/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/passkey/page.tsx rename to login/src/app/(login)/passkey/page.tsx diff --git a/login/apps/login/src/app/(login)/passkey/set/page.tsx b/login/src/app/(login)/passkey/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/passkey/set/page.tsx rename to login/src/app/(login)/passkey/set/page.tsx diff --git a/login/apps/login/src/app/(login)/password/change/page.tsx b/login/src/app/(login)/password/change/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/password/change/page.tsx rename to login/src/app/(login)/password/change/page.tsx diff --git a/login/apps/login/src/app/(login)/password/page.tsx b/login/src/app/(login)/password/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/password/page.tsx rename to login/src/app/(login)/password/page.tsx diff --git a/login/apps/login/src/app/(login)/password/set/page.tsx b/login/src/app/(login)/password/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/password/set/page.tsx rename to login/src/app/(login)/password/set/page.tsx diff --git a/login/apps/login/src/app/(login)/register/page.tsx b/login/src/app/(login)/register/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/register/page.tsx rename to login/src/app/(login)/register/page.tsx diff --git a/login/apps/login/src/app/(login)/register/password/page.tsx b/login/src/app/(login)/register/password/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/register/password/page.tsx rename to login/src/app/(login)/register/password/page.tsx diff --git a/login/apps/login/src/app/(login)/saml-post/route.ts b/login/src/app/(login)/saml-post/route.ts similarity index 100% rename from login/apps/login/src/app/(login)/saml-post/route.ts rename to login/src/app/(login)/saml-post/route.ts diff --git a/login/apps/login/src/app/(login)/signedin/page.tsx b/login/src/app/(login)/signedin/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/signedin/page.tsx rename to login/src/app/(login)/signedin/page.tsx diff --git a/login/apps/login/src/app/(login)/u2f/page.tsx b/login/src/app/(login)/u2f/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/u2f/page.tsx rename to login/src/app/(login)/u2f/page.tsx diff --git a/login/apps/login/src/app/(login)/u2f/set/page.tsx b/login/src/app/(login)/u2f/set/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/u2f/set/page.tsx rename to login/src/app/(login)/u2f/set/page.tsx diff --git a/login/apps/login/src/app/(login)/verify/page.tsx b/login/src/app/(login)/verify/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/verify/page.tsx rename to login/src/app/(login)/verify/page.tsx diff --git a/login/apps/login/src/app/(login)/verify/success/page.tsx b/login/src/app/(login)/verify/success/page.tsx similarity index 100% rename from login/apps/login/src/app/(login)/verify/success/page.tsx rename to login/src/app/(login)/verify/success/page.tsx diff --git a/login/apps/login/src/app/global-error.tsx b/login/src/app/global-error.tsx similarity index 100% rename from login/apps/login/src/app/global-error.tsx rename to login/src/app/global-error.tsx diff --git a/login/apps/login/src/app/healthy/route.ts b/login/src/app/healthy/route.ts similarity index 100% rename from login/apps/login/src/app/healthy/route.ts rename to login/src/app/healthy/route.ts diff --git a/login/apps/login/src/app/login/route.ts b/login/src/app/login/route.ts similarity index 100% rename from login/apps/login/src/app/login/route.ts rename to login/src/app/login/route.ts diff --git a/login/apps/login/src/app/security/route.ts b/login/src/app/security/route.ts similarity index 100% rename from login/apps/login/src/app/security/route.ts rename to login/src/app/security/route.ts diff --git a/login/apps/login/src/components/address-bar.tsx b/login/src/components/address-bar.tsx similarity index 100% rename from login/apps/login/src/components/address-bar.tsx rename to login/src/components/address-bar.tsx diff --git a/login/apps/login/src/components/alert.tsx b/login/src/components/alert.tsx similarity index 100% rename from login/apps/login/src/components/alert.tsx rename to login/src/components/alert.tsx diff --git a/login/apps/login/src/components/app-avatar.tsx b/login/src/components/app-avatar.tsx similarity index 100% rename from login/apps/login/src/components/app-avatar.tsx rename to login/src/components/app-avatar.tsx diff --git a/login/apps/login/src/components/auth-methods.tsx b/login/src/components/auth-methods.tsx similarity index 100% rename from login/apps/login/src/components/auth-methods.tsx rename to login/src/components/auth-methods.tsx diff --git a/login/apps/login/src/components/authentication-method-radio.tsx b/login/src/components/authentication-method-radio.tsx similarity index 100% rename from login/apps/login/src/components/authentication-method-radio.tsx rename to login/src/components/authentication-method-radio.tsx diff --git a/login/apps/login/src/components/avatar.tsx b/login/src/components/avatar.tsx similarity index 100% rename from login/apps/login/src/components/avatar.tsx rename to login/src/components/avatar.tsx diff --git a/login/apps/login/src/components/back-button.tsx b/login/src/components/back-button.tsx similarity index 100% rename from login/apps/login/src/components/back-button.tsx rename to login/src/components/back-button.tsx diff --git a/login/apps/login/src/components/boundary.tsx b/login/src/components/boundary.tsx similarity index 100% rename from login/apps/login/src/components/boundary.tsx rename to login/src/components/boundary.tsx diff --git a/login/apps/login/src/components/button.tsx b/login/src/components/button.tsx similarity index 100% rename from login/apps/login/src/components/button.tsx rename to login/src/components/button.tsx diff --git a/login/apps/login/src/components/change-password-form.tsx b/login/src/components/change-password-form.tsx similarity index 100% rename from login/apps/login/src/components/change-password-form.tsx rename to login/src/components/change-password-form.tsx diff --git a/login/apps/login/src/components/checkbox.tsx b/login/src/components/checkbox.tsx similarity index 100% rename from login/apps/login/src/components/checkbox.tsx rename to login/src/components/checkbox.tsx diff --git a/login/apps/login/src/components/choose-authenticator-to-login.tsx b/login/src/components/choose-authenticator-to-login.tsx similarity index 100% rename from login/apps/login/src/components/choose-authenticator-to-login.tsx rename to login/src/components/choose-authenticator-to-login.tsx diff --git a/login/apps/login/src/components/choose-authenticator-to-setup.tsx b/login/src/components/choose-authenticator-to-setup.tsx similarity index 100% rename from login/apps/login/src/components/choose-authenticator-to-setup.tsx rename to login/src/components/choose-authenticator-to-setup.tsx diff --git a/login/apps/login/src/components/choose-second-factor-to-setup.tsx b/login/src/components/choose-second-factor-to-setup.tsx similarity index 100% rename from login/apps/login/src/components/choose-second-factor-to-setup.tsx rename to login/src/components/choose-second-factor-to-setup.tsx diff --git a/login/apps/login/src/components/choose-second-factor.tsx b/login/src/components/choose-second-factor.tsx similarity index 100% rename from login/apps/login/src/components/choose-second-factor.tsx rename to login/src/components/choose-second-factor.tsx diff --git a/login/apps/login/src/components/consent.tsx b/login/src/components/consent.tsx similarity index 100% rename from login/apps/login/src/components/consent.tsx rename to login/src/components/consent.tsx diff --git a/login/apps/login/src/components/copy-to-clipboard.tsx b/login/src/components/copy-to-clipboard.tsx similarity index 100% rename from login/apps/login/src/components/copy-to-clipboard.tsx rename to login/src/components/copy-to-clipboard.tsx diff --git a/login/apps/login/src/components/default-tags.tsx b/login/src/components/default-tags.tsx similarity index 100% rename from login/apps/login/src/components/default-tags.tsx rename to login/src/components/default-tags.tsx diff --git a/login/apps/login/src/components/device-code-form.tsx b/login/src/components/device-code-form.tsx similarity index 100% rename from login/apps/login/src/components/device-code-form.tsx rename to login/src/components/device-code-form.tsx diff --git a/login/apps/login/src/components/dynamic-theme.tsx b/login/src/components/dynamic-theme.tsx similarity index 100% rename from login/apps/login/src/components/dynamic-theme.tsx rename to login/src/components/dynamic-theme.tsx diff --git a/login/apps/login/src/components/external-link.tsx b/login/src/components/external-link.tsx similarity index 100% rename from login/apps/login/src/components/external-link.tsx rename to login/src/components/external-link.tsx diff --git a/login/apps/login/src/components/idp-signin.tsx b/login/src/components/idp-signin.tsx similarity index 100% rename from login/apps/login/src/components/idp-signin.tsx rename to login/src/components/idp-signin.tsx diff --git a/login/apps/login/src/components/idps/base-button.tsx b/login/src/components/idps/base-button.tsx similarity index 100% rename from login/apps/login/src/components/idps/base-button.tsx rename to login/src/components/idps/base-button.tsx diff --git a/login/apps/login/src/components/idps/pages/complete-idp.tsx b/login/src/components/idps/pages/complete-idp.tsx similarity index 100% rename from login/apps/login/src/components/idps/pages/complete-idp.tsx rename to login/src/components/idps/pages/complete-idp.tsx diff --git a/login/apps/login/src/components/idps/pages/linking-failed.tsx b/login/src/components/idps/pages/linking-failed.tsx similarity index 100% rename from login/apps/login/src/components/idps/pages/linking-failed.tsx rename to login/src/components/idps/pages/linking-failed.tsx diff --git a/login/apps/login/src/components/idps/pages/linking-success.tsx b/login/src/components/idps/pages/linking-success.tsx similarity index 100% rename from login/apps/login/src/components/idps/pages/linking-success.tsx rename to login/src/components/idps/pages/linking-success.tsx diff --git a/login/apps/login/src/components/idps/pages/login-failed.tsx b/login/src/components/idps/pages/login-failed.tsx similarity index 100% rename from login/apps/login/src/components/idps/pages/login-failed.tsx rename to login/src/components/idps/pages/login-failed.tsx diff --git a/login/apps/login/src/components/idps/pages/login-success.tsx b/login/src/components/idps/pages/login-success.tsx similarity index 100% rename from login/apps/login/src/components/idps/pages/login-success.tsx rename to login/src/components/idps/pages/login-success.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-apple.tsx b/login/src/components/idps/sign-in-with-apple.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-apple.tsx rename to login/src/components/idps/sign-in-with-apple.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-azure-ad.tsx b/login/src/components/idps/sign-in-with-azure-ad.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-azure-ad.tsx rename to login/src/components/idps/sign-in-with-azure-ad.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-generic.tsx b/login/src/components/idps/sign-in-with-generic.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-generic.tsx rename to login/src/components/idps/sign-in-with-generic.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-github.tsx b/login/src/components/idps/sign-in-with-github.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-github.tsx rename to login/src/components/idps/sign-in-with-github.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-gitlab.test.tsx b/login/src/components/idps/sign-in-with-gitlab.test.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-gitlab.test.tsx rename to login/src/components/idps/sign-in-with-gitlab.test.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-gitlab.tsx b/login/src/components/idps/sign-in-with-gitlab.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-gitlab.tsx rename to login/src/components/idps/sign-in-with-gitlab.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-google.test.tsx b/login/src/components/idps/sign-in-with-google.test.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-google.test.tsx rename to login/src/components/idps/sign-in-with-google.test.tsx diff --git a/login/apps/login/src/components/idps/sign-in-with-google.tsx b/login/src/components/idps/sign-in-with-google.tsx similarity index 100% rename from login/apps/login/src/components/idps/sign-in-with-google.tsx rename to login/src/components/idps/sign-in-with-google.tsx diff --git a/login/apps/login/src/components/input.tsx b/login/src/components/input.tsx similarity index 100% rename from login/apps/login/src/components/input.tsx rename to login/src/components/input.tsx diff --git a/login/apps/login/src/components/language-provider.tsx b/login/src/components/language-provider.tsx similarity index 100% rename from login/apps/login/src/components/language-provider.tsx rename to login/src/components/language-provider.tsx diff --git a/login/apps/login/src/components/language-switcher.tsx b/login/src/components/language-switcher.tsx similarity index 100% rename from login/apps/login/src/components/language-switcher.tsx rename to login/src/components/language-switcher.tsx diff --git a/login/apps/login/src/components/layout-providers.tsx b/login/src/components/layout-providers.tsx similarity index 100% rename from login/apps/login/src/components/layout-providers.tsx rename to login/src/components/layout-providers.tsx diff --git a/login/apps/login/src/components/ldap-username-password-form.tsx b/login/src/components/ldap-username-password-form.tsx similarity index 100% rename from login/apps/login/src/components/ldap-username-password-form.tsx rename to login/src/components/ldap-username-password-form.tsx diff --git a/login/apps/login/src/components/login-otp.tsx b/login/src/components/login-otp.tsx similarity index 100% rename from login/apps/login/src/components/login-otp.tsx rename to login/src/components/login-otp.tsx diff --git a/login/apps/login/src/components/login-passkey.tsx b/login/src/components/login-passkey.tsx similarity index 100% rename from login/apps/login/src/components/login-passkey.tsx rename to login/src/components/login-passkey.tsx diff --git a/login/apps/login/src/components/logo.tsx b/login/src/components/logo.tsx similarity index 100% rename from login/apps/login/src/components/logo.tsx rename to login/src/components/logo.tsx diff --git a/login/apps/login/src/components/password-complexity.test.tsx b/login/src/components/password-complexity.test.tsx similarity index 100% rename from login/apps/login/src/components/password-complexity.test.tsx rename to login/src/components/password-complexity.test.tsx diff --git a/login/apps/login/src/components/password-complexity.tsx b/login/src/components/password-complexity.tsx similarity index 100% rename from login/apps/login/src/components/password-complexity.tsx rename to login/src/components/password-complexity.tsx diff --git a/login/apps/login/src/components/password-form.tsx b/login/src/components/password-form.tsx similarity index 100% rename from login/apps/login/src/components/password-form.tsx rename to login/src/components/password-form.tsx diff --git a/login/apps/login/src/components/privacy-policy-checkboxes.tsx b/login/src/components/privacy-policy-checkboxes.tsx similarity index 100% rename from login/apps/login/src/components/privacy-policy-checkboxes.tsx rename to login/src/components/privacy-policy-checkboxes.tsx diff --git a/login/apps/login/src/components/register-form-idp-incomplete.tsx b/login/src/components/register-form-idp-incomplete.tsx similarity index 100% rename from login/apps/login/src/components/register-form-idp-incomplete.tsx rename to login/src/components/register-form-idp-incomplete.tsx diff --git a/login/apps/login/src/components/register-form.tsx b/login/src/components/register-form.tsx similarity index 100% rename from login/apps/login/src/components/register-form.tsx rename to login/src/components/register-form.tsx diff --git a/login/apps/login/src/components/register-passkey.tsx b/login/src/components/register-passkey.tsx similarity index 100% rename from login/apps/login/src/components/register-passkey.tsx rename to login/src/components/register-passkey.tsx diff --git a/login/apps/login/src/components/register-u2f.tsx b/login/src/components/register-u2f.tsx similarity index 100% rename from login/apps/login/src/components/register-u2f.tsx rename to login/src/components/register-u2f.tsx diff --git a/login/apps/login/src/components/self-service-menu.tsx b/login/src/components/self-service-menu.tsx similarity index 100% rename from login/apps/login/src/components/self-service-menu.tsx rename to login/src/components/self-service-menu.tsx diff --git a/login/apps/login/src/components/session-clear-item.tsx b/login/src/components/session-clear-item.tsx similarity index 100% rename from login/apps/login/src/components/session-clear-item.tsx rename to login/src/components/session-clear-item.tsx diff --git a/login/apps/login/src/components/session-item.tsx b/login/src/components/session-item.tsx similarity index 100% rename from login/apps/login/src/components/session-item.tsx rename to login/src/components/session-item.tsx diff --git a/login/apps/login/src/components/sessions-clear-list.tsx b/login/src/components/sessions-clear-list.tsx similarity index 100% rename from login/apps/login/src/components/sessions-clear-list.tsx rename to login/src/components/sessions-clear-list.tsx diff --git a/login/apps/login/src/components/sessions-list.tsx b/login/src/components/sessions-list.tsx similarity index 100% rename from login/apps/login/src/components/sessions-list.tsx rename to login/src/components/sessions-list.tsx diff --git a/login/apps/login/src/components/set-password-form.tsx b/login/src/components/set-password-form.tsx similarity index 100% rename from login/apps/login/src/components/set-password-form.tsx rename to login/src/components/set-password-form.tsx diff --git a/login/apps/login/src/components/set-register-password-form.tsx b/login/src/components/set-register-password-form.tsx similarity index 100% rename from login/apps/login/src/components/set-register-password-form.tsx rename to login/src/components/set-register-password-form.tsx diff --git a/login/apps/login/src/components/sign-in-with-idp.tsx b/login/src/components/sign-in-with-idp.tsx similarity index 100% rename from login/apps/login/src/components/sign-in-with-idp.tsx rename to login/src/components/sign-in-with-idp.tsx diff --git a/login/apps/login/src/components/skeleton-card.tsx b/login/src/components/skeleton-card.tsx similarity index 100% rename from login/apps/login/src/components/skeleton-card.tsx rename to login/src/components/skeleton-card.tsx diff --git a/login/apps/login/src/components/skeleton.tsx b/login/src/components/skeleton.tsx similarity index 100% rename from login/apps/login/src/components/skeleton.tsx rename to login/src/components/skeleton.tsx diff --git a/login/apps/login/src/components/spinner.tsx b/login/src/components/spinner.tsx similarity index 100% rename from login/apps/login/src/components/spinner.tsx rename to login/src/components/spinner.tsx diff --git a/login/apps/login/src/components/state-badge.tsx b/login/src/components/state-badge.tsx similarity index 100% rename from login/apps/login/src/components/state-badge.tsx rename to login/src/components/state-badge.tsx diff --git a/login/apps/login/src/components/tab-group.tsx b/login/src/components/tab-group.tsx similarity index 100% rename from login/apps/login/src/components/tab-group.tsx rename to login/src/components/tab-group.tsx diff --git a/login/apps/login/src/components/tab.tsx b/login/src/components/tab.tsx similarity index 100% rename from login/apps/login/src/components/tab.tsx rename to login/src/components/tab.tsx diff --git a/login/apps/login/src/components/theme-provider.tsx b/login/src/components/theme-provider.tsx similarity index 100% rename from login/apps/login/src/components/theme-provider.tsx rename to login/src/components/theme-provider.tsx diff --git a/login/apps/login/src/components/theme-wrapper.tsx b/login/src/components/theme-wrapper.tsx similarity index 100% rename from login/apps/login/src/components/theme-wrapper.tsx rename to login/src/components/theme-wrapper.tsx diff --git a/login/apps/login/src/components/theme.tsx b/login/src/components/theme.tsx similarity index 100% rename from login/apps/login/src/components/theme.tsx rename to login/src/components/theme.tsx diff --git a/login/apps/login/src/components/totp-register.tsx b/login/src/components/totp-register.tsx similarity index 100% rename from login/apps/login/src/components/totp-register.tsx rename to login/src/components/totp-register.tsx diff --git a/login/apps/login/src/components/translated.tsx b/login/src/components/translated.tsx similarity index 100% rename from login/apps/login/src/components/translated.tsx rename to login/src/components/translated.tsx diff --git a/login/apps/login/src/components/user-avatar.tsx b/login/src/components/user-avatar.tsx similarity index 100% rename from login/apps/login/src/components/user-avatar.tsx rename to login/src/components/user-avatar.tsx diff --git a/login/apps/login/src/components/username-form.tsx b/login/src/components/username-form.tsx similarity index 100% rename from login/apps/login/src/components/username-form.tsx rename to login/src/components/username-form.tsx diff --git a/login/apps/login/src/components/verify-form.tsx b/login/src/components/verify-form.tsx similarity index 100% rename from login/apps/login/src/components/verify-form.tsx rename to login/src/components/verify-form.tsx diff --git a/login/apps/login/src/components/zitadel-logo-dark.tsx b/login/src/components/zitadel-logo-dark.tsx similarity index 100% rename from login/apps/login/src/components/zitadel-logo-dark.tsx rename to login/src/components/zitadel-logo-dark.tsx diff --git a/login/apps/login/src/components/zitadel-logo-light.tsx b/login/src/components/zitadel-logo-light.tsx similarity index 100% rename from login/apps/login/src/components/zitadel-logo-light.tsx rename to login/src/components/zitadel-logo-light.tsx diff --git a/login/apps/login/src/components/zitadel-logo.tsx b/login/src/components/zitadel-logo.tsx similarity index 100% rename from login/apps/login/src/components/zitadel-logo.tsx rename to login/src/components/zitadel-logo.tsx diff --git a/login/apps/login/src/helpers/base64.ts b/login/src/helpers/base64.ts similarity index 100% rename from login/apps/login/src/helpers/base64.ts rename to login/src/helpers/base64.ts diff --git a/login/apps/login/src/helpers/colors.ts b/login/src/helpers/colors.ts similarity index 100% rename from login/apps/login/src/helpers/colors.ts rename to login/src/helpers/colors.ts diff --git a/login/apps/login/src/helpers/validators.ts b/login/src/helpers/validators.ts similarity index 100% rename from login/apps/login/src/helpers/validators.ts rename to login/src/helpers/validators.ts diff --git a/login/apps/login/src/i18n/request.ts b/login/src/i18n/request.ts similarity index 100% rename from login/apps/login/src/i18n/request.ts rename to login/src/i18n/request.ts diff --git a/login/apps/login/src/lib/api.ts b/login/src/lib/api.ts similarity index 100% rename from login/apps/login/src/lib/api.ts rename to login/src/lib/api.ts diff --git a/login/apps/login/src/lib/client.ts b/login/src/lib/client.ts similarity index 100% rename from login/apps/login/src/lib/client.ts rename to login/src/lib/client.ts diff --git a/login/apps/login/src/lib/cookies.ts b/login/src/lib/cookies.ts similarity index 100% rename from login/apps/login/src/lib/cookies.ts rename to login/src/lib/cookies.ts diff --git a/login/apps/login/src/lib/demos.ts b/login/src/lib/demos.ts similarity index 100% rename from login/apps/login/src/lib/demos.ts rename to login/src/lib/demos.ts diff --git a/login/apps/login/src/lib/fingerprint.ts b/login/src/lib/fingerprint.ts similarity index 100% rename from login/apps/login/src/lib/fingerprint.ts rename to login/src/lib/fingerprint.ts diff --git a/login/apps/login/src/lib/i18n.ts b/login/src/lib/i18n.ts similarity index 100% rename from login/apps/login/src/lib/i18n.ts rename to login/src/lib/i18n.ts diff --git a/login/apps/login/src/lib/idp.ts b/login/src/lib/idp.ts similarity index 100% rename from login/apps/login/src/lib/idp.ts rename to login/src/lib/idp.ts diff --git a/login/apps/login/src/lib/oidc.ts b/login/src/lib/oidc.ts similarity index 100% rename from login/apps/login/src/lib/oidc.ts rename to login/src/lib/oidc.ts diff --git a/login/apps/login/src/lib/saml.ts b/login/src/lib/saml.ts similarity index 100% rename from login/apps/login/src/lib/saml.ts rename to login/src/lib/saml.ts diff --git a/login/apps/login/src/lib/self.ts b/login/src/lib/self.ts similarity index 100% rename from login/apps/login/src/lib/self.ts rename to login/src/lib/self.ts diff --git a/login/apps/login/src/lib/server/cookie.ts b/login/src/lib/server/cookie.ts similarity index 100% rename from login/apps/login/src/lib/server/cookie.ts rename to login/src/lib/server/cookie.ts diff --git a/login/apps/login/src/lib/server/device.ts b/login/src/lib/server/device.ts similarity index 100% rename from login/apps/login/src/lib/server/device.ts rename to login/src/lib/server/device.ts diff --git a/login/apps/login/src/lib/server/idp.ts b/login/src/lib/server/idp.ts similarity index 100% rename from login/apps/login/src/lib/server/idp.ts rename to login/src/lib/server/idp.ts diff --git a/login/apps/login/src/lib/server/loginname.ts b/login/src/lib/server/loginname.ts similarity index 100% rename from login/apps/login/src/lib/server/loginname.ts rename to login/src/lib/server/loginname.ts diff --git a/login/apps/login/src/lib/server/oidc.ts b/login/src/lib/server/oidc.ts similarity index 100% rename from login/apps/login/src/lib/server/oidc.ts rename to login/src/lib/server/oidc.ts diff --git a/login/apps/login/src/lib/server/otp.ts b/login/src/lib/server/otp.ts similarity index 100% rename from login/apps/login/src/lib/server/otp.ts rename to login/src/lib/server/otp.ts diff --git a/login/apps/login/src/lib/server/passkeys.ts b/login/src/lib/server/passkeys.ts similarity index 100% rename from login/apps/login/src/lib/server/passkeys.ts rename to login/src/lib/server/passkeys.ts diff --git a/login/apps/login/src/lib/server/password.ts b/login/src/lib/server/password.ts similarity index 100% rename from login/apps/login/src/lib/server/password.ts rename to login/src/lib/server/password.ts diff --git a/login/apps/login/src/lib/server/register.ts b/login/src/lib/server/register.ts similarity index 100% rename from login/apps/login/src/lib/server/register.ts rename to login/src/lib/server/register.ts diff --git a/login/apps/login/src/lib/server/session.ts b/login/src/lib/server/session.ts similarity index 100% rename from login/apps/login/src/lib/server/session.ts rename to login/src/lib/server/session.ts diff --git a/login/apps/login/src/lib/server/u2f.ts b/login/src/lib/server/u2f.ts similarity index 100% rename from login/apps/login/src/lib/server/u2f.ts rename to login/src/lib/server/u2f.ts diff --git a/login/apps/login/src/lib/server/verify.ts b/login/src/lib/server/verify.ts similarity index 100% rename from login/apps/login/src/lib/server/verify.ts rename to login/src/lib/server/verify.ts diff --git a/login/apps/login/src/lib/service-url.ts b/login/src/lib/service-url.ts similarity index 100% rename from login/apps/login/src/lib/service-url.ts rename to login/src/lib/service-url.ts diff --git a/login/apps/login/src/lib/service.ts b/login/src/lib/service.ts similarity index 100% rename from login/apps/login/src/lib/service.ts rename to login/src/lib/service.ts diff --git a/login/apps/login/src/lib/session.ts b/login/src/lib/session.ts similarity index 100% rename from login/apps/login/src/lib/session.ts rename to login/src/lib/session.ts diff --git a/login/apps/login/src/lib/verify-helper.ts b/login/src/lib/verify-helper.ts similarity index 100% rename from login/apps/login/src/lib/verify-helper.ts rename to login/src/lib/verify-helper.ts diff --git a/login/apps/login/src/lib/zitadel.ts b/login/src/lib/zitadel.ts similarity index 100% rename from login/apps/login/src/lib/zitadel.ts rename to login/src/lib/zitadel.ts diff --git a/login/apps/login/src/middleware.ts b/login/src/middleware.ts similarity index 100% rename from login/apps/login/src/middleware.ts rename to login/src/middleware.ts diff --git a/login/apps/login/src/styles/globals.scss b/login/src/styles/globals.scss similarity index 100% rename from login/apps/login/src/styles/globals.scss rename to login/src/styles/globals.scss diff --git a/login/apps/login/src/styles/vars.scss b/login/src/styles/vars.scss similarity index 100% rename from login/apps/login/src/styles/vars.scss rename to login/src/styles/vars.scss diff --git a/login/apps/login/tailwind.config.mjs b/login/tailwind.config.mjs similarity index 100% rename from login/apps/login/tailwind.config.mjs rename to login/tailwind.config.mjs diff --git a/login/test-setup.ts b/login/test-setup.ts index 5f766d62a8..5a48a7a9e1 100644 --- a/login/test-setup.ts +++ b/login/test-setup.ts @@ -1,2 +1,2 @@ -// Test setup file to handle jest-dom configuration +import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom"; diff --git a/login/apps/login/tsconfig.json b/login/tsconfig.json similarity index 100% rename from login/apps/login/tsconfig.json rename to login/tsconfig.json diff --git a/login/apps/login/turbo.json b/login/turbo.json similarity index 80% rename from login/apps/login/turbo.json rename to login/turbo.json index f05cd41d01..4504a0a509 100644 --- a/login/apps/login/turbo.json +++ b/login/turbo.json @@ -13,10 +13,6 @@ }, "test:unit": { "dependsOn": ["@zitadel/client#build"] - }, - "test:unit:standalone": {}, - "test:watch": { - "dependsOn": ["@zitadel/client#build"] } } } diff --git a/login/apps/login/vitest.config.mts b/login/vitest.config.mts similarity index 100% rename from login/apps/login/vitest.config.mts rename to login/vitest.config.mts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a8a22a41ce..8c72c9012a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,6 +59,56 @@ importers: specifier: ^3.1.2 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.4)(jiti@1.21.7)(jsdom@26.1.0)(less@4.1.3)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1)(yaml@2.8.0) + clients/typescript/zitadel-client: + dependencies: + '@bufbuild/protobuf': + specifier: ^2.2.2 + version: 2.6.0 + '@connectrpc/connect': + specifier: ^2.0.0 + version: 2.0.2(@bufbuild/protobuf@2.6.0) + '@connectrpc/connect-node': + specifier: ^2.0.0 + version: 2.0.2(@bufbuild/protobuf@2.6.0)(@connectrpc/connect@2.0.2(@bufbuild/protobuf@2.6.0)) + '@connectrpc/connect-web': + specifier: ^2.0.0 + version: 2.0.2(@bufbuild/protobuf@2.6.0)(@connectrpc/connect@2.0.2(@bufbuild/protobuf@2.6.0)) + '@zitadel/proto': + specifier: workspace:* + version: link:../zitadel-proto + jose: + specifier: ^5.3.0 + version: 5.10.0 + devDependencies: + '@bufbuild/buf': + specifier: ^1.53.0 + version: 1.55.1 + '@bufbuild/protocompile': + specifier: ^0.0.1 + version: 0.0.1(@bufbuild/buf@1.55.1) + '@typescript-eslint/eslint-plugin': + specifier: ^8.15.0 + version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/parser': + specifier: ^8.35.1 + version: 8.37.0(eslint@8.57.1)(typescript@5.8.3) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + tsup: + specifier: ^8.4.0 + version: 8.5.0(@swc/core@1.12.14)(jiti@1.21.7)(postcss@8.5.6)(typescript@5.8.3)(yaml@2.8.0) + + clients/typescript/zitadel-proto: + dependencies: + '@bufbuild/protobuf': + specifier: ^2.2.2 + version: 2.6.0 + devDependencies: + '@bufbuild/buf': + specifier: ^1.53.0 + version: 1.55.1 + console: dependencies: '@angular/animations': @@ -123,10 +173,10 @@ importers: version: 15.0.0(@angular/common@16.2.12(@angular/core@16.2.12(rxjs@7.8.2)(zone.js@0.13.3))(rxjs@7.8.2))(@angular/core@16.2.12(rxjs@7.8.2)(zone.js@0.13.3))(rxjs@7.8.2) '@zitadel/client': specifier: workspace:* - version: link:../login/packages/zitadel-client + version: link:../clients/typescript/zitadel-client '@zitadel/proto': specifier: workspace:* - version: link:../login/packages/zitadel-proto + version: link:../clients/typescript/zitadel-proto angular-oauth2-oidc: specifier: ^15.0.1 version: 15.0.1(@angular/common@16.2.12(@angular/core@16.2.12(rxjs@7.8.2)(zone.js@0.13.3))(rxjs@7.8.2))(@angular/core@16.2.12(rxjs@7.8.2)(zone.js@0.13.3)) @@ -413,7 +463,7 @@ importers: specifier: ^13.13.3 version: 13.17.0 - login/apps/login: + login: dependencies: '@headlessui/react': specifier: ^2.1.9 @@ -429,10 +479,10 @@ importers: version: 1.5.0(next@15.4.0-canary.86(@babel/core@7.28.0)(@playwright/test@1.54.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0) '@zitadel/client': specifier: workspace:* - version: link:../../packages/zitadel-client + version: link:../clients/typescript/zitadel-client '@zitadel/proto': specifier: workspace:* - version: link:../../packages/zitadel-proto + version: link:../clients/typescript/zitadel-proto clsx: specifier: 1.2.1 version: 1.2.1 @@ -570,7 +620,7 @@ importers: specifier: ^2.0.0 version: 2.1.9(@types/node@22.16.4)(jsdom@26.1.0)(less@4.1.3)(lightningcss@1.30.1)(sass@1.89.2)(terser@5.43.1) - login/apps/login-test-acceptance: + login/acceptance: devDependencies: '@faker-js/faker': specifier: ^9.7.0 @@ -594,7 +644,7 @@ importers: specifier: ^5.8.3 version: 5.8.3 - login/apps/login-test-integration: + login/integration: devDependencies: '@types/node': specifier: ^22.14.1 @@ -618,56 +668,6 @@ importers: specifier: ^5.8.3 version: 5.8.3 - login/packages/zitadel-client: - dependencies: - '@bufbuild/protobuf': - specifier: ^2.2.2 - version: 2.6.0 - '@connectrpc/connect': - specifier: ^2.0.0 - version: 2.0.2(@bufbuild/protobuf@2.6.0) - '@connectrpc/connect-node': - specifier: ^2.0.0 - version: 2.0.2(@bufbuild/protobuf@2.6.0)(@connectrpc/connect@2.0.2(@bufbuild/protobuf@2.6.0)) - '@connectrpc/connect-web': - specifier: ^2.0.0 - version: 2.0.2(@bufbuild/protobuf@2.6.0)(@connectrpc/connect@2.0.2(@bufbuild/protobuf@2.6.0)) - '@zitadel/proto': - specifier: workspace:* - version: link:../zitadel-proto - jose: - specifier: ^5.3.0 - version: 5.10.0 - devDependencies: - '@bufbuild/buf': - specifier: ^1.53.0 - version: 1.55.1 - '@bufbuild/protocompile': - specifier: ^0.0.1 - version: 0.0.1(@bufbuild/buf@1.55.1) - '@typescript-eslint/eslint-plugin': - specifier: ^8.15.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) - '@typescript-eslint/parser': - specifier: ^8.35.1 - version: 8.37.0(eslint@8.57.1)(typescript@5.8.3) - eslint: - specifier: ^8.57.0 - version: 8.57.1 - tsup: - specifier: ^8.4.0 - version: 8.5.0(@swc/core@1.12.14)(jiti@1.21.7)(postcss@8.5.6)(typescript@5.8.3)(yaml@2.8.0) - - login/packages/zitadel-proto: - dependencies: - '@bufbuild/protobuf': - specifier: ^2.2.2 - version: 2.6.0 - devDependencies: - '@bufbuild/buf': - specifier: ^1.53.0 - version: 1.55.1 - packages: '@adobe/css-tools@4.4.3': @@ -19225,11 +19225,11 @@ snapshots: '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.4 + semver: 7.7.2 '@npmcli/fs@3.1.1': dependencies: - semver: 7.5.4 + semver: 7.7.2 '@npmcli/git@4.1.0': dependencies: @@ -19239,7 +19239,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.5.4 + semver: 7.7.2 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -24042,7 +24042,7 @@ snapshots: dependencies: '@next/eslint-plugin-next': 15.4.0-canary.86 '@rushstack/eslint-patch': 1.12.0 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@8.37.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/parser': 8.37.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 @@ -24926,7 +24926,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.5 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 @@ -24976,7 +24976,7 @@ snapshots: globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 @@ -28000,7 +28000,7 @@ snapshots: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.5.4 + semver: 7.7.2 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -28045,7 +28045,7 @@ snapshots: dependencies: hosted-git-info: 6.1.3 is-core-module: 2.16.1 - semver: 7.5.4 + semver: 7.7.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -28060,7 +28060,7 @@ snapshots: npm-install-checks@6.3.0: dependencies: - semver: 7.5.4 + semver: 7.7.2 npm-normalize-package-bin@3.0.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 720e2ff607..7d41bc8a85 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,5 +2,7 @@ packages: - "console" - "docs" - "e2e" - - "login/apps/*" - - "login/packages/*" + - "login" + - "login/integration" + - "login/acceptance" + - "clients/typescript/*"