create-better-t-stack 3.2.9 → 3.2.10
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.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-CUyDENe-.js → src-C8z72H-V.js} +31 -46
- package/package.json +1 -1
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-
|
|
2
|
+
import { a as router, i as init, n as createBtsCli, o as sponsors, r as docs, t as builder } from "./src-C8z72H-V.js";
|
|
3
3
|
|
|
4
4
|
export { builder, createBtsCli, docs, init, router, sponsors };
|
|
@@ -2033,53 +2033,19 @@ function getPackageExecutionCommand(packageManager, commandWithArgs) {
|
|
|
2033
2033
|
|
|
2034
2034
|
//#endregion
|
|
2035
2035
|
//#region src/helpers/addons/fumadocs-setup.ts
|
|
2036
|
-
const TEMPLATES = {
|
|
2037
|
-
"next-mdx": {
|
|
2038
|
-
label: "Next.js: Fumadocs MDX",
|
|
2039
|
-
hint: "Recommended template with MDX support",
|
|
2040
|
-
value: "+next+fuma-docs-mdx"
|
|
2041
|
-
},
|
|
2042
|
-
"next-content-collections": {
|
|
2043
|
-
label: "Next.js: Content Collections",
|
|
2044
|
-
hint: "Template using Next.js content collections",
|
|
2045
|
-
value: "+next+content-collections"
|
|
2046
|
-
},
|
|
2047
|
-
"react-router-mdx-remote": {
|
|
2048
|
-
label: "React Router: MDX Remote",
|
|
2049
|
-
hint: "Template for React Router with MDX remote",
|
|
2050
|
-
value: "react-router"
|
|
2051
|
-
},
|
|
2052
|
-
"tanstack-start-mdx-remote": {
|
|
2053
|
-
label: "Tanstack Start: MDX Remote",
|
|
2054
|
-
hint: "Template for Tanstack Start with MDX remote",
|
|
2055
|
-
value: "tanstack-start"
|
|
2056
|
-
}
|
|
2057
|
-
};
|
|
2058
2036
|
async function setupFumadocs(config) {
|
|
2059
2037
|
const { packageManager, projectDir } = config;
|
|
2060
2038
|
try {
|
|
2061
2039
|
log.info("Setting up Fumadocs...");
|
|
2062
|
-
const
|
|
2063
|
-
message: "Choose a template",
|
|
2064
|
-
options: Object.entries(TEMPLATES).map(([key, template$1]) => ({
|
|
2065
|
-
value: key,
|
|
2066
|
-
label: template$1.label,
|
|
2067
|
-
hint: template$1.hint
|
|
2068
|
-
})),
|
|
2069
|
-
initialValue: "next-mdx"
|
|
2070
|
-
});
|
|
2071
|
-
if (isCancel(template)) return exitCancelled("Operation cancelled");
|
|
2072
|
-
const fumadocsInitCommand = getPackageExecutionCommand(packageManager, `create-fumadocs-app@latest fumadocs --template ${TEMPLATES[template].value} --src --no-install --pm ${packageManager} --no-eslint --no-git`);
|
|
2073
|
-
const s = spinner();
|
|
2074
|
-
s.start("Setting up Fumadocs...");
|
|
2040
|
+
const fumadocsInitCommand = getPackageExecutionCommand(packageManager, `create-fumadocs-app@latest fumadocs --src --no-install --pm ${packageManager} --no-eslint --no-biome --no-git`);
|
|
2075
2041
|
const appsDir = path.join(projectDir, "apps");
|
|
2076
2042
|
await fs.ensureDir(appsDir);
|
|
2077
2043
|
await execa(fumadocsInitCommand, {
|
|
2078
2044
|
cwd: appsDir,
|
|
2079
2045
|
env: { CI: "true" },
|
|
2080
|
-
shell: true
|
|
2046
|
+
shell: true,
|
|
2047
|
+
stdio: "inherit"
|
|
2081
2048
|
});
|
|
2082
|
-
s.stop("Fumadocs setup complete!");
|
|
2083
2049
|
const fumadocsDir = path.join(projectDir, "apps", "fumadocs");
|
|
2084
2050
|
const packageJsonPath = path.join(fumadocsDir, "package.json");
|
|
2085
2051
|
if (await fs.pathExists(packageJsonPath)) {
|
|
@@ -2272,7 +2238,7 @@ const EDITORS = {
|
|
|
2272
2238
|
vscode: { label: "VSCode / Cursor / Windsurf" },
|
|
2273
2239
|
zed: { label: "Zed" }
|
|
2274
2240
|
};
|
|
2275
|
-
const
|
|
2241
|
+
const AGENTS = {
|
|
2276
2242
|
"vscode-copilot": { label: "VS Code Copilot" },
|
|
2277
2243
|
cursor: { label: "Cursor" },
|
|
2278
2244
|
windsurf: { label: "Windsurf" },
|
|
@@ -2289,10 +2255,27 @@ const RULES = {
|
|
|
2289
2255
|
junie: { label: "Junie" },
|
|
2290
2256
|
augmentcode: { label: "AugmentCode" },
|
|
2291
2257
|
"kilo-code": { label: "Kilo Code" },
|
|
2292
|
-
goose: { label: "Goose" }
|
|
2258
|
+
goose: { label: "Goose" },
|
|
2259
|
+
"roo-code": { label: "Roo Code" }
|
|
2293
2260
|
};
|
|
2261
|
+
function getFrameworksFromFrontend(frontend) {
|
|
2262
|
+
const frameworkMap = {
|
|
2263
|
+
"tanstack-router": "react",
|
|
2264
|
+
"react-router": "react",
|
|
2265
|
+
"tanstack-start": "react",
|
|
2266
|
+
next: "next",
|
|
2267
|
+
nuxt: "vue",
|
|
2268
|
+
"native-nativewind": "react",
|
|
2269
|
+
"native-unistyles": "react",
|
|
2270
|
+
svelte: "svelte",
|
|
2271
|
+
solid: "solid"
|
|
2272
|
+
};
|
|
2273
|
+
const frameworks = /* @__PURE__ */ new Set();
|
|
2274
|
+
for (const f of frontend) if (f !== "none" && frameworkMap[f]) frameworks.add(frameworkMap[f]);
|
|
2275
|
+
return Array.from(frameworks);
|
|
2276
|
+
}
|
|
2294
2277
|
async function setupUltracite(config, hasHusky) {
|
|
2295
|
-
const { packageManager, projectDir } = config;
|
|
2278
|
+
const { packageManager, projectDir, frontend } = config;
|
|
2296
2279
|
try {
|
|
2297
2280
|
log.info("Setting up Ultracite...");
|
|
2298
2281
|
await setupBiome(projectDir);
|
|
@@ -2305,11 +2288,11 @@ async function setupUltracite(config, hasHusky) {
|
|
|
2305
2288
|
})),
|
|
2306
2289
|
required: true
|
|
2307
2290
|
}),
|
|
2308
|
-
|
|
2309
|
-
message: "Choose
|
|
2310
|
-
options: Object.entries(
|
|
2291
|
+
agents: () => autocompleteMultiselect({
|
|
2292
|
+
message: "Choose agents",
|
|
2293
|
+
options: Object.entries(AGENTS).map(([key, agent]) => ({
|
|
2311
2294
|
value: key,
|
|
2312
|
-
label:
|
|
2295
|
+
label: agent.label
|
|
2313
2296
|
})),
|
|
2314
2297
|
required: true
|
|
2315
2298
|
})
|
|
@@ -2317,14 +2300,16 @@ async function setupUltracite(config, hasHusky) {
|
|
|
2317
2300
|
exitCancelled("Operation cancelled");
|
|
2318
2301
|
} });
|
|
2319
2302
|
const editors = result.editors;
|
|
2320
|
-
const
|
|
2303
|
+
const agents = result.agents;
|
|
2304
|
+
const frameworks = getFrameworksFromFrontend(frontend);
|
|
2321
2305
|
const ultraciteArgs = [
|
|
2322
2306
|
"init",
|
|
2323
2307
|
"--pm",
|
|
2324
2308
|
packageManager
|
|
2325
2309
|
];
|
|
2310
|
+
if (frameworks.length > 0) ultraciteArgs.push("--frameworks", ...frameworks);
|
|
2326
2311
|
if (editors.length > 0) ultraciteArgs.push("--editors", ...editors);
|
|
2327
|
-
if (
|
|
2312
|
+
if (agents.length > 0) ultraciteArgs.push("--agents", ...agents);
|
|
2328
2313
|
if (hasHusky) ultraciteArgs.push("--integrations", "husky", "lint-staged");
|
|
2329
2314
|
const ultraciteInitCommand = getPackageExecutionCommand(packageManager, `ultracite@latest ${ultraciteArgs.join(" ")} --skip-install`);
|
|
2330
2315
|
const s = spinner();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-t-stack",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.10",
|
|
4
4
|
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|