create-better-fullstack 1.4.8 → 1.4.9
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 +3 -2
- package/dist/index.mjs +1 -1
- package/dist/{src-Cu97R-IA.mjs → src-DgYCaMzA.mjs} +107 -25
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -214,6 +214,7 @@ declare const router: {
|
|
|
214
214
|
none: "none";
|
|
215
215
|
"tanstack-router": "tanstack-router";
|
|
216
216
|
"react-router": "react-router";
|
|
217
|
+
"react-vite": "react-vite";
|
|
217
218
|
"tanstack-start": "tanstack-start";
|
|
218
219
|
next: "next";
|
|
219
220
|
nuxt: "nuxt";
|
|
@@ -526,7 +527,7 @@ declare const router: {
|
|
|
526
527
|
orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
|
|
527
528
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
528
529
|
runtime: "none" | "bun" | "node" | "workers";
|
|
529
|
-
frontend: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
|
|
530
|
+
frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
|
|
530
531
|
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
|
|
531
532
|
examples: ("ai" | "none" | "chat-sdk")[];
|
|
532
533
|
auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
|
|
@@ -612,7 +613,7 @@ declare const router: {
|
|
|
612
613
|
orm: "none" | "drizzle" | "prisma" | "mongoose" | "typeorm" | "kysely" | "mikroorm" | "sequelize";
|
|
613
614
|
backend: "none" | "hono" | "express" | "fastify" | "elysia" | "fets" | "nestjs" | "adonisjs" | "nitro" | "encore" | "convex" | "self";
|
|
614
615
|
runtime: "none" | "bun" | "node" | "workers";
|
|
615
|
-
frontend: ("none" | "tanstack-router" | "react-router" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
|
|
616
|
+
frontend: ("none" | "tanstack-router" | "react-router" | "react-vite" | "tanstack-start" | "next" | "nuxt" | "native-bare" | "native-uniwind" | "native-unistyles" | "svelte" | "solid" | "solid-start" | "astro" | "qwik" | "angular" | "redwood" | "fresh")[];
|
|
616
617
|
addons: ("none" | "pwa" | "tauri" | "starlight" | "biome" | "lefthook" | "husky" | "ruler" | "mcp" | "skills" | "turborepo" | "fumadocs" | "ultracite" | "oxlint" | "opentui" | "wxt" | "msw" | "storybook")[];
|
|
617
618
|
examples: ("ai" | "none" | "chat-sdk")[];
|
|
618
619
|
auth: "none" | "better-auth" | "go-better-auth" | "clerk" | "nextauth" | "stack-auth" | "supabase-auth" | "auth0";
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as builder, c as createVirtual, d as history, f as router, i as add, l as docs, n as TEMPLATE_COUNT, o as create, p as sponsors, r as VirtualFileSystem, s as createBtsCli, t as EMBEDDED_TEMPLATES, u as generateVirtualProject } from "./src-
|
|
2
|
+
import { a as builder, c as createVirtual, d as history, f as router, i as add, l as docs, n as TEMPLATE_COUNT, o as create, p as sponsors, r as VirtualFileSystem, s as createBtsCli, t as EMBEDDED_TEMPLATES, u as generateVirtualProject } from "./src-DgYCaMzA.mjs";
|
|
3
3
|
|
|
4
4
|
export { EMBEDDED_TEMPLATES, TEMPLATE_COUNT, VirtualFileSystem, add, builder, create, createBtsCli, createVirtual, docs, generateVirtualProject, history, router, sponsors };
|
|
@@ -122,6 +122,7 @@ const DEFAULT_CONFIG = getDefaultConfig();
|
|
|
122
122
|
const DEFAULT_UI_LIBRARY_BY_FRONTEND = {
|
|
123
123
|
"tanstack-router": "shadcn-ui",
|
|
124
124
|
"react-router": "shadcn-ui",
|
|
125
|
+
"react-vite": "shadcn-ui",
|
|
125
126
|
"tanstack-start": "shadcn-ui",
|
|
126
127
|
next: "shadcn-ui",
|
|
127
128
|
nuxt: "daisyui",
|
|
@@ -739,7 +740,7 @@ function validateApiFrontendCompatibility(api, frontends = [], astroIntegration)
|
|
|
739
740
|
suggestions: [
|
|
740
741
|
"Use --api orpc (works with all frontends)",
|
|
741
742
|
"Use --api none",
|
|
742
|
-
"Choose next, react-router, or tanstack-start"
|
|
743
|
+
"Choose next, react-router, react-vite, or tanstack-start"
|
|
743
744
|
]
|
|
744
745
|
});
|
|
745
746
|
}
|
|
@@ -824,6 +825,7 @@ function validateAddonsAgainstFrontends(addons = [], frontends = [], auth) {
|
|
|
824
825
|
}
|
|
825
826
|
function validatePaymentsCompatibility(payments, auth, _backend, frontends = []) {
|
|
826
827
|
if (!payments || payments === "none") return;
|
|
828
|
+
if (payments === "dodo" && frontends.includes("react-vite")) exitWithError("Dodo Payments are not yet supported for React + Vite projects.");
|
|
827
829
|
if (payments === "polar") {
|
|
828
830
|
if (!auth || auth === "none" || auth !== "better-auth") exitWithError("Polar payments requires Better Auth. Please use '--auth better-auth' or choose a different payments provider.");
|
|
829
831
|
const { web } = splitFrontends$1(frontends);
|
|
@@ -839,10 +841,11 @@ function validateExamplesCompatibility(examples, backend, frontend, runtime, ai)
|
|
|
839
841
|
const frontendArr = frontend ?? [];
|
|
840
842
|
const includesNuxt = frontendArr.includes("nuxt");
|
|
841
843
|
const includesSvelte = frontendArr.includes("svelte");
|
|
842
|
-
if (includesNuxt || includesSvelte) exitWithError("The 'ai' example with Convex backend only supports React-based frontends (Next.js, TanStack Router, TanStack Start, React Router). Svelte and Nuxt are not supported with Convex AI.");
|
|
844
|
+
if (includesNuxt || includesSvelte) exitWithError("The 'ai' example with Convex backend only supports React-based frontends (Next.js, TanStack Router, TanStack Start, React Router, React + Vite). Svelte and Nuxt are not supported with Convex AI.");
|
|
843
845
|
}
|
|
844
846
|
if (examplesArr.includes("chat-sdk")) {
|
|
845
847
|
const frontendArr = frontend ?? [];
|
|
848
|
+
if (frontendArr.includes("react-vite")) exitWithError("The 'chat-sdk' example is not yet supported for React + Vite projects.");
|
|
846
849
|
if (!isExampleChatSdkAllowed$1(backend, frontendArr, runtime)) {
|
|
847
850
|
if (backend === "none") exitWithError("The 'chat-sdk' example requires a backend.");
|
|
848
851
|
if (backend === "convex") exitWithError("The 'chat-sdk' example is not supported with the Convex backend in v1. Use self backend (Next.js, TanStack Start, Nuxt) or Hono with Node runtime.");
|
|
@@ -1701,7 +1704,7 @@ function uniqueValues$1(values) {
|
|
|
1701
1704
|
return Array.from(new Set(values));
|
|
1702
1705
|
}
|
|
1703
1706
|
function hasReactBasedFrontend$1(frontend) {
|
|
1704
|
-
return frontend.includes("react-router") || frontend.includes("tanstack-router") || frontend.includes("tanstack-start") || frontend.includes("next");
|
|
1707
|
+
return frontend.includes("react-router") || frontend.includes("react-vite") || frontend.includes("tanstack-router") || frontend.includes("tanstack-start") || frontend.includes("next");
|
|
1705
1708
|
}
|
|
1706
1709
|
function hasNativeFrontend$1(frontend) {
|
|
1707
1710
|
return frontend.includes("native-bare") || frontend.includes("native-uniwind") || frontend.includes("native-unistyles");
|
|
@@ -2140,7 +2143,7 @@ const AVAILABLE_AGENTS = [
|
|
|
2140
2143
|
}
|
|
2141
2144
|
];
|
|
2142
2145
|
function hasReactBasedFrontend(frontend) {
|
|
2143
|
-
return frontend.includes("react-router") || frontend.includes("tanstack-router") || frontend.includes("tanstack-start") || frontend.includes("next");
|
|
2146
|
+
return frontend.includes("react-router") || frontend.includes("react-vite") || frontend.includes("tanstack-router") || frontend.includes("tanstack-start") || frontend.includes("next");
|
|
2144
2147
|
}
|
|
2145
2148
|
function hasNativeFrontend(frontend) {
|
|
2146
2149
|
return frontend.includes("native-bare") || frontend.includes("native-uniwind") || frontend.includes("native-unistyles");
|
|
@@ -2360,7 +2363,7 @@ async function setupTauri(config) {
|
|
|
2360
2363
|
const hasSvelte = frontend.includes("svelte");
|
|
2361
2364
|
const hasNext = frontend.includes("next");
|
|
2362
2365
|
const devUrl = `http://localhost:${getLocalWebDevPort(frontend)}`;
|
|
2363
|
-
const frontendDist = hasNuxt ? "../.output/public" : hasSvelte ? "../build" : hasNext ? "../.next" : frontend.includes("react-router") ? "../build/client" : "../dist";
|
|
2366
|
+
const frontendDist = hasNuxt ? "../.output/public" : hasSvelte ? "../build" : hasNext ? "../.next" : frontend.includes("react-router") ? "../build/client" : frontend.includes("react-vite") ? "../dist" : "../dist";
|
|
2364
2367
|
const tauriArgs = [
|
|
2365
2368
|
"@tauri-apps/cli@latest",
|
|
2366
2369
|
"init",
|
|
@@ -2491,6 +2494,7 @@ function getFrameworksFromFrontend(frontend) {
|
|
|
2491
2494
|
const frameworkMap = {
|
|
2492
2495
|
"tanstack-router": "react",
|
|
2493
2496
|
"react-router": "react",
|
|
2497
|
+
"react-vite": "react",
|
|
2494
2498
|
"tanstack-start": "react",
|
|
2495
2499
|
next: "next",
|
|
2496
2500
|
nuxt: "vue",
|
|
@@ -2645,7 +2649,7 @@ async function setupWxt(config) {
|
|
|
2645
2649
|
//#region src/helpers/addons/addons-setup.ts
|
|
2646
2650
|
async function setupAddons(config) {
|
|
2647
2651
|
const { addons, frontend, projectDir } = config;
|
|
2648
|
-
const hasReactWebFrontend = frontend.includes("react-router") || frontend.includes("tanstack-router") || frontend.includes("next");
|
|
2652
|
+
const hasReactWebFrontend = frontend.includes("react-router") || frontend.includes("react-vite") || frontend.includes("tanstack-router") || frontend.includes("next");
|
|
2649
2653
|
const hasNuxtFrontend = frontend.includes("nuxt");
|
|
2650
2654
|
const hasSvelteFrontend = frontend.includes("svelte");
|
|
2651
2655
|
const hasSolidFrontend = frontend.includes("solid");
|
|
@@ -3022,6 +3026,7 @@ async function getAnimationChoice(animation, frontends) {
|
|
|
3022
3026
|
const isReact = web.some((f) => [
|
|
3023
3027
|
"tanstack-router",
|
|
3024
3028
|
"react-router",
|
|
3029
|
+
"react-vite",
|
|
3025
3030
|
"tanstack-start",
|
|
3026
3031
|
"next",
|
|
3027
3032
|
"redwood"
|
|
@@ -3753,6 +3758,7 @@ async function getFormsChoice(forms, frontends) {
|
|
|
3753
3758
|
const isReact = web.some((f) => [
|
|
3754
3759
|
"tanstack-router",
|
|
3755
3760
|
"react-router",
|
|
3761
|
+
"react-vite",
|
|
3756
3762
|
"tanstack-start",
|
|
3757
3763
|
"next",
|
|
3758
3764
|
"redwood"
|
|
@@ -3841,6 +3847,11 @@ async function getFrontendChoice(frontendOptions, backend, auth) {
|
|
|
3841
3847
|
label: "React Router",
|
|
3842
3848
|
hint: "A user‑obsessed, standards‑focused, multi‑strategy router"
|
|
3843
3849
|
},
|
|
3850
|
+
{
|
|
3851
|
+
value: "react-vite",
|
|
3852
|
+
label: "React + Vite",
|
|
3853
|
+
hint: "Client-routed React SPA powered by Vite"
|
|
3854
|
+
},
|
|
3844
3855
|
{
|
|
3845
3856
|
value: "next",
|
|
3846
3857
|
label: "Next.js",
|
|
@@ -5254,6 +5265,7 @@ async function getStateManagementChoice(stateManagement, frontends) {
|
|
|
5254
5265
|
const isReact = web.some((f) => [
|
|
5255
5266
|
"tanstack-router",
|
|
5256
5267
|
"react-router",
|
|
5268
|
+
"react-vite",
|
|
5257
5269
|
"tanstack-start",
|
|
5258
5270
|
"next",
|
|
5259
5271
|
"redwood"
|
|
@@ -5487,6 +5499,7 @@ async function getValidationChoice(validation) {
|
|
|
5487
5499
|
const WEB_FRAMEWORKS = [
|
|
5488
5500
|
"tanstack-router",
|
|
5489
5501
|
"react-router",
|
|
5502
|
+
"react-vite",
|
|
5490
5503
|
"tanstack-start",
|
|
5491
5504
|
"next",
|
|
5492
5505
|
"nuxt",
|
|
@@ -5767,7 +5780,7 @@ async function gatherConfig(flags, projectName, projectDir, relativePath) {
|
|
|
5767
5780
|
aiDocs: () => getAiDocsChoice(flags.aiDocs),
|
|
5768
5781
|
git: () => getGitChoice(flags.git),
|
|
5769
5782
|
packageManager: ({ results }) => {
|
|
5770
|
-
if (results.ecosystem === "rust" || results.ecosystem === "python" || results.ecosystem === "go") return Promise.resolve(
|
|
5783
|
+
if (results.ecosystem === "rust" || results.ecosystem === "python" || results.ecosystem === "go") return Promise.resolve(flags.packageManager ?? getUserPkgManager());
|
|
5771
5784
|
return getPackageManagerChoice(flags.packageManager);
|
|
5772
5785
|
},
|
|
5773
5786
|
install: ({ results }) => getinstallChoice(flags.install, results.ecosystem)
|
|
@@ -5779,7 +5792,7 @@ async function gatherConfig(flags, projectName, projectDir, relativePath) {
|
|
|
5779
5792
|
frontend: result.frontend,
|
|
5780
5793
|
astroIntegration: result.astroIntegration,
|
|
5781
5794
|
uiLibrary: result.uiLibrary,
|
|
5782
|
-
...result.shadcnOptions
|
|
5795
|
+
...result.shadcnOptions,
|
|
5783
5796
|
cssFramework: result.cssFramework,
|
|
5784
5797
|
backend: result.backend,
|
|
5785
5798
|
runtime: result.runtime,
|
|
@@ -5992,7 +6005,34 @@ function displayConfig(config) {
|
|
|
5992
6005
|
|
|
5993
6006
|
//#endregion
|
|
5994
6007
|
//#region src/utils/generate-reproducible-command.ts
|
|
5995
|
-
function
|
|
6008
|
+
function getBaseCommand(packageManager) {
|
|
6009
|
+
switch (packageManager) {
|
|
6010
|
+
case "bun": return "bun create better-fullstack@latest";
|
|
6011
|
+
case "pnpm": return "pnpm create better-fullstack@latest";
|
|
6012
|
+
case "npm":
|
|
6013
|
+
default: return "npx create-better-fullstack@latest";
|
|
6014
|
+
}
|
|
6015
|
+
}
|
|
6016
|
+
function formatArrayFlag(flag, values) {
|
|
6017
|
+
const normalizedValues = values.filter((value) => value !== "none");
|
|
6018
|
+
if (normalizedValues.length === 0) return `--${flag} none`;
|
|
6019
|
+
return `--${flag} ${normalizedValues.join(" ")}`;
|
|
6020
|
+
}
|
|
6021
|
+
function appendCommonFlags(flags, config) {
|
|
6022
|
+
if (config.aiDocs && config.aiDocs.length > 0) flags.push(formatArrayFlag("ai-docs", config.aiDocs));
|
|
6023
|
+
else flags.push("--ai-docs none");
|
|
6024
|
+
flags.push(config.git ? "--git" : "--no-git");
|
|
6025
|
+
flags.push(`--package-manager ${config.packageManager}`);
|
|
6026
|
+
flags.push(config.install ? "--install" : "--no-install");
|
|
6027
|
+
}
|
|
6028
|
+
function appendSharedNonTypeScriptFlags(flags, config) {
|
|
6029
|
+
flags.push(formatArrayFlag("addons", config.addons));
|
|
6030
|
+
flags.push(formatArrayFlag("examples", config.examples));
|
|
6031
|
+
flags.push(`--db-setup ${config.dbSetup}`);
|
|
6032
|
+
flags.push(`--web-deploy ${config.webDeploy}`);
|
|
6033
|
+
flags.push(`--server-deploy ${config.serverDeploy}`);
|
|
6034
|
+
}
|
|
6035
|
+
function getTypeScriptFlags(config) {
|
|
5996
6036
|
const flags = [];
|
|
5997
6037
|
if (config.frontend && config.frontend.length > 0) flags.push(`--frontend ${config.frontend.join(" ")}`);
|
|
5998
6038
|
else flags.push("--frontend none");
|
|
@@ -6038,21 +6078,63 @@ function generateReproducibleCommand(config) {
|
|
|
6038
6078
|
flags.push(`--db-setup ${config.dbSetup}`);
|
|
6039
6079
|
flags.push(`--web-deploy ${config.webDeploy}`);
|
|
6040
6080
|
flags.push(`--server-deploy ${config.serverDeploy}`);
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
flags.push(config.
|
|
6047
|
-
flags.push(`--
|
|
6048
|
-
flags.push(config.
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6081
|
+
appendCommonFlags(flags, config);
|
|
6082
|
+
return flags;
|
|
6083
|
+
}
|
|
6084
|
+
function getRustFlags(config) {
|
|
6085
|
+
const flags = ["--ecosystem rust"];
|
|
6086
|
+
flags.push(`--rust-web-framework ${config.rustWebFramework}`);
|
|
6087
|
+
flags.push(`--rust-frontend ${config.rustFrontend}`);
|
|
6088
|
+
flags.push(`--rust-orm ${config.rustOrm}`);
|
|
6089
|
+
flags.push(`--rust-api ${config.rustApi}`);
|
|
6090
|
+
flags.push(`--rust-cli ${config.rustCli}`);
|
|
6091
|
+
flags.push(formatArrayFlag("rust-libraries", config.rustLibraries));
|
|
6092
|
+
appendSharedNonTypeScriptFlags(flags, config);
|
|
6093
|
+
appendCommonFlags(flags, config);
|
|
6094
|
+
return flags;
|
|
6095
|
+
}
|
|
6096
|
+
function getPythonFlags(config) {
|
|
6097
|
+
const flags = ["--ecosystem python"];
|
|
6098
|
+
flags.push(`--python-web-framework ${config.pythonWebFramework}`);
|
|
6099
|
+
flags.push(`--python-orm ${config.pythonOrm}`);
|
|
6100
|
+
flags.push(`--python-validation ${config.pythonValidation}`);
|
|
6101
|
+
flags.push(formatArrayFlag("python-ai", config.pythonAi));
|
|
6102
|
+
flags.push(`--python-task-queue ${config.pythonTaskQueue}`);
|
|
6103
|
+
flags.push(`--python-quality ${config.pythonQuality}`);
|
|
6104
|
+
appendSharedNonTypeScriptFlags(flags, config);
|
|
6105
|
+
appendCommonFlags(flags, config);
|
|
6106
|
+
return flags;
|
|
6107
|
+
}
|
|
6108
|
+
function getGoFlags(config) {
|
|
6109
|
+
const flags = ["--ecosystem go"];
|
|
6110
|
+
flags.push(`--go-web-framework ${config.goWebFramework}`);
|
|
6111
|
+
flags.push(`--go-orm ${config.goOrm}`);
|
|
6112
|
+
flags.push(`--go-api ${config.goApi}`);
|
|
6113
|
+
flags.push(`--go-cli ${config.goCli}`);
|
|
6114
|
+
flags.push(`--go-logging ${config.goLogging}`);
|
|
6115
|
+
flags.push(`--auth ${config.auth}`);
|
|
6116
|
+
appendSharedNonTypeScriptFlags(flags, config);
|
|
6117
|
+
appendCommonFlags(flags, config);
|
|
6118
|
+
return flags;
|
|
6119
|
+
}
|
|
6120
|
+
function generateReproducibleCommand(config) {
|
|
6121
|
+
let flags;
|
|
6122
|
+
switch (config.ecosystem) {
|
|
6123
|
+
case "rust":
|
|
6124
|
+
flags = getRustFlags(config);
|
|
6125
|
+
break;
|
|
6126
|
+
case "python":
|
|
6127
|
+
flags = getPythonFlags(config);
|
|
6128
|
+
break;
|
|
6129
|
+
case "go":
|
|
6130
|
+
flags = getGoFlags(config);
|
|
6131
|
+
break;
|
|
6132
|
+
case "typescript":
|
|
6133
|
+
default:
|
|
6134
|
+
flags = getTypeScriptFlags(config);
|
|
6135
|
+
break;
|
|
6136
|
+
}
|
|
6137
|
+
return `${getBaseCommand(config.packageManager)}${config.relativePath ? ` ${config.relativePath}` : ""} ${flags.join(" ")}`;
|
|
6056
6138
|
}
|
|
6057
6139
|
|
|
6058
6140
|
//#endregion
|
|
@@ -8116,7 +8198,7 @@ async function displayPostInstallInstructions(config) {
|
|
|
8116
8198
|
const lefthookInstructions = hasLefthook ? getLefthookInstructions(packageManager) : "";
|
|
8117
8199
|
const lintingInstructions = hasGitHooksOrLinting ? getLintingInstructions(runCmd) : "";
|
|
8118
8200
|
const nativeInstructions = (frontend?.includes("native-bare") || frontend?.includes("native-uniwind") || frontend?.includes("native-unistyles")) && backend !== "none" ? getNativeInstructions(isConvex, isBackendSelf, frontend || [], runCmd) : "";
|
|
8119
|
-
const pwaInstructions = addons?.includes("pwa") && frontend?.includes("react-router") ? getPwaInstructions() : "";
|
|
8201
|
+
const pwaInstructions = addons?.includes("pwa") && (frontend?.includes("react-router") || frontend?.includes("react-vite")) ? getPwaInstructions() : "";
|
|
8120
8202
|
const starlightInstructions = addons?.includes("starlight") ? getStarlightInstructions(runCmd) : "";
|
|
8121
8203
|
const clerkInstructions = config.auth === "clerk" ? getClerkInstructions(config.backend, config.frontend ?? []) : "";
|
|
8122
8204
|
const polarInstructions = config.payments === "polar" && config.auth === "better-auth" ? getPolarInstructions(backend) : "";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-fullstack",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.9",
|
|
4
4
|
"description": "A CLI-first toolkit for building Full Stack applications. Skip the configuration. Ship the code.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"better-auth",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"prepublishOnly": "npm run build"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@better-fullstack/template-generator": "^1.4.
|
|
80
|
-
"@better-fullstack/types": "^1.4.
|
|
79
|
+
"@better-fullstack/template-generator": "^1.4.9",
|
|
80
|
+
"@better-fullstack/types": "^1.4.9",
|
|
81
81
|
"@clack/core": "^0.5.0",
|
|
82
82
|
"@clack/prompts": "^1.0.0-alpha.8",
|
|
83
83
|
"@orpc/server": "^1.13.0",
|