create-fullstack-scaffold 0.4.1 → 0.4.3

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/index.js CHANGED
@@ -283,10 +283,7 @@ function getGeneratedFiles(resolved) {
283
283
  if (!resolved.modules.has("admin") && resolved.hasPermission) {
284
284
  files.push("src/server/utils/auth.ts");
285
285
  }
286
- const seedModules = ["order", "ticket", "dispute", "content"];
287
- if (seedModules.some((m) => !resolved.modules.has(m)) || !resolved.hasPermission) {
288
- files.push("src/server/db/init.ts");
289
- }
286
+ files.push("src/server/db/init.ts");
290
287
  return files;
291
288
  }
292
289
 
@@ -699,25 +696,35 @@ function generateDbSchemaBarrel(resolved) {
699
696
 
700
697
  // src/generators/db-init.ts
701
698
  var SEED_MODULES = [
699
+ {
700
+ module: "todos",
701
+ importLine: "",
702
+ call: "import('../module-todos/services/todo-service').then(m => m.seedTodosIfEmpty())"
703
+ },
702
704
  {
703
705
  module: "order",
704
- importLine: "import { seedOrdersIfEmpty } from '../module-order/services/order-service'",
705
- call: "seedOrdersIfEmpty()"
706
+ importLine: "",
707
+ call: "import('../module-order/services/order-service').then(m => m.seedOrdersIfEmpty())"
706
708
  },
707
709
  {
708
710
  module: "ticket",
709
- importLine: "import { seedTicketsIfEmpty } from '../module-ticket/services/ticket-service'",
710
- call: "seedTicketsIfEmpty()"
711
+ importLine: "",
712
+ call: "import('../module-ticket/services/ticket-service').then(m => m.seedTicketsIfEmpty())"
711
713
  },
712
714
  {
713
715
  module: "dispute",
714
- importLine: "import { seedDisputesIfEmpty } from '../module-dispute/services/dispute-service'",
715
- call: "seedDisputesIfEmpty()"
716
+ importLine: "",
717
+ call: "import('../module-dispute/services/dispute-service').then(m => m.seedDisputesIfEmpty())"
716
718
  },
717
719
  {
718
720
  module: "content",
719
- importLine: "import { seedContentsIfEmpty } from '../module-content/services/content-service'",
720
- call: "seedContentsIfEmpty()"
721
+ importLine: "",
722
+ call: "import('../module-content/services/content-service').then(m => m.seedContentsIfEmpty())"
723
+ },
724
+ {
725
+ module: "tenant",
726
+ importLine: "",
727
+ call: "import('../module-tenant/services/tenant-service').then(m => m.seedTenantsIfEmpty())"
721
728
  }
722
729
  ];
723
730
  var INITIAL_PERMISSIONS = `const initialPermissions = [
@@ -1067,11 +1074,18 @@ var INITIAL_ROLE_PERMISSIONS = `const initialRolePermissions = [
1067
1074
  function generateDbInit(resolved) {
1068
1075
  const activeSeeds = SEED_MODULES.filter((s) => resolved.modules.has(s.module));
1069
1076
  if (!resolved.hasPermission) {
1070
- return generateMinimalDbInit();
1077
+ return generateMinimalDbInit(activeSeeds);
1071
1078
  }
1072
1079
  return generateFullDbInit(activeSeeds);
1073
1080
  }
1074
- function generateMinimalDbInit() {
1081
+ function generateMinimalDbInit(activeSeeds) {
1082
+ const seedCalls = activeSeeds.map((s) => ` ${s.call},`).join("\n");
1083
+ const seedBlock = activeSeeds.length > 0 ? `
1084
+ log.info({}, 'Seeding module data...')
1085
+ await Promise.all([
1086
+ ${seedCalls}
1087
+ ])
1088
+ log.info({}, 'Module data seeding complete!')` : "";
1075
1089
  return `import { getDb } from './driver'
1076
1090
  import { logger } from '../utils/logger'
1077
1091
 
@@ -1081,13 +1095,13 @@ export async function initializeDatabase() {
1081
1095
  await getDb()
1082
1096
 
1083
1097
  log.info({}, 'Initializing database...')
1084
- log.info({}, 'Database initialization complete!')
1098
+
1099
+ log.info({}, 'Database initialization complete!')${seedBlock}
1085
1100
  }
1086
1101
  `;
1087
1102
  }
1088
1103
  function generateFullDbInit(activeSeeds) {
1089
- const seedImports = activeSeeds.map((s) => s.importLine).join("\n");
1090
- const seedCalls = activeSeeds.map((s) => ` ${s.call}(),`).join("\n");
1104
+ const seedCalls = activeSeeds.map((s) => ` ${s.call},`).join("\n");
1091
1105
  const seedBlock = activeSeeds.length > 0 ? `
1092
1106
  log.info({}, 'Seeding module data...')
1093
1107
  await Promise.all([
@@ -1097,7 +1111,6 @@ ${seedCalls}
1097
1111
  return `import { getDb } from './driver'
1098
1112
  import { permissions, roles, rolePermissions } from './schema'
1099
1113
  import { logger } from '../utils/logger'
1100
- ${seedImports}
1101
1114
 
1102
1115
  const log = logger.db()
1103
1116
 
@@ -2380,6 +2393,7 @@ function filterPackageJson(pkg, resolved) {
2380
2393
  delete scripts["dev:plugin"];
2381
2394
  delete scripts["dev:ecommerce"];
2382
2395
  delete scripts["dev:community"];
2396
+ delete scripts["dev:forum"];
2383
2397
  delete scripts["dev:saas"];
2384
2398
  delete scripts["dev:cf"];
2385
2399
  delete scripts["deploy:cf"];
@@ -2410,6 +2424,7 @@ function getPresetType(presetId) {
2410
2424
  "xbrowser-marketplace": "plugin",
2411
2425
  ecommerce: "ecommerce",
2412
2426
  "fullstack-admin": "saas",
2427
+ forum: "community",
2413
2428
  minimal: "todo"
2414
2429
  };
2415
2430
  return map[presetId] || "todo";
@@ -2894,6 +2909,7 @@ function getPresetType2(presetId) {
2894
2909
  "xbrowser-marketplace": "plugin",
2895
2910
  ecommerce: "ecommerce",
2896
2911
  "fullstack-admin": "saas",
2912
+ forum: "community",
2897
2913
  minimal: "todo"
2898
2914
  };
2899
2915
  return map[presetId] || "todo";