create-better-t-stack 3.36.2 → 3.36.3

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { _ as types_exports, i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as getLatestCLIVersion } from "./src-DGv7joiB.mjs";
2
+ import { _ as types_exports, i as SchemaNameSchema, l as create, m as getSchemaResult, s as add, u as createBtsCli, v as getLatestCLIVersion } from "./src-AlTJbWsW.mjs";
3
3
  import z from "zod";
4
4
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
5
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
package/dist/index.d.mts CHANGED
@@ -247,7 +247,7 @@ declare const router: _$_trpc_server0.TRPCBuiltRouter<{
247
247
  }[] | undefined;
248
248
  } | undefined;
249
249
  ultracite?: {
250
- linter?: "biome" | "oxlint" | "eslint" | undefined;
250
+ linter?: "biome" | "oxlint" | undefined;
251
251
  editors?: ("void" | "antigravity" | "cursor" | "vscode" | "zed" | "windsurf" | "trae" | "codebuddy" | "bob" | "kiro")[] | undefined;
252
252
  agents?: ("vercel" | "cline" | "codex" | "opencode" | "goose" | "amp" | "pi" | "qoder" | "droid" | "zencoder" | "mcpjam" | "bob" | "universal" | "claude" | "jules" | "replit" | "devin" | "lovable" | "ona" | "openclaw" | "continue" | "snowflake-cortex" | "deepagents" | "kimi-cli" | "mux" | "adal" | "copilot" | "aider" | "firebase-studio" | "open-hands" | "gemini" | "junie" | "augmentcode" | "kilo-code" | "roo-code" | "warp" | "crush" | "qwen" | "amazon-q-cli" | "firebender" | "cursor-cli" | "mistral-vibe")[] | undefined;
253
253
  hooks?: ("cursor" | "windsurf" | "codebuddy" | "claude" | "copilot")[] | undefined;
@@ -357,7 +357,7 @@ declare const router: _$_trpc_server0.TRPCBuiltRouter<{
357
357
  }[] | undefined;
358
358
  } | undefined;
