@better-fullstack/types 1.6.0 → 1.6.2
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-CYLeFakd.d.mts +8 -0
- package/dist/defaults-CYLeFakd.d.mts.map +1 -0
- package/dist/defaults-aGwVXJh5.mjs +90 -0
- package/dist/defaults-aGwVXJh5.mjs.map +1 -0
- package/dist/defaults.d.mts +4 -0
- package/dist/defaults.mjs +3 -0
- package/dist/index.d.mts +25 -91
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +206 -12
- package/dist/index.mjs.map +1 -1
- package/dist/json-schema.d.mts +489 -1
- package/dist/json-schema.d.mts.map +1 -1
- package/dist/json-schema.mjs +26 -2
- package/dist/json-schema.mjs.map +1 -1
- package/dist/{schemas-D7GE2nDP.d.mts → schemas-7gZRZ72r.d.mts} +369 -4
- package/dist/schemas-7gZRZ72r.d.mts.map +1 -0
- package/dist/{schemas-AEYe9g7W.mjs → schemas-rS6DMnT_.mjs} +75 -4
- package/dist/schemas-rS6DMnT_.mjs.map +1 -0
- package/dist/schemas.d.mts +2 -2
- package/dist/schemas.mjs +2 -2
- package/dist/types-sNGWng-q.d.mts +95 -0
- package/dist/types-sNGWng-q.d.mts.map +1 -0
- package/dist/types.d.mts +3 -0
- package/dist/types.mjs +1 -0
- package/package.json +9 -1
- package/dist/schemas-AEYe9g7W.mjs.map +0 -1
- package/dist/schemas-D7GE2nDP.d.mts.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { $ as FrontendSchema, $t as
|
|
1
|
+
import { $ as FrontendSchema, $n as VALIDATION_VALUES, $t as PythonQualitySchema, A as DATABASE_SETUP_VALUES, An as SHADCN_BASE_VALUES, At as LoggingSchema, B as EcosystemSchema, Bn as ShadcnBaseSchema, Bt as PYTHON_ORM_VALUES, C as CLIInputSchema, Cn as RustLibrariesSchema, Ct as JavaBuildToolSchema, D as CSS_FRAMEWORK_VALUES, Dn as SEARCH_VALUES, Dt as JavaWebFrameworkSchema, E as CSSFrameworkSchema, En as RustWebFrameworkSchema, Et as JavaTestingLibrariesSchema, F as DirectoryConflictSchema, Fn as SHADCN_STYLE_VALUES, Ft as PACKAGE_MANAGER_VALUES, G as FILE_STORAGE_VALUES, Gn as ShadcnStyleSchema, Gt as PackageManagerSchema, H as EmailSchema, Hn as ShadcnFontSchema, Ht as PYTHON_TASK_QUEUE_VALUES, I as ECOSYSTEM_VALUES, In as STATE_MANAGEMENT_VALUES, It as PAYMENTS_VALUES, J as FRONTEND_VALUES, Jn as TESTING_VALUES, Jt as ProjectNameSchema, K as FILE_UPLOAD_VALUES, Kn as StateManagementSchema, Kt as PaymentsSchema, L as EFFECT_VALUES, Ln as SearchSchema, Lt as PYTHON_AI_VALUES, M as DIRECTORY_CONFLICT_VALUES, Mn as SHADCN_FONT_VALUES, Mt as ORMSchema, N as DatabaseSchema, Nn as SHADCN_ICON_LIBRARY_VALUES, Nt as ORM_VALUES, O as CachingSchema, On as SERVER_DEPLOY_VALUES, Ot as JobQueueSchema, P as DatabaseSetupSchema, Pn as SHADCN_RADIUS_VALUES, Pt as ObservabilitySchema, Q as FormsSchema, Qn as UI_LIBRARY_VALUES, Qt as PythonOrmSchema, R as EMAIL_VALUES, Rn as ServerDeploySchema, Rt as PYTHON_AUTH_VALUES, S as CACHING_VALUES, Sn as RustFrontendSchema, St as JavaAuthSchema, T as CMS_VALUES, Tn as RustOrmSchema, Tt as JavaOrmSchema, U as ExamplesSchema, Un as ShadcnIconLibrarySchema, Ut as PYTHON_VALIDATION_VALUES, V as EffectSchema, Vn as ShadcnColorThemeSchema, Vt as PYTHON_QUALITY_VALUES, W as FEATURE_FLAGS_VALUES, Wn as ShadcnRadiusSchema, Wt as PYTHON_WEB_FRAMEWORK_VALUES, X as FileStorageSchema, Xn as TestingSchema, Xt as PythonAuthSchema, Y as FeatureFlagsSchema, Yn as TemplateSchema, Yt as PythonAiSchema, Z as FileUploadSchema, Zn as UILibrarySchema, Zt as PythonGraphqlSchema, _ as AuthSchema, _n as RustApiSchema, _t as JAVA_LIBRARIES_VALUES, a as ANALYTICS_VALUES, an as RUST_API_VALUES, at as GO_WEB_FRAMEWORK_VALUES, b as BetterTStackConfigFileSchema, bn as RustCliSchema, bt as JAVA_WEB_FRAMEWORK_VALUES, c as API_VALUES, cn as RUST_CLI_VALUES, ct as GoCliSchema, d as AddInputSchema, dn as RUST_LIBRARIES_VALUES, dt as GoWebFrameworkSchema, en as PythonTaskQueueSchema, er as VERSION_CHANNEL_VALUES, et as GO_API_VALUES, f as AddonsSchema, fn as RUST_LOGGING_VALUES, ft as I18N_VALUES, g as AstroIntegrationSchema, gn as RuntimeSchema, gt as JAVA_BUILD_TOOL_VALUES, h as AnimationSchema, hn as RealtimeSchema, ht as JAVA_AUTH_VALUES, i as AI_VALUES, in as RUNTIME_VALUES, ir as WebDeploySchema, it as GO_ORM_VALUES, j as DATABASE_VALUES, jn as SHADCN_COLOR_THEME_VALUES, jt as OBSERVABILITY_VALUES, k as CreateInputSchema, kn as SHADCN_BASE_COLOR_VALUES, kt as LOGGING_VALUES, l as ASTRO_INTEGRATION_VALUES, ln as RUST_ERROR_HANDLING_VALUES, lt as GoLoggingSchema, m as AnalyticsSchema, mn as RUST_WEB_FRAMEWORK_VALUES, mt as InitResultSchema, n as AISchema, nn as PythonWebFrameworkSchema, nr as VersionChannelSchema, nt as GO_CLI_VALUES, o as ANIMATION_VALUES, on as RUST_AUTH_VALUES, ot as GoApiSchema, p as AiDocsSchema, pn as RUST_ORM_VALUES, pt as I18nSchema, q as FORMS_VALUES, qn as TEMPLATE_VALUES, qt as ProjectConfigSchema, r as AI_DOCS_VALUES, rn as REALTIME_VALUES, rr as WEB_DEPLOY_VALUES, rt as GO_LOGGING_VALUES, s as APISchema, sn as RUST_CACHING_VALUES, st as GoAuthSchema, t as ADDONS_VALUES, tn as PythonValidationSchema, tr as ValidationSchema, tt as GO_AUTH_VALUES, u as AUTH_VALUES, un as RUST_FRONTEND_VALUES, ut as GoOrmSchema, v as BACKEND_VALUES, vn as RustAuthSchema, vt as JAVA_ORM_VALUES, w as CMSSchema, wn as RustLoggingSchema, wt as JavaLibrariesSchema, x as BetterTStackConfigSchema, xn as RustErrorHandlingSchema, xt as JOB_QUEUE_VALUES, y as BackendSchema, yn as RustCachingSchema, yt as JAVA_TESTING_LIBRARIES_VALUES, z as EXAMPLES_VALUES, zn as ShadcnBaseColorSchema, zt as PYTHON_GRAPHQL_VALUES } from "./schemas-rS6DMnT_.mjs";
|
|
2
|
+
import "./types.mjs";
|
|
3
|
+
import { t as createCliDefaultProjectConfigBase } from "./defaults-aGwVXJh5.mjs";
|
|
2
4
|
|
|
3
5
|
//#region src/capabilities.ts
|
|
4
6
|
const CAPABILITY_DEFINITIONS = { auth: [
|
|
@@ -260,7 +262,14 @@ const CATEGORY_ORDER = [
|
|
|
260
262
|
"goOrm",
|
|
261
263
|
"goApi",
|
|
262
264
|
"goCli",
|
|
263
|
-
"goLogging"
|
|
265
|
+
"goLogging",
|
|
266
|
+
"goAuth",
|
|
267
|
+
"javaWebFramework",
|
|
268
|
+
"javaBuildTool",
|
|
269
|
+
"javaOrm",
|
|
270
|
+
"javaAuth",
|
|
271
|
+
"javaLibraries",
|
|
272
|
+
"javaTestingLibraries"
|
|
264
273
|
];
|
|
265
274
|
const DEFAULT_RUNTIME = "bun";
|
|
266
275
|
function validateProjectName(name) {
|
|
@@ -319,7 +328,8 @@ const getCategoryDisplayName = (categoryKey) => {
|
|
|
319
328
|
rustLibraries: "Rust Core Libraries",
|
|
320
329
|
rustLogging: "Rust Logging",
|
|
321
330
|
rustErrorHandling: "Rust Error Handling",
|
|
322
|
-
rustCaching: "Rust Caching"
|
|
331
|
+
rustCaching: "Rust Caching",
|
|
332
|
+
rustAuth: "Rust Auth"
|
|
323
333
|
};
|
|
324
334
|
const pythonCategoryNames = {
|
|
325
335
|
pythonWebFramework: "Python Web Framework",
|
|
@@ -336,11 +346,21 @@ const getCategoryDisplayName = (categoryKey) => {
|
|
|
336
346
|
goOrm: "Go ORM / Database",
|
|
337
347
|
goApi: "Go API Layer",
|
|
338
348
|
goCli: "Go CLI Tools",
|
|
339
|
-
goLogging: "Go Logging"
|
|
349
|
+
goLogging: "Go Logging",
|
|
350
|
+
goAuth: "Go Auth"
|
|
351
|
+
};
|
|
352
|
+
const javaCategoryNames = {
|
|
353
|
+
javaWebFramework: "Java Web Framework",
|
|
354
|
+
javaBuildTool: "Java Build Tool",
|
|
355
|
+
javaOrm: "Java ORM / Database",
|
|
356
|
+
javaAuth: "Java Auth",
|
|
357
|
+
javaLibraries: "Java Libraries",
|
|
358
|
+
javaTestingLibraries: "Java Testing Libraries"
|
|
340
359
|
};
|
|
341
360
|
if (rustCategoryNames[categoryKey]) return rustCategoryNames[categoryKey];
|
|
342
361
|
if (pythonCategoryNames[categoryKey]) return pythonCategoryNames[categoryKey];
|
|
343
362
|
if (goCategoryNames[categoryKey]) return goCategoryNames[categoryKey];
|
|
363
|
+
if (javaCategoryNames[categoryKey]) return javaCategoryNames[categoryKey];
|
|
344
364
|
const tsCategoryNames = { i18n: "Internationalization (i18n)" };
|
|
345
365
|
if (tsCategoryNames[categoryKey]) return tsCategoryNames[categoryKey];
|
|
346
366
|
const result = categoryKey.replace(/([A-Z])/g, " $1");
|
|
@@ -1027,6 +1047,73 @@ const analyzeStackCompatibility = (stack) => {
|
|
|
1027
1047
|
});
|
|
1028
1048
|
}
|
|
1029
1049
|
}
|
|
1050
|
+
if (nextStack.ecosystem === "java") {
|
|
1051
|
+
if (nextStack.javaBuildTool === "none") {
|
|
1052
|
+
if (nextStack.javaWebFramework !== "none") {
|
|
1053
|
+
nextStack.javaWebFramework = "none";
|
|
1054
|
+
changed = true;
|
|
1055
|
+
changes.push({
|
|
1056
|
+
category: "javaBuildTool",
|
|
1057
|
+
message: "Java web framework set to 'None' (source-only Java does not use a framework)"
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1060
|
+
if (nextStack.javaTestingLibraries.some((library) => library !== "none")) {
|
|
1061
|
+
nextStack.javaTestingLibraries = [];
|
|
1062
|
+
changed = true;
|
|
1063
|
+
changes.push({
|
|
1064
|
+
category: "javaBuildTool",
|
|
1065
|
+
message: "Java testing libraries cleared (a build tool is required for test dependencies)"
|
|
1066
|
+
});
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
if (nextStack.javaWebFramework !== "spring-boot" || nextStack.javaBuildTool === "none") {
|
|
1070
|
+
if (nextStack.javaOrm !== "none") {
|
|
1071
|
+
nextStack.javaOrm = "none";
|
|
1072
|
+
changed = true;
|
|
1073
|
+
changes.push({
|
|
1074
|
+
category: "javaWebFramework",
|
|
1075
|
+
message: "Java ORM set to 'None' (current scaffold only supports it with Spring Boot)"
|
|
1076
|
+
});
|
|
1077
|
+
}
|
|
1078
|
+
if (nextStack.javaAuth !== "none") {
|
|
1079
|
+
nextStack.javaAuth = "none";
|
|
1080
|
+
changed = true;
|
|
1081
|
+
changes.push({
|
|
1082
|
+
category: "javaWebFramework",
|
|
1083
|
+
message: "Java auth set to 'None' (current scaffold only supports it with Spring Boot)"
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
if (nextStack.javaLibraries.some((library) => library !== "none")) {
|
|
1087
|
+
nextStack.javaLibraries = [];
|
|
1088
|
+
changed = true;
|
|
1089
|
+
changes.push({
|
|
1090
|
+
category: "javaWebFramework",
|
|
1091
|
+
message: "Java libraries cleared (Spring libraries require Spring Boot)"
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
if (nextStack.javaWebFramework === "spring-boot" && nextStack.javaBuildTool !== "none") {
|
|
1096
|
+
if (nextStack.javaOrm !== "spring-data-jpa") {
|
|
1097
|
+
const filteredLibraries = nextStack.javaLibraries.filter((library) => library !== "flyway" && library !== "liquibase");
|
|
1098
|
+
if (filteredLibraries.length !== nextStack.javaLibraries.length) {
|
|
1099
|
+
nextStack.javaLibraries = filteredLibraries;
|
|
1100
|
+
changed = true;
|
|
1101
|
+
changes.push({
|
|
1102
|
+
category: "javaOrm",
|
|
1103
|
+
message: "Java migration libraries cleared (Flyway and Liquibase require Spring Data JPA)"
|
|
1104
|
+
});
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
if (nextStack.javaLibraries.includes("flyway") && nextStack.javaLibraries.includes("liquibase")) {
|
|
1108
|
+
nextStack.javaLibraries = nextStack.javaLibraries.filter((library) => library !== "liquibase");
|
|
1109
|
+
changed = true;
|
|
1110
|
+
changes.push({
|
|
1111
|
+
category: "javaLibraries",
|
|
1112
|
+
message: "Liquibase cleared (Flyway and Liquibase cannot be combined)"
|
|
1113
|
+
});
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1030
1117
|
if (nextStack.webDeploy !== "none" && !nextStack.webFrontend.some((f) => f !== "none")) {
|
|
1031
1118
|
nextStack.webDeploy = "none";
|
|
1032
1119
|
changed = true;
|
|
@@ -1389,6 +1476,37 @@ const getDisabledReason = (currentStack, category, optionId) => {
|
|
|
1389
1476
|
if (!currentStack.webFrontend.includes("next")) return "next-intl requires Next.js";
|
|
1390
1477
|
}
|
|
1391
1478
|
}
|
|
1479
|
+
if (category === "javaWebFramework") {
|
|
1480
|
+
if (optionId === "spring-boot" && currentStack.javaBuildTool === "none") return "Spring Boot requires Maven or Gradle";
|
|
1481
|
+
}
|
|
1482
|
+
if (category === "javaBuildTool") {
|
|
1483
|
+
if (optionId === "none") {
|
|
1484
|
+
if (currentStack.javaWebFramework === "spring-boot") return "Spring Boot requires Maven or Gradle";
|
|
1485
|
+
if (currentStack.javaOrm !== "none") return "Java ORM support requires Maven or Gradle";
|
|
1486
|
+
if (currentStack.javaAuth !== "none") return "Java auth support requires Maven or Gradle";
|
|
1487
|
+
if (currentStack.javaLibraries.some((library) => library !== "none")) return "Java libraries require Maven or Gradle";
|
|
1488
|
+
if (currentStack.javaTestingLibraries.some((library) => library !== "none")) return "Java testing libraries require Maven or Gradle";
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
if (category === "javaOrm") {
|
|
1492
|
+
if (optionId !== "none" && currentStack.javaWebFramework !== "spring-boot") return "Java ORM support currently requires Spring Boot";
|
|
1493
|
+
if (optionId !== "none" && currentStack.javaBuildTool === "none") return "Java ORM support requires Maven or Gradle";
|
|
1494
|
+
}
|
|
1495
|
+
if (category === "javaAuth") {
|
|
1496
|
+
if (optionId !== "none" && currentStack.javaWebFramework !== "spring-boot") return "Java auth support currently requires Spring Boot";
|
|
1497
|
+
if (optionId !== "none" && currentStack.javaBuildTool === "none") return "Java auth support requires Maven or Gradle";
|
|
1498
|
+
}
|
|
1499
|
+
if (category === "javaLibraries") {
|
|
1500
|
+
if (optionId !== "none" && currentStack.javaWebFramework !== "spring-boot") return "Spring libraries currently require Spring Boot in the Java scaffold";
|
|
1501
|
+
if (optionId !== "none" && currentStack.javaBuildTool === "none") return "Java libraries require Maven or Gradle";
|
|
1502
|
+
if (optionId === "flyway" && currentStack.javaOrm !== "spring-data-jpa") return "Flyway currently requires Spring Data JPA in the Java scaffold";
|
|
1503
|
+
if (optionId === "liquibase" && currentStack.javaOrm !== "spring-data-jpa") return "Liquibase currently requires Spring Data JPA in the Java scaffold";
|
|
1504
|
+
if (optionId === "flyway" && currentStack.javaLibraries.includes("liquibase")) return "Flyway cannot be combined with Liquibase in the current Java scaffold";
|
|
1505
|
+
if (optionId === "liquibase" && currentStack.javaLibraries.includes("flyway")) return "Liquibase cannot be combined with Flyway in the current Java scaffold";
|
|
1506
|
+
}
|
|
1507
|
+
if (category === "javaTestingLibraries") {
|
|
1508
|
+
if (optionId !== "none" && currentStack.javaBuildTool === "none") return "Java testing libraries require Maven or Gradle";
|
|
1509
|
+
}
|
|
1392
1510
|
return null;
|
|
1393
1511
|
};
|
|
1394
1512
|
const isOptionCompatible = (currentStack, category, optionId) => {
|
|
@@ -1777,7 +1895,7 @@ function isFrontendAllowedWithBackend(frontend, backend, auth) {
|
|
|
1777
1895
|
if (backend === "convex" && frontend === "redwood") return false;
|
|
1778
1896
|
if (backend === "convex" && frontend === "fresh") return false;
|
|
1779
1897
|
if (frontend === "qwik" && backend && backend !== "none") return false;
|
|
1780
|
-
if (frontend === "angular" && backend
|
|
1898
|
+
if (frontend === "angular" && backend === "self") return false;
|
|
1781
1899
|
if (frontend === "redwood" && backend && backend !== "none") return false;
|
|
1782
1900
|
if (frontend === "fresh" && backend && backend !== "none") return false;
|
|
1783
1901
|
if (auth && auth !== "none") return getCapabilityDisabledReason("auth", {
|
|
@@ -1916,7 +2034,11 @@ function evaluateCompatibility(input) {
|
|
|
1916
2034
|
["forms", input.forms],
|
|
1917
2035
|
["stateManagement", input.stateManagement],
|
|
1918
2036
|
["animation", input.animation],
|
|
1919
|
-
["ai", input.aiSdk]
|
|
2037
|
+
["ai", input.aiSdk],
|
|
2038
|
+
["javaWebFramework", input.javaWebFramework],
|
|
2039
|
+
["javaBuildTool", input.javaBuildTool],
|
|
2040
|
+
["javaOrm", input.javaOrm],
|
|
2041
|
+
["javaAuth", input.javaAuth]
|
|
1920
2042
|
];
|
|
1921
2043
|
for (const [category, optionId] of scalarChecks) {
|
|
1922
2044
|
const reason = getDisabledReason(input, category, optionId);
|
|
@@ -1949,6 +2071,24 @@ function evaluateCompatibility(input) {
|
|
|
1949
2071
|
optionId: addon
|
|
1950
2072
|
});
|
|
1951
2073
|
}
|
|
2074
|
+
for (const javaLibrary of input.javaLibraries) {
|
|
2075
|
+
const reason = getDisabledReason(input, "javaLibraries", javaLibrary);
|
|
2076
|
+
if (reason) issues.push({
|
|
2077
|
+
code: "INCOMPATIBLE_JAVA_LIBRARY",
|
|
2078
|
+
message: reason,
|
|
2079
|
+
category: "javaLibraries",
|
|
2080
|
+
optionId: javaLibrary
|
|
2081
|
+
});
|
|
2082
|
+
}
|
|
2083
|
+
for (const testingLibrary of input.javaTestingLibraries) {
|
|
2084
|
+
const reason = getDisabledReason(input, "javaTestingLibraries", testingLibrary);
|
|
2085
|
+
if (reason) issues.push({
|
|
2086
|
+
code: "INCOMPATIBLE_JAVA_TESTING_LIBRARY",
|
|
2087
|
+
message: reason,
|
|
2088
|
+
category: "javaTestingLibraries",
|
|
2089
|
+
optionId: testingLibrary
|
|
2090
|
+
});
|
|
2091
|
+
}
|
|
1952
2092
|
return { issues };
|
|
1953
2093
|
}
|
|
1954
2094
|
|
|
@@ -2030,7 +2170,11 @@ const MULTI_SELECT_CATEGORIES = new Set([
|
|
|
2030
2170
|
"documentation",
|
|
2031
2171
|
"appPlatforms",
|
|
2032
2172
|
"examples",
|
|
2033
|
-
"aiDocs"
|
|
2173
|
+
"aiDocs",
|
|
2174
|
+
"rustLibraries",
|
|
2175
|
+
"pythonAi",
|
|
2176
|
+
"javaLibraries",
|
|
2177
|
+
"javaTestingLibraries"
|
|
2034
2178
|
]);
|
|
2035
2179
|
const CATEGORY_VALUE_IDS = {
|
|
2036
2180
|
api: API_VALUES,
|
|
@@ -2094,6 +2238,7 @@ const CATEGORY_VALUE_IDS = {
|
|
|
2094
2238
|
rustLogging: RUST_LOGGING_VALUES,
|
|
2095
2239
|
rustErrorHandling: RUST_ERROR_HANDLING_VALUES,
|
|
2096
2240
|
rustCaching: RUST_CACHING_VALUES,
|
|
2241
|
+
rustAuth: RUST_AUTH_VALUES,
|
|
2097
2242
|
pythonWebFramework: PYTHON_WEB_FRAMEWORK_VALUES,
|
|
2098
2243
|
pythonOrm: PYTHON_ORM_VALUES,
|
|
2099
2244
|
pythonValidation: PYTHON_VALIDATION_VALUES,
|
|
@@ -2106,7 +2251,14 @@ const CATEGORY_VALUE_IDS = {
|
|
|
2106
2251
|
goOrm: GO_ORM_VALUES,
|
|
2107
2252
|
goApi: GO_API_VALUES,
|
|
2108
2253
|
goCli: GO_CLI_VALUES,
|
|
2109
|
-
goLogging: GO_LOGGING_VALUES
|
|
2254
|
+
goLogging: GO_LOGGING_VALUES,
|
|
2255
|
+
goAuth: GO_AUTH_VALUES,
|
|
2256
|
+
javaWebFramework: JAVA_WEB_FRAMEWORK_VALUES,
|
|
2257
|
+
javaBuildTool: JAVA_BUILD_TOOL_VALUES,
|
|
2258
|
+
javaOrm: JAVA_ORM_VALUES,
|
|
2259
|
+
javaAuth: JAVA_AUTH_VALUES,
|
|
2260
|
+
javaLibraries: JAVA_LIBRARIES_VALUES,
|
|
2261
|
+
javaTestingLibraries: JAVA_TESTING_LIBRARIES_VALUES
|
|
2110
2262
|
};
|
|
2111
2263
|
const EXACT_LABEL_OVERRIDES = {
|
|
2112
2264
|
api: {
|
|
@@ -2388,6 +2540,7 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
2388
2540
|
moka: "Moka",
|
|
2389
2541
|
redis: "Redis"
|
|
2390
2542
|
},
|
|
2543
|
+
rustAuth: { oauth2: "OAuth2" },
|
|
2391
2544
|
pythonWebFramework: {
|
|
2392
2545
|
fastapi: "FastAPI",
|
|
2393
2546
|
django: "Django",
|
|
@@ -2396,7 +2549,8 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
2396
2549
|
},
|
|
2397
2550
|
pythonOrm: {
|
|
2398
2551
|
sqlalchemy: "SQLAlchemy",
|
|
2399
|
-
sqlmodel: "SQLModel"
|
|
2552
|
+
sqlmodel: "SQLModel",
|
|
2553
|
+
"tortoise-orm": "Tortoise ORM"
|
|
2400
2554
|
},
|
|
2401
2555
|
pythonValidation: { pydantic: "Pydantic" },
|
|
2402
2556
|
pythonAi: {
|
|
@@ -2434,6 +2588,35 @@ const EXACT_LABEL_OVERRIDES = {
|
|
|
2434
2588
|
zap: "Zap",
|
|
2435
2589
|
zerolog: "Zerolog",
|
|
2436
2590
|
slog: "slog"
|
|
2591
|
+
},
|
|
2592
|
+
goAuth: {
|
|
2593
|
+
casbin: "Casbin",
|
|
2594
|
+
jwt: "golang-jwt"
|
|
2595
|
+
},
|
|
2596
|
+
javaWebFramework: { "spring-boot": "Spring Boot" },
|
|
2597
|
+
javaBuildTool: { maven: "Maven" },
|
|
2598
|
+
javaOrm: { "spring-data-jpa": "Spring Data JPA" },
|
|
2599
|
+
javaAuth: { "spring-security": "Spring Security" },
|
|
2600
|
+
javaLibraries: {
|
|
2601
|
+
"spring-actuator": "Spring Boot Actuator",
|
|
2602
|
+
"spring-validation": "Spring Validation",
|
|
2603
|
+
flyway: "Flyway",
|
|
2604
|
+
liquibase: "Liquibase",
|
|
2605
|
+
"springdoc-openapi": "Springdoc OpenAPI",
|
|
2606
|
+
lombok: "Lombok",
|
|
2607
|
+
mapstruct: "MapStruct",
|
|
2608
|
+
caffeine: "Caffeine"
|
|
2609
|
+
},
|
|
2610
|
+
javaTestingLibraries: {
|
|
2611
|
+
junit5: "JUnit 5",
|
|
2612
|
+
mockito: "Mockito",
|
|
2613
|
+
testcontainers: "Testcontainers",
|
|
2614
|
+
assertj: "AssertJ",
|
|
2615
|
+
"rest-assured": "REST Assured",
|
|
2616
|
+
wiremock: "WireMock",
|
|
2617
|
+
awaitility: "Awaitility",
|
|
2618
|
+
archunit: "ArchUnit",
|
|
2619
|
+
jqwik: "jqwik"
|
|
2437
2620
|
}
|
|
2438
2621
|
};
|
|
2439
2622
|
const OPTION_ALIASES = {
|
|
@@ -2555,6 +2738,7 @@ const OPTION_CATEGORY_METADATA = {
|
|
|
2555
2738
|
rustLogging: buildCategoryMetadata("rustLogging"),
|
|
2556
2739
|
rustErrorHandling: buildCategoryMetadata("rustErrorHandling"),
|
|
2557
2740
|
rustCaching: buildCategoryMetadata("rustCaching"),
|
|
2741
|
+
rustAuth: buildCategoryMetadata("rustAuth"),
|
|
2558
2742
|
pythonWebFramework: buildCategoryMetadata("pythonWebFramework"),
|
|
2559
2743
|
pythonOrm: buildCategoryMetadata("pythonOrm"),
|
|
2560
2744
|
pythonValidation: buildCategoryMetadata("pythonValidation"),
|
|
@@ -2567,7 +2751,14 @@ const OPTION_CATEGORY_METADATA = {
|
|
|
2567
2751
|
goOrm: buildCategoryMetadata("goOrm"),
|
|
2568
2752
|
goApi: buildCategoryMetadata("goApi"),
|
|
2569
2753
|
goCli: buildCategoryMetadata("goCli"),
|
|
2570
|
-
goLogging: buildCategoryMetadata("goLogging")
|
|
2754
|
+
goLogging: buildCategoryMetadata("goLogging"),
|
|
2755
|
+
goAuth: buildCategoryMetadata("goAuth"),
|
|
2756
|
+
javaWebFramework: buildCategoryMetadata("javaWebFramework"),
|
|
2757
|
+
javaBuildTool: buildCategoryMetadata("javaBuildTool"),
|
|
2758
|
+
javaOrm: buildCategoryMetadata("javaOrm"),
|
|
2759
|
+
javaAuth: buildCategoryMetadata("javaAuth"),
|
|
2760
|
+
javaLibraries: buildCategoryMetadata("javaLibraries"),
|
|
2761
|
+
javaTestingLibraries: buildCategoryMetadata("javaTestingLibraries")
|
|
2571
2762
|
};
|
|
2572
2763
|
const OPTION_LOOKUP = Object.fromEntries(Object.entries(OPTION_CATEGORY_METADATA).map(([category, metadata]) => [category, new Map(metadata.options.flatMap((option) => [[option.id.toLowerCase(), option.id], ...option.aliases.map((alias) => [alias.toLowerCase(), option.id])]))]));
|
|
2573
2764
|
function isMultiSelectCategory(category) {
|
|
@@ -2594,10 +2785,13 @@ const VITE_WEB_FRONTENDS = new Set([
|
|
|
2594
2785
|
"svelte",
|
|
2595
2786
|
"fresh"
|
|
2596
2787
|
]);
|
|
2788
|
+
const ASTRO_WEB_FRONTENDS = new Set(["astro"]);
|
|
2597
2789
|
function getLocalWebDevPort(frontend) {
|
|
2598
|
-
|
|
2790
|
+
if (frontend.some((entry) => VITE_WEB_FRONTENDS.has(entry))) return 5173;
|
|
2791
|
+
if (frontend.some((entry) => ASTRO_WEB_FRONTENDS.has(entry))) return 4321;
|
|
2792
|
+
return 3001;
|
|
2599
2793
|
}
|
|
2600
2794
|
|
|
2601
2795
|
//#endregion
|
|
2602
|
-
export { ADDONS_VALUES, AISchema, AI_DOCS_VALUES, AI_VALUES, ANALYTICS_VALUES, ANIMATION_VALUES, APISchema, API_VALUES, ASTRO_INTEGRATION_VALUES, AUTH_VALUES, AddInputSchema, AddonsSchema, AiDocsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CACHING_VALUES, CLIInputSchema, CMSSchema, CMS_VALUES, CSSFrameworkSchema, CSS_FRAMEWORK_VALUES, CachingSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DirectoryConflictSchema, ECOSYSTEM_VALUES, EFFECT_VALUES, EMAIL_VALUES, EXAMPLES_VALUES, EcosystemSchema, EffectSchema, EmailSchema, ExamplesSchema, FEATURE_FLAGS_VALUES, FILE_STORAGE_VALUES, FILE_UPLOAD_VALUES, FORMS_VALUES, FRONTEND_VALUES, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GO_API_VALUES, GO_CLI_VALUES, GO_LOGGING_VALUES, GO_ORM_VALUES, GO_WEB_FRAMEWORK_VALUES, GoApiSchema, GoCliSchema, GoLoggingSchema, GoOrmSchema, GoWebFrameworkSchema, I18N_VALUES, I18nSchema, InitResultSchema, JOB_QUEUE_VALUES, JobQueueSchema, LOGGING_VALUES, LoggingSchema, OBSERVABILITY_VALUES, OPTION_CATEGORY_METADATA, ORMSchema, ORM_VALUES, ObservabilitySchema, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PYTHON_AI_VALUES, PYTHON_AUTH_VALUES, PYTHON_GRAPHQL_VALUES, PYTHON_ORM_VALUES, PYTHON_QUALITY_VALUES, PYTHON_TASK_QUEUE_VALUES, PYTHON_VALIDATION_VALUES, PYTHON_WEB_FRAMEWORK_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, PythonAiSchema, PythonAuthSchema, PythonGraphqlSchema, PythonOrmSchema, PythonQualitySchema, PythonTaskQueueSchema, PythonValidationSchema, PythonWebFrameworkSchema, REALTIME_VALUES, RUNTIME_VALUES, RUST_API_VALUES, RUST_CACHING_VALUES, RUST_CLI_VALUES, RUST_ERROR_HANDLING_VALUES, RUST_FRONTEND_VALUES, RUST_LIBRARIES_VALUES, RUST_LOGGING_VALUES, RUST_ORM_VALUES, RUST_WEB_FRAMEWORK_VALUES, RealtimeSchema, RuntimeSchema, RustApiSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustOrmSchema, RustWebFrameworkSchema, SEARCH_VALUES, SERVER_DEPLOY_VALUES, SHADCN_BASE_COLOR_VALUES, SHADCN_BASE_VALUES, SHADCN_COLOR_THEME_VALUES, SHADCN_FONT_VALUES, SHADCN_ICON_LIBRARY_VALUES, SHADCN_RADIUS_VALUES, SHADCN_STYLE_VALUES, STATE_MANAGEMENT_VALUES, SearchSchema, ServerDeploySchema, ShadcnBaseColorSchema, ShadcnBaseSchema, ShadcnColorThemeSchema, ShadcnFontSchema, ShadcnIconLibrarySchema, ShadcnRadiusSchema, ShadcnStyleSchema, StateManagementSchema, TEMPLATE_VALUES, TESTING_VALUES, TemplateSchema, TestingSchema, UILibrarySchema, UI_LIBRARY_VALUES, VALIDATION_VALUES, VERSION_CHANNEL_VALUES, ValidationSchema, VersionChannelSchema, WEB_DEPLOY_VALUES, WebDeploySchema, allowedApisForFrontends, analyzeStackCompatibility, evaluateCompatibility, getCapabilityDefinitions, getCapabilityDisabledReason, getCategoryCliValues, getCategoryDisplayName, getCategoryOptionIds, getCompatibleAddons, getCompatibleCSSFrameworks, getCompatibleFormLibraries, getCompatibleUILibraries, getDisabledReason, getLocalWebDevPort, getOptionMetadata, getSupportedCapabilityOptions, hasPWACompatibleFrontend, hasTauriCompatibleFrontend, hasWebStyling, isExampleAIAllowed, isExampleChatSdkAllowed, isFrontendAllowedWithBackend, isMultiSelectCategory, isOptionCompatible, isWebFrontend, normalizeCapabilitySelection, normalizeOptionId, requiresChatSdkVercelAI, requiresChatSdkVercelAIForSelection, splitFrontends, validateAddonCompatibility, validateProjectName };
|
|
2796
|
+
export { ADDONS_VALUES, AISchema, AI_DOCS_VALUES, AI_VALUES, ANALYTICS_VALUES, ANIMATION_VALUES, APISchema, API_VALUES, ASTRO_INTEGRATION_VALUES, AUTH_VALUES, AddInputSchema, AddonsSchema, AiDocsSchema, AnalyticsSchema, AnimationSchema, AstroIntegrationSchema, AuthSchema, BACKEND_VALUES, BackendSchema, BetterTStackConfigFileSchema, BetterTStackConfigSchema, CACHING_VALUES, CLIInputSchema, CMSSchema, CMS_VALUES, CSSFrameworkSchema, CSS_FRAMEWORK_VALUES, CachingSchema, CreateInputSchema, DATABASE_SETUP_VALUES, DATABASE_VALUES, DIRECTORY_CONFLICT_VALUES, DatabaseSchema, DatabaseSetupSchema, DirectoryConflictSchema, ECOSYSTEM_VALUES, EFFECT_VALUES, EMAIL_VALUES, EXAMPLES_VALUES, EcosystemSchema, EffectSchema, EmailSchema, ExamplesSchema, FEATURE_FLAGS_VALUES, FILE_STORAGE_VALUES, FILE_UPLOAD_VALUES, FORMS_VALUES, FRONTEND_VALUES, FeatureFlagsSchema, FileStorageSchema, FileUploadSchema, FormsSchema, FrontendSchema, GO_API_VALUES, GO_AUTH_VALUES, GO_CLI_VALUES, GO_LOGGING_VALUES, GO_ORM_VALUES, GO_WEB_FRAMEWORK_VALUES, GoApiSchema, GoAuthSchema, GoCliSchema, GoLoggingSchema, GoOrmSchema, GoWebFrameworkSchema, I18N_VALUES, I18nSchema, InitResultSchema, JAVA_AUTH_VALUES, JAVA_BUILD_TOOL_VALUES, JAVA_LIBRARIES_VALUES, JAVA_ORM_VALUES, JAVA_TESTING_LIBRARIES_VALUES, JAVA_WEB_FRAMEWORK_VALUES, JOB_QUEUE_VALUES, JavaAuthSchema, JavaBuildToolSchema, JavaLibrariesSchema, JavaOrmSchema, JavaTestingLibrariesSchema, JavaWebFrameworkSchema, JobQueueSchema, LOGGING_VALUES, LoggingSchema, OBSERVABILITY_VALUES, OPTION_CATEGORY_METADATA, ORMSchema, ORM_VALUES, ObservabilitySchema, PACKAGE_MANAGER_VALUES, PAYMENTS_VALUES, PYTHON_AI_VALUES, PYTHON_AUTH_VALUES, PYTHON_GRAPHQL_VALUES, PYTHON_ORM_VALUES, PYTHON_QUALITY_VALUES, PYTHON_TASK_QUEUE_VALUES, PYTHON_VALIDATION_VALUES, PYTHON_WEB_FRAMEWORK_VALUES, PackageManagerSchema, PaymentsSchema, ProjectConfigSchema, ProjectNameSchema, PythonAiSchema, PythonAuthSchema, PythonGraphqlSchema, PythonOrmSchema, PythonQualitySchema, PythonTaskQueueSchema, PythonValidationSchema, PythonWebFrameworkSchema, REALTIME_VALUES, RUNTIME_VALUES, RUST_API_VALUES, RUST_AUTH_VALUES, RUST_CACHING_VALUES, RUST_CLI_VALUES, RUST_ERROR_HANDLING_VALUES, RUST_FRONTEND_VALUES, RUST_LIBRARIES_VALUES, RUST_LOGGING_VALUES, RUST_ORM_VALUES, RUST_WEB_FRAMEWORK_VALUES, RealtimeSchema, RuntimeSchema, RustApiSchema, RustAuthSchema, RustCachingSchema, RustCliSchema, RustErrorHandlingSchema, RustFrontendSchema, RustLibrariesSchema, RustLoggingSchema, RustOrmSchema, RustWebFrameworkSchema, SEARCH_VALUES, SERVER_DEPLOY_VALUES, SHADCN_BASE_COLOR_VALUES, SHADCN_BASE_VALUES, SHADCN_COLOR_THEME_VALUES, SHADCN_FONT_VALUES, SHADCN_ICON_LIBRARY_VALUES, SHADCN_RADIUS_VALUES, SHADCN_STYLE_VALUES, STATE_MANAGEMENT_VALUES, SearchSchema, ServerDeploySchema, ShadcnBaseColorSchema, ShadcnBaseSchema, ShadcnColorThemeSchema, ShadcnFontSchema, ShadcnIconLibrarySchema, ShadcnRadiusSchema, ShadcnStyleSchema, StateManagementSchema, TEMPLATE_VALUES, TESTING_VALUES, TemplateSchema, TestingSchema, UILibrarySchema, UI_LIBRARY_VALUES, VALIDATION_VALUES, VERSION_CHANNEL_VALUES, ValidationSchema, VersionChannelSchema, WEB_DEPLOY_VALUES, WebDeploySchema, allowedApisForFrontends, analyzeStackCompatibility, createCliDefaultProjectConfigBase, evaluateCompatibility, getCapabilityDefinitions, getCapabilityDisabledReason, getCategoryCliValues, getCategoryDisplayName, getCategoryOptionIds, getCompatibleAddons, getCompatibleCSSFrameworks, getCompatibleFormLibraries, getCompatibleUILibraries, getDisabledReason, getLocalWebDevPort, getOptionMetadata, getSupportedCapabilityOptions, hasPWACompatibleFrontend, hasTauriCompatibleFrontend, hasWebStyling, isExampleAIAllowed, isExampleChatSdkAllowed, isFrontendAllowedWithBackend, isMultiSelectCategory, isOptionCompatible, isWebFrontend, normalizeCapabilitySelection, normalizeOptionId, requiresChatSdkVercelAI, requiresChatSdkVercelAIForSelection, splitFrontends, validateAddonCompatibility, validateProjectName };
|
|
2603
2797
|
//# sourceMappingURL=index.mjs.map
|