Merge branch 'main' into proto-include-validate-folder

This commit is contained in:
Max Peintner
2025-01-08 09:04:23 +01:00
committed by GitHub
28 changed files with 422 additions and 92 deletions

View File

@@ -1,11 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.0.0/schema.json",
"baseBranch": "main",
"$schema": "https://unpkg.com/@changesets/config@3.0.3/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["@zitadel/login"]
}

View File

@@ -1,7 +1,7 @@
module.exports = {
root: true,
// This tells ESLint to load the config from the package `eslint-config-zitadel`
extends: ["zitadel"],
// This tells ESLint to load the config from the package `@zitadel/eslint-config`
extends: ["@zitadel/eslint-config"],
settings: {
next: {
rootDir: ["apps/*/"],

28
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Install dependencies
run: pnpm install
- name: Create Release Pull Request
uses: changesets/action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -5,6 +5,9 @@ Login UI.
<img src="./apps/login/screenshots/collage.png" alt="collage of login screens" width="1600px" />
[![npm package](https://img.shields.io/npm/v/@zitadel/proto.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/@zitadel/proto)
[![npm package](https://img.shields.io/npm/v/@zitadel/client.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/@zitadel/client)
**⚠️ This repo and packages are in alpha state and subject to change ⚠️**
The scope of functionality of this repo and packages is under active development.
@@ -31,9 +34,9 @@ We think the easiest path of getting up and running, is the following:
- `login`: The login UI used by ZITADEL Cloud, powered by Next.js
- `@zitadel/client`: shared client utilities for node and browser environments
- `@zitadel/proto`: shared protobuf types
- `@zitadel/proto`: Protocol Buffers (proto) definitions used by ZITADEL projects
- `@zitadel/tsconfig`: shared `tsconfig.json`s used throughout the monorepo
- `eslint-config-zitadel`: ESLint preset
- `@zitadel/eslint-config`: ESLint preset
Each package and app is 100% [TypeScript](https://www.typescriptlang.org/).

View File

@@ -73,8 +73,8 @@
"concurrently": "^9.1.0",
"cypress": "^13.15.2",
"del-cli": "6.0.0",
"env-cmd": "^10.1.0",
"eslint-config-zitadel": "workspace:*",
"env-cmd": "^10.0.0",
"@zitadel/eslint-config": "workspace:*",
"grpc-tools": "1.12.4",
"jsdom": "^25.0.1",
"lint-staged": "15.2.10",
@@ -87,6 +87,6 @@
"tailwindcss": "3.4.14",
"ts-proto": "^2.2.7",
"typescript": "^5.6.3",
"zitadel-tailwind-config": "workspace:*"
"@zitadel/tailwind-config": "workspace:*"
}
}

View File

@@ -1,4 +1,4 @@
import sharedConfig from "zitadel-tailwind-config/tailwind.config.mjs";
import sharedConfig from "@zitadel/tailwind-config/tailwind.config.mjs";
let colors = {
background: { light: { contrast: {} }, dark: { contrast: {} } },

View File

@@ -47,7 +47,7 @@
"axios": "^1.7.7",
"dotenv": "^16.4.5",
"eslint": "8.57.1",
"eslint-config-zitadel": "workspace:*",
"@zitadel/eslint-config": "workspace:*",
"prettier": "^3.2.5",
"prettier-plugin-organize-imports": "^4.1.0",
"tsup": "^8.3.5",

View File

@@ -1,4 +1,4 @@
module.exports = {
root: true,
extends: ["zitadel"],
extends: ["@zitadel/eslint-config"],
};

View File

@@ -0,0 +1,25 @@
# @zitadel/client
## 1.0.1
### Patch Changes
- README updates
- Updated dependencies
- @zitadel/proto@1.0.1
## 1.0.0
### Major Changes
- 32e1199: Initial Release
### Minor Changes
- f32ab7f: Initial release
### Patch Changes
- Updated dependencies [f32ab7f]
- Updated dependencies [32e1199]
- @zitadel/proto@1.0.0

View File

@@ -0,0 +1,53 @@
# ZITADEL Client
This package exports services and utilities to interact with ZITADEL
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/client
```
or
```sh
yarn add @zitadel/client
```
## Usage
### Importing Services
You can import and use the services provided by this package to interact with ZITADEL.
```ts
import { createSettingsServiceClient, makeReqCtx } from "@zitadel/client/v2";
// Example usage
const transport = createServerTransport(process.env.ZITADEL_SERVICE_USER_TOKEN!, { baseUrl: process.env.ZITADEL_API_URL! });
const settingsService = createSettingsServiceClient(transport);
settingsService.getBrandingSettings({ ctx: makeReqCtx("orgId") }, {});
```
### Utilities
This package also provides various utilities to work with ZITADEL
```ts
import { timestampMs } from "@zitadel/client";
// Example usage
console.log(`${timestampMs(session.creationDate)}`);
```
## Documentation
For detailed documentation and API references, please visit the [ZITADEL documentation](https://zitadel.com/docs).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,8 +1,7 @@
{
"name": "@zitadel/client",
"version": "0.0.0",
"version": "1.0.1",
"license": "MIT",
"private": true,
"publishConfig": {
"access": "public"
},
@@ -59,6 +58,6 @@
"devDependencies": {
"@bufbuild/protocompile": "^0.0.1",
"@zitadel/tsconfig": "workspace:*",
"eslint-config-zitadel": "workspace:*"
"@zitadel/eslint-config": "workspace:*"
}
}

View File

@@ -0,0 +1,13 @@
# @zitadel/eslint-config
## 0.1.1
### Patch Changes
- README updates
## 0.1.0
### Minor Changes
- f32ab7f: Initial release

View File

@@ -0,0 +1,35 @@
# ZITADEL ESLint Config
This package provides the ESLint configuration used by ZITADEL projects. It includes a set of rules and plugins to ensure consistent code quality and style across all ZITADEL codebases.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/eslint-config
```
or
```sh
yarn add @zitadel/eslint-config
```
## Usage
To use the ESLint configuration in your project, extend it in your `.eslintrc` file:
```js
{
"extends": "@zitadel/eslint-config"
}
```
## Documentation
For detailed documentation and configuration options, please refer to the [ESLint documentation](https://eslint.org/docs/user-guide/configuring).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,6 +1,6 @@
{
"name": "eslint-config-zitadel",
"version": "0.0.0",
"name": "@zitadel/eslint-config",
"version": "0.1.1",
"main": "index.js",
"license": "MIT",
"publishConfig": {

View File

@@ -0,0 +1,13 @@
# @zitadel/prettier-config
## 0.1.1
### Patch Changes
- README updates
## 0.1.0
### Minor Changes
- f32ab7f: Initial release

View File

@@ -0,0 +1,36 @@
# ZITADEL Prettier Config
This package provides the Prettier configuration used by ZITADEL projects. It includes a set of formatting rules to ensure consistent code style across all ZITADEL codebases.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/prettier-config
```
or
```sh
yarn add @zitadel/prettier-config
```
## Usage
To use the Prettier configuration in your project, extend it in your `prettier.config.js` file:
```js
module.exports = {
...require("@zitadel/prettier-config"),
// Add your custom configurations here
};
```
## Documentation
For detailed documentation and configuration options, please refer to the [Prettier documentation](https://prettier.io/docs/en/configuration.html).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,9 +1,11 @@
{
"name": "@zitadel/prettier-config",
"version": "0.1.0",
"version": "0.1.1",
"description": "Prettier configuration",
"type": "module",
"private": true,
"publishConfig": {
"access": "public"
},
"exports": {
".": "./index.js"
}

View File

@@ -0,0 +1,17 @@
# @zitadel/proto
## 1.0.1
### Patch Changes
- README updates
## 1.0.0
### Major Changes
- 32e1199: Initial Release
### Minor Changes
- f32ab7f: Initial release

View File

@@ -0,0 +1,35 @@
# ZITADEL Proto
This package provides the Protocol Buffers (proto) definitions used by ZITADEL projects. It includes the proto files and generated code for interacting with ZITADEL's gRPC APIs.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/proto
```
or
```sh
yarn add @zitadel/proto
```
## Usage
To use the proto definitions in your project, import the generated code:
```ts
import { Organization } from "@zitadel/proto/zitadel/org/v2/org_pb";
const org: Organization | null = await getDefaultOrg();
```
## Documentation
For detailed documentation and API references, please visit the [ZITADEL documentation](https://zitadel.com/docs).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,6 +1,6 @@
{
"name": "@zitadel/proto",
"version": "0.0.0",
"version": "1.0.1",
"license": "MIT",
"publishConfig": {
"access": "public"

View File

@@ -0,0 +1,13 @@
# @zitadel/tailwind-config
## 0.1.1
### Patch Changes
- README updates
## 0.1.0
### Minor Changes
- f32ab7f: Initial release

View File

@@ -0,0 +1,36 @@
# ZITADEL Tailwind Config
This package provides the Tailwind CSS configuration used by ZITADEL projects. It includes a set of default styles, themes, and utility classes to ensure consistent design and styling across all ZITADEL codebases.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/tailwind-config
```
or
```sh
yarn add @zitadel/tailwind-config
```
## Usage
To use the Tailwind CSS configuration in your project, extend it in your `tailwind.config.js` file:
```js
module.exports = {
presets: [require("@zitadel/tailwind-config")],
// Add your custom configurations here
};
```
## Documentation
For detailed documentation and configuration options, please refer to the [Tailwind CSS documentation](https://tailwindcss.com/docs)
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,7 +1,9 @@
{
"name": "zitadel-tailwind-config",
"version": "0.0.0",
"private": true,
"name": "@zitadel/tailwind-config",
"version": "0.1.1",
"publishConfig": {
"access": "public"
},
"main": "index.js",
"devDependencies": {
"tailwindcss": "^3.4.14",

View File

@@ -0,0 +1,13 @@
# @zitadel/tsconfig
## 0.1.1
### Patch Changes
- README updates
## 0.1.0
### Minor Changes
- f32ab7f: Initial release

View File

@@ -0,0 +1,35 @@
# ZITADEL TypeScript Config
This package provides the TypeScript configuration used by ZITADEL projects. It includes a set of rules and settings to ensure consistent TypeScript configuration across all ZITADEL codebases.
## Installation
To install the package, use npm or yarn:
```sh
npm install @zitadel/tsconfig
```
or
```sh
yarn add @zitadel/tsconfig
```
## Usage
To use the TypeScript configuration in your project, extend it in your `tsconfig.json` file:
```json
{
"extends": "@zitadel/tsconfig/tsup.json"
}
```
## Documentation
For detailed documentation and configuration options, please refer to the [TypeScript documentation](https://www.typescriptlang.org/docs/).
## Contributing
Contributions are welcome! Please read the contributing guidelines before getting started.

View File

@@ -1,9 +1,9 @@
{
"name": "@zitadel/tsconfig",
"version": "0.0.0",
"private": true,
"license": "MIT",
"version": "0.1.1",
"publishConfig": {
"access": "public"
}
},
"type": "module",
"license": "MIT"
}

102
pnpm-lock.yaml generated
View File

@@ -37,6 +37,9 @@ importers:
'@vitejs/plugin-react':
specifier: ^4.3.3
version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7))
'@zitadel/eslint-config':
specifier: workspace:*
version: link:packages/zitadel-eslint-config
'@zitadel/prettier-config':
specifier: workspace:*
version: link:packages/zitadel-prettier-config
@@ -49,9 +52,6 @@ importers:
eslint:
specifier: 8.57.1
version: 8.57.1
eslint-config-zitadel:
specifier: workspace:*
version: link:packages/eslint-config-zitadel
prettier:
specifier: ^3.2.5
version: 3.3.3
@@ -167,9 +167,15 @@ importers:
'@vercel/git-hooks':
specifier: 1.0.0
version: 1.0.0
'@zitadel/eslint-config':
specifier: workspace:*
version: link:../../packages/zitadel-eslint-config
'@zitadel/prettier-config':
specifier: workspace:*
version: link:../../packages/zitadel-prettier-config
'@zitadel/tailwind-config':
specifier: workspace:*
version: link:../../packages/zitadel-tailwind-config
'@zitadel/tsconfig':
specifier: workspace:*
version: link:../../packages/zitadel-tsconfig
@@ -186,11 +192,8 @@ importers:
specifier: 6.0.0
version: 6.0.0
env-cmd:
specifier: ^10.1.0
specifier: ^10.0.0
version: 10.1.0
eslint-config-zitadel:
specifier: workspace:*
version: link:../../packages/eslint-config-zitadel
grpc-tools:
specifier: 1.12.4
version: 1.12.4
@@ -227,30 +230,6 @@ importers:
typescript:
specifier: ^5.6.3
version: 5.6.3
zitadel-tailwind-config:
specifier: workspace:*
version: link:../../packages/zitadel-tailwind-config
packages/eslint-config-zitadel:
dependencies:
'@babel/eslint-parser':
specifier: ^7.25.9
version: 7.25.9(@babel/core@7.26.0)(eslint@8.57.1)
'@typescript-eslint/parser':
specifier: ^7.9.0
version: 7.18.0(eslint@8.57.1)(typescript@5.6.3)
eslint-config-next:
specifier: ^14.2.18
version: 14.2.18(eslint@8.57.1)(typescript@5.6.3)
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.1)
eslint-config-turbo:
specifier: ^2.0.9
version: 2.1.0(eslint@8.57.1)
eslint-plugin-react:
specifier: ^7.34.1
version: 7.35.0(eslint@8.57.1)
packages/zitadel-client:
dependencies:
@@ -276,12 +255,33 @@ importers:
'@bufbuild/protocompile':
specifier: ^0.0.1
version: 0.0.1(@bufbuild/buf@1.47.2)
'@zitadel/eslint-config':
specifier: workspace:*
version: link:../zitadel-eslint-config
'@zitadel/tsconfig':
specifier: workspace:*
version: link:../zitadel-tsconfig
eslint-config-zitadel:
specifier: workspace:*
version: link:../eslint-config-zitadel
packages/zitadel-eslint-config:
dependencies:
'@babel/eslint-parser':
specifier: ^7.25.9
version: 7.25.9(@babel/core@7.26.0)(eslint@8.57.1)
'@typescript-eslint/parser':
specifier: ^7.9.0
version: 7.18.0(eslint@8.57.1)(typescript@5.6.3)
eslint-config-next:
specifier: ^14.2.18
version: 14.2.18(eslint@8.57.1)(typescript@5.6.3)
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.1)
eslint-config-turbo:
specifier: ^2.0.9
version: 2.1.0(eslint@8.57.1)
eslint-plugin-react:
specifier: ^7.34.1
version: 7.35.0(eslint@8.57.1)
packages/zitadel-prettier-config: {}
@@ -2204,15 +2204,6 @@ packages:
supports-color:
optional: true
debug@4.3.6:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
debug@4.3.7:
resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
engines: {node: '>=6.0'}
@@ -3443,9 +3434,6 @@ packages:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -4458,12 +4446,6 @@ packages:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
ts-api-utils@1.3.0:
resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
ts-api-utils@1.4.1:
resolution: {integrity: sha512-5RU2/lxTA3YUZxju61HO2U6EoZLvBLtmV2mbTvqyu4a/7s7RmJPT+1YekhMVsQhznRWk/czIwDUg+V8Q9ZuG4w==}
engines: {node: '>=16'}
@@ -6073,7 +6055,7 @@ snapshots:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 7.18.0
debug: 4.3.6
debug: 4.3.7(supports-color@5.5.0)
eslint: 8.57.1
optionalDependencies:
typescript: 5.6.3
@@ -6115,7 +6097,7 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.3)
ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@@ -6765,10 +6747,6 @@ snapshots:
optionalDependencies:
supports-color: 8.1.1
debug@4.3.6:
dependencies:
ms: 2.1.2
debug@4.3.7(supports-color@5.5.0):
dependencies:
ms: 2.1.3
@@ -6914,7 +6892,7 @@ snapshots:
env-cmd@10.1.0:
dependencies:
commander: 4.1.1
cross-spawn: 7.0.3
cross-spawn: 7.0.5
environment@1.1.0: {}
@@ -8220,8 +8198,6 @@ snapshots:
mri@1.2.0: {}
ms@2.1.2: {}
ms@2.1.3: {}
mz@2.7.0:
@@ -9215,10 +9191,6 @@ snapshots:
tree-kill@1.2.2: {}
ts-api-utils@1.3.0(typescript@5.6.3):
dependencies:
typescript: 5.6.3
ts-api-utils@1.4.1(typescript@5.6.3):
dependencies:
typescript: 5.6.3