create-better-t-stack 3.44.2 → 3.45.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 +26 -2
- package/dist/index.mjs +1 -1
- package/dist/{src-DWTrkxVq.mjs → src-DIW_voYJ.mjs} +40 -60
- package/package.json +5 -4
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-DIW_voYJ.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
|
@@ -606,7 +606,6 @@ export declare const router: {
|
|
|
606
606
|
oxlint: "oxlint";
|
|
607
607
|
}>>;
|
|
608
608
|
editors: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
609
|
-
void: "void";
|
|
610
609
|
antigravity: "antigravity";
|
|
611
610
|
cursor: "cursor";
|
|
612
611
|
vscode: "vscode";
|
|
@@ -615,16 +614,22 @@ export declare const router: {
|
|
|
615
614
|
universal: "universal";
|
|
616
615
|
bob: "bob";
|
|
617
616
|
codebuddy: "codebuddy";
|
|
617
|
+
devin: "devin";
|
|
618
618
|
trae: "trae";
|
|
619
|
+
void: "void";
|
|
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
|
}>>>;
|
|
@@ -1121,7 +1133,6 @@ export declare const router: {
|
|
|
1121
1133
|
oxlint: "oxlint";
|
|
1122
1134
|
}>>;
|
|
1123
1135
|
editors: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1124
|
-
void: "void";
|
|
1125
1136
|
antigravity: "antigravity";
|
|
1126
1137
|
cursor: "cursor";
|
|
1127
1138
|
vscode: "vscode";
|
|
@@ -1130,16 +1141,22 @@ export declare const router: {
|
|
|
1130
1141
|
universal: "universal";
|
|
1131
1142
|
bob: "bob";
|
|
1132
1143
|
codebuddy: "codebuddy";
|
|
1144
|
+
devin: "devin";
|
|
1133
1145
|
trae: "trae";
|
|
1146
|
+
void: "void";
|
|
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-DIW_voYJ.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 };
|
|
@@ -1916,12 +1916,19 @@ function getNodeToolingRequirements(config) {
|
|
|
1916
1916
|
if (config.orm === "prisma") addNodeRequirement(requirements, "^20.19.0 || ^22.12.0 || >=24.0.0", "Prisma 7");
|
|
1917
1917
|
if (config.orm === "mongoose") addNodeRequirement(requirements, ">=20.19.0", "Mongoose 9 and MongoDB 7");
|
|
1918
1918
|
if (config.examples.includes("ai")) addNodeRequirement(requirements, ">=22.0.0", "AI SDK 7");
|
|
1919
|
+
requirements.push(...getAddonNodeRequirements(config));
|
|
1920
|
+
if (config.webDeploy === "cloudflare" || config.serverDeploy === "cloudflare") addNodeRequirement(requirements, ">=22.0.0", "Wrangler 4");
|
|
1921
|
+
return requirements;
|
|
1922
|
+
}
|
|
1923
|
+
function getAddonNodeRequirements(config) {
|
|
1924
|
+
const requirements = [];
|
|
1925
|
+
if (config.addons.includes("ultracite")) addNodeRequirement(requirements, ">=22.18.0", "the Ultracite CLI");
|
|
1919
1926
|
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
1927
|
if (config.addons.includes("husky")) addNodeRequirement(requirements, ">=22.22.1", "lint-staged 17");
|
|
1921
|
-
if (config.addons.includes("vite-plus")) addNodeRequirement(requirements, "^
|
|
1928
|
+
if (config.addons.includes("vite-plus")) addNodeRequirement(requirements, "^22.18.0 || ^24.11.0 || >=26.0.0", "Vite+");
|
|
1922
1929
|
if (config.addons.includes("starlight")) addNodeRequirement(requirements, ">=22.12.0", "Starlight's Astro toolchain");
|
|
1923
1930
|
if (config.addons.includes("wxt")) addNodeRequirement(requirements, ">=22.0.0", "WXT");
|
|
1924
|
-
if (config.
|
|
1931
|
+
if (config.addons.includes("skills")) addNodeRequirement(requirements, ">=22.20.0", "the Skills CLI");
|
|
1925
1932
|
return requirements;
|
|
1926
1933
|
}
|
|
1927
1934
|
function getHostRuntime() {
|
|
@@ -1941,7 +1948,10 @@ function getBaselineRequirements(packageManager, hostRuntime) {
|
|
|
1941
1948
|
function getLocalVersionRequirements(config, hostRuntime) {
|
|
1942
1949
|
const requirements = getBaselineRequirements(config.packageManager, hostRuntime);
|
|
1943
1950
|
if (config.packageManager !== "bun") requirements.push(...getNodeToolingRequirements(config));
|
|
1944
|
-
else
|
|
1951
|
+
else {
|
|
1952
|
+
requirements.push(...getAddonNodeRequirements(config));
|
|
1953
|
+
if (config.runtime === "node") addNodeRequirement(requirements, ">=22.0.0", "the selected Node.js server runtime");
|
|
1954
|
+
}
|
|
1945
1955
|
return requirements;
|
|
1946
1956
|
}
|
|
1947
1957
|
function formatRequirementError(requirement, rawVersion) {
|
|
@@ -4448,58 +4458,37 @@ const LINTERS = {
|
|
|
4448
4458
|
biome: { label: "Biome (Recommended)" },
|
|
4449
4459
|
oxlint: { label: "Oxlint + Oxfmt" }
|
|
4450
4460
|
};
|
|
4461
|
+
const EDITORS = {
|
|
4462
|
+
vscode: { label: "VS Code" },
|
|
4463
|
+
cursor: { label: "Cursor" },
|
|
4464
|
+
devin: { label: "Devin Desktop" },
|
|
4465
|
+
codebuddy: { label: "CodeBuddy" },
|
|
4466
|
+
antigravity: { label: "Antigravity IDE" },
|
|
4467
|
+
bob: { label: "IBM Bob" },
|
|
4468
|
+
kiro: { label: "Kiro" },
|
|
4469
|
+
trae: { label: "Trae" },
|
|
4470
|
+
void: { label: "Void" },
|
|
4471
|
+
zed: { label: "Zed" },
|
|
4472
|
+
universal: { label: "Universal (.vscode/settings.json)" }
|
|
4473
|
+
};
|
|
4451
4474
|
const AGENTS = {
|
|
4452
4475
|
universal: { label: "Universal (AGENTS.md — covers all agents)" },
|
|
4453
4476
|
claude: { label: "Claude Code" },
|
|
4454
|
-
codex: { label: "Codex" },
|
|
4455
|
-
jules: { label: "Jules" },
|
|
4456
4477
|
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
4478
|
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" }
|
|
4479
|
+
gemini: { label: "Gemini CLI" }
|
|
4494
4480
|
};
|
|
4495
4481
|
const HOOKS = {
|
|
4496
4482
|
cursor: { label: "Cursor" },
|
|
4497
|
-
|
|
4483
|
+
devin: { label: "Devin Desktop" },
|
|
4498
4484
|
codebuddy: { label: "CodeBuddy" },
|
|
4499
4485
|
claude: { label: "Claude Code" },
|
|
4500
|
-
|
|
4486
|
+
codex: { label: "Codex" },
|
|
4487
|
+
deepagents: { label: "Deep Agents" },
|
|
4488
|
+
copilot: { label: "GitHub Copilot" },
|
|
4489
|
+
grok: { label: "Grok Build" }
|
|
4501
4490
|
};
|
|
4502
|
-
const ULTRACITE_VERSION = "
|
|
4491
|
+
const ULTRACITE_VERSION = "8.0.0";
|
|
4503
4492
|
const DEFAULT_LINTER = "biome";
|
|
4504
4493
|
const DEFAULT_EDITORS = ["vscode"];
|
|
4505
4494
|
const DEFAULT_AGENTS = ["universal"];
|
|
@@ -4540,6 +4529,7 @@ function buildUltraciteInitArgs({ packageManager, linter, frameworks, editors, a
|
|
|
4540
4529
|
`ultracite@${ULTRACITE_VERSION}`,
|
|
4541
4530
|
...ultraciteArgs,
|
|
4542
4531
|
"--skip-install",
|
|
4532
|
+
"--yes",
|
|
4543
4533
|
"--quiet"
|
|
4544
4534
|
];
|
|
4545
4535
|
}
|
|
@@ -4583,20 +4573,10 @@ async function setupUltracite(config, gitHooks) {
|
|
|
4583
4573
|
return navigableMultiselect({
|
|
4584
4574
|
message: "Which editors do you want to configure (recommended)?",
|
|
4585
4575
|
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
|
-
]
|
|
4576
|
+
options: Object.entries(EDITORS).map(([key, editor]) => ({
|
|
4577
|
+
value: key,
|
|
4578
|
+
label: editor.label
|
|
4579
|
+
}))
|
|
4600
4580
|
});
|
|
4601
4581
|
},
|
|
4602
4582
|
agents: async () => {
|
|
@@ -7264,8 +7244,8 @@ function validateResolvedConfigCompatibility(config) {
|
|
|
7264
7244
|
//#endregion
|
|
7265
7245
|
//#region src/utils/file-formatter.ts
|
|
7266
7246
|
const formatOptions = {
|
|
7267
|
-
|
|
7268
|
-
|
|
7247
|
+
sortPackageJson: true,
|
|
7248
|
+
sortImports: { order: "asc" }
|
|
7269
7249
|
};
|
|
7270
7250
|
const ignoredDirectories = /* @__PURE__ */ new Set([
|
|
7271
7251
|
"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.45.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,8 +70,8 @@
|
|
|
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.45.0",
|
|
74
|
+
"@better-t-stack/types": "^3.45.0",
|
|
75
75
|
"@clack/core": "^1.5.0",
|
|
76
76
|
"@clack/prompts": "^1.8.0",
|
|
77
77
|
"@modelcontextprotocol/server": "2.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",
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@modelcontextprotocol/client": "2.0.0",
|
|
98
|
+
"@playwright/test": "1.63.0",
|
|
98
99
|
"@types/bun": "^1.4.2",
|
|
99
100
|
"@types/fs-extra": "^11.0.4",
|
|
100
101
|
"@types/node": "^26.5.0",
|