diff --git a/src/cli/init/README-tanstack.default.md b/src/cli/init/README-tanstack.default.md deleted file mode 100644 index 2473ab1844..0000000000 --- a/src/cli/init/README-tanstack.default.md +++ /dev/null @@ -1,35 +0,0 @@ -# {[name]s} - -A TanStack Start project powered by Bun. - -To install dependencies: - -```bash -bun install -``` - -To start a development server: - -```bash -bun dev -``` - -To build for production: - -```bash -bun run build -``` - -## About TanStack Start - -[TanStack Start](https://tanstack.com/start/latest) is a full-stack framework powered by TanStack Router for React and Solid that provides: - -- File-based routing -- Server-side rendering (SSR) -- Server functions with `createServerFn` -- Built-in data loading with route loaders -- Hot module replacement (HMR) - -This project was created using `bun init --react=tanstack` in bun v{[bunVersion]s}. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. - -For more information, check out Bun's [TanStack Start guide](https://bun.com/guides/ecosystem/tanstack-start). diff --git a/src/cli/init_command.zig b/src/cli/init_command.zig index 9a79490f20..d46d261f0b 100644 --- a/src/cli/init_command.zig +++ b/src/cli/init_command.zig @@ -228,7 +228,6 @@ pub const InitCommand = struct { const @"tsconfig.json" = @embedFile("init/tsconfig.default.json"); const @"README.md" = @embedFile("init/README.default.md"); const @"README2.md" = @embedFile("init/README2.default.md"); - const @"README-tanstack.md" = @embedFile("init/README-tanstack.default.md"); /// Create a new asset file, overriding anything that already exists. Known /// assets will have their contents pre-populated; otherwise the file will be empty. @@ -383,10 +382,6 @@ pub const InitCommand = struct { template = .react_tailwind_shadcn; prev_flag_was_react = false; auto_yes = true; - } else if ((template == .react_blank and prev_flag_was_react and strings.eqlComptime(arg, "tanstack") or strings.eqlComptime(arg, "--react=tanstack")) or strings.eqlComptime(arg, "r=tanstack")) { - template = .react_tanstack; - prev_flag_was_react = false; - auto_yes = true; } else { prev_flag_was_react = false; } @@ -590,14 +585,12 @@ pub const InitCommand = struct { default, tailwind, shadcn_tailwind, - tanstack, pub fn fmt(self: @This()) []const u8 { return switch (self) { .default => "Default (blank)", .tailwind => "TailwindCSS", .shadcn_tailwind => "Shadcn + TailwindCSS", - .tanstack => "TanStack Start", }; } }); @@ -606,7 +599,6 @@ pub const InitCommand = struct { .default => .react_blank, .tailwind => .react_tailwind, .shadcn_tailwind => .react_tailwind_shadcn, - .tanstack => .react_tanstack, }; }, .blank => template = .blank, @@ -621,7 +613,7 @@ pub const InitCommand = struct { } switch (template) { - inline .react_blank, .react_tailwind, .react_tailwind_shadcn, .react_tanstack => |t| { + inline .react_blank, .react_tailwind, .react_tailwind_shadcn => |t| { try t.@"write files and run `bun dev`"(alloc); return; }, @@ -799,7 +791,7 @@ pub const InitCommand = struct { switch (template) { .blank, .typescript_library => { - Template.createAgentRule(template); + Template.createAgentRule(); if (package_json_file != null and !did_load_package_json) { Output.prettyln(" + package.json", .{}); @@ -918,24 +910,6 @@ const DependencyGroup = struct { } ++ tailwind.dependencies[0..tailwind.dependencies.len].*, .devDependencies = &[_]DependencyNeeded{} ++ tailwind.devDependencies[0..tailwind.devDependencies.len].*, }; - - pub const tanstack = DependencyGroup{ - .dependencies = &[_]DependencyNeeded{ - .{ .name = "@tailwindcss/vite", .version = "^4.1.17" }, - .{ .name = "@tanstack/react-router", .version = "^1.135.2" }, - .{ .name = "@tanstack/react-start", .version = "^1.135.2" }, - .{ .name = "react", .version = "^19.2.0" }, - .{ .name = "react-dom", .version = "^19.2.0" }, - .{ .name = "tailwindcss", .version = "^4.1.17" }, - }, - .devDependencies = &[_]DependencyNeeded{ - .{ .name = "@types/react", .version = "^19.2.3" }, - .{ .name = "@types/react-dom", .version = "^19.2.3" }, - .{ .name = "@vitejs/plugin-react", .version = "^5.1.0" }, - .{ .name = "vite", .version = "^7.2.2" }, - .{ .name = "vite-tsconfig-paths", .version = "^5.1.4" }, - } ++ blank.devDependencies[0..1].*, - }; }; const Template = enum { @@ -943,7 +917,6 @@ const Template = enum { react_blank, react_tailwind, react_tailwind_shadcn, - react_tanstack, typescript_library, const TemplateFile = struct { path: [:0]const u8, @@ -958,7 +931,7 @@ const Template = enum { } pub fn isReact(this: Template) bool { return switch (this) { - .react_blank, .react_tailwind, .react_tailwind_shadcn, .react_tanstack => true, + .react_blank, .react_tailwind, .react_tailwind_shadcn => true, else => false, }; } @@ -986,7 +959,6 @@ const Template = enum { .react_blank => DependencyGroup.react, .react_tailwind => DependencyGroup.tailwind, .react_tailwind_shadcn => DependencyGroup.shadcn, - .react_tanstack => DependencyGroup.tanstack, .typescript_library => DependencyGroup.blank, }; } @@ -997,7 +969,6 @@ const Template = enum { .react_blank => "bun-react-template", .react_tailwind => "bun-react-tailwind-template", .react_tailwind_shadcn => "bun-react-tailwind-shadcn-template", - .react_tanstack => "bun-tanstack-start-template", }; } pub fn scripts(this: Template) []const []const u8 { @@ -1015,16 +986,13 @@ const Template = enum { "build", "NODE_ENV=production bun .", }, - .react_tanstack => &.{ "dev", "bun --bun vite dev", "build", "bun --bun vite build", "serve", "bun --bun vite preview" }, }; return s; } const agent_rule = @embedFile("../init/rule.md"); - const agent_rule_tanstack = @embedFile("../init/rule-tanstack.md"); const cursor_rule = TemplateFile{ .path = ".cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc", .contents = agent_rule }; - const cursor_rule_tanstack = TemplateFile{ .path = ".cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc", .contents = agent_rule_tanstack }; const cursor_rule_path_to_claude_md = "../../CLAUDE.md"; fn isClaudeCodeInstalled() bool { @@ -1044,12 +1012,12 @@ const Template = enum { return bun.which(pathbuffer, bun.env_var.PATH.get() orelse return false, bun.fs.FileSystem.instance.top_level_dir, "claude") != null; } - pub fn createAgentRule(this: Template) void { + pub fn createAgentRule() void { var @"create CLAUDE.md" = Template.isClaudeCodeInstalled() and // Never overwrite CLAUDE.md !bun.sys.exists("CLAUDE.md"); - if (this.getCursorRule()) |template_file| { + if (Template.getCursorRule()) |template_file| { var did_create_agent_rule = false; // If both Cursor & Claude is installed, make the cursor rule a @@ -1085,13 +1053,9 @@ const Template = enum { // If cursor is not installed but claude code is installed, then create the CLAUDE.md. if (@"create CLAUDE.md") { // In this case, the frontmatter from the cursor rule is not helpful so let's trim it out. - const rule_to_use = switch (this) { - .react_tanstack => agent_rule_tanstack, - else => agent_rule, - }; - const end_of_frontmatter = if (bun.strings.lastIndexOf(rule_to_use, "---\n")) |start| start + "---\n".len else 0; + const end_of_frontmatter = if (bun.strings.lastIndexOf(agent_rule, "---\n")) |start| start + "---\n".len else 0; - InitCommand.Assets.createNew("CLAUDE.md", rule_to_use[end_of_frontmatter..]) catch {}; + InitCommand.Assets.createNew("CLAUDE.md", agent_rule[end_of_frontmatter..]) catch {}; } } @@ -1128,12 +1092,9 @@ const Template = enum { return false; } - fn getCursorRule(this: Template) ?*const TemplateFile { + fn getCursorRule() ?*const TemplateFile { if (isCursorInstalled()) { - return switch (this) { - .react_tanstack => &cursor_rule_tanstack, - else => &cursor_rule, - }; + return &cursor_rule; } return null; @@ -1207,36 +1168,17 @@ const Template = enum { }; }; - const ReactTanstack = struct { - const files: []const TemplateFile = &.{ - .{ .path = "package.json", .contents = @embedFile("../init/react-tanstack/package.json") }, - .{ .path = "tsconfig.json", .contents = @embedFile("../init/react-tanstack/tsconfig.json") }, - .{ .path = "vite.config.ts", .contents = @embedFile("../init/react-tanstack/vite.config.ts") }, - .{ .path = "styles.css", .contents = @embedFile("../init/react-tanstack/styles.css") }, - .{ .path = "README.md", .contents = InitCommand.Assets.@"README-tanstack.md" }, - .{ .path = ".gitignore", .contents = InitCommand.Assets.@".gitignore", .can_skip_if_exists = true }, - .{ .path = "src/router.tsx", .contents = @embedFile("../init/react-tanstack/src/router.tsx") }, - .{ .path = "src/routes/__root.tsx", .contents = @embedFile("../init/react-tanstack/src/routes/__root.tsx") }, - .{ .path = "src/routes/index.tsx", .contents = @embedFile("../init/react-tanstack/src/routes/index.tsx") }, - .{ .path = "src/routes/stats.tsx", .contents = @embedFile("../init/react-tanstack/src/routes/stats.tsx") }, - .{ .path = "src/routeTree.gen.ts", .contents = @embedFile("../init/react-tanstack/src/routeTree.gen.ts") }, - .{ .path = "public/header.webp", .contents = @embedFile("../init/react-tanstack/public/header.webp") }, - .{ .path = "public/favicon.ico", .contents = @embedFile("../init/react-tanstack/public/favicon.ico") }, - }; - }; - pub fn files(this: Template) []const TemplateFile { return switch (this) { .react_blank => ReactBlank.files, .react_tailwind => ReactTailwind.files, .react_tailwind_shadcn => ReactShadcn.files, - .react_tanstack => ReactTanstack.files, else => &.{.{ &.{}, &.{} }}, }; } pub fn @"write files and run `bun dev`"(comptime this: Template, allocator: std.mem.Allocator) !void { - this.createAgentRule(); + Template.createAgentRule(); inline for (comptime this.files()) |file| { const path = file.path; @@ -1276,22 +1218,10 @@ const Template = enum { _ = try install.spawnAndWait(); - var cwd_buf: bun.PathBuffer = undefined; - const cwd_path = switch (bun.sys.getcwd(&cwd_buf)) { - .result => |p| p, - .err => |e| { - Output.err(e, "failed to get current working directory", .{}); - Global.exit(1); - }, - }; - const dir_name = std.fs.path.basename(cwd_path); - Output.prettyln( \\ \\✨ New project configured! \\ - \\cd {s} - \\ \\Development - full-stack dev server with hot reload \\ \\ bun dev @@ -1306,7 +1236,7 @@ const Template = enum { \\ \\Happy bunning! 🐇 \\ - , .{dir_name}); + , .{}); Output.flush(); } diff --git a/src/init/react-tanstack/package.json b/src/init/react-tanstack/package.json deleted file mode 100644 index dabea66dff..0000000000 --- a/src/init/react-tanstack/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "bun-tanstack-start-template", - "type": "module", - "scripts": { - "dev": "bun --bun vite dev", - "build": "bun --bun vite build", - "start": "bun --bun vite preview" - }, - "devDependencies": { - "@types/bun": "^1.3.2", - "@types/react": "^19.2.3", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^5.1.0", - "vite": "^7.2.2", - "vite-tsconfig-paths": "^5.1.4" - }, - "peerDependencies": { - "typescript": "^5.9.3" - }, - "dependencies": { - "@tailwindcss/vite": "^4.1.17", - "@tanstack/react-router": "^1.135.2", - "@tanstack/react-start": "^1.135.2", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tailwindcss": "^4.1.17" - } -} diff --git a/src/init/react-tanstack/public/favicon.ico b/src/init/react-tanstack/public/favicon.ico deleted file mode 100644 index 5b9f938748..0000000000 Binary files a/src/init/react-tanstack/public/favicon.ico and /dev/null differ diff --git a/src/init/react-tanstack/public/header.webp b/src/init/react-tanstack/public/header.webp deleted file mode 100644 index 4ddbf30c45..0000000000 Binary files a/src/init/react-tanstack/public/header.webp and /dev/null differ diff --git a/src/init/react-tanstack/src/routeTree.gen.ts b/src/init/react-tanstack/src/routeTree.gen.ts deleted file mode 100644 index a841db7ff3..0000000000 --- a/src/init/react-tanstack/src/routeTree.gen.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* eslint-disable */ - -// @ts-nocheck - -// noinspection JSUnusedGlobalSymbols - -// This file was automatically generated by TanStack Router. -// You should NOT make any changes in this file as it will be overwritten. -// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. - -import { Route as rootRouteImport } from "./routes/__root"; -import { Route as IndexRouteImport } from "./routes/index"; -import { Route as StatsRouteImport } from "./routes/stats"; - -const StatsRoute = StatsRouteImport.update({ - id: "/stats", - path: "/stats", - getParentRoute: () => rootRouteImport, -} as any); -const IndexRoute = IndexRouteImport.update({ - id: "/", - path: "/", - getParentRoute: () => rootRouteImport, -} as any); - -export interface FileRoutesByFullPath { - "/": typeof IndexRoute; - "/stats": typeof StatsRoute; -} -export interface FileRoutesByTo { - "/": typeof IndexRoute; - "/stats": typeof StatsRoute; -} -export interface FileRoutesById { - __root__: typeof rootRouteImport; - "/": typeof IndexRoute; - "/stats": typeof StatsRoute; -} -export interface FileRouteTypes { - fileRoutesByFullPath: FileRoutesByFullPath; - fullPaths: "/" | "/stats"; - fileRoutesByTo: FileRoutesByTo; - to: "/" | "/stats"; - id: "__root__" | "/" | "/stats"; - fileRoutesById: FileRoutesById; -} -export interface RootRouteChildren { - IndexRoute: typeof IndexRoute; - StatsRoute: typeof StatsRoute; -} - -declare module "@tanstack/react-router" { - interface FileRoutesByPath { - "/stats": { - id: "/stats"; - path: "/stats"; - fullPath: "/stats"; - preLoaderRoute: typeof StatsRouteImport; - parentRoute: typeof rootRouteImport; - }; - "/": { - id: "/"; - path: "/"; - fullPath: "/"; - preLoaderRoute: typeof IndexRouteImport; - parentRoute: typeof rootRouteImport; - }; - } -} - -const rootRouteChildren: RootRouteChildren = { - IndexRoute: IndexRoute, - StatsRoute: StatsRoute, -}; -export const routeTree = rootRouteImport._addFileChildren(rootRouteChildren)._addFileTypes(); - -import type { createStart } from "@tanstack/react-start"; -import type { getRouter } from "./router.tsx"; -declare module "@tanstack/react-start" { - interface Register { - ssr: true; - router: Awaited>; - } -} diff --git a/src/init/react-tanstack/src/router.tsx b/src/init/react-tanstack/src/router.tsx deleted file mode 100644 index 04ab70bfd4..0000000000 --- a/src/init/react-tanstack/src/router.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { createRouter } from "@tanstack/react-router"; -import { routeTree } from "./routeTree.gen"; - -export function getRouter() { - const router = createRouter({ - routeTree, - scrollRestoration: true, - }); - - return router; -} diff --git a/src/init/react-tanstack/src/routes/__root.tsx b/src/init/react-tanstack/src/routes/__root.tsx deleted file mode 100644 index 0f533adacb..0000000000 --- a/src/init/react-tanstack/src/routes/__root.tsx +++ /dev/null @@ -1,87 +0,0 @@ -// src/routes/__root.tsx -/// -import { createRootRoute, HeadContent, Link, Outlet, Scripts } from "@tanstack/react-router"; -import type { ReactNode } from "react"; - -import appCss from "../../styles.css?url"; - -export const Route = createRootRoute({ - head: () => ({ - meta: [ - { - charSet: "utf-8", - }, - { - name: "viewport", - content: "width=device-width, initial-scale=1", - }, - { - title: "Bun + TanStack Start Starter", - }, - ], - links: [ - { rel: "stylesheet", href: appCss }, - { rel: "icon", href: "/favicon.ico" }, - ], - }), - component: RootComponent, - notFoundComponent: NotFoundComponent, -}); - -function NotFoundComponent() { - return ( -
-
-
-
-
-

