@better-fullstack/types 2.6.4 → 2.6.6
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/{defaults-B8xnKlp6.d.mts → defaults-CXCA_IXN.d.mts} +2 -2
- package/dist/defaults.d.mts +3 -3
- package/dist/index.d.mts +29 -16
- package/dist/index.mjs +5 -5
- package/dist/json-schema.d.mts +12 -0
- package/dist/json-schema.mjs +1 -1
- package/dist/{schemas-CgldOz7b.d.mts → schemas-DMxQS38P.d.mts} +12 -2
- package/dist/{schemas-CywxHrK2.mjs → schemas-DWWJaBQD.mjs} +2 -1
- package/dist/schemas.d.mts +1 -1
- package/dist/schemas.mjs +1 -1
- package/dist/{stack-graph-B1N4281Q.mjs → stack-graph-BLqsCkqk.mjs} +130 -12
- package/dist/{stack-graph-C5tnlzLw.d.mts → stack-graph-ocCFxrnc.d.mts} +3 -2
- package/dist/stack-graph.d.mts +3 -3
- package/dist/stack-graph.mjs +2 -2
- package/dist/{stack-translation-vg1Nwe1o.d.mts → stack-translation-DDecTM8V.d.mts} +23 -6
- package/dist/{stack-translation-DYhRy_yT.mjs → stack-translation-HKhp-rYK.mjs} +173 -14
- package/dist/stack-translation.d.mts +5 -5
- package/dist/stack-translation.mjs +4 -4
- package/dist/{telemetry-C3RfYkCK.mjs → telemetry-BjMbLJUQ.mjs} +4 -4
- package/dist/telemetry.mjs +4 -4
- package/dist/{types-BvyHjJEI.d.mts → types-DAJKUOQ_.d.mts} +2 -2
- package/dist/types.d.mts +2 -2
- package/package.json +2 -1
- package/dist/defaults-B8xnKlp6.d.mts.map +0 -1
- package/dist/defaults-nq08Mnf5.mjs.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/json-schema.d.mts.map +0 -1
- package/dist/json-schema.mjs.map +0 -1
- package/dist/schemas-CgldOz7b.d.mts.map +0 -1
- package/dist/schemas-CywxHrK2.mjs.map +0 -1
- package/dist/stack-graph-B1N4281Q.mjs.map +0 -1
- package/dist/stack-graph-C5tnlzLw.d.mts.map +0 -1
- package/dist/stack-translation-DYhRy_yT.mjs.map +0 -1
- package/dist/stack-translation-vg1Nwe1o.d.mts.map +0 -1
- package/dist/telemetry-C3RfYkCK.mjs.map +0 -1
- package/dist/telemetry-D4mP-fTC.d.mts.map +0 -1
- package/dist/types-BvyHjJEI.d.mts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Mn as Runtime, c as AstroIntegration, dt as Forms, ft as Frontend, g as CSSFramework, i as Addons, ir as StackPartRole, l as Auth, m as CLIInput, n as API, o as Analytics, on as ProjectConfig, rr as StackPartEcosystem, t as AI, u as Backend, ur as UILibrary } from "./types-
|
|
2
|
-
import { t as CliDefaultProjectConfigBase } from "./defaults-
|
|
1
|
+
import { Mn as Runtime, c as AstroIntegration, dt as Forms, ft as Frontend, g as CSSFramework, i as Addons, ir as StackPartRole, l as Auth, m as CLIInput, n as API, o as Analytics, on as ProjectConfig, rr as StackPartEcosystem, t as AI, u as Backend, ur as UILibrary } from "./types-DAJKUOQ_.mjs";
|
|
2
|
+
import { t as CliDefaultProjectConfigBase } from "./defaults-CXCA_IXN.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/catalog/option-metadata.d.ts
|
|
5
5
|
type OptionCategory = "api" | "webFrontend" | "nativeFrontend" | "astroIntegration" | "runtime" | "backend" | "database" | "orm" | "dbSetup" | "webDeploy" | "serverDeploy" | "auth" | "payments" | "email" | "fileUpload" | "logging" | "observability" | "backendLibraries" | "stateManagement" | "forms" | "validation" | "testing" | "realtime" | "jobQueue" | "caching" | "rateLimit" | "botProtection" | "i18n" | "search" | "vectorDb" | "fileStorage" | "animation" | "cssFramework" | "uiLibrary" | "cms" | "featureFlags" | "integrations" | "ecommerce" | "analytics" | "webMcp" | "mobileNavigation" | "mobileUI" | "mobileStorage" | "mobileTesting" | "mobilePush" | "mobileOTA" | "mobileDeepLinking" | "mobileLibraries" | "codeQuality" | "documentation" | "appShells" | "appPlatforms" | "toolchainProfile" | "workspaceRunner" | "codeQualityProfile" | "gitHooks" | "staticAnalysis" | "aiTooling" | "testingTools" | "dataClient" | "frontendUtilities" | "httpClientTool" | "codeGeneration" | "developerEnvironment" | "containerOrchestration" | "apiGateway" | "continuousIntegration" | "backendUtilitiesTool" | "packageManager" | "workspaceShape" | "versionChannel" | "examples" | "ai" | "aiDocs" | "git" | "install" | "effect" | "shadcnBase" | "shadcnStyle" | "shadcnIconLibrary" | "shadcnColorTheme" | "shadcnBaseColor" | "shadcnFont" | "shadcnRadius" | "rustWebFramework" | "rustFrontend" | "dotnetFrontend" | "kotlinMobile" | "kotlinMobileLibraries" | "swiftMobile" | "dartMobile" | "rustOrm" | "rustApi" | "rustCli" | "rustLibraries" | "rustLogging" | "rustErrorHandling" | "rustCaching" | "rustAuth" | "rustRealtime" | "rustMessageQueue" | "rustObservability" | "rustTemplating" | "pythonWebFramework" | "pythonOrm" | "pythonValidation" | "pythonAi" | "pythonAuth" | "pythonApi" | "pythonTaskQueue" | "pythonGraphql" | "pythonQuality" | "pythonTesting" | "pythonCaching" | "pythonRealtime" | "pythonObservability" | "pythonCli" | "pythonCloudSdk" | "pythonHttpClient" | "pythonData" | "pythonMedia" | "pythonServer" | "pythonPackageManager" | "pythonMessageQueue" | "goWebFramework" | "goOrm" | "goApi" | "goCli" | "goLogging" | "goAuth" | "goTesting" | "goRealtime" | "goMessageQueue" | "goCaching" | "goConfig" | "goObservability" | "goValidation" | "goQuality" | "goMigrations" | "goTemplating" | "goProtoTooling" | "goDI" | "javaLanguage" | "javaWebFramework" | "javaBuildTool" | "javaOrm" | "javaAuth" | "javaApi" | "javaLogging" | "javaLibraries" | "javaTestingLibraries" | "dotnetWebFramework" | "dotnetOrm" | "dotnetAuth" | "dotnetApi" | "dotnetTesting" | "dotnetJobQueue" | "dotnetRealtime" | "dotnetObservability" | "dotnetValidation" | "dotnetCaching" | "dotnetDeploy" | "dotnetLibraries" | "elixirWebFramework" | "elixirOrm" | "elixirAuth" | "elixirApi" | "elixirRealtime" | "elixirJobs" | "elixirValidation" | "elixirHttp" | "elixirJson" | "elixirEmail" | "elixirCaching" | "elixirObservability" | "elixirTesting" | "elixirQuality" | "elixirI18n" | "elixirHttpServer" | "elixirApplicationFramework" | "elixirDocumentation" | "elixirClustering" | "elixirDeploy" | "elixirLibraries";
|
|
@@ -107,6 +107,17 @@ declare function hasSignozSupportedGoServerTarget(stack: {
|
|
|
107
107
|
declare function isSignozSupportedPythonWebFramework(framework: string): boolean;
|
|
108
108
|
declare const KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES: ReadonlySet<string>;
|
|
109
109
|
declare const KOTLIN_DROPPED_JAVA_LIBRARIES: ReadonlySet<string>;
|
|
110
|
+
declare const KOTLIN_SUPPORTED_JAVA_WEB_FRAMEWORKS: ReadonlySet<string>;
|
|
111
|
+
declare const KOTLIN_SUPPORTED_JAVA_ORM: ReadonlySet<string>;
|
|
112
|
+
declare const KOTLIN_SUPPORTED_JAVA_API: ReadonlySet<string>;
|
|
113
|
+
declare const KOTLIN_JAVA_ONLY_SHARED_TOOLS: Readonly<Record<string, ReadonlySet<string>>>;
|
|
114
|
+
declare const KOTLIN_HIDDEN_SHARED_CATEGORIES: ReadonlySet<string>;
|
|
115
|
+
declare function isKotlinJavaStack(stack: {
|
|
116
|
+
ecosystem?: string;
|
|
117
|
+
javaLanguage?: string;
|
|
118
|
+
}): boolean;
|
|
119
|
+
declare function isKotlinBackendSelection(backendEcosystem: string | undefined, backendLanguage: string | undefined): boolean;
|
|
120
|
+
declare function isKotlinIncompatibleOption(category: string, optionId: string): boolean;
|
|
110
121
|
type KotlinJavaGateInput = {
|
|
111
122
|
javaWebFramework?: string;
|
|
112
123
|
javaBuildTool?: string;
|
|
@@ -331,7 +342,9 @@ type CompatibilityAnalysisResult = {
|
|
|
331
342
|
* generator drops the workspace tooling when it flattens.
|
|
332
343
|
*/
|
|
333
344
|
declare function stackQualifiesForSingleApp(stack: CompatibilityInput): boolean;
|
|
334
|
-
declare const analyzeStackCompatibility: (stack: CompatibilityInput
|
|
345
|
+
declare const analyzeStackCompatibility: (stack: CompatibilityInput, options?: {
|
|
346
|
+
normalizeCodeQualityProfiles?: boolean;
|
|
347
|
+
}) => CompatibilityAnalysisResult;
|
|
335
348
|
/**
|
|
336
349
|
* Returns a reason why an option is disabled, or null if it's enabled.
|
|
337
350
|
*
|
|
@@ -364,7 +377,7 @@ declare function validateAddonCompatibility(addon: Addons, frontend: Frontend[],
|
|
|
364
377
|
isCompatible: boolean;
|
|
365
378
|
reason?: string;
|
|
366
379
|
};
|
|
367
|
-
declare function getCompatibleAddons(allAddons: Addons[], frontend: Frontend[], existingAddons?: Addons[], auth?: Auth): ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "knip" | "gitleaks" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "kong" | "github-actions" | "eslint" | "prettier" | "axios" | "firebase" | "graphql-codegen" | "openapi-typescript" | "apollo-client" | "electron" | "capacitor")[];
|
|
380
|
+
declare function getCompatibleAddons(allAddons: Addons[], frontend: Frontend[], existingAddons?: Addons[], auth?: Auth): ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "knip" | "gitleaks" | "ruler" | "mcp" | "skills" | "turborepo" | "nx" | "vite-plus" | "fumadocs" | "ultracite" | "oxlint" | "shadcn-lint" | "opentui" | "wxt" | "msw" | "storybook" | "swr" | "tanstack-query" | "tanstack-table" | "tanstack-virtual" | "tanstack-db" | "tanstack-pacer" | "backend-utils" | "devcontainer" | "docker-compose" | "kong" | "github-actions" | "eslint" | "prettier" | "axios" | "firebase" | "graphql-codegen" | "openapi-typescript" | "apollo-client" | "electron" | "capacitor")[];
|
|
368
381
|
declare function getCompatibleUILibraries(frontends?: Frontend[], astroIntegration?: AstroIntegration): UILibrary[];
|
|
369
382
|
declare function getCompatibleCSSFrameworks(uiLibrary: UILibrary | undefined, frontends?: Frontend[]): CSSFramework[];
|
|
370
383
|
declare function hasWebStyling(frontends?: Frontend[]): boolean;
|
|
@@ -581,6 +594,10 @@ declare const PACKAGE_MANAGER_COMMANDS: {
|
|
|
581
594
|
readonly bun: "bun create better-fullstack@latest";
|
|
582
595
|
};
|
|
583
596
|
declare function processCliArrayOption<T>(options: readonly (T | "none")[] | undefined): T[];
|
|
597
|
+
/** Refresh only capability fields from the graph, preserving the primary application editor state. */
|
|
598
|
+
declare function projectGraphScopedSelections(selection: StackSelectionInput): StackSelectionInput;
|
|
599
|
+
/** Update the graph's explicit capabilities when a builder field changes. */
|
|
600
|
+
declare function patchGraphScopedSelections(selection: StackSelectionInput, updates: Partial<StackSelectionInput>): Partial<StackSelectionInput>;
|
|
584
601
|
declare function isGraphStackSelection(selection: Pick<StackSelectionInput, "stackMode" | "stackPartSpecs">): boolean;
|
|
585
602
|
declare function isStackSelectionDefault<K extends keyof StackSelectionState>(selection: StackSelectionState, key: K, value: StackSelectionState[K]): boolean;
|
|
586
603
|
declare function cliInputToProjectConfigPartial(input: CLIInput, projectName?: string): Partial<ProjectConfig>;
|
|
@@ -589,5 +606,5 @@ declare function stackSelectionToCliComparableConfig(selection: StackSelectionIn
|
|
|
589
606
|
declare function isCliDefaultStackSelection(selection: StackSelectionInput, projectName?: string): boolean;
|
|
590
607
|
declare function generateStackSelectionCommand(selection: StackSelectionInput): string;
|
|
591
608
|
//#endregion
|
|
592
|
-
export {
|
|
593
|
-
//# sourceMappingURL=stack-translation-
|
|
609
|
+
export { formatCompatibilityDecision as $, OptionCategoryMetadata as $t, usesVirtualNoneStackSelection as A, supportsAnalyticsFrontends as At, CompatibilityIssue as B, isBackendUtilsCompatibleBackend as Bt, parseStackSelectionFromSearch as C, isTurnstileWebFrontend as Ct, projectGraphScopedSelections as D, requiresChatSdkVercelAIForSelection as Dt, processCliArrayOption as E, requiresChatSdkVercelAI as Et, CompatibilityCategory as F, getUnsupportedWebDeployFrontend as Ft, KOTLIN_SUPPORTED_JAVA_API as G, DOTNET_CATEGORY_ORDER as Gt, KOTLIN_DROPPED_JAVA_LIBRARIES as H, isExampleChatSdkAllowed as Ht, CompatibilityDecision as I, hasDockerComposeCompatibleFrontend as It, KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES as J, JAVA_CATEGORY_ORDER as Jt, KOTLIN_SUPPORTED_JAVA_ORM as K, ELIXIR_CATEGORY_ORDER as Kt, CompatibilityEvaluation as L, hasPWACompatibleFrontend as Lt, CompatibilityAdjustment as M, validateProjectName as Mt, CompatibilityAnalysisResult as N, BACKEND_UTILS_COMPATIBLE_BACKENDS as Nt, stackSelectionToCliComparableConfig as O, splitFrontends as Ot, CompatibilityCapabilityReference as P, UI_LIBRARY_COMPATIBILITY as Pt, evaluateCompatibility as Q, OptionCategoryEcosystem as Qt, CompatibilityExplanation as R, hasTanStackAICompatibleFrontend as Rt, normalizeStackSelectionValue as S, isSignozSupportedPythonWebFramework as St, patchGraphScopedSelections as T, isWebFrontend as Tt, KOTLIN_HIDDEN_SHARED_CATEGORIES as U, requiresChatSdkVercelAIForExamples as Ut, CompatibilityStackPartReference as V, isExampleAIAllowed as Vt, KOTLIN_JAVA_ONLY_SHARED_TOOLS as W, CATEGORY_ORDER as Wt, allowedApisForFrontends as X, OPTION_CATEGORY_METADATA as Xt, KotlinJavaGateInput as Y, MULTI_ECOSYSTEM_MOBILE_CATEGORIES as Yt, analyzeStackCompatibility as Z, OptionCategory as Zt, isArrayStackSelectionKey as _, isKotlinIncompatibleOption as _t, STACK_SELECTION_OPTION_CATEGORY_BY_KEY as a, TYPESCRIPT_CATEGORY_ORDER as an, getCompatibleCSSFrameworks as at, isStackSelectionDefault as b, isReactNativeOnlyCategory as bt, StackSelectionInput as c, getCategoryOptionIds as cn, getDisabledReason as ct, StackSelectionState as d, isMultiEcosystemMobileCategory as dn, hasSignozSupportedGoServerTarget as dt, OptionMetadata as en, getAIFrontendCompatibilityIssue as et, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS as f, isMultiSelectCategory as fn, hasWebStyling as ft, generateStackSelectionCommand as g, isKotlinBackendSelection as gt, createStackSelectionSearchParams as h, isFrontendAllowedWithBackend as ht, STACK_SELECTION_KEYS as i, RUST_CATEGORY_ORDER as in, getCompatibleAddons as it, ANALYTICS_FRONTEND_SUPPORT as j, validateAddonCompatibility as jt, stackSelectionToProjectConfig as k, stackQualifiesForSingleApp as kt, StackSelectionKey as l, getCategoryOrderForEcosystem as ln, getKotlinJavaIncompatibilityReason as lt, cloneDefaultStackSelection as m, isBotIdWebFrontend as mt, NON_OPTION_STACK_SELECTION_KEYS as n, PYTHON_CATEGORY_ORDER as nn, getCompatibilityDecision as nt, STACK_SELECTION_URL_KEYS as o, getCategoryCliValues as on, getCompatibleFormLibraries as ot, cliInputToProjectConfigPartial as p, normalizeOptionId as pn, isAnalyticsFrontendSupported as pt, KOTLIN_SUPPORTED_JAVA_WEB_FRAMEWORKS as q, GO_CATEGORY_ORDER as qt, PACKAGE_MANAGER_COMMANDS as r, REACT_NATIVE_CATEGORY_ORDER as rn, getCompatibilityExplanation as rt, StackProjectConfigOptions as s, getCategoryDisplayName as sn, getCompatibleUILibraries as st, DEFAULT_STACK_SELECTION as t, OptionSelectionMode as tn, getApiFrontendCompatibilityIssue as tt, StackSelectionMode as u, getOptionMetadata as un, hasReactNativeApp as ut, isCliDefaultStackSelection as v, isKotlinJavaStack as vt, parseStackSelectionFromUrlRecord as w, isVercelAnalyticsFrontend as wt, normalizeStackSelection as x, isSignozSupportedGoWebFramework as xt, isGraphStackSelection as y, isOptionCompatible as yt, CompatibilityInput as z, hasTauriCompatibleFrontend as zt };
|
|
610
|
+
//# sourceMappingURL=stack-translation-DDecTM8V.d.mts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, At as ELIXIR_JSON_VALUES, B as DOTNET_AUTH_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Ci as PYTHON_TESTING_VALUES, Cn as GO_API_VALUES, Ct as ELIXIR_DEPLOY_VALUES, D as CACHING_VALUES, Dn as GO_CONFIG_VALUES, Dt as ELIXIR_HTTP_VALUES, En as GO_CLI_VALUES, Et as ELIXIR_HTTP_SERVER_VALUES, F as DART_MOBILE_VALUES, Fa as SHADCN_BASE_VALUES, Fn as GO_QUALITY_VALUES, Ft as ELIXIR_REALTIME_VALUES, G as DOTNET_LIBRARIES_VALUES, H as DOTNET_DEPLOY_VALUES, Ha as STATE_MANAGEMENT_VALUES, Hr as MOBILE_TESTING_VALUES, I as DATABASE_SETUP_VALUES, Ia as SHADCN_COLOR_THEME_VALUES, In as GO_REALTIME_VALUES, Ir as MOBILE_DEEP_LINKING_VALUES, It as ELIXIR_TESTING_VALUES, J as DOTNET_REALTIME_VALUES, K as DOTNET_OBSERVABILITY_VALUES, L as DATABASE_VALUES, La as SHADCN_FONT_VALUES, Ln as GO_TEMPLATING_VALUES, Lr as MOBILE_LIBRARIES_VALUES, Lt as ELIXIR_VALIDATION_VALUES, M as CSS_FRAMEWORK_VALUES, Ma as SEARCH_VALUES, Mn as GO_OBSERVABILITY_VALUES, Mt as ELIXIR_OBSERVABILITY_VALUES, Na as SERVER_DEPLOY_VALUES, Nn as GO_ORM_VALUES, Nt as ELIXIR_ORM_VALUES, On as GO_DI_VALUES, Ot as ELIXIR_I18N_VALUES, Pa as SHADCN_BASE_COLOR_VALUES, Pn as GO_PROTO_TOOLING_VALUES, Pr as LOGGING_VALUES, Pt as ELIXIR_QUALITY_VALUES, Qi as RATE_LIMIT_VALUES, Qr as OBSERVABILITY_VALUES, Ra as SHADCN_ICON_LIBRARY_VALUES, Rn as GO_TESTING_VALUES, Rr as MOBILE_NAVIGATION_VALUES, Rt as ELIXIR_WEB_FRAMEWORK_VALUES, Si as PYTHON_TASK_QUEUE_VALUES, St as ELIXIR_CLUSTERING_VALUES, Ti as PYTHON_WEB_FRAMEWORK_VALUES, Tn as GO_CACHING_VALUES, Tt as ELIXIR_EMAIL_VALUES, U as DOTNET_FRONTEND_VALUES, Ua as SWIFT_MOBILE_VALUES, Ur as MOBILE_UI_VALUES, V as DOTNET_CACHING_VALUES, Va as SHADCN_STYLE_VALUES, Vr as MOBILE_STORAGE_VALUES, W as DOTNET_JOB_QUEUE_VALUES, X as DOTNET_VALIDATION_VALUES, Y as DOTNET_TESTING_VALUES, Z as DOTNET_WEB_FRAMEWORK_VALUES, _i as PYTHON_ORM_VALUES, _r as JAVA_TESTING_LIBRARIES_VALUES, _t as EFFECT_VALUES, a as ANALYTICS_VALUES, aa as RUST_ERROR_HANDLING_VALUES, ai as PYTHON_AI_VALUES, ar as I18N_VALUES, b as BOT_PROTECTION_VALUES, bi as PYTHON_REALTIME_VALUES, bo as WORKSPACE_SHAPE_VALUES, bt as ELIXIR_AUTH_VALUES, c as API_VALUES, ca as RUST_LOGGING_VALUES, ci as PYTHON_CACHING_VALUES, d as AUTH_VALUES, da as RUST_ORM_VALUES, di as PYTHON_DATA_VALUES, do as UI_LIBRARY_VALUES, dr as JAVA_AUTH_VALUES, ea as RUNTIME_VALUES, ei as ORM_VALUES, fa as RUST_REALTIME_VALUES, fi as PYTHON_GRAPHQL_VALUES, fo as VALIDATION_VALUES, fr as JAVA_BUILD_TOOL_VALUES, gi as PYTHON_OBSERVABILITY_VALUES, gn as FORMS_VALUES, gr as JAVA_ORM_VALUES, hi as PYTHON_MESSAGE_QUEUE_VALUES, hn as FILE_UPLOAD_VALUES, hr as JAVA_LOGGING_VALUES, ht as ECOMMERCE_VALUES, i as AI_VALUES, ia as RUST_CLI_VALUES, jn as GO_MIGRATIONS_VALUES, jr as KOTLIN_MOBILE_VALUES, jt as ELIXIR_LIBRARIES_VALUES, kn as GO_LOGGING_VALUES, kt as ELIXIR_JOBS_VALUES, l as APP_PLATFORM_ADDON_VALUES, la as RUST_MESSAGE_QUEUE_VALUES, li as PYTHON_CLI_VALUES, ma as RUST_WEB_FRAMEWORK_VALUES, mi as PYTHON_MEDIA_VALUES, mn as FILE_STORAGE_VALUES, mo as VERSION_CHANNEL_VALUES, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_VALUES, ni as PACKAGE_MANAGER_VALUES, o as ANIMATION_VALUES, oa as RUST_FRONTEND_VALUES, oi as PYTHON_API_VALUES, pa as RUST_TEMPLATING_VALUES, pi as PYTHON_HTTP_CLIENT_VALUES, pn as FEATURE_FLAGS_VALUES, po as VECTOR_DB_VALUES, pr as JAVA_LANGUAGE_VALUES, q as DOTNET_ORM_VALUES, r as AI_DOCS_VALUES, ra as RUST_CACHING_VALUES, ri as PAYMENTS_VALUES, sa as RUST_LIBRARIES_VALUES, si as PYTHON_AUTH_VALUES, so as TESTING_VALUES, sr as INTEGRATIONS_VALUES, ta as RUST_API_VALUES, u as ASTRO_INTEGRATION_VALUES, ua as RUST_OBSERVABILITY_VALUES, ui as PYTHON_CLOUD_SDK_VALUES, ur as JAVA_API_VALUES, vi as PYTHON_PACKAGE_MANAGER_VALUES, vo as WEB_DEPLOY_VALUES, vr as JAVA_WEB_FRAMEWORK_VALUES, vt as ELIXIR_API_VALUES, wi as PYTHON_VALIDATION_VALUES, wn as GO_AUTH_VALUES, wt as ELIXIR_DOCUMENTATION_VALUES, xi as PYTHON_SERVER_VALUES, xt as ELIXIR_CACHING_VALUES, yi as PYTHON_QUALITY_VALUES, yo as WEB_MCP_VALUES, yr as JOB_QUEUE_VALUES, yt as ELIXIR_APPLICATION_FRAMEWORK_VALUES, z as DOTNET_API_VALUES, za as SHADCN_RADIUS_VALUES, zn as GO_VALIDATION_VALUES, zr as MOBILE_OTA_VALUES, zt as EMAIL_VALUES } from "./schemas-
|
|
2
|
-
import { A as hasTanStackAICompatibleFrontend, D as getUnsupportedWebDeployFrontend, E as UI_LIBRARY_COMPATIBILITY, F as requiresChatSdkVercelAIForExamples,
|
|
1
|
+
import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, At as ELIXIR_JSON_VALUES, B as DOTNET_AUTH_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Ci as PYTHON_TESTING_VALUES, Cn as GO_API_VALUES, Ct as ELIXIR_DEPLOY_VALUES, D as CACHING_VALUES, Dn as GO_CONFIG_VALUES, Dt as ELIXIR_HTTP_VALUES, En as GO_CLI_VALUES, Et as ELIXIR_HTTP_SERVER_VALUES, F as DART_MOBILE_VALUES, Fa as SHADCN_BASE_VALUES, Fn as GO_QUALITY_VALUES, Ft as ELIXIR_REALTIME_VALUES, G as DOTNET_LIBRARIES_VALUES, H as DOTNET_DEPLOY_VALUES, Ha as STATE_MANAGEMENT_VALUES, Hr as MOBILE_TESTING_VALUES, I as DATABASE_SETUP_VALUES, Ia as SHADCN_COLOR_THEME_VALUES, In as GO_REALTIME_VALUES, Ir as MOBILE_DEEP_LINKING_VALUES, It as ELIXIR_TESTING_VALUES, J as DOTNET_REALTIME_VALUES, K as DOTNET_OBSERVABILITY_VALUES, L as DATABASE_VALUES, La as SHADCN_FONT_VALUES, Ln as GO_TEMPLATING_VALUES, Lr as MOBILE_LIBRARIES_VALUES, Lt as ELIXIR_VALIDATION_VALUES, M as CSS_FRAMEWORK_VALUES, Ma as SEARCH_VALUES, Mn as GO_OBSERVABILITY_VALUES, Mt as ELIXIR_OBSERVABILITY_VALUES, Na as SERVER_DEPLOY_VALUES, Nn as GO_ORM_VALUES, Nt as ELIXIR_ORM_VALUES, On as GO_DI_VALUES, Ot as ELIXIR_I18N_VALUES, Pa as SHADCN_BASE_COLOR_VALUES, Pn as GO_PROTO_TOOLING_VALUES, Pr as LOGGING_VALUES, Pt as ELIXIR_QUALITY_VALUES, Qi as RATE_LIMIT_VALUES, Qr as OBSERVABILITY_VALUES, Ra as SHADCN_ICON_LIBRARY_VALUES, Rn as GO_TESTING_VALUES, Rr as MOBILE_NAVIGATION_VALUES, Rt as ELIXIR_WEB_FRAMEWORK_VALUES, Si as PYTHON_TASK_QUEUE_VALUES, St as ELIXIR_CLUSTERING_VALUES, Ti as PYTHON_WEB_FRAMEWORK_VALUES, Tn as GO_CACHING_VALUES, Tt as ELIXIR_EMAIL_VALUES, U as DOTNET_FRONTEND_VALUES, Ua as SWIFT_MOBILE_VALUES, Ur as MOBILE_UI_VALUES, V as DOTNET_CACHING_VALUES, Va as SHADCN_STYLE_VALUES, Vr as MOBILE_STORAGE_VALUES, W as DOTNET_JOB_QUEUE_VALUES, X as DOTNET_VALIDATION_VALUES, Y as DOTNET_TESTING_VALUES, Z as DOTNET_WEB_FRAMEWORK_VALUES, _i as PYTHON_ORM_VALUES, _r as JAVA_TESTING_LIBRARIES_VALUES, _t as EFFECT_VALUES, a as ANALYTICS_VALUES, aa as RUST_ERROR_HANDLING_VALUES, ai as PYTHON_AI_VALUES, ar as I18N_VALUES, b as BOT_PROTECTION_VALUES, bi as PYTHON_REALTIME_VALUES, bo as WORKSPACE_SHAPE_VALUES, bt as ELIXIR_AUTH_VALUES, c as API_VALUES, ca as RUST_LOGGING_VALUES, ci as PYTHON_CACHING_VALUES, d as AUTH_VALUES, da as RUST_ORM_VALUES, di as PYTHON_DATA_VALUES, do as UI_LIBRARY_VALUES, dr as JAVA_AUTH_VALUES, ea as RUNTIME_VALUES, ei as ORM_VALUES, fa as RUST_REALTIME_VALUES, fi as PYTHON_GRAPHQL_VALUES, fo as VALIDATION_VALUES, fr as JAVA_BUILD_TOOL_VALUES, gi as PYTHON_OBSERVABILITY_VALUES, gn as FORMS_VALUES, gr as JAVA_ORM_VALUES, hi as PYTHON_MESSAGE_QUEUE_VALUES, hn as FILE_UPLOAD_VALUES, hr as JAVA_LOGGING_VALUES, ht as ECOMMERCE_VALUES, i as AI_VALUES, ia as RUST_CLI_VALUES, jn as GO_MIGRATIONS_VALUES, jr as KOTLIN_MOBILE_VALUES, jt as ELIXIR_LIBRARIES_VALUES, kn as GO_LOGGING_VALUES, kt as ELIXIR_JOBS_VALUES, l as APP_PLATFORM_ADDON_VALUES, la as RUST_MESSAGE_QUEUE_VALUES, li as PYTHON_CLI_VALUES, ma as RUST_WEB_FRAMEWORK_VALUES, mi as PYTHON_MEDIA_VALUES, mn as FILE_STORAGE_VALUES, mo as VERSION_CHANNEL_VALUES, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_VALUES, ni as PACKAGE_MANAGER_VALUES, o as ANIMATION_VALUES, oa as RUST_FRONTEND_VALUES, oi as PYTHON_API_VALUES, pa as RUST_TEMPLATING_VALUES, pi as PYTHON_HTTP_CLIENT_VALUES, pn as FEATURE_FLAGS_VALUES, po as VECTOR_DB_VALUES, pr as JAVA_LANGUAGE_VALUES, q as DOTNET_ORM_VALUES, r as AI_DOCS_VALUES, ra as RUST_CACHING_VALUES, ri as PAYMENTS_VALUES, sa as RUST_LIBRARIES_VALUES, si as PYTHON_AUTH_VALUES, so as TESTING_VALUES, sr as INTEGRATIONS_VALUES, ta as RUST_API_VALUES, u as ASTRO_INTEGRATION_VALUES, ua as RUST_OBSERVABILITY_VALUES, ui as PYTHON_CLOUD_SDK_VALUES, ur as JAVA_API_VALUES, vi as PYTHON_PACKAGE_MANAGER_VALUES, vo as WEB_DEPLOY_VALUES, vr as JAVA_WEB_FRAMEWORK_VALUES, vt as ELIXIR_API_VALUES, wi as PYTHON_VALIDATION_VALUES, wn as GO_AUTH_VALUES, wt as ELIXIR_DOCUMENTATION_VALUES, xi as PYTHON_SERVER_VALUES, xt as ELIXIR_CACHING_VALUES, yi as PYTHON_QUALITY_VALUES, yo as WEB_MCP_VALUES, yr as JOB_QUEUE_VALUES, yt as ELIXIR_APPLICATION_FRAMEWORK_VALUES, z as DOTNET_API_VALUES, za as SHADCN_RADIUS_VALUES, zn as GO_VALIDATION_VALUES, zr as MOBILE_OTA_VALUES, zt as EMAIL_VALUES } from "./schemas-DWWJaBQD.mjs";
|
|
2
|
+
import { $ as isToolingOverlayOnly, A as hasTanStackAICompatibleFrontend, D as getUnsupportedWebDeployFrontend, E as UI_LIBRARY_COMPATIBILITY, F as requiresChatSdkVercelAIForExamples, I as SHADCN_LINT_FRONTENDS, L as getCodeQualitySelectionIssue, Q as getToolingSelectionOptions, S as stackPartsToLegacyProjectConfigPartial, V as normalizeCodeQualityProfiles, X as getToolingCapability, b as projectStackPartSettingsToProjectConfig, c as formatStackPartSpec, d as getStackPartCompatibilityIssueForPart, g as legacyProjectConfigToStackParts, j as hasTauriCompatibleFrontend, k as hasPWACompatibleFrontend, l as getAddonStackPartBinding, m as hasJavaScriptWorkspaceRoot, tt as toolingRequiresJavaScriptWorkspace, v as mergeProjectConfigSettingsIntoStackParts, w as validateStackParts, y as parseStackPartSpecs, z as getShadcnLintFrontendIssue } from "./stack-graph-BLqsCkqk.mjs";
|
|
3
3
|
import { t as createCliDefaultProjectConfigBase } from "./defaults-nq08Mnf5.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/capabilities/capabilities.ts
|
|
@@ -706,6 +706,7 @@ const BACKEND_BUILDER_VALUES = [
|
|
|
706
706
|
"none"
|
|
707
707
|
];
|
|
708
708
|
const CODE_QUALITY_VALUES = [
|
|
709
|
+
"shadcn-lint",
|
|
709
710
|
"biome",
|
|
710
711
|
"eslint",
|
|
711
712
|
"prettier",
|
|
@@ -748,6 +749,7 @@ const toolingSelectionIds = (category) => getToolingSelectionOptions(category).m
|
|
|
748
749
|
const EXAMPLE_VALUES = ["ai", "chat-sdk"];
|
|
749
750
|
const BOOLEAN_OPTION_VALUES = ["true", "false"];
|
|
750
751
|
const MULTI_SELECT_CATEGORIES = new Set([
|
|
752
|
+
"codeQualityProfile",
|
|
751
753
|
"webFrontend",
|
|
752
754
|
"nativeFrontend",
|
|
753
755
|
"codeQuality",
|
|
@@ -1223,6 +1225,7 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
1223
1225
|
eslint: "ESLint",
|
|
1224
1226
|
prettier: "Prettier",
|
|
1225
1227
|
oxlint: "Oxlint",
|
|
1228
|
+
"shadcn-lint": "shadcn/lint",
|
|
1226
1229
|
ultracite: "Ultracite",
|
|
1227
1230
|
lefthook: "Lefthook",
|
|
1228
1231
|
husky: "Husky",
|
|
@@ -2220,6 +2223,50 @@ const KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES = new Set([
|
|
|
2220
2223
|
"jqwik"
|
|
2221
2224
|
]);
|
|
2222
2225
|
const KOTLIN_DROPPED_JAVA_LIBRARIES = new Set(["lombok", "mapstruct"]);
|
|
2226
|
+
const KOTLIN_SUPPORTED_JAVA_WEB_FRAMEWORKS = new Set([
|
|
2227
|
+
"spring-boot",
|
|
2228
|
+
"ktor",
|
|
2229
|
+
"none"
|
|
2230
|
+
]);
|
|
2231
|
+
const KOTLIN_SUPPORTED_JAVA_ORM = new Set(["spring-data-jpa", "none"]);
|
|
2232
|
+
const KOTLIN_SUPPORTED_JAVA_API = new Set(["spring-graphql", "none"]);
|
|
2233
|
+
const KOTLIN_JAVA_ONLY_SHARED_TOOLS = {
|
|
2234
|
+
email: new Set(["resend"]),
|
|
2235
|
+
search: new Set(["meilisearch"]),
|
|
2236
|
+
caching: new Set(["upstash-redis"]),
|
|
2237
|
+
observability: new Set(["sentry"])
|
|
2238
|
+
};
|
|
2239
|
+
const KOTLIN_HIDDEN_SHARED_CATEGORIES = new Set([
|
|
2240
|
+
"caching",
|
|
2241
|
+
"search",
|
|
2242
|
+
"email",
|
|
2243
|
+
"observability"
|
|
2244
|
+
]);
|
|
2245
|
+
function isKotlinJavaStack(stack) {
|
|
2246
|
+
return stack.ecosystem === "java" && stack.javaLanguage === "kotlin";
|
|
2247
|
+
}
|
|
2248
|
+
function isKotlinBackendSelection(backendEcosystem, backendLanguage) {
|
|
2249
|
+
return backendEcosystem === "java" && backendLanguage === "kotlin";
|
|
2250
|
+
}
|
|
2251
|
+
function isKotlinIncompatibleOption(category, optionId) {
|
|
2252
|
+
switch (category) {
|
|
2253
|
+
case "javaWebFramework":
|
|
2254
|
+
if (optionId === "none") return false;
|
|
2255
|
+
return !KOTLIN_SUPPORTED_JAVA_WEB_FRAMEWORKS.has(optionId);
|
|
2256
|
+
case "javaBuildTool": return optionId === "none";
|
|
2257
|
+
case "javaOrm":
|
|
2258
|
+
case "javaApi":
|
|
2259
|
+
if (optionId === "none") return false;
|
|
2260
|
+
return category === "javaOrm" ? !KOTLIN_SUPPORTED_JAVA_ORM.has(optionId) : !KOTLIN_SUPPORTED_JAVA_API.has(optionId);
|
|
2261
|
+
case "javaLibraries": return KOTLIN_DROPPED_JAVA_LIBRARIES.has(optionId);
|
|
2262
|
+
case "javaTestingLibraries": return KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES.has(optionId);
|
|
2263
|
+
case "email":
|
|
2264
|
+
case "search":
|
|
2265
|
+
case "caching":
|
|
2266
|
+
case "observability": return KOTLIN_JAVA_ONLY_SHARED_TOOLS[category]?.has(optionId) ?? false;
|
|
2267
|
+
default: return false;
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2223
2270
|
function getKotlinJavaIncompatibilityReason(stack) {
|
|
2224
2271
|
if (stack.javaWebFramework !== "spring-boot" && stack.javaWebFramework !== "ktor") return "Kotlin sources are only wired for the Spring Boot and Ktor scaffolds";
|
|
2225
2272
|
if (!stack.javaBuildTool || stack.javaBuildTool === "none") return "Kotlin requires Maven or Gradle";
|
|
@@ -2402,7 +2449,7 @@ function stackQualifiesForSingleApp(stack) {
|
|
|
2402
2449
|
return true;
|
|
2403
2450
|
}
|
|
2404
2451
|
const usesCloudflareFullstackRuntime = (stack) => stack.webDeploy === "cloudflare" && FULLSTACK_SELF_BACKENDS.has(stack.backend);
|
|
2405
|
-
const analyzeStackCompatibility = (stack) => {
|
|
2452
|
+
const analyzeStackCompatibility = (stack, options = {}) => {
|
|
2406
2453
|
if (stack.yolo === "true") return {
|
|
2407
2454
|
adjustedStack: null,
|
|
2408
2455
|
notes: {},
|
|
@@ -4014,6 +4061,26 @@ const analyzeStackCompatibility = (stack) => {
|
|
|
4014
4061
|
message: "Workspace shape set to 'Monorepo' (single-app only supports a thin self app: Next.js or TanStack Start fullstack with no separate database/auth/api/server packages)"
|
|
4015
4062
|
});
|
|
4016
4063
|
}
|
|
4064
|
+
const normalizedProfiles = options.normalizeCodeQualityProfiles === false ? nextStack.codeQuality : normalizeCodeQualityProfiles(nextStack.codeQuality);
|
|
4065
|
+
if (normalizedProfiles.length !== nextStack.codeQuality.length || normalizedProfiles.some((toolId, index) => toolId !== nextStack.codeQuality[index])) {
|
|
4066
|
+
nextStack.codeQuality = normalizedProfiles;
|
|
4067
|
+
changed = true;
|
|
4068
|
+
changes.push({
|
|
4069
|
+
category: "codeQuality",
|
|
4070
|
+
message: "Code Quality adjusted to one complete base profile, with shadcn/lint as the optional second selection."
|
|
4071
|
+
});
|
|
4072
|
+
}
|
|
4073
|
+
if (nextStack.codeQuality.includes("shadcn-lint")) {
|
|
4074
|
+
const reason = getCodeQualitySelectionIssue(nextStack.codeQuality) ?? getShadcnLintFrontendIssue(nextStack.webFrontend, nextStack.cssFramework);
|
|
4075
|
+
if (reason) {
|
|
4076
|
+
nextStack.codeQuality = nextStack.codeQuality.filter((toolId) => toolId !== "shadcn-lint");
|
|
4077
|
+
changed = true;
|
|
4078
|
+
changes.push({
|
|
4079
|
+
category: "codeQuality",
|
|
4080
|
+
message: `Removed shadcn/lint: ${reason}`
|
|
4081
|
+
});
|
|
4082
|
+
}
|
|
4083
|
+
}
|
|
4017
4084
|
return {
|
|
4018
4085
|
adjustedStack: changed ? nextStack : null,
|
|
4019
4086
|
notes,
|
|
@@ -4793,7 +4860,7 @@ function getAddonOrExampleGraphBinding(category, optionId) {
|
|
|
4793
4860
|
allowOwnerlessCandidate: true,
|
|
4794
4861
|
authoritative: true
|
|
4795
4862
|
};
|
|
4796
|
-
if (category !== "appPlatforms") return void 0;
|
|
4863
|
+
if (category !== "appPlatforms" && category !== "codeQuality") return void 0;
|
|
4797
4864
|
const binding = getAddonStackPartBinding(optionId);
|
|
4798
4865
|
if (!binding) return void 0;
|
|
4799
4866
|
return {
|
|
@@ -5535,6 +5602,7 @@ const ADDON_COMPATIBILITY = {
|
|
|
5535
5602
|
mcp: [],
|
|
5536
5603
|
skills: [],
|
|
5537
5604
|
oxlint: [],
|
|
5605
|
+
"shadcn-lint": SHADCN_LINT_FRONTENDS,
|
|
5538
5606
|
fumadocs: [],
|
|
5539
5607
|
opentui: [],
|
|
5540
5608
|
wxt: [],
|
|
@@ -7510,8 +7578,8 @@ function expandScopedStackPartSpecs(specs, fields) {
|
|
|
7510
7578
|
const stackPartSpecSet = new Set(stackPartSpecs);
|
|
7511
7579
|
const getPrimary = (role, ecosystem) => stackParts.find((part) => part.role === role && part.ecosystem === ecosystem && !part.ownerPartId && part.source !== "provided");
|
|
7512
7580
|
const hasScoped = (ownerId, role, ecosystem, toolId, allowMultiple = false) => stackParts.some((part) => part.role === role && part.ecosystem === ecosystem && part.ownerPartId === ownerId && part.source !== "provided" && (allowMultiple ? part.toolId === toolId : true));
|
|
7513
|
-
for (const { ownerRole, ecosystem, role, value, allowMultiple, replaceExisting } of fields) {
|
|
7514
|
-
const owner = ownerRole ? getPrimary(ownerRole, ecosystem) : void 0;
|
|
7581
|
+
for (const { ownerPartId, ownerRole, ecosystem, role, value, allowMultiple, replaceExisting } of fields) {
|
|
7582
|
+
const owner = ownerPartId ? stackParts.find((part) => part.id === ownerPartId) : ownerRole ? getPrimary(ownerRole, ecosystem) : void 0;
|
|
7515
7583
|
if (replaceExisting && value !== void 0 && owner) {
|
|
7516
7584
|
const matchingParts = stackParts.filter((part) => part.role === role && part.ecosystem === ecosystem && part.ownerPartId === owner.id && part.source !== "provided");
|
|
7517
7585
|
for (const part of matchingParts) {
|
|
@@ -7533,8 +7601,9 @@ function expandScopedStackPartSpecs(specs, fields) {
|
|
|
7533
7601
|
}
|
|
7534
7602
|
continue;
|
|
7535
7603
|
}
|
|
7536
|
-
|
|
7537
|
-
|
|
7604
|
+
const alreadyOwned = !ownerPartId && stackParts.some((part) => !part.ownerPartId && part.role === ownerRole && part.ecosystem === ecosystem && hasScoped(part.id, role, ecosystem, toolId, allowMultiple));
|
|
7605
|
+
if (!owner || alreadyOwned || hasScoped(owner.id, role, ecosystem, toolId, allowMultiple)) continue;
|
|
7606
|
+
const spec = `${stackParts.filter((part) => !part.ownerPartId && part.source !== "provided" && part.role === ownerRole && part.ecosystem === ecosystem).length > 1 ? owner.id : ownerRole}.${role}:${ecosystem}:${toolId}`;
|
|
7538
7607
|
if (!stackPartSpecSet.has(spec)) {
|
|
7539
7608
|
stackPartSpecs.push(spec);
|
|
7540
7609
|
stackPartSpecSet.add(spec);
|
|
@@ -7670,6 +7739,84 @@ function getSelectionScopedPartFields(selection) {
|
|
|
7670
7739
|
...getExampleScopedPartFields(selection.examples)
|
|
7671
7740
|
];
|
|
7672
7741
|
}
|
|
7742
|
+
/** Refresh only capability fields from the graph, preserving the primary application editor state. */
|
|
7743
|
+
function projectGraphScopedSelections(selection) {
|
|
7744
|
+
if (!isGraphStackSelection(selection) || selection.stackPartSpecs.length === 0) return selection;
|
|
7745
|
+
const parts = parseStackPartSpecs(selection.stackPartSpecs, "selected").filter((part) => part.source !== "provided");
|
|
7746
|
+
const rootProjection = stackPartsToLegacyProjectConfigPartial(parts.filter((part) => !part.ownerPartId));
|
|
7747
|
+
const graphProjection = stackPartsToLegacyProjectConfigPartial(parts);
|
|
7748
|
+
const patch = {};
|
|
7749
|
+
for (const [key, category] of Object.entries(STACK_SELECTION_OPTION_CATEGORY_BY_KEY)) {
|
|
7750
|
+
const configKey = category;
|
|
7751
|
+
const value = graphProjection[configKey];
|
|
7752
|
+
if (JSON.stringify(value) === JSON.stringify(rootProjection[configKey])) continue;
|
|
7753
|
+
if (typeof value === "string" || Array.isArray(value) && value.every((entry) => typeof entry === "string")) patch[key] = value;
|
|
7754
|
+
}
|
|
7755
|
+
return {
|
|
7756
|
+
...selection,
|
|
7757
|
+
...patch
|
|
7758
|
+
};
|
|
7759
|
+
}
|
|
7760
|
+
/** Update the graph's explicit capabilities when a builder field changes. */
|
|
7761
|
+
function patchGraphScopedSelections(selection, updates) {
|
|
7762
|
+
if (!isGraphStackSelection(selection) || updates.stackPartSpecs) return updates;
|
|
7763
|
+
selection = projectGraphScopedSelections(selection);
|
|
7764
|
+
const next = {
|
|
7765
|
+
...selection,
|
|
7766
|
+
...updates
|
|
7767
|
+
};
|
|
7768
|
+
const groupFields = (fields) => {
|
|
7769
|
+
const groups = /* @__PURE__ */ new Map();
|
|
7770
|
+
for (const field of fields) {
|
|
7771
|
+
const key = `${field.ownerRole ?? "root"}:${field.ecosystem}:${field.role}`;
|
|
7772
|
+
const group = groups.get(key) ?? {
|
|
7773
|
+
field,
|
|
7774
|
+
values: /* @__PURE__ */ new Set()
|
|
7775
|
+
};
|
|
7776
|
+
for (const value of Array.isArray(field.value) ? field.value : [field.value]) if (value && value !== "none") group.values.add(value);
|
|
7777
|
+
groups.set(key, group);
|
|
7778
|
+
}
|
|
7779
|
+
return groups;
|
|
7780
|
+
};
|
|
7781
|
+
const before = groupFields(getSelectionScopedPartFields(selection));
|
|
7782
|
+
const after = groupFields(getSelectionScopedPartFields(next));
|
|
7783
|
+
let parts = parseStackPartSpecs(selection.stackPartSpecs, "selected").filter((part) => part.source !== "provided");
|
|
7784
|
+
const changedFields = [];
|
|
7785
|
+
for (const key of new Set([...before.keys(), ...after.keys()])) {
|
|
7786
|
+
const oldGroup = before.get(key);
|
|
7787
|
+
const newGroup = after.get(key);
|
|
7788
|
+
const oldValues = oldGroup?.values ?? /* @__PURE__ */ new Set();
|
|
7789
|
+
const newValues = newGroup?.values ?? /* @__PURE__ */ new Set();
|
|
7790
|
+
if (oldValues.size === newValues.size && [...oldValues].every((value) => newValues.has(value))) continue;
|
|
7791
|
+
const field = newGroup?.field ?? oldGroup?.field;
|
|
7792
|
+
if (!field) continue;
|
|
7793
|
+
const owners = parts.filter((part) => !part.ownerPartId && part.role === field.ownerRole && part.ecosystem === field.ecosystem);
|
|
7794
|
+
const projectedCapability = parts.findLast((part) => part.role === field.role && part.ecosystem === field.ecosystem && oldValues.has(part.toolId) && owners.some((owner$1) => owner$1.id === part.ownerPartId));
|
|
7795
|
+
const owner = owners.find((part) => part.id === projectedCapability?.ownerPartId) ?? (owners.length === 1 ? owners[0] : void 0);
|
|
7796
|
+
if (field.allowMultiple) {
|
|
7797
|
+
parts = parts.filter((part) => !(part.role === field.role && part.ecosystem === field.ecosystem && (field.ownerRole ? owners.some((candidate) => candidate.id === part.ownerPartId) : !part.ownerPartId) && oldValues.has(part.toolId) && !newValues.has(part.toolId)));
|
|
7798
|
+
const added = [...newValues].filter((value) => !oldValues.has(value));
|
|
7799
|
+
if (added.length && (!field.ownerRole || owner)) changedFields.push({
|
|
7800
|
+
...field,
|
|
7801
|
+
ownerPartId: owner?.id,
|
|
7802
|
+
value: added
|
|
7803
|
+
});
|
|
7804
|
+
continue;
|
|
7805
|
+
}
|
|
7806
|
+
if (field.ownerRole && !owner) continue;
|
|
7807
|
+
parts = parts.filter((part) => !(part.ownerPartId === owner?.id && part.role === field.role && part.ecosystem === field.ecosystem));
|
|
7808
|
+
changedFields.push({
|
|
7809
|
+
...field,
|
|
7810
|
+
ownerPartId: owner?.id,
|
|
7811
|
+
value: [...newValues]
|
|
7812
|
+
});
|
|
7813
|
+
}
|
|
7814
|
+
const specs = parts.map((part) => formatStackPartSpec(part, parts));
|
|
7815
|
+
return {
|
|
7816
|
+
...updates,
|
|
7817
|
+
stackPartSpecs: expandScopedStackPartSpecs(specs, changedFields)
|
|
7818
|
+
};
|
|
7819
|
+
}
|
|
7673
7820
|
function getCliScopedPartFields(input) {
|
|
7674
7821
|
const getValue = (key) => {
|
|
7675
7822
|
const value = input[key];
|
|
@@ -7808,12 +7955,23 @@ function getSelectableStackPartSpecs(specs) {
|
|
|
7808
7955
|
return specs.filter((spec) => spec.split(":")[2] !== "none");
|
|
7809
7956
|
}
|
|
7810
7957
|
function isGraphStackSelection(selection) {
|
|
7811
|
-
return
|
|
7958
|
+
return selection.stackMode === "multi" || String(selection.stackMode) === "graph";
|
|
7812
7959
|
}
|
|
7813
7960
|
function getGraphStackParts(selection) {
|
|
7814
|
-
const
|
|
7961
|
+
const hasJavaScript = hasJavaScriptWorkspaceRoot(parseStackPartSpecs(selection.stackPartSpecs, "selected"));
|
|
7962
|
+
const fields = getSelectionScopedPartFields(selection).map((field) => ({
|
|
7963
|
+
...field,
|
|
7964
|
+
value: (Array.isArray(field.value) ? field.value : [field.value]).filter((value) => value && (hasJavaScript || !toolingRequiresJavaScriptWorkspace(value)))
|
|
7965
|
+
}));
|
|
7966
|
+
const stackPartSpecs = expandScopedStackPartSpecs(selection.stackPartSpecs.filter((spec) => hasJavaScript || !toolingRequiresJavaScriptWorkspace(spec.split(":")[2] ?? "")), fields);
|
|
7815
7967
|
const stackParts = parseStackPartSpecs(stackPartSpecs, "selected");
|
|
7816
|
-
const
|
|
7968
|
+
const selectableStackParts = parseStackPartSpecs(getSelectableStackPartSpecs(stackPartSpecs), "selected");
|
|
7969
|
+
if (!selectableStackParts.some((part) => !part.ownerPartId && part.source !== "provided" && [
|
|
7970
|
+
"frontend",
|
|
7971
|
+
"backend",
|
|
7972
|
+
"mobile"
|
|
7973
|
+
].includes(part.role))) throw new Error("Choose at least one application before generating a project.");
|
|
7974
|
+
const validation = validateStackParts(selectableStackParts);
|
|
7817
7975
|
if (validation.issues.length > 0) throw new Error(validation.issues.map((issue) => issue.message).join("\n"));
|
|
7818
7976
|
return mergeProjectConfigSettingsIntoStackParts(stackParts, selection);
|
|
7819
7977
|
}
|
|
@@ -8103,6 +8261,7 @@ function buildProjectConfigBase(selection, projectName, relativePath, install) {
|
|
|
8103
8261
|
return {
|
|
8104
8262
|
...baseConfig,
|
|
8105
8263
|
...loweredGraphConfig,
|
|
8264
|
+
addons: loweredGraphConfig.addons ?? [],
|
|
8106
8265
|
...graphBackend ? {
|
|
8107
8266
|
effect: "effect-full",
|
|
8108
8267
|
validation: "effect-schema"
|
|
@@ -8185,7 +8344,7 @@ function generateGraphCommand(selection, projectName) {
|
|
|
8185
8344
|
...hasNonTypeScriptBackend ? formatChangedStringFlags(selection, GRAPH_SHARED_BACKEND_FLAG_KEYS) : [],
|
|
8186
8345
|
...hasElixirBackend ? formatChangedStringFlags(selection, GRAPH_ELIXIR_BACKEND_FLAG_KEYS) : [],
|
|
8187
8346
|
...hasMobile ? formatChangedStringFlags(selection, GRAPH_MOBILE_FLAG_KEYS) : [],
|
|
8188
|
-
`--package-manager ${selection.packageManager}
|
|
8347
|
+
...hasJavaScriptWorkspaceRoot(stackParts) ? [`--package-manager ${selection.packageManager}`] : [],
|
|
8189
8348
|
...selection.versionChannel !== "stable" ? [`--version-channel ${selection.versionChannel}`] : [],
|
|
8190
8349
|
selection.git === "false" ? "--no-git" : "--git",
|
|
8191
8350
|
selection.install === "false" ? "--no-install" : "--install",
|
|
@@ -8474,5 +8633,5 @@ function generateStackSelectionCommand(selection) {
|
|
|
8474
8633
|
}
|
|
8475
8634
|
|
|
8476
8635
|
//#endregion
|
|
8477
|
-
export {
|
|
8478
|
-
//# sourceMappingURL=stack-translation-
|
|
8636
|
+
export { isFrontendAllowedWithBackend as $, KOTLIN_SUPPORTED_JAVA_API as A, getCategoryOptionIds as At, getCompatibilityDecision as B, stackSelectionToCliComparableConfig as C, OPTION_CATEGORY_METADATA as Ct, KOTLIN_DROPPED_JAVA_LIBRARIES as D, TYPESCRIPT_CATEGORY_ORDER as Dt, ANALYTICS_FRONTEND_SUPPORT as E, RUST_CATEGORY_ORDER as Et, analyzeStackCompatibility as F, normalizeOptionId as Ft, getCompatibleUILibraries as G, getCompatibleAddons as H, evaluateCompatibility as I, getCapabilityDefinitions as It, hasReactNativeApp as J, getDisabledReason as K, formatCompatibilityDecision as L, getCapabilityDisabledReason as Lt, KOTLIN_SUPPORTED_JAVA_WEB_FRAMEWORKS as M, getOptionMetadata as Mt, KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES as N, isMultiEcosystemMobileCategory as Nt, KOTLIN_HIDDEN_SHARED_CATEGORIES as O, getCategoryCliValues as Ot, allowedApisForFrontends as P, isMultiSelectCategory as Pt, isBotIdWebFrontend as Q, getAIFrontendCompatibilityIssue as R, getSupportedCapabilityOptions as Rt, projectGraphScopedSelections as S, MULTI_ECOSYSTEM_MOBILE_CATEGORIES as St, usesVirtualNoneStackSelection as T, REACT_NATIVE_CATEGORY_ORDER as Tt, getCompatibleCSSFrameworks as U, getCompatibilityExplanation as V, getCompatibleFormLibraries as W, hasWebStyling as X, hasSignozSupportedGoServerTarget as Y, isAnalyticsFrontendSupported as Z, normalizeStackSelectionValue as _, CATEGORY_ORDER as _t, STACK_SELECTION_OPTION_CATEGORY_BY_KEY as a, isSignozSupportedGoWebFramework as at, patchGraphScopedSelections as b, GO_CATEGORY_ORDER as bt, cliInputToProjectConfigPartial as c, isVercelAnalyticsFrontend as ct, generateStackSelectionCommand as d, requiresChatSdkVercelAIForSelection as dt, isKotlinBackendSelection as et, isArrayStackSelectionKey as f, splitFrontends as ft, normalizeStackSelection as g, validateProjectName as gt, isStackSelectionDefault as h, validateAddonCompatibility as ht, STACK_SELECTION_KEYS as i, isReactNativeOnlyCategory as it, KOTLIN_SUPPORTED_JAVA_ORM as j, getCategoryOrderForEcosystem as jt, KOTLIN_JAVA_ONLY_SHARED_TOOLS as k, getCategoryDisplayName as kt, cloneDefaultStackSelection as l, isWebFrontend as lt, isGraphStackSelection as m, supportsAnalyticsFrontends as mt, NON_OPTION_STACK_SELECTION_KEYS as n, isKotlinJavaStack as nt, STACK_SELECTION_URL_KEYS as o, isSignozSupportedPythonWebFramework as ot, isCliDefaultStackSelection as p, stackQualifiesForSingleApp as pt, getKotlinJavaIncompatibilityReason as q, PACKAGE_MANAGER_COMMANDS as r, isOptionCompatible as rt, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS as s, isTurnstileWebFrontend as st, DEFAULT_STACK_SELECTION as t, isKotlinIncompatibleOption as tt, createStackSelectionSearchParams as u, requiresChatSdkVercelAI as ut, parseStackSelectionFromSearch as v, DOTNET_CATEGORY_ORDER as vt, stackSelectionToProjectConfig as w, PYTHON_CATEGORY_ORDER as wt, processCliArrayOption as x, JAVA_CATEGORY_ORDER as xt, parseStackSelectionFromUrlRecord as y, ELIXIR_CATEGORY_ORDER as yt, getApiFrontendCompatibilityIssue as z, normalizeCapabilitySelection as zt };
|
|
8637
|
+
//# sourceMappingURL=stack-translation-HKhp-rYK.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./schemas-
|
|
2
|
-
import "./types-
|
|
3
|
-
import "./defaults-
|
|
4
|
-
import { C as parseStackSelectionFromSearch, D as
|
|
5
|
-
export { DEFAULT_STACK_SELECTION, NON_OPTION_STACK_SELECTION_KEYS, PACKAGE_MANAGER_COMMANDS, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, StackProjectConfigOptions, StackSelectionInput, StackSelectionKey, StackSelectionMode, StackSelectionState, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createStackSelectionSearchParams, generateStackSelectionCommand, isArrayStackSelectionKey, isCliDefaultStackSelection, isGraphStackSelection, isStackSelectionDefault, normalizeStackSelection, normalizeStackSelectionValue, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, processCliArrayOption, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection };
|
|
1
|
+
import "./schemas-DMxQS38P.mjs";
|
|
2
|
+
import "./types-DAJKUOQ_.mjs";
|
|
3
|
+
import "./defaults-CXCA_IXN.mjs";
|
|
4
|
+
import { A as usesVirtualNoneStackSelection, C as parseStackSelectionFromSearch, D as projectGraphScopedSelections, E as processCliArrayOption, O as stackSelectionToCliComparableConfig, S as normalizeStackSelectionValue, T as patchGraphScopedSelections, _ as isArrayStackSelectionKey, a as STACK_SELECTION_OPTION_CATEGORY_BY_KEY, b as isStackSelectionDefault, c as StackSelectionInput, d as StackSelectionState, f as VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, g as generateStackSelectionCommand, h as createStackSelectionSearchParams, i as STACK_SELECTION_KEYS, k as stackSelectionToProjectConfig, l as StackSelectionKey, m as cloneDefaultStackSelection, n as NON_OPTION_STACK_SELECTION_KEYS, o as STACK_SELECTION_URL_KEYS, p as cliInputToProjectConfigPartial, r as PACKAGE_MANAGER_COMMANDS, s as StackProjectConfigOptions, t as DEFAULT_STACK_SELECTION, u as StackSelectionMode, v as isCliDefaultStackSelection, w as parseStackSelectionFromUrlRecord, x as normalizeStackSelection, y as isGraphStackSelection } from "./stack-translation-DDecTM8V.mjs";
|
|
5
|
+
export { DEFAULT_STACK_SELECTION, NON_OPTION_STACK_SELECTION_KEYS, PACKAGE_MANAGER_COMMANDS, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, StackProjectConfigOptions, StackSelectionInput, StackSelectionKey, StackSelectionMode, StackSelectionState, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createStackSelectionSearchParams, generateStackSelectionCommand, isArrayStackSelectionKey, isCliDefaultStackSelection, isGraphStackSelection, isStackSelectionDefault, normalizeStackSelection, normalizeStackSelectionValue, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, patchGraphScopedSelections, processCliArrayOption, projectGraphScopedSelections, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./schemas-
|
|
2
|
-
import { C as
|
|
3
|
-
import "./stack-graph-
|
|
1
|
+
import "./schemas-DWWJaBQD.mjs";
|
|
2
|
+
import { C as stackSelectionToCliComparableConfig, S as projectGraphScopedSelections, T as usesVirtualNoneStackSelection, _ as normalizeStackSelectionValue, a as STACK_SELECTION_OPTION_CATEGORY_BY_KEY, b as patchGraphScopedSelections, c as cliInputToProjectConfigPartial, d as generateStackSelectionCommand, f as isArrayStackSelectionKey, g as normalizeStackSelection, h as isStackSelectionDefault, i as STACK_SELECTION_KEYS, l as cloneDefaultStackSelection, m as isGraphStackSelection, n as NON_OPTION_STACK_SELECTION_KEYS, o as STACK_SELECTION_URL_KEYS, p as isCliDefaultStackSelection, r as PACKAGE_MANAGER_COMMANDS, s as VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, t as DEFAULT_STACK_SELECTION, u as createStackSelectionSearchParams, v as parseStackSelectionFromSearch, w as stackSelectionToProjectConfig, x as processCliArrayOption, y as parseStackSelectionFromUrlRecord } from "./stack-translation-HKhp-rYK.mjs";
|
|
3
|
+
import "./stack-graph-BLqsCkqk.mjs";
|
|
4
4
|
|
|
5
|
-
export { DEFAULT_STACK_SELECTION, NON_OPTION_STACK_SELECTION_KEYS, PACKAGE_MANAGER_COMMANDS, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createStackSelectionSearchParams, generateStackSelectionCommand, isArrayStackSelectionKey, isCliDefaultStackSelection, isGraphStackSelection, isStackSelectionDefault, normalizeStackSelection, normalizeStackSelectionValue, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, processCliArrayOption, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection };
|
|
5
|
+
export { DEFAULT_STACK_SELECTION, NON_OPTION_STACK_SELECTION_KEYS, PACKAGE_MANAGER_COMMANDS, STACK_SELECTION_KEYS, STACK_SELECTION_OPTION_CATEGORY_BY_KEY, STACK_SELECTION_URL_KEYS, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS, cliInputToProjectConfigPartial, cloneDefaultStackSelection, createStackSelectionSearchParams, generateStackSelectionCommand, isArrayStackSelectionKey, isCliDefaultStackSelection, isGraphStackSelection, isStackSelectionDefault, normalizeStackSelection, normalizeStackSelectionValue, parseStackSelectionFromSearch, parseStackSelectionFromUrlRecord, patchGraphScopedSelections, processCliArrayOption, projectGraphScopedSelections, stackSelectionToCliComparableConfig, stackSelectionToProjectConfig, usesVirtualNoneStackSelection };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Ht as EcosystemSchema, Oi as ProjectConfigSchema, eo as StackPartRoleSchema } from "./schemas-
|
|
2
|
-
import {
|
|
3
|
-
import { a as STACK_TOOL_DEFINITIONS, c as formatStackPartSpec, g as legacyProjectConfigToStackParts, w as validateStackParts } from "./stack-graph-
|
|
1
|
+
import { Ht as EcosystemSchema, Oi as ProjectConfigSchema, eo as StackPartRoleSchema } from "./schemas-DWWJaBQD.mjs";
|
|
2
|
+
import { At as getCategoryOptionIds, Ct as OPTION_CATEGORY_METADATA, g as normalizeStackSelection, jt as getCategoryOrderForEcosystem, l as cloneDefaultStackSelection, w as stackSelectionToProjectConfig } from "./stack-translation-HKhp-rYK.mjs";
|
|
3
|
+
import { a as STACK_TOOL_DEFINITIONS, c as formatStackPartSpec, g as legacyProjectConfigToStackParts, w as validateStackParts } from "./stack-graph-BLqsCkqk.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
|
|
6
6
|
//#region src/capabilities/evidence.ts
|
|
@@ -2269,4 +2269,4 @@ function sanitizeTelemetryStackDimension(key, value) {
|
|
|
2269
2269
|
|
|
2270
2270
|
//#endregion
|
|
2271
2271
|
export { CAPABILITY_RECEIPT_SCHEMA_VERSION as $, sanitizeTelemetryStackDimension as A, STARTER_TRACK_WORKSPACE_SHAPE_IDS as B, sanitizeTelemetryFailureStage as C, sanitizeTelemetryPlatform as D, sanitizeTelemetryNodeVersion as E, STARTER_TRACK_FILTER_URL_KEYS as F, getStarterTrackCatalog as G, createStarterTrackFilterSearchParams as H, STARTER_TRACK_IDS as I, CAPABILITY_FRESHNESS_IDS as J, parseStarterTrackFilters as K, STARTER_TRACK_PACKAGE_MANAGER_IDS as L, STARTER_TRACK_DATABASE_IDS as M, STARTER_TRACK_DEFINITIONS as N, sanitizeTelemetrySetupFailure as O, STARTER_TRACK_DEPLOYMENT_TARGET_IDS as P, CAPABILITY_RECEIPT_MAX_AGE_DAYS as Q, STARTER_TRACK_RUNTIME_IDS as R, sanitizeTelemetryFailureReason as S, sanitizeTelemetryMode as T, getProjectConfigEvidence as U, StarterTrackFiltersSchema as V, getStackSelectionEvidence as W, CAPABILITY_MATURITY_IDS as X, CAPABILITY_INVENTORY_SCHEMA_VERSION as Y, CAPABILITY_QUARANTINE as Z, sanitizeTelemetryAction as _, TELEMETRY_EXECUTION_RUNTIMES as a, CAPABILITY_EVIDENCE_LEVELS as at, sanitizeTelemetryErrorName as b, TELEMETRY_MODE_IDS as c, CapabilityEvidenceLevelSchema as ct, TELEMETRY_SELECTION_OUTCOMES as d, capabilityEvidenceLevel as dt, CapabilityEvidenceReceiptSchema as et, TELEMETRY_SELECTION_PROBLEMS as f, isTelemetryStackDimensionKey as g, isRegisteredTelemetryStackPartSelection as h, TELEMETRY_ERROR_NAMES as i, getCapabilityMaintenanceCosts as it, STARTER_TRACK_AUTH_IDS as j, sanitizeTelemetrySetupFailures as k, TELEMETRY_PLATFORMS as l, capCapabilityEvidenceLevel as lt, TELEMETRY_STACK_DIMENSION_KEYS as m, TELEMETRY_CI_PROVIDERS as n, GOLDEN_RUNTIME_RECIPES as nt, TELEMETRY_FAILURE_REASONS as o, CAPABILITY_EVIDENCE_LEVEL_IDS as ot, TELEMETRY_SETUP_FAILURE_IDS as p, recommendStarterTrack as q, TELEMETRY_DECISION_STAGES as r, getCapabilityInventory as rt, TELEMETRY_FAILURE_STAGES as s, CAPABILITY_EVIDENCE_SCHEMA_VERSION as st, TELEMETRY_ACTION_IDS as t, CapabilityRecipeResultSchema as tt, TELEMETRY_PROJECT_CONFIG_KEYS as u, capabilityEvidenceAtLeast as ut, sanitizeTelemetryCiProvider as v, sanitizeTelemetryMachineId as w, sanitizeTelemetryExecutionRuntime as x, sanitizeTelemetryCliVersion as y, STARTER_TRACK_SCHEMA_VERSION as z };
|
|
2272
|
-
//# sourceMappingURL=telemetry-
|
|
2272
|
+
//# sourceMappingURL=telemetry-BjMbLJUQ.mjs.map
|
package/dist/telemetry.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./schemas-
|
|
2
|
-
import "./stack-translation-
|
|
3
|
-
import "./stack-graph-
|
|
4
|
-
import { A as sanitizeTelemetryStackDimension, C as sanitizeTelemetryFailureStage, D as sanitizeTelemetryPlatform, E as sanitizeTelemetryNodeVersion, O as sanitizeTelemetrySetupFailure, S as sanitizeTelemetryFailureReason, T as sanitizeTelemetryMode, _ as sanitizeTelemetryAction, a as TELEMETRY_EXECUTION_RUNTIMES, b as sanitizeTelemetryErrorName, c as TELEMETRY_MODE_IDS, d as TELEMETRY_SELECTION_OUTCOMES, f as TELEMETRY_SELECTION_PROBLEMS, g as isTelemetryStackDimensionKey, h as isRegisteredTelemetryStackPartSelection, i as TELEMETRY_ERROR_NAMES, k as sanitizeTelemetrySetupFailures, l as TELEMETRY_PLATFORMS, m as TELEMETRY_STACK_DIMENSION_KEYS, n as TELEMETRY_CI_PROVIDERS, o as TELEMETRY_FAILURE_REASONS, p as TELEMETRY_SETUP_FAILURE_IDS, r as TELEMETRY_DECISION_STAGES, s as TELEMETRY_FAILURE_STAGES, t as TELEMETRY_ACTION_IDS, u as TELEMETRY_PROJECT_CONFIG_KEYS, v as sanitizeTelemetryCiProvider, w as sanitizeTelemetryMachineId, x as sanitizeTelemetryExecutionRuntime, y as sanitizeTelemetryCliVersion } from "./telemetry-
|
|
1
|
+
import "./schemas-DWWJaBQD.mjs";
|
|
2
|
+
import "./stack-translation-HKhp-rYK.mjs";
|
|
3
|
+
import "./stack-graph-BLqsCkqk.mjs";
|
|
4
|
+
import { A as sanitizeTelemetryStackDimension, C as sanitizeTelemetryFailureStage, D as sanitizeTelemetryPlatform, E as sanitizeTelemetryNodeVersion, O as sanitizeTelemetrySetupFailure, S as sanitizeTelemetryFailureReason, T as sanitizeTelemetryMode, _ as sanitizeTelemetryAction, a as TELEMETRY_EXECUTION_RUNTIMES, b as sanitizeTelemetryErrorName, c as TELEMETRY_MODE_IDS, d as TELEMETRY_SELECTION_OUTCOMES, f as TELEMETRY_SELECTION_PROBLEMS, g as isTelemetryStackDimensionKey, h as isRegisteredTelemetryStackPartSelection, i as TELEMETRY_ERROR_NAMES, k as sanitizeTelemetrySetupFailures, l as TELEMETRY_PLATFORMS, m as TELEMETRY_STACK_DIMENSION_KEYS, n as TELEMETRY_CI_PROVIDERS, o as TELEMETRY_FAILURE_REASONS, p as TELEMETRY_SETUP_FAILURE_IDS, r as TELEMETRY_DECISION_STAGES, s as TELEMETRY_FAILURE_STAGES, t as TELEMETRY_ACTION_IDS, u as TELEMETRY_PROJECT_CONFIG_KEYS, v as sanitizeTelemetryCiProvider, w as sanitizeTelemetryMachineId, x as sanitizeTelemetryExecutionRuntime, y as sanitizeTelemetryCliVersion } from "./telemetry-BjMbLJUQ.mjs";
|
|
5
5
|
|
|
6
6
|
export { TELEMETRY_ACTION_IDS, TELEMETRY_CI_PROVIDERS, TELEMETRY_DECISION_STAGES, TELEMETRY_ERROR_NAMES, TELEMETRY_EXECUTION_RUNTIMES, TELEMETRY_FAILURE_REASONS, TELEMETRY_FAILURE_STAGES, TELEMETRY_MODE_IDS, TELEMETRY_PLATFORMS, TELEMETRY_PROJECT_CONFIG_KEYS, TELEMETRY_SELECTION_OUTCOMES, TELEMETRY_SELECTION_PROBLEMS, TELEMETRY_SETUP_FAILURE_IDS, TELEMETRY_STACK_DIMENSION_KEYS, isRegisteredTelemetryStackPartSelection, isTelemetryStackDimensionKey, sanitizeTelemetryAction, sanitizeTelemetryCiProvider, sanitizeTelemetryCliVersion, sanitizeTelemetryErrorName, sanitizeTelemetryExecutionRuntime, sanitizeTelemetryFailureReason, sanitizeTelemetryFailureStage, sanitizeTelemetryMachineId, sanitizeTelemetryMode, sanitizeTelemetryNodeVersion, sanitizeTelemetryPlatform, sanitizeTelemetrySetupFailure, sanitizeTelemetrySetupFailures, sanitizeTelemetryStackDimension };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as DatabaseSchema, $a as StackPartEcosystemSchema, $n as GoQualitySchema, $r as ORMSchema, $t as ElixirHttpServerSchema, Aa as RustTemplatingSchema, Ai as ProjectShapeSchema, Bi as PythonMediaSchema, C as BetterFullstackConfigSchema, Ca as RustFrontendSchema, Co as WorkspaceShapeSchema, Cr as JavaLanguageSchema, Da as RustObservabilitySchema, Di as PaymentsSchema, Dr as JavaTestingLibrariesSchema, E as BotProtectionSchema, Ea as RustMessageQueueSchema, Ei as PackageManagerSchema, Er as JavaOrmSchema, Fi as PythonCliSchema, Fr as LoggingSchema, Ga as ServerDeploySchema, Gi as PythonQualitySchema, Gn as GoConfigSchema, Gr as MobileLibrariesSchema, Gt as ElixirApplicationFrameworkSchema, Hi as PythonObservabilitySchema, Hn as GoAuthSchema, Ht as EcosystemSchema, Ii as PythonCloudSdkSchema, Ja as ShadcnColorThemeSchema, Ji as PythonTaskQueueSchema, Jn as GoMessageQueueSchema, Jr as MobilePushSchema, Jt as ElixirClusteringSchema, Ka as ShadcnBaseColorSchema, Ki as PythonRealtimeSchema, Kn as GoDISchema, Kr as MobileNavigationSchema, Kt as ElixirAuthSchema, Li as PythonDataSchema, Mi as PythonApiSchema, Mr as KotlinMobileLibrariesSchema, N as CachingSchema, Ni as PythonAuthSchema, Nr as KotlinMobileSchema, O as CLIInputSchema, Oa as RustOrmSchema, Oi as ProjectConfigSchema, Or as JavaWebFrameworkSchema, P as CreateInputSchema, Pi as PythonCachingSchema, Q as DartMobileSchema, Qa as ShadcnStyleSchema, Qn as GoProtoToolingSchema, Qt as ElixirHttpSchema, Ri as PythonGraphqlSchema, Sa as RustErrorHandlingSchema, Sn as FrontendSchema, So as WebMcpSchema, Sr as JavaBuildToolSchema, T as BetterTStackConfigSchema, Ta as RustLoggingSchema, Tr as JavaLoggingSchema, Ui as PythonOrmSchema, Un as GoCachingSchema, Ut as EffectSchema, Vi as PythonMessageQueueSchema, Vn as GoApiSchema, Vt as EcommerceSchema, Wa as SearchSchema, Wi as PythonPackageManagerSchema, Wn as GoCliSchema, Wr as MobileDeepLinkingSchema, Wt as ElixirApiSchema, Xa as ShadcnIconLibrarySchema, Xi as PythonValidationSchema, Xn as GoObservabilitySchema, Xr as MobileTestingSchema, Xt as ElixirDocumentationSchema, Ya as ShadcnFontSchema, Yi as PythonTestingSchema, Yn as GoMigrationsSchema, Yr as MobileStorageSchema, Yt as ElixirDeploySchema, Za as ShadcnRadiusSchema, Zi as PythonWebFrameworkSchema, Zn as GoOrmSchema, Zr as MobileUISchema, Zt as ElixirEmailSchema, _ as AstroIntegrationSchema, _a as RuntimeSchema, _o as VersionChannelSchema, an as ElixirOrmSchema, ao as SwiftMobileSchema, at as DotnetDeploySchema, ba as RustCachingSchema, bn as FileUploadSchema, br as JavaApiSchema, cn as ElixirTestingSchema, co as TemplateSchema, cr as InitResultSchema, ct as DotnetLibrariesSchema, dn as EmailSchema, dt as DotnetRealtimeSchema, en as ElixirI18nSchema, eo as StackPartRoleSchema, er as GoRealtimeSchema, et as DatabaseSetupSchema, f as AddInputSchema, fn as ExamplesSchema, ft as DotnetTestingSchema, g as AnimationSchema, ga as RealtimeSchema, go as VectorDbSchema, h as AnalyticsSchema, ha as RateLimitSchema, ho as ValidationSchema, in as ElixirObservabilitySchema, io as StateManagementSchema, ir as GoWebFrameworkSchema, it as DotnetCachingSchema, j as CSSFrameworkSchema, ja as RustWebFrameworkSchema, ji as PythonAiSchema, k as CMSSchema, ka as RustRealtimeSchema, ki as ProjectNameSchema, kr as JobQueueSchema, ln as ElixirValidationSchema, lo as TestingSchema, lr as IntegrationsSchema, lt as DotnetObservabilitySchema, m as AiDocsSchema, mt as DotnetWebFrameworkSchema, n as AISchema, nn as ElixirJsonSchema, nr as GoTestingSchema, nt as DotnetApiSchema, on as ElixirQualitySchema, or as I18nSchema, ot as DotnetFrontendSchema, p as AddonsSchema, pt as DotnetValidationSchema, qa as ShadcnBaseSchema, qi as PythonServerSchema, qn as GoLoggingSchema, qr as MobileOTASchema, qt as ElixirCachingSchema, rn as ElixirLibrariesSchema, ro as StackPartSourceSchema, rr as GoValidationSchema, rt as DotnetAuthSchema, s as APISchema, sn as ElixirRealtimeSchema, st as DotnetJobQueueSchema, ti as ObservabilitySchema, tn as ElixirJobsSchema, to as StackPartSchema, tr as GoTemplatingSchema, tt as DirectoryConflictSchema, un as ElixirWebFrameworkSchema, uo as UILibrarySchema, ut as DotnetOrmSchema, v as AuthSchema, va as RustApiSchema, vn as FeatureFlagsSchema, wa as RustLibrariesSchema, wr as JavaLibrariesSchema, x as BackendSchema, xa as RustCliSchema, xn as FormsSchema, xo as WebDeploySchema, xr as JavaAuthSchema, ya as RustAuthSchema, yn as FileStorageSchema, zi as PythonHttpClientSchema } from "./schemas-
|
|
1
|
+
import { $ as DatabaseSchema, $a as StackPartEcosystemSchema, $n as GoQualitySchema, $r as ORMSchema, $t as ElixirHttpServerSchema, Aa as RustTemplatingSchema, Ai as ProjectShapeSchema, Bi as PythonMediaSchema, C as BetterFullstackConfigSchema, Ca as RustFrontendSchema, Co as WorkspaceShapeSchema, Cr as JavaLanguageSchema, Da as RustObservabilitySchema, Di as PaymentsSchema, Dr as JavaTestingLibrariesSchema, E as BotProtectionSchema, Ea as RustMessageQueueSchema, Ei as PackageManagerSchema, Er as JavaOrmSchema, Fi as PythonCliSchema, Fr as LoggingSchema, Ga as ServerDeploySchema, Gi as PythonQualitySchema, Gn as GoConfigSchema, Gr as MobileLibrariesSchema, Gt as ElixirApplicationFrameworkSchema, Hi as PythonObservabilitySchema, Hn as GoAuthSchema, Ht as EcosystemSchema, Ii as PythonCloudSdkSchema, Ja as ShadcnColorThemeSchema, Ji as PythonTaskQueueSchema, Jn as GoMessageQueueSchema, Jr as MobilePushSchema, Jt as ElixirClusteringSchema, Ka as ShadcnBaseColorSchema, Ki as PythonRealtimeSchema, Kn as GoDISchema, Kr as MobileNavigationSchema, Kt as ElixirAuthSchema, Li as PythonDataSchema, Mi as PythonApiSchema, Mr as KotlinMobileLibrariesSchema, N as CachingSchema, Ni as PythonAuthSchema, Nr as KotlinMobileSchema, O as CLIInputSchema, Oa as RustOrmSchema, Oi as ProjectConfigSchema, Or as JavaWebFrameworkSchema, P as CreateInputSchema, Pi as PythonCachingSchema, Q as DartMobileSchema, Qa as ShadcnStyleSchema, Qn as GoProtoToolingSchema, Qt as ElixirHttpSchema, Ri as PythonGraphqlSchema, Sa as RustErrorHandlingSchema, Sn as FrontendSchema, So as WebMcpSchema, Sr as JavaBuildToolSchema, T as BetterTStackConfigSchema, Ta as RustLoggingSchema, Tr as JavaLoggingSchema, Ui as PythonOrmSchema, Un as GoCachingSchema, Ut as EffectSchema, Vi as PythonMessageQueueSchema, Vn as GoApiSchema, Vt as EcommerceSchema, Wa as SearchSchema, Wi as PythonPackageManagerSchema, Wn as GoCliSchema, Wr as MobileDeepLinkingSchema, Wt as ElixirApiSchema, Xa as ShadcnIconLibrarySchema, Xi as PythonValidationSchema, Xn as GoObservabilitySchema, Xr as MobileTestingSchema, Xt as ElixirDocumentationSchema, Ya as ShadcnFontSchema, Yi as PythonTestingSchema, Yn as GoMigrationsSchema, Yr as MobileStorageSchema, Yt as ElixirDeploySchema, Za as ShadcnRadiusSchema, Zi as PythonWebFrameworkSchema, Zn as GoOrmSchema, Zr as MobileUISchema, Zt as ElixirEmailSchema, _ as AstroIntegrationSchema, _a as RuntimeSchema, _o as VersionChannelSchema, an as ElixirOrmSchema, ao as SwiftMobileSchema, at as DotnetDeploySchema, ba as RustCachingSchema, bn as FileUploadSchema, br as JavaApiSchema, cn as ElixirTestingSchema, co as TemplateSchema, cr as InitResultSchema, ct as DotnetLibrariesSchema, dn as EmailSchema, dt as DotnetRealtimeSchema, en as ElixirI18nSchema, eo as StackPartRoleSchema, er as GoRealtimeSchema, et as DatabaseSetupSchema, f as AddInputSchema, fn as ExamplesSchema, ft as DotnetTestingSchema, g as AnimationSchema, ga as RealtimeSchema, go as VectorDbSchema, h as AnalyticsSchema, ha as RateLimitSchema, ho as ValidationSchema, in as ElixirObservabilitySchema, io as StateManagementSchema, ir as GoWebFrameworkSchema, it as DotnetCachingSchema, j as CSSFrameworkSchema, ja as RustWebFrameworkSchema, ji as PythonAiSchema, k as CMSSchema, ka as RustRealtimeSchema, ki as ProjectNameSchema, kr as JobQueueSchema, ln as ElixirValidationSchema, lo as TestingSchema, lr as IntegrationsSchema, lt as DotnetObservabilitySchema, m as AiDocsSchema, mt as DotnetWebFrameworkSchema, n as AISchema, nn as ElixirJsonSchema, nr as GoTestingSchema, nt as DotnetApiSchema, on as ElixirQualitySchema, or as I18nSchema, ot as DotnetFrontendSchema, p as AddonsSchema, pt as DotnetValidationSchema, qa as ShadcnBaseSchema, qi as PythonServerSchema, qn as GoLoggingSchema, qr as MobileOTASchema, qt as ElixirCachingSchema, rn as ElixirLibrariesSchema, ro as StackPartSourceSchema, rr as GoValidationSchema, rt as DotnetAuthSchema, s as APISchema, sn as ElixirRealtimeSchema, st as DotnetJobQueueSchema, ti as ObservabilitySchema, tn as ElixirJobsSchema, to as StackPartSchema, tr as GoTemplatingSchema, tt as DirectoryConflictSchema, un as ElixirWebFrameworkSchema, uo as UILibrarySchema, ut as DotnetOrmSchema, v as AuthSchema, va as RustApiSchema, vn as FeatureFlagsSchema, wa as RustLibrariesSchema, wr as JavaLibrariesSchema, x as BackendSchema, xa as RustCliSchema, xn as FormsSchema, xo as WebDeploySchema, xr as JavaAuthSchema, ya as RustAuthSchema, yn as FileStorageSchema, zi as PythonHttpClientSchema } from "./schemas-DMxQS38P.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
4
|
//#region src/config/types.d.ts
|
|
@@ -183,4 +183,4 @@ type WebFrontend = Extract<Frontend, "tanstack-router" | "react-router" | "react
|
|
|
183
183
|
type NativeFrontend = Extract<Frontend, "native-bare" | "native-uniwind" | "native-unistyles" | "none">;
|
|
184
184
|
//#endregion
|
|
185
185
|
export { ElixirObservability as $, ShadcnIconLibrary as $n, MobileTesting as $t, DotnetObservability as A, RateLimit as An, GoWebFramework as At, ElixirApplicationFramework as B, RustLogging as Bn, JavaOrm as Bt, DotnetApi as C, PythonQuality as Cn, GoOrm as Ct, DotnetFrontend as D, PythonTesting as Dn, GoTemplating as Dt, DotnetDeploy as E, PythonTaskQueue as En, GoRealtime as Et, DotnetWebFramework as F, RustCaching as Fn, JavaAuth as Ft, ElixirDocumentation as G, RustTemplating as Gn, KotlinMobileLibraries as Gt, ElixirCaching as H, RustObservability as Hn, JavaWebFramework as Ht, Ecommerce as I, RustCli as In, JavaBuildTool as It, ElixirHttpServer as J, ServerDeploy as Jn, MobileLibraries as Jt, ElixirEmail as K, RustWebFramework as Kn, Logging as Kt, Ecosystem as L, RustErrorHandling as Ln, JavaLanguage as Lt, DotnetRealtime as M, Runtime as Mn, InitResult as Mt, DotnetTesting as N, RustApi as Nn, Integrations as Nt, DotnetJobQueue as O, PythonValidation as On, GoTesting as Ot, DotnetValidation as P, RustAuth as Pn, JavaApi as Pt, ElixirLibraries as Q, ShadcnFont as Qn, MobileStorage as Qt, Effect as R, RustFrontend as Rn, JavaLibraries as Rt, DirectoryConflict as S, PythonPackageManager as Sn, GoObservability as St, DotnetCaching as T, PythonServer as Tn, GoQuality as Tt, ElixirClustering as U, RustOrm as Un, JobQueue as Ut, ElixirAuth as V, RustMessageQueue as Vn, JavaTestingLibraries as Vt, ElixirDeploy as W, RustRealtime as Wn, KotlinMobile as Wt, ElixirJobs as X, ShadcnBaseColor as Xn, MobileOTA as Xt, ElixirI18n as Y, ShadcnBase as Yn, MobileNavigation as Yt, ElixirJson as Z, ShadcnColorTheme as Zn, MobilePush as Zt, Caching as _, PythonHttpClient as _n, WorkspaceShape as _r, GoConfig as _t, AiDocs as a, Payments as an, StackPartSource as ar, ElixirWebFramework as at, Database as b, PythonObservability as bn, GoMessageQueue as bt, AstroIntegration as c, ProjectShape as cn, Template as cr, FeatureFlags as ct, BetterFullstackConfig as d, PythonAuth as dn, Validation as dr, Forms as dt, MobileUI as en, ShadcnRadius as er, ElixirOrm as et, BetterTStackConfig as f, PythonCaching as fn, VectorDb as fr, Frontend as ft, CSSFramework as g, PythonGraphql as gn, WebMcp as gr, GoCli as gt, CMS as h, PythonData as hn, WebFrontend as hr, GoCaching as ht, Addons as i, PackageManager as in, StackPartRole as ir, ElixirValidation as it, DotnetOrm as j, Realtime as jn, I18n as jt, DotnetLibraries as k, PythonWebFramework as kn, GoValidation as kt, Auth as l, PythonAi as ln, Testing as lr, FileStorage as lt, CLIInput as m, PythonCloudSdk as mn, WebDeploy as mr, GoAuth as mt, API as n, ORM as nn, StackPart as nr, ElixirRealtime as nt, Analytics as o, ProjectConfig as on, StateManagement as or, Email as ot, BotProtection as p, PythonCli as pn, VersionChannel as pr, GoApi as pt, ElixirHttp as q, Search as qn, MobileDeepLinking as qt, AddInput as r, Observability as rn, StackPartEcosystem as rr, ElixirTesting as rt, Animation as s, ProjectName as sn, SwiftMobile as sr, Examples as st, AI as t, NativeFrontend as tn, ShadcnStyle as tr, ElixirQuality as tt, Backend as u, PythonApi as un, UILibrary as ur, FileUpload as ut, CreateInput as v, PythonMedia as vn, GoDI as vt, DotnetAuth as w, PythonRealtime as wn, GoProtoTooling as wt, DatabaseSetup as x, PythonOrm as xn, GoMigrations as xt, DartMobile as y, PythonMessageQueue as yn, GoLogging as yt, ElixirApi as z, RustLibraries as zn, JavaLogging as zt };
|
|
186
|
-
//# sourceMappingURL=types-
|
|
186
|
+
//# sourceMappingURL=types-DAJKUOQ_.d.mts.map
|
package/dist/types.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./schemas-
|
|
2
|
-
import { $ as ElixirObservability, $n as ShadcnIconLibrary, $t as MobileTesting, A as DotnetObservability, An as RateLimit, At as GoWebFramework, B as ElixirApplicationFramework, Bn as RustLogging, Bt as JavaOrm, C as DotnetApi, Cn as PythonQuality, Ct as GoOrm, D as DotnetFrontend, Dn as PythonTesting, Dt as GoTemplating, E as DotnetDeploy, En as PythonTaskQueue, Et as GoRealtime, F as DotnetWebFramework, Fn as RustCaching, Ft as JavaAuth, G as ElixirDocumentation, Gn as RustTemplating, Gt as KotlinMobileLibraries, H as ElixirCaching, Hn as RustObservability, Ht as JavaWebFramework, I as Ecommerce, In as RustCli, It as JavaBuildTool, J as ElixirHttpServer, Jn as ServerDeploy, Jt as MobileLibraries, K as ElixirEmail, Kn as RustWebFramework, Kt as Logging, L as Ecosystem, Ln as RustErrorHandling, Lt as JavaLanguage, M as DotnetRealtime, Mn as Runtime, Mt as InitResult, N as DotnetTesting, Nn as RustApi, Nt as Integrations, O as DotnetJobQueue, On as PythonValidation, Ot as GoTesting, P as DotnetValidation, Pn as RustAuth, Pt as JavaApi, Q as ElixirLibraries, Qn as ShadcnFont, Qt as MobileStorage, R as Effect, Rn as RustFrontend, Rt as JavaLibraries, S as DirectoryConflict, Sn as PythonPackageManager, St as GoObservability, T as DotnetCaching, Tn as PythonServer, Tt as GoQuality, U as ElixirClustering, Un as RustOrm, Ut as JobQueue, V as ElixirAuth, Vn as RustMessageQueue, Vt as JavaTestingLibraries, W as ElixirDeploy, Wn as RustRealtime, Wt as KotlinMobile, X as ElixirJobs, Xn as ShadcnBaseColor, Xt as MobileOTA, Y as ElixirI18n, Yn as ShadcnBase, Yt as MobileNavigation, Z as ElixirJson, Zn as ShadcnColorTheme, Zt as MobilePush, _ as Caching, _n as PythonHttpClient, _r as WorkspaceShape, _t as GoConfig, a as AiDocs, an as Payments, ar as StackPartSource, at as ElixirWebFramework, b as Database, bn as PythonObservability, bt as GoMessageQueue, c as AstroIntegration, cn as ProjectShape, cr as Template, ct as FeatureFlags, d as BetterFullstackConfig, dn as PythonAuth, dr as Validation, dt as Forms, en as MobileUI, er as ShadcnRadius, et as ElixirOrm, f as BetterTStackConfig, fn as PythonCaching, fr as VectorDb, ft as Frontend, g as CSSFramework, gn as PythonGraphql, gr as WebMcp, gt as GoCli, h as CMS, hn as PythonData, hr as WebFrontend, ht as GoCaching, i as Addons, in as PackageManager, ir as StackPartRole, it as ElixirValidation, j as DotnetOrm, jn as Realtime, jt as I18n, k as DotnetLibraries, kn as PythonWebFramework, kt as GoValidation, l as Auth, ln as PythonAi, lr as Testing, lt as FileStorage, m as CLIInput, mn as PythonCloudSdk, mr as WebDeploy, mt as GoAuth, n as API, nn as ORM, nr as StackPart, nt as ElixirRealtime, o as Analytics, on as ProjectConfig, or as StateManagement, ot as Email, p as BotProtection, pn as PythonCli, pr as VersionChannel, pt as GoApi, q as ElixirHttp, qn as Search, qt as MobileDeepLinking, r as AddInput, rn as Observability, rr as StackPartEcosystem, rt as ElixirTesting, s as Animation, sn as ProjectName, sr as SwiftMobile, st as Examples, t as AI, tn as NativeFrontend, tr as ShadcnStyle, tt as ElixirQuality, u as Backend, un as PythonApi, ur as UILibrary, ut as FileUpload, v as CreateInput, vn as PythonMedia, vt as GoDI, w as DotnetAuth, wn as PythonRealtime, wt as GoProtoTooling, x as DatabaseSetup, xn as PythonOrm, xt as GoMigrations, y as DartMobile, yn as PythonMessageQueue, yt as GoLogging, z as ElixirApi, zn as RustLibraries, zt as JavaLogging } from "./types-
|
|
1
|
+
import "./schemas-DMxQS38P.mjs";
|
|
2
|
+
import { $ as ElixirObservability, $n as ShadcnIconLibrary, $t as MobileTesting, A as DotnetObservability, An as RateLimit, At as GoWebFramework, B as ElixirApplicationFramework, Bn as RustLogging, Bt as JavaOrm, C as DotnetApi, Cn as PythonQuality, Ct as GoOrm, D as DotnetFrontend, Dn as PythonTesting, Dt as GoTemplating, E as DotnetDeploy, En as PythonTaskQueue, Et as GoRealtime, F as DotnetWebFramework, Fn as RustCaching, Ft as JavaAuth, G as ElixirDocumentation, Gn as RustTemplating, Gt as KotlinMobileLibraries, H as ElixirCaching, Hn as RustObservability, Ht as JavaWebFramework, I as Ecommerce, In as RustCli, It as JavaBuildTool, J as ElixirHttpServer, Jn as ServerDeploy, Jt as MobileLibraries, K as ElixirEmail, Kn as RustWebFramework, Kt as Logging, L as Ecosystem, Ln as RustErrorHandling, Lt as JavaLanguage, M as DotnetRealtime, Mn as Runtime, Mt as InitResult, N as DotnetTesting, Nn as RustApi, Nt as Integrations, O as DotnetJobQueue, On as PythonValidation, Ot as GoTesting, P as DotnetValidation, Pn as RustAuth, Pt as JavaApi, Q as ElixirLibraries, Qn as ShadcnFont, Qt as MobileStorage, R as Effect, Rn as RustFrontend, Rt as JavaLibraries, S as DirectoryConflict, Sn as PythonPackageManager, St as GoObservability, T as DotnetCaching, Tn as PythonServer, Tt as GoQuality, U as ElixirClustering, Un as RustOrm, Ut as JobQueue, V as ElixirAuth, Vn as RustMessageQueue, Vt as JavaTestingLibraries, W as ElixirDeploy, Wn as RustRealtime, Wt as KotlinMobile, X as ElixirJobs, Xn as ShadcnBaseColor, Xt as MobileOTA, Y as ElixirI18n, Yn as ShadcnBase, Yt as MobileNavigation, Z as ElixirJson, Zn as ShadcnColorTheme, Zt as MobilePush, _ as Caching, _n as PythonHttpClient, _r as WorkspaceShape, _t as GoConfig, a as AiDocs, an as Payments, ar as StackPartSource, at as ElixirWebFramework, b as Database, bn as PythonObservability, bt as GoMessageQueue, c as AstroIntegration, cn as ProjectShape, cr as Template, ct as FeatureFlags, d as BetterFullstackConfig, dn as PythonAuth, dr as Validation, dt as Forms, en as MobileUI, er as ShadcnRadius, et as ElixirOrm, f as BetterTStackConfig, fn as PythonCaching, fr as VectorDb, ft as Frontend, g as CSSFramework, gn as PythonGraphql, gr as WebMcp, gt as GoCli, h as CMS, hn as PythonData, hr as WebFrontend, ht as GoCaching, i as Addons, in as PackageManager, ir as StackPartRole, it as ElixirValidation, j as DotnetOrm, jn as Realtime, jt as I18n, k as DotnetLibraries, kn as PythonWebFramework, kt as GoValidation, l as Auth, ln as PythonAi, lr as Testing, lt as FileStorage, m as CLIInput, mn as PythonCloudSdk, mr as WebDeploy, mt as GoAuth, n as API, nn as ORM, nr as StackPart, nt as ElixirRealtime, o as Analytics, on as ProjectConfig, or as StateManagement, ot as Email, p as BotProtection, pn as PythonCli, pr as VersionChannel, pt as GoApi, q as ElixirHttp, qn as Search, qt as MobileDeepLinking, r as AddInput, rn as Observability, rr as StackPartEcosystem, rt as ElixirTesting, s as Animation, sn as ProjectName, sr as SwiftMobile, st as Examples, t as AI, tn as NativeFrontend, tr as ShadcnStyle, tt as ElixirQuality, u as Backend, un as PythonApi, ur as UILibrary, ut as FileUpload, v as CreateInput, vn as PythonMedia, vt as GoDI, w as DotnetAuth, wn as PythonRealtime, wt as GoProtoTooling, x as DatabaseSetup, xn as PythonOrm, xt as GoMigrations, y as DartMobile, yn as PythonMessageQueue, yt as GoLogging, z as ElixirApi, zn as RustLibraries, zt as JavaLogging } from "./types-DAJKUOQ_.mjs";
|
|
3
3
|
export { AI, API, AddInput, Addons, AiDocs, Analytics, Animation, AstroIntegration, Auth, Backend, BetterFullstackConfig, BetterTStackConfig, BotProtection, CLIInput, CMS, CSSFramework, Caching, CreateInput, DartMobile, Database, DatabaseSetup, DirectoryConflict, DotnetApi, DotnetAuth, DotnetCaching, DotnetDeploy, DotnetFrontend, DotnetJobQueue, DotnetLibraries, DotnetObservability, DotnetOrm, DotnetRealtime, DotnetTesting, DotnetValidation, DotnetWebFramework, Ecommerce, Ecosystem, Effect, ElixirApi, ElixirApplicationFramework, ElixirAuth, ElixirCaching, ElixirClustering, ElixirDeploy, ElixirDocumentation, ElixirEmail, ElixirHttp, ElixirHttpServer, ElixirI18n, ElixirJobs, ElixirJson, ElixirLibraries, ElixirObservability, ElixirOrm, ElixirQuality, ElixirRealtime, ElixirTesting, ElixirValidation, ElixirWebFramework, Email, Examples, FeatureFlags, FileStorage, FileUpload, Forms, Frontend, GoApi, GoAuth, GoCaching, GoCli, GoConfig, GoDI, GoLogging, GoMessageQueue, GoMigrations, GoObservability, GoOrm, GoProtoTooling, GoQuality, GoRealtime, GoTemplating, GoTesting, GoValidation, GoWebFramework, I18n, InitResult, Integrations, JavaApi, JavaAuth, JavaBuildTool, JavaLanguage, JavaLibraries, JavaLogging, JavaOrm, JavaTestingLibraries, JavaWebFramework, JobQueue, KotlinMobile, KotlinMobileLibraries, Logging, MobileDeepLinking, MobileLibraries, MobileNavigation, MobileOTA, MobilePush, MobileStorage, MobileTesting, MobileUI, NativeFrontend, ORM, Observability, PackageManager, Payments, ProjectConfig, ProjectName, ProjectShape, PythonAi, PythonApi, PythonAuth, PythonCaching, PythonCli, PythonCloudSdk, PythonData, PythonGraphql, PythonHttpClient, PythonMedia, PythonMessageQueue, PythonObservability, PythonOrm, PythonPackageManager, PythonQuality, PythonRealtime, PythonServer, PythonTaskQueue, PythonTesting, PythonValidation, PythonWebFramework, RateLimit, Realtime, Runtime, RustApi, RustAuth, RustCaching, RustCli, RustErrorHandling, RustFrontend, RustLibraries, RustLogging, RustMessageQueue, RustObservability, RustOrm, RustRealtime, RustTemplating, RustWebFramework, Search, ServerDeploy, ShadcnBase, ShadcnBaseColor, ShadcnColorTheme, ShadcnFont, ShadcnIconLibrary, ShadcnRadius, ShadcnStyle, StackPart, StackPartEcosystem, StackPartRole, StackPartSource, StateManagement, SwiftMobile, Template, Testing, UILibrary, Validation, VectorDb, VersionChannel, WebDeploy, WebFrontend, WebMcp, WorkspaceShape };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-fullstack/types",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "TypeScript types and schemas for Better Fullstack CLI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"better-fullstack",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
|
+
"!dist/**/*.map",
|
|
22
23
|
"LICENSE"
|
|
23
24
|
],
|
|
24
25
|
"type": "module",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaults-B8xnKlp6.d.mts","names":[],"sources":["../src/config/defaults.ts"],"sourcesContent":[],"mappings":";;;KAEY,2BAAA,GAA8B,KAAK;iBAE/B,iCAAA,kBACE,iBACf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaults-nq08Mnf5.mjs","names":[],"sources":["../src/config/defaults.ts"],"sourcesContent":["import type { PackageManager, ProjectConfig } from \"@/config/types\";\n\nexport type CliDefaultProjectConfigBase = Omit<ProjectConfig, \"projectDir\">;\n\nexport function createCliDefaultProjectConfigBase(\n packageManager: PackageManager = \"bun\",\n): CliDefaultProjectConfigBase {\n return {\n projectName: \"my-app\",\n relativePath: \"my-app\",\n ecosystem: \"typescript\",\n database: \"sqlite\",\n orm: \"drizzle\",\n backend: \"hono\",\n runtime: \"bun\",\n frontend: [\"tanstack-router\"],\n addons: [\"turborepo\"],\n examples: [],\n auth: \"better-auth\",\n payments: \"none\",\n email: \"none\",\n fileUpload: \"none\",\n effect: \"none\",\n git: true,\n packageManager,\n workspaceShape: \"monorepo\",\n versionChannel: \"stable\",\n install: true,\n dbSetup: \"none\",\n api: \"trpc\",\n webDeploy: \"none\",\n serverDeploy: \"none\",\n astroIntegration: \"none\",\n ai: \"none\",\n stateManagement: \"none\",\n forms: \"react-hook-form\",\n testing: \"vitest\",\n cssFramework: \"tailwind\",\n uiLibrary: \"shadcn-ui\",\n shadcnBase: \"radix\",\n shadcnStyle: \"nova\",\n shadcnIconLibrary: \"lucide\",\n shadcnColorTheme: \"neutral\",\n shadcnBaseColor: \"neutral\",\n shadcnFont: \"inter\",\n shadcnRadius: \"default\",\n validation: \"zod\",\n realtime: \"none\",\n jobQueue: \"none\",\n animation: \"none\",\n logging: \"none\",\n observability: \"none\",\n featureFlags: \"none\",\n integrations: \"none\",\n ecommerce: \"none\",\n analytics: \"none\",\n webMcp: \"none\",\n mobileNavigation: \"none\",\n mobileUI: \"none\",\n mobileStorage: \"none\",\n mobileTesting: \"none\",\n mobilePush: \"none\",\n mobileOTA: \"none\",\n mobileDeepLinking: \"none\",\n mobileLibraries: [],\n cms: \"none\",\n caching: \"none\",\n rateLimit: \"none\",\n botProtection: \"none\",\n i18n: \"none\",\n search: \"none\",\n vectorDb: \"none\",\n fileStorage: \"none\",\n rustWebFramework: \"none\",\n rustFrontend: \"none\",\n rustOrm: \"none\",\n rustApi: \"none\",\n rustCli: \"none\",\n rustLibraries: [],\n rustLogging: \"tracing\",\n rustErrorHandling: \"anyhow-thiserror\",\n rustCaching: \"none\",\n rustAuth: \"none\",\n rustRealtime: \"none\",\n rustMessageQueue: \"none\",\n rustObservability: \"none\",\n rustTemplating: \"none\",\n pythonWebFramework: \"fastapi\",\n pythonOrm: \"sqlalchemy\",\n pythonValidation: \"pydantic\",\n pythonAi: [],\n pythonAuth: \"none\",\n pythonApi: \"none\",\n pythonTaskQueue: \"none\",\n pythonGraphql: \"none\",\n pythonQuality: \"ruff\",\n pythonTesting: [],\n pythonCaching: \"none\",\n pythonRealtime: \"none\",\n pythonObservability: \"none\",\n pythonCli: [],\n pythonCloudSdk: \"none\",\n pythonHttpClient: \"none\",\n pythonData: [],\n pythonMedia: \"none\",\n pythonServer: \"none\",\n pythonPackageManager: \"uv\",\n pythonMessageQueue: \"none\",\n goWebFramework: \"gin\",\n goOrm: \"gorm\",\n goApi: \"none\",\n goCli: \"none\",\n goLogging: \"zap\",\n goAuth: \"none\",\n goTesting: [],\n goRealtime: \"none\",\n goMessageQueue: \"none\",\n goCaching: \"none\",\n goConfig: \"none\",\n goObservability: \"none\",\n goValidation: \"none\",\n goQuality: \"none\",\n goMigrations: \"none\",\n goTemplating: \"none\",\n goProtoTooling: \"none\",\n goDI: \"none\",\n javaWebFramework: \"spring-boot\",\n javaBuildTool: \"maven\",\n javaOrm: \"none\",\n javaAuth: \"none\",\n javaApi: \"none\",\n javaLogging: \"none\",\n javaLibraries: [],\n javaTestingLibraries: [\"junit5\"],\n dotnetWebFramework: \"aspnet-minimal\",\n dotnetOrm: \"ef-core\",\n dotnetAuth: \"aspnet-identity\",\n dotnetApi: \"minimal-api\",\n dotnetTesting: [\"xunit\"],\n dotnetJobQueue: \"none\",\n dotnetRealtime: \"signalr\",\n dotnetObservability: [\"serilog\"],\n dotnetValidation: \"none\",\n dotnetCaching: \"none\",\n dotnetDeploy: \"docker\",\n dotnetLibraries: [],\n elixirWebFramework: \"phoenix\",\n elixirOrm: \"ecto-sql\",\n elixirAuth: \"none\",\n elixirApi: \"rest\",\n elixirRealtime: \"channels\",\n elixirJobs: \"none\",\n elixirValidation: \"ecto-changesets\",\n elixirHttp: \"req\",\n elixirJson: \"jason\",\n elixirEmail: \"none\",\n elixirCaching: \"none\",\n elixirObservability: \"telemetry\",\n elixirTesting: \"ex_unit\",\n elixirQuality: \"credo\",\n elixirI18n: \"none\",\n elixirHttpServer: \"cowboy\",\n elixirApplicationFramework: \"none\",\n elixirDocumentation: \"none\",\n elixirClustering: \"none\",\n elixirDeploy: \"none\",\n elixirLibraries: [],\n // Ship both CLAUDE.md (Claude Code) and AGENTS.md (the cross-tool standard,\n // read by Codex/Cursor/Copilot/etc.) by default, matching create-next-app.\n aiDocs: [\"claude-md\", \"agents-md\"],\n };\n}\n"],"mappings":";AAIA,SAAgB,kCACd,iBAAiC,OACJ;AAC7B,QAAO;EACL,aAAa;EACb,cAAc;EACd,WAAW;EACX,UAAU;EACV,KAAK;EACL,SAAS;EACT,SAAS;EACT,UAAU,CAAC,kBAAkB;EAC7B,QAAQ,CAAC,YAAY;EACrB,UAAU,EAAE;EACZ,MAAM;EACN,UAAU;EACV,OAAO;EACP,YAAY;EACZ,QAAQ;EACR,KAAK;EACL;EACA,gBAAgB;EAChB,gBAAgB;EAChB,SAAS;EACT,SAAS;EACT,KAAK;EACL,WAAW;EACX,cAAc;EACd,kBAAkB;EAClB,IAAI;EACJ,iBAAiB;EACjB,OAAO;EACP,SAAS;EACT,cAAc;EACd,WAAW;EACX,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,YAAY;EACZ,UAAU;EACV,UAAU;EACV,WAAW;EACX,SAAS;EACT,eAAe;EACf,cAAc;EACd,cAAc;EACd,WAAW;EACX,WAAW;EACX,QAAQ;EACR,kBAAkB;EAClB,UAAU;EACV,eAAe;EACf,eAAe;EACf,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,iBAAiB,EAAE;EACnB,KAAK;EACL,SAAS;EACT,WAAW;EACX,eAAe;EACf,MAAM;EACN,QAAQ;EACR,UAAU;EACV,aAAa;EACb,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,SAAS;EACT,SAAS;EACT,eAAe,EAAE;EACjB,aAAa;EACb,mBAAmB;EACnB,aAAa;EACb,UAAU;EACV,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,gBAAgB;EAChB,oBAAoB;EACpB,WAAW;EACX,kBAAkB;EAClB,UAAU,EAAE;EACZ,YAAY;EACZ,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,eAAe;EACf,eAAe,EAAE;EACjB,eAAe;EACf,gBAAgB;EAChB,qBAAqB;EACrB,WAAW,EAAE;EACb,gBAAgB;EAChB,kBAAkB;EAClB,YAAY,EAAE;EACd,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,oBAAoB;EACpB,gBAAgB;EAChB,OAAO;EACP,OAAO;EACP,OAAO;EACP,WAAW;EACX,QAAQ;EACR,WAAW,EAAE;EACb,YAAY;EACZ,gBAAgB;EAChB,WAAW;EACX,UAAU;EACV,iBAAiB;EACjB,cAAc;EACd,WAAW;EACX,cAAc;EACd,cAAc;EACd,gBAAgB;EAChB,MAAM;EACN,kBAAkB;EAClB,eAAe;EACf,SAAS;EACT,UAAU;EACV,SAAS;EACT,aAAa;EACb,eAAe,EAAE;EACjB,sBAAsB,CAAC,SAAS;EAChC,oBAAoB;EACpB,WAAW;EACX,YAAY;EACZ,WAAW;EACX,eAAe,CAAC,QAAQ;EACxB,gBAAgB;EAChB,gBAAgB;EAChB,qBAAqB,CAAC,UAAU;EAChC,kBAAkB;EAClB,eAAe;EACf,cAAc;EACd,iBAAiB,EAAE;EACnB,oBAAoB;EACpB,WAAW;EACX,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,YAAY;EACZ,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,eAAe;EACf,qBAAqB;EACrB,eAAe;EACf,eAAe;EACf,YAAY;EACZ,kBAAkB;EAClB,4BAA4B;EAC5B,qBAAqB;EACrB,kBAAkB;EAClB,cAAc;EACd,iBAAiB,EAAE;EAGnB,QAAQ,CAAC,aAAa,YAAY;EACnC"}
|