create-swift-rust 0.9.1 → 0.9.6

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/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  export {};
3
3
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  import { existsSync } from "node:fs";
3
3
  import { cp, mkdir, readFile, rename, stat, writeFile } from "node:fs/promises";
4
- import { basename, dirname, join, resolve } from "node:path";
4
+ import { basename, delimiter, dirname, join, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import * as p from "@clack/prompts";
7
7
  import pc from "picocolors";
8
+ const MINIMUM_BUN_VERSION = "1.3.0";
8
9
  /** Locate the bundled full-demo template (src/ in dev, dist/ when published). */
9
10
  function templateDir() {
10
11
  const here = dirname(fileURLToPath(import.meta.url));
@@ -44,12 +45,18 @@ async function copyTemplate(target, projectName) {
44
45
  await rename(fromPath, join(target, to));
45
46
  }
46
47
  const displayName = projectName === "." ? basename(resolve(target)) : projectName;
47
- for (const file of ["package.json", "README.md"]) {
48
- const path = join(target, file);
49
- if (!existsSync(path))
50
- continue;
51
- const contents = await readFile(path, "utf8");
52
- await writeFile(path, contents.split("__PROJECT_NAME__").join(displayName));
48
+ const packagePath = join(target, "package.json");
49
+ if (existsSync(packagePath)) {
50
+ const packageJson = JSON.parse(await readFile(packagePath, "utf8"));
51
+ packageJson.name = displayName;
52
+ packageJson.dependencies["swift-rust"] = await resolveSwiftRustVersion();
53
+ packageJson.engines = { ...packageJson.engines, bun: `>=${MINIMUM_BUN_VERSION}` };
54
+ await writeFile(packagePath, `${JSON.stringify(packageJson, null, 2)}\n`);
55
+ }
56
+ const readmePath = join(target, "README.md");
57
+ if (existsSync(readmePath)) {
58
+ const contents = await readFile(readmePath, "utf8");
59
+ await writeFile(readmePath, contents.split("__PROJECT_NAME__").join(displayName));
53
60
  }
54
61
  await writeVscodeConfig(target);
55
62
  }
@@ -458,9 +465,9 @@ async function askQuestions(flags, positional) {
458
465
  // Fallback pin used when the npm registry can't be reached at scaffold time.
459
466
  // Kept in sync with the current swift-rust release so a generated project never
460
467
  // advertises an ancient version. `^` still lets it float forward within the major.
461
- const SWIFT_RUST_FALLBACK = "^1.5.1";
468
+ const SWIFT_RUST_FALLBACK = "^1.10.8";
462
469
  // Resolve the newest published swift-rust version so the scaffolded package.json
463
- // reflects reality (e.g. ^1.5.1) instead of a stale literal like ^1.0.0. A caret
470
+ // reflects reality (e.g. ^1.10.5) instead of a stale literal like ^1.0.0. A caret
464
471
  // range already installs the latest matching release, but showing the real number
465
472
  // avoids the "it installed an old version" confusion. Falls back offline.
466
473
  async function resolveSwiftRustVersion() {
@@ -499,6 +506,7 @@ async function writeProjectFiles(target, answers) {
499
506
  }
500
507
  const fileExt = (lang) => (lang === "ts" ? "ts" : "js");
501
508
  const componentExt = (lang) => (lang === "ts" ? "tsx" : "jsx");
509
+ const jsxExt = componentExt(language);
502
510
  const swiftRustVersion = await resolveSwiftRustVersion();
503
511
  const pkg = {
504
512
  name: projectName,
@@ -541,6 +549,9 @@ async function writeProjectFiles(target, answers) {
541
549
  ...(ui === "shadcn" ? { shadcn: "^4.0.0" } : {}),
542
550
  ...(ui === "swift-rust-ui" ? { "@swift-rust/ui": "latest" } : {}),
543
551
  },
552
+ engines: {
553
+ bun: `>=${MINIMUM_BUN_VERSION}`,
554
+ },
544
555
  };
545
556
  await writeFile(join(target, "package.json"), `${JSON.stringify(pkg, null, 2)}\n`);
546
557
  const config = {
@@ -748,8 +759,7 @@ ${uiTokens}`;
748
759
  await writeFile(join(appDir, `globals.${fileExt(language)}`), language === "ts" ? `import "./globals.css";\n` : `import "./globals.css";\n`);
749
760
  await writeFile(join(appDir, "globals.css"), css);
750
761
  }
751
- const layoutImports = `import type { ReactNode } from "react";
752
- import { Geist, GeistMono } from "swift-rust/font/google";
762
+ const layoutImports = `${language === "ts" ? 'import type { ReactNode } from "react";\n' : ""}import { Geist, GeistMono } from "swift-rust/font/google";
753
763
  ${tailwind ? `import "./globals.css";\n` : ""}
754
764
  const geistSans = Geist({ subsets: ["latin"], display: "swap", variable: true });
755
765
  const geistMono = GeistMono({ subsets: ["latin"], display: "swap", variable: true });
@@ -762,7 +772,7 @@ export const metadata = {
762
772
  description: "Built with swift-rust — the React framework powered with Rust + Bun. 10x faster than Next.js.",
763
773
  };
764
774
 
765
- export default function RootLayout({ children }: { children: ReactNode }) {
775
+ export default function RootLayout(${language === "ts" ? "{ children }: { children: ReactNode }" : "{ children }"}) {
766
776
  return (
767
777
  <html
768
778
  lang="en"
@@ -777,7 +787,7 @@ export default function RootLayout({ children }: { children: ReactNode }) {
777
787
  );
778
788
  }
779
789
  `;
780
- await writeFile(join(appDir, `layout.${componentExt(language)}`), layoutImports);
790
+ await writeFile(join(appDir, `layout.${jsxExt}`), layoutImports);
781
791
  const shadcnHome = `import { buttonVariants } from "@/components/ui/button";
782
792
  import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
783
793
  import { Badge } from "@/components/ui/badge";
@@ -790,18 +800,18 @@ export default function Home() {
790
800
  <Badge variant="secondary" className="w-fit mb-2">Welcome</Badge>
791
801
  <CardTitle className="text-3xl sm:text-5xl">${projectName}</CardTitle>
792
802
  <CardDescription>
793
- Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${componentExt(language)}</code>.
803
+ Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${jsxExt}</code>.
794
804
  </CardDescription>
795
805
  </CardHeader>
796
806
  <CardContent className="flex gap-2">
797
807
  <a
798
- href="https://swift-rust.dev/docs"
808
+ href="https://docs-swift-rust.vercel.app/"
799
809
  className={buttonVariants({ variant: "default" })}
800
810
  >
801
811
  Read the docs →
802
812
  </a>
803
813
  <a
804
- href="https://github.com/swift-rust/swift-rust"
814
+ href="https://github.com/colesites/swift-rust"
805
815
  className={buttonVariants({ variant: "outline" })}
806
816
  >
807
817
  GitHub
@@ -812,48 +822,66 @@ export default function Home() {
812
822
  );
813
823
  }
814
824
  `;
815
- // The swift-rust ui home page shows off the third dimension — the same Button
816
- // rendered across several "design" styles — so the headline feature is
817
- // visible the moment the project boots.
818
825
  const swiftRustUiHome = `import { Button } from "@/components/ui/button";
819
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
820
- import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
821
826
 
822
827
  export default function Home() {
823
828
  return (
824
- <main className="min-h-screen flex items-center justify-center px-6 py-12">
825
- <Card className="max-w-xl w-full" design="glass">
826
- <CardHeader>
827
- <CardTitle className="text-3xl sm:text-5xl">${projectName}</CardTitle>
828
- <CardDescription>
829
- Built with swift-rust ui. Edit <code>${srcDir ? "src/app/" : "app/"}page.${componentExt(language)}</code> to get started.
830
- </CardDescription>
831
- </CardHeader>
832
- <CardContent className="flex flex-col gap-6">
833
- <Alert variant="info">
834
- <AlertTitle>One button, every style</AlertTitle>
835
- <AlertDescription>
836
- Mix <code>variant</code>, <code>size</code> and <code>design</code> freely.
837
- </AlertDescription>
838
- </Alert>
839
- <div className="flex flex-wrap gap-3">
840
- <Button design="flat">Flat</Button>
841
- <Button design="3d">3D</Button>
842
- <Button design="glass" variant="outline">Glass</Button>
843
- <Button design="neo">Neo</Button>
844
- <Button design="brutal" variant="secondary">Brutal</Button>
845
- <Button design="gradient">Gradient</Button>
829
+ <main className="min-h-screen bg-bg text-fg">
830
+ <section className="mx-auto flex min-h-screen w-full max-w-6xl flex-col px-6 py-8">
831
+ <header className="flex items-center justify-between border-b border-border/70 pb-5">
832
+ <div>
833
+ <p className="text-sm font-medium text-fg/55">Swift Rust starter</p>
834
+ <h1 className="mt-1 text-xl font-semibold tracking-tight">${projectName}</h1>
846
835
  </div>
847
- <div className="flex gap-2">
848
- <Button asChild>
849
- <a href="https://swift-rust.dev/docs">Read the docs →</a>
850
- </Button>
851
- <Button asChild variant="outline">
852
- <a href="https://github.com/swift-rust/swift-rust">GitHub</a>
853
- </Button>
836
+ <Button asChild size="sm" variant="outline">
837
+ <a href="https://docs-swift-rust.vercel.app/">Docs</a>
838
+ </Button>
839
+ </header>
840
+
841
+ <div className="grid flex-1 items-center gap-10 py-16 lg:grid-cols-[1.05fr_0.95fr]">
842
+ <div>
843
+ <div className="mb-6 inline-flex rounded-full border border-border bg-bg px-3 py-1 text-sm text-fg/65">
844
+ Production-ready React on Rust + Bun
845
+ </div>
846
+ <h2 className="max-w-3xl text-5xl font-semibold leading-[0.98] tracking-tight sm:text-6xl">
847
+ Build a fast app with a quiet, professional baseline.
848
+ </h2>
849
+ <p className="mt-6 max-w-2xl text-lg leading-8 text-fg/65">
850
+ Routing, rendering, styling, and deployment defaults are already wired so you can focus on the product surface.
851
+ </p>
852
+ <div className="mt-8 flex flex-wrap gap-3">
853
+ <Button asChild>
854
+ <a href="https://docs-swift-rust.vercel.app/">Read the docs</a>
855
+ </Button>
856
+ <Button asChild variant="outline">
857
+ <a href="https://github.com/colesites/swift-rust">GitHub</a>
858
+ </Button>
859
+ </div>
854
860
  </div>
855
- </CardContent>
856
- </Card>
861
+
862
+ <div className="rounded-lg border border-border bg-bg p-5 shadow-sm">
863
+ <div className="flex items-center justify-between border-b border-border pb-4">
864
+ <p className="text-sm font-medium">Project health</p>
865
+ <span className="rounded-full bg-accent/10 px-2.5 py-1 text-xs font-medium text-accent">
866
+ Ready
867
+ </span>
868
+ </div>
869
+ <dl className="mt-5 grid gap-4">
870
+ {[
871
+ ["Framework", "swift-rust"],
872
+ ["Renderer", "${renderer}"],
873
+ ["Styling", "Tailwind CSS"],
874
+ ["Components", "swift-rust ui"],
875
+ ].map(([label, value]) => (
876
+ <div key={label} className="flex items-center justify-between rounded-md border border-border/70 px-4 py-3">
877
+ <dt className="text-sm text-fg/55">{label}</dt>
878
+ <dd className="text-sm font-medium">{value}</dd>
879
+ </div>
880
+ ))}
881
+ </dl>
882
+ </div>
883
+ </div>
884
+ </section>
857
885
  </main>
858
886
  );
859
887
  }
@@ -874,10 +902,10 @@ export default function Home() {
874
902
  ${projectName}
875
903
  </h1>
876
904
  <p className="text-lg text-fg-secondary mb-8">
877
- Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${componentExt(language)}</code>.
905
+ Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${jsxExt}</code>.
878
906
  </p>
879
907
  <a
880
- href="https://swift-rust.dev/docs"
908
+ href="https://docs-swift-rust.vercel.app/"
881
909
  className="inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-fg text-bg font-medium text-sm hover:opacity-90 transition-opacity"
882
910
  >
883
911
  Read the docs →
@@ -892,14 +920,14 @@ export default function Home() {
892
920
  <main style={{ minHeight: "100vh", display: "flex", alignItems: "center", justifyContent: "center", padding: "2rem" }}>
893
921
  <div style={{ maxWidth: "32rem", textAlign: "center" }}>
894
922
  <h1>${projectName}</h1>
895
- <p>Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${componentExt(language)}</code>.</p>
896
- <a href="https://swift-rust.dev/docs">Read the docs →</a>
923
+ <p>Get started by editing <code>${srcDir ? "src/app/" : "app/"}page.${jsxExt}</code>.</p>
924
+ <a href="https://docs-swift-rust.vercel.app/">Read the docs →</a>
897
925
  </div>
898
926
  </main>
899
927
  );
900
928
  }
901
929
  `;
902
- await writeFile(join(appDir, `page.${componentExt(language)}`), homePage);
930
+ await writeFile(join(appDir, `page.${jsxExt}`), homePage);
903
931
  const notFoundPage = tailwind
904
932
  ? `export const metadata = { title: "Not found" };
905
933
 
@@ -925,7 +953,7 @@ export default function NotFound() {
925
953
  );
926
954
  }
927
955
  `;
928
- await writeFile(join(appDir, `not-found.${componentExt(language)}`), notFoundPage);
956
+ await writeFile(join(appDir, `not-found.${jsxExt}`), notFoundPage);
929
957
  if (linter === "biome") {
930
958
  const biome = {
931
959
  $schema: "https://biomejs.dev/schemas/2.4.16/schema.json",
@@ -972,13 +1000,13 @@ Built with [swift-rust](https://swift-rust.dev) — the React framework powered
972
1000
  ## Project structure
973
1001
 
974
1002
  ${srcDir
975
- ? `\`\`\`\nsrc/\n app/\n layout.${componentExt(language)}\n page.${componentExt(language)}\n not-found.${componentExt(language)}\n components/\n lib/\n\`\`\``
976
- : `\`\`\`\napp/\n layout.${componentExt(language)}\n page.${componentExt(language)}\n not-found.${componentExt(language)}\ncomponents/\nlib/\n\`\`\``}
1003
+ ? `\`\`\`\nsrc/\n app/\n layout.${jsxExt}\n page.${jsxExt}\n not-found.${jsxExt}\n components/\n lib/\n\`\`\``
1004
+ : `\`\`\`\napp/\n layout.${jsxExt}\n page.${jsxExt}\n not-found.${jsxExt}\ncomponents/\nlib/\n\`\`\``}
977
1005
 
978
1006
  ## Learn more
979
1007
 
980
- - [Documentation](https://swift-rust.dev/docs)
981
- - [Examples](https://github.com/swift-rust/swift-rust/tree/main/examples)
1008
+ - [Documentation](https://docs-swift-rust.vercel.app/)
1009
+ - [Examples](https://github.com/colesites/swift-rust/tree/main/examples)
982
1010
  - [Discord](https://discord.gg/swift-rust)
983
1011
 
984
1012
  ## Deploy to Vercel
@@ -993,7 +1021,7 @@ git push -u origin main
993
1021
 
994
1022
  Then on [vercel.com/new](https://vercel.com/new), import the repo. No configuration needed — \`vercel.json\` is included. Your site will be live at \`https://${projectName}.vercel.app\`.
995
1023
 
996
- For custom domains and ISR / serverless functions, see the [deploy guide](https://swift-rust.dev/docs/guides/deploying).
1024
+ For custom domains and ISR / serverless functions, see the [deploy guide](https://docs-swift-rust.vercel.app/docs/getting-started/deploying).
997
1025
  `;
998
1026
  await writeFile(join(target, "README.md"), readme);
999
1027
  const envExample = `# Example environment variables. Copy values you need into .env.local.
@@ -1016,15 +1044,15 @@ For custom domains and ISR / serverless functions, see the [deploy guide](https:
1016
1044
  const faviconIco = "AAABAAEAICAAAAEAIAAZBQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAAZiS0dEAP8A/wD/oL2nkwAABM5JREFUWIXFl19sU2UYxn/f6cbsoTsFoqywPw5BMzodpGNxhUIINMREgssEg5ELI7tUs/HnYiExRI1wwRKWXRBiMGEmphqykKl3JYOOBLMy3U7nthDI6LqRzii6ullit75eYJtNtnWWoU/yJc15z/s8z/f2y/ueTzEDNpttdTKZfB94FXgeWM7SYBK4BXyraVrLxMTET6mASv2wWq0HgAtKqfwlEp0TIvI78E48Hr+UNmC1Wg8opb6caegJQ0TkjXg8fknZbLbV09PTt7PZeU1NDQCXL1/OxkRM07QNStf1j4ET2TCMjIwAUFRUlE06wEc5wN5ss3Nzc7NNTWGvBqx/XJZsISIbNMA2V1DTNPr6+vD7/RiGMSdBR0cHHR0dc8YMw8Dv99PX14emaXO+o5TKnzsCJJNJotEobreb9vb2WSaUUpSXl9Pa2srFixdxOp2PiLe3t+N2u4lGoySTyflkQNd1mW85HA7p6uoSEZGWlhax2+1y7NgxiUQiMhPJ+2EJh8Ny5MgRsdvt0tLSIiIiXV1d4nA45uXXdV2Urusyv72Hu2lsbOTKlSscP34cj8dDMpmku7ubUCjEyulfeHlljDWvf4hSis7OTs6cOcPu3bs5deoUsVhsIfqFK5BadrtdOjs7RUSkp6dHqqurRdd1KXo6X26frJL3dj0rbrdbTNMUEZFAICCGYWTk1XVd5j0DM1FXV4fH46G3t5c9e/Zgmia5FsXnh9bz7Ko8+qNxent78Xq9hEIhtm/fzuHDhxdDTca/QCnFwMAAhYWFbNu2DdM0AWh6rZg69zMAlJzsZfzBNACbN2/m+vXrRCIRnE4nIgvSk7ECGzdupLi4mJs3b6bF33StSouP/PZnWhygp6eH7u5uSkpKKCsry0Q/20BNTQ2RSITR0VFGR0fx+XyUlpYCpMWrSpbTXFuSzilasYzx0y7GT7u4deIl1hq56XdLS0vx+Xxpvkgkkp4fi65AqoSaplGQn0vroefIy3k0LTEtvP3FEPdiiXTjyVR+WMQZcDqdBINBgsEgO3funBXrb3yRQvsyABouD/PZdz8DEAgEqKyspLKyksHBwQUNZKzAwMAAw8PDbNmyhU2bNqWfG09ZWGs8FPf9cD8t7nK5cLlchMPhjOKLMiAiNDc3o5Ti/Pnz2GwPR0e5w4pSYN77g/q2YQBsNhvnzp1DKcXZs2czigOLb0SBQEBEREzTlK1bt8q7u0rk3ifV8sLaFaLrung8HgmFQiIicvXq1UU3on/Vio8ePcqOHTsQEcbaPuD7X62MWdZQUVGBy+VCKcW1a9doamrC6/U+fiv+5zAyDEMaGhokHA5Lcmxw1kC6e/eu1NfXi2EYSzeM/H4/brebYDDIvn37Zu2mrKyMdevWATA0NDTrwKXGcVVVFTdu3MDr9c5bgHkNaJqGaZpEo1Fqa2vnLKXP5wPg4MGDj8QMw6CtrQ2Hw0FFRcW83wTKarXGsr0LjI2NAVBQUJBNOkBMU0rdyTZ7CXBHA77JNjuRSJBIJB7HwNf/58Vk3GKxbEhdzfYrpb7iv72a7Y/H420WgKmpqf6cnJwflVKvAHlPWHxcRN6Kx+NtAJbU06mpqf68vLwLIvIAyP97LVsi0QmgD/jUYrEcmpyc7E4F/gIrAoFO2P2bCQAAAABJRU5ErkJggg==";
1017
1045
  await writeFile(join(appDir, "favicon.ico"), Buffer.from(faviconIco, "base64"));
1018
1046
  if (ui === "shadcn") {
1019
- await scaffoldShadcn({ target, uiDir, libDir, componentExt: componentExt(language), srcDir });
1047
+ await scaffoldShadcn({ target, uiDir, libDir, componentExt: jsxExt, srcDir, language });
1020
1048
  }
1021
1049
  else if (ui === "swift-rust-ui") {
1022
- await scaffoldSwiftRustUi({ uiDir, libDir, componentExt: componentExt(language) });
1050
+ await scaffoldSwiftRustUi({ uiDir, libDir, componentExt: jsxExt, language });
1023
1051
  }
1024
1052
  await writeVscodeConfig(target);
1025
1053
  }
1026
1054
  async function scaffoldShadcn(options) {
1027
- const { target, uiDir, libDir, componentExt, srcDir } = options;
1055
+ const { target, uiDir, libDir, componentExt, srcDir, language } = options;
1028
1056
  const utilsContent = `import { clsx, type ClassValue } from "clsx";
1029
1057
  import { twMerge } from "tailwind-merge";
1030
1058
 
@@ -1235,14 +1263,41 @@ export { badgeVariants };
1235
1263
  "iconLibrary": "lucide"
1236
1264
  }
1237
1265
  `;
1238
- await writeFile(join(libDir, "utils.ts"), utilsContent);
1239
- await writeFile(join(uiDir, `button.${componentExt}`), buttonContent);
1240
- await writeFile(join(uiDir, `card.${componentExt}`), cardContent);
1241
- await writeFile(join(uiDir, `input.${componentExt}`), inputContent);
1242
- await writeFile(join(uiDir, `label.${componentExt}`), labelContent);
1243
- await writeFile(join(uiDir, `badge.${componentExt}`), badgeContent);
1266
+ const source = (content) => language === "js" ? stripTypeScriptForJavaScript(content) : content;
1267
+ await writeFile(join(libDir, `utils.${language === "js" ? "js" : "ts"}`), source(utilsContent));
1268
+ await writeFile(join(uiDir, `button.${componentExt}`), source(buttonContent));
1269
+ await writeFile(join(uiDir, `card.${componentExt}`), source(cardContent));
1270
+ await writeFile(join(uiDir, `input.${componentExt}`), source(inputContent));
1271
+ await writeFile(join(uiDir, `label.${componentExt}`), source(labelContent));
1272
+ await writeFile(join(uiDir, `badge.${componentExt}`), source(badgeContent));
1244
1273
  await writeFile(join(target, "components.json"), `${componentsJson}\n`);
1245
1274
  }
1275
+ function stripTypeScriptForJavaScript(source) {
1276
+ return source
1277
+ .replace(/import\s+type\s+[^;]+;\n/g, "")
1278
+ .replace(/,\s*type\s+\w+/g, "")
1279
+ .replace(/type\s+\w+\s*,\s*/g, "")
1280
+ .replace(/export\s+type\s+\w+\s*=\s*[\s\S]*?;\n/g, "")
1281
+ .replace(/export\s+interface\s+\w+[\s\S]*?\n}\n/g, "")
1282
+ .replace(/interface\s+\w+[\s\S]*?\n}\n/g, "")
1283
+ .replace(/React\.forwardRef<[\s\S]*?>\(/g, "React.forwardRef(")
1284
+ .replace(/React\.createContext<[^>]+>\(/g, "React.createContext(")
1285
+ .replace(/React\.useState<[^)]*>\(/g, "React.useState(")
1286
+ .replace(/const\s+(\w+):\s*Record<[^=]+>\s*=/g, "const $1 =")
1287
+ .replace(/}\s*:\s*[A-Za-z0-9_<>, |&?{}:[\]]+\s*=\s*{}\)/g, "} = {})")
1288
+ .replace(/}\s*:\s*{[\s\S]*?}\)/g, "})")
1289
+ .replace(/function\s+(\w+)\(([^)]*)\):\s*[\w.<>[\] |&]+/g, "function $1($2)")
1290
+ .replace(/\(([^)]*)\):\s*[\w.<>[\] |&]+\s*=>/g, "($1) =>")
1291
+ .replace(/(\.\.\.\w+):\s*[^,)]+/g, "$1")
1292
+ .replace(/(\w+):\s*(string|number|boolean)\b/g, "$1")
1293
+ .replace(/:\s*React\.[A-Za-z0-9_.<>[\], |&]+/g, "")
1294
+ .replace(/:\s*[A-Z][A-Za-z0-9_<>, |&?]+(?=\s*[=,)])/g, "")
1295
+ .replace(/:\s*[A-Z][A-Za-z0-9_<>, |&?{}:[\]]+(?=\s*=\s*{})/g, "")
1296
+ .replace(/\s+as\s+React\.[A-Za-z0-9_.<>[\], |&?{}:]+/g, "")
1297
+ .replace(/\s+as\s+Set<[^>]+>/g, "")
1298
+ .replace(/\s+as\s+const/g, "")
1299
+ .replace(/\s+as\s+string/g, "");
1300
+ }
1246
1301
  // The default component set for swift-rust ui — the components the user asked us
1247
1302
  // to ship first, all carrying the variant × size × design dimensions.
1248
1303
  const SWIFT_RUST_UI_DEFAULTS = [
@@ -1260,8 +1315,14 @@ function swiftRustUiRegistry() {
1260
1315
  const here = dirname(fileURLToPath(import.meta.url));
1261
1316
  const candidates = [
1262
1317
  // Published: scripts/sync-template.mjs flattens the registry into templates/ui.
1263
- { componentsDir: resolve(here, "..", "templates", "ui"), utilsFile: resolve(here, "..", "templates", "ui", "utils.ts") },
1264
- { componentsDir: resolve(here, "templates", "ui"), utilsFile: resolve(here, "templates", "ui", "utils.ts") },
1318
+ {
1319
+ componentsDir: resolve(here, "..", "templates", "ui"),
1320
+ utilsFile: resolve(here, "..", "templates", "ui", "utils.ts"),
1321
+ },
1322
+ {
1323
+ componentsDir: resolve(here, "templates", "ui"),
1324
+ utilsFile: resolve(here, "templates", "ui", "utils.ts"),
1325
+ },
1265
1326
  // Monorepo source: packages/create-swift-rust/dist → packages/ui/registry.
1266
1327
  {
1267
1328
  componentsDir: resolve(here, "..", "..", "ui", "registry", "components"),
@@ -1279,22 +1340,27 @@ function swiftRustUiRegistry() {
1279
1340
  // path, run after install) can't be fetched. Mirrors how the shadcn path writes
1280
1341
  // bundled components before trying `shadcn add`.
1281
1342
  async function scaffoldSwiftRustUi(options) {
1282
- const { uiDir, libDir, componentExt } = options;
1343
+ const { uiDir, libDir, componentExt, language } = options;
1283
1344
  const registry = swiftRustUiRegistry();
1284
1345
  if (!registry) {
1285
1346
  throw new Error("swift-rust ui registry not found. Run `node scripts/sync-template.mjs` before packaging.");
1286
1347
  }
1287
1348
  // The cn() helper the components import from "@/lib/utils".
1288
- await writeFile(join(libDir, "utils.ts"), await readFile(registry.utilsFile, "utf8"));
1349
+ const source = (content) => language === "js" ? stripTypeScriptForJavaScript(content) : content;
1350
+ await writeFile(join(libDir, `utils.${language === "js" ? "js" : "ts"}`), source(await readFile(registry.utilsFile, "utf8")));
1289
1351
  for (const name of SWIFT_RUST_UI_DEFAULTS) {
1290
1352
  const src = await readFile(join(registry.componentsDir, `${name}.tsx`), "utf8");
1291
- await writeFile(join(uiDir, `${name}.${componentExt}`), src);
1353
+ await writeFile(join(uiDir, `${name}.${componentExt}`), source(src));
1292
1354
  }
1293
1355
  }
1294
1356
  async function runInstall(target) {
1295
1357
  const { spawn } = await import("node:child_process");
1358
+ const runtime = findBun();
1359
+ if (!runtime) {
1360
+ throw new Error(`Bun ${MINIMUM_BUN_VERSION} or newer is required. Install Bun from https://bun.sh.`);
1361
+ }
1296
1362
  return new Promise((resolve, reject) => {
1297
- const proc = spawn("bun", ["install"], { cwd: target, stdio: "inherit" });
1363
+ const proc = spawn(runtime, ["install"], { cwd: target, stdio: "inherit" });
1298
1364
  proc.on("exit", (code) => {
1299
1365
  if (code === 0)
1300
1366
  resolve();
@@ -1304,11 +1370,49 @@ async function runInstall(target) {
1304
1370
  proc.on("error", reject);
1305
1371
  });
1306
1372
  }
1373
+ function findBun() {
1374
+ if (process.versions.bun)
1375
+ return process.execPath;
1376
+ const executable = process.platform === "win32" ? "bun.exe" : "bun";
1377
+ const candidates = [
1378
+ process.env.BUN_INSTALL ? join(process.env.BUN_INSTALL, "bin", executable) : null,
1379
+ process.env.USERPROFILE ? join(process.env.USERPROFILE, ".bun", "bin", executable) : null,
1380
+ process.env.HOME ? join(process.env.HOME, ".bun", "bin", executable) : null,
1381
+ ...String(process.env.PATH ?? "")
1382
+ .split(delimiter)
1383
+ .filter(Boolean)
1384
+ .map((directory) => join(directory, executable)),
1385
+ ].filter((candidate) => Boolean(candidate));
1386
+ return candidates.find((candidate) => existsSync(candidate)) ?? null;
1387
+ }
1388
+ async function validateBunVersion() {
1389
+ const runtime = findBun();
1390
+ if (!runtime) {
1391
+ throw new Error(`Bun ${MINIMUM_BUN_VERSION} or newer is required. Install Bun from https://bun.sh.`);
1392
+ }
1393
+ const version = runtime === process.execPath && process.versions.bun
1394
+ ? process.versions.bun
1395
+ : (await import("node:child_process"))
1396
+ .spawnSync(runtime, ["--version"], { encoding: "utf8" })
1397
+ .stdout?.trim();
1398
+ const [major = -1, minor = -1, patch = -1] = (String(version ?? "").split("-", 1)[0] ?? "")
1399
+ .split(".")
1400
+ .map((part) => Number.parseInt(part, 10));
1401
+ const supported = ![major, minor, patch].some((part) => Number.isNaN(part)) &&
1402
+ (major > 1 || (major === 1 && (minor > 3 || (minor === 3 && patch >= 0))));
1403
+ if (!supported) {
1404
+ throw new Error(`Bun ${MINIMUM_BUN_VERSION} or newer is required. Found ${version || "an unknown version"}. Run \`bun upgrade\` and try again.`);
1405
+ }
1406
+ }
1307
1407
  const SHADCN_DEFAULT_COMPONENTS = ["button", "card", "input", "label", "badge"];
1308
1408
  async function runShadcnAdd(target, components) {
1309
1409
  const { spawn } = await import("node:child_process");
1410
+ const runtime = findBun();
1411
+ if (!runtime)
1412
+ return false;
1310
1413
  return new Promise((resolve) => {
1311
1414
  const args = [
1415
+ "x",
1312
1416
  "--bun",
1313
1417
  "shadcn@latest",
1314
1418
  "add",
@@ -1319,7 +1423,7 @@ async function runShadcnAdd(target, components) {
1319
1423
  target,
1320
1424
  "--silent",
1321
1425
  ];
1322
- const proc = spawn("bunx", args, { cwd: target, stdio: "pipe" });
1426
+ const proc = spawn(runtime, args, { cwd: target, stdio: "pipe" });
1323
1427
  proc.on("exit", (code) => {
1324
1428
  resolve(code === 0);
1325
1429
  });
@@ -1331,9 +1435,12 @@ async function runShadcnAdd(target, components) {
1331
1435
  // src/ layout, runs init (cn helper + deps), and writes into components/ui.
1332
1436
  async function runSwiftRustUiAdd(target, components) {
1333
1437
  const { spawn } = await import("node:child_process");
1438
+ const runtime = findBun();
1439
+ if (!runtime)
1440
+ return false;
1334
1441
  return new Promise((resolve) => {
1335
- const args = ["@swift-rust/ui@latest", "add", ...components, "--yes", "--overwrite"];
1336
- const proc = spawn("bunx", args, { cwd: target, stdio: "pipe" });
1442
+ const args = ["x", "@swift-rust/ui@latest", "add", ...components, "--yes", "--overwrite"];
1443
+ const proc = spawn(runtime, args, { cwd: target, stdio: "pipe" });
1337
1444
  proc.on("exit", (code) => resolve(code === 0));
1338
1445
  proc.on("error", () => resolve(false));
1339
1446
  });
@@ -1344,6 +1451,7 @@ async function main() {
1344
1451
  console.log(HELP);
1345
1452
  process.exit(0);
1346
1453
  }
1454
+ await validateBunVersion();
1347
1455
  const isTTY = process.stdout.isTTY === true;
1348
1456
  if (!isTTY && !args.includes("--yes") && !args.includes("-y")) {
1349
1457
  console.error("Non-interactive mode: pass --yes to skip prompts, or run in a terminal.");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-swift-rust",
3
- "version": "0.9.1",
3
+ "version": "0.9.6",
4
4
  "description": "Create a new swift-rust project from a template.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://swift-rust.dev",
@@ -32,7 +32,8 @@
32
32
  "clean": "rm -rf dist .turbo templates"
33
33
  },
34
34
  "engines": {
35
- "node": ">=20"
35
+ "node": ">=20",
36
+ "bun": ">=1.3.0"
36
37
  },
37
38
  "dependencies": {
38
39
  "@clack/prompts": "^1.5.1",
@@ -17,7 +17,7 @@
17
17
  "postcss": "^8.5.15",
18
18
  "react": "^19.0.0",
19
19
  "react-dom": "^19.0.0",
20
- "swift-rust": "^1.5.1",
20
+ "swift-rust": "^1.10.8",
21
21
  "tailwindcss": "^4.3.0"
22
22
  },
23
23
  "devDependencies": {
@@ -26,5 +26,8 @@
26
26
  "@types/react": "^19.0.0",
27
27
  "@types/react-dom": "^19.0.0",
28
28
  "typescript": "^6.0.0"
29
+ },
30
+ "engines": {
31
+ "bun": ">=1.3.0"
29
32
  }
30
33
  }