@better-fullstack/types 2.6.3 → 2.6.5
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-c1Q6oSGr.d.mts → defaults-2siC1CqU.d.mts} +2 -2
- package/dist/defaults-2siC1CqU.d.mts.map +1 -0
- package/dist/{defaults-DTS30ICD.mjs → defaults-nq08Mnf5.mjs} +2 -1
- package/dist/defaults-nq08Mnf5.mjs.map +1 -0
- package/dist/defaults.d.mts +3 -3
- package/dist/defaults.mjs +1 -1
- package/dist/index.d.mts +22 -21
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +15 -6
- package/dist/index.mjs.map +1 -1
- package/dist/json-schema.d.mts +410 -362
- package/dist/json-schema.d.mts.map +1 -1
- package/dist/json-schema.mjs +1 -1
- package/dist/{schemas-byZ-ZfU_.d.mts → schemas-CBplkYwu.d.mts} +684 -635
- package/dist/schemas-CBplkYwu.d.mts.map +1 -0
- package/dist/{schemas-cgmdgudQ.mjs → schemas-CywxHrK2.mjs} +8 -2
- package/dist/schemas-CywxHrK2.mjs.map +1 -0
- package/dist/schemas.d.mts +2 -2
- package/dist/schemas.mjs +2 -2
- package/dist/{stack-graph-Oj-P0cij.mjs → stack-graph-6mobDYUo.mjs} +52 -10
- package/dist/stack-graph-6mobDYUo.mjs.map +1 -0
- package/dist/{stack-graph-BuGqVDuz.d.mts → stack-graph-CmMyv1fu.d.mts} +2 -2
- package/dist/{stack-graph-BuGqVDuz.d.mts.map → stack-graph-CmMyv1fu.d.mts.map} +1 -1
- package/dist/stack-graph.d.mts +3 -3
- package/dist/stack-graph.mjs +2 -2
- package/dist/{stack-translation-49iba9M5.mjs → stack-translation-CavXg_BJ.mjs} +152 -15
- package/dist/stack-translation-CavXg_BJ.mjs.map +1 -0
- package/dist/{stack-translation-PRZPaQP4.d.mts → stack-translation-DwF-iWnN.d.mts} +12 -6
- package/dist/stack-translation-DwF-iWnN.d.mts.map +1 -0
- package/dist/stack-translation.d.mts +5 -5
- package/dist/stack-translation.mjs +4 -4
- package/dist/{telemetry-C9qQ80l9.mjs → telemetry--r3iKqHM.mjs} +6 -4
- package/dist/telemetry--r3iKqHM.mjs.map +1 -0
- package/dist/{telemetry-CUtrUTe9.d.mts → telemetry-D4mP-fTC.d.mts} +3 -3
- package/dist/telemetry-D4mP-fTC.d.mts.map +1 -0
- package/dist/telemetry.d.mts +1 -1
- package/dist/telemetry.mjs +4 -4
- package/dist/{types-DA-r_8X7.d.mts → types-DgPd7BLf.d.mts} +4 -3
- package/dist/types-DgPd7BLf.d.mts.map +1 -0
- package/dist/types.d.mts +3 -3
- package/package.json +2 -2
- package/dist/defaults-DTS30ICD.mjs.map +0 -1
- package/dist/defaults-c1Q6oSGr.d.mts.map +0 -1
- package/dist/schemas-byZ-ZfU_.d.mts.map +0 -1
- package/dist/schemas-cgmdgudQ.mjs.map +0 -1
- package/dist/stack-graph-Oj-P0cij.mjs.map +0 -1
- package/dist/stack-translation-49iba9M5.mjs.map +0 -1
- package/dist/stack-translation-PRZPaQP4.d.mts.map +0 -1
- package/dist/telemetry-C9qQ80l9.mjs.map +0 -1
- package/dist/telemetry-CUtrUTe9.d.mts.map +0 -1
- package/dist/types-DA-r_8X7.d.mts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, B as DOTNET_AUTH_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Bt as EXAMPLES_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, _n as FRONTEND_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, 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, eo as StackPartRoleSchema, 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, 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, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_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, 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, y as BACKEND_VALUES, yi as PYTHON_QUALITY_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-
|
|
1
|
+
import { $i as REALTIME_VALUES, A as CMS_VALUES, An as GO_MESSAGE_QUEUE_VALUES, Ar as KOTLIN_MOBILE_LIBRARIES_VALUES, B as DOTNET_AUTH_VALUES, Bn as GO_WEB_FRAMEWORK_VALUES, Br as MOBILE_PUSH_VALUES, Bt as EXAMPLES_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, _n as FRONTEND_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, 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, eo as StackPartRoleSchema, 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, 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, mr as JAVA_LIBRARIES_VALUES, na as RUST_AUTH_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, 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, y as BACKEND_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-CywxHrK2.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/capabilities/tooling-capabilities.ts
|
|
4
4
|
const TOOLING_CATEGORY_IDS = [
|
|
@@ -423,6 +423,24 @@ function isToolingOverlayOnly(parts) {
|
|
|
423
423
|
function getSelectedToolingOption(category, selectedToolIds) {
|
|
424
424
|
return getToolingSelectionOptions(category).find((selection) => selection.toolIds.length === 0 ? getToolingCapabilities(category).every((capability) => !selectedToolIds.includes(capability.toolId)) : selection.toolIds.every((toolId) => selectedToolIds.includes(toolId)));
|
|
425
425
|
}
|
|
426
|
+
function toolingRequiresJavaScriptWorkspace(toolId) {
|
|
427
|
+
const capability = getToolingCapability(toolId);
|
|
428
|
+
if (!capability) return false;
|
|
429
|
+
return [
|
|
430
|
+
"toolchain",
|
|
431
|
+
"workspaceRunner",
|
|
432
|
+
"codeQuality",
|
|
433
|
+
"documentation",
|
|
434
|
+
"codeGeneration",
|
|
435
|
+
"appPlatforms",
|
|
436
|
+
"testingTools"
|
|
437
|
+
].includes(capability.category) || [
|
|
438
|
+
"husky",
|
|
439
|
+
"lefthook",
|
|
440
|
+
"knip",
|
|
441
|
+
"ruler"
|
|
442
|
+
].includes(toolId);
|
|
443
|
+
}
|
|
426
444
|
|
|
427
445
|
//#endregion
|
|
428
446
|
//#region src/stack/stack-compatibility-rules.ts
|
|
@@ -983,6 +1001,7 @@ const LEGACY_TYPESCRIPT_FRONTEND_SINGLE_CATEGORIES = {
|
|
|
983
1001
|
fileUpload: "fileUpload",
|
|
984
1002
|
i18n: "i18n",
|
|
985
1003
|
analytics: "analytics",
|
|
1004
|
+
webMcp: "webMcp",
|
|
986
1005
|
botProtection: "botProtection"
|
|
987
1006
|
};
|
|
988
1007
|
const LEGACY_DATABASE_SINGLE_CATEGORIES = { dbSetup: "dbSetup" };
|
|
@@ -1425,6 +1444,7 @@ const STACK_TOOL_DEFINITIONS = [
|
|
|
1425
1444
|
...defineTools(FILE_UPLOAD_VALUES, "fileUpload", "typescript", "fileUpload"),
|
|
1426
1445
|
...defineTools(I18N_VALUES, "i18n", "typescript", "i18n"),
|
|
1427
1446
|
...defineTools(ANALYTICS_VALUES, "analytics", "typescript", "analytics"),
|
|
1447
|
+
...defineTools(WEB_MCP_VALUES, "webMcp", "typescript", "webMcp"),
|
|
1428
1448
|
...defineTools(BOT_PROTECTION_VALUES, "botProtection", "typescript", "botProtection"),
|
|
1429
1449
|
...TOOLING_CAPABILITIES.map((capability) => {
|
|
1430
1450
|
const category = getToolingCategory(capability.category);
|
|
@@ -2790,14 +2810,32 @@ function parseStackPartSpecs(specs, source = "selected") {
|
|
|
2790
2810
|
mobile: "apps",
|
|
2791
2811
|
database: "data"
|
|
2792
2812
|
};
|
|
2793
|
-
const
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
targetPath
|
|
2813
|
+
const usesFixedJavaScriptPath = (part) => (part.ecosystem === "typescript" || part.ecosystem === "react-native") && [
|
|
2814
|
+
"frontend",
|
|
2815
|
+
"backend",
|
|
2816
|
+
"mobile"
|
|
2817
|
+
].includes(part.role);
|
|
2818
|
+
const usedTargetPaths = new Set(unresolvedPrimaryParts.filter((part) => usesFixedJavaScriptPath(part) || (primaryRoleCounts.get(part.role) ?? 0) <= 1).flatMap((part) => {
|
|
2819
|
+
const targetPath = getRoleTargetPath(part.role);
|
|
2820
|
+
return targetPath ? [targetPath] : [];
|
|
2800
2821
|
}));
|
|
2822
|
+
const primaryParts = unresolvedPrimaryParts.map((part) => {
|
|
2823
|
+
let targetPath;
|
|
2824
|
+
if ((primaryRoleCounts.get(part.role) ?? 0) > 1 && PRIMARY_ROLES.has(part.role) && !usesFixedJavaScriptPath(part)) {
|
|
2825
|
+
const basePath = `${repeatedTargetRoot[part.role]}/${sanitizePartId(part.customId ?? `${part.ecosystem}-${part.toolId}`).replaceAll(":", "-")}`;
|
|
2826
|
+
targetPath = basePath;
|
|
2827
|
+
for (let suffix = 2; usedTargetPaths.has(targetPath); suffix += 1) targetPath = `${basePath}-${suffix}`;
|
|
2828
|
+
usedTargetPaths.add(targetPath);
|
|
2829
|
+
}
|
|
2830
|
+
return createStackPart({
|
|
2831
|
+
role: part.role,
|
|
2832
|
+
ecosystem: part.ecosystem,
|
|
2833
|
+
toolId: part.toolId,
|
|
2834
|
+
source,
|
|
2835
|
+
id: part.customId,
|
|
2836
|
+
targetPath
|
|
2837
|
+
});
|
|
2838
|
+
});
|
|
2801
2839
|
const primaryByRole = new Map(primaryParts.map((part) => [part.role, part]));
|
|
2802
2840
|
const primaryByRoleAndEcosystem = new Map(primaryParts.map((part) => [`${part.role}:${part.ecosystem}`, part]));
|
|
2803
2841
|
const scopedParts = unresolved.filter((part) => part.ownerRole !== void 0 || part.ownerPartId !== void 0).map((part) => createStackPart({
|
|
@@ -3193,6 +3231,10 @@ function validateStackParts(parts) {
|
|
|
3193
3231
|
label: "TypeScript web frontend",
|
|
3194
3232
|
parts: selectedPrimaryParts.filter((part) => part.role === "frontend" && part.ecosystem === "typescript")
|
|
3195
3233
|
},
|
|
3234
|
+
{
|
|
3235
|
+
label: "Rust web frontend",
|
|
3236
|
+
parts: selectedPrimaryParts.filter((part) => part.role === "frontend" && part.ecosystem === "rust")
|
|
3237
|
+
},
|
|
3196
3238
|
{
|
|
3197
3239
|
label: "TypeScript backend",
|
|
3198
3240
|
parts: selectedPrimaryParts.filter((part) => part.role === "backend" && part.ecosystem === "typescript")
|
|
@@ -3312,5 +3354,5 @@ function validateStackParts(parts) {
|
|
|
3312
3354
|
}
|
|
3313
3355
|
|
|
3314
3356
|
//#endregion
|
|
3315
|
-
export { hasTanStackAICompatibleFrontend as A, TOOLING_TOOL_IDS as B, toolingOverlayStackParts as C, getUnsupportedWebDeployFrontend as D, UI_LIBRARY_COMPATIBILITY as E, requiresChatSdkVercelAIForExamples as F, getToolingSelectionOptions as G, getToolingCapabilities as H, TOOLING_CAPABILITIES as I, isToolingOverlayOnly as K, TOOLING_CATEGORIES as L, isBackendUtilsCompatibleBackend as M, isExampleAIAllowed as N, hasDockerComposeCompatibleFrontend as O, isExampleChatSdkAllowed as P, TOOLING_CATEGORY_IDS as R, stackPartsToLegacyProjectConfigPartial as S, BACKEND_UTILS_COMPATIBLE_BACKENDS as T, getToolingCapability as U, getSelectedToolingOption as V, getToolingCategory as W, materializeProvidedStackParts as _, STACK_TOOL_DEFINITIONS as a, projectStackPartSettingsToProjectConfig as b, formatStackPartSpec as c, getStackPartCompatibilityIssueForPart as d, getStackPartOptions as f, legacyProjectConfigToStackParts as g, hasVitePlusWorkspaceRoot as h, STACK_PART_PROJECT_SETTING_KEYS as i, hasTauriCompatibleFrontend as j, hasPWACompatibleFrontend as k, getAddonStackPartBinding as l, hasJavaScriptWorkspaceRoot as m, ELIXIR_UNSUPPORTED_GRAPH_TOOLS as n, createStackPart as o, getStackToolDefinitions as p, isToolingOverlayPart as q, PROJECT_METADATA_SETTING_KEYS as r, formatStackGraphIssue as s, DEFAULT_SHADCN_STACK_PART_SETTINGS as t, getRoleTargetPath as u, mergeProjectConfigSettingsIntoStackParts as v, validateStackParts as w, stackGraphToLegacyProjectConfigForEcosystem as x, parseStackPartSpecs as y, TOOLING_SELECTION_OPTIONS as z };
|
|
3316
|
-
//# sourceMappingURL=stack-graph-
|
|
3357
|
+
export { hasTanStackAICompatibleFrontend as A, TOOLING_TOOL_IDS as B, toolingOverlayStackParts as C, getUnsupportedWebDeployFrontend as D, UI_LIBRARY_COMPATIBILITY as E, requiresChatSdkVercelAIForExamples as F, getToolingSelectionOptions as G, getToolingCapabilities as H, TOOLING_CAPABILITIES as I, toolingRequiresJavaScriptWorkspace as J, isToolingOverlayOnly as K, TOOLING_CATEGORIES as L, isBackendUtilsCompatibleBackend as M, isExampleAIAllowed as N, hasDockerComposeCompatibleFrontend as O, isExampleChatSdkAllowed as P, TOOLING_CATEGORY_IDS as R, stackPartsToLegacyProjectConfigPartial as S, BACKEND_UTILS_COMPATIBLE_BACKENDS as T, getToolingCapability as U, getSelectedToolingOption as V, getToolingCategory as W, materializeProvidedStackParts as _, STACK_TOOL_DEFINITIONS as a, projectStackPartSettingsToProjectConfig as b, formatStackPartSpec as c, getStackPartCompatibilityIssueForPart as d, getStackPartOptions as f, legacyProjectConfigToStackParts as g, hasVitePlusWorkspaceRoot as h, STACK_PART_PROJECT_SETTING_KEYS as i, hasTauriCompatibleFrontend as j, hasPWACompatibleFrontend as k, getAddonStackPartBinding as l, hasJavaScriptWorkspaceRoot as m, ELIXIR_UNSUPPORTED_GRAPH_TOOLS as n, createStackPart as o, getStackToolDefinitions as p, isToolingOverlayPart as q, PROJECT_METADATA_SETTING_KEYS as r, formatStackGraphIssue as s, DEFAULT_SHADCN_STACK_PART_SETTINGS as t, getRoleTargetPath as u, mergeProjectConfigSettingsIntoStackParts as v, validateStackParts as w, stackGraphToLegacyProjectConfigForEcosystem as x, parseStackPartSpecs as y, TOOLING_SELECTION_OPTIONS as z };
|
|
3358
|
+
//# sourceMappingURL=stack-graph-6mobDYUo.mjs.map
|