@infuro/cms-core 1.0.34 → 1.0.36

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 (152) hide show
  1. package/README.md +13 -0
  2. package/dist/OrderTrackPage-W3J6WIG2.js +426 -0
  3. package/dist/OrderTrackPage-Z6FCJQYY.cjs +428 -0
  4. package/dist/admin.cjs +35254 -21613
  5. package/dist/admin.d.cts +192 -9
  6. package/dist/admin.d.ts +192 -9
  7. package/dist/admin.js +34301 -20755
  8. package/dist/api.cjs +137 -17531
  9. package/dist/api.d.cts +633 -3
  10. package/dist/api.d.ts +633 -3
  11. package/dist/api.js +15 -17528
  12. package/dist/auth.cjs +192 -1034
  13. package/dist/auth.d.cts +197 -54
  14. package/dist/auth.d.ts +197 -54
  15. package/dist/auth.js +4 -966
  16. package/dist/chunk-2AEVFOQP.cjs +30436 -0
  17. package/dist/chunk-3DZRIZOD.cjs +52 -0
  18. package/dist/chunk-5ELSW2UP.js +150 -0
  19. package/dist/chunk-7NMT3GBR.cjs +29 -0
  20. package/dist/chunk-COBORIJH.cjs +2373 -0
  21. package/dist/chunk-CRFV5WJK.js +16 -0
  22. package/dist/chunk-D5FBNKQM.cjs +104 -0
  23. package/dist/chunk-FG6I64HP.js +604 -0
  24. package/dist/chunk-GO7PPYNU.js +76 -0
  25. package/dist/chunk-HCIRL37O.js +21 -0
  26. package/dist/chunk-HF3L2GIT.cjs +194 -0
  27. package/dist/chunk-HT5DI3XW.cjs +82 -0
  28. package/dist/chunk-JC6DLWTE.js +21 -0
  29. package/dist/chunk-JS2W7XZ4.js +30312 -0
  30. package/dist/chunk-JXF23MPG.js +25 -0
  31. package/dist/chunk-KFFB6EMZ.js +123 -0
  32. package/dist/chunk-KPKFNLQQ.cjs +648 -0
  33. package/dist/chunk-LI2IXVAY.js +171 -0
  34. package/dist/chunk-MQBT33IV.js +48 -0
  35. package/dist/chunk-OOTLNH63.cjs +18 -0
  36. package/dist/chunk-PNOKNSG2.cjs +222 -0
  37. package/dist/chunk-SHUYVCID.js +4 -0
  38. package/dist/chunk-SPQFNIYJ.cjs +132 -0
  39. package/dist/chunk-SYBOCAWB.js +97 -0
  40. package/dist/chunk-TDV6EJHV.js +192 -0
  41. package/dist/chunk-UCKN4BBY.cjs +24 -0
  42. package/dist/chunk-UF3BYUXY.js +616 -0
  43. package/dist/chunk-UPLVMVRX.cjs +23 -0
  44. package/dist/chunk-USNT2KNT.cjs +6 -0
  45. package/dist/chunk-VMY2S32H.js +2342 -0
  46. package/dist/chunk-WEMDMVHQ.js +216 -0
  47. package/dist/chunk-WO2DW4AU.cjs +182 -0
  48. package/dist/chunk-X47PBV4I.js +79 -0
  49. package/dist/chunk-X6H5VBQ2.cjs +620 -0
  50. package/dist/chunk-XQ3QUHWR.cjs +83 -0
  51. package/dist/chunk-XW5ATPRW.cjs +155 -0
  52. package/dist/cli.cjs +107 -86
  53. package/dist/cli.js +66 -29
  54. package/dist/email-queue-CGZBVVAS.js +2 -0
  55. package/dist/email-queue-TPZWLTIV.cjs +23 -0
  56. package/dist/emit-order-notification-trigger-D2N3KFHL.cjs +16 -0
  57. package/dist/emit-order-notification-trigger-IVLWKKJL.js +3 -0
  58. package/dist/erp-config-enabled-CUMQ6N2V.cjs +11 -0
  59. package/dist/erp-config-enabled-T37X7T34.js +2 -0
  60. package/dist/erp-order-invoice-3YISSOWW.js +3 -0
  61. package/dist/erp-order-invoice-ZR5F2KTA.cjs +12 -0
  62. package/dist/event-order-defaults-EMWBIGL3.cjs +39 -0
  63. package/dist/event-order-defaults-SDRNAZHC.js +2 -0
  64. package/dist/hooks.cjs +259 -132
  65. package/dist/hooks.d.cts +42 -1
  66. package/dist/hooks.d.ts +42 -1
  67. package/dist/hooks.js +234 -91
  68. package/dist/index.cjs +3679 -22356
  69. package/dist/index.d.cts +2173 -643
  70. package/dist/index.d.ts +2173 -643
  71. package/dist/index.js +2587 -22119
  72. package/dist/interpolate-WAKPN56R.cjs +11 -0
  73. package/dist/interpolate-WDUWDF3I.js +2 -0
  74. package/dist/migrations/1779400000000-ConvertStatusToEnum.ts +142 -0
  75. package/dist/migrations/1779400000000-SeedDefaultCurrencies.ts +33 -0
  76. package/dist/migrations/1779500000000-VendorRolesAndPermissions.ts +102 -0
  77. package/dist/migrations/1779600000000-VendorRegistrationProfile.ts +52 -0
  78. package/dist/migrations/1779700000000-CollectionIsCatalog.ts +22 -0
  79. package/dist/migrations/1779710000000-CollectionPlatformCatalog.ts +60 -0
  80. package/dist/migrations/1779720000000-ProductCategoryPlatformCatalog.ts +157 -0
  81. package/dist/migrations/1779800000000-EventsAndEventProducts.ts +173 -0
  82. package/dist/migrations/1779810000000-BackfillVendorRoleEventsPermissions.ts +38 -0
  83. package/dist/migrations/1779820000000-FixProductsCategoryForeignKey.ts +70 -0
  84. package/dist/migrations/1779830000000-ProductTitleColumn.ts +32 -0
  85. package/dist/migrations/1779840000000-EventAboutAndVisibilityFields.ts +34 -0
  86. package/dist/migrations/1779850000000-EventCityCountrySplit.ts +43 -0
  87. package/dist/migrations/1779860000000-CreateCombos.ts +140 -0
  88. package/dist/migrations/1780100000000-OrderAttendeesEventId.ts +55 -0
  89. package/dist/migrations/1780110000000-EventContactFormId.ts +49 -0
  90. package/dist/migrations/1780130000000-ProductVariants.ts +54 -0
  91. package/dist/migrations/1780140000000-EventManagementEnhancements.ts +44 -0
  92. package/dist/migrations/1780160000000-EventRegistrationGstProductContactForm.ts +79 -0
  93. package/dist/migrations/1780170000000-ComboCurrencyPrices.ts +20 -0
  94. package/dist/migrations/1781110000000-VendorOwnerCombosPermission.ts +38 -0
  95. package/dist/migrations/1781120000000-RefundPoliciesAndRequests.ts +225 -0
  96. package/dist/migrations/1781130000000-CreateAttendees.ts +44 -0
  97. package/dist/migrations/1781140000000-EventOrderNotifications.ts +29 -0
  98. package/dist/migrations/1781150000000-EventNamedLists.ts +28 -0
  99. package/dist/migrations/1781160000000-RefundPolicyEventTiers.ts +27 -0
  100. package/dist/migrations/1781170000000-EventRefundPolicy.ts +42 -0
  101. package/dist/migrations/1781180000000-RemoveCartItemsUniqueConstraint.ts +15 -0
  102. package/dist/migrations/1781190000000-RenameProductTaxesToProductConfig.ts +84 -0
  103. package/dist/migrations/1781200000000-VendorOwnerProductConfigPermissions.ts +51 -0
  104. package/dist/migrations/1781210000000-VendorRoleProductConfigPermissions.ts +46 -0
  105. package/dist/migrations/1781220000000-AddWhatsappTriggerBindings.ts +23 -0
  106. package/dist/migrations/1781230000000-AddOrderNotificationTriggers.ts +46 -0
  107. package/dist/migrations/1781240000000-DropEventOrderNotificationColumns.ts +29 -0
  108. package/dist/migrations/1781250000000-RemoveOrderRefundedTrigger.ts +36 -0
  109. package/dist/migrations/helpers/vendor-role-seed.ts +243 -0
  110. package/dist/paid-order-erp-3USEG6WL.js +3 -0
  111. package/dist/paid-order-erp-FSQ3GSXE.cjs +12 -0
  112. package/dist/pg-boss-service-4XF2TQ2E.js +2 -0
  113. package/dist/pg-boss-service-L6MTF4EQ.cjs +15 -0
  114. package/dist/razorpay-KLO2KNCB.js +49 -0
  115. package/dist/razorpay-U23LGY72.cjs +56 -0
  116. package/dist/rbac-debug-db-HWP65A4O.cjs +35 -0
  117. package/dist/rbac-debug-db-QJH3AD34.js +33 -0
  118. package/dist/sms-defaults-2NL24H57.js +2 -0
  119. package/dist/sms-defaults-KCOPKQBA.cjs +19 -0
  120. package/dist/stripe-4FD27QVJ.js +51 -0
  121. package/dist/stripe-VU6OEG2D.cjs +57 -0
  122. package/dist/theme.cjs +31 -59
  123. package/dist/theme.d.cts +78 -3
  124. package/dist/theme.d.ts +78 -3
  125. package/dist/theme.js +23 -20
  126. package/dist/vendor-invite-status-77O7ZQ3U.cjs +19 -0
  127. package/dist/vendor-invite-status-PWJ3DE76.js +2 -0
  128. package/dist/whatsapp-trigger-dispatcher-ONHXI7UY.cjs +19 -0
  129. package/dist/whatsapp-trigger-dispatcher-PWFI4FKP.js +6 -0
  130. package/package.json +147 -142
  131. package/dist/admin.cjs.map +0 -1
  132. package/dist/admin.js.map +0 -1
  133. package/dist/api.cjs.map +0 -1
  134. package/dist/api.js.map +0 -1
  135. package/dist/auth.cjs.map +0 -1
  136. package/dist/auth.js.map +0 -1
  137. package/dist/cli.cjs.map +0 -1
  138. package/dist/cli.js.map +0 -1
  139. package/dist/config-DJ5CmQvS.d.cts +0 -8
  140. package/dist/config-DJ5CmQvS.d.ts +0 -8
  141. package/dist/hooks.cjs.map +0 -1
  142. package/dist/hooks.js.map +0 -1
  143. package/dist/index-Bf5GO8fu.d.cts +0 -583
  144. package/dist/index-DOiJuMQA.d.ts +0 -583
  145. package/dist/index.cjs.map +0 -1
  146. package/dist/index.js.map +0 -1
  147. package/dist/theme.cjs.map +0 -1
  148. package/dist/theme.js.map +0 -1
  149. package/dist/types-DCVaXlPV.d.cts +0 -78
  150. package/dist/types-DCVaXlPV.d.ts +0 -78
  151. package/dist/vendor-scope-DTYhJk_I.d.cts +0 -129
  152. package/dist/vendor-scope-DTYhJk_I.d.ts +0 -129
