@better-t-stack/types 3.42.2 → 3.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +136 -57
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -23
- package/dist/index.mjs.map +1 -1
- package/dist/json-schema.d.mts +39 -26
- package/dist/json-schema.d.mts.map +1 -1
- package/dist/json-schema.mjs +1 -1
- package/dist/schemas-B-p9IhC-.mjs +876 -0
- package/dist/schemas-B-p9IhC-.mjs.map +1 -0
- package/dist/schemas.d.mts +69 -62
- package/dist/schemas.d.mts.map +1 -1
- package/dist/schemas.mjs +1 -569
- package/package.json +3 -3
- package/dist/schemas.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -2,16 +2,16 @@ import { ADDONS_VALUES, APISchema, API_VALUES, AUTH_VALUES, AddInputSchema, Addo
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/analytics.d.ts
|
|
4
4
|
/** Values emitted by supported CLIs plus retired values kept for historical ingestion. */
|
|
5
|
-
declare const ANALYTICS_ADDON_VALUES: readonly [...("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog")[], "ruler"];
|
|
6
|
-
declare const ANALYTICS_PLATFORM_VALUES: readonly ["aix", "android", "cygwin", "darwin", "freebsd", "haiku", "linux", "netbsd", "openbsd", "sunos", "win32"];
|
|
7
|
-
declare const ANALYTICS_CLI_MAJOR = 3;
|
|
8
|
-
declare const ANALYTICS_CLI_MAX_MINOR = 99;
|
|
9
|
-
declare const ANALYTICS_CLI_MAX_PATCH = 99;
|
|
10
|
-
declare const ANALYTICS_NODE_MIN_MAJOR = 18;
|
|
11
|
-
declare const ANALYTICS_NODE_MAX_MAJOR = 30;
|
|
5
|
+
export declare const ANALYTICS_ADDON_VALUES: readonly [...("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "axiom")[], "ruler"];
|
|
6
|
+
export declare const ANALYTICS_PLATFORM_VALUES: readonly ["aix", "android", "cygwin", "darwin", "freebsd", "haiku", "linux", "netbsd", "openbsd", "sunos", "win32"];
|
|
7
|
+
export declare const ANALYTICS_CLI_MAJOR = 3;
|
|
8
|
+
export declare const ANALYTICS_CLI_MAX_MINOR = 99;
|
|
9
|
+
export declare const ANALYTICS_CLI_MAX_PATCH = 99;
|
|
10
|
+
export declare const ANALYTICS_NODE_MIN_MAJOR = 18;
|
|
11
|
+
export declare const ANALYTICS_NODE_MAX_MAJOR = 30;
|
|
12
12
|
/** How the CLI was driven for the run that produced the event. */
|
|
13
|
-
declare const ANALYTICS_MODE_VALUES: readonly ["interactive", "flags", "yes", "json", "api", "mcp"];
|
|
14
|
-
declare const AnalyticsAddonSchema: z.ZodEnum<{
|
|
13
|
+
export declare const ANALYTICS_MODE_VALUES: readonly ["interactive", "flags", "yes", "json", "api", "mcp"];
|
|
14
|
+
export declare const AnalyticsAddonSchema: z.ZodEnum<{
|
|
15
15
|
none: "none";
|
|
16
16
|
pwa: "pwa";
|
|
17
17
|
tauri: "tauri";
|
|
@@ -31,9 +31,10 @@ declare const AnalyticsAddonSchema: z.ZodEnum<{
|
|
|
31
31
|
wxt: "wxt";
|
|
32
32
|
skills: "skills";
|
|
33
33
|
evlog: "evlog";
|
|
34
|
+
axiom: "axiom";
|
|
34
35
|
ruler: "ruler";
|
|
35
36
|
}>;
|
|
36
|
-
declare const AnalyticsPlatformSchema: z.ZodEnum<{
|
|
37
|
+
export declare const AnalyticsPlatformSchema: z.ZodEnum<{
|
|
37
38
|
aix: "aix";
|
|
38
39
|
android: "android";
|
|
39
40
|
cygwin: "cygwin";
|
|
@@ -46,7 +47,7 @@ declare const AnalyticsPlatformSchema: z.ZodEnum<{
|
|
|
46
47
|
sunos: "sunos";
|
|
47
48
|
win32: "win32";
|
|
48
49
|
}>;
|
|
49
|
-
declare const AnalyticsModeSchema: z.ZodEnum<{
|
|
50
|
+
export declare const AnalyticsModeSchema: z.ZodEnum<{
|
|
50
51
|
mcp: "mcp";
|
|
51
52
|
yes: "yes";
|
|
52
53
|
api: "api";
|
|
@@ -54,16 +55,16 @@ declare const AnalyticsModeSchema: z.ZodEnum<{
|
|
|
54
55
|
flags: "flags";
|
|
55
56
|
json: "json";
|
|
56
57
|
}>;
|
|
57
|
-
type AnalyticsMode = z.infer<typeof AnalyticsModeSchema>;
|
|
58
|
-
declare function normalizeAnalyticsSelection<T extends string>(values: T[] | undefined): T[];
|
|
59
|
-
declare function normalizeAnalyticsCLIVersion(version: string): string;
|
|
60
|
-
declare function normalizeAnalyticsNodeVersion(version: string): string;
|
|
58
|
+
export type AnalyticsMode = z.infer<typeof AnalyticsModeSchema>;
|
|
59
|
+
export declare function normalizeAnalyticsSelection<T extends string>(values: T[] | undefined): T[];
|
|
60
|
+
export declare function normalizeAnalyticsCLIVersion(version: string): string;
|
|
61
|
+
export declare function normalizeAnalyticsNodeVersion(version: string): string;
|
|
61
62
|
/**
|
|
62
63
|
* The public analytics ingestion contract. Project fields stay optional so older
|
|
63
64
|
* CLI releases remain compatible, while every supplied value has bounded
|
|
64
65
|
* cardinality. Unknown properties are intentionally stripped before storage.
|
|
65
66
|
*/
|
|
66
|
-
declare const AnalyticsEventSchema: z.ZodObject<{
|
|
67
|
+
export declare const AnalyticsEventSchema: z.ZodObject<{
|
|
67
68
|
database: z.ZodOptional<z.ZodEnum<{
|
|
68
69
|
none: "none";
|
|
69
70
|
sqlite: "sqlite";
|
|
@@ -126,8 +127,9 @@ declare const AnalyticsEventSchema: z.ZodObject<{
|
|
|
126
127
|
wxt: "wxt";
|
|
127
128
|
skills: "skills";
|
|
128
129
|
evlog: "evlog";
|
|
130
|
+
axiom: "axiom";
|
|
129
131
|
ruler: "ruler";
|
|
130
|
-
}>>, z.ZodTransform<("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "ruler")[], ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "ruler")[]>>>;
|
|
132
|
+
}>>, z.ZodTransform<("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "axiom" | "ruler")[], ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "axiom" | "ruler")[]>>>;
|
|
131
133
|
examples: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
132
134
|
none: "none";
|
|
133
135
|
todo: "todo";
|
|
@@ -203,52 +205,129 @@ declare const AnalyticsEventSchema: z.ZodObject<{
|
|
|
203
205
|
json: "json";
|
|
204
206
|
}>>;
|
|
205
207
|
}, z.core.$strip>;
|
|
206
|
-
type AnalyticsEvent = z.infer<typeof AnalyticsEventSchema>;
|
|
208
|
+
export type AnalyticsEvent = z.infer<typeof AnalyticsEventSchema>;
|
|
207
209
|
//#endregion
|
|
208
210
|
//#region src/constants.d.ts
|
|
209
|
-
declare const webFrontends: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "solid", "astro"];
|
|
210
|
-
declare const desktopWebFrontends: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "astro"];
|
|
211
|
+
export declare const webFrontends: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "solid", "astro"];
|
|
212
|
+
export declare const desktopWebFrontends: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "astro"];
|
|
211
213
|
//#endregion
|
|
212
214
|
//#region src/types.d.ts
|
|
213
|
-
type Database = z.infer<typeof DatabaseSchema>;
|
|
214
|
-
type ORM = z.infer<typeof ORMSchema>;
|
|
215
|
-
type Backend = z.infer<typeof BackendSchema>;
|
|
216
|
-
type Runtime = z.infer<typeof RuntimeSchema>;
|
|
217
|
-
type Frontend = z.infer<typeof FrontendSchema>;
|
|
218
|
-
type Addons = z.infer<typeof AddonsSchema>;
|
|
219
|
-
type Examples = z.infer<typeof ExamplesSchema>;
|
|
220
|
-
type PackageManager = z.infer<typeof PackageManagerSchema>;
|
|
221
|
-
type DatabaseSetup = z.infer<typeof DatabaseSetupSchema>;
|
|
222
|
-
type API = z.infer<typeof APISchema>;
|
|
223
|
-
type Auth = z.infer<typeof AuthSchema>;
|
|
224
|
-
type Payments = z.infer<typeof PaymentsSchema>;
|
|
225
|
-
type WebDeploy = z.infer<typeof WebDeploySchema>;
|
|
226
|
-
type ServerDeploy = z.infer<typeof ServerDeploySchema>;
|
|
227
|
-
type DirectoryConflict = z.infer<typeof DirectoryConflictSchema>;
|
|
228
|
-
type Template = z.infer<typeof TemplateSchema>;
|
|
229
|
-
type AddonOptions = z.infer<typeof AddonOptionsSchema>;
|
|
230
|
-
type DbSetupOptions = z.infer<typeof DbSetupOptionsSchema>;
|
|
231
|
-
type ProjectName = z.infer<typeof ProjectNameSchema>;
|
|
232
|
-
type CreateInput = z.infer<typeof CreateInputSchema>;
|
|
233
|
-
type AddInput = z.infer<typeof AddInputSchema>;
|
|
234
|
-
type CLIInput = z.infer<typeof CLIInputSchema>;
|
|
235
|
-
type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
236
|
-
type BetterTStackConfig = z.infer<typeof BetterTStackConfigSchema>;
|
|
237
|
-
type InitResult = z.infer<typeof InitResultSchema>;
|
|
238
|
-
type WebFrontend = Extract<Frontend, "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "svelte" | "solid" | "astro" | "none">;
|
|
239
|
-
type DesktopWebFrontend = Exclude<WebFrontend, "none" | "solid">;
|
|
240
|
-
type NativeFrontend = Extract<Frontend, "native-bare" | "native-uniwind" | "native-unistyles" | "none">;
|
|
215
|
+
export type Database = z.infer<typeof DatabaseSchema>;
|
|
216
|
+
export type ORM = z.infer<typeof ORMSchema>;
|
|
217
|
+
export type Backend = z.infer<typeof BackendSchema>;
|
|
218
|
+
export type Runtime = z.infer<typeof RuntimeSchema>;
|
|
219
|
+
export type Frontend = z.infer<typeof FrontendSchema>;
|
|
220
|
+
export type Addons = z.infer<typeof AddonsSchema>;
|
|
221
|
+
export type Examples = z.infer<typeof ExamplesSchema>;
|
|
222
|
+
export type PackageManager = z.infer<typeof PackageManagerSchema>;
|
|
223
|
+
export type DatabaseSetup = z.infer<typeof DatabaseSetupSchema>;
|
|
224
|
+
export type API = z.infer<typeof APISchema>;
|
|
225
|
+
export type Auth = z.infer<typeof AuthSchema>;
|
|
226
|
+
export type Payments = z.infer<typeof PaymentsSchema>;
|
|
227
|
+
export type WebDeploy = z.infer<typeof WebDeploySchema>;
|
|
228
|
+
export type ServerDeploy = z.infer<typeof ServerDeploySchema>;
|
|
229
|
+
export type DirectoryConflict = z.infer<typeof DirectoryConflictSchema>;
|
|
230
|
+
export type Template = z.infer<typeof TemplateSchema>;
|
|
231
|
+
export type AddonOptions = z.infer<typeof AddonOptionsSchema>;
|
|
232
|
+
export type DbSetupOptions = z.infer<typeof DbSetupOptionsSchema>;
|
|
233
|
+
export type ProjectName = z.infer<typeof ProjectNameSchema>;
|
|
234
|
+
export type CreateInput = z.infer<typeof CreateInputSchema>;
|
|
235
|
+
export type AddInput = z.infer<typeof AddInputSchema>;
|
|
236
|
+
export type CLIInput = z.infer<typeof CLIInputSchema>;
|
|
237
|
+
export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
238
|
+
export type BetterTStackConfig = z.infer<typeof BetterTStackConfigSchema>;
|
|
239
|
+
export type InitResult = z.infer<typeof InitResultSchema>;
|
|
240
|
+
export type WebFrontend = Extract<Frontend, "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "svelte" | "solid" | "astro" | "none">;
|
|
241
|
+
export type DesktopWebFrontend = Exclude<WebFrontend, "none" | "solid">;
|
|
242
|
+
export type NativeFrontend = Extract<Frontend, "native-bare" | "native-uniwind" | "native-unistyles" | "none">;
|
|
241
243
|
//#endregion
|
|
242
244
|
//#region src/deployment.d.ts
|
|
243
|
-
declare const ALCHEMY_DEPLOY_TARGETS: readonly ["cloudflare", "prisma"];
|
|
244
|
-
declare const ALCHEMY_DATABASE_SETUPS: readonly ["neon", "planetscale", "prisma-postgres"];
|
|
245
|
-
type LocalD1Owner = "wrangler" | "alchemy-provider" | "none";
|
|
246
|
-
declare function isAlchemyDeployTarget(target: WebDeploy | ServerDeploy | undefined): target is (typeof ALCHEMY_DEPLOY_TARGETS)[number];
|
|
247
|
-
declare function isAlchemyDatabaseSetup(setup: DatabaseSetup | undefined): setup is (typeof ALCHEMY_DATABASE_SETUPS)[number];
|
|
245
|
+
export declare const ALCHEMY_DEPLOY_TARGETS: readonly ["cloudflare", "prisma"];
|
|
246
|
+
export declare const ALCHEMY_DATABASE_SETUPS: readonly ["neon", "planetscale", "prisma-postgres"];
|
|
247
|
+
export type LocalD1Owner = "wrangler" | "alchemy-provider" | "none";
|
|
248
|
+
export declare function isAlchemyDeployTarget(target: WebDeploy | ServerDeploy | undefined): target is (typeof ALCHEMY_DEPLOY_TARGETS)[number];
|
|
249
|
+
export declare function isAlchemyDatabaseSetup(setup: DatabaseSetup | undefined): setup is (typeof ALCHEMY_DATABASE_SETUPS)[number];
|
|
248
250
|
type AlchemyDatabaseConfig = Pick<ProjectConfig, "backend" | "dbSetup" | "dbSetupOptions" | "webDeploy" | "serverDeploy">;
|
|
249
|
-
declare function supportsAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean;
|
|
250
|
-
declare function usesAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean;
|
|
251
|
-
declare function getLocalD1Owner(config: Pick<ProjectConfig, "backend" | "dbSetup" | "frontend" | "webDeploy">): LocalD1Owner;
|
|
251
|
+
export declare function supportsAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean;
|
|
252
|
+
export declare function usesAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean;
|
|
253
|
+
export declare function getLocalD1Owner(config: Pick<ProjectConfig, "backend" | "dbSetup" | "frontend" | "webDeploy">): LocalD1Owner;
|
|
252
254
|
//#endregion
|
|
253
|
-
|
|
255
|
+
//#region src/compatibility.d.ts
|
|
256
|
+
export declare const TASK_RUNNER_ADDONS: readonly Addons[];
|
|
257
|
+
export declare const OBSERVABILITY_ADDONS: readonly Addons[];
|
|
258
|
+
export declare const STATIC_DESKTOP_ADDONS: readonly Addons[];
|
|
259
|
+
export declare const CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS: readonly ["nuxt", "svelte", "solid", "astro"];
|
|
260
|
+
export declare const CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "native-bare", "native-uniwind", "native-unistyles"];
|
|
261
|
+
export declare const FULLSTACK_FRONTENDS: readonly ["next", "tanstack-start", "nuxt", "svelte", "solid", "astro"];
|
|
262
|
+
export type FullstackFrontend = (typeof FULLSTACK_FRONTENDS)[number];
|
|
263
|
+
export declare const SERVER_BACKENDS: readonly Backend[];
|
|
264
|
+
export declare const CLERK_INCOMPATIBLE_FRONTENDS: readonly ["nuxt", "svelte", "solid", "astro"];
|
|
265
|
+
export declare const CLERK_SUPPORTED_FRONTENDS: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "native-bare", "native-uniwind", "native-unistyles"];
|
|
266
|
+
export declare const TRPC_INCOMPATIBLE_FRONTENDS: readonly ["nuxt", "svelte", "solid", "astro"];
|
|
267
|
+
export declare const CONVEX_INCOMPATIBLE_FRONTENDS: readonly ["solid", "astro"];
|
|
268
|
+
export declare const AI_INCOMPATIBLE_FRONTENDS: readonly ["solid", "astro"];
|
|
269
|
+
export declare const CONVEX_AI_INCOMPATIBLE_FRONTENDS: readonly ["solid", "astro", "svelte", "nuxt"];
|
|
270
|
+
export declare const DESKTOP_STATIC_EXPORT_FRONTENDS: readonly Frontend[];
|
|
271
|
+
export declare const ADDON_COMPATIBILITY: {
|
|
272
|
+
readonly pwa: readonly ["tanstack-router", "react-router", "solid", "next"];
|
|
273
|
+
readonly tauri: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "astro"];
|
|
274
|
+
readonly electrobun: readonly ["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "svelte", "astro"];
|
|
275
|
+
readonly biome: readonly [];
|
|
276
|
+
readonly husky: readonly [];
|
|
277
|
+
readonly lefthook: readonly [];
|
|
278
|
+
readonly turborepo: readonly [];
|
|
279
|
+
readonly nx: readonly [];
|
|
280
|
+
readonly "vite-plus": readonly [];
|
|
281
|
+
readonly starlight: readonly [];
|
|
282
|
+
readonly ultracite: readonly [];
|
|
283
|
+
readonly mcp: readonly [];
|
|
284
|
+
readonly oxlint: readonly [];
|
|
285
|
+
readonly fumadocs: readonly [];
|
|
286
|
+
readonly opentui: readonly [];
|
|
287
|
+
readonly wxt: readonly [];
|
|
288
|
+
readonly skills: readonly [];
|
|
289
|
+
readonly evlog: readonly [];
|
|
290
|
+
readonly axiom: readonly [];
|
|
291
|
+
readonly none: readonly [];
|
|
292
|
+
};
|
|
293
|
+
export declare function supportsEvlogAddon(frontend?: readonly Frontend[], backend?: Backend, _runtime?: Runtime): boolean;
|
|
294
|
+
export declare function isFrontendAllowedWithBackend(frontend: Frontend, backend?: Backend, auth?: Auth): boolean;
|
|
295
|
+
export declare function supportsConvexBetterAuth(frontends?: readonly Frontend[]): boolean;
|
|
296
|
+
export declare function allowedApisForFrontends(frontends?: readonly Frontend[]): API[];
|
|
297
|
+
export declare function isExampleTodoAllowed(backend?: Backend, database?: Database, api?: API): boolean;
|
|
298
|
+
export declare function isExampleAIAllowed(backend?: Backend, frontends?: readonly Frontend[]): boolean;
|
|
299
|
+
export declare const PRISMA_COMPUTE_WEB_FRONTENDS: readonly Frontend[];
|
|
300
|
+
export declare function supportsPrismaWebDeploy(frontend: readonly Frontend[]): boolean;
|
|
301
|
+
export type AddonCompatibility = {
|
|
302
|
+
isCompatible: true;
|
|
303
|
+
} | {
|
|
304
|
+
isCompatible: false;
|
|
305
|
+
reason: string;
|
|
306
|
+
};
|
|
307
|
+
export declare function validateAddonCompatibility(addon: Addons, frontend: readonly Frontend[], auth?: Auth, backend?: Backend, runtime?: Runtime): AddonCompatibility;
|
|
308
|
+
export declare function supportsClerkFrontend(frontends: readonly Frontend[]): boolean;
|
|
309
|
+
export declare function supportsClerkBackend(backend: Backend | undefined, frontends?: readonly Frontend[]): boolean;
|
|
310
|
+
export declare function isTauriBlockedByConvexBetterAuth(frontends: readonly Frontend[], backend?: Backend, auth?: Auth): boolean;
|
|
311
|
+
export declare function hasCloudflareNextPostgresConflict(config: {
|
|
312
|
+
webDeploy?: WebDeploy;
|
|
313
|
+
frontend?: readonly Frontend[];
|
|
314
|
+
database?: Database;
|
|
315
|
+
orm?: ORM;
|
|
316
|
+
dbSetup?: DatabaseSetup;
|
|
317
|
+
}): boolean;
|
|
318
|
+
export declare function getDesktopDeployConflict(deploy: WebDeploy | ServerDeploy | undefined, addons?: readonly Addons[], frontends?: readonly Frontend[], backend?: Backend, auth?: Auth): {
|
|
319
|
+
affectedFrontend: "none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "astro";
|
|
320
|
+
selectedDesktopAddons: ("none" | "pwa" | "tauri" | "electrobun" | "starlight" | "biome" | "lefthook" | "husky" | "mcp" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "skills" | "evlog" | "axiom")[];
|
|
321
|
+
} | null;
|
|
322
|
+
export declare function supportsOrmDatabase(orm: ORM, database: Database): boolean;
|
|
323
|
+
export declare function supportsDatabaseSetup(dbSetup: DatabaseSetup, database: Database | undefined): boolean;
|
|
324
|
+
export declare function supportsRuntimeBackend(runtime: Runtime | undefined, backend: Backend | undefined): boolean;
|
|
325
|
+
export declare function supportsRuntimeDatabase(runtime: Runtime | undefined, database: Database | undefined): boolean;
|
|
326
|
+
export declare function supportsDatabaseSetupRuntime(dbSetup: DatabaseSetup, runtime?: Runtime, backend?: Backend): boolean;
|
|
327
|
+
export declare function supportsServerDeployRuntime(deploy: WebDeploy | ServerDeploy | undefined, runtime: Runtime | undefined): boolean;
|
|
328
|
+
export declare function supportsPaymentsAuth(payments?: Payments, auth?: Auth): boolean;
|
|
329
|
+
export declare function getBackendDisabledOptions(backend: Backend): readonly ["runtime", "database", "orm", "api", "dbSetup", "serverDeploy"] | readonly ["runtime", "database", "orm", "api", "auth", "payments", "dbSetup", "serverDeploy"] | readonly ["runtime", "serverDeploy"] | [];
|
|
330
|
+
export declare function getDatabaseSetupDatabases(dbSetup: DatabaseSetup): readonly ["mongodb"] | never[] | readonly ["sqlite"] | readonly ["postgres"] | readonly ["postgres", "mysql"] | readonly ["postgres", "mysql", "mongodb"];
|
|
331
|
+
//#endregion
|
|
332
|
+
export { ADDONS_VALUES, APISchema, API_VALUES, AUTH_VALUES, AddInputSchema, AddonOptionsSchema, AddonsSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CLIInputSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DbSetupModeSchema, DbSetupOptionsSchema, DirectoryConflictSchema, EXAMPLES_VALUES, ExamplesSchema, FRONTEND_VALUES, FrontendSchema, FumadocsAiChatSchema, FumadocsOgImageSchema, FumadocsSearchSchema, FumadocsTemplateSchema, InitResultSchema, InstallScopeSchema, McpAgentSchema, McpServerSchema, NeonSetupMethodSchema, ORMSchema, ORM_VALUES, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, RUNTIME_VALUES, RuntimeSchema, SERVER_DEPLOY_VALUES, ServerDeploySchema, SkillSelectionSchema, SkillsAgentSchema, SkillsSourceSchema, TEMPLATE_VALUES, TemplateSchema, TuiTemplateSchema, UltraciteAgentSchema, UltraciteEditorSchema, UltraciteHookSchema, UltraciteLinterSchema, WEB_DEPLOY_VALUES, WebDeploySchema, WorkspacePackageNameSchema, WxtTemplateSchema };
|
|
254
333
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/analytics.ts","../src/constants.ts","../src/types.ts","../src/deployment.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/analytics.ts","../src/constants.ts","../src/types.ts","../src/deployment.ts","../src/compatibility.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as TuiTemplateSchema, A as FumadocsTemplateSchema, At as isExampleTodoAllowed, B as PackageManagerSchema, Bt as supportsPaymentsAuth, C as EXAMPLES_VALUES, Ct as TRPC_INCOMPATIBLE_FRONTENDS, D as FumadocsAiChatSchema, Dt as getDesktopDeployConflict, E as FrontendSchema, Et as getDatabaseSetupDatabases, F as NeonSetupMethodSchema, Ft as supportsConvexBetterAuth, G as RuntimeSchema, Gt as validateAddonCompatibility, H as ProjectConfigSchema, Ht as supportsRuntimeBackend, I as ORMSchema, It as supportsDatabaseSetup, J as SkillSelectionSchema, K as SERVER_DEPLOY_VALUES, Kt as desktopWebFrontends, L as ORM_VALUES, Lt as supportsDatabaseSetupRuntime, M as InstallScopeSchema, Mt as isTauriBlockedByConvexBetterAuth, N as McpAgentSchema, Nt as supportsClerkBackend, O as FumadocsOgImageSchema, Ot as hasCloudflareNextPostgresConflict, P as McpServerSchema, Pt as supportsClerkFrontend, Q as TemplateSchema, R as PACKAGE_MANAGER_VALUES, Rt as supportsEvlogAddon, S as DirectoryConflictSchema, St as TASK_RUNNER_ADDONS, T as FRONTEND_VALUES, Tt as getBackendDisabledOptions, U as ProjectNameSchema, Ut as supportsRuntimeDatabase, V as PaymentsSchema, Vt as supportsPrismaWebDeploy, W as RUNTIME_VALUES, Wt as supportsServerDeployRuntime, X as SkillsSourceSchema, Y as SkillsAgentSchema, Z as TEMPLATE_VALUES, _ as DIRECTORY_CONFLICT_VALUES, _t as FULLSTACK_FRONTENDS, a as AddInputSchema, at as WebDeploySchema, b as DbSetupModeSchema, bt as SERVER_BACKENDS, c as AuthSchema, ct as ADDON_COMPATIBILITY, d as BetterTStackConfigFileSchema, dt as CLERK_SUPPORTED_FRONTENDS, et as UltraciteAgentSchema, f as BetterTStackConfigSchema, ft as CONVEX_AI_INCOMPATIBLE_FRONTENDS, g as DATABASE_VALUES, gt as DESKTOP_STATIC_EXPORT_FRONTENDS, h as DATABASE_SETUP_VALUES, ht as CONVEX_INCOMPATIBLE_FRONTENDS, i as AUTH_VALUES, it as WEB_DEPLOY_VALUES, j as InitResultSchema, jt as isFrontendAllowedWithBackend, k as FumadocsSearchSchema, kt as isExampleAIAllowed, l as BACKEND_VALUES, lt as AI_INCOMPATIBLE_FRONTENDS, m as CreateInputSchema, mt as CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS, n as APISchema, nt as UltraciteHookSchema, o as AddonOptionsSchema, ot as WorkspacePackageNameSchema, p as CLIInputSchema, pt as CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS, q as ServerDeploySchema, qt as webFrontends, r as API_VALUES, rt as UltraciteLinterSchema, s as AddonsSchema, st as WxtTemplateSchema, t as ADDONS_VALUES, tt as UltraciteEditorSchema, u as BackendSchema, ut as CLERK_INCOMPATIBLE_FRONTENDS, v as DatabaseSchema, vt as OBSERVABILITY_ADDONS, w as ExamplesSchema, wt as allowedApisForFrontends, x as DbSetupOptionsSchema, xt as STATIC_DESKTOP_ADDONS, y as DatabaseSetupSchema, yt as PRISMA_COMPUTE_WEB_FRONTENDS, z as PAYMENTS_VALUES, zt as supportsOrmDatabase } from "./schemas-B-p9IhC-.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region src/analytics.ts
|
|
4
4
|
/** Values emitted by supported CLIs plus retired values kept for historical ingestion. */
|
|
@@ -91,27 +91,6 @@ const AnalyticsEventSchema = z.object({
|
|
|
91
91
|
mode: AnalyticsModeSchema.optional()
|
|
92
92
|
});
|
|
93
93
|
//#endregion
|
|
94
|
-
//#region src/constants.ts
|
|
95
|
-
const webFrontends = [
|
|
96
|
-
"tanstack-router",
|
|
97
|
-
"react-router",
|
|
98
|
-
"tanstack-start",
|
|
99
|
-
"next",
|
|
100
|
-
"nuxt",
|
|
101
|
-
"svelte",
|
|
102
|
-
"solid",
|
|
103
|
-
"astro"
|
|
104
|
-
];
|
|
105
|
-
const desktopWebFrontends = [
|
|
106
|
-
"tanstack-router",
|
|
107
|
-
"react-router",
|
|
108
|
-
"tanstack-start",
|
|
109
|
-
"next",
|
|
110
|
-
"nuxt",
|
|
111
|
-
"svelte",
|
|
112
|
-
"astro"
|
|
113
|
-
];
|
|
114
|
-
//#endregion
|
|
115
94
|
//#region src/deployment.ts
|
|
116
95
|
const ALCHEMY_DEPLOY_TARGETS = ["cloudflare", "prisma"];
|
|
117
96
|
const ALCHEMY_DATABASE_SETUPS = [
|
|
@@ -147,6 +126,6 @@ function getLocalD1Owner(config) {
|
|
|
147
126
|
return "none";
|
|
148
127
|
}
|
|
149
128
|
//#endregion
|
|
150
|
-
export { ADDONS_VALUES, ALCHEMY_DATABASE_SETUPS, ALCHEMY_DEPLOY_TARGETS, ANALYTICS_ADDON_VALUES, ANALYTICS_CLI_MAJOR, ANALYTICS_CLI_MAX_MINOR, ANALYTICS_CLI_MAX_PATCH, ANALYTICS_MODE_VALUES, ANALYTICS_NODE_MAX_MAJOR, ANALYTICS_NODE_MIN_MAJOR, ANALYTICS_PLATFORM_VALUES, APISchema, API_VALUES, AUTH_VALUES, AddInputSchema, AddonOptionsSchema, AddonsSchema, AnalyticsAddonSchema, AnalyticsEventSchema, AnalyticsModeSchema, AnalyticsPlatformSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CLIInputSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DbSetupModeSchema, DbSetupOptionsSchema, DirectoryConflictSchema, EXAMPLES_VALUES, ExamplesSchema, FRONTEND_VALUES, FrontendSchema, FumadocsAiChatSchema, FumadocsOgImageSchema, FumadocsSearchSchema, FumadocsTemplateSchema, InitResultSchema, InstallScopeSchema, McpAgentSchema, McpServerSchema, NeonSetupMethodSchema, ORMSchema, ORM_VALUES, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, RUNTIME_VALUES, RuntimeSchema, SERVER_DEPLOY_VALUES, ServerDeploySchema, SkillSelectionSchema, SkillsAgentSchema, SkillsSourceSchema, TEMPLATE_VALUES, TemplateSchema, TuiTemplateSchema, UltraciteAgentSchema, UltraciteEditorSchema, UltraciteHookSchema, UltraciteLinterSchema, WEB_DEPLOY_VALUES, WebDeploySchema, WorkspacePackageNameSchema, WxtTemplateSchema, desktopWebFrontends, getLocalD1Owner, isAlchemyDatabaseSetup, isAlchemyDeployTarget, normalizeAnalyticsCLIVersion, normalizeAnalyticsNodeVersion, normalizeAnalyticsSelection, supportsAlchemyManagedDatabase, usesAlchemyManagedDatabase, webFrontends };
|
|
129
|
+
export { ADDONS_VALUES, ADDON_COMPATIBILITY, AI_INCOMPATIBLE_FRONTENDS, ALCHEMY_DATABASE_SETUPS, ALCHEMY_DEPLOY_TARGETS, ANALYTICS_ADDON_VALUES, ANALYTICS_CLI_MAJOR, ANALYTICS_CLI_MAX_MINOR, ANALYTICS_CLI_MAX_PATCH, ANALYTICS_MODE_VALUES, ANALYTICS_NODE_MAX_MAJOR, ANALYTICS_NODE_MIN_MAJOR, ANALYTICS_PLATFORM_VALUES, APISchema, API_VALUES, AUTH_VALUES, AddInputSchema, AddonOptionsSchema, AddonsSchema, AnalyticsAddonSchema, AnalyticsEventSchema, AnalyticsModeSchema, AnalyticsPlatformSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CLERK_INCOMPATIBLE_FRONTENDS, CLERK_SUPPORTED_FRONTENDS, CLIInputSchema, CONVEX_AI_INCOMPATIBLE_FRONTENDS, CONVEX_BETTER_AUTH_INCOMPATIBLE_FRONTENDS, CONVEX_BETTER_AUTH_SUPPORTED_FRONTENDS, CONVEX_INCOMPATIBLE_FRONTENDS, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DESKTOP_STATIC_EXPORT_FRONTENDS, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DbSetupModeSchema, DbSetupOptionsSchema, DirectoryConflictSchema, EXAMPLES_VALUES, ExamplesSchema, FRONTEND_VALUES, FULLSTACK_FRONTENDS, FrontendSchema, FumadocsAiChatSchema, FumadocsOgImageSchema, FumadocsSearchSchema, FumadocsTemplateSchema, InitResultSchema, InstallScopeSchema, McpAgentSchema, McpServerSchema, NeonSetupMethodSchema, OBSERVABILITY_ADDONS, ORMSchema, ORM_VALUES, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PRISMA_COMPUTE_WEB_FRONTENDS, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, RUNTIME_VALUES, RuntimeSchema, SERVER_BACKENDS, SERVER_DEPLOY_VALUES, STATIC_DESKTOP_ADDONS, ServerDeploySchema, SkillSelectionSchema, SkillsAgentSchema, SkillsSourceSchema, TASK_RUNNER_ADDONS, TEMPLATE_VALUES, TRPC_INCOMPATIBLE_FRONTENDS, TemplateSchema, TuiTemplateSchema, UltraciteAgentSchema, UltraciteEditorSchema, UltraciteHookSchema, UltraciteLinterSchema, WEB_DEPLOY_VALUES, WebDeploySchema, WorkspacePackageNameSchema, WxtTemplateSchema, allowedApisForFrontends, desktopWebFrontends, getBackendDisabledOptions, getDatabaseSetupDatabases, getDesktopDeployConflict, getLocalD1Owner, hasCloudflareNextPostgresConflict, isAlchemyDatabaseSetup, isAlchemyDeployTarget, isExampleAIAllowed, isExampleTodoAllowed, isFrontendAllowedWithBackend, isTauriBlockedByConvexBetterAuth, normalizeAnalyticsCLIVersion, normalizeAnalyticsNodeVersion, normalizeAnalyticsSelection, supportsAlchemyManagedDatabase, supportsClerkBackend, supportsClerkFrontend, supportsConvexBetterAuth, supportsDatabaseSetup, supportsDatabaseSetupRuntime, supportsEvlogAddon, supportsOrmDatabase, supportsPaymentsAuth, supportsPrismaWebDeploy, supportsRuntimeBackend, supportsRuntimeDatabase, supportsServerDeployRuntime, usesAlchemyManagedDatabase, validateAddonCompatibility, webFrontends };
|
|
151
130
|
|
|
152
131
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/analytics.ts","../src/constants.ts","../src/deployment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport {\n ADDONS_VALUES,\n APISchema,\n AuthSchema,\n BackendSchema,\n DatabaseSchema,\n DatabaseSetupSchema,\n EXAMPLES_VALUES,\n ExamplesSchema,\n FRONTEND_VALUES,\n FrontendSchema,\n ORMSchema,\n PackageManagerSchema,\n PaymentsSchema,\n RuntimeSchema,\n ServerDeploySchema,\n WebDeploySchema,\n} from \"./schemas\";\n\n/** Values emitted by supported CLIs plus retired values kept for historical ingestion. */\nexport const ANALYTICS_ADDON_VALUES = [...ADDONS_VALUES, \"ruler\"] as const;\n\nexport const ANALYTICS_PLATFORM_VALUES = [\n \"aix\",\n \"android\",\n \"cygwin\",\n \"darwin\",\n \"freebsd\",\n \"haiku\",\n \"linux\",\n \"netbsd\",\n \"openbsd\",\n \"sunos\",\n \"win32\",\n] as const;\n\nexport const ANALYTICS_CLI_MAJOR = 3;\nexport const ANALYTICS_CLI_MAX_MINOR = 99;\nexport const ANALYTICS_CLI_MAX_PATCH = 99;\nexport const ANALYTICS_NODE_MIN_MAJOR = 18;\nexport const ANALYTICS_NODE_MAX_MAJOR = 30;\n\n/** How the CLI was driven for the run that produced the event. */\nexport const ANALYTICS_MODE_VALUES = [\"interactive\", \"flags\", \"yes\", \"json\", \"api\", \"mcp\"] as const;\n\nexport const AnalyticsAddonSchema = z.enum(ANALYTICS_ADDON_VALUES);\nexport const AnalyticsPlatformSchema = z.enum(ANALYTICS_PLATFORM_VALUES);\nexport const AnalyticsModeSchema = z.enum(ANALYTICS_MODE_VALUES);\nexport type AnalyticsMode = z.infer<typeof AnalyticsModeSchema>;\n\nconst CLIVersionSchema = z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$/)\n .refine((version) => normalizeAnalyticsCLIVersion(version) !== \"other\");\n\nconst NodeVersionSchema = z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^v?\\d+(?:\\.\\d+){0,2}(?:-[0-9A-Za-z.-]+)?$/)\n .refine((version) => normalizeAnalyticsNodeVersion(version) !== \"other\");\n\nfunction hasUniqueValues(values: string[]): boolean {\n return new Set(values).size === values.length;\n}\n\nfunction hasNoMixedNone(values: string[]): boolean {\n return values.length <= 1 || !values.includes(\"none\");\n}\n\nexport function normalizeAnalyticsSelection<T extends string>(values: T[] | undefined): T[] {\n return values && values.length > 0 ? values : ([\"none\"] as T[]);\n}\n\nconst AnalyticsFrontendListSchema = z\n .array(FrontendSchema)\n .max(FRONTEND_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nconst AnalyticsAddonListSchema = z\n .array(AnalyticsAddonSchema)\n .max(ANALYTICS_ADDON_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nconst AnalyticsExampleListSchema = z\n .array(ExamplesSchema)\n .max(EXAMPLES_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nexport function normalizeAnalyticsCLIVersion(version: string): string {\n const match = /^(\\d+)\\.(\\d+)\\.(\\d+)/.exec(version);\n if (!match) return \"other\";\n\n const major = Number(match[1]);\n const minor = Number(match[2]);\n const patch = Number(match[3]);\n if (\n major !== ANALYTICS_CLI_MAJOR ||\n minor > ANALYTICS_CLI_MAX_MINOR ||\n patch > ANALYTICS_CLI_MAX_PATCH\n ) {\n return \"other\";\n }\n\n return `${major}.${minor}.${patch}`;\n}\n\nexport function normalizeAnalyticsNodeVersion(version: string): string {\n const match = /^v?(\\d+)/.exec(version);\n if (!match) return \"other\";\n\n const major = Number(match[1]);\n if (major < ANALYTICS_NODE_MIN_MAJOR || major > ANALYTICS_NODE_MAX_MAJOR) {\n return \"other\";\n }\n\n return `v${major}`;\n}\n\n/**\n * The public analytics ingestion contract. Project fields stay optional so older\n * CLI releases remain compatible, while every supplied value has bounded\n * cardinality. Unknown properties are intentionally stripped before storage.\n */\nexport const AnalyticsEventSchema = z.object({\n database: DatabaseSchema.optional(),\n orm: ORMSchema.optional(),\n backend: BackendSchema.optional(),\n runtime: RuntimeSchema.optional(),\n frontend: AnalyticsFrontendListSchema.optional(),\n addons: AnalyticsAddonListSchema.optional(),\n examples: AnalyticsExampleListSchema.optional(),\n auth: AuthSchema.optional(),\n payments: PaymentsSchema.optional(),\n git: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n install: z.boolean().optional(),\n dbSetup: DatabaseSetupSchema.optional(),\n api: APISchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n cli_version: CLIVersionSchema,\n node_version: NodeVersionSchema,\n platform: AnalyticsPlatformSchema,\n mode: AnalyticsModeSchema.optional(),\n});\n\nexport type AnalyticsEvent = z.infer<typeof AnalyticsEventSchema>;\n","import type { DesktopWebFrontend, WebFrontend } from \"./types\";\n\nexport const webFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"solid\",\n \"astro\",\n] as const satisfies readonly Exclude<WebFrontend, \"none\">[];\n\nexport const desktopWebFrontends = [\n \"tanstack-router\",\n \"react-router\",\n \"tanstack-start\",\n \"next\",\n \"nuxt\",\n \"svelte\",\n \"astro\",\n] as const satisfies readonly DesktopWebFrontend[];\n","import type { DatabaseSetup, Frontend, ProjectConfig, ServerDeploy, WebDeploy } from \"./types\";\n\nexport const ALCHEMY_DEPLOY_TARGETS = [\"cloudflare\", \"prisma\"] as const;\n\nexport const ALCHEMY_DATABASE_SETUPS = [\"neon\", \"planetscale\", \"prisma-postgres\"] as const;\n\nexport type LocalD1Owner = \"wrangler\" | \"alchemy-provider\" | \"none\";\n\nconst WRANGLER_LOCAL_D1_FRONTENDS = [\n \"next\",\n \"svelte\",\n \"solid\",\n] as const satisfies readonly Frontend[];\nconst ALCHEMY_PROVIDER_LOCAL_D1_FRONTENDS = [\n \"nuxt\",\n \"astro\",\n] as const satisfies readonly Frontend[];\n\nexport function isAlchemyDeployTarget(\n target: WebDeploy | ServerDeploy | undefined,\n): target is (typeof ALCHEMY_DEPLOY_TARGETS)[number] {\n return ALCHEMY_DEPLOY_TARGETS.some((value) => value === target);\n}\n\nexport function isAlchemyDatabaseSetup(\n setup: DatabaseSetup | undefined,\n): setup is (typeof ALCHEMY_DATABASE_SETUPS)[number] {\n return ALCHEMY_DATABASE_SETUPS.some((value) => value === setup);\n}\n\ntype AlchemyDatabaseConfig = Pick<\n ProjectConfig,\n \"backend\" | \"dbSetup\" | \"dbSetupOptions\" | \"webDeploy\" | \"serverDeploy\"\n>;\n\nexport function supportsAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean {\n if (!isAlchemyDatabaseSetup(config.dbSetup)) return false;\n\n return config.backend === \"self\"\n ? isAlchemyDeployTarget(config.webDeploy)\n : isAlchemyDeployTarget(config.serverDeploy);\n}\n\nexport function usesAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean {\n if (!supportsAlchemyManagedDatabase(config)) return false;\n\n const mode = config.dbSetupOptions?.mode;\n return mode === undefined || mode === \"alchemy\";\n}\n\nexport function getLocalD1Owner(\n config: Pick<ProjectConfig, \"backend\" | \"dbSetup\" | \"frontend\" | \"webDeploy\">,\n): LocalD1Owner {\n if (config.backend !== \"self\" || config.dbSetup !== \"d1\" || config.webDeploy !== \"cloudflare\") {\n return \"none\";\n }\n\n if (WRANGLER_LOCAL_D1_FRONTENDS.some((framework) => config.frontend.includes(framework))) {\n return \"wrangler\";\n }\n\n if (\n ALCHEMY_PROVIDER_LOCAL_D1_FRONTENDS.some((framework) => config.frontend.includes(framework))\n ) {\n return \"alchemy-provider\";\n }\n\n return \"none\";\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/analytics.ts","../src/deployment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport {\n ADDONS_VALUES,\n APISchema,\n AuthSchema,\n BackendSchema,\n DatabaseSchema,\n DatabaseSetupSchema,\n EXAMPLES_VALUES,\n ExamplesSchema,\n FRONTEND_VALUES,\n FrontendSchema,\n ORMSchema,\n PackageManagerSchema,\n PaymentsSchema,\n RuntimeSchema,\n ServerDeploySchema,\n WebDeploySchema,\n} from \"./schemas\";\n\n/** Values emitted by supported CLIs plus retired values kept for historical ingestion. */\nexport const ANALYTICS_ADDON_VALUES = [...ADDONS_VALUES, \"ruler\"] as const;\n\nexport const ANALYTICS_PLATFORM_VALUES = [\n \"aix\",\n \"android\",\n \"cygwin\",\n \"darwin\",\n \"freebsd\",\n \"haiku\",\n \"linux\",\n \"netbsd\",\n \"openbsd\",\n \"sunos\",\n \"win32\",\n] as const;\n\nexport const ANALYTICS_CLI_MAJOR = 3;\nexport const ANALYTICS_CLI_MAX_MINOR = 99;\nexport const ANALYTICS_CLI_MAX_PATCH = 99;\nexport const ANALYTICS_NODE_MIN_MAJOR = 18;\nexport const ANALYTICS_NODE_MAX_MAJOR = 30;\n\n/** How the CLI was driven for the run that produced the event. */\nexport const ANALYTICS_MODE_VALUES = [\"interactive\", \"flags\", \"yes\", \"json\", \"api\", \"mcp\"] as const;\n\nexport const AnalyticsAddonSchema = z.enum(ANALYTICS_ADDON_VALUES);\nexport const AnalyticsPlatformSchema = z.enum(ANALYTICS_PLATFORM_VALUES);\nexport const AnalyticsModeSchema = z.enum(ANALYTICS_MODE_VALUES);\nexport type AnalyticsMode = z.infer<typeof AnalyticsModeSchema>;\n\nconst CLIVersionSchema = z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$/)\n .refine((version) => normalizeAnalyticsCLIVersion(version) !== \"other\");\n\nconst NodeVersionSchema = z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^v?\\d+(?:\\.\\d+){0,2}(?:-[0-9A-Za-z.-]+)?$/)\n .refine((version) => normalizeAnalyticsNodeVersion(version) !== \"other\");\n\nfunction hasUniqueValues(values: string[]): boolean {\n return new Set(values).size === values.length;\n}\n\nfunction hasNoMixedNone(values: string[]): boolean {\n return values.length <= 1 || !values.includes(\"none\");\n}\n\nexport function normalizeAnalyticsSelection<T extends string>(values: T[] | undefined): T[] {\n return values && values.length > 0 ? values : ([\"none\"] as T[]);\n}\n\nconst AnalyticsFrontendListSchema = z\n .array(FrontendSchema)\n .max(FRONTEND_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nconst AnalyticsAddonListSchema = z\n .array(AnalyticsAddonSchema)\n .max(ANALYTICS_ADDON_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nconst AnalyticsExampleListSchema = z\n .array(ExamplesSchema)\n .max(EXAMPLES_VALUES.length)\n .refine(hasUniqueValues)\n .refine(hasNoMixedNone)\n .transform(normalizeAnalyticsSelection);\n\nexport function normalizeAnalyticsCLIVersion(version: string): string {\n const match = /^(\\d+)\\.(\\d+)\\.(\\d+)/.exec(version);\n if (!match) return \"other\";\n\n const major = Number(match[1]);\n const minor = Number(match[2]);\n const patch = Number(match[3]);\n if (\n major !== ANALYTICS_CLI_MAJOR ||\n minor > ANALYTICS_CLI_MAX_MINOR ||\n patch > ANALYTICS_CLI_MAX_PATCH\n ) {\n return \"other\";\n }\n\n return `${major}.${minor}.${patch}`;\n}\n\nexport function normalizeAnalyticsNodeVersion(version: string): string {\n const match = /^v?(\\d+)/.exec(version);\n if (!match) return \"other\";\n\n const major = Number(match[1]);\n if (major < ANALYTICS_NODE_MIN_MAJOR || major > ANALYTICS_NODE_MAX_MAJOR) {\n return \"other\";\n }\n\n return `v${major}`;\n}\n\n/**\n * The public analytics ingestion contract. Project fields stay optional so older\n * CLI releases remain compatible, while every supplied value has bounded\n * cardinality. Unknown properties are intentionally stripped before storage.\n */\nexport const AnalyticsEventSchema = z.object({\n database: DatabaseSchema.optional(),\n orm: ORMSchema.optional(),\n backend: BackendSchema.optional(),\n runtime: RuntimeSchema.optional(),\n frontend: AnalyticsFrontendListSchema.optional(),\n addons: AnalyticsAddonListSchema.optional(),\n examples: AnalyticsExampleListSchema.optional(),\n auth: AuthSchema.optional(),\n payments: PaymentsSchema.optional(),\n git: z.boolean().optional(),\n packageManager: PackageManagerSchema.optional(),\n install: z.boolean().optional(),\n dbSetup: DatabaseSetupSchema.optional(),\n api: APISchema.optional(),\n webDeploy: WebDeploySchema.optional(),\n serverDeploy: ServerDeploySchema.optional(),\n cli_version: CLIVersionSchema,\n node_version: NodeVersionSchema,\n platform: AnalyticsPlatformSchema,\n mode: AnalyticsModeSchema.optional(),\n});\n\nexport type AnalyticsEvent = z.infer<typeof AnalyticsEventSchema>;\n","import type { DatabaseSetup, Frontend, ProjectConfig, ServerDeploy, WebDeploy } from \"./types\";\n\nexport const ALCHEMY_DEPLOY_TARGETS = [\"cloudflare\", \"prisma\"] as const;\n\nexport const ALCHEMY_DATABASE_SETUPS = [\"neon\", \"planetscale\", \"prisma-postgres\"] as const;\n\nexport type LocalD1Owner = \"wrangler\" | \"alchemy-provider\" | \"none\";\n\nconst WRANGLER_LOCAL_D1_FRONTENDS = [\n \"next\",\n \"svelte\",\n \"solid\",\n] as const satisfies readonly Frontend[];\nconst ALCHEMY_PROVIDER_LOCAL_D1_FRONTENDS = [\n \"nuxt\",\n \"astro\",\n] as const satisfies readonly Frontend[];\n\nexport function isAlchemyDeployTarget(\n target: WebDeploy | ServerDeploy | undefined,\n): target is (typeof ALCHEMY_DEPLOY_TARGETS)[number] {\n return ALCHEMY_DEPLOY_TARGETS.some((value) => value === target);\n}\n\nexport function isAlchemyDatabaseSetup(\n setup: DatabaseSetup | undefined,\n): setup is (typeof ALCHEMY_DATABASE_SETUPS)[number] {\n return ALCHEMY_DATABASE_SETUPS.some((value) => value === setup);\n}\n\ntype AlchemyDatabaseConfig = Pick<\n ProjectConfig,\n \"backend\" | \"dbSetup\" | \"dbSetupOptions\" | \"webDeploy\" | \"serverDeploy\"\n>;\n\nexport function supportsAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean {\n if (!isAlchemyDatabaseSetup(config.dbSetup)) return false;\n\n return config.backend === \"self\"\n ? isAlchemyDeployTarget(config.webDeploy)\n : isAlchemyDeployTarget(config.serverDeploy);\n}\n\nexport function usesAlchemyManagedDatabase(config: AlchemyDatabaseConfig): boolean {\n if (!supportsAlchemyManagedDatabase(config)) return false;\n\n const mode = config.dbSetupOptions?.mode;\n return mode === undefined || mode === \"alchemy\";\n}\n\nexport function getLocalD1Owner(\n config: Pick<ProjectConfig, \"backend\" | \"dbSetup\" | \"frontend\" | \"webDeploy\">,\n): LocalD1Owner {\n if (config.backend !== \"self\" || config.dbSetup !== \"d1\" || config.webDeploy !== \"cloudflare\") {\n return \"none\";\n }\n\n if (WRANGLER_LOCAL_D1_FRONTENDS.some((framework) => config.frontend.includes(framework))) {\n return \"wrangler\";\n }\n\n if (\n ALCHEMY_PROVIDER_LOCAL_D1_FRONTENDS.some((framework) => config.frontend.includes(framework))\n ) {\n return \"alchemy-provider\";\n }\n\n return \"none\";\n}\n"],"mappings":"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"}
|