359
359
  ultracite?: {
360
- linter?: "biome" | "oxlint" | "eslint" | undefined;
360
+ linter?: "biome" | "oxlint" | undefined;
361
361
  editors?: ("void" | "antigravity" | "cursor" | "vscode" | "zed" | "windsurf" | "trae" | "codebuddy" | "bob" | "kiro")[] | undefined;
362
362
  agents?: ("vercel" | "cline" | "codex" | "opencode" | "goose" | "amp" | "pi" | "qoder" | "droid" | "zencoder" | "mcpjam" | "bob" | "universal" | "claude" | "jules" | "replit" | "devin" | "lovable" | "ona" | "openclaw" | "continue" | "snowflake-cortex" | "deepagents" | "kimi-cli" | "mux" | "adal" | "copilot" | "aider" | "firebase-studio" | "open-hands" | "gemini" | "junie" | "augmentcode" | "kilo-code" | "roo-code" | "warp" | "crush" | "qwen" | "amazon-q-cli" | "firebender" | "cursor-cli" | "mistral-vibe")[] | undefined;
363
363
  hooks?: ("cursor" | "windsurf" | "codebuddy" | "claude" | "copilot")[] | undefined;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { C as ProjectCreationError, S as DirectoryConflictError, T as ValidationError, a as TEMPLATE_COUNT, b as CompatibilityError, 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 UserCancelledError, x as DatabaseSetupError, y as CLIError } from "./src-DGv7joiB.mjs";
2
+ import { C as ProjectCreationError, S as DirectoryConflictError, T as ValidationError, a as TEMPLATE_COUNT, b as CompatibilityError, 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 UserCancelledError, x as DatabaseSetupError, y as CLIError } from "./src-AlTJbWsW.mjs";
3
3
  export { CLIError, CompatibilityError, DatabaseSetupError, DirectoryConflictError, EMBEDDED_TEMPLATES, GeneratorError, ProjectCreationError, Result, SchemaNameSchema, TEMPLATE_COUNT, UserCancelledError, ValidationError, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generate, getSchemaResult, router, sponsors };
@@ -1256,7 +1256,7 @@ function getAddonDisplay(addon) {
1256
1256
  break;
1257
1257
  case "ultracite":
1258
1258
  label = "Ultracite";
1259
- hint = "Zero-config Biome preset with AI integration";
1259
+ hint = "Zero-config preset for Biome or Oxlint with AI integration";
1260
1260
  break;
1261
1261
  case "lefthook":
1262
1262
  label = "Lefthook";
@@ -3357,7 +3357,6 @@ async function postProcessTuiWorkspace(tuiDir) {
3357
3357
  //#region src/helpers/addons/ultracite-setup.ts
3358
3358
  const LINTERS = {
3359
3359
  biome: { label: "Biome (Recommended)" },
3360
- eslint: { label: "ESLint + Prettier + Stylelint" },
3361
3360
  oxlint: { label: "Oxlint + Oxfmt" }
3362
3361
  };
3363
3362
  const AGENTS = {
@@ -3411,26 +3410,27 @@ const HOOKS = {
3411
3410
  claude: { label: "Claude Code" },
3412
3411
  copilot: { label: "GitHub Copilot" }
3413
3412
  };
3413
+ const ULTRACITE_VERSION = "7.9.3";
3414
3414
  const DEFAULT_LINTER = "biome";
3415
3415
  const DEFAULT_EDITORS = ["vscode"];
3416
3416
  const DEFAULT_AGENTS = ["universal"];
3417
3417
  const DEFAULT_HOOKS = [];
3418
3418
  function getFrameworksFromFrontend(frontend) {
3419
3419
  const frameworkMap = {
3420
- "tanstack-router": "react",
3421
- "react-router": "react",
3422
- "tanstack-start": "react",
3423
- next: "next",
3424
- nuxt: "vue",
3425
- "native-bare": "react",
3426
- "native-uniwind": "react",
3427
- "native-unistyles": "react",
3428
- svelte: "svelte",
3429
- solid: "solid",
3430
- astro: "astro"
3420
+ "tanstack-router": ["react", "tanstack"],
3421
+ "react-router": ["react", "remix"],
3422
+ "tanstack-start": ["react", "tanstack"],
3423
+ next: ["react", "next"],
3424
+ nuxt: ["vue"],
3425
+ "native-bare": ["react"],
3426
+ "native-uniwind": ["react"],
3427
+ "native-unistyles": ["react"],
3428
+ svelte: ["svelte"],
3429
+ solid: ["solid"],
3430
+ astro: ["astro"]
3431
3431
  };
3432
3432
  const frameworks = /* @__PURE__ */ new Set();
3433
- for (const f of frontend) if (f !== "none" && frameworkMap[f]) frameworks.add(frameworkMap[f]);
3433
+ for (const f of frontend) for (const framework of frameworkMap[f] ?? []) frameworks.add(framework);
3434
3434
  return Array.from(frameworks);
3435
3435
  }
3436
3436
  function buildUltraciteInitArgs({ packageManager, linter, frameworks, editors, agents, hooks, gitHooks }) {
@@ -3448,12 +3448,19 @@ function buildUltraciteInitArgs({ packageManager, linter, frameworks, editors, a
3448
3448
  if (gitHooks.length > 0) ultraciteArgs.push("--integrations", ...gitHooks);
3449
3449
  return [
3450
3450
  ...getPackageRunnerPrefix(packageManager),
3451
- "ultracite@latest",
3451
+ `ultracite@${ULTRACITE_VERSION}`,
3452
3452
  ...ultraciteArgs,
3453
3453
  "--skip-install",
3454
3454
  "--quiet"
3455
3455
  ];
3456
3456
  }
3457
+ async function removeHuskySampleHook(projectDir) {
3458
+ const hookPath = path.join(projectDir, ".husky", "pre-commit");
3459
+ if (!await fs.pathExists(hookPath)) return;
3460
+ const content = await fs.readFile(hookPath, "utf-8");
3461
+ const cleaned = content.split("\n").filter((line) => !/^(?:npm|pnpm|yarn|bun|deno)(?: run)? test$/.test(line.trim())).join("\n");
3462
+ if (cleaned !== content) await fs.writeFile(hookPath, cleaned);
3463
+ }
3457
3464
  async function setupUltracite(config, gitHooks) {
3458
3465
  if (shouldSkipExternalCommands()) return Result.ok(void 0);
3459
3466
  const { packageManager, projectDir, frontend } = config;
@@ -3556,6 +3563,10 @@ async function setupUltracite(config, gitHooks) {
3556
3563
  cliLog.error(pc.red("Failed to set up Ultracite"));
3557
3564
  return initResult;
3558
3565
  }
3566
+ if (gitHooks.includes("husky")) await Result.tryPromise({
3567
+ try: () => removeHuskySampleHook(projectDir),
3568
+ catch: (e) => e
3569
+ });
3559
3570
  s.stop("Ultracite setup successfully!");
3560
3571
  return Result.ok(void 0);
3561
3572
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-better-t-stack",
3
- "version": "3.36.2",
3
+ "version": "3.36.3",
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",
@@ -69,8 +69,8 @@
69
69
  "prepublishOnly": "npm run build"
70
70
  },
71
71
  "dependencies": {
72
- "@better-t-stack/template-generator": "^3.36.2",
73
- "@better-t-stack/types": "^3.36.2",
72
+ "@better-t-stack/template-generator": "^3.36.3",
73
+ "@better-t-stack/types": "^3.36.3",
74
74
  "@clack/core": "^1.4.1",
75
75
  "@clack/prompts": "^1.5.1",
76
76
  "@modelcontextprotocol/sdk": "1.29.0",