@sonordev/site-kit 1.4.7 → 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/AnalyticsProvider-KJWDN6YO.js +25 -0
- package/dist/{AnalyticsProvider-SC4YOBFI.js.map → AnalyticsProvider-KJWDN6YO.js.map} +1 -1
- package/dist/AnalyticsProvider-OXX23PK5.mjs +4 -0
- package/dist/{AnalyticsProvider-ZVZ2SNZR.mjs.map → AnalyticsProvider-OXX23PK5.mjs.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +2 -2
- package/dist/{chunk-FP66BKW6.mjs → chunk-35L6FXF5.mjs} +3 -3
- package/dist/{chunk-FP66BKW6.mjs.map → chunk-35L6FXF5.mjs.map} +1 -1
- package/dist/{chunk-5DAALKHB.js → chunk-466AL5CC.js} +3 -3
- package/dist/{chunk-5DAALKHB.js.map → chunk-466AL5CC.js.map} +1 -1
- package/dist/{chunk-FRN4JQXL.js → chunk-AWSVC7SP.js} +4 -4
- package/dist/{chunk-FRN4JQXL.js.map → chunk-AWSVC7SP.js.map} +1 -1
- package/dist/{chunk-AU4GIQQU.mjs → chunk-BPXMOHVH.mjs} +3 -3
- package/dist/{chunk-AU4GIQQU.mjs.map → chunk-BPXMOHVH.mjs.map} +1 -1
- package/dist/{chunk-EG2FNRKR.mjs → chunk-CYZYPWGW.mjs} +3 -3
- package/dist/{chunk-EG2FNRKR.mjs.map → chunk-CYZYPWGW.mjs.map} +1 -1
- package/dist/{chunk-GTLIGQDM.js → chunk-DKSHZ7TG.js} +3 -3
- package/dist/{chunk-GTLIGQDM.js.map → chunk-DKSHZ7TG.js.map} +1 -1
- package/dist/{chunk-RNOXXICL.mjs → chunk-XTRXH5OL.mjs} +3 -3
- package/dist/{chunk-RNOXXICL.mjs.map → chunk-XTRXH5OL.mjs.map} +1 -1
- package/dist/{chunk-WAY6CT4A.js → chunk-YP5YVWAG.js} +5 -5
- package/dist/{chunk-WAY6CT4A.js.map → chunk-YP5YVWAG.js.map} +1 -1
- package/dist/commerce/index.js +47 -47
- package/dist/commerce/index.mjs +3 -3
- package/dist/index.js +28 -28
- package/dist/index.mjs +3 -3
- package/dist/layout/client.js +2 -2
- package/dist/layout/client.mjs +1 -1
- package/dist/layout/index.js +2 -2
- package/dist/layout/index.mjs +1 -1
- package/dist/seo/register-sitemap-cli.js +19 -9
- package/dist/seo/register-sitemap-cli.js.map +1 -1
- package/dist/seo/register-sitemap-cli.mjs +18 -8
- package/dist/seo/register-sitemap-cli.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/AnalyticsProvider-SC4YOBFI.js +0 -25
- package/dist/AnalyticsProvider-ZVZ2SNZR.mjs +0 -4
package/dist/commerce/index.js
CHANGED
|
@@ -1,188 +1,188 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var chunkYP5YVWAG_js = require('../chunk-YP5YVWAG.js');
|
|
5
|
+
require('../chunk-AWSVC7SP.js');
|
|
6
|
+
require('../chunk-DKSHZ7TG.js');
|
|
7
7
|
require('../chunk-ZSMWDLMK.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "CalendarView", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkYP5YVWAG_js.CalendarView; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkYP5YVWAG_js.CheckoutForm; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "EventCalendar", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkYP5YVWAG_js.EventCalendar; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "EventEmbed", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkYP5YVWAG_js.EventEmbed; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "EventModal", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkYP5YVWAG_js.EventModal; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "EventTile", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkYP5YVWAG_js.EventTile; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "EventsWidget", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkYP5YVWAG_js.EventsWidget; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "OfferingCard", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkYP5YVWAG_js.OfferingCard; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "OfferingList", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkYP5YVWAG_js.OfferingList; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "ProductDetail", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkYP5YVWAG_js.ProductDetail; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkYP5YVWAG_js.ProductEmbed; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "ProductGrid", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkYP5YVWAG_js.ProductGrid; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "ProductPage", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkYP5YVWAG_js.ProductPage; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkYP5YVWAG_js.RegistrationForm; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "SizeChart", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkYP5YVWAG_js.SizeChart; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkYP5YVWAG_js.UpcomingEvents; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkYP5YVWAG_js.createCheckoutSession; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "createPaymentIntent", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkYP5YVWAG_js.createPaymentIntent; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "fetchActiveProcessor", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkYP5YVWAG_js.fetchActiveProcessor; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "fetchCategories", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkYP5YVWAG_js.fetchCategories; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "fetchLatestOffering", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkYP5YVWAG_js.fetchLatestOffering; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkYP5YVWAG_js.fetchNextEvent; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "fetchOffering", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkYP5YVWAG_js.fetchOffering; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkYP5YVWAG_js.fetchOfferings; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "fetchProcessorConfig", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkYP5YVWAG_js.fetchProcessorConfig; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "fetchProductBySlug", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkYP5YVWAG_js.fetchProductBySlug; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "fetchProducts", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkYP5YVWAG_js.fetchProducts; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "fetchProductsPublic", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkYP5YVWAG_js.fetchProductsPublic; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "fetchServices", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkYP5YVWAG_js.fetchServices; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "fetchShippingRates", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkYP5YVWAG_js.fetchShippingRates; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkYP5YVWAG_js.fetchUpcomingEvents; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "formatDate", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkYP5YVWAG_js.formatDate; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "formatDateRange", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkYP5YVWAG_js.formatDateRange; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "formatDateTime", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkYP5YVWAG_js.formatDateTime; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "formatPrice", {
|
|
148
148
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
149
|
+
get: function () { return chunkYP5YVWAG_js.formatPrice; }
|
|
150
150
|
});
|
|
151
151
|
Object.defineProperty(exports, "formatTime", {
|
|
152
152
|
enumerable: true,
|
|
153
|
-
get: function () { return
|
|
153
|
+
get: function () { return chunkYP5YVWAG_js.formatTime; }
|
|
154
154
|
});
|
|
155
155
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
156
156
|
enumerable: true,
|
|
157
|
-
get: function () { return
|
|
157
|
+
get: function () { return chunkYP5YVWAG_js.getOfferingUrl; }
|
|
158
158
|
});
|
|
159
159
|
Object.defineProperty(exports, "getRelativeTimeUntil", {
|
|
160
160
|
enumerable: true,
|
|
161
|
-
get: function () { return
|
|
161
|
+
get: function () { return chunkYP5YVWAG_js.getRelativeTimeUntil; }
|
|
162
162
|
});
|
|
163
163
|
Object.defineProperty(exports, "getSpotsRemaining", {
|
|
164
164
|
enumerable: true,
|
|
165
|
-
get: function () { return
|
|
165
|
+
get: function () { return chunkYP5YVWAG_js.getSpotsRemaining; }
|
|
166
166
|
});
|
|
167
167
|
Object.defineProperty(exports, "isEventSoldOut", {
|
|
168
168
|
enumerable: true,
|
|
169
|
-
get: function () { return
|
|
169
|
+
get: function () { return chunkYP5YVWAG_js.isEventSoldOut; }
|
|
170
170
|
});
|
|
171
171
|
Object.defineProperty(exports, "registerForEvent", {
|
|
172
172
|
enumerable: true,
|
|
173
|
-
get: function () { return
|
|
173
|
+
get: function () { return chunkYP5YVWAG_js.registerForEvent; }
|
|
174
174
|
});
|
|
175
175
|
Object.defineProperty(exports, "useEventModal", {
|
|
176
176
|
enumerable: true,
|
|
177
|
-
get: function () { return
|
|
177
|
+
get: function () { return chunkYP5YVWAG_js.useEventModal; }
|
|
178
178
|
});
|
|
179
179
|
Object.defineProperty(exports, "validateAddress", {
|
|
180
180
|
enumerable: true,
|
|
181
|
-
get: function () { return
|
|
181
|
+
get: function () { return chunkYP5YVWAG_js.validateAddress; }
|
|
182
182
|
});
|
|
183
183
|
Object.defineProperty(exports, "validateDiscountCode", {
|
|
184
184
|
enumerable: true,
|
|
185
|
-
get: function () { return
|
|
185
|
+
get: function () { return chunkYP5YVWAG_js.validateDiscountCode; }
|
|
186
186
|
});
|
|
187
187
|
//# sourceMappingURL=index.js.map
|
|
188
188
|
//# sourceMappingURL=index.js.map
|
package/dist/commerce/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, EventsWidget, OfferingCard, OfferingList, ProductDetail, ProductEmbed, ProductGrid, ProductPage, RegistrationForm, SizeChart, UpcomingEvents, createCheckoutSession, createPaymentIntent, fetchActiveProcessor, fetchCategories, fetchLatestOffering, fetchNextEvent, fetchOffering, fetchOfferings, fetchProcessorConfig, fetchProductBySlug, fetchProducts, fetchProductsPublic, fetchServices, fetchShippingRates, fetchUpcomingEvents, formatDate, formatDateRange, formatDateTime, formatPrice, formatTime, getOfferingUrl, getRelativeTimeUntil, getSpotsRemaining, isEventSoldOut, registerForEvent, useEventModal, validateAddress, validateDiscountCode } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, EventsWidget, OfferingCard, OfferingList, ProductDetail, ProductEmbed, ProductGrid, ProductPage, RegistrationForm, SizeChart, UpcomingEvents, createCheckoutSession, createPaymentIntent, fetchActiveProcessor, fetchCategories, fetchLatestOffering, fetchNextEvent, fetchOffering, fetchOfferings, fetchProcessorConfig, fetchProductBySlug, fetchProducts, fetchProductsPublic, fetchServices, fetchShippingRates, fetchUpcomingEvents, formatDate, formatDateRange, formatDateTime, formatPrice, formatTime, getOfferingUrl, getRelativeTimeUntil, getSpotsRemaining, isEventSoldOut, registerForEvent, useEventModal, validateAddress, validateDiscountCode } from '../chunk-CYZYPWGW.mjs';
|
|
3
|
+
import '../chunk-BPXMOHVH.mjs';
|
|
4
|
+
import '../chunk-35L6FXF5.mjs';
|
|
5
5
|
import '../chunk-4XPGGLVP.mjs';
|
|
6
6
|
//# sourceMappingURL=index.mjs.map
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.js
CHANGED
|
@@ -5,13 +5,13 @@ var chunkX4J33XQD_js = require('./chunk-X4J33XQD.js');
|
|
|
5
5
|
var chunkG6VGUAK2_js = require('./chunk-G6VGUAK2.js');
|
|
6
6
|
var chunkTKQLH33E_js = require('./chunk-TKQLH33E.js');
|
|
7
7
|
require('./chunk-DY4K6X3A.js');
|
|
8
|
-
var
|
|
8
|
+
var chunkYP5YVWAG_js = require('./chunk-YP5YVWAG.js');
|
|
9
9
|
var chunkIJ2LWZID_js = require('./chunk-IJ2LWZID.js');
|
|
10
10
|
var chunkIFAW7JFO_js = require('./chunk-IFAW7JFO.js');
|
|
11
11
|
require('./chunk-EUNL6GAL.js');
|
|
12
12
|
var chunkYBQT623Y_js = require('./chunk-YBQT623Y.js');
|
|
13
|
-
require('./chunk-
|
|
14
|
-
var
|
|
13
|
+
require('./chunk-AWSVC7SP.js');
|
|
14
|
+
var chunkDKSHZ7TG_js = require('./chunk-DKSHZ7TG.js');
|
|
15
15
|
var chunkDK2WNYQA_js = require('./chunk-DK2WNYQA.js');
|
|
16
16
|
var chunk373TK6TZ_js = require('./chunk-373TK6TZ.js');
|
|
17
17
|
require('./chunk-ZSMWDLMK.js');
|
|
@@ -96,7 +96,7 @@ function SiteKitProvider({
|
|
|
96
96
|
}
|
|
97
97
|
if (analytics?.enabled) {
|
|
98
98
|
content = /* @__PURE__ */ jsxRuntime.jsx(React2.Suspense, { fallback: null, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
-
|
|
99
|
+
chunkDKSHZ7TG_js.AnalyticsProvider,
|
|
100
100
|
{
|
|
101
101
|
apiUrl: finalApiUrl,
|
|
102
102
|
apiKey,
|
|
@@ -1585,99 +1585,99 @@ Object.defineProperty(exports, "fetchReviews", {
|
|
|
1585
1585
|
});
|
|
1586
1586
|
Object.defineProperty(exports, "CalendarView", {
|
|
1587
1587
|
enumerable: true,
|
|
1588
|
-
get: function () { return
|
|
1588
|
+
get: function () { return chunkYP5YVWAG_js.CalendarView; }
|
|
1589
1589
|
});
|
|
1590
1590
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
1591
1591
|
enumerable: true,
|
|
1592
|
-
get: function () { return
|
|
1592
|
+
get: function () { return chunkYP5YVWAG_js.CheckoutForm; }
|
|
1593
1593
|
});
|
|
1594
1594
|
Object.defineProperty(exports, "EventCalendar", {
|
|
1595
1595
|
enumerable: true,
|
|
1596
|
-
get: function () { return
|
|
1596
|
+
get: function () { return chunkYP5YVWAG_js.EventCalendar; }
|
|
1597
1597
|
});
|
|
1598
1598
|
Object.defineProperty(exports, "EventEmbed", {
|
|
1599
1599
|
enumerable: true,
|
|
1600
|
-
get: function () { return
|
|
1600
|
+
get: function () { return chunkYP5YVWAG_js.EventEmbed; }
|
|
1601
1601
|
});
|
|
1602
1602
|
Object.defineProperty(exports, "EventModal", {
|
|
1603
1603
|
enumerable: true,
|
|
1604
|
-
get: function () { return
|
|
1604
|
+
get: function () { return chunkYP5YVWAG_js.EventModal; }
|
|
1605
1605
|
});
|
|
1606
1606
|
Object.defineProperty(exports, "EventTile", {
|
|
1607
1607
|
enumerable: true,
|
|
1608
|
-
get: function () { return
|
|
1608
|
+
get: function () { return chunkYP5YVWAG_js.EventTile; }
|
|
1609
1609
|
});
|
|
1610
1610
|
Object.defineProperty(exports, "OfferingCard", {
|
|
1611
1611
|
enumerable: true,
|
|
1612
|
-
get: function () { return
|
|
1612
|
+
get: function () { return chunkYP5YVWAG_js.OfferingCard; }
|
|
1613
1613
|
});
|
|
1614
1614
|
Object.defineProperty(exports, "OfferingList", {
|
|
1615
1615
|
enumerable: true,
|
|
1616
|
-
get: function () { return
|
|
1616
|
+
get: function () { return chunkYP5YVWAG_js.OfferingList; }
|
|
1617
1617
|
});
|
|
1618
1618
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
1619
1619
|
enumerable: true,
|
|
1620
|
-
get: function () { return
|
|
1620
|
+
get: function () { return chunkYP5YVWAG_js.ProductEmbed; }
|
|
1621
1621
|
});
|
|
1622
1622
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
1623
1623
|
enumerable: true,
|
|
1624
|
-
get: function () { return
|
|
1624
|
+
get: function () { return chunkYP5YVWAG_js.RegistrationForm; }
|
|
1625
1625
|
});
|
|
1626
1626
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
1627
1627
|
enumerable: true,
|
|
1628
|
-
get: function () { return
|
|
1628
|
+
get: function () { return chunkYP5YVWAG_js.UpcomingEvents; }
|
|
1629
1629
|
});
|
|
1630
1630
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
1631
1631
|
enumerable: true,
|
|
1632
|
-
get: function () { return
|
|
1632
|
+
get: function () { return chunkYP5YVWAG_js.createCheckoutSession; }
|
|
1633
1633
|
});
|
|
1634
1634
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
1635
1635
|
enumerable: true,
|
|
1636
|
-
get: function () { return
|
|
1636
|
+
get: function () { return chunkYP5YVWAG_js.fetchNextEvent; }
|
|
1637
1637
|
});
|
|
1638
1638
|
Object.defineProperty(exports, "fetchOffering", {
|
|
1639
1639
|
enumerable: true,
|
|
1640
|
-
get: function () { return
|
|
1640
|
+
get: function () { return chunkYP5YVWAG_js.fetchOffering; }
|
|
1641
1641
|
});
|
|
1642
1642
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
1643
1643
|
enumerable: true,
|
|
1644
|
-
get: function () { return
|
|
1644
|
+
get: function () { return chunkYP5YVWAG_js.fetchOfferings; }
|
|
1645
1645
|
});
|
|
1646
1646
|
Object.defineProperty(exports, "fetchProducts", {
|
|
1647
1647
|
enumerable: true,
|
|
1648
|
-
get: function () { return
|
|
1648
|
+
get: function () { return chunkYP5YVWAG_js.fetchProducts; }
|
|
1649
1649
|
});
|
|
1650
1650
|
Object.defineProperty(exports, "fetchServices", {
|
|
1651
1651
|
enumerable: true,
|
|
1652
|
-
get: function () { return
|
|
1652
|
+
get: function () { return chunkYP5YVWAG_js.fetchServices; }
|
|
1653
1653
|
});
|
|
1654
1654
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
1655
1655
|
enumerable: true,
|
|
1656
|
-
get: function () { return
|
|
1656
|
+
get: function () { return chunkYP5YVWAG_js.fetchUpcomingEvents; }
|
|
1657
1657
|
});
|
|
1658
1658
|
Object.defineProperty(exports, "formatDate", {
|
|
1659
1659
|
enumerable: true,
|
|
1660
|
-
get: function () { return
|
|
1660
|
+
get: function () { return chunkYP5YVWAG_js.formatDate; }
|
|
1661
1661
|
});
|
|
1662
1662
|
Object.defineProperty(exports, "formatDateTime", {
|
|
1663
1663
|
enumerable: true,
|
|
1664
|
-
get: function () { return
|
|
1664
|
+
get: function () { return chunkYP5YVWAG_js.formatDateTime; }
|
|
1665
1665
|
});
|
|
1666
1666
|
Object.defineProperty(exports, "formatPrice", {
|
|
1667
1667
|
enumerable: true,
|
|
1668
|
-
get: function () { return
|
|
1668
|
+
get: function () { return chunkYP5YVWAG_js.formatPrice; }
|
|
1669
1669
|
});
|
|
1670
1670
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
1671
1671
|
enumerable: true,
|
|
1672
|
-
get: function () { return
|
|
1672
|
+
get: function () { return chunkYP5YVWAG_js.getOfferingUrl; }
|
|
1673
1673
|
});
|
|
1674
1674
|
Object.defineProperty(exports, "registerForEvent", {
|
|
1675
1675
|
enumerable: true,
|
|
1676
|
-
get: function () { return
|
|
1676
|
+
get: function () { return chunkYP5YVWAG_js.registerForEvent; }
|
|
1677
1677
|
});
|
|
1678
1678
|
Object.defineProperty(exports, "useEventModal", {
|
|
1679
1679
|
enumerable: true,
|
|
1680
|
-
get: function () { return
|
|
1680
|
+
get: function () { return chunkYP5YVWAG_js.useEventModal; }
|
|
1681
1681
|
});
|
|
1682
1682
|
Object.defineProperty(exports, "BookingWidget", {
|
|
1683
1683
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -4,13 +4,13 @@ export { clearRedirectCache, fetchRedirectRules, generateNextRedirects, handleMa
|
|
|
4
4
|
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-36Y7OWES.mjs';
|
|
5
5
|
export { TestimonialSection, fetchReviewStats, fetchReviews } from './chunk-APZMXRI3.mjs';
|
|
6
6
|
import './chunk-N24BPFF6.mjs';
|
|
7
|
-
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, OfferingCard, OfferingList, ProductEmbed, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchNextEvent, fetchOffering, fetchOfferings, fetchProducts, fetchServices, fetchUpcomingEvents, formatDate, formatDateTime, formatPrice, getOfferingUrl, registerForEvent, useEventModal } from './chunk-
|
|
7
|
+
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, OfferingCard, OfferingList, ProductEmbed, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchNextEvent, fetchOffering, fetchOfferings, fetchProducts, fetchServices, fetchUpcomingEvents, formatDate, formatDateTime, formatPrice, getOfferingUrl, registerForEvent, useEventModal } from './chunk-CYZYPWGW.mjs';
|
|
8
8
|
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-ZU6YPEAF.mjs';
|
|
9
9
|
export { SetupWizard } from './chunk-IKIJEKU3.mjs';
|
|
10
10
|
import './chunk-VZMDH3R4.mjs';
|
|
11
11
|
import { SitemapSync } from './chunk-HNCSTGVK.mjs';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import { AnalyticsProvider } from './chunk-
|
|
12
|
+
import './chunk-BPXMOHVH.mjs';
|
|
13
|
+
import { AnalyticsProvider } from './chunk-35L6FXF5.mjs';
|
|
14
14
|
import { EngageWidget } from './chunk-VZMRZQ2D.mjs';
|
|
15
15
|
import { configureFormsApi } from './chunk-S7FRYNSU.mjs';
|
|
16
16
|
import './chunk-4XPGGLVP.mjs';
|
package/dist/layout/client.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunk466AL5CC_js = require('../chunk-466AL5CC.js');
|
|
5
5
|
require('../chunk-ZSMWDLMK.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "SiteKitClientProviders", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunk466AL5CC_js.SiteKitClientProviders; }
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=client.js.map
|
|
14
14
|
//# sourceMappingURL=client.js.map
|
package/dist/layout/client.mjs
CHANGED
package/dist/layout/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk466AL5CC_js = require('../chunk-466AL5CC.js');
|
|
4
4
|
var chunkDY4K6X3A_js = require('../chunk-DY4K6X3A.js');
|
|
5
5
|
var chunkLTTTIJPN_js = require('../chunk-LTTTIJPN.js');
|
|
6
6
|
require('../chunk-PJKHCYI5.js');
|
|
@@ -31,7 +31,7 @@ async function SiteKitLayout({
|
|
|
31
31
|
favicon && /* @__PURE__ */ jsxRuntime.jsx(chunkDY4K6X3A_js.ManagedFavicon, { apiKey: resolvedApiKey, apiUrl: resolvedApiUrl }),
|
|
32
32
|
managedScripts && /* @__PURE__ */ jsxRuntime.jsx(chunkLTTTIJPN_js.ManagedScripts, { position: "head" }),
|
|
33
33
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
-
|
|
34
|
+
chunk466AL5CC_js.SiteKitClientProviders,
|
|
35
35
|
{
|
|
36
36
|
apiKey: resolvedApiKey,
|
|
37
37
|
apiUrl: resolvedApiUrl,
|
package/dist/layout/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SiteKitClientProviders } from '../chunk-
|
|
1
|
+
import { SiteKitClientProviders } from '../chunk-XTRXH5OL.mjs';
|
|
2
2
|
import { ManagedFavicon } from '../chunk-N24BPFF6.mjs';
|
|
3
3
|
import { ManagedScripts } from '../chunk-J4K335PQ.mjs';
|
|
4
4
|
import '../chunk-3QKTOTWS.mjs';
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
require('../chunk-ZSMWDLMK.js');
|
|
5
|
-
var fs = require('fs');
|
|
6
5
|
var path = require('path');
|
|
6
|
+
var dotenv = require('dotenv');
|
|
7
|
+
var fs = require('fs');
|
|
7
8
|
|
|
8
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
10
|
|
|
10
|
-
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
11
11
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
12
|
+
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
12
13
|
|
|
13
14
|
function getApiConfig() {
|
|
14
|
-
const apiUrl = process.env.SONOR_API_URL || process.env.UPTRADE_API_URL || process.env.NEXT_PUBLIC_UPTRADE_API_URL || "https://api.sonor.io";
|
|
15
|
-
const apiKey = process.env.SONOR_API_KEY || process.env.UPTRADE_API_KEY || process.env.NEXT_PUBLIC_UPTRADE_API_KEY || "";
|
|
15
|
+
const apiUrl = process.env.SONOR_API_URL || process.env.UPTRADE_API_URL || process.env.NEXT_PUBLIC_SONOR_API_URL || process.env.NEXT_PUBLIC_UPTRADE_API_URL || "https://api.sonor.io";
|
|
16
|
+
const apiKey = process.env.SONOR_API_KEY || process.env.UPTRADE_API_KEY || process.env.NEXT_PUBLIC_SONOR_API_KEY || process.env.NEXT_PUBLIC_UPTRADE_API_KEY || "";
|
|
16
17
|
return { apiUrl, apiKey };
|
|
17
18
|
}
|
|
18
19
|
function discoverNextJsRoutes(appDir, basePath = "") {
|
|
@@ -55,7 +56,9 @@ function discoverNextJsRoutes(appDir, basePath = "") {
|
|
|
55
56
|
async function registerSitemapViaApi(entries, optimizeMeta) {
|
|
56
57
|
const { apiUrl, apiKey } = getApiConfig();
|
|
57
58
|
if (!apiKey) {
|
|
58
|
-
console.warn(
|
|
59
|
+
console.warn(
|
|
60
|
+
"[Sonor] No API key (SONOR_API_KEY, UPTRADE_API_KEY, NEXT_PUBLIC_SONOR_API_KEY, or NEXT_PUBLIC_UPTRADE_API_KEY)"
|
|
61
|
+
);
|
|
59
62
|
return { success: false, created: 0, updated: 0 };
|
|
60
63
|
}
|
|
61
64
|
try {
|
|
@@ -80,15 +83,15 @@ async function registerSitemapViaApi(entries, optimizeMeta) {
|
|
|
80
83
|
async function registerLocalSitemap(options) {
|
|
81
84
|
let entries = options.entries || [];
|
|
82
85
|
if (options.autoDiscover && entries.length === 0) {
|
|
83
|
-
const
|
|
86
|
+
const cwd2 = process.cwd();
|
|
84
87
|
const appDirs = [
|
|
85
|
-
path__default.default.join(
|
|
86
|
-
path__default.default.join(
|
|
88
|
+
path__default.default.join(cwd2, "app"),
|
|
89
|
+
path__default.default.join(cwd2, "src", "app")
|
|
87
90
|
];
|
|
88
91
|
for (const appDir of appDirs) {
|
|
89
92
|
if (fs__default.default.existsSync(appDir)) {
|
|
90
93
|
entries = discoverNextJsRoutes(appDir);
|
|
91
|
-
console.log(`[Sonor] Auto-discovered ${entries.length} routes from ${path__default.default.relative(
|
|
94
|
+
console.log(`[Sonor] Auto-discovered ${entries.length} routes from ${path__default.default.relative(cwd2, appDir)}`);
|
|
92
95
|
break;
|
|
93
96
|
}
|
|
94
97
|
}
|
|
@@ -115,6 +118,13 @@ async function registerLocalSitemap(options) {
|
|
|
115
118
|
}
|
|
116
119
|
|
|
117
120
|
// src/seo/register-sitemap-cli.ts
|
|
121
|
+
var cwd = process.cwd();
|
|
122
|
+
dotenv.config({ path: path__default.default.join(cwd, ".env") });
|
|
123
|
+
dotenv.config({ path: path__default.default.join(cwd, ".env.local"), override: true });
|
|
124
|
+
if (process.env.NODE_ENV === "production") {
|
|
125
|
+
dotenv.config({ path: path__default.default.join(cwd, ".env.production") });
|
|
126
|
+
dotenv.config({ path: path__default.default.join(cwd, ".env.production.local"), override: true });
|
|
127
|
+
}
|
|
118
128
|
async function main() {
|
|
119
129
|
const args = process.argv.slice(2);
|
|
120
130
|
const autoDiscover = args.includes("--auto-discover") || args.includes("-a");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/seo/register-sitemap-cli-impl.ts","../../src/seo/register-sitemap-cli.ts"],"names":["fs","path"],"mappings":"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","file":"register-sitemap-cli.js","sourcesContent":["/**\n * Standalone implementation for uptrade-register-sitemap CLI.\n * Does NOT import from server-api or routing, so it can run in Node without\n * pulling in server-only (which throws when required outside Next.js server context).\n */\n\nimport fs from 'fs'\nimport path from 'path'\n\nfunction getApiConfig(): { apiUrl: string; apiKey: string } {\n const apiUrl =\n process.env.SONOR_API_URL ||\n process.env.UPTRADE_API_URL ||\n process.env.NEXT_PUBLIC_UPTRADE_API_URL ||\n 'https://api.sonor.io'\n const apiKey =\n process.env.SONOR_API_KEY ||\n process.env.UPTRADE_API_KEY ||\n process.env.NEXT_PUBLIC_UPTRADE_API_KEY ||\n ''\n return { apiUrl, apiKey }\n}\n\nfunction discoverNextJsRoutes(\n appDir: string,\n basePath: string = ''\n): Array<{ path: string; priority: number }> {\n const entries: Array<{ path: string; priority: number }> = []\n\n const items = fs.readdirSync(appDir, { withFileTypes: true })\n\n for (const item of items) {\n if (item.name.startsWith('_') || item.name.startsWith('.')) continue\n if (item.name === 'api') continue\n if (item.name === 'node_modules') continue\n\n const itemPath = path.join(appDir, item.name)\n\n if (item.isDirectory()) {\n const hasPage =\n fs.existsSync(path.join(itemPath, 'page.tsx')) ||\n fs.existsSync(path.join(itemPath, 'page.js')) ||\n fs.existsSync(path.join(itemPath, 'page.jsx'))\n\n const isRouteGroup = item.name.startsWith('(') && item.name.endsWith(')')\n const isDynamic = item.name.startsWith('[') && item.name.endsWith(']')\n\n let routePath = basePath\n if (!isRouteGroup && !isDynamic) {\n routePath = `${basePath}/${item.name}`\n }\n\n if (hasPage && !isDynamic) {\n const priority = routePath === '' ? 1.0 : 0.8\n entries.push({ path: routePath || '/', priority })\n }\n\n if (!isDynamic) {\n const subEntries = discoverNextJsRoutes(\n itemPath,\n isRouteGroup ? basePath : routePath\n )\n entries.push(...subEntries)\n }\n }\n }\n\n if (basePath === '') {\n const hasRootPage =\n fs.existsSync(path.join(appDir, 'page.tsx')) ||\n fs.existsSync(path.join(appDir, 'page.js')) ||\n fs.existsSync(path.join(appDir, 'page.jsx'))\n if (hasRootPage) {\n entries.unshift({ path: '/', priority: 1.0 })\n }\n }\n\n return entries\n}\n\nasync function registerSitemapViaApi(\n entries: Array<{\n path: string\n title?: string\n priority?: number\n changefreq?: string\n }>,\n optimizeMeta: boolean\n): Promise<{\n success: boolean\n created: number\n updated: number\n removed?: number\n meta_optimization?: { triggered: boolean; pages_queued: number } | null\n}> {\n const { apiUrl, apiKey } = getApiConfig()\n if (!apiKey) {\n console.warn('[Sonor] No API key (SONOR_API_KEY or UPTRADE_API_KEY)')\n return { success: false, created: 0, updated: 0 }\n }\n\n try {\n const response = await fetch(`${apiUrl}/api/public/seo/register-sitemap`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': apiKey,\n },\n body: JSON.stringify({ entries, optimize_meta: optimizeMeta }),\n })\n\n if (!response.ok) {\n console.error(`[Sonor] Sitemap registration failed: ${response.status} ${response.statusText}`)\n return { success: false, created: 0, updated: 0 }\n }\n\n return await response.json()\n } catch (error) {\n console.error('[Sonor] Sitemap registration error:', error)\n return { success: false, created: 0, updated: 0 }\n }\n}\n\nexport type RegisterLocalSitemapOptions = {\n entries?: Array<{\n path: string\n title?: string\n priority?: number\n changefreq?: 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never'\n }>\n autoDiscover?: boolean\n optimize_meta?: boolean\n}\n\nexport type RegisterLocalSitemapResult = {\n success: boolean\n created: number\n updated: number\n removed?: number\n meta_optimization?: {\n triggered: boolean\n pages_queued: number\n } | null\n}\n\nexport async function registerLocalSitemap(\n options: RegisterLocalSitemapOptions\n): Promise<RegisterLocalSitemapResult> {\n let entries = options.entries || []\n\n if (options.autoDiscover && entries.length === 0) {\n const cwd = process.cwd()\n const appDirs = [\n path.join(cwd, 'app'),\n path.join(cwd, 'src', 'app'),\n ]\n for (const appDir of appDirs) {\n if (fs.existsSync(appDir)) {\n entries = discoverNextJsRoutes(appDir)\n console.log(`[Sonor] Auto-discovered ${entries.length} routes from ${path.relative(cwd, appDir)}`)\n break\n }\n }\n }\n\n if (entries.length === 0) {\n console.warn('[Sonor] No sitemap entries to register')\n return { success: true, created: 0, updated: 0 }\n }\n\n console.log(`[Sonor] Registering ${entries.length} sitemap entries...`)\n const payload = entries.map((e) => ({\n path: e.path,\n title: e.title,\n priority: e.priority,\n changefreq: e.changefreq,\n }))\n const result = await registerSitemapViaApi(\n payload,\n options.optimize_meta !== false\n )\n\n if (result.success) {\n console.log(`[Sonor] Sitemap registered: ${result.created} new, ${result.updated} updated`)\n }\n\n return result\n}\n","#!/usr/bin/env node\n/**\n * CLI script to register sitemap entries at build time\n * \n * Usage:\n * npx uptrade-register-sitemap\n * npx uptrade-register-sitemap --auto-discover\n * npx uptrade-register-sitemap --no-optimize # Skip Signal AI meta optimization\n * \n * Or in package.json:\n * {\n * \"scripts\": {\n * \"postbuild\": \"uptrade-register-sitemap --auto-discover\"\n * }\n * }\n */\n\nimport { registerLocalSitemap } from './register-sitemap-cli-impl'\n\nasync function main() {\n const args = process.argv.slice(2)\n const autoDiscover = args.includes('--auto-discover') || args.includes('-a')\n const skipOptimize = args.includes('--no-optimize') || args.includes('--skip-optimize')\n \n console.log('[Sonor] Registering sitemap entries...')\n \n try {\n const result = await registerLocalSitemap({\n autoDiscover,\n optimize_meta: !skipOptimize,\n })\n \n if (result.success) {\n console.log(`[Sonor] ✓ Sitemap registered successfully`)\n console.log(`[Sonor] Created: ${result.created}`)\n console.log(`[Sonor] Updated: ${result.updated}`)\n if (result.removed !== undefined && result.removed > 0) {\n console.log(`[Sonor] Removed: ${result.removed}`)\n }\n if (result.meta_optimization?.triggered) {\n console.log(`[Sonor] ✓ Signal AI meta optimization triggered for ${result.meta_optimization.pages_queued} pages`)\n console.log(`[Sonor] (Running in background - check Portal SEO module for results)`)\n }\n process.exit(0)\n } else {\n console.error('[Sonor] ✗ Failed to register sitemap')\n process.exit(1)\n }\n } catch (error) {\n console.error('[Sonor] ✗ Error:', error)\n process.exit(1)\n }\n}\n\nmain()\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/seo/register-sitemap-cli-impl.ts","../../src/seo/register-sitemap-cli.ts"],"names":["fs","path","cwd","dotenvConfig"],"mappings":"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","file":"register-sitemap-cli.js","sourcesContent":["/**\n * Standalone implementation for uptrade-register-sitemap CLI.\n * Does NOT import from server-api or routing, so it can run in Node without\n * pulling in server-only (which throws when required outside Next.js server context).\n */\n\nimport fs from 'fs'\nimport path from 'path'\n\nfunction getApiConfig(): { apiUrl: string; apiKey: string } {\n const apiUrl =\n process.env.SONOR_API_URL ||\n process.env.UPTRADE_API_URL ||\n process.env.NEXT_PUBLIC_SONOR_API_URL ||\n process.env.NEXT_PUBLIC_UPTRADE_API_URL ||\n 'https://api.sonor.io'\n const apiKey =\n process.env.SONOR_API_KEY ||\n process.env.UPTRADE_API_KEY ||\n process.env.NEXT_PUBLIC_SONOR_API_KEY ||\n process.env.NEXT_PUBLIC_UPTRADE_API_KEY ||\n ''\n return { apiUrl, apiKey }\n}\n\nfunction discoverNextJsRoutes(\n appDir: string,\n basePath: string = ''\n): Array<{ path: string; priority: number }> {\n const entries: Array<{ path: string; priority: number }> = []\n\n const items = fs.readdirSync(appDir, { withFileTypes: true })\n\n for (const item of items) {\n if (item.name.startsWith('_') || item.name.startsWith('.')) continue\n if (item.name === 'api') continue\n if (item.name === 'node_modules') continue\n\n const itemPath = path.join(appDir, item.name)\n\n if (item.isDirectory()) {\n const hasPage =\n fs.existsSync(path.join(itemPath, 'page.tsx')) ||\n fs.existsSync(path.join(itemPath, 'page.js')) ||\n fs.existsSync(path.join(itemPath, 'page.jsx'))\n\n const isRouteGroup = item.name.startsWith('(') && item.name.endsWith(')')\n const isDynamic = item.name.startsWith('[') && item.name.endsWith(']')\n\n let routePath = basePath\n if (!isRouteGroup && !isDynamic) {\n routePath = `${basePath}/${item.name}`\n }\n\n if (hasPage && !isDynamic) {\n const priority = routePath === '' ? 1.0 : 0.8\n entries.push({ path: routePath || '/', priority })\n }\n\n if (!isDynamic) {\n const subEntries = discoverNextJsRoutes(\n itemPath,\n isRouteGroup ? basePath : routePath\n )\n entries.push(...subEntries)\n }\n }\n }\n\n if (basePath === '') {\n const hasRootPage =\n fs.existsSync(path.join(appDir, 'page.tsx')) ||\n fs.existsSync(path.join(appDir, 'page.js')) ||\n fs.existsSync(path.join(appDir, 'page.jsx'))\n if (hasRootPage) {\n entries.unshift({ path: '/', priority: 1.0 })\n }\n }\n\n return entries\n}\n\nasync function registerSitemapViaApi(\n entries: Array<{\n path: string\n title?: string\n priority?: number\n changefreq?: string\n }>,\n optimizeMeta: boolean\n): Promise<{\n success: boolean\n created: number\n updated: number\n removed?: number\n meta_optimization?: { triggered: boolean; pages_queued: number } | null\n}> {\n const { apiUrl, apiKey } = getApiConfig()\n if (!apiKey) {\n console.warn(\n '[Sonor] No API key (SONOR_API_KEY, UPTRADE_API_KEY, NEXT_PUBLIC_SONOR_API_KEY, or NEXT_PUBLIC_UPTRADE_API_KEY)',\n )\n return { success: false, created: 0, updated: 0 }\n }\n\n try {\n const response = await fetch(`${apiUrl}/api/public/seo/register-sitemap`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': apiKey,\n },\n body: JSON.stringify({ entries, optimize_meta: optimizeMeta }),\n })\n\n if (!response.ok) {\n console.error(`[Sonor] Sitemap registration failed: ${response.status} ${response.statusText}`)\n return { success: false, created: 0, updated: 0 }\n }\n\n return await response.json()\n } catch (error) {\n console.error('[Sonor] Sitemap registration error:', error)\n return { success: false, created: 0, updated: 0 }\n }\n}\n\nexport type RegisterLocalSitemapOptions = {\n entries?: Array<{\n path: string\n title?: string\n priority?: number\n changefreq?: 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never'\n }>\n autoDiscover?: boolean\n optimize_meta?: boolean\n}\n\nexport type RegisterLocalSitemapResult = {\n success: boolean\n created: number\n updated: number\n removed?: number\n meta_optimization?: {\n triggered: boolean\n pages_queued: number\n } | null\n}\n\nexport async function registerLocalSitemap(\n options: RegisterLocalSitemapOptions\n): Promise<RegisterLocalSitemapResult> {\n let entries = options.entries || []\n\n if (options.autoDiscover && entries.length === 0) {\n const cwd = process.cwd()\n const appDirs = [\n path.join(cwd, 'app'),\n path.join(cwd, 'src', 'app'),\n ]\n for (const appDir of appDirs) {\n if (fs.existsSync(appDir)) {\n entries = discoverNextJsRoutes(appDir)\n console.log(`[Sonor] Auto-discovered ${entries.length} routes from ${path.relative(cwd, appDir)}`)\n break\n }\n }\n }\n\n if (entries.length === 0) {\n console.warn('[Sonor] No sitemap entries to register')\n return { success: true, created: 0, updated: 0 }\n }\n\n console.log(`[Sonor] Registering ${entries.length} sitemap entries...`)\n const payload = entries.map((e) => ({\n path: e.path,\n title: e.title,\n priority: e.priority,\n changefreq: e.changefreq,\n }))\n const result = await registerSitemapViaApi(\n payload,\n options.optimize_meta !== false\n )\n\n if (result.success) {\n console.log(`[Sonor] Sitemap registered: ${result.created} new, ${result.updated} updated`)\n }\n\n return result\n}\n","#!/usr/bin/env node\n/**\n * CLI script to register sitemap entries at build time\n * \n * Usage:\n * npx uptrade-register-sitemap\n * npx uptrade-register-sitemap --auto-discover\n * npx uptrade-register-sitemap --no-optimize # Skip Signal AI meta optimization\n * \n * Or in package.json:\n * {\n * \"scripts\": {\n * \"postbuild\": \"uptrade-register-sitemap --auto-discover\"\n * }\n * }\n */\n\nimport path from 'path'\nimport { config as dotenvConfig } from 'dotenv'\nimport { registerLocalSitemap } from './register-sitemap-cli-impl'\n\n// npm postbuild runs outside Next.js — env from .env* is not loaded automatically\nconst cwd = process.cwd()\ndotenvConfig({ path: path.join(cwd, '.env') })\ndotenvConfig({ path: path.join(cwd, '.env.local'), override: true })\nif (process.env.NODE_ENV === 'production') {\n dotenvConfig({ path: path.join(cwd, '.env.production') })\n dotenvConfig({ path: path.join(cwd, '.env.production.local'), override: true })\n}\n\nasync function main() {\n const args = process.argv.slice(2)\n const autoDiscover = args.includes('--auto-discover') || args.includes('-a')\n const skipOptimize = args.includes('--no-optimize') || args.includes('--skip-optimize')\n \n console.log('[Sonor] Registering sitemap entries...')\n \n try {\n const result = await registerLocalSitemap({\n autoDiscover,\n optimize_meta: !skipOptimize,\n })\n \n if (result.success) {\n console.log(`[Sonor] ✓ Sitemap registered successfully`)\n console.log(`[Sonor] Created: ${result.created}`)\n console.log(`[Sonor] Updated: ${result.updated}`)\n if (result.removed !== undefined && result.removed > 0) {\n console.log(`[Sonor] Removed: ${result.removed}`)\n }\n if (result.meta_optimization?.triggered) {\n console.log(`[Sonor] ✓ Signal AI meta optimization triggered for ${result.meta_optimization.pages_queued} pages`)\n console.log(`[Sonor] (Running in background - check Portal SEO module for results)`)\n }\n process.exit(0)\n } else {\n console.error('[Sonor] ✗ Failed to register sitemap')\n process.exit(1)\n }\n } catch (error) {\n console.error('[Sonor] ✗ Error:', error)\n process.exit(1)\n }\n}\n\nmain()\n"]}
|