@better-fullstack/types 2.4.0 → 2.5.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/{defaults-DdEGPWbd.d.mts → defaults-CbLlpynl.d.mts} +2 -2
- package/dist/defaults-CbLlpynl.d.mts.map +1 -0
- package/dist/defaults.d.mts +3 -3
- package/dist/index.d.mts +6 -6
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +50 -4
- package/dist/index.mjs.map +1 -1
- package/dist/json-schema.d.mts +670 -348
- package/dist/json-schema.d.mts.map +1 -1
- package/dist/json-schema.mjs +1 -1
- package/dist/{schemas-BMTIauzB.d.mts → schemas-BRAokgPa.d.mts} +964 -639
- package/dist/schemas-BRAokgPa.d.mts.map +1 -0
- package/dist/{schemas-CNrFm0ld.mjs → schemas-CtieNRfz.mjs} +55 -3
- package/dist/schemas-CtieNRfz.mjs.map +1 -0
- package/dist/schemas.d.mts +2 -2
- package/dist/schemas.mjs +2 -2
- package/dist/{stack-graph-DWpdF4s0.d.mts → stack-graph-BPw9KsNm.d.mts} +3 -3
- package/dist/stack-graph-BPw9KsNm.d.mts.map +1 -0
- package/dist/{stack-graph-BqmxkJKS.mjs → stack-graph-CXTiPofQ.mjs} +97 -20
- package/dist/stack-graph-CXTiPofQ.mjs.map +1 -0
- package/dist/stack-graph.d.mts +3 -3
- package/dist/stack-graph.mjs +2 -2
- package/dist/{stack-translation-CIt0ziI4.mjs → stack-translation-B-zArJLM.mjs} +202 -23
- package/dist/stack-translation-B-zArJLM.mjs.map +1 -0
- package/dist/{stack-translation-DyfJJgeD.d.mts → stack-translation-D7KkQm8W.d.mts} +16 -6
- package/dist/stack-translation-D7KkQm8W.d.mts.map +1 -0
- package/dist/stack-translation.d.mts +4 -4
- package/dist/stack-translation.mjs +3 -3
- package/dist/{types-BUQyhJDc.d.mts → types-Br0NsnBr.d.mts} +8 -3
- package/dist/types-Br0NsnBr.d.mts.map +1 -0
- package/dist/types.d.mts +3 -3
- package/package.json +1 -1
- package/dist/defaults-DdEGPWbd.d.mts.map +0 -1
- package/dist/schemas-BMTIauzB.d.mts.map +0 -1
- package/dist/schemas-CNrFm0ld.mjs.map +0 -1
- package/dist/stack-graph-BqmxkJKS.mjs.map +0 -1
- package/dist/stack-graph-DWpdF4s0.d.mts.map +0 -1
- package/dist/stack-translation-CIt0ziI4.mjs.map +0 -1
- package/dist/stack-translation-DyfJJgeD.d.mts.map +0 -1
- package/dist/types-BUQyhJDc.d.mts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $i as
|
|
2
|
-
import { E as requiresChatSdkVercelAIForExamples, S as hasTauriCompatibleFrontend, _ as UI_LIBRARY_COMPATIBILITY, a as getAddonStackPartBinding, b as hasPWACompatibleFrontend, f as parseStackPartSpecs, h as validateStackParts, i as formatStackPartSpec, m as stackPartsToLegacyProjectConfigPartial, s as getStackPartCompatibilityIssueForPart, u as legacyProjectConfigToStackParts, v as getUnsupportedWebDeployFrontend, x as hasTanStackAICompatibleFrontend } from "./stack-graph-
|
|
1
|
+
import { $i as RUST_CACHING_VALUES, A as CSS_FRAMEWORK_VALUES, Aa as SHADCN_BASE_COLOR_VALUES, An as GO_OBSERVABILITY_VALUES, At as ELIXIR_OBSERVABILITY_VALUES, B as DOTNET_DEPLOY_VALUES, Br as MOBILE_TESTING_VALUES, Cn as GO_CACHING_VALUES, Ct as ELIXIR_EMAIL_VALUES, Dn as GO_LOGGING_VALUES, Dt as ELIXIR_JOBS_VALUES, En as GO_DI_VALUES, Et as ELIXIR_I18N_VALUES, F as DATABASE_VALUES, Fa as SHADCN_RADIUS_VALUES, Fn as GO_TEMPLATING_VALUES, Fr as MOBILE_LIBRARIES_VALUES, Ft as ELIXIR_VALIDATION_VALUES, G as DOTNET_ORM_VALUES, H as DOTNET_JOB_QUEUE_VALUES, Ia as SHADCN_STYLE_VALUES, In as GO_TESTING_VALUES, Ir as MOBILE_NAVIGATION_VALUES, It as ELIXIR_WEB_FRAMEWORK_VALUES, J as DOTNET_VALIDATION_VALUES, Ji as RATE_LIMIT_VALUES, K as DOTNET_REALTIME_VALUES, L as DOTNET_API_VALUES, La as STATE_MANAGEMENT_VALUES, Ln as GO_VALIDATION_VALUES, Lr as MOBILE_OTA_VALUES, Lt as EMAIL_VALUES, Ma as SHADCN_COLOR_THEME_VALUES, Mn as GO_PROTO_TOOLING_VALUES, Mr as LOGGING_VALUES, Mt as ELIXIR_QUALITY_VALUES, N as DART_MOBILE_VALUES, Na as SHADCN_FONT_VALUES, Nn as GO_QUALITY_VALUES, Nt as ELIXIR_REALTIME_VALUES, O as CMS_VALUES, Oa as SEARCH_VALUES, On as GO_MESSAGE_QUEUE_VALUES, Or as KOTLIN_MOBILE_LIBRARIES_VALUES, Ot as ELIXIR_JSON_VALUES, P as DATABASE_SETUP_VALUES, Pa as SHADCN_ICON_LIBRARY_VALUES, Pn as GO_REALTIME_VALUES, Pr as MOBILE_DEEP_LINKING_VALUES, Pt as ELIXIR_TESTING_VALUES, Qi as RUST_AUTH_VALUES, Qr as ORM_VALUES, R as DOTNET_AUTH_VALUES, Ra as SWIFT_MOBILE_VALUES, Rn as GO_WEB_FRAMEWORK_VALUES, Rr as MOBILE_PUSH_VALUES, Si as PYTHON_WEB_FRAMEWORK_VALUES, Sn as GO_AUTH_VALUES, St as ELIXIR_DOCUMENTATION_VALUES, T as CACHING_VALUES, Tn as GO_CONFIG_VALUES, Tt as ELIXIR_HTTP_VALUES, U as DOTNET_LIBRARIES_VALUES, V as DOTNET_FRONTEND_VALUES, Vr as MOBILE_UI_VALUES, W as DOTNET_OBSERVABILITY_VALUES, Xi as RUNTIME_VALUES, Xr as OBSERVABILITY_VALUES, Y as DOTNET_WEB_FRAMEWORK_VALUES, Yi as REALTIME_VALUES, Zi as RUST_API_VALUES, _i as PYTHON_REALTIME_VALUES, _r as JOB_QUEUE_VALUES, _t as ELIXIR_APPLICATION_FRAMEWORK_VALUES, a as ANALYTICS_VALUES, aa as RUST_MESSAGE_QUEUE_VALUES, ai as PYTHON_CACHING_VALUES, ao as UI_LIBRARY_VALUES, ar as INTEGRATIONS_VALUES, bi as PYTHON_TESTING_VALUES, bt as ELIXIR_CLUSTERING_VALUES, c as API_VALUES, ca as RUST_REALTIME_VALUES, ci as PYTHON_DATA_VALUES, co as VERSION_CHANNEL_VALUES, cr as JAVA_API_VALUES, d as AUTH_VALUES, di as PYTHON_MEDIA_VALUES, dn as FEATURE_FLAGS_VALUES, dr as JAVA_LANGUAGE_VALUES, ea as RUST_CLI_VALUES, ei as PACKAGE_MANAGER_VALUES, fi as PYTHON_MESSAGE_QUEUE_VALUES, fn as FILE_STORAGE_VALUES, fo as WEB_DEPLOY_VALUES, fr as JAVA_LIBRARIES_VALUES, gi as PYTHON_QUALITY_VALUES, gr as JAVA_WEB_FRAMEWORK_VALUES, gt as ELIXIR_API_VALUES, hi as PYTHON_PACKAGE_MANAGER_VALUES, hr as JAVA_TESTING_LIBRARIES_VALUES, ht as EFFECT_VALUES, i as AI_VALUES, ia as RUST_LOGGING_VALUES, ii as PYTHON_AUTH_VALUES, ja as SHADCN_BASE_VALUES, jn as GO_ORM_VALUES, jt as ELIXIR_ORM_VALUES, ka as SERVER_DEPLOY_VALUES, kn as GO_MIGRATIONS_VALUES, kr as KOTLIN_MOBILE_VALUES, kt as ELIXIR_LIBRARIES_VALUES, l as APP_PLATFORM_ADDON_VALUES, la as RUST_TEMPLATING_VALUES, li as PYTHON_GRAPHQL_VALUES, lr as JAVA_AUTH_VALUES, mi as PYTHON_ORM_VALUES, mn as FORMS_VALUES, mr as JAVA_ORM_VALUES, na as RUST_FRONTEND_VALUES, ni as PYTHON_AI_VALUES, o as ANIMATION_VALUES, oa as RUST_OBSERVABILITY_VALUES, oi as PYTHON_CLI_VALUES, oo as VALIDATION_VALUES, pi as PYTHON_OBSERVABILITY_VALUES, pn as FILE_UPLOAD_VALUES, po as WORKSPACE_SHAPE_VALUES, pr as JAVA_LOGGING_VALUES, pt as ECOMMERCE_VALUES, q as DOTNET_TESTING_VALUES, r as AI_DOCS_VALUES, ra as RUST_LIBRARIES_VALUES, ri as PYTHON_API_VALUES, rr as I18N_VALUES, sa as RUST_ORM_VALUES, si as PYTHON_CLOUD_SDK_VALUES, so as VECTOR_DB_VALUES, ta as RUST_ERROR_HANDLING_VALUES, ti as PAYMENTS_VALUES, to as TESTING_VALUES, u as ASTRO_INTEGRATION_VALUES, ua as RUST_WEB_FRAMEWORK_VALUES, ui as PYTHON_HTTP_CLIENT_VALUES, ur as JAVA_BUILD_TOOL_VALUES, vi as PYTHON_SERVER_VALUES, vt as ELIXIR_AUTH_VALUES, wn as GO_CLI_VALUES, wt as ELIXIR_HTTP_SERVER_VALUES, xi as PYTHON_VALIDATION_VALUES, xn as GO_API_VALUES, xt as ELIXIR_DEPLOY_VALUES, yi as PYTHON_TASK_QUEUE_VALUES, yt as ELIXIR_CACHING_VALUES, z as DOTNET_CACHING_VALUES, zr as MOBILE_STORAGE_VALUES } from "./schemas-CtieNRfz.mjs";
|
|
2
|
+
import { E as requiresChatSdkVercelAIForExamples, S as hasTauriCompatibleFrontend, _ as UI_LIBRARY_COMPATIBILITY, a as getAddonStackPartBinding, b as hasPWACompatibleFrontend, f as parseStackPartSpecs, h as validateStackParts, i as formatStackPartSpec, m as stackPartsToLegacyProjectConfigPartial, s as getStackPartCompatibilityIssueForPart, u as legacyProjectConfigToStackParts, v as getUnsupportedWebDeployFrontend, x as hasTanStackAICompatibleFrontend } from "./stack-graph-CXTiPofQ.mjs";
|
|
3
3
|
import { t as createCliDefaultProjectConfigBase } from "./defaults-BzWJP6p0.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/capabilities.ts
|
|
@@ -306,6 +306,10 @@ const TYPESCRIPT_CATEGORY_ORDER = [
|
|
|
306
306
|
];
|
|
307
307
|
const REACT_NATIVE_CATEGORY_ORDER = [
|
|
308
308
|
"nativeFrontend",
|
|
309
|
+
"kotlinMobile",
|
|
310
|
+
"kotlinMobileLibraries",
|
|
311
|
+
"swiftMobile",
|
|
312
|
+
"dartMobile",
|
|
309
313
|
"mobileNavigation",
|
|
310
314
|
"mobileUI",
|
|
311
315
|
"mobileStorage",
|
|
@@ -421,6 +425,7 @@ const JAVA_CATEGORY_ORDER = [
|
|
|
421
425
|
"install"
|
|
422
426
|
];
|
|
423
427
|
const DOTNET_CATEGORY_ORDER = [
|
|
428
|
+
"dotnetFrontend",
|
|
424
429
|
"dotnetWebFramework",
|
|
425
430
|
"dotnetOrm",
|
|
426
431
|
"dotnetAuth",
|
|
@@ -501,6 +506,11 @@ function getCategoryDisplayName(categoryKey) {
|
|
|
501
506
|
backendLibraries: "Effect Services",
|
|
502
507
|
rustWebFramework: "Rust Web Framework",
|
|
503
508
|
rustFrontend: "Rust Frontend (WASM)",
|
|
509
|
+
dotnetFrontend: ".NET Frontend",
|
|
510
|
+
kotlinMobile: "Kotlin Mobile",
|
|
511
|
+
kotlinMobileLibraries: "Kotlin Mobile Libraries",
|
|
512
|
+
swiftMobile: "Swift Mobile",
|
|
513
|
+
dartMobile: "Flutter / Dart Mobile",
|
|
504
514
|
rustOrm: "Rust ORM / Database",
|
|
505
515
|
rustApi: "Rust API Layer",
|
|
506
516
|
rustCli: "Rust CLI Tools",
|
|
@@ -700,6 +710,7 @@ const MULTI_SELECT_CATEGORIES = new Set([
|
|
|
700
710
|
"javaLibraries",
|
|
701
711
|
"javaTestingLibraries",
|
|
702
712
|
"mobileLibraries",
|
|
713
|
+
"kotlinMobileLibraries",
|
|
703
714
|
"dotnetLibraries",
|
|
704
715
|
"dotnetTesting",
|
|
705
716
|
"dotnetObservability",
|
|
@@ -778,6 +789,11 @@ const CATEGORY_VALUE_IDS = {
|
|
|
778
789
|
shadcnRadius: SHADCN_RADIUS_VALUES,
|
|
779
790
|
rustWebFramework: RUST_WEB_FRAMEWORK_VALUES,
|
|
780
791
|
rustFrontend: RUST_FRONTEND_VALUES,
|
|
792
|
+
dotnetFrontend: DOTNET_FRONTEND_VALUES,
|
|
793
|
+
kotlinMobile: KOTLIN_MOBILE_VALUES,
|
|
794
|
+
kotlinMobileLibraries: KOTLIN_MOBILE_LIBRARIES_VALUES,
|
|
795
|
+
swiftMobile: SWIFT_MOBILE_VALUES,
|
|
796
|
+
dartMobile: DART_MOBILE_VALUES,
|
|
781
797
|
rustOrm: RUST_ORM_VALUES,
|
|
782
798
|
rustApi: RUST_API_VALUES,
|
|
783
799
|
rustCli: RUST_CLI_VALUES,
|
|
@@ -1258,6 +1274,28 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
1258
1274
|
dioxus: "Dioxus",
|
|
1259
1275
|
yew: "Yew"
|
|
1260
1276
|
},
|
|
1277
|
+
dotnetFrontend: {
|
|
1278
|
+
"blazor-webassembly": "Blazor WebAssembly",
|
|
1279
|
+
"blazor-web-app": "Blazor Web App"
|
|
1280
|
+
},
|
|
1281
|
+
kotlinMobile: {
|
|
1282
|
+
"jetpack-compose": "Jetpack Compose",
|
|
1283
|
+
"compose-multiplatform": "Compose Multiplatform"
|
|
1284
|
+
},
|
|
1285
|
+
kotlinMobileLibraries: {
|
|
1286
|
+
"navigation-compose": "Navigation Compose",
|
|
1287
|
+
voyager: "Voyager",
|
|
1288
|
+
koin: "Koin",
|
|
1289
|
+
"ktor-client": "Ktor Client",
|
|
1290
|
+
"kotlinx-serialization-json": "Kotlinx Serialization JSON",
|
|
1291
|
+
datastore: "DataStore",
|
|
1292
|
+
coil: "Coil",
|
|
1293
|
+
mockk: "MockK",
|
|
1294
|
+
turbine: "Turbine",
|
|
1295
|
+
junit5: "JUnit 5"
|
|
1296
|
+
},
|
|
1297
|
+
swiftMobile: { swiftui: "SwiftUI" },
|
|
1298
|
+
dartMobile: { flutter: "Flutter" },
|
|
1261
1299
|
rustOrm: {
|
|
1262
1300
|
"sea-orm": "SeaORM",
|
|
1263
1301
|
sqlx: "SQLx",
|
|
@@ -1514,6 +1552,7 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
1514
1552
|
},
|
|
1515
1553
|
javaWebFramework: {
|
|
1516
1554
|
"spring-boot": "Spring Boot",
|
|
1555
|
+
ktor: "Ktor",
|
|
1517
1556
|
quarkus: "Quarkus",
|
|
1518
1557
|
micronaut: "Micronaut"
|
|
1519
1558
|
},
|
|
@@ -1881,6 +1920,11 @@ const OPTION_CATEGORY_METADATA = {
|
|
|
1881
1920
|
shadcnRadius: buildCategoryMetadata("shadcnRadius"),
|
|
1882
1921
|
rustWebFramework: buildCategoryMetadata("rustWebFramework"),
|
|
1883
1922
|
rustFrontend: buildCategoryMetadata("rustFrontend"),
|
|
1923
|
+
dotnetFrontend: buildCategoryMetadata("dotnetFrontend"),
|
|
1924
|
+
kotlinMobile: buildCategoryMetadata("kotlinMobile"),
|
|
1925
|
+
kotlinMobileLibraries: buildCategoryMetadata("kotlinMobileLibraries"),
|
|
1926
|
+
swiftMobile: buildCategoryMetadata("swiftMobile"),
|
|
1927
|
+
dartMobile: buildCategoryMetadata("dartMobile"),
|
|
1884
1928
|
rustOrm: buildCategoryMetadata("rustOrm"),
|
|
1885
1929
|
rustApi: buildCategoryMetadata("rustApi"),
|
|
1886
1930
|
rustCli: buildCategoryMetadata("rustCli"),
|
|
@@ -2021,7 +2065,7 @@ const KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES = new Set([
|
|
|
2021
2065
|
]);
|
|
2022
2066
|
const KOTLIN_DROPPED_JAVA_LIBRARIES = new Set(["lombok", "mapstruct"]);
|
|
2023
2067
|
function getKotlinJavaIncompatibilityReason(stack) {
|
|
2024
|
-
if (stack.javaWebFramework !== "spring-boot") return "Kotlin sources are only wired for the Spring Boot
|
|
2068
|
+
if (stack.javaWebFramework !== "spring-boot" && stack.javaWebFramework !== "ktor") return "Kotlin sources are only wired for the Spring Boot and Ktor scaffolds";
|
|
2025
2069
|
if (!stack.javaBuildTool || stack.javaBuildTool === "none") return "Kotlin requires Maven or Gradle";
|
|
2026
2070
|
if (stack.javaOrm === "jooq" || stack.javaOrm === "mybatis") return "The Kotlin scaffold supports Spring Data JPA or no ORM (jOOQ/MyBatis sources are Java-only)";
|
|
2027
2071
|
if (stack.javaApi === "grpc" || stack.javaApi === "openapi-generator") return "The Kotlin scaffold supports Spring GraphQL or no API layer (gRPC/OpenAPI codegen paths are Java-only)";
|
|
@@ -3147,6 +3191,14 @@ const analyzeStackCompatibility = (stack) => {
|
|
|
3147
3191
|
});
|
|
3148
3192
|
}
|
|
3149
3193
|
}
|
|
3194
|
+
if ((nextStack.kotlinMobile === void 0 || nextStack.kotlinMobile === "none") && (nextStack.kotlinMobileLibraries?.length ?? 0) > 0) {
|
|
3195
|
+
nextStack.kotlinMobileLibraries = [];
|
|
3196
|
+
changed = true;
|
|
3197
|
+
changes.push({
|
|
3198
|
+
category: "kotlinMobileLibraries",
|
|
3199
|
+
message: "Kotlin mobile libraries cleared (no Kotlin mobile app)"
|
|
3200
|
+
});
|
|
3201
|
+
}
|
|
3150
3202
|
const styledComponentsFrontends = new Set([
|
|
3151
3203
|
"tanstack-router",
|
|
3152
3204
|
"react-router",
|
|
@@ -3839,7 +3891,7 @@ const getDisabledReason = (currentStack, category, optionId) => {
|
|
|
3839
3891
|
if (kotlinBlocker) return kotlinBlocker;
|
|
3840
3892
|
}
|
|
3841
3893
|
if (currentStack.ecosystem === "java" && currentStack.javaLanguage === "kotlin") {
|
|
3842
|
-
if (category === "javaWebFramework" && optionId !== "spring-boot") return "Kotlin sources are only wired for the Spring Boot
|
|
3894
|
+
if (category === "javaWebFramework" && optionId !== "spring-boot" && optionId !== "ktor") return "Kotlin sources are only wired for the Spring Boot and Ktor scaffolds";
|
|
3843
3895
|
if (category === "javaBuildTool" && optionId === "none") return "Kotlin requires Maven or Gradle";
|
|
3844
3896
|
if (category === "javaOrm" && (optionId === "jooq" || optionId === "mybatis")) return "The Kotlin scaffold supports Spring Data JPA or no ORM (jOOQ/MyBatis sources are Java-only)";
|
|
3845
3897
|
if (category === "javaApi" && (optionId === "grpc" || optionId === "openapi-generator")) return "The Kotlin scaffold supports Spring GraphQL or no API layer (gRPC/OpenAPI codegen paths are Java-only)";
|
|
@@ -5846,6 +5898,11 @@ const DEFAULT_STACK_SELECTION = {
|
|
|
5846
5898
|
yolo: "false",
|
|
5847
5899
|
rustWebFramework: "axum",
|
|
5848
5900
|
rustFrontend: "none",
|
|
5901
|
+
dotnetFrontend: "none",
|
|
5902
|
+
kotlinMobile: "none",
|
|
5903
|
+
kotlinMobileLibraries: [],
|
|
5904
|
+
swiftMobile: "none",
|
|
5905
|
+
dartMobile: "none",
|
|
5849
5906
|
rustOrm: "sea-orm",
|
|
5850
5907
|
rustApi: "none",
|
|
5851
5908
|
rustCli: "none",
|
|
@@ -6014,6 +6071,11 @@ const STACK_SELECTION_OPTION_CATEGORY_BY_KEY = {
|
|
|
6014
6071
|
serverDeploy: "serverDeploy",
|
|
6015
6072
|
rustWebFramework: "rustWebFramework",
|
|
6016
6073
|
rustFrontend: "rustFrontend",
|
|
6074
|
+
dotnetFrontend: "dotnetFrontend",
|
|
6075
|
+
kotlinMobile: "kotlinMobile",
|
|
6076
|
+
kotlinMobileLibraries: "kotlinMobileLibraries",
|
|
6077
|
+
swiftMobile: "swiftMobile",
|
|
6078
|
+
dartMobile: "dartMobile",
|
|
6017
6079
|
rustOrm: "rustOrm",
|
|
6018
6080
|
rustApi: "rustApi",
|
|
6019
6081
|
rustCli: "rustCli",
|
|
@@ -6197,6 +6259,11 @@ const STACK_SELECTION_URL_KEYS = {
|
|
|
6197
6259
|
yolo: "yolo",
|
|
6198
6260
|
rustWebFramework: "rwf",
|
|
6199
6261
|
rustFrontend: "rfe",
|
|
6262
|
+
dotnetFrontend: "dnfe",
|
|
6263
|
+
kotlinMobile: "km",
|
|
6264
|
+
kotlinMobileLibraries: "kmlib",
|
|
6265
|
+
swiftMobile: "sm",
|
|
6266
|
+
dartMobile: "dm",
|
|
6200
6267
|
rustOrm: "rorm",
|
|
6201
6268
|
rustApi: "rapi",
|
|
6202
6269
|
rustCli: "rcli",
|
|
@@ -6449,6 +6516,10 @@ const CLI_SCALAR_CONFIG_FIELDS = [
|
|
|
6449
6516
|
["shadcnRadius", "shadcnRadius"],
|
|
6450
6517
|
["rustWebFramework", "rustWebFramework"],
|
|
6451
6518
|
["rustFrontend", "rustFrontend"],
|
|
6519
|
+
["dotnetFrontend", "dotnetFrontend"],
|
|
6520
|
+
["kotlinMobile", "kotlinMobile"],
|
|
6521
|
+
["swiftMobile", "swiftMobile"],
|
|
6522
|
+
["dartMobile", "dartMobile"],
|
|
6452
6523
|
["rustOrm", "rustOrm"],
|
|
6453
6524
|
["rustApi", "rustApi"],
|
|
6454
6525
|
["rustCli", "rustCli"],
|
|
@@ -6539,6 +6610,7 @@ const CLI_NON_EMPTY_ARRAY_CONFIG_FIELDS = [
|
|
|
6539
6610
|
const CLI_DEFINED_ARRAY_CONFIG_FIELDS = [
|
|
6540
6611
|
["aiDocs", "aiDocs"],
|
|
6541
6612
|
["mobileLibraries", "mobileLibraries"],
|
|
6613
|
+
["kotlinMobileLibraries", "kotlinMobileLibraries"],
|
|
6542
6614
|
["rustLibraries", "rustLibraries"],
|
|
6543
6615
|
["pythonAi", "pythonAi"],
|
|
6544
6616
|
["javaLibraries", "javaLibraries"],
|
|
@@ -6693,7 +6765,7 @@ function processCliArrayOption(options) {
|
|
|
6693
6765
|
return options.filter((item) => item !== "none");
|
|
6694
6766
|
}
|
|
6695
6767
|
function toUniqueNonNoneArray(values) {
|
|
6696
|
-
return [...new Set(withoutNone(values))];
|
|
6768
|
+
return [...new Set(withoutNone(values ?? []))];
|
|
6697
6769
|
}
|
|
6698
6770
|
function formatArrayFlag(flag, values) {
|
|
6699
6771
|
return `--${flag} ${toUniqueNonNoneArray(values).join(" ") || "none"}`;
|
|
@@ -6707,7 +6779,6 @@ function formatTypeScriptAddonsFlag(selection) {
|
|
|
6707
6779
|
if (addons.length === 0) return "--addons none";
|
|
6708
6780
|
return `--addons ${toUniqueNonNoneArray(addons).join(" ") || "none"}`;
|
|
6709
6781
|
}
|
|
6710
|
-
const GRAPH_TYPESCRIPT_FRONTEND_FLAG_KEYS = [["validation", "validation"], ["testing", "testing"]];
|
|
6711
6782
|
const GRAPH_SHADCN_FLAG_KEYS = [
|
|
6712
6783
|
["shadcnBase", "shadcn-base"],
|
|
6713
6784
|
["shadcnStyle", "shadcn-style"],
|
|
@@ -6718,14 +6789,7 @@ const GRAPH_SHADCN_FLAG_KEYS = [
|
|
|
6718
6789
|
["shadcnRadius", "shadcn-radius"]
|
|
6719
6790
|
];
|
|
6720
6791
|
const GRAPH_MOBILE_FLAG_KEYS = [];
|
|
6721
|
-
const
|
|
6722
|
-
const GRAPH_SHARED_BACKEND_FLAG_KEYS = [
|
|
6723
|
-
["email", "email"],
|
|
6724
|
-
["observability", "observability"],
|
|
6725
|
-
["caching", "caching"],
|
|
6726
|
-
["rateLimit", "rate-limit"],
|
|
6727
|
-
["search", "search"]
|
|
6728
|
-
];
|
|
6792
|
+
const GRAPH_SHARED_BACKEND_FLAG_KEYS = [["rateLimit", "rate-limit"]];
|
|
6729
6793
|
const GRAPH_ELIXIR_BACKEND_FLAG_KEYS = [["elixirJson", "elixir-json"]];
|
|
6730
6794
|
function formatChangedStringFlag(selection, key, flag) {
|
|
6731
6795
|
return selection[key] === DEFAULT_STACK_SELECTION[key] ? void 0 : `--${flag} ${selection[key]}`;
|
|
@@ -6768,7 +6832,10 @@ const GRAPH_TYPESCRIPT_BACKEND_PART_SELECTION_KEYS = [
|
|
|
6768
6832
|
["cms", "cms"],
|
|
6769
6833
|
["search", "search"],
|
|
6770
6834
|
["vectorDb", "vectorDb"],
|
|
6771
|
-
["fileStorage", "fileStorage"]
|
|
6835
|
+
["fileStorage", "fileStorage"],
|
|
6836
|
+
["backendLibraries", "effect"],
|
|
6837
|
+
["validation", "validation"],
|
|
6838
|
+
["testing", "testing"]
|
|
6772
6839
|
];
|
|
6773
6840
|
const GRAPH_ELIXIR_BACKEND_PART_SELECTION_KEYS = [
|
|
6774
6841
|
["elixirRealtime", "realtime"],
|
|
@@ -6789,6 +6856,8 @@ const GRAPH_ELIXIR_BACKEND_PART_SELECTION_KEYS = [
|
|
|
6789
6856
|
];
|
|
6790
6857
|
const GRAPH_DATABASE_PART_SELECTION_KEYS = [["dbSetup", "dbSetup"]];
|
|
6791
6858
|
const GRAPH_MOBILE_PART_SELECTION_KEYS = [
|
|
6859
|
+
["auth", "auth"],
|
|
6860
|
+
["payments", "payments"],
|
|
6792
6861
|
["mobileNavigation", "navigation"],
|
|
6793
6862
|
["mobileUI", "ui"],
|
|
6794
6863
|
["mobileStorage", "storage"],
|
|
@@ -6798,10 +6867,17 @@ const GRAPH_MOBILE_PART_SELECTION_KEYS = [
|
|
|
6798
6867
|
["mobileDeepLinking", "deepLinking"]
|
|
6799
6868
|
];
|
|
6800
6869
|
const GRAPH_MOBILE_ARRAY_PART_SELECTION_KEYS = [["mobileLibraries", "libraries"]];
|
|
6870
|
+
const GRAPH_KOTLIN_MOBILE_ARRAY_PART_SELECTION_KEYS = [["kotlinMobileLibraries", "libraries"]];
|
|
6801
6871
|
const GRAPH_RUST_BACKEND_PART_SELECTION_KEYS = [
|
|
6802
6872
|
["rustCli", "cli"],
|
|
6803
6873
|
["rustLogging", "logging"],
|
|
6804
6874
|
["rustErrorHandling", "errorHandling"],
|
|
6875
|
+
["rustRealtime", "realtime"],
|
|
6876
|
+
["rustMessageQueue", "jobQueue"],
|
|
6877
|
+
["rustObservability", "observability"],
|
|
6878
|
+
["rustTemplating", "templating"],
|
|
6879
|
+
["email", "email"],
|
|
6880
|
+
["observability", "observability"],
|
|
6805
6881
|
["caching", "caching"],
|
|
6806
6882
|
["search", "search"],
|
|
6807
6883
|
["rustCaching", "caching"]
|
|
@@ -6818,10 +6894,20 @@ const GRAPH_PYTHON_BACKEND_PART_SELECTION_KEYS = [
|
|
|
6818
6894
|
["pythonServer", "server"],
|
|
6819
6895
|
["pythonPackageManager", "packageManager"],
|
|
6820
6896
|
["pythonMessageQueue", "messageQueue"],
|
|
6897
|
+
["pythonCaching", "caching"],
|
|
6898
|
+
["pythonRealtime", "realtime"],
|
|
6899
|
+
["pythonObservability", "observability"],
|
|
6900
|
+
["email", "email"],
|
|
6901
|
+
["observability", "observability"],
|
|
6821
6902
|
["caching", "caching"],
|
|
6822
6903
|
["search", "search"]
|
|
6823
6904
|
];
|
|
6824
|
-
const GRAPH_PYTHON_BACKEND_ARRAY_PART_SELECTION_KEYS = [
|
|
6905
|
+
const GRAPH_PYTHON_BACKEND_ARRAY_PART_SELECTION_KEYS = [
|
|
6906
|
+
["pythonAi", "ai"],
|
|
6907
|
+
["pythonTesting", "testing"],
|
|
6908
|
+
["pythonCli", "cli"],
|
|
6909
|
+
["pythonData", "data"]
|
|
6910
|
+
];
|
|
6825
6911
|
const GRAPH_GO_BACKEND_PART_SELECTION_KEYS = [
|
|
6826
6912
|
["goCli", "cli"],
|
|
6827
6913
|
["goLogging", "logging"],
|
|
@@ -6831,12 +6917,23 @@ const GRAPH_GO_BACKEND_PART_SELECTION_KEYS = [
|
|
|
6831
6917
|
["goTemplating", "templating"],
|
|
6832
6918
|
["goProtoTooling", "buildTool"],
|
|
6833
6919
|
["goDI", "libraries"],
|
|
6920
|
+
["goRealtime", "realtime"],
|
|
6921
|
+
["goMessageQueue", "jobQueue"],
|
|
6922
|
+
["goCaching", "caching"],
|
|
6923
|
+
["goConfig", "config"],
|
|
6924
|
+
["goObservability", "observability"],
|
|
6925
|
+
["email", "email"],
|
|
6926
|
+
["observability", "observability"],
|
|
6834
6927
|
["caching", "caching"],
|
|
6835
6928
|
["search", "search"]
|
|
6836
6929
|
];
|
|
6930
|
+
const GRAPH_GO_BACKEND_ARRAY_PART_SELECTION_KEYS = [["goTesting", "testing"]];
|
|
6837
6931
|
const GRAPH_JAVA_BACKEND_PART_SELECTION_KEYS = [
|
|
6838
6932
|
["javaLanguage", "language"],
|
|
6839
6933
|
["javaBuildTool", "buildTool"],
|
|
6934
|
+
["javaLogging", "logging"],
|
|
6935
|
+
["email", "email"],
|
|
6936
|
+
["observability", "observability"],
|
|
6840
6937
|
["caching", "caching"],
|
|
6841
6938
|
["search", "search"]
|
|
6842
6939
|
];
|
|
@@ -6847,6 +6944,7 @@ const GRAPH_DOTNET_BACKEND_PART_SELECTION_KEYS = [
|
|
|
6847
6944
|
["dotnetApi", "api"],
|
|
6848
6945
|
["dotnetJobQueue", "jobQueue"],
|
|
6849
6946
|
["dotnetRealtime", "realtime"],
|
|
6947
|
+
["dotnetValidation", "validation"],
|
|
6850
6948
|
["dotnetCaching", "caching"],
|
|
6851
6949
|
["dotnetDeploy", "deploy"]
|
|
6852
6950
|
];
|
|
@@ -6855,6 +6953,7 @@ const GRAPH_DOTNET_BACKEND_ARRAY_PART_SELECTION_KEYS = [
|
|
|
6855
6953
|
["dotnetObservability", "observability"],
|
|
6856
6954
|
["dotnetLibraries", "libraries"]
|
|
6857
6955
|
];
|
|
6956
|
+
const GRAPH_ELIXIR_BACKEND_ARRAY_PART_SELECTION_KEYS = [["elixirLibraries", "libraries"]];
|
|
6858
6957
|
const GRAPH_TYPESCRIPT_FRONTEND_PART_CLI_KEYS = [
|
|
6859
6958
|
["webDeploy", "deploy"],
|
|
6860
6959
|
["cssFramework", "css"],
|
|
@@ -6864,7 +6963,9 @@ const GRAPH_TYPESCRIPT_FRONTEND_PART_CLI_KEYS = [
|
|
|
6864
6963
|
["animation", "animation"],
|
|
6865
6964
|
["fileUpload", "fileUpload"],
|
|
6866
6965
|
["i18n", "i18n"],
|
|
6867
|
-
["analytics", "analytics"]
|
|
6966
|
+
["analytics", "analytics"],
|
|
6967
|
+
["validation", "validation"],
|
|
6968
|
+
["testing", "testing"]
|
|
6868
6969
|
];
|
|
6869
6970
|
const GRAPH_TYPESCRIPT_BACKEND_PART_CLI_KEYS = [
|
|
6870
6971
|
["runtime", "runtime"],
|
|
@@ -6884,7 +6985,8 @@ const GRAPH_TYPESCRIPT_BACKEND_PART_CLI_KEYS = [
|
|
|
6884
6985
|
["cms", "cms"],
|
|
6885
6986
|
["search", "search"],
|
|
6886
6987
|
["vectorDb", "vectorDb"],
|
|
6887
|
-
["fileStorage", "fileStorage"]
|
|
6988
|
+
["fileStorage", "fileStorage"],
|
|
6989
|
+
["effect", "effect"]
|
|
6888
6990
|
];
|
|
6889
6991
|
const GRAPH_ELIXIR_BACKEND_PART_CLI_KEYS = [
|
|
6890
6992
|
["elixirRealtime", "realtime"],
|
|
@@ -6905,6 +7007,8 @@ const GRAPH_ELIXIR_BACKEND_PART_CLI_KEYS = [
|
|
|
6905
7007
|
];
|
|
6906
7008
|
const GRAPH_DATABASE_PART_CLI_KEYS = [["dbSetup", "dbSetup"]];
|
|
6907
7009
|
const GRAPH_MOBILE_PART_CLI_KEYS = [
|
|
7010
|
+
["auth", "auth"],
|
|
7011
|
+
["payments", "payments"],
|
|
6908
7012
|
["mobileNavigation", "navigation"],
|
|
6909
7013
|
["mobileUI", "ui"],
|
|
6910
7014
|
["mobileStorage", "storage"],
|
|
@@ -6914,10 +7018,17 @@ const GRAPH_MOBILE_PART_CLI_KEYS = [
|
|
|
6914
7018
|
["mobileDeepLinking", "deepLinking"]
|
|
6915
7019
|
];
|
|
6916
7020
|
const GRAPH_MOBILE_ARRAY_PART_CLI_KEYS = [["mobileLibraries", "libraries"]];
|
|
7021
|
+
const GRAPH_KOTLIN_MOBILE_ARRAY_PART_CLI_KEYS = [["kotlinMobileLibraries", "libraries"]];
|
|
6917
7022
|
const GRAPH_RUST_BACKEND_PART_CLI_KEYS = [
|
|
6918
7023
|
["rustCli", "cli"],
|
|
6919
7024
|
["rustLogging", "logging"],
|
|
6920
7025
|
["rustErrorHandling", "errorHandling"],
|
|
7026
|
+
["rustRealtime", "realtime"],
|
|
7027
|
+
["rustMessageQueue", "jobQueue"],
|
|
7028
|
+
["rustObservability", "observability"],
|
|
7029
|
+
["rustTemplating", "templating"],
|
|
7030
|
+
["email", "email"],
|
|
7031
|
+
["observability", "observability"],
|
|
6921
7032
|
["caching", "caching"],
|
|
6922
7033
|
["search", "search"],
|
|
6923
7034
|
["rustCaching", "caching"]
|
|
@@ -6934,10 +7045,20 @@ const GRAPH_PYTHON_BACKEND_PART_CLI_KEYS = [
|
|
|
6934
7045
|
["pythonServer", "server"],
|
|
6935
7046
|
["pythonPackageManager", "packageManager"],
|
|
6936
7047
|
["pythonMessageQueue", "messageQueue"],
|
|
7048
|
+
["pythonCaching", "caching"],
|
|
7049
|
+
["pythonRealtime", "realtime"],
|
|
7050
|
+
["pythonObservability", "observability"],
|
|
7051
|
+
["email", "email"],
|
|
7052
|
+
["observability", "observability"],
|
|
6937
7053
|
["caching", "caching"],
|
|
6938
7054
|
["search", "search"]
|
|
6939
7055
|
];
|
|
6940
|
-
const GRAPH_PYTHON_BACKEND_ARRAY_PART_CLI_KEYS = [
|
|
7056
|
+
const GRAPH_PYTHON_BACKEND_ARRAY_PART_CLI_KEYS = [
|
|
7057
|
+
["pythonAi", "ai"],
|
|
7058
|
+
["pythonTesting", "testing"],
|
|
7059
|
+
["pythonCli", "cli"],
|
|
7060
|
+
["pythonData", "data"]
|
|
7061
|
+
];
|
|
6941
7062
|
const GRAPH_GO_BACKEND_PART_CLI_KEYS = [
|
|
6942
7063
|
["goCli", "cli"],
|
|
6943
7064
|
["goLogging", "logging"],
|
|
@@ -6947,11 +7068,22 @@ const GRAPH_GO_BACKEND_PART_CLI_KEYS = [
|
|
|
6947
7068
|
["goTemplating", "templating"],
|
|
6948
7069
|
["goProtoTooling", "buildTool"],
|
|
6949
7070
|
["goDI", "libraries"],
|
|
7071
|
+
["goRealtime", "realtime"],
|
|
7072
|
+
["goMessageQueue", "jobQueue"],
|
|
7073
|
+
["goCaching", "caching"],
|
|
7074
|
+
["goConfig", "config"],
|
|
7075
|
+
["goObservability", "observability"],
|
|
7076
|
+
["email", "email"],
|
|
7077
|
+
["observability", "observability"],
|
|
6950
7078
|
["caching", "caching"],
|
|
6951
7079
|
["search", "search"]
|
|
6952
7080
|
];
|
|
7081
|
+
const GRAPH_GO_BACKEND_ARRAY_PART_CLI_KEYS = [["goTesting", "testing"]];
|
|
6953
7082
|
const GRAPH_JAVA_BACKEND_PART_CLI_KEYS = [
|
|
6954
7083
|
["javaBuildTool", "buildTool"],
|
|
7084
|
+
["javaLogging", "logging"],
|
|
7085
|
+
["email", "email"],
|
|
7086
|
+
["observability", "observability"],
|
|
6955
7087
|
["caching", "caching"],
|
|
6956
7088
|
["search", "search"]
|
|
6957
7089
|
];
|
|
@@ -6962,6 +7094,7 @@ const GRAPH_DOTNET_BACKEND_PART_CLI_KEYS = [
|
|
|
6962
7094
|
["dotnetApi", "api"],
|
|
6963
7095
|
["dotnetJobQueue", "jobQueue"],
|
|
6964
7096
|
["dotnetRealtime", "realtime"],
|
|
7097
|
+
["dotnetValidation", "validation"],
|
|
6965
7098
|
["dotnetCaching", "caching"],
|
|
6966
7099
|
["dotnetDeploy", "deploy"]
|
|
6967
7100
|
];
|
|
@@ -6970,6 +7103,7 @@ const GRAPH_DOTNET_BACKEND_ARRAY_PART_CLI_KEYS = [
|
|
|
6970
7103
|
["dotnetObservability", "observability"],
|
|
6971
7104
|
["dotnetLibraries", "libraries"]
|
|
6972
7105
|
];
|
|
7106
|
+
const GRAPH_ELIXIR_BACKEND_ARRAY_PART_CLI_KEYS = [["elixirLibraries", "libraries"]];
|
|
6973
7107
|
function getAddonScopedPartFields(addons) {
|
|
6974
7108
|
return toUniqueNonNoneArray(addons ?? []).flatMap((addon) => {
|
|
6975
7109
|
const binding = getAddonStackPartBinding(addon);
|
|
@@ -7053,6 +7187,13 @@ function getSelectionScopedPartFields(selection) {
|
|
|
7053
7187
|
value: selection[key],
|
|
7054
7188
|
allowMultiple: true
|
|
7055
7189
|
})),
|
|
7190
|
+
...GRAPH_KOTLIN_MOBILE_ARRAY_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7191
|
+
ownerRole: "mobile",
|
|
7192
|
+
ecosystem: "kotlin",
|
|
7193
|
+
role,
|
|
7194
|
+
value: selection[key],
|
|
7195
|
+
allowMultiple: true
|
|
7196
|
+
})),
|
|
7056
7197
|
...GRAPH_RUST_BACKEND_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7057
7198
|
ownerRole: "backend",
|
|
7058
7199
|
ecosystem: "rust",
|
|
@@ -7085,6 +7226,13 @@ function getSelectionScopedPartFields(selection) {
|
|
|
7085
7226
|
role,
|
|
7086
7227
|
value: selection[key]
|
|
7087
7228
|
})),
|
|
7229
|
+
...GRAPH_GO_BACKEND_ARRAY_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7230
|
+
ownerRole: "backend",
|
|
7231
|
+
ecosystem: "go",
|
|
7232
|
+
role,
|
|
7233
|
+
value: selection[key],
|
|
7234
|
+
allowMultiple: true
|
|
7235
|
+
})),
|
|
7088
7236
|
...GRAPH_JAVA_BACKEND_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7089
7237
|
ownerRole: "backend",
|
|
7090
7238
|
ecosystem: "java",
|
|
@@ -7111,6 +7259,13 @@ function getSelectionScopedPartFields(selection) {
|
|
|
7111
7259
|
value: selection[key],
|
|
7112
7260
|
allowMultiple: true
|
|
7113
7261
|
})),
|
|
7262
|
+
...GRAPH_ELIXIR_BACKEND_ARRAY_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7263
|
+
ownerRole: "backend",
|
|
7264
|
+
ecosystem: "elixir",
|
|
7265
|
+
role,
|
|
7266
|
+
value: selection[key],
|
|
7267
|
+
allowMultiple: true
|
|
7268
|
+
})),
|
|
7114
7269
|
...GRAPH_DATABASE_PART_SELECTION_KEYS.map(([key, role]) => ({
|
|
7115
7270
|
ownerRole: "database",
|
|
7116
7271
|
ecosystem: "universal",
|
|
@@ -7166,6 +7321,13 @@ function getCliScopedPartFields(input) {
|
|
|
7166
7321
|
value: getArrayValue(key),
|
|
7167
7322
|
allowMultiple: true
|
|
7168
7323
|
})),
|
|
7324
|
+
...GRAPH_KOTLIN_MOBILE_ARRAY_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7325
|
+
ownerRole: "mobile",
|
|
7326
|
+
ecosystem: "kotlin",
|
|
7327
|
+
role,
|
|
7328
|
+
value: getArrayValue(key),
|
|
7329
|
+
allowMultiple: true
|
|
7330
|
+
})),
|
|
7169
7331
|
...GRAPH_RUST_BACKEND_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7170
7332
|
ownerRole: "backend",
|
|
7171
7333
|
ecosystem: "rust",
|
|
@@ -7198,6 +7360,13 @@ function getCliScopedPartFields(input) {
|
|
|
7198
7360
|
role,
|
|
7199
7361
|
value: getValue(key)
|
|
7200
7362
|
})),
|
|
7363
|
+
...GRAPH_GO_BACKEND_ARRAY_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7364
|
+
ownerRole: "backend",
|
|
7365
|
+
ecosystem: "go",
|
|
7366
|
+
role,
|
|
7367
|
+
value: getArrayValue(key),
|
|
7368
|
+
allowMultiple: true
|
|
7369
|
+
})),
|
|
7201
7370
|
...GRAPH_JAVA_BACKEND_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7202
7371
|
ownerRole: "backend",
|
|
7203
7372
|
ecosystem: "java",
|
|
@@ -7224,6 +7393,13 @@ function getCliScopedPartFields(input) {
|
|
|
7224
7393
|
value: getArrayValue(key),
|
|
7225
7394
|
allowMultiple: true
|
|
7226
7395
|
})),
|
|
7396
|
+
...GRAPH_ELIXIR_BACKEND_ARRAY_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7397
|
+
ownerRole: "backend",
|
|
7398
|
+
ecosystem: "elixir",
|
|
7399
|
+
role,
|
|
7400
|
+
value: getArrayValue(key),
|
|
7401
|
+
allowMultiple: true
|
|
7402
|
+
})),
|
|
7227
7403
|
...GRAPH_DATABASE_PART_CLI_KEYS.map(([key, role]) => ({
|
|
7228
7404
|
ownerRole: "database",
|
|
7229
7405
|
ecosystem: "universal",
|
|
@@ -7423,6 +7599,11 @@ function buildProjectConfigBase(selection, projectName, relativePath, install) {
|
|
|
7423
7599
|
fileStorage: stack.fileStorage,
|
|
7424
7600
|
rustWebFramework: stack.rustWebFramework,
|
|
7425
7601
|
rustFrontend: stack.rustFrontend,
|
|
7602
|
+
dotnetFrontend: stack.dotnetFrontend,
|
|
7603
|
+
kotlinMobile: stack.kotlinMobile,
|
|
7604
|
+
kotlinMobileLibraries: toUniqueNonNoneArray(stack.kotlinMobileLibraries),
|
|
7605
|
+
swiftMobile: stack.swiftMobile,
|
|
7606
|
+
dartMobile: stack.dartMobile,
|
|
7426
7607
|
rustOrm: stack.rustOrm,
|
|
7427
7608
|
rustApi: stack.rustApi,
|
|
7428
7609
|
rustCli: stack.rustCli,
|
|
@@ -7587,7 +7768,6 @@ function generateGraphCommand(selection, projectName) {
|
|
|
7587
7768
|
const stackParts = getGraphStackParts(selection);
|
|
7588
7769
|
const hasTypeScriptFrontend = hasGraphPrimaryPart(stackParts, "frontend", "typescript");
|
|
7589
7770
|
const hasAstroFrontend = hasGraphPrimaryPart(stackParts, "frontend", "typescript", "astro");
|
|
7590
|
-
const hasTypeScriptBackend = hasGraphPrimaryPart(stackParts, "backend", "typescript");
|
|
7591
7771
|
const hasRustBackend = hasGraphPrimaryPart(stackParts, "backend", "rust");
|
|
7592
7772
|
const hasPythonBackend = hasGraphPrimaryPart(stackParts, "backend", "python");
|
|
7593
7773
|
const hasGoBackend = hasGraphPrimaryPart(stackParts, "backend", "go");
|
|
@@ -7598,10 +7778,8 @@ function generateGraphCommand(selection, projectName) {
|
|
|
7598
7778
|
const hasMobile = hasGraphPrimaryPart(stackParts, "mobile");
|
|
7599
7779
|
const flags = [
|
|
7600
7780
|
...stackParts.filter((part) => part.source !== "provided" && part.toolId !== "none").map((part) => `--part ${formatStackPartSpec(part, stackParts)}`),
|
|
7601
|
-
...hasTypeScriptFrontend ? formatChangedStringFlags(selection, GRAPH_TYPESCRIPT_FRONTEND_FLAG_KEYS) : [],
|
|
7602
7781
|
...hasAstroFrontend && selection.astroIntegration !== "none" ? [`--astro-integration ${selection.astroIntegration}`] : [],
|
|
7603
7782
|
...hasTypeScriptFrontend && selection.uiLibrary === "shadcn-ui" ? formatChangedStringFlags(selection, GRAPH_SHADCN_FLAG_KEYS) : [],
|
|
7604
|
-
...hasTypeScriptBackend ? formatChangedStringFlags(selection, GRAPH_TYPESCRIPT_BACKEND_FLAG_KEYS) : [],
|
|
7605
7783
|
...hasNonTypeScriptBackend ? formatChangedStringFlags(selection, GRAPH_SHARED_BACKEND_FLAG_KEYS) : [],
|
|
7606
7784
|
...hasElixirBackend ? formatChangedStringFlags(selection, GRAPH_ELIXIR_BACKEND_FLAG_KEYS) : [],
|
|
7607
7785
|
...hasMobile ? formatChangedStringFlags(selection, GRAPH_MOBILE_FLAG_KEYS) : [],
|
|
@@ -7694,6 +7872,7 @@ function generateReactNativeCommand(selection, projectName) {
|
|
|
7694
7872
|
`--mobile-ota ${selection.mobileOTA}`,
|
|
7695
7873
|
`--mobile-deep-linking ${selection.mobileDeepLinking}`,
|
|
7696
7874
|
formatArrayFlag("mobile-libraries", selection.mobileLibraries),
|
|
7875
|
+
formatArrayFlag("kotlin-mobile-libraries", selection.kotlinMobileLibraries),
|
|
7697
7876
|
`--package-manager ${selection.packageManager}`,
|
|
7698
7877
|
selection.git === "false" ? "--no-git" : "--git",
|
|
7699
7878
|
selection.install === "false" ? "--no-install" : "--install",
|
|
@@ -7892,4 +8071,4 @@ function generateStackSelectionCommand(selection) {
|
|
|
7892
8071
|
|
|
7893
8072
|
//#endregion
|
|
7894
8073
|
export { JAVA_CATEGORY_ORDER as $, getCompatibleAddons as A, isSignozSupportedGoWebFramework as B, KOTLIN_DROPPED_JAVA_LIBRARIES as C, evaluateCompatibility as D, analyzeStackCompatibility as E, getKotlinJavaIncompatibilityReason as F, splitFrontends as G, isWebFrontend as H, hasSignozSupportedGoServerTarget as I, validateProjectName as J, stackQualifiesForSingleApp as K, hasWebStyling as L, getCompatibleFormLibraries as M, getCompatibleUILibraries as N, getAIFrontendCompatibilityIssue as O, getDisabledReason as P, GO_CATEGORY_ORDER as Q, isFrontendAllowedWithBackend as R, usesVirtualNoneStackSelection as S, allowedApisForFrontends as T, requiresChatSdkVercelAI as U, isSignozSupportedPythonWebFramework as V, requiresChatSdkVercelAIForSelection as W, DOTNET_CATEGORY_ORDER as X, CATEGORY_ORDER as Y, ELIXIR_CATEGORY_ORDER as Z, parseStackSelectionFromSearch as _, STACK_SELECTION_URL_KEYS as a, getCategoryCliValues as at, stackSelectionToCliComparableConfig as b, cloneDefaultStackSelection as c, getCategoryOrderForEcosystem as ct, isArrayStackSelectionKey as d, normalizeOptionId as dt, OPTION_CATEGORY_METADATA as et, isCliDefaultStackSelection as f, getCapabilityDefinitions as ft, normalizeStackSelectionValue as g, normalizeStackSelection as h, normalizeCapabilitySelection as ht, STACK_SELECTION_OPTION_CATEGORY_BY_KEY as i, TYPESCRIPT_CATEGORY_ORDER as it, getCompatibleCSSFrameworks as j, getApiFrontendCompatibilityIssue as k, createStackSelectionSearchParams as l, getOptionMetadata as lt, isStackSelectionDefault as m, getSupportedCapabilityOptions as mt, NON_OPTION_STACK_SELECTION_KEYS as n, REACT_NATIVE_CATEGORY_ORDER as nt, VIRTUAL_NONE_MULTI_SELECT_STACK_SELECTION_KEYS as o, getCategoryDisplayName as ot, isGraphStackSelection as p, getCapabilityDisabledReason as pt, validateAddonCompatibility as q, STACK_SELECTION_KEYS as r, RUST_CATEGORY_ORDER as rt, cliInputToProjectConfigPartial as s, getCategoryOptionIds as st, DEFAULT_STACK_SELECTION as t, PYTHON_CATEGORY_ORDER as tt, generateStackSelectionCommand as u, isMultiSelectCategory as ut, parseStackSelectionFromUrlRecord as v, KOTLIN_UNSUPPORTED_JAVA_TESTING_LIBRARIES as w, stackSelectionToProjectConfig as x, processCliArrayOption as y, isOptionCompatible as z };
|
|
7895
|
-
//# sourceMappingURL=stack-translation-
|
|
8074
|
+
//# sourceMappingURL=stack-translation-B-zArJLM.mjs.map
|