@@ -0,0 +1,155 @@
1
+ 'use strict';
2
+
3
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
4
+
5
+ // src/plugins/email/email-queue.ts
6
+ var EMAIL_QUEUE_NAME = "email";
7
+ function registerEmailQueueProcessor(cms) {
8
+ const queue = cms.getPlugin("queue");
9
+ const email = cms.getPlugin("email");
10
+ if (!queue || !email) return;
11
+ queue.registerProcessor(EMAIL_QUEUE_NAME, async (data) => {
12
+ const payload = data;
13
+ const { to, templateName, ctx, subject, html, text } = payload;
14
+ if (!to) return;
15
+ if (templateName && ctx) {
16
+ const rendered = email.renderTemplate(templateName, ctx);
17
+ await email.send({
18
+ to,
19
+ subject: rendered.subject,
20
+ html: rendered.html,
21
+ text: rendered.text
22
+ });
23
+ } else if (subject != null && html != null) {
24
+ await email.send({
25
+ to,
26
+ subject,
27
+ html,
28
+ text
29
+ });
30
+ }
31
+ });
32
+ }
33
+ chunkUSNT2KNT_cjs.__name(registerEmailQueueProcessor, "registerEmailQueueProcessor");
34
+ async function queueEmail(cms, payload) {
35
+ const queue = cms.getPlugin("queue");
36
+ if (queue) {
37
+ await queue.add(EMAIL_QUEUE_NAME, payload);
38
+ return;
39
+ }
40
+ const email = cms.getPlugin("email");
41
+ if (email && payload.templateName && payload.ctx) {
42
+ const rendered = email.renderTemplate(payload.templateName, payload.ctx);
43
+ await email.send({
44
+ to: payload.to,
45
+ subject: rendered.subject,
46
+ html: rendered.html,
47
+ text: rendered.text
48
+ });
49
+ } else if (email && payload.subject != null && payload.html != null) {
50
+ await email.send({
51
+ to: payload.to,
52
+ subject: payload.subject,
53
+ html: payload.html,
54
+ text: payload.text
55
+ });
56
+ }
57
+ }
58
+ chunkUSNT2KNT_cjs.__name(queueEmail, "queueEmail");
59
+ async function queueOrderPlacedEmails(cms, payload) {
60
+ const { orderNumber, total, subtotal, tax, currency, customerName, customerEmail, salesTeamEmails, companyDetails, lineItems, billingAddress, shippingAddress } = payload;
61
+ const base = {
62
+ orderNumber,
63
+ total: total != null ? String(total) : void 0,
64
+ subtotal: subtotal != null ? String(subtotal) : void 0,
65
+ tax: tax != null ? String(tax) : void 0,
66
+ currency,
67
+ customerName,
68
+ companyDetails: companyDetails ?? {},
69
+ lineItems: lineItems ?? [],
70
+ billingAddress,
71
+ shippingAddress
72
+ };
73
+ const customerLower = customerEmail?.trim().toLowerCase() ?? "";
74
+ const jobs = [];
75
+ if (customerEmail?.trim()) {
76
+ jobs.push(queueEmail(cms, {
77
+ to: customerEmail.trim(),
78
+ templateName: "orderPlaced",
79
+ ctx: {
80
+ ...base,
81
+ audience: "customer"
82
+ }
83
+ }));
84
+ }
85
+ const seen = /* @__PURE__ */ new Set();
86
+ for (const raw of salesTeamEmails) {
87
+ const to = raw.trim();
88
+ if (!to) continue;
89
+ const key = to.toLowerCase();
90
+ if (seen.has(key)) continue;
91
+ seen.add(key);
92
+ if (customerLower && key === customerLower) continue;
93
+ jobs.push(queueEmail(cms, {
94
+ to,
95
+ templateName: "orderPlaced",
96
+ ctx: {
97
+ ...base,
98
+ audience: "sales",
99
+ internalCustomerEmail: customerEmail?.trim() || void 0
100
+ }
101
+ }));
102
+ }
103
+ await Promise.all(jobs);
104
+ }
105
+ chunkUSNT2KNT_cjs.__name(queueOrderPlacedEmails, "queueOrderPlacedEmails");
106
+ async function queueVendorOnboardEmails(cms, payload) {
107
+ const { vendorName, vendorSlug, ownerName, ownerEmail, activation, inviteLink, signInLink, kind = "vendor_onboard", notifyEmails, companyDetails, sendToOwner = true } = payload;
108
+ const base = {
109
+ vendorName,
110
+ vendorSlug,
111
+ ownerName,
112
+ ownerEmail,
113
+ activation,
114
+ inviteLink,
115
+ signInLink,
116
+ kind,
117
+ companyDetails: companyDetails ?? {}
118
+ };
119
+ const ownerLower = ownerEmail?.trim().toLowerCase() ?? "";
120
+ const jobs = [];
121
+ if (sendToOwner && ownerEmail?.trim()) {
122
+ jobs.push(queueEmail(cms, {
123
+ to: ownerEmail.trim(),
124
+ templateName: "vendorOnboarded",
125
+ ctx: {
126
+ ...base,
127
+ audience: "owner"
128
+ }
129
+ }));
130
+ }
131
+ const seen = /* @__PURE__ */ new Set();
132
+ for (const raw of notifyEmails) {
133
+ const to = raw.trim();
134
+ if (!to) continue;
135
+ const key = to.toLowerCase();
136
+ if (seen.has(key)) continue;
137
+ seen.add(key);
138
+ if (ownerLower && key === ownerLower) continue;
139
+ jobs.push(queueEmail(cms, {
140
+ to,
141
+ templateName: "vendorOnboarded",
142
+ ctx: {
143
+ ...base,
144
+ audience: "internal"
145
+ }
146
+ }));
147
+ }
148
+ await Promise.all(jobs);
149
+ }
150
+ chunkUSNT2KNT_cjs.__name(queueVendorOnboardEmails, "queueVendorOnboardEmails");
151
+
152
+ exports.queueEmail = queueEmail;
153
+ exports.queueOrderPlacedEmails = queueOrderPlacedEmails;
154
+ exports.queueVendorOnboardEmails = queueVendorOnboardEmails;
155
+ exports.registerEmailQueueProcessor = registerEmailQueueProcessor;
package/dist/cli.cjs CHANGED
@@ -1,31 +1,15 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
-
26
- // src/cli.ts
27
- var import_fs = __toESM(require("fs"), 1);
28
- var import_path = __toESM(require("path"), 1);
2
+ 'use strict';
3
+
4
+ var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
5
+ var fs = require('fs');
6
+ var path = require('path');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
11
+ var path__default = /*#__PURE__*/_interopDefault(path);
12
+
29
13
  var TEMPLATES = {
30
14
  "src/lib/data-source.ts": `import 'reflect-metadata';
31
15
  import path from 'path';
@@ -83,13 +67,14 @@ export const requireAdminAccess = helpers.requireAdminAccess;
83
67
  export const getAuthenticatedUser = helpers.getAuthenticatedUser;
84
68
  `,
85
69
  "src/lib/cms.ts": `import {
86
- createCmsApp,
70
+ createCmsAppWithMessaging,
87
71
  localStoragePlugin,
88
72
  blogGeneratorPlugin,
89
73
  pgBossPlugin,
90
74
  socialMediaPlugin,
91
75
  type CmsApp,
92
76
  } from '@infuro/cms-core';
77
+ import { CMS_ENTITY_MAP } from '@infuro/cms-core';
93
78
  import { getDataSourceInitialized } from './data-source';
94
79
 
95
80
  let cmsPromise: Promise<CmsApp> | null = null;
@@ -97,8 +82,9 @@ let cmsPromise: Promise<CmsApp> | null = null;
97
82
  export async function getCms(): Promise<CmsApp> {
98
83
  if (cmsPromise) return cmsPromise;
99
84
  const dataSource = await getDataSourceInitialized();
100
- cmsPromise = createCmsApp({
85
+ cmsPromise = createCmsAppWithMessaging({
101
86
  dataSource,
87
+ entityMap: CMS_ENTITY_MAP,
102
88
  config: process.env as unknown as Record<string, string>,
103
89
  plugins: [
104
90
  localStoragePlugin({ dir: 'public/uploads' }),
@@ -690,25 +676,26 @@ export function getThemeById(id: string | undefined): ThemeConfig {
690
676
  `
691
677
  };
