diff --git a/apps/login/app/(login)/login/page.tsx b/apps/login/app/(login)/login/page.tsx index 9d515cbf625..5a882d8ca60 100644 --- a/apps/login/app/(login)/login/page.tsx +++ b/apps/login/app/(login)/login/page.tsx @@ -20,8 +20,9 @@ export default function Page() {
+
hello
+
- hello
diff --git a/apps/login/app/layout.tsx b/apps/login/app/layout.tsx index 5a36bd8d4f1..9e69e2ed150 100644 --- a/apps/login/app/layout.tsx +++ b/apps/login/app/layout.tsx @@ -1,13 +1,15 @@ -import '#/styles/globals.css'; -import { AddressBar } from '#/ui/AddressBar'; -import { GlobalNav } from '#/ui/GlobalNav'; -import { VercelLogo } from '#/ui/VercelLogo'; -import { ZitadelLogo } from '#/ui/ZitadelLogo'; -import { Lato } from '@next/font/google'; +import "#/styles/globals.css"; +// include styles from the ui package +import "@zitadel/react/styles.css"; +import { AddressBar } from "#/ui/AddressBar"; +import { GlobalNav } from "#/ui/GlobalNav"; +import { VercelLogo } from "#/ui/VercelLogo"; +import { ZitadelLogo } from "#/ui/ZitadelLogo"; +import { Lato } from "@next/font/google"; const lato = Lato({ - weight: '400', - subsets: ['latin'], + weight: "400", + subsets: ["latin"], }); export default function RootLayout({ diff --git a/apps/login/app/page.tsx b/apps/login/app/page.tsx index 5a785c97d01..a4571058b89 100644 --- a/apps/login/app/page.tsx +++ b/apps/login/app/page.tsx @@ -1,5 +1,5 @@ -import { demos } from '#/lib/demos'; -import Link from 'next/link'; +import { demos } from "#/lib/demos"; +import Link from "next/link"; export default function Page() { return ( @@ -13,7 +13,6 @@ export default function Page() {
{section.name}
-
{section.items.map((item) => { return ( diff --git a/apps/login/tailwind.config.js b/apps/login/tailwind.config.js index 09190395bab..fa2aee907e8 100644 --- a/apps/login/tailwind.config.js +++ b/apps/login/tailwind.config.js @@ -7,7 +7,6 @@ module.exports = { "./app/**/*.{js,ts,jsx,tsx}", "./page/**/*.{js,ts,jsx,tsx}", "./ui/**/*.{js,ts,jsx,tsx}", - "../../packages/zitadel-react/**/*.{js,ts,jsx,tsx}", ], future: { hoverOnlyWhenSupported: true, diff --git a/packages/zitadel-client/package.json b/packages/zitadel-client/package.json index be064b458d7..4da560128b9 100644 --- a/packages/zitadel-client/package.json +++ b/packages/zitadel-client/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "jose": "^4.13.1", - "nice-grpc": "2.0.1", + "nice-grpc-web": "^3.2.3", "protobufjs": "^7.2.3" } } diff --git a/packages/zitadel-client/src/admin.ts b/packages/zitadel-client/src/admin.ts deleted file mode 100644 index 626a2b64545..00000000000 --- a/packages/zitadel-client/src/admin.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { CompatServiceDefinition } from "nice-grpc/lib/service-definitions"; - -import { createChannel, createClientFactory } from "nice-grpc"; -import { - AuthServiceClient, - AuthServiceDefinition, -} from "./proto/server/zitadel/auth"; -import { - AdminServiceClient, - AdminServiceDefinition, -} from "./proto/server/zitadel/admin"; -import { authMiddleware } from "./middleware"; - -const createClient = ( - definition: CompatServiceDefinition, - accessToken: string -) => { - const channel = createChannel(process.env.ZITADEL_API_URL ?? ""); - return createClientFactory() - .use(authMiddleware(accessToken)) - .create(definition, channel) as Client; -}; - -export const getAdmin = () => - createClient( - AdminServiceDefinition as CompatServiceDefinition, - process.env.ZITADEL_ADMIN_TOKEN ?? "" - ); diff --git a/packages/zitadel-client/src/auth.ts b/packages/zitadel-client/src/auth.ts index bab2f1cc974..5b4b1e103c4 100644 --- a/packages/zitadel-client/src/auth.ts +++ b/packages/zitadel-client/src/auth.ts @@ -1,25 +1,19 @@ -import { CompatServiceDefinition } from "nice-grpc/lib/service-definitions"; -import { createChannel, createClientFactory } from "nice-grpc"; -import { - AuthServiceClient, - AuthServiceDefinition, -} from "./proto/server/zitadel/auth"; import { ZitadelApp } from "./app"; import { authMiddleware } from "./middleware"; -const createClient = ( - definition: CompatServiceDefinition, - accessToken: string -) => { - const channel = createChannel(process.env.ZITADEL_API_URL ?? ""); - return createClientFactory() - .use(authMiddleware(accessToken)) - .create(definition, channel) as Client; -}; +// const createClient = ( +// definition: CompatServiceDefinition, +// accessToken: string +// ) => { +// const channel = createChannel(process.env.ZITADEL_API_URL ?? ""); +// return createClientFactory() +// .use(authMiddleware(accessToken)) +// .create(definition, channel) as Client; +// }; -export async function getAuth(app?: ZitadelApp): Promise { - return createClient( - AuthServiceDefinition as CompatServiceDefinition, - "" - ); +export async function getAuth(app?: ZitadelApp) { + // return createClient( + // AuthServiceDefinition as CompatServiceDefinition, + // "" + // ); } diff --git a/packages/zitadel-client/src/index.ts b/packages/zitadel-client/src/index.ts index 2d50c862b8b..a116f088b01 100644 --- a/packages/zitadel-client/src/index.ts +++ b/packages/zitadel-client/src/index.ts @@ -1,8 +1,5 @@ export { initializeApp, getApps } from "./app"; export { getAuth } from "./auth"; -export { getManagement } from "./management"; -export { getAdmin } from "./admin"; -export { getSystem } from "./system"; export type { ZitadelOptions } from "./app"; diff --git a/packages/zitadel-client/src/management.ts b/packages/zitadel-client/src/management.ts deleted file mode 100644 index 0d67c1224ca..00000000000 --- a/packages/zitadel-client/src/management.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { CompatServiceDefinition } from "nice-grpc/lib/service-definitions"; - -import { createChannel, createClientFactory } from "nice-grpc"; -import { - ManagementServiceClient, - ManagementServiceDefinition, -} from "./proto/server/zitadel/management"; - -import { authMiddleware } from "./middleware"; -import { ZitadelApp, getApps } from "./app"; - -const createClient = ( - definition: CompatServiceDefinition, - apiUrl: string, - token: string -) => { - if (!apiUrl) { - throw Error("ZITADEL_API_URL not set"); - } - - const channel = createChannel(process.env.ZITADEL_API_URL ?? ""); - return createClientFactory() - .use(authMiddleware(token)) - .create(definition, channel) as Client; -}; - -export const getManagement = (app?: string | ZitadelApp) => { - let config; - if (app && typeof app === "string") { - const apps = getApps(); - config = apps.find((a) => a.name === app)?.config; - } else if (app && typeof app === "object") { - config = app.config; - } - - if (!config) { - throw Error("No ZITADEL app found"); - } - - return createClient( - ManagementServiceDefinition as CompatServiceDefinition, - config.apiUrl, - config.token - ); -}; diff --git a/packages/zitadel-client/src/middleware.ts b/packages/zitadel-client/src/middleware.ts index e88fd57cbe3..90497642df6 100644 --- a/packages/zitadel-client/src/middleware.ts +++ b/packages/zitadel-client/src/middleware.ts @@ -1,4 +1,4 @@ -import { CallOptions, ClientMiddlewareCall, Metadata } from "nice-grpc"; +import { CallOptions, ClientMiddlewareCall, Metadata } from "nice-grpc-web"; export const authMiddleware = (token: string) => async function* ( diff --git a/packages/zitadel-client/src/system.ts b/packages/zitadel-client/src/system.ts deleted file mode 100644 index 1a6ab7c58ff..00000000000 --- a/packages/zitadel-client/src/system.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { CompatServiceDefinition } from "nice-grpc/lib/service-definitions"; -import { importPKCS8, SignJWT } from "jose"; - -import { createChannel, createClientFactory } from "nice-grpc"; -import { - SystemServiceClient, - SystemServiceDefinition, -} from "./proto/server/zitadel/system"; -import { authMiddleware } from "./middleware"; - -const createSystemClient = ( - definition: CompatServiceDefinition, - accessToken: string -) => { - const channel = createChannel(process.env.ZITADEL_SYSTEM_API_URL ?? ""); - return createClientFactory() - .use(authMiddleware(accessToken)) - .create(definition, channel) as Client; -}; - -export const getSystem = async () => { - const token = await new SignJWT({}) - .setProtectedHeader({ alg: "RS256" }) - .setIssuedAt() - .setExpirationTime("1h") - .setIssuer(process.env.ZITADEL_SYSTEM_API_USERID ?? "") - .setSubject(process.env.ZITADEL_SYSTEM_API_USERID ?? "") - .setAudience(process.env.ZITADEL_ISSUER ?? "") - .sign(await importPKCS8(process.env.ZITADEL_SYSTEM_API_KEY ?? "", "RS256")); - - return createSystemClient( - SystemServiceDefinition as CompatServiceDefinition, - token - ); -}; diff --git a/packages/zitadel-react/package.json b/packages/zitadel-react/package.json index 3ad29eb8c30..1a7cd581165 100644 --- a/packages/zitadel-react/package.json +++ b/packages/zitadel-react/package.json @@ -1,31 +1,38 @@ { "name": "@zitadel/react", "version": "0.0.0", - "main": "./dist/index.js", - "module": "./dist/index.mjs", "types": "./dist/index.d.ts", - "sideEffects": false, - "license": "MIT", - "files": [ - "dist/**" + "sideEffects": [ + "**/*.css" ], + "license": "MIT", + "exports": { + ".": "./dist", + "./styles.css": "./dist/index.css", + "./assets/*": "./dist/assets/*" + }, "scripts": { - "build": "tsup src/index.tsx --format esm,cjs --dts --external react", - "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react", + "build": "tsup", + "dev": "tsup --watch", "lint": "eslint \"src/**/*.ts*\"", "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" }, "devDependencies": { + "@types/react": "^17.0.13", + "@types/react-dom": "^17.0.8", "@zitadel/tsconfig": "workspace:*", "eslint": "^7.32.0", "eslint-config-zitadel": "workspace:*", - "@types/react": "^17.0.13", - "@types/react-dom": "^17.0.8", - "react": "^17.0.2", + "postcss": "8.4.21", + "sass": "^1.62.0", + "tailwindcss": "3.2.4", "tsup": "^5.10.1", "typescript": "^4.5.3" }, "publishConfig": { "access": "public" + }, + "peerDependencies": { + "react": "18.2.0" } } diff --git a/packages/zitadel-react/postcss.config.js b/packages/zitadel-react/postcss.config.js new file mode 100644 index 00000000000..07aa434b2bf --- /dev/null +++ b/packages/zitadel-react/postcss.config.js @@ -0,0 +1,9 @@ +// If you want to use other PostCSS plugins, see the following: +// https://tailwindcss.com/docs/using-with-preprocessors + +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/packages/zitadel-react/src/idp/github-dark.svg b/packages/zitadel-react/src/assets/github-dark.svg similarity index 100% rename from packages/zitadel-react/src/idp/github-dark.svg rename to packages/zitadel-react/src/assets/github-dark.svg diff --git a/packages/zitadel-react/src/idp/github.svg b/packages/zitadel-react/src/assets/github.svg similarity index 100% rename from packages/zitadel-react/src/idp/github.svg rename to packages/zitadel-react/src/assets/github.svg diff --git a/packages/zitadel-react/src/idp/gitlab.svg b/packages/zitadel-react/src/assets/gitlab.svg similarity index 100% rename from packages/zitadel-react/src/idp/gitlab.svg rename to packages/zitadel-react/src/assets/gitlab.svg diff --git a/packages/zitadel-react/src/idp/google.png b/packages/zitadel-react/src/assets/google.png similarity index 100% rename from packages/zitadel-react/src/idp/google.png rename to packages/zitadel-react/src/assets/google.png diff --git a/packages/zitadel-react/src/idp/ms.svg b/packages/zitadel-react/src/assets/ms.svg similarity index 100% rename from packages/zitadel-react/src/idp/ms.svg rename to packages/zitadel-react/src/assets/ms.svg diff --git a/packages/zitadel-react/src/idp/oauth.svg b/packages/zitadel-react/src/assets/oauth.svg similarity index 100% rename from packages/zitadel-react/src/idp/oauth.svg rename to packages/zitadel-react/src/assets/oauth.svg diff --git a/packages/zitadel-react/src/SignInWithGoogle.tsx b/packages/zitadel-react/src/components/SignInWithGoogle.tsx similarity index 59% rename from packages/zitadel-react/src/SignInWithGoogle.tsx rename to packages/zitadel-react/src/components/SignInWithGoogle.tsx index 20a6c3777a5..c00d402d7e7 100644 --- a/packages/zitadel-react/src/SignInWithGoogle.tsx +++ b/packages/zitadel-react/src/components/SignInWithGoogle.tsx @@ -6,15 +6,15 @@ export interface SignInWithGoogleProps { export function SignInWithGoogle(props: SignInWithGoogleProps) { return ( -
+
google - Sign in with Google + Sign in with Google
); } diff --git a/packages/zitadel-react/src/index.tsx b/packages/zitadel-react/src/index.tsx index 07f2bef93eb..a8e0fe8bee0 100644 --- a/packages/zitadel-react/src/index.tsx +++ b/packages/zitadel-react/src/index.tsx @@ -1,5 +1,6 @@ -import * as React from "react"; +import "./styles.css"; + export { SignInWithGoogle, type SignInWithGoogleProps, -} from "./SignInWithGoogle"; +} from "./components/SignInWithGoogle"; diff --git a/packages/zitadel-react/src/styles.css b/packages/zitadel-react/src/styles.css new file mode 100644 index 00000000000..6b6d4bc4be8 --- /dev/null +++ b/packages/zitadel-react/src/styles.css @@ -0,0 +1,7 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +.hello { + color: yellow; +} diff --git a/packages/zitadel-react/tailwind.config.js b/packages/zitadel-react/tailwind.config.js new file mode 100644 index 00000000000..c2ac9676dfe --- /dev/null +++ b/packages/zitadel-react/tailwind.config.js @@ -0,0 +1,17 @@ +const colors = require("tailwindcss/colors"); + +/** @type {import('tailwindcss').Config} */ +module.exports = { + prefix: "ui-", + darkMode: "class", + content: [`src/**/*.{js,ts,jsx,tsx}`], + theme: { + extend: { + colors: { + brandblue: colors.blue[500], + brandred: colors.red[500], + }, + }, + }, + plugins: [], +}; diff --git a/packages/zitadel-react/tsup.config.ts b/packages/zitadel-react/tsup.config.ts new file mode 100644 index 00000000000..7b2189abb94 --- /dev/null +++ b/packages/zitadel-react/tsup.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, Options } from "tsup"; + +export default defineConfig((options: Options) => ({ + treeshake: true, + splitting: true, + entry: ["src/**/*.tsx"], + format: ["esm"], + dts: true, + minify: true, + clean: true, + external: ["react"], + ...options, +})); diff --git a/packages/zitadel-server/package.json b/packages/zitadel-server/package.json index 46284111207..4839f2b2a59 100644 --- a/packages/zitadel-server/package.json +++ b/packages/zitadel-server/package.json @@ -29,6 +29,7 @@ }, "dependencies": { "jose": "^4.13.1", + "long": "^5.2.1", "nice-grpc": "2.0.1", "protobufjs": "^7.2.3" } diff --git a/packages/zitadel-server/src/app.ts b/packages/zitadel-server/src/app.ts index 360518aab39..c2763370d2b 100644 --- a/packages/zitadel-server/src/app.ts +++ b/packages/zitadel-server/src/app.ts @@ -1,13 +1,6 @@ -/** - * Return a slugified copy of a string. - * - * @param {CoreProps} str The ZITADEL client configuration - * @return {Core} The client implementation. - */ - let apps: ZitadelApp[] = []; -export interface ZitadelCoreProps { +export interface ZitadelClientProps { clientId: string; apiUrl: string; // process.env.ZITADEL_API_URL token: string; @@ -15,17 +8,17 @@ export interface ZitadelCoreProps { managementToken?: string; } -export interface ZitadelOptions extends ZitadelCoreProps { +export interface ZitadelOptions extends ZitadelClientProps { name?: string; } export interface ZitadelApp { name: string | undefined; - config: ZitadelCoreProps; + config: ZitadelClientProps; } export async function initializeApp( - config: ZitadelCoreProps, + config: ZitadelClientProps, name?: string ): Promise { const app = { config, name }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4970e354036..8a11c99bbf2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ importers: eslint: 7.32.0 eslint-config-zitadel: link:packages/eslint-config-zitadel prettier: 2.8.0 - turbo: 1.8.8 + turbo: 1.9.1 apps/login: specifiers: @@ -28,9 +28,9 @@ importers: '@types/react-dom': 18.0.9 '@types/tinycolor2': 1.4.3 '@vercel/git-hooks': 1.0.0 - '@zitadel/core': workspace:* '@zitadel/next': workspace:* '@zitadel/react': workspace:* + '@zitadel/server': workspace:* '@zitadel/tsconfig': workspace:* autoprefixer: 10.4.13 clsx: 1.2.1 @@ -57,9 +57,9 @@ importers: '@heroicons/react': 2.0.13_react@18.2.0 '@next/font': 13.0.5 '@tailwindcss/forms': 0.5.3_tailwindcss@3.2.4 - '@zitadel/core': link:../../packages/zitadel-core '@zitadel/next': link:../../packages/zitadel-next '@zitadel/react': link:../../packages/zitadel-react + '@zitadel/server': link:../../packages/zitadel-server clsx: 1.2.1 date-fns: 2.29.3 dinero.js: 2.0.0-alpha.8 @@ -98,25 +98,25 @@ importers: eslint-config-turbo: latest eslint-plugin-react: 7.28.0 dependencies: - eslint-config-next: 13.2.4_hsf322ms6xhhd4b5ne6lb74y4a + eslint-config-next: 13.3.0_hsf322ms6xhhd4b5ne6lb74y4a eslint-config-prettier: 8.5.0_eslint@8.28.0 - eslint-config-turbo: 1.8.8_eslint@8.28.0 + eslint-config-turbo: 1.9.1_eslint@8.28.0 eslint-plugin-react: 7.28.0_eslint@8.28.0 - packages/zitadel-core: + packages/zitadel-client: specifiers: '@zitadel/tsconfig': workspace:* eslint: ^7.32.0 eslint-config-zitadel: workspace:* jose: ^4.13.1 - nice-grpc: 2.0.1 + nice-grpc-web: ^3.2.3 protobufjs: ^7.2.3 ts-proto: ^1.139.0 tsup: ^5.10.1 typescript: ^4.5.3 dependencies: jose: 4.13.1 - nice-grpc: 2.0.1 + nice-grpc-web: 3.2.3_ws@8.13.0 protobufjs: 7.2.3 devDependencies: '@zitadel/tsconfig': link:../zitadel-tsconfig @@ -150,16 +150,48 @@ importers: '@zitadel/tsconfig': workspace:* eslint: ^7.32.0 eslint-config-zitadel: workspace:* - react: ^17.0.2 + postcss: 8.4.21 + react: 18.2.0 + sass: ^1.62.0 + tailwindcss: 3.2.4 tsup: ^5.10.1 typescript: ^4.5.3 + dependencies: + react: 18.2.0 devDependencies: '@types/react': 17.0.52 '@types/react-dom': 17.0.18 '@zitadel/tsconfig': link:../zitadel-tsconfig eslint: 7.32.0 eslint-config-zitadel: link:../eslint-config-zitadel - react: 17.0.2 + postcss: 8.4.21 + sass: 1.62.0 + tailwindcss: 3.2.4_postcss@8.4.21 + tsup: 5.12.9_krdp57wjjbbhfrtrh2uomx3tgy + typescript: 4.9.3 + + packages/zitadel-server: + specifiers: + '@zitadel/tsconfig': workspace:* + eslint: ^7.32.0 + eslint-config-zitadel: workspace:* + jose: ^4.13.1 + long: ^5.2.1 + nice-grpc: 2.0.1 + protobufjs: ^7.2.3 + ts-proto: ^1.139.0 + tsup: ^5.10.1 + typescript: ^4.5.3 + dependencies: + jose: 4.13.1 + long: 5.2.1 + nice-grpc: 2.0.1 + protobufjs: 7.2.3 + devDependencies: + '@zitadel/tsconfig': link:../zitadel-tsconfig + eslint: 7.32.0 + eslint-config-zitadel: link:../eslint-config-zitadel + ts-proto: 1.146.0 tsup: 5.12.9_typescript@4.9.3 typescript: 4.9.3 @@ -1925,8 +1957,8 @@ packages: resolution: {integrity: sha512-FN50r/E+b8wuqyRjmGaqvqNDuWBWYWQiigfZ50KnSFH0f+AMQQyaZl+Zm2+CIpKk0fL9QxhLxOpTVA3xFHgFow==} dev: false - /@next/eslint-plugin-next/13.2.4: - resolution: {integrity: sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==} + /@next/eslint-plugin-next/13.3.0: + resolution: {integrity: sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==} dependencies: glob: 7.1.7 dev: false @@ -3406,8 +3438,8 @@ packages: engines: {node: '>=12'} dev: true - /eslint-config-next/13.2.4_hsf322ms6xhhd4b5ne6lb74y4a: - resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} + /eslint-config-next/13.3.0_hsf322ms6xhhd4b5ne6lb74y4a: + resolution: {integrity: sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -3415,7 +3447,7 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 13.2.4 + '@next/eslint-plugin-next': 13.3.0 '@rushstack/eslint-patch': 1.2.0 '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a eslint: 8.28.0 @@ -3440,13 +3472,13 @@ packages: eslint: 8.28.0 dev: false - /eslint-config-turbo/1.8.8_eslint@8.28.0: - resolution: {integrity: sha512-+yT22sHOT5iC1sbBXfLIdXfbZuiv9bAyOXsxTxFCWelTeFFnANqmuKB3x274CFvf7WRuZ/vYP/VMjzU9xnFnxA==} + /eslint-config-turbo/1.9.1_eslint@8.28.0: + resolution: {integrity: sha512-tUqm5TxI5bpbDEgClbw+UygVPAwYB20FIpAiQsZI8imJNDz30E40TZkp6uWpAKmxykU8T0+t3jwkYokvXmXc0Q==} peerDependencies: eslint: '>6.6.0' dependencies: eslint: 8.28.0 - eslint-plugin-turbo: 1.8.8_eslint@8.28.0 + eslint-plugin-turbo: 1.9.1_eslint@8.28.0 dev: false /eslint-import-resolver-node/0.3.6: @@ -3614,8 +3646,8 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-turbo/1.8.8_eslint@8.28.0: - resolution: {integrity: sha512-zqyTIvveOY4YU5jviDWw9GXHd4RiKmfEgwsjBrV/a965w0PpDwJgEUoSMB/C/dU310Sv9mF3DSdEjxjJLaw6rA==} + /eslint-plugin-turbo/1.9.1_eslint@8.28.0: + resolution: {integrity: sha512-QPd0EG0xkoDkXJLwPQKULxHjkR27VmvJtILW4C9aIrqauLZ+Yc/V7R+A9yVwAi6nkMHxUlCSUsBxmiQP9TIlPw==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -4228,6 +4260,10 @@ packages: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} + /immutable/4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: true + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -4430,6 +4466,14 @@ packages: /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /isomorphic-ws/5.0.0_ws@8.13.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + dependencies: + ws: 8.13.0 + dev: false + /jose/4.13.1: resolution: {integrity: sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==} dev: false @@ -4439,6 +4483,10 @@ packages: engines: {node: '>=10'} dev: true + /js-base64/3.7.5: + resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} + dev: false + /js-sdsl/4.2.0: resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} dev: false @@ -4668,6 +4716,7 @@ packages: hasBin: true dependencies: js-tokens: 4.0.0 + dev: false /lru-cache/4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -4967,6 +5016,17 @@ packages: ts-error: 1.0.6 dev: false + /nice-grpc-web/3.2.3_ws@8.13.0: + resolution: {integrity: sha512-oNuCBhCffmpED/dTtbQycKkMkJ6DCaPeyi/W/hbLaGIZfiwSFg+kmWSKmTdI07XqMQ1POKxn//bdldXZsE1ZUg==} + dependencies: + abort-controller-x: 0.4.1 + isomorphic-ws: 5.0.0_ws@8.13.0 + js-base64: 3.7.5 + nice-grpc-common: 2.0.2 + transitivePeerDependencies: + - ws + dev: false + /nice-grpc/2.0.1: resolution: {integrity: sha512-Q5CGXO08STsv+HAkXeFgRayANT62X1LnIDhNXdCf+LP0XaP7EiHM0Cr3QefnoFjDZAx/Kxq+qiQfY66BrtKcNQ==} dependencies: @@ -5502,14 +5562,6 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /react/17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - dev: true - /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -5747,6 +5799,16 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /sass/1.62.0: + resolution: {integrity: sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.0 + source-map-js: 1.0.2 + dev: true + /scheduler/0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -6308,6 +6370,42 @@ packages: /tslib/2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + /tsup/5.12.9_krdp57wjjbbhfrtrh2uomx3tgy: + resolution: {integrity: sha512-dUpuouWZYe40lLufo64qEhDpIDsWhRbr2expv5dHEMjwqeKJS2aXA/FPqs1dxO4T6mBojo7rvo3jP9NNzaKyDg==} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: ^4.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 3.1.2_esbuild@0.14.54 + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4 + esbuild: 0.14.54 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss: 8.4.21 + postcss-load-config: 3.1.4_postcss@8.4.21 + resolve-from: 5.0.0 + rollup: 2.79.1 + source-map: 0.8.0-beta.0 + sucrase: 3.29.0 + tree-kill: 1.2.2 + typescript: 4.9.3 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /tsup/5.12.9_typescript@4.9.3: resolution: {integrity: sha512-dUpuouWZYe40lLufo64qEhDpIDsWhRbr2expv5dHEMjwqeKJS2aXA/FPqs1dxO4T6mBojo7rvo3jP9NNzaKyDg==} hasBin: true @@ -6367,65 +6465,65 @@ packages: yargs: 17.6.2 dev: true - /turbo-darwin-64/1.8.8: - resolution: {integrity: sha512-18cSeIm7aeEvIxGyq7PVoFyEnPpWDM/0CpZvXKHpQ6qMTkfNt517qVqUTAwsIYqNS8xazcKAqkNbvU1V49n65Q==} + /turbo-darwin-64/1.9.1: + resolution: {integrity: sha512-IX/Ph4CO80lFKd9pPx3BWpN2dynt6mcUFifyuHUNVkOP1Usza/G9YuZnKQFG6wUwKJbx40morFLjk1TTeLe04w==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.8.8: - resolution: {integrity: sha512-ruGRI9nHxojIGLQv1TPgN7ud4HO4V8mFBwSgO6oDoZTNuk5ybWybItGR+yu6fni5vJoyMHXOYA2srnxvOc7hjQ==} + /turbo-darwin-arm64/1.9.1: + resolution: {integrity: sha512-6tCbmIboy9dTbhIZ/x9KIpje73nvxbiyVnHbr9xKnsxLJavD0xqjHZzbL5U2tHp8chqmYf0E4WYOXd+XCNg+OQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.8.8: - resolution: {integrity: sha512-N/GkHTHeIQogXB1/6ZWfxHx+ubYeb8Jlq3b/3jnU4zLucpZzTQ8XkXIAfJG/TL3Q7ON7xQ8yGOyGLhHL7MpFRg==} + /turbo-linux-64/1.9.1: + resolution: {integrity: sha512-ti8XofnJFO1XaadL92lYJXgxb0VBl03Yu9VfhxkOTywFe7USTLBkJcdvQ4EpFk/KZwLiTdCmT2NQVxsG4AxBiQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.8.8: - resolution: {integrity: sha512-hKqLbBHgUkYf2Ww8uBL9UYdBFQ5677a7QXdsFhONXoACbDUPvpK4BKlz3NN7G4NZ+g9dGju+OJJjQP0VXRHb5w==} + /turbo-linux-arm64/1.9.1: + resolution: {integrity: sha512-XYvIbeiCCCr+ENujd2Jtck/lJPTKWb8T2MSL/AEBx21Zy3Sa7HgrQX6LX0a0pNHjaleHz00XXt1D0W5hLeP+tA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.8.8: - resolution: {integrity: sha512-2ndjDJyzkNslXxLt+PQuU21AHJWc8f6MnLypXy3KsN4EyX/uKKGZS0QJWz27PeHg0JS75PVvhfFV+L9t9i+Yyg==} + /turbo-windows-64/1.9.1: + resolution: {integrity: sha512-x7lWAspe4/v3XQ0gaFRWDX/X9uyWdhwFBPEfb8BA0YKtnsrPOHkV0mRHCRrXzvzjA7pcDCl2agGzb7o863O+Jg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.8.8: - resolution: {integrity: sha512-xCA3oxgmW9OMqpI34AAmKfOVsfDljhD5YBwgs0ZDsn5h3kCHhC4x9W5dDk1oyQ4F5EXSH3xVym5/xl1J6WRpUg==} + /turbo-windows-arm64/1.9.1: + resolution: {integrity: sha512-QSLNz8dRBLDqXOUv/KnoesBomSbIz2Huef/a3l2+Pat5wkQVgMfzFxDOnkK5VWujPYXz+/prYz+/7cdaC78/kw==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.8.8: - resolution: {integrity: sha512-qYJ5NjoTX+591/x09KgsDOPVDUJfU9GoS+6jszQQlLp1AHrf1wRFA3Yps8U+/HTG03q0M4qouOfOLtRQP4QypA==} + /turbo/1.9.1: + resolution: {integrity: sha512-Rqe8SP96e53y4Pk29kk2aZbA8EF11UtHJ3vzXJseadrc1T3V6UhzvAWwiKJL//x/jojyOoX1axnoxmX3UHbZ0g==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.8.8 - turbo-darwin-arm64: 1.8.8 - turbo-linux-64: 1.8.8 - turbo-linux-arm64: 1.8.8 - turbo-windows-64: 1.8.8 - turbo-windows-arm64: 1.8.8 + turbo-darwin-64: 1.9.1 + turbo-darwin-arm64: 1.9.1 + turbo-linux-64: 1.9.1 + turbo-linux-arm64: 1.9.1 + turbo-windows-64: 1.9.1 + turbo-windows-arm64: 1.9.1 dev: true /type-check/0.4.0: @@ -6633,6 +6731,19 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + /ws/8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'}