create-kofi-stack 1.2.9 → 1.2.10

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.
Files changed (2) hide show
  1. package/dist/index.js +43 -17
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  import { Command } from "commander";
5
5
  import pc4 from "picocolors";
6
6
  import gradient from "gradient-string";
7
+ import { createRequire } from "module";
7
8
 
8
9
  // src/prompts/index.ts
9
10
  import * as p5 from "@clack/prompts";
@@ -866,7 +867,7 @@ async function generatePackageJson(config, appDir) {
866
867
  if (config.integrations.monitoring === "sentry") {
867
868
  dependencies["@sentry/nextjs"] = "^10.0.0";
868
869
  }
869
- const packageJson = {
870
+ const packageJson2 = {
870
871
  name: isMonorepo ? "@repo/web" : config.name,
871
872
  version: "0.1.0",
872
873
  private: true,
@@ -887,7 +888,7 @@ async function generatePackageJson(config, appDir) {
887
888
  dependencies,
888
889
  devDependencies
889
890
  };
890
- await writeJSON(path3.join(appDir, "package.json"), packageJson);
891
+ await writeJSON(path3.join(appDir, "package.json"), packageJson2);
891
892
  }
892
893
  async function generateNextConfig(config, appDir) {
893
894
  const isMonorepo = config.structure === "monorepo";
@@ -1983,7 +1984,7 @@ export const updateUserProfile = mutation({
1983
1984
  await writeFile(path6.join(convexDir, "users.ts"), content);
1984
1985
  }
1985
1986
  async function generateConvexPackageJson(convexDir) {
1986
- const packageJson = {
1987
+ const packageJson2 = {
1987
1988
  name: "@repo/backend",
1988
1989
  version: "0.1.0",
1989
1990
  private: true,
@@ -1998,7 +1999,7 @@ async function generateConvexPackageJson(convexDir) {
1998
1999
  }
1999
2000
  };
2000
2001
  const backendDir = path6.dirname(convexDir);
2001
- await writeJSON(path6.join(backendDir, "package.json"), packageJson);
2002
+ await writeJSON(path6.join(backendDir, "package.json"), packageJson2);
2002
2003
  }
2003
2004
  async function generateConvexTsConfig(convexDir) {
2004
2005
  const tsConfig = {
@@ -2946,7 +2947,7 @@ async function generateTurborepo(config, targetDir) {
2946
2947
  await generateSharedConfigs(targetDir);
2947
2948
  }
2948
2949
  async function generateRootPackageJson(config, targetDir) {
2949
- const packageJson = {
2950
+ const packageJson2 = {
2950
2951
  name: config.name,
2951
2952
  version: "0.1.0",
2952
2953
  private: true,
@@ -2973,7 +2974,7 @@ async function generateRootPackageJson(config, targetDir) {
2973
2974
  "*.{json,md}": ["biome format --write"]
2974
2975
  }
2975
2976
  };
2976
- await writeJSON(path14.join(targetDir, "package.json"), packageJson);
2977
+ await writeJSON(path14.join(targetDir, "package.json"), packageJson2);
2977
2978
  }
2978
2979
  async function generateTurboJson(targetDir) {
2979
2980
  const turboJson = {
@@ -3136,7 +3137,7 @@ async function generateUIPackage(config, targetDir) {
3136
3137
  const uiDir = path14.join(targetDir, "packages/ui");
3137
3138
  await ensureDir(path14.join(uiDir, "src/components/ui"));
3138
3139
  await ensureDir(path14.join(uiDir, "src/lib"));
3139
- const packageJson = {
3140
+ const packageJson2 = {
3140
3141
  name: "@repo/ui",
3141
3142
  version: "0.1.0",
3142
3143
  private: true,
@@ -3171,7 +3172,7 @@ async function generateUIPackage(config, targetDir) {
3171
3172
  react: "^19.0.0"
3172
3173
  }
3173
3174
  };
3174
- await writeJSON(path14.join(uiDir, "package.json"), packageJson);
3175
+ await writeJSON(path14.join(uiDir, "package.json"), packageJson2);
3175
3176
  const tsConfig = {
3176
3177
  extends: "@repo/config-typescript/base.json",
3177
3178
  compilerOptions: {
@@ -3241,7 +3242,7 @@ async function generatePayload(config, marketingDir) {
3241
3242
  await generatePayloadEnv(marketingDir);
3242
3243
  }
3243
3244
  async function generatePayloadPackageJson(marketingDir) {
3244
- const packageJson = {
3245
+ const packageJson2 = {
3245
3246
  name: "@repo/marketing",
3246
3247
  version: "0.1.0",
3247
3248
  private: true,
@@ -3279,7 +3280,7 @@ async function generatePayloadPackageJson(marketingDir) {
3279
3280
  tsx: "^4.0.0"
3280
3281
  }
3281
3282
  };
3282
- await writeJSON(path15.join(marketingDir, "package.json"), packageJson);
3283
+ await writeJSON(path15.join(marketingDir, "package.json"), packageJson2);
3283
3284
  }
3284
3285
  async function generatePayloadConfig(config, marketingDir) {
3285
3286
  const content = `import path from 'path'
@@ -4221,7 +4222,7 @@ async function generateFumadocs(config, docsDir) {
4221
4222
  await generateFumadocsContent(config, docsDir);
4222
4223
  }
4223
4224
  async function generateFumadocsPackageJson(docsDir) {
4224
- const packageJson = {
4225
+ const packageJson2 = {
4225
4226
  name: "@repo/docs",
4226
4227
  version: "0.1.0",
4227
4228
  private: true,
@@ -4254,7 +4255,7 @@ async function generateFumadocsPackageJson(docsDir) {
4254
4255
  typescript: "^5.0.0"
4255
4256
  }
4256
4257
  };
4257
- await writeJSON(path16.join(docsDir, "package.json"), packageJson);
4258
+ await writeJSON(path16.join(docsDir, "package.json"), packageJson2);
4258
4259
  }
4259
4260
  async function generateFumadocsNextConfig(docsDir) {
4260
4261
  const content = `import { createMDX } from 'fumadocs-mdx/next'
@@ -4799,7 +4800,7 @@ async function generateDesignSystemApp(config, targetDir) {
4799
4800
  await generateUtils(appDir);
4800
4801
  }
4801
4802
  async function generatePackageJson2(config, appDir) {
4802
- const packageJson = {
4803
+ const packageJson2 = {
4803
4804
  name: "@repo/design-system",
4804
4805
  version: "0.1.0",
4805
4806
  private: true,
@@ -4834,7 +4835,7 @@ async function generatePackageJson2(config, appDir) {
4834
4835
  typescript: "^5.0.0"
4835
4836
  }
4836
4837
  };
4837
- await writeJSON(path17.join(appDir, "package.json"), packageJson);
4838
+ await writeJSON(path17.join(appDir, "package.json"), packageJson2);
4838
4839
  }
4839
4840
  async function generateTsConfig2(appDir) {
4840
4841
  const tsConfig = {
@@ -7042,7 +7043,7 @@ async function generateNextjsMarketing(config, marketingDir) {
7042
7043
  await ensureDir(path19.join(marketingDir, "src/app"));
7043
7044
  await ensureDir(path19.join(marketingDir, "src/components"));
7044
7045
  await ensureDir(path19.join(marketingDir, "public"));
7045
- const packageJson = {
7046
+ const packageJson2 = {
7046
7047
  name: "@repo/marketing",
7047
7048
  version: "0.1.0",
7048
7049
  private: true,
@@ -7073,7 +7074,7 @@ async function generateNextjsMarketing(config, marketingDir) {
7073
7074
  };
7074
7075
  await writeFile(
7075
7076
  path19.join(marketingDir, "package.json"),
7076
- JSON.stringify(packageJson, null, 2)
7077
+ JSON.stringify(packageJson2, null, 2)
7077
7078
  );
7078
7079
  const homePageContent = `export default function HomePage() {
7079
7080
  return (
@@ -7213,6 +7214,8 @@ function displaySuccessMessage(config) {
7213
7214
  }
7214
7215
 
7215
7216
  // src/index.ts
7217
+ var require2 = createRequire(import.meta.url);
7218
+ var packageJson = require2("../package.json");
7216
7219
  var BANNER = `
7217
7220
  \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557
7218
7221
  \u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u255D
@@ -7231,7 +7234,7 @@ function printBanner() {
7231
7234
  var program = new Command();
7232
7235
  program.name("create-kofi-stack").description(
7233
7236
  "Scaffold opinionated full-stack projects with Next.js, Convex, Better-Auth, and more"
7234
- ).version("1.0.0").argument("[project-name]", "Name of the project").option("--monorepo", "Use monorepo structure with Turborepo").option("--single", "Use single app structure").option(
7237
+ ).version(packageJson.version).argument("[project-name]", "Name of the project").option("--monorepo", "Use monorepo structure with Turborepo").option("--single", "Use single app structure").option(
7235
7238
  "--marketing <type>",
7236
7239
  "Marketing site type: payload, nextjs, none"
7237
7240
  ).option("--docs", "Include documentation site (Fumadocs)").option("--no-docs", "Exclude documentation site").option(
@@ -7266,4 +7269,27 @@ program.name("create-kofi-stack").description(
7266
7269
  process.exit(1);
7267
7270
  }
7268
7271
  });
7272
+ program.command("update").description("Update create-kofi-stack to the latest version").action(async () => {
7273
+ const { execa: execa3 } = await import("execa");
7274
+ console.log(pc4.cyan("Checking for updates...\n"));
7275
+ try {
7276
+ const { stdout: latestVersion } = await execa3("npm", ["view", "create-kofi-stack", "version"]);
7277
+ const currentVersion = packageJson.version;
7278
+ if (latestVersion.trim() === currentVersion) {
7279
+ console.log(pc4.green(`\u2713 You're already on the latest version (${currentVersion})`));
7280
+ return;
7281
+ }
7282
+ console.log(pc4.dim(`Current version: ${currentVersion}`));
7283
+ console.log(pc4.dim(`Latest version: ${latestVersion.trim()}
7284
+ `));
7285
+ console.log(pc4.cyan("Updating...\n"));
7286
+ await execa3("npm", ["install", "-g", "create-kofi-stack@latest"], { stdio: "inherit" });
7287
+ console.log(pc4.green(`
7288
+ \u2713 Successfully updated to v${latestVersion.trim()}`));
7289
+ } catch (error) {
7290
+ console.error(pc4.red("Failed to update. Try running manually:"));
7291
+ console.log(pc4.dim(" npm install -g create-kofi-stack@latest"));
7292
+ process.exit(1);
7293
+ }
7294
+ });
7269
7295
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-kofi-stack",
3
- "version": "1.2.9",
3
+ "version": "1.2.10",
4
4
  "description": "Scaffold opinionated full-stack projects with Next.js, Convex, Better-Auth, and more",
5
5
  "type": "module",
6
6
  "bin": {