404

-

Page Not Found

-
-
- -
-
-

- The page you're looking for doesn't exist or has been moved. -

-
-
- -
-
- - ← Back to Home - -
-
-
-
-
- ); -} - -function RootComponent() { - return ( - - - - ); -} - -function RootDocument({ children }: Readonly<{ children: ReactNode }>) { - return ( - - - - - - {children} - - - - ); -} diff --git a/src/init/react-tanstack/src/routes/index.tsx b/src/init/react-tanstack/src/routes/index.tsx deleted file mode 100644 index bc0f479825..0000000000 --- a/src/init/react-tanstack/src/routes/index.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { createFileRoute, Link } from "@tanstack/react-router"; -import { createServerFn } from "@tanstack/react-start"; - -const getBunInfo = createServerFn({ - method: "GET", -}).handler(async () => { - return { - version: Bun.version, - revision: Bun.revision, - }; -}); - -export const Route = createFileRoute("/")({ - component: Home, - loader: async () => { - const bunInfo = await getBunInfo(); - return { bunInfo }; - }, -}); - -function Home() { - const { bunInfo } = Route.useLoaderData(); - - return ( -
-
-
-
- TanStack Logo -
-
-
- Bun {bunInfo.version} -
- {bunInfo.revision && ( - - {bunInfo.revision.slice(0, 8)} - - )} -
-
- -
-
-
-
-

- Welcome to TanStack Start -

-

- Powered by Bun {"\u2764\uFE0F"} -

-
-
-

- Edit{" "} - - src/routes/index.tsx - {" "} - to see HMR in action. -
- Visit{" "} - - /stats - {" "} - for server-side info, or explore{" "} - - Bun's APIs - - .
-
- Ready to deploy? Check out the{" "} - - TanStack guide - - . -

-
-
-
-
- -
-
- - View Server Stats → - -
-
-
-
-
- ); -} diff --git a/src/init/react-tanstack/src/routes/stats.tsx b/src/init/react-tanstack/src/routes/stats.tsx deleted file mode 100644 index 971c61a49e..0000000000 --- a/src/init/react-tanstack/src/routes/stats.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import { createFileRoute, Link } from "@tanstack/react-router"; -import { createServerFn } from "@tanstack/react-start"; -import { cpus, totalmem } from "os"; - -const getServerStats = createServerFn({ - method: "GET", -}).handler(async () => { - const bunVersion = Bun.version; - const bunRevision = Bun.revision; - const cpuUsage = process.cpuUsage(); - const processUptime = process.uptime(); - - // Calculate CPU usage percentage to avoid showing falsy cumulative values - // CPU percentage = (total CPU time / (uptime * number of cores)) * 100 - const numCores = cpus().length; - const totalCpuTime = (cpuUsage.user + cpuUsage.system) / 1000000; // Convert microseconds to seconds - const cpuPercentage = processUptime > 0 ? Math.min(100, (totalCpuTime / (processUptime * numCores)) * 100) : 0; - - const cpuInfo = cpus()[0]; - - return { - bunVersion, - bunRevision, - platform: process.platform, - arch: process.arch, - pid: process.pid, - uptime: Math.floor(processUptime), - cpu: { - percentage: Math.round(cpuPercentage * 100) / 100, - cores: numCores, - }, - environment: { - cpuModel: cpuInfo?.model || "Unknown", - totalMemory: totalmem(), - }, - }; -}); - -export const Route = createFileRoute("/stats")({ - component: Stats, - loader: async () => { - const stats = await getServerStats(); - return { stats }; - }, -}); - -function Stats() { - const { stats } = Route.useLoaderData(); - - const formatUptime = (seconds: number) => { - const hours = Math.floor(seconds / 3600); - const minutes = Math.floor((seconds % 3600) / 60); - const secs = seconds % 60; - if (hours > 0) { - return `${hours}h ${minutes}m ${secs}s`; - } - if (minutes > 0) { - return `${minutes}m ${secs}s`; - } - return `${secs}s`; - }; - - const formatBytes = (bytes: number) => { - const formatter = new Intl.NumberFormat("en-US", { - maximumFractionDigits: 1, - minimumFractionDigits: 0, - }); - - const gb = bytes / (1024 * 1024 * 1024); - if (gb >= 1) { - return `${formatter.format(gb)} GB`; - } - const mb = bytes / (1024 * 1024); - if (mb >= 1) { - return `${formatter.format(mb)} MB`; - } - const kb = bytes / 1024; - return `${formatter.format(kb)} KB`; - }; - - return ( -
-
-
-
-
-

Server Stats

-

Runtime information

-
-
- -
-
-
-
-

Bun Version

-

{stats.bunVersion}

-
-
-

Revision

-

{stats.bunRevision?.slice(0, 8)}

-
-
-

Platform

-

{stats.platform}

-
-
-

Architecture

-

{stats.arch}

-
-
-

Process ID

-

{stats.pid}

-
-
-

Uptime

-

{formatUptime(stats.uptime)}

-
-
-

CPU Cores

-

{stats.cpu.cores}

-
-
-

CPU Usage

-

{stats.cpu.percentage}%

-
-
-
-
-
-

CPU Model

-

{stats.environment.cpuModel}

-
-
-

Total Memory

-

{formatBytes(stats.environment.totalMemory)}

-
-
-
-
-
- -
-
- - ← Back to Home - -
-
-
-
-
- ); -} diff --git a/src/init/react-tanstack/styles.css b/src/init/react-tanstack/styles.css deleted file mode 100644 index 42b0422af0..0000000000 --- a/src/init/react-tanstack/styles.css +++ /dev/null @@ -1,57 +0,0 @@ -@import "tailwindcss"; - -:root { - --background: oklch(0.985 0 0); - --foreground: oklch(0.145 0 0); - --card: oklch(1 0 0); - --card-foreground: oklch(0.145 0 0); - --muted-foreground: oklch(0.556 0 0); - --border: oklch(0.9 0 0); - --ring: oklch(0.556 0 0); -} - -@media (prefers-color-scheme: dark) { - :root { - --background: oklch(0.145 0 0); - --foreground: oklch(0.985 0 0); - --card: oklch(0.205 0 0); - --card-foreground: oklch(0.985 0 0); - --muted-foreground: oklch(0.708 0 0); - --border: oklch(1 0 0 / 10%); - --ring: oklch(0.556 0 0); - } -} - -@theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --color-card: var(--card); - --color-card-foreground: var(--card-foreground); - --color-muted-foreground: var(--muted-foreground); - --color-border: var(--border); - --color-ring: var(--ring); -} - -@layer base { - * { - @apply border-border outline-ring/50; - } - html { - overflow-x: hidden; - overflow-y: auto; - max-width: 100vw; - width: 100%; - } - body { - @apply bg-background text-foreground; - font-family: - system-ui, - -apple-system, - sans-serif; - overflow-x: hidden; - max-width: 100vw; - width: 100%; - margin: 0; - padding: 0; - } -} diff --git a/src/init/react-tanstack/tsconfig.json b/src/init/react-tanstack/tsconfig.json deleted file mode 100644 index edfdf0e833..0000000000 --- a/src/init/react-tanstack/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "jsx": "react-jsx", - "moduleResolution": "Bundler", - "module": "ESNext", - "target": "ES2022", - "skipLibCheck": true, - "strictNullChecks": true - } -} diff --git a/src/init/react-tanstack/vite.config.ts b/src/init/react-tanstack/vite.config.ts deleted file mode 100644 index 847f6342ee..0000000000 --- a/src/init/react-tanstack/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import tailwindcss from "@tailwindcss/vite"; -import { tanstackStart } from "@tanstack/react-start/plugin/vite"; -import viteReact from "@vitejs/plugin-react"; -import { defineConfig } from "vite"; -import tsConfigPaths from "vite-tsconfig-paths"; - -export default defineConfig({ - server: { - port: 3000, - }, - plugins: [ - tsConfigPaths(), - tanstackStart(), - // react's vite plugin must come after start's vite plugin - viteReact(), - tailwindcss(), - ], -}); diff --git a/src/init/rule-tanstack.md b/src/init/rule-tanstack.md deleted file mode 100644 index b494b213cf..0000000000 --- a/src/init/rule-tanstack.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -description: Use Bun with TanStack Start instead of Node.js, npm, pnpm, or vite. -globs: "*.ts, *.tsx, *.html, *.css, *.js, *.jsx, package.json" -alwaysApply: false ---- - -Default to using Bun instead of Node.js. - -- Use `bun ` instead of `node ` or `ts-node ` -- Use `bun test` instead of `jest` or `vitest` -- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install` -- Use `bun run