create-better-t-stack 3.44.3 → 3.46.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/cli.mjs +1 -1
- package/dist/index.d.mts +24 -0
- package/dist/index.mjs +1 -1
- package/dist/{src-DWTrkxVq.mjs → src-_HMF_A8q.mjs} +45 -61
- package/package.json +5 -5
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { D as setProcessMode, i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as types_exports, y as getLatestCLIVersion } from "./src-
|
|
2
|
+
import { D as setProcessMode, i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as types_exports, y as getLatestCLIVersion } from "./src-_HMF_A8q.mjs";
|
|
3
3
|
import { lineByLineConsoleLogger } from "trpc-cli";
|
|
4
4
|
import z from "zod";
|
|
5
5
|
import { McpServer } from "@modelcontextprotocol/server";
|
package/dist/index.d.mts
CHANGED
|
@@ -615,16 +615,21 @@ export declare const router: {
|
|
|
615
615
|
universal: "universal";
|
|
616
616
|
bob: "bob";
|
|
617
617
|
codebuddy: "codebuddy";
|
|
618
|
+
devin: "devin";
|
|
618
619
|
trae: "trae";
|
|
619
620
|
kiro: "kiro";
|
|
620
621
|
}>>>;
|
|
621
622
|
agents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
622
623
|
vercel: "vercel";
|
|
624
|
+
antigravity: "antigravity";
|
|
623
625
|
cline: "cline";
|
|
624
626
|
codex: "codex";
|
|
625
627
|
opencode: "opencode";
|
|
626
628
|
goose: "goose";
|
|
629
|
+
fx: "fx";
|
|
627
630
|
"kilo-code": "kilo-code";
|
|
631
|
+
"kimi-code": "kimi-code";
|
|
632
|
+
"kiro-cli": "kiro-cli";
|
|
628
633
|
universal: "universal";
|
|
629
634
|
adal: "adal";
|
|
630
635
|
amp: "amp";
|
|
@@ -635,6 +640,7 @@ export declare const router: {
|
|
|
635
640
|
devin: "devin";
|
|
636
641
|
droid: "droid";
|
|
637
642
|
firebender: "firebender";
|
|
643
|
+
grok: "grok";
|
|
638
644
|
junie: "junie";
|
|
639
645
|
mcpjam: "mcpjam";
|
|
640
646
|
"mistral-vibe": "mistral-vibe";
|
|
@@ -661,11 +667,17 @@ export declare const router: {
|
|
|
661
667
|
qwen: "qwen";
|
|
662
668
|
"amazon-q-cli": "amazon-q-cli";
|
|
663
669
|
"cursor-cli": "cursor-cli";
|
|
670
|
+
"snowflake-coco": "snowflake-coco";
|
|
671
|
+
xum: "xum";
|
|
664
672
|
}>>>;
|
|
665
673
|
hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
666
674
|
cursor: "cursor";
|
|
675
|
+
codex: "codex";
|
|
667
676
|
windsurf: "windsurf";
|
|
668
677
|
codebuddy: "codebuddy";
|
|
678
|
+
deepagents: "deepagents";
|
|
679
|
+
devin: "devin";
|
|
680
|
+
grok: "grok";
|
|
669
681
|
claude: "claude";
|
|
670
682
|
copilot: "copilot";
|
|
671
683
|
}>>>;
|
|
@@ -1130,16 +1142,21 @@ export declare const router: {
|
|
|
1130
1142
|
universal: "universal";
|
|
1131
1143
|
bob: "bob";
|
|
1132
1144
|
codebuddy: "codebuddy";
|
|
1145
|
+
devin: "devin";
|
|
1133
1146
|
trae: "trae";
|
|
1134
1147
|
kiro: "kiro";
|
|
1135
1148
|
}>>>;
|
|
1136
1149
|
agents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1137
1150
|
vercel: "vercel";
|
|
1151
|
+
antigravity: "antigravity";
|
|
1138
1152
|
cline: "cline";
|
|
1139
1153
|
codex: "codex";
|
|
1140
1154
|
opencode: "opencode";
|
|
1141
1155
|
goose: "goose";
|
|
1156
|
+
fx: "fx";
|
|
1142
1157
|
"kilo-code": "kilo-code";
|
|
1158
|
+
"kimi-code": "kimi-code";
|
|
1159
|
+
"kiro-cli": "kiro-cli";
|
|
1143
1160
|
universal: "universal";
|
|
1144
1161
|
adal: "adal";
|
|
1145
1162
|
amp: "amp";
|
|
@@ -1150,6 +1167,7 @@ export declare const router: {
|
|
|
1150
1167
|
devin: "devin";
|
|
1151
1168
|
droid: "droid";
|
|
1152
1169
|
firebender: "firebender";
|
|
1170
|
+
grok: "grok";
|
|
1153
1171
|
junie: "junie";
|
|
1154
1172
|
mcpjam: "mcpjam";
|
|
1155
1173
|
"mistral-vibe": "mistral-vibe";
|
|
@@ -1176,11 +1194,17 @@ export declare const router: {
|
|
|
1176
1194
|
qwen: "qwen";
|
|
1177
1195
|
"amazon-q-cli": "amazon-q-cli";
|
|
1178
1196
|
"cursor-cli": "cursor-cli";
|
|
1197
|
+
"snowflake-coco": "snowflake-coco";
|
|
1198
|
+
xum: "xum";
|
|
1179
1199
|
}>>>;
|
|
1180
1200
|
hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1181
1201
|
cursor: "cursor";
|
|
1202
|
+
codex: "codex";
|
|
1182
1203
|
windsurf: "windsurf";
|
|
1183
1204
|
codebuddy: "codebuddy";
|
|
1205
|
+
deepagents: "deepagents";
|
|
1206
|
+
devin: "devin";
|
|
1207
|
+
grok: "grok";
|
|
1184
1208
|
claude: "claude";
|
|
1185
1209
|
copilot: "copilot";
|
|
1186
1210
|
}>>>;
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as DirectoryConflictError, E as ValidationError, S as DatabaseSetupError, T as UserCancelledError, _ as ProjectLauncherSchema, a as TEMPLATE_COUNT, b as CLIError, c as builder, d as createVirtual, f as docs, g as sponsors, h as router, i as SchemaNameSchema, l as create, m as getSchemaResult, n as GeneratorError, o as VirtualFileSystem, p as generate, r as Result, s as add, t as EMBEDDED_TEMPLATES, u as createBtsCli, w as ProjectCreationError, x as CompatibilityError } from "./src-
|
|
2
|
+
import { C as DirectoryConflictError, E as ValidationError, S as DatabaseSetupError, T as UserCancelledError, _ as ProjectLauncherSchema, a as TEMPLATE_COUNT, b as CLIError, c as builder, d as createVirtual, f as docs, g as sponsors, h as router, i as SchemaNameSchema, l as create, m as getSchemaResult, n as GeneratorError, o as VirtualFileSystem, p as generate, r as Result, s as add, t as EMBEDDED_TEMPLATES, u as createBtsCli, w as ProjectCreationError, x as CompatibilityError } from "./src-_HMF_A8q.mjs";
|
|
3
3
|
export { CLIError, CompatibilityError, DatabaseSetupError, DirectoryConflictError, EMBEDDED_TEMPLATES, GeneratorError, ProjectCreationError, ProjectLauncherSchema, Result, SchemaNameSchema, TEMPLATE_COUNT, UserCancelledError, ValidationError, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generate, getSchemaResult, router, sponsors };
|
|
@@ -1898,9 +1898,12 @@ function getNodeToolingRequirements(config) {
|
|
|
1898
1898
|
break;
|
|
1899
1899
|
case "svelte":
|
|
1900
1900
|
case "tanstack-router":
|
|
1901
|
-
case "tanstack-start":
|
|
1902
1901
|
addNodeRequirement(requirements, "^20.19.0 || >=22.12.0", "Vite 8");
|
|
1903
1902
|
break;
|
|
1903
|
+
case "tanstack-start":
|
|
1904
|
+
addNodeRequirement(requirements, ">=22.12.0", "TanStack Start 1.169");
|
|
1905
|
+
addNodeRequirement(requirements, "^22.22.2 || ^24.15.0 || >=26.0.0", "TanStack Start test tooling (jsdom 30.1)");
|
|
1906
|
+
break;
|
|
1904
1907
|
case "next":
|
|
1905
1908
|
addNodeRequirement(requirements, ">=20.9.0", "Next.js 16");
|
|
1906
1909
|
break;
|
|
@@ -1916,12 +1919,20 @@ function getNodeToolingRequirements(config) {
|
|
|
1916
1919
|
if (config.orm === "prisma") addNodeRequirement(requirements, "^20.19.0 || ^22.12.0 || >=24.0.0", "Prisma 7");
|
|
1917
1920
|
if (config.orm === "mongoose") addNodeRequirement(requirements, ">=20.19.0", "Mongoose 9 and MongoDB 7");
|
|
1918
1921
|
if (config.examples.includes("ai")) addNodeRequirement(requirements, ">=22.0.0", "AI SDK 7");
|
|
1922
|
+
requirements.push(...getAddonNodeRequirements(config));
|
|
1923
|
+
if (config.webDeploy === "cloudflare" || config.serverDeploy === "cloudflare") addNodeRequirement(requirements, ">=22.0.0", "Wrangler 4");
|
|
1924
|
+
if ((0, types_exports.isAlchemyDeployTarget)(config.webDeploy) || (0, types_exports.isAlchemyDeployTarget)(config.serverDeploy) || config.addons.includes("axiom")) addNodeRequirement(requirements, "^24.11.1 || >=25.1.0", "the Alchemy CLI");
|
|
1925
|
+
return requirements;
|
|
1926
|
+
}
|
|
1927
|
+
function getAddonNodeRequirements(config) {
|
|
1928
|
+
const requirements = [];
|
|
1929
|
+
if (config.addons.includes("ultracite")) addNodeRequirement(requirements, ">=22.18.0", "the Ultracite CLI");
|
|
1919
1930
|
if (config.addons.includes("oxlint") || config.addons.includes("ultracite") && config.addonOptions?.ultracite?.linter === "oxlint") addNodeRequirement(requirements, "^20.19.0 || >=22.12.0", "Oxlint and Oxfmt");
|
|
1920
1931
|
if (config.addons.includes("husky")) addNodeRequirement(requirements, ">=22.22.1", "lint-staged 17");
|
|
1921
|
-
if (config.addons.includes("vite-plus")) addNodeRequirement(requirements, "^
|
|
1932
|
+
if (config.addons.includes("vite-plus")) addNodeRequirement(requirements, "^22.18.0 || ^24.11.0 || >=26.0.0", "Vite+");
|
|
1922
1933
|
if (config.addons.includes("starlight")) addNodeRequirement(requirements, ">=22.12.0", "Starlight's Astro toolchain");
|
|
1923
1934
|
if (config.addons.includes("wxt")) addNodeRequirement(requirements, ">=22.0.0", "WXT");
|
|
1924
|
-
if (config.
|
|
1935
|
+
if (config.addons.includes("skills")) addNodeRequirement(requirements, ">=22.20.0", "the Skills CLI");
|
|
1925
1936
|
return requirements;
|
|
1926
1937
|
}
|
|
1927
1938
|
function getHostRuntime() {
|
|
@@ -1941,7 +1952,10 @@ function getBaselineRequirements(packageManager, hostRuntime) {
|
|
|
1941
1952
|
function getLocalVersionRequirements(config, hostRuntime) {
|
|
1942
1953
|
const requirements = getBaselineRequirements(config.packageManager, hostRuntime);
|
|
1943
1954
|
if (config.packageManager !== "bun") requirements.push(...getNodeToolingRequirements(config));
|
|
1944
|
-
else
|
|
1955
|
+
else {
|
|
1956
|
+
requirements.push(...getAddonNodeRequirements(config));
|
|
1957
|
+
if (config.runtime === "node") addNodeRequirement(requirements, ">=22.0.0", "the selected Node.js server runtime");
|
|
1958
|
+
}
|
|
1945
1959
|
return requirements;
|
|
1946
1960
|
}
|
|
1947
1961
|
function formatRequirementError(requirement, rawVersion) {
|
|
@@ -4448,58 +4462,37 @@ const LINTERS = {
|
|
|
4448
4462
|
biome: { label: "Biome (Recommended)" },
|
|
4449
4463
|
oxlint: { label: "Oxlint + Oxfmt" }
|
|
4450
4464
|
};
|
|
4465
|
+
const EDITORS = {
|
|
4466
|
+
vscode: { label: "VS Code" },
|
|
4467
|
+
cursor: { label: "Cursor" },
|
|
4468
|
+
devin: { label: "Devin Desktop" },
|
|
4469
|
+
codebuddy: { label: "CodeBuddy" },
|
|
4470
|
+
antigravity: { label: "Antigravity IDE" },
|
|
4471
|
+
bob: { label: "IBM Bob" },
|
|
4472
|
+
kiro: { label: "Kiro" },
|
|
4473
|
+
trae: { label: "Trae" },
|
|
4474
|
+
void: { label: "Void" },
|
|
4475
|
+
zed: { label: "Zed" },
|
|
4476
|
+
universal: { label: "Universal (.vscode/settings.json)" }
|
|
4477
|
+
};
|
|
4451
4478
|
const AGENTS = {
|
|
4452
4479
|
universal: { label: "Universal (AGENTS.md — covers all agents)" },
|
|
4453
4480
|
claude: { label: "Claude Code" },
|
|
4454
|
-
codex: { label: "Codex" },
|
|
4455
|
-
jules: { label: "Jules" },
|
|
4456
4481
|
replit: { label: "Replit Agent" },
|
|
4457
|
-
devin: { label: "Devin" },
|
|
4458
|
-
lovable: { label: "Lovable" },
|
|
4459
|
-
zencoder: { label: "Zencoder" },
|
|
4460
|
-
ona: { label: "Ona" },
|
|
4461
|
-
openclaw: { label: "OpenClaw" },
|
|
4462
|
-
continue: { label: "Continue" },
|
|
4463
|
-
"snowflake-cortex": { label: "Snowflake Cortex" },
|
|
4464
|
-
deepagents: { label: "Deepagents" },
|
|
4465
|
-
qoder: { label: "Qoder" },
|
|
4466
|
-
"kimi-cli": { label: "Kimi CLI" },
|
|
4467
|
-
mcpjam: { label: "MCPJam" },
|
|
4468
|
-
mux: { label: "Mux" },
|
|
4469
|
-
pi: { label: "Pi" },
|
|
4470
|
-
adal: { label: "AdaL" },
|
|
4471
|
-
copilot: { label: "GitHub Copilot" },
|
|
4472
|
-
cline: { label: "Cline" },
|
|
4473
|
-
amp: { label: "AMP" },
|
|
4474
4482
|
aider: { label: "Aider" },
|
|
4475
|
-
|
|
4476
|
-
"open-hands": { label: "OpenHands" },
|
|
4477
|
-
gemini: { label: "Gemini" },
|
|
4478
|
-
junie: { label: "Junie" },
|
|
4479
|
-
augmentcode: { label: "Augment Code" },
|
|
4480
|
-
bob: { label: "IBM Bob" },
|
|
4481
|
-
"kilo-code": { label: "Kilo Code" },
|
|
4482
|
-
goose: { label: "Goose" },
|
|
4483
|
-
"roo-code": { label: "Roo Code" },
|
|
4484
|
-
warp: { label: "Warp" },
|
|
4485
|
-
droid: { label: "Droid" },
|
|
4486
|
-
opencode: { label: "OpenCode" },
|
|
4487
|
-
crush: { label: "Crush" },
|
|
4488
|
-
qwen: { label: "Qwen Code" },
|
|
4489
|
-
"amazon-q-cli": { label: "Amazon Q CLI" },
|
|
4490
|
-
firebender: { label: "Firebender" },
|
|
4491
|
-
"cursor-cli": { label: "Cursor CLI" },
|
|
4492
|
-
"mistral-vibe": { label: "Mistral Vibe" },
|
|
4493
|
-
vercel: { label: "Vercel Agent" }
|
|
4483
|
+
gemini: { label: "Gemini CLI" }
|
|
4494
4484
|
};
|
|
4495
4485
|
const HOOKS = {
|
|
4496
4486
|
cursor: { label: "Cursor" },
|
|
4497
|
-
|
|
4487
|
+
devin: { label: "Devin Desktop" },
|
|
4498
4488
|
codebuddy: { label: "CodeBuddy" },
|
|
4499
4489
|
claude: { label: "Claude Code" },
|
|
4500
|
-
|
|
4490
|
+
codex: { label: "Codex" },
|
|
4491
|
+
deepagents: { label: "Deep Agents" },
|
|
4492
|
+
copilot: { label: "GitHub Copilot" },
|
|
4493
|
+
grok: { label: "Grok Build" }
|
|
4501
4494
|
};
|
|
4502
|
-
const ULTRACITE_VERSION = "
|
|
4495
|
+
const ULTRACITE_VERSION = "8.0.0";
|
|
4503
4496
|
const DEFAULT_LINTER = "biome";
|
|
4504
4497
|
const DEFAULT_EDITORS = ["vscode"];
|
|
4505
4498
|
const DEFAULT_AGENTS = ["universal"];
|
|
@@ -4540,6 +4533,7 @@ function buildUltraciteInitArgs({ packageManager, linter, frameworks, editors, a
|
|
|
4540
4533
|
`ultracite@${ULTRACITE_VERSION}`,
|
|
4541
4534
|
...ultraciteArgs,
|
|
4542
4535
|
"--skip-install",
|
|
4536
|
+
"--yes",
|
|
4543
4537
|
"--quiet"
|
|
4544
4538
|
];
|
|
4545
4539
|
}
|
|
@@ -4583,20 +4577,10 @@ async function setupUltracite(config, gitHooks) {
|
|
|
4583
4577
|
return navigableMultiselect({
|
|
4584
4578
|
message: "Which editors do you want to configure (recommended)?",
|
|
4585
4579
|
required: false,
|
|
4586
|
-
options: [
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
},
|
|
4591
|
-
{
|
|
4592
|
-
value: "zed",
|
|
4593
|
-
label: "Zed"
|
|
4594
|
-
},
|
|
4595
|
-
{
|
|
4596
|
-
value: "universal",
|
|
4597
|
-
label: "Universal (.vscode/settings.json)"
|
|
4598
|
-
}
|
|
4599
|
-
]
|
|
4580
|
+
options: Object.entries(EDITORS).map(([key, editor]) => ({
|
|
4581
|
+
value: key,
|
|
4582
|
+
label: editor.label
|
|
4583
|
+
}))
|
|
4600
4584
|
});
|
|
4601
4585
|
},
|
|
4602
4586
|
agents: async () => {
|
|
@@ -7264,8 +7248,8 @@ function validateResolvedConfigCompatibility(config) {
|
|
|
7264
7248
|
//#endregion
|
|
7265
7249
|
//#region src/utils/file-formatter.ts
|
|
7266
7250
|
const formatOptions = {
|
|
7267
|
-
|
|
7268
|
-
|
|
7251
|
+
sortPackageJson: true,
|
|
7252
|
+
sortImports: { order: "asc" }
|
|
7269
7253
|
};
|
|
7270
7254
|
const ignoredDirectories = /* @__PURE__ */ new Set([
|
|
7271
7255
|
"node_modules",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-t-stack",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.46.0",
|
|
4
4
|
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"better-auth",
|
|
@@ -70,12 +70,12 @@
|
|
|
70
70
|
"prepublishOnly": "npm run build"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@better-t-stack/template-generator": "^3.
|
|
74
|
-
"@better-t-stack/types": "^3.
|
|
73
|
+
"@better-t-stack/template-generator": "^3.46.0",
|
|
74
|
+
"@better-t-stack/types": "^3.46.0",
|
|
75
75
|
"@clack/core": "^1.5.0",
|
|
76
76
|
"@clack/prompts": "^1.8.0",
|
|
77
77
|
"@modelcontextprotocol/server": "2.0.0",
|
|
78
|
-
"@orpc/server": "^1.15.
|
|
78
|
+
"@orpc/server": "^1.15.6",
|
|
79
79
|
"better-result": "^3.0.1",
|
|
80
80
|
"consola": "^3.4.2",
|
|
81
81
|
"env-paths": "^4.0.0",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"gradient-string": "^3.0.0",
|
|
85
85
|
"handlebars": "^4.7.9",
|
|
86
86
|
"jsonc-parser": "^3.3.1",
|
|
87
|
-
"oxfmt": "^0.
|
|
87
|
+
"oxfmt": "^0.72.0",
|
|
88
88
|
"picocolors": "^1.1.1",
|
|
89
89
|
"semver": "^7.8.5",
|
|
90
90
|
"tinyglobby": "^0.2.17",
|