bunkit-cli 1.3.0 → 1.3.2
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.js +97 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -15459,7 +15459,11 @@ function createTemplateContext(config) {
|
|
|
15459
15459
|
envExample: config.envExample,
|
|
15460
15460
|
pathAliases: config.pathAliases,
|
|
15461
15461
|
shadcnStyle: config.shadcnStyle,
|
|
15462
|
+
shadcnBase: config.shadcnBase,
|
|
15462
15463
|
shadcnBaseColor: config.shadcnBaseColor,
|
|
15464
|
+
shadcnIconLibrary: config.shadcnIconLibrary,
|
|
15465
|
+
shadcnMenuAccent: config.shadcnMenuAccent,
|
|
15466
|
+
shadcnMenuColor: config.shadcnMenuColor,
|
|
15463
15467
|
shadcnRadius: config.shadcnRadius,
|
|
15464
15468
|
supabasePreset: config.supabasePreset,
|
|
15465
15469
|
supabaseFeatures: config.supabaseFeatures,
|
|
@@ -31071,11 +31075,11 @@ async function buildUiPackage(packagesPath, options) {
|
|
|
31071
31075
|
},
|
|
31072
31076
|
iconLibrary,
|
|
31073
31077
|
aliases: {
|
|
31074
|
-
components: "
|
|
31075
|
-
utils: "
|
|
31076
|
-
ui: "
|
|
31077
|
-
lib: "
|
|
31078
|
-
hooks: "
|
|
31078
|
+
components: "@/components",
|
|
31079
|
+
utils: "@/lib/utils",
|
|
31080
|
+
ui: "@/components/ui",
|
|
31081
|
+
lib: "@/lib",
|
|
31082
|
+
hooks: "@/hooks"
|
|
31079
31083
|
}
|
|
31080
31084
|
};
|
|
31081
31085
|
if (useModernStyle) {
|
|
@@ -33250,6 +33254,90 @@ async function enhancedInitCommand(options = {}) {
|
|
|
33250
33254
|
shadcnIconLibrary = isModernShadcnStyle ? "phosphor" : "iconoir";
|
|
33251
33255
|
}
|
|
33252
33256
|
}
|
|
33257
|
+
let shadcnBase = getOptionValue("BUNKIT_SHADCN_BASE", options.shadcnBase);
|
|
33258
|
+
if (!shadcnBase && uiLibrary === "shadcn" && isModernShadcnStyle) {
|
|
33259
|
+
if (!isNonInteractive) {
|
|
33260
|
+
shadcnBase = await ve({
|
|
33261
|
+
message: "\uD83E\uDDF1 Component foundation",
|
|
33262
|
+
options: [
|
|
33263
|
+
{
|
|
33264
|
+
value: "radix",
|
|
33265
|
+
label: "Radix UI (Recommended)",
|
|
33266
|
+
hint: "Battle-tested accessibility primitives - industry standard"
|
|
33267
|
+
},
|
|
33268
|
+
{
|
|
33269
|
+
value: "base-ui",
|
|
33270
|
+
label: "Base UI",
|
|
33271
|
+
hint: "Modern alternative with similar API - newer, experimental"
|
|
33272
|
+
}
|
|
33273
|
+
]
|
|
33274
|
+
});
|
|
33275
|
+
if (pD(shadcnBase)) {
|
|
33276
|
+
xe("Operation cancelled.");
|
|
33277
|
+
process.exit(0);
|
|
33278
|
+
}
|
|
33279
|
+
} else {
|
|
33280
|
+
shadcnBase = "radix";
|
|
33281
|
+
}
|
|
33282
|
+
} else if (!shadcnBase) {
|
|
33283
|
+
shadcnBase = "radix";
|
|
33284
|
+
}
|
|
33285
|
+
let shadcnMenuAccent = getOptionValue("BUNKIT_SHADCN_MENU_ACCENT", options.shadcnMenuAccent);
|
|
33286
|
+
if (!shadcnMenuAccent && uiLibrary === "shadcn" && isModernShadcnStyle) {
|
|
33287
|
+
if (!isNonInteractive) {
|
|
33288
|
+
shadcnMenuAccent = await ve({
|
|
33289
|
+
message: "\u2728 Menu accent style",
|
|
33290
|
+
options: [
|
|
33291
|
+
{
|
|
33292
|
+
value: "subtle",
|
|
33293
|
+
label: "Subtle (Recommended)",
|
|
33294
|
+
hint: "Soft accent colors - elegant and understated"
|
|
33295
|
+
},
|
|
33296
|
+
{
|
|
33297
|
+
value: "bold",
|
|
33298
|
+
label: "Bold",
|
|
33299
|
+
hint: "Strong accent colors - vibrant and eye-catching"
|
|
33300
|
+
}
|
|
33301
|
+
]
|
|
33302
|
+
});
|
|
33303
|
+
if (pD(shadcnMenuAccent)) {
|
|
33304
|
+
xe("Operation cancelled.");
|
|
33305
|
+
process.exit(0);
|
|
33306
|
+
}
|
|
33307
|
+
} else {
|
|
33308
|
+
shadcnMenuAccent = "subtle";
|
|
33309
|
+
}
|
|
33310
|
+
} else if (!shadcnMenuAccent) {
|
|
33311
|
+
shadcnMenuAccent = "subtle";
|
|
33312
|
+
}
|
|
33313
|
+
let shadcnMenuColor = getOptionValue("BUNKIT_SHADCN_MENU_COLOR", options.shadcnMenuColor);
|
|
33314
|
+
if (!shadcnMenuColor && uiLibrary === "shadcn" && isModernShadcnStyle) {
|
|
33315
|
+
if (!isNonInteractive) {
|
|
33316
|
+
shadcnMenuColor = await ve({
|
|
33317
|
+
message: "\uD83C\uDFAF Menu color scheme",
|
|
33318
|
+
options: [
|
|
33319
|
+
{
|
|
33320
|
+
value: "default",
|
|
33321
|
+
label: "Default (Recommended)",
|
|
33322
|
+
hint: "Standard menu colors - balanced and consistent"
|
|
33323
|
+
},
|
|
33324
|
+
{
|
|
33325
|
+
value: "muted",
|
|
33326
|
+
label: "Muted",
|
|
33327
|
+
hint: "Subdued menu colors - softer and more subtle"
|
|
33328
|
+
}
|
|
33329
|
+
]
|
|
33330
|
+
});
|
|
33331
|
+
if (pD(shadcnMenuColor)) {
|
|
33332
|
+
xe("Operation cancelled.");
|
|
33333
|
+
process.exit(0);
|
|
33334
|
+
}
|
|
33335
|
+
} else {
|
|
33336
|
+
shadcnMenuColor = "default";
|
|
33337
|
+
}
|
|
33338
|
+
} else if (!shadcnMenuColor) {
|
|
33339
|
+
shadcnMenuColor = "default";
|
|
33340
|
+
}
|
|
33253
33341
|
let testing = getOptionValue("BUNKIT_TESTING", options.testing, "bun-test");
|
|
33254
33342
|
if (!testing) {
|
|
33255
33343
|
if (!isNonInteractive) {
|
|
@@ -33490,11 +33578,11 @@ async function enhancedInitCommand(options = {}) {
|
|
|
33490
33578
|
envExample: true,
|
|
33491
33579
|
pathAliases: true,
|
|
33492
33580
|
shadcnStyle,
|
|
33493
|
-
shadcnBase
|
|
33581
|
+
shadcnBase,
|
|
33494
33582
|
shadcnBaseColor,
|
|
33495
33583
|
shadcnIconLibrary,
|
|
33496
|
-
shadcnMenuAccent
|
|
33497
|
-
shadcnMenuColor
|
|
33584
|
+
shadcnMenuAccent,
|
|
33585
|
+
shadcnMenuColor,
|
|
33498
33586
|
shadcnRadius,
|
|
33499
33587
|
supabasePreset,
|
|
33500
33588
|
supabaseFeatures,
|
|
@@ -33823,7 +33911,7 @@ Examples:
|
|
|
33823
33911
|
|
|
33824
33912
|
For more information, visit: https://github.com/Arakiss/bunkit
|
|
33825
33913
|
`);
|
|
33826
|
-
program2.command("init").description("Create a new project with full customization options").alias("i").option("--name <name>", "Project name (kebab-case recommended, e.g., my-awesome-app)").option("--preset <preset>", "Project preset: minimal | nextjs | hono-api | bun-api | bun-fullstack | nextjs-monorepo | bun-monorepo | enterprise-monorepo").option("--database <database>", "Database option: postgres-drizzle | postgres-prisma | mysql-drizzle | mysql-prisma | supabase | supabase-drizzle | supabase-prisma | sqlite-drizzle | sqlite-prisma | none").option("--auth <auth>", "Authentication system: better-auth | nextauth | supabase | none").option("--redis", "Enable Redis cache/session store").option("--use-bun-secrets", "Use Bun.secrets API instead of .env files").option("--supabase-preset <preset>", "Supabase configuration preset: full-stack | auth-only | database-only | custom").option("--supabase-features <features>", "Comma-separated Supabase features: auth,storage,realtime,edge-functions,database").option("--code-quality <tool>", "Code quality tool: ultracite | biome").option("--ts-strictness <level>", "TypeScript strictness level: strict | moderate | loose").option("--ui-library <library>", "UI component library: shadcn | none").option("--css-framework <framework>", "CSS framework: tailwind | vanilla | css-modules").option("--shadcn-style <style>", "shadcn/ui
|
|
33914
|
+
program2.command("init").description("Create a new project with full customization options").alias("i").option("--name <name>", "Project name (kebab-case recommended, e.g., my-awesome-app)").option("--preset <preset>", "Project preset: minimal | nextjs | hono-api | bun-api | bun-fullstack | nextjs-monorepo | bun-monorepo | enterprise-monorepo").option("--database <database>", "Database option: postgres-drizzle | postgres-prisma | mysql-drizzle | mysql-prisma | supabase | supabase-drizzle | supabase-prisma | sqlite-drizzle | sqlite-prisma | none").option("--auth <auth>", "Authentication system: better-auth | nextauth | supabase | none").option("--redis", "Enable Redis cache/session store").option("--use-bun-secrets", "Use Bun.secrets API instead of .env files").option("--supabase-preset <preset>", "Supabase configuration preset: full-stack | auth-only | database-only | custom").option("--supabase-features <features>", "Comma-separated Supabase features: auth,storage,realtime,edge-functions,database").option("--code-quality <tool>", "Code quality tool: ultracite | biome").option("--ts-strictness <level>", "TypeScript strictness level: strict | moderate | loose").option("--ui-library <library>", "UI component library: shadcn | none").option("--css-framework <framework>", "CSS framework: tailwind | vanilla | css-modules").option("--shadcn-style <style>", "shadcn/ui style: radix-maia | radix-vega | radix-nova | radix-lyra | radix-mira | new-york | default").option("--shadcn-base <base>", "shadcn/ui component foundation: radix | base-ui").option("--shadcn-base-color <color>", "shadcn/ui base color theme: zinc | slate | stone | gray | neutral").option("--shadcn-icon-library <library>", "shadcn/ui icon library: phosphor | lucide | iconoir").option("--shadcn-menu-accent <accent>", "shadcn/ui menu accent style: subtle | bold").option("--shadcn-menu-color <color>", "shadcn/ui menu color: default | muted").option("--shadcn-radius <radius>", "shadcn/ui border radius (CSS value, e.g., 0.5rem, 0.625rem)").option("--testing <framework>", "Testing framework: bun-test | vitest | none").option("--docker", "Include Docker configuration files").option("--cicd", "Include GitHub Actions CI/CD workflow").option("--no-git", "Skip Git repository initialization").option("--no-install", "Skip dependency installation after project creation").option("--non-interactive", "Run in non-interactive mode (requires all options via flags)").option("--save-preset <name>", "Save current configuration as a custom preset").option("--load-preset <name>", "Load configuration from a custom preset").addHelpText("after", `
|
|
33827
33915
|
Examples:
|
|
33828
33916
|
$ bunkit init Interactive project creation
|
|
33829
33917
|
$ bunkit init --name my-app --preset nextjs Quick web app creation
|