692
678
  function findRoot(cwd) {
693
- let dir = import_path.default.resolve(cwd);
679
+ let dir = path__default.default.resolve(cwd);
694
680
  for (let i = 0; i < 20; i++) {
695
- const pkgPath = import_path.default.join(dir, "package.json");
696
- if (import_fs.default.existsSync(pkgPath)) {
681
+ const pkgPath = path__default.default.join(dir, "package.json");
682
+ if (fs__default.default.existsSync(pkgPath)) {
697
683
  try {
698
- const pkg = JSON.parse(import_fs.default.readFileSync(pkgPath, "utf8"));
684
+ const pkg = JSON.parse(fs__default.default.readFileSync(pkgPath, "utf8"));
699
685
  if (pkg.dependencies?.next || pkg.devDependencies?.next) return dir;
700
686
  } catch {
701
687
  }
702
688
  }
703
- const parent = import_path.default.dirname(dir);
689
+ const parent = path__default.default.dirname(dir);
704
690
  if (parent === dir) break;
705
691
  dir = parent;
706
692
  }
707
693
  return null;
708
694
  }
695
+ chunkUSNT2KNT_cjs.__name(findRoot, "findRoot");
709
696
  function writeFile(root, filePath, content, force2, dryRun2, log) {
710
- const full = import_path.default.join(root, filePath);
711
- if (import_fs.default.existsSync(full) && !force2) {
697
+ const full = path__default.default.join(root, filePath);
698
+ if (fs__default.default.existsSync(full) && !force2) {
712
699
  log(` skip (exists): ${filePath}`);
713
700
  return false;
714
701
  }
@@ -716,18 +703,25 @@ function writeFile(root, filePath, content, force2, dryRun2, log) {
716
703
  log(` would create: ${filePath}`);
717
704
  return true;
718
705
  }
719
- const dir = import_path.default.dirname(full);
720
- import_fs.default.mkdirSync(dir, { recursive: true });
721
- import_fs.default.writeFileSync(full, content, "utf8");
706
+ const dir = path__default.default.dirname(full);
707
+ fs__default.default.mkdirSync(dir, {
708
+ recursive: true
709
+ });
710
+ fs__default.default.writeFileSync(full, content, "utf8");
722
711
  log(` created: ${filePath}`);
723
712
  return true;
724
713
  }
714
+ chunkUSNT2KNT_cjs.__name(writeFile, "writeFile");
725
715
  function patchNextConfig(root, dryRun2, log) {
726
- const candidates = ["next.config.js", "next.config.mjs", "next.config.cjs"];
716
+ const candidates = [
717
+ "next.config.js",
718
+ "next.config.mjs",
719
+ "next.config.cjs"
720
+ ];
727
721
  let configPath = null;
728
722
  for (const name of candidates) {
729
- const p = import_path.default.join(root, name);
730
- if (import_fs.default.existsSync(p)) {
723
+ const p = path__default.default.join(root, name);
724
+ if (fs__default.default.existsSync(p)) {
731
725
  configPath = p;
732
726
  break;
733
727
  }
@@ -736,36 +730,35 @@ function patchNextConfig(root, dryRun2, log) {
736
730
  log(" skip next.config: not found");
737
731
  return false;
738
732
  }
739
- let content = import_fs.default.readFileSync(configPath, "utf8");
733
+ let content = fs__default.default.readFileSync(configPath, "utf8");
740
734
  if (content.includes("'@infuro/cms-core'") || content.includes('"@infuro/cms-core"')) {
741
- log(` skip (already has core): ${import_path.default.basename(configPath)}`);
735
+ log(` skip (already has core): ${path__default.default.basename(configPath)}`);
742
736
  return false;
743
737
  }
744
738
  if (content.includes("serverExternalPackages")) {
745
- content = content.replace(
746
- /(serverExternalPackages:\s*\[)/,
747
- "$1'@infuro/cms-core', 'typeorm', 'rss-parser', "
748
- );
739
+ content = content.replace(/(serverExternalPackages:\s*\[)/, "$1'@infuro/cms-core', 'typeorm', 'rss-parser', ");
749
740
  } else {
750
- content = content.replace(
751
- /(const nextConfig\s*=\s*\{|module\.exports\s*=\s*\{)/,
752
- "$1\n serverExternalPackages: ['@infuro/cms-core', 'typeorm', 'rss-parser'],"
753
- );
741
+ content = content.replace(/(const nextConfig\s*=\s*\{|module\.exports\s*=\s*\{)/, "$1\n serverExternalPackages: ['@infuro/cms-core', 'typeorm', 'rss-parser'],");
754
742
  }
755
743
  if (dryRun2) {
756
- log(` would patch: ${import_path.default.basename(configPath)}`);
744
+ log(` would patch: ${path__default.default.basename(configPath)}`);
757
745
  return true;
758
746
  }
759
- import_fs.default.writeFileSync(configPath, content, "utf8");
760
- log(` patched: ${import_path.default.basename(configPath)}`);
747
+ fs__default.default.writeFileSync(configPath, content, "utf8");
748
+ log(` patched: ${path__default.default.basename(configPath)}`);
761
749
  return true;
762
750
  }
751
+ chunkUSNT2KNT_cjs.__name(patchNextConfig, "patchNextConfig");
763
752
  function patchTailwind(root, dryRun2, log) {
764
- const candidates = ["tailwind.config.js", "tailwind.config.mjs", "tailwind.config.ts"];
753
+ const candidates = [
754
+ "tailwind.config.js",
755
+ "tailwind.config.mjs",
756
+ "tailwind.config.ts"
757
+ ];
765
758
  let configPath = null;
766
759
  for (const name of candidates) {
767
- const p = import_path.default.join(root, name);
768
- if (import_fs.default.existsSync(p)) {
760
+ const p = path__default.default.join(root, name);
761
+ if (fs__default.default.existsSync(p)) {
769
762
  configPath = p;
770
763
  break;
771
764
  }
@@ -774,34 +767,32 @@ function patchTailwind(root, dryRun2, log) {
774
767
  log(" skip tailwind: config not found");
775
768
  return false;
776
769
  }
777
- let content = import_fs.default.readFileSync(configPath, "utf8");
770
+ let content = fs__default.default.readFileSync(configPath, "utf8");
778
771
  const coreContent = "./node_modules/@infuro/cms-core/dist/**/*.{js,cjs}";
779
772
  if (content.includes("@infuro/cms-core")) {
780
- log(` skip (already has core): ${import_path.default.basename(configPath)}`);
773
+ log(` skip (already has core): ${path__default.default.basename(configPath)}`);
781
774
  return false;
782
775
  }
783
776
  if (content.includes("content:")) {
784
- content = content.replace(
785
- /(content:\s*\[)/,
786
- `$1
787
- "${coreContent}",`
788
- );
777
+ content = content.replace(/(content:\s*\[)/, `$1
778
+ "${coreContent}",`);
789
779
  }
790
780
  if (dryRun2) {
791
- log(` would patch: ${import_path.default.basename(configPath)}`);
781
+ log(` would patch: ${path__default.default.basename(configPath)}`);
792
782
  return true;
793
783
  }
794
- import_fs.default.writeFileSync(configPath, content, "utf8");
795
- log(` patched: ${import_path.default.basename(configPath)}`);
784
+ fs__default.default.writeFileSync(configPath, content, "utf8");
785
+ log(` patched: ${path__default.default.basename(configPath)}`);
796
786
  return true;
797
787
  }
788
+ chunkUSNT2KNT_cjs.__name(patchTailwind, "patchTailwind");
798
789
  function patchLayout(root, dryRun2, log) {
799
- const layoutPath = import_path.default.join(root, "src/app/layout.tsx");
800
- if (!import_fs.default.existsSync(layoutPath)) {
790
+ const layoutPath = path__default.default.join(root, "src/app/layout.tsx");
791
+ if (!fs__default.default.existsSync(layoutPath)) {
801
792
  log(" skip layout: src/app/layout.tsx not found");
802
793
  return false;
803
794
  }
804
- let content = import_fs.default.readFileSync(layoutPath, "utf8");
795
+ let content = fs__default.default.readFileSync(layoutPath, "utf8");
805
796
  if (content.includes("<Providers>")) {
806
797
  log(" skip layout: already uses Providers");
807
798
  return false;
@@ -827,14 +818,15 @@ function patchLayout(root, dryRun2, log) {
827
818
  if (content.includes("<html") && !content.includes("suppressHydrationWarning")) {
828
819
  content = content.replace(/<html(\s)/, "<html suppressHydrationWarning$1");
829
820
  }
830
- import_fs.default.writeFileSync(layoutPath, content, "utf8");
821
+ fs__default.default.writeFileSync(layoutPath, content, "utf8");
831
822
  log(" patched: src/app/layout.tsx");
832
823
  return true;
833
824
  }
825
+ chunkUSNT2KNT_cjs.__name(patchLayout, "patchLayout");
834
826
  function patchPackageJson(root, dryRun2, log) {
835
- const pkgPath = import_path.default.join(root, "package.json");
836
- if (!import_fs.default.existsSync(pkgPath)) return false;
837
- const pkg = JSON.parse(import_fs.default.readFileSync(pkgPath, "utf8"));
827
+ const pkgPath = path__default.default.join(root, "package.json");
828
+ if (!fs__default.default.existsSync(pkgPath)) return false;
829
+ const pkg = JSON.parse(fs__default.default.readFileSync(pkgPath, "utf8"));
838
830
  const scripts = pkg.scripts || {};
839
831
  let changed = false;
840
832
  if (!scripts.seed) {
@@ -868,41 +860,65 @@ function patchPackageJson(root, dryRun2, log) {
868
860
  return false;
869
861
  }
870
862
  pkg.scripts = scripts;
871
- pkg.dependencies = { ...pkg.dependencies, ...deps };
872
- pkg.devDependencies = { ...pkg.devDependencies, ...dev };
863
+ pkg.dependencies = {
864
+ ...pkg.dependencies,
865
+ ...deps
866
+ };
867
+ pkg.devDependencies = {
868
+ ...pkg.devDependencies,
869
+ ...dev
870
+ };
873
871
  if (dryRun2) {
874
872
  log(" would patch: package.json (scripts + devDependencies)");
875
873
  return true;
876
874
  }
877
- import_fs.default.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf8");
875
+ fs__default.default.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf8");
878
876
  log(" patched: package.json");
879
877
  return true;
880
878
  }
879
+ chunkUSNT2KNT_cjs.__name(patchPackageJson, "patchPackageJson");
881
880
  async function runNpmInstall(root, log) {
882
- const { spawnSync } = await import("child_process");
881
+ const { spawnSync } = await import('child_process');
883
882
  log(" running: npm install (deps)...");
884
- spawnSync("npm", ["install", "@infuro/cms-core", "typeorm", "reflect-metadata", "bcryptjs", "next-auth", "next-themes", "sonner", "pg-boss"], {
883
+ spawnSync("npm", [
884
+ "install",
885
+ "@infuro/cms-core",
886
+ "typeorm",
887
+ "reflect-metadata",
888
+ "bcryptjs",
889
+ "next-auth",
890
+ "next-themes",
891
+ "sonner",
892
+ "pg-boss"
893
+ ], {
885
894
  cwd: root,
886
895
  stdio: "inherit",
887
896
  shell: true
888
897
  });
889
898
  log(" running: npm install -D tsx dotenv @types/node...");
890
- spawnSync("npm", ["install", "-D", "tsx", "dotenv", "@types/node"], {
899
+ spawnSync("npm", [
900
+ "install",
901
+ "-D",
902
+ "tsx",
903
+ "dotenv",
904
+ "@types/node"
905
+ ], {
891
906
  cwd: root,
892
907
  stdio: "inherit",
893
908
  shell: true
894
909
  });
895
910
  }
911
+ chunkUSNT2KNT_cjs.__name(runNpmInstall, "runNpmInstall");
896
912
  async function runInit(opts) {
897
- const log = (msg) => console.log(msg);
913
+ const log = /* @__PURE__ */ chunkUSNT2KNT_cjs.__name((msg) => console.log(msg), "log");
898
914
  const cwd = process.cwd();
899
915
  const root = findRoot(cwd);
900
916
  if (!root) {
901
917
  console.error("Not a Next.js project (no package.json with next dependency found from " + cwd + ")");
902
918
  process.exit(1);
903
919
  }
904
- const appDir = import_path.default.join(root, "src/app");
905
- if (!import_fs.default.existsSync(appDir)) {
920
+ const appDir = path__default.default.join(root, "src/app");
921
+ if (!fs__default.default.existsSync(appDir)) {
906
922
  console.error("Expected src/app directory not found. Use a Next.js app with src directory (e.g. create-next-app --src-dir).");
907
923
  process.exit(1);
908
924
  }
@@ -931,13 +947,19 @@ async function runInit(opts) {
931
947
  log(" 2. Run npm run migration:run then npm run seed (creates admin from ADMIN_EMAIL/ADMIN_PASSWORD)");
932
948
  log(" 3. npm run dev");
933
949
  }
950
+ chunkUSNT2KNT_cjs.__name(runInit, "runInit");
934
951
  var args = process.argv.slice(2);
935
952
  var force = args.includes("--force");
936
953
  var dryRun = args.includes("--dry-run");
937
954
  var noDeps = args.includes("--no-deps");
938
955
  var noPatchConfig = args.includes("--no-patch-config");
939
956
  if (args[0] === "init" || args.includes("--init") || args.length === 0 && !args.some((a) => a.startsWith("--"))) {
940
- runInit({ force, dryRun, noDeps, noPatchConfig }).catch((e) => {
957
+ runInit({
958
+ force,
959
+ dryRun,
960
+ noDeps,
961
+ noPatchConfig
962
+ }).catch((e) => {
941
963
  console.error(e);
942
964
  process.exit(1);
943
965
  });
@@ -945,4 +967,3 @@ if (args[0] === "init" || args.includes("--init") || args.length === 0 && !args.
945
967
  console.log("Usage: npx @infuro/cms-core init [--force] [--dry-run] [--no-deps] [--no-patch-config]");
946
968
  process.exit(args[0] === "--help" || args[0] === "-h" ? 0 : 1);
947
969
  }
948
- //# sourceMappingURL=cli.cjs.map