diff --git a/packages/shared/src/apps/apps-config.ts b/packages/shared/src/apps/apps-config.ts index 91aaa0328..d586f31f9 100644 --- a/packages/shared/src/apps/apps-config.ts +++ b/packages/shared/src/apps/apps-config.ts @@ -40,7 +40,7 @@ export const ALL_APP_TAGS = { type ParentAppId = "authentication" | "analytics"; -type App = { +export type App = { displayName: string, subtitle: string, tags: (keyof typeof ALL_APP_TAGS)[], diff --git a/packages/shared/src/config/schema.test.ts b/packages/shared/src/config/schema.test.ts index 08361d969..7a058e143 100644 --- a/packages/shared/src/config/schema.test.ts +++ b/packages/shared/src/config/schema.test.ts @@ -1,14 +1,14 @@ import { ALL_APPS } from "../apps/apps-config"; import { applyOrganizationDefaults } from "./schema"; -import { expect } from "vitest"; +import { expect, test } from "vitest"; -import.meta.vitest?.test("agent-auth is absent from default installed apps", () => { +test("agent-auth is absent from default installed apps", () => { const defaults = applyOrganizationDefaults({}); expect(Object.keys(defaults.apps.installed)).not.toContain("agent-auth"); }); -import.meta.vitest?.test("agent-auth stays explicitly enableable", () => { +test("agent-auth stays explicitly enableable", () => { const defaults = applyOrganizationDefaults({ apps: { installed: { diff --git a/packages/shared/src/config/schema.ts b/packages/shared/src/config/schema.ts index 8e7dbadeb..c5e0eaa67 100644 --- a/packages/shared/src/config/schema.ts +++ b/packages/shared/src/config/schema.ts @@ -5,7 +5,7 @@ // OTHERWISE THINGS WILL GO BOOM!! import * as yup from "yup"; -import { ALL_APPS } from "../apps/apps-config"; +import { ALL_APPS, type App } from "../apps/apps-config"; import { DEFAULT_EMAIL_TEMPLATES, DEFAULT_EMAIL_THEMES, DEFAULT_EMAIL_THEME_ID } from "../helpers/emails"; import * as schemaFields from "../schema-fields"; import { productSchema, userSpecifiedIdSchema, yupBoolean, yupDate, yupMixed, yupNever, yupNumber, yupObject, yupRecord, yupString, yupTuple, yupUnion } from "../schema-fields"; @@ -293,13 +293,12 @@ const branchOnboardingSchema = yupObject({ requireEmailVerification: yupBoolean(), }); +function isIncludedInDefaultInstalledApps(app: App) { + return app.includedInDefaultInstalledApps !== false; +} + const installedAppIdsByDefault = typedEntries(ALL_APPS) - .filter(([, app]) => { - if ("includedInDefaultInstalledApps" in app) { - return false; - } - return true; - }) + .filter(([, app]) => isIncludedInDefaultInstalledApps(app)) .map(([appId]) => appId); export const branchConfigSchema = canNoLongerBeOverridden(projectConfigSchema, [