create-better-fullstack 2.1.7 → 2.2.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/{add-handler-ztNjzoMN.mjs → add-handler-CE3XIs3y.mjs} +8 -8
- package/dist/{addons-setup-LaAj43NP.mjs → addons-setup-DR924M7b.mjs} +1 -1
- package/dist/addons-setup-Du2VSv8V.mjs +7 -0
- package/dist/{analytics-DVltG11u.mjs → analytics-BXlOG6u6.mjs} +1 -1
- package/dist/{bts-config-DQVWvPDs.mjs → bts-config-B_HhcMXL.mjs} +30 -0
- package/dist/cli.mjs +2 -2
- package/dist/{config-processing-D9-F2Us9.mjs → config-processing-DJisMeW-.mjs} +17 -1
- package/dist/{doctor-a4ca3SMd.mjs → doctor-Cc7sLuow.mjs} +2 -2
- package/dist/{file-formatter-gvmrpd-g.mjs → file-formatter-BgbfpYf4.mjs} +442 -22
- package/dist/{gen-CCClL7Ve.mjs → gen-BZ0QCxCC.mjs} +1 -1
- package/dist/{generated-checks-BV9jol5h.mjs → generated-checks-CbioGjCh.mjs} +1 -1
- package/dist/index.d.mts +461 -183
- package/dist/index.mjs +20 -9
- package/dist/{install-dependencies-RoUyaE8o.mjs → install-dependencies-D__bmW4k.mjs} +86 -18
- package/dist/{mcp-492OkjcS.mjs → mcp-DNKAo8nO.mjs} +5 -5
- package/dist/mcp-entry.mjs +37 -225
- package/dist/{registry-DSf2CEaU.mjs → registry-Cm3D45oT.mjs} +1 -1
- package/dist/run-C_S7ujfY.mjs +15 -0
- package/dist/{run-D9I7NdES.mjs → run-DmN7QRt5.mjs} +1231 -346
- package/dist/scaffold-manifest-ByKtMhTd.mjs +4 -0
- package/dist/{scaffold-manifest-Dyi0voqE.mjs → scaffold-manifest-CNFz-lmH.mjs} +34 -5
- package/dist/{update-DJ8CI5KW.mjs → update-B270pWHc.mjs} +182 -25
- package/package.json +6 -6
- package/dist/addons-setup-DnLjAzTw.mjs +0 -7
- package/dist/run-buK4aZS8.mjs +0 -15
- package/dist/scaffold-manifest-DGRyepdb.mjs +0 -4
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as updateBtsConfig, r as readBtsConfig, v as getDefaultConfig } from "./bts-config-
|
|
2
|
+
import { a as updateBtsConfig, r as readBtsConfig, v as getDefaultConfig } from "./bts-config-B_HhcMXL.mjs";
|
|
3
3
|
import { t as renderTitle } from "./render-title-zvyKC1ej.mjs";
|
|
4
4
|
import { c as isSilent, l as runWithContextAsync, n as UserCancelledError, t as CLIError } from "./errors-ns_o2OKg.mjs";
|
|
5
5
|
import "./prompt-environment-BR0Kkw2W.mjs";
|
|
6
|
-
import { i as trackEvent, r as maybeShowTelemetryNotice } from "./analytics-
|
|
7
|
-
import "./file-formatter-
|
|
8
|
-
import { c as applyDependencyVersionChannel, t as installDependencies, u as getAddonsToAdd } from "./install-dependencies-
|
|
9
|
-
import "./scaffold-manifest-
|
|
10
|
-
import { t as setupAddons } from "./addons-setup-
|
|
11
|
-
import {
|
|
6
|
+
import { i as trackEvent, r as maybeShowTelemetryNotice } from "./analytics-BXlOG6u6.mjs";
|
|
7
|
+
import "./file-formatter-BgbfpYf4.mjs";
|
|
8
|
+
import { c as applyDependencyVersionChannel, t as installDependencies, u as getAddonsToAdd } from "./install-dependencies-D__bmW4k.mjs";
|
|
9
|
+
import "./scaffold-manifest-CNFz-lmH.mjs";
|
|
10
|
+
import { t as setupAddons } from "./addons-setup-DR924M7b.mjs";
|
|
11
|
+
import { p as planStackUpdate, s as applyStackUpdate } from "./mcp-entry.mjs";
|
|
12
12
|
import { intro, log, outro } from "@clack/prompts";
|
|
13
13
|
import pc from "picocolors";
|
|
14
14
|
import fs from "fs-extra";
|
|
@@ -211,7 +211,7 @@ async function addHandlerInternal(input) {
|
|
|
211
211
|
const existingAddons = btsConfig.addons || [];
|
|
212
212
|
let addonsToAdd = [];
|
|
213
213
|
if (input.addons && input.addons.length > 0) addonsToAdd = input.addons.filter((addon) => addon !== "none" && !existingAddons.includes(addon));
|
|
214
|
-
else addonsToAdd = (await getAddonsToAdd(btsConfig.frontend || [], existingAddons, btsConfig.auth)).filter((addon) => addon !== "none");
|
|
214
|
+
else addonsToAdd = (await getAddonsToAdd(btsConfig.frontend || [], existingAddons, btsConfig.auth, btsConfig.backend, btsConfig.runtime, btsConfig.api ?? "none")).filter((addon) => addon !== "none");
|
|
215
215
|
if (addonsToAdd.length === 0) {
|
|
216
216
|
if (!isSilent()) {
|
|
217
217
|
log.info(pc.dim("No new addons selected."));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { r as readBtsConfig } from "./bts-config-
|
|
2
|
+
import { r as readBtsConfig } from "./bts-config-B_HhcMXL.mjs";
|
|
3
3
|
import { c as isSilent, r as exitCancelled } from "./errors-ns_o2OKg.mjs";
|
|
4
4
|
import { t as canPromptInteractively } from "./prompt-environment-BR0Kkw2W.mjs";
|
|
5
5
|
import { autocompleteMultiselect, group, isCancel, log, multiselect, select, spinner } from "@clack/prompts";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { m as getLatestCLIVersion } from "./bts-config-
|
|
2
|
+
import { m as getLatestCLIVersion } from "./bts-config-B_HhcMXL.mjs";
|
|
3
3
|
import { t as canPromptInteractively } from "./prompt-environment-BR0Kkw2W.mjs";
|
|
4
4
|
import { log } from "@clack/prompts";
|
|
5
5
|
import pc from "picocolors";
|
|
@@ -52,6 +52,8 @@ const DEFAULT_UI_LIBRARY_BY_FRONTEND = {
|
|
|
52
52
|
"tanstack-router": "shadcn-ui",
|
|
53
53
|
"react-router": "shadcn-ui",
|
|
54
54
|
"react-vite": "shadcn-ui",
|
|
55
|
+
"vanilla-vite": "none",
|
|
56
|
+
vue: "none",
|
|
55
57
|
"tanstack-start": "shadcn-ui",
|
|
56
58
|
next: "shadcn-ui",
|
|
57
59
|
vinext: "shadcn-ui",
|
|
@@ -313,6 +315,12 @@ function normalizeGraphConfigForPersistence(projectConfig, stackParts) {
|
|
|
313
315
|
normalized.goCaching = "none";
|
|
314
316
|
normalized.goConfig = "none";
|
|
315
317
|
normalized.goObservability = "none";
|
|
318
|
+
normalized.goValidation = "none";
|
|
319
|
+
normalized.goQuality = "none";
|
|
320
|
+
normalized.goMigrations = "none";
|
|
321
|
+
normalized.goTemplating = "none";
|
|
322
|
+
normalized.goProtoTooling = "none";
|
|
323
|
+
normalized.goDI = "none";
|
|
316
324
|
}
|
|
317
325
|
if (selectedEcosystems.has("go") && projectConfig.auth === "go-better-auth" && legacyConfig.auth === "none") normalized.auth = projectConfig.auth;
|
|
318
326
|
if (!selectedEcosystems.has("java")) {
|
|
@@ -536,6 +544,12 @@ function buildBtsConfigForPersistence(projectConfig, metadata = {}) {
|
|
|
536
544
|
goCaching: persistedConfig.goCaching,
|
|
537
545
|
goConfig: persistedConfig.goConfig,
|
|
538
546
|
goObservability: persistedConfig.goObservability,
|
|
547
|
+
goValidation: persistedConfig.goValidation,
|
|
548
|
+
goQuality: persistedConfig.goQuality,
|
|
549
|
+
goMigrations: persistedConfig.goMigrations,
|
|
550
|
+
goTemplating: persistedConfig.goTemplating,
|
|
551
|
+
goProtoTooling: persistedConfig.goProtoTooling,
|
|
552
|
+
goDI: persistedConfig.goDI,
|
|
539
553
|
javaLanguage: persistedConfig.javaLanguage,
|
|
540
554
|
javaWebFramework: persistedConfig.javaWebFramework,
|
|
541
555
|
javaBuildTool: persistedConfig.javaBuildTool,
|
|
@@ -570,6 +584,11 @@ function buildBtsConfigForPersistence(projectConfig, metadata = {}) {
|
|
|
570
584
|
elixirObservability: persistedConfig.elixirObservability,
|
|
571
585
|
elixirTesting: persistedConfig.elixirTesting,
|
|
572
586
|
elixirQuality: persistedConfig.elixirQuality,
|
|
587
|
+
elixirI18n: persistedConfig.elixirI18n,
|
|
588
|
+
elixirHttpServer: persistedConfig.elixirHttpServer,
|
|
589
|
+
elixirApplicationFramework: persistedConfig.elixirApplicationFramework,
|
|
590
|
+
elixirDocumentation: persistedConfig.elixirDocumentation,
|
|
591
|
+
elixirClustering: persistedConfig.elixirClustering,
|
|
573
592
|
elixirDeploy: persistedConfig.elixirDeploy,
|
|
574
593
|
elixirLibraries: persistedConfig.elixirLibraries,
|
|
575
594
|
aiDocs: persistedConfig.aiDocs,
|
|
@@ -693,6 +712,12 @@ async function writeBtsConfig(projectConfig, metadata = {}) {
|
|
|
693
712
|
goCaching: btsConfig.goCaching,
|
|
694
713
|
goConfig: btsConfig.goConfig,
|
|
695
714
|
goObservability: btsConfig.goObservability,
|
|
715
|
+
goValidation: btsConfig.goValidation,
|
|
716
|
+
goQuality: btsConfig.goQuality,
|
|
717
|
+
goMigrations: btsConfig.goMigrations,
|
|
718
|
+
goTemplating: btsConfig.goTemplating,
|
|
719
|
+
goProtoTooling: btsConfig.goProtoTooling,
|
|
720
|
+
goDI: btsConfig.goDI,
|
|
696
721
|
javaLanguage: btsConfig.javaLanguage,
|
|
697
722
|
javaWebFramework: btsConfig.javaWebFramework,
|
|
698
723
|
javaBuildTool: btsConfig.javaBuildTool,
|
|
@@ -727,6 +752,11 @@ async function writeBtsConfig(projectConfig, metadata = {}) {
|
|
|
727
752
|
elixirObservability: btsConfig.elixirObservability,
|
|
728
753
|
elixirTesting: btsConfig.elixirTesting,
|
|
729
754
|
elixirQuality: btsConfig.elixirQuality,
|
|
755
|
+
elixirI18n: btsConfig.elixirI18n,
|
|
756
|
+
elixirHttpServer: btsConfig.elixirHttpServer,
|
|
757
|
+
elixirApplicationFramework: btsConfig.elixirApplicationFramework,
|
|
758
|
+
elixirDocumentation: btsConfig.elixirDocumentation,
|
|
759
|
+
elixirClustering: btsConfig.elixirClustering,
|
|
730
760
|
elixirDeploy: btsConfig.elixirDeploy,
|
|
731
761
|
elixirLibraries: btsConfig.elixirLibraries,
|
|
732
762
|
aiDocs: btsConfig.aiDocs,
|
package/dist/cli.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
//#region src/cli.ts
|
|
3
|
-
if (process.argv[2] === "mcp" && process.argv.length === 3) import("./mcp-
|
|
4
|
-
else import("./run-
|
|
3
|
+
if (process.argv[2] === "mcp" && process.argv.length === 3) import("./mcp-DNKAo8nO.mjs").then((m) => m.startMcpServer());
|
|
4
|
+
else import("./run-C_S7ujfY.mjs").then((m) => m.createBtsCli().run());
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { b as types_exports } from "./bts-config-
|
|
2
|
+
import { b as types_exports } from "./bts-config-B_HhcMXL.mjs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { cliInputToProjectConfigPartial } from "@better-fullstack/types/stack-translation";
|
|
5
5
|
|
|
@@ -177,6 +177,11 @@ function appendGraphExtraFlags(flags, config) {
|
|
|
177
177
|
appendChangedGraphStringFlag(flags, config, "observability", "elixir", "elixir-observability", config.elixirObservability, "telemetry");
|
|
178
178
|
appendChangedGraphStringFlag(flags, config, "testing", "elixir", "elixir-testing", config.elixirTesting, "ex_unit");
|
|
179
179
|
appendChangedOwnedGraphStringFlag(flags, config, "backend", "codeQuality", "elixir", "elixir-quality", config.elixirQuality, "credo");
|
|
180
|
+
appendChangedGraphStringFlag(flags, config, "i18n", "elixir", "elixir-i18n", config.elixirI18n, "none");
|
|
181
|
+
appendChangedGraphStringFlag(flags, config, "runtime", "elixir", "elixir-http-server", config.elixirHttpServer, "cowboy");
|
|
182
|
+
appendChangedGraphStringFlag(flags, config, "libraries", "elixir", "elixir-application-framework", config.elixirApplicationFramework, "none");
|
|
183
|
+
appendChangedGraphStringFlag(flags, config, "documentation", "elixir", "elixir-documentation", config.elixirDocumentation, "none");
|
|
184
|
+
appendChangedGraphStringFlag(flags, config, "config", "elixir", "elixir-clustering", config.elixirClustering, "none");
|
|
180
185
|
appendChangedGraphStringFlag(flags, config, "deploy", "elixir", "elixir-deploy", config.elixirDeploy, "none");
|
|
181
186
|
}
|
|
182
187
|
}
|
|
@@ -321,6 +326,12 @@ function getGoFlags(config) {
|
|
|
321
326
|
flags.push(`--go-caching ${config.goCaching}`);
|
|
322
327
|
flags.push(`--go-config ${config.goConfig}`);
|
|
323
328
|
flags.push(`--go-observability ${config.goObservability}`);
|
|
329
|
+
flags.push(`--go-validation ${config.goValidation ?? "none"}`);
|
|
330
|
+
flags.push(`--go-quality ${config.goQuality ?? "none"}`);
|
|
331
|
+
flags.push(`--go-migrations ${config.goMigrations ?? "none"}`);
|
|
332
|
+
flags.push(`--go-templating ${config.goTemplating ?? "none"}`);
|
|
333
|
+
flags.push(`--go-proto-tooling ${config.goProtoTooling ?? "none"}`);
|
|
334
|
+
flags.push(`--go-di ${config.goDI ?? "none"}`);
|
|
324
335
|
flags.push(`--auth ${config.auth}`);
|
|
325
336
|
appendSharedNonTypeScriptFlags(flags, config);
|
|
326
337
|
appendCommonFlags(flags, config);
|
|
@@ -373,6 +384,11 @@ function getElixirFlags(config) {
|
|
|
373
384
|
flags.push(`--elixir-observability ${config.elixirObservability}`);
|
|
374
385
|
flags.push(`--elixir-testing ${config.elixirTesting}`);
|
|
375
386
|
flags.push(`--elixir-quality ${config.elixirQuality}`);
|
|
387
|
+
flags.push(`--elixir-i18n ${config.elixirI18n}`);
|
|
388
|
+
flags.push(`--elixir-http-server ${config.elixirHttpServer}`);
|
|
389
|
+
flags.push(`--elixir-application-framework ${config.elixirApplicationFramework}`);
|
|
390
|
+
flags.push(`--elixir-documentation ${config.elixirDocumentation}`);
|
|
391
|
+
flags.push(`--elixir-clustering ${config.elixirClustering}`);
|
|
376
392
|
flags.push(`--elixir-deploy ${config.elixirDeploy}`);
|
|
377
393
|
flags.push(formatArrayFlag("elixir-libraries", config.elixirLibraries));
|
|
378
394
|
appendCommonFlags(flags, config);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { r as readBtsConfig } from "./bts-config-
|
|
2
|
+
import { r as readBtsConfig } from "./bts-config-B_HhcMXL.mjs";
|
|
3
3
|
import { t as renderTitle } from "./render-title-zvyKC1ej.mjs";
|
|
4
4
|
import { a as handleError } from "./errors-ns_o2OKg.mjs";
|
|
5
|
-
import { t as runGeneratedChecks } from "./generated-checks-
|
|
5
|
+
import { t as runGeneratedChecks } from "./generated-checks-CbioGjCh.mjs";
|
|
6
6
|
import { intro, log, spinner } from "@clack/prompts";
|
|
7
7
|
import pc from "picocolors";
|
|
8
8
|
import fs from "fs-extra";
|