@brandlab-digital/site-core 0.1.0-alpha.1 → 0.1.0-alpha.11
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/contact.d.ts +27 -0
- package/dist/contact.d.ts.map +1 -1
- package/dist/contact.js +92 -1
- package/dist/contact.js.map +1 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +7 -1
- package/dist/metadata.js.map +1 -1
- package/dist/rich-text.d.ts +8 -0
- package/dist/rich-text.d.ts.map +1 -0
- package/dist/rich-text.js +34 -0
- package/dist/rich-text.js.map +1 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +10 -0
- package/dist/schema.js.map +1 -1
- package/dist/sitemaps.d.ts +13 -0
- package/dist/sitemaps.d.ts.map +1 -1
- package/dist/sitemaps.js +23 -0
- package/dist/sitemaps.js.map +1 -1
- package/package.json +8 -2
package/dist/contact.d.ts
CHANGED
|
@@ -3,42 +3,49 @@ export interface ContactAttachmentPolicy {
|
|
|
3
3
|
maxFileSizeBytes: number;
|
|
4
4
|
maxTotalSizeBytes: number;
|
|
5
5
|
allowedTypes: readonly ContactAttachmentMimeType[];
|
|
6
|
+
filenamePrefix?: string;
|
|
6
7
|
}
|
|
7
8
|
export type ContactAttachmentMimeType = 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/webp' | 'image/gif' | 'image/heic' | 'image/heif';
|
|
8
9
|
export declare const DEFAULT_CONTACT_ATTACHMENT_POLICY: {
|
|
9
10
|
readonly maxFiles: 5;
|
|
10
11
|
readonly maxFileSizeBytes: number;
|
|
11
12
|
readonly maxTotalSizeBytes: number;
|
|
13
|
+
readonly filenamePrefix: "contact-photo";
|
|
12
14
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
13
15
|
};
|
|
14
16
|
export declare function contactAttachmentAccept(policy?: {
|
|
15
17
|
readonly maxFiles: 5;
|
|
16
18
|
readonly maxFileSizeBytes: number;
|
|
17
19
|
readonly maxTotalSizeBytes: number;
|
|
20
|
+
readonly filenamePrefix: "contact-photo";
|
|
18
21
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
19
22
|
}): string;
|
|
20
23
|
export declare function contactAttachmentTypeLabel(policy?: {
|
|
21
24
|
readonly maxFiles: 5;
|
|
22
25
|
readonly maxFileSizeBytes: number;
|
|
23
26
|
readonly maxTotalSizeBytes: number;
|
|
27
|
+
readonly filenamePrefix: "contact-photo";
|
|
24
28
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
25
29
|
}): string;
|
|
26
30
|
export declare function isAllowedContactAttachmentType(value: string, policy?: {
|
|
27
31
|
readonly maxFiles: 5;
|
|
28
32
|
readonly maxFileSizeBytes: number;
|
|
29
33
|
readonly maxTotalSizeBytes: number;
|
|
34
|
+
readonly filenamePrefix: "contact-photo";
|
|
30
35
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
31
36
|
}): value is ContactAttachmentMimeType;
|
|
32
37
|
export declare function resolveContactAttachmentType(filename: string, fileType?: string, policy?: {
|
|
33
38
|
readonly maxFiles: 5;
|
|
34
39
|
readonly maxFileSizeBytes: number;
|
|
35
40
|
readonly maxTotalSizeBytes: number;
|
|
41
|
+
readonly filenamePrefix: "contact-photo";
|
|
36
42
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
37
43
|
}): ContactAttachmentMimeType | null;
|
|
38
44
|
export declare function createContactAttachmentFilename(options: {
|
|
39
45
|
index: number;
|
|
40
46
|
contentType: ContactAttachmentMimeType;
|
|
41
47
|
prefix?: string;
|
|
48
|
+
policy?: ContactAttachmentPolicy;
|
|
42
49
|
}): string;
|
|
43
50
|
export declare function validateContactAttachment(file: {
|
|
44
51
|
filename: string;
|
|
@@ -48,6 +55,7 @@ export declare function validateContactAttachment(file: {
|
|
|
48
55
|
readonly maxFiles: 5;
|
|
49
56
|
readonly maxFileSizeBytes: number;
|
|
50
57
|
readonly maxTotalSizeBytes: number;
|
|
58
|
+
readonly filenamePrefix: "contact-photo";
|
|
51
59
|
readonly allowedTypes: readonly ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", "image/heic", "image/heif"];
|
|
52
60
|
}): {
|
|
53
61
|
ok: true;
|
|
@@ -56,4 +64,23 @@ export declare function validateContactAttachment(file: {
|
|
|
56
64
|
ok: false;
|
|
57
65
|
message: string;
|
|
58
66
|
};
|
|
67
|
+
export type AdClickIds = {
|
|
68
|
+
gclid?: string;
|
|
69
|
+
gbraid?: string;
|
|
70
|
+
wbraid?: string;
|
|
71
|
+
gadParams?: Record<string, string>;
|
|
72
|
+
};
|
|
73
|
+
export declare function resolveTrackingSearchParams(queryParams: string, pageUrl?: string): URLSearchParams;
|
|
74
|
+
export declare function resolveAdClickIds(queryParams: string, pageUrl?: string): AdClickIds;
|
|
75
|
+
export declare function hasAdClickIds(adClickIds: AdClickIds): boolean;
|
|
76
|
+
export declare function hasGoogleAdsClickId(queryParams: string, pageUrl?: string): boolean;
|
|
77
|
+
export declare function getAdClickIdRows(adClickIds: AdClickIds | undefined): {
|
|
78
|
+
field: string;
|
|
79
|
+
label: string;
|
|
80
|
+
value: string;
|
|
81
|
+
}[];
|
|
82
|
+
export declare function formatAdClickIdsForEmailText(adClickIds: AdClickIds): string;
|
|
83
|
+
export declare function parseContactEmailRecipients(value: string | undefined): string[];
|
|
84
|
+
export declare function normalizeAustralianPhoneDigits(phone: string): string;
|
|
85
|
+
export declare function isValidAustralianPhoneNumber(phone: string): boolean;
|
|
59
86
|
//# sourceMappingURL=contact.d.ts.map
|
package/dist/contact.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../src/contact.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,yBAAyB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../src/contact.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,yBAAyB,EAAE,CAAA;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,yBAAyB,GACjC,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,CAAA;AAEhB,eAAO,MAAM,iCAAiC;;;;;;CAcF,CAAA;AAY5C,wBAAgB,uBAAuB,CAAC,MAAM;;;;;;CAAoC,UAEjF;AAED,wBAAgB,0BAA0B,CAAC,MAAM;;;;;;CAAoC,UAYpF;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM;;;;;;CAAoC,GACzC,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM;;;;;;CAAoC,GACzC,yBAAyB,GAAG,IAAI,CAYlC;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC,UAQA;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM;;;;;;CAAoC,GAExC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,yBAAyB,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAoBjC;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC,CAAA;AAQD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,SAAK,mBAkB5E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,UAAU,CAuB/E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,WAKnD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,SAAK,WAEpE;AAUD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;;;;IAiBlE;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,UAAU,UAIlE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,YAOpE;AAID,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,UAE3D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,WAEzD"}
|
package/dist/contact.js
CHANGED
|
@@ -2,6 +2,7 @@ export const DEFAULT_CONTACT_ATTACHMENT_POLICY = {
|
|
|
2
2
|
maxFiles: 5,
|
|
3
3
|
maxFileSizeBytes: 5 * 1024 * 1024,
|
|
4
4
|
maxTotalSizeBytes: 15 * 1024 * 1024,
|
|
5
|
+
filenamePrefix: 'contact-photo',
|
|
5
6
|
allowedTypes: [
|
|
6
7
|
'image/jpeg',
|
|
7
8
|
'image/jpg',
|
|
@@ -55,7 +56,10 @@ export function resolveContactAttachmentType(filename, fileType, policy = DEFAUL
|
|
|
55
56
|
}
|
|
56
57
|
export function createContactAttachmentFilename(options) {
|
|
57
58
|
const extension = options.contentType.split('/')[1] || 'jpg';
|
|
58
|
-
|
|
59
|
+
const prefix = options.prefix ??
|
|
60
|
+
options.policy?.filenamePrefix ??
|
|
61
|
+
DEFAULT_CONTACT_ATTACHMENT_POLICY.filenamePrefix;
|
|
62
|
+
return `${prefix}-${options.index + 1}.${extension}`;
|
|
59
63
|
}
|
|
60
64
|
export function validateContactAttachment(file, policy = DEFAULT_CONTACT_ATTACHMENT_POLICY) {
|
|
61
65
|
const contentType = resolveContactAttachmentType(file.filename, file.type, policy);
|
|
@@ -73,4 +77,91 @@ export function validateContactAttachment(file, policy = DEFAULT_CONTACT_ATTACHM
|
|
|
73
77
|
}
|
|
74
78
|
return { ok: true, contentType };
|
|
75
79
|
}
|
|
80
|
+
const AD_CLICK_ID_FIELDS = [
|
|
81
|
+
['gclid', 'Google Click ID'],
|
|
82
|
+
['gbraid', 'GBRAID'],
|
|
83
|
+
['wbraid', 'WBRAID'],
|
|
84
|
+
];
|
|
85
|
+
export function resolveTrackingSearchParams(queryParams, pageUrl = '') {
|
|
86
|
+
const trimmedQueryParams = queryParams.trim();
|
|
87
|
+
if (trimmedQueryParams) {
|
|
88
|
+
return new URLSearchParams(trimmedQueryParams.startsWith('?') ? trimmedQueryParams : `?${trimmedQueryParams}`);
|
|
89
|
+
}
|
|
90
|
+
if (pageUrl) {
|
|
91
|
+
try {
|
|
92
|
+
return new URL(pageUrl).searchParams;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return new URLSearchParams();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return new URLSearchParams();
|
|
99
|
+
}
|
|
100
|
+
export function resolveAdClickIds(queryParams, pageUrl = '') {
|
|
101
|
+
const params = resolveTrackingSearchParams(queryParams, pageUrl);
|
|
102
|
+
const clickIds = AD_CLICK_ID_FIELDS.reduce((ids, [field]) => {
|
|
103
|
+
const value = params.get(field)?.trim();
|
|
104
|
+
if (value) {
|
|
105
|
+
ids[field] = value;
|
|
106
|
+
}
|
|
107
|
+
return ids;
|
|
108
|
+
}, {});
|
|
109
|
+
const gadParams = {};
|
|
110
|
+
params.forEach((value, key) => {
|
|
111
|
+
const trimmedValue = value.trim();
|
|
112
|
+
const normalizedKey = key.toLowerCase();
|
|
113
|
+
if (trimmedValue && (normalizedKey === 'gad_source' || normalizedKey.startsWith('gad_'))) {
|
|
114
|
+
gadParams[key] = trimmedValue;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return Object.keys(gadParams).length > 0 ? { ...clickIds, gadParams } : clickIds;
|
|
118
|
+
}
|
|
119
|
+
export function hasAdClickIds(adClickIds) {
|
|
120
|
+
return (AD_CLICK_ID_FIELDS.some(([field]) => Boolean(adClickIds[field])) ||
|
|
121
|
+
Object.keys(adClickIds.gadParams ?? {}).length > 0);
|
|
122
|
+
}
|
|
123
|
+
export function hasGoogleAdsClickId(queryParams, pageUrl = '') {
|
|
124
|
+
return hasAdClickIds(resolveAdClickIds(queryParams, pageUrl));
|
|
125
|
+
}
|
|
126
|
+
function formatGadLabel(key) {
|
|
127
|
+
return key
|
|
128
|
+
.replace(/^gad_/, 'GAD ')
|
|
129
|
+
.replace(/_/g, ' ')
|
|
130
|
+
.replace(/campaignid\b/i, 'campaign ID')
|
|
131
|
+
.replace(/\b\w/g, (letter) => letter.toUpperCase());
|
|
132
|
+
}
|
|
133
|
+
export function getAdClickIdRows(adClickIds) {
|
|
134
|
+
if (!adClickIds)
|
|
135
|
+
return [];
|
|
136
|
+
const directRows = AD_CLICK_ID_FIELDS.flatMap(([field, label]) => {
|
|
137
|
+
const value = adClickIds[field];
|
|
138
|
+
return value ? [{ field, label, value }] : [];
|
|
139
|
+
});
|
|
140
|
+
const gadRows = Object.entries(adClickIds.gadParams ?? {})
|
|
141
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
142
|
+
.map(([field, value]) => ({
|
|
143
|
+
field,
|
|
144
|
+
label: formatGadLabel(field),
|
|
145
|
+
value,
|
|
146
|
+
}));
|
|
147
|
+
return [...directRows, ...gadRows];
|
|
148
|
+
}
|
|
149
|
+
export function formatAdClickIdsForEmailText(adClickIds) {
|
|
150
|
+
return getAdClickIdRows(adClickIds)
|
|
151
|
+
.map(({ label, value }) => `${label}: ${value}`)
|
|
152
|
+
.join('\n');
|
|
153
|
+
}
|
|
154
|
+
export function parseContactEmailRecipients(value) {
|
|
155
|
+
return (value
|
|
156
|
+
?.split(',')
|
|
157
|
+
.map((item) => item.trim())
|
|
158
|
+
.filter(Boolean) ?? []);
|
|
159
|
+
}
|
|
160
|
+
const AUSTRALIAN_PHONE_DIGITS = /^(?:0[23478]\d{8}|61[23478]\d{8})$/;
|
|
161
|
+
export function normalizeAustralianPhoneDigits(phone) {
|
|
162
|
+
return phone.replace(/[^\d]/g, '');
|
|
163
|
+
}
|
|
164
|
+
export function isValidAustralianPhoneNumber(phone) {
|
|
165
|
+
return AUSTRALIAN_PHONE_DIGITS.test(normalizeAustralianPhoneDigits(phone));
|
|
166
|
+
}
|
|
76
167
|
//# sourceMappingURL=contact.js.map
|
package/dist/contact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.js","sourceRoot":"","sources":["../src/contact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contact.js","sourceRoot":"","sources":["../src/contact.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,UAAU,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,mBAAmB,CAAA;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,yBAAyB,CAAA;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,KAAK,CAAA;QACZ,MAAM,EAAE,KAAK,CAAA;QACb,SAAS,EAAE;YAAE,KAAK,EAAE,KAAK,CAAC;YAAC,MAAM,EAAE,KAAK,CAAA;SAAE,CAAA;KAC3C,CAAA;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;QAC3B,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAqB,CAAA;QAC3B,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,yBAAyB,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,UAAU,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,mBAAmB,CAAA;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,yBAAyB,CAAA;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,KAAK,CAAA;QACZ,MAAM,EAAE,KAAK,CAAA;QACb,SAAS,EAAE;YAAE,KAAK,EAAE,KAAK,CAAC;YAAC,MAAM,EAAE,KAAK,CAAA;SAAE,CAAA;KAC3C,CAAA;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;QAC3B,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAqB,CAAA;QAC3B,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,yBAAyB,CAAA;CAAE,UA+BtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAEjE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,UAetD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAI/D;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CA4DlF"}
|
package/dist/metadata.js
CHANGED
|
@@ -4,10 +4,16 @@ export function normalizeMetadataTitle(title, options) {
|
|
|
4
4
|
throw new Error('Metadata title cannot be empty.');
|
|
5
5
|
}
|
|
6
6
|
const brandSuffix = `| ${options.brandName}`.toLowerCase();
|
|
7
|
+
const brandName = options.brandName.trim().toLowerCase();
|
|
7
8
|
if (options.titleMode !== 'absolute' &&
|
|
8
9
|
normalizedTitle.toLowerCase().includes(brandSuffix)) {
|
|
9
10
|
throw new Error(`Metadata title "${normalizedTitle}" already includes the brand suffix. Pass a page-specific title only.`);
|
|
10
11
|
}
|
|
12
|
+
if (options.titleMode !== 'absolute' &&
|
|
13
|
+
brandName &&
|
|
14
|
+
normalizedTitle.toLowerCase().includes(brandName)) {
|
|
15
|
+
throw new Error(`Metadata title "${normalizedTitle}" already includes the brand name. Pass a page-specific title only or use titleMode: "absolute".`);
|
|
16
|
+
}
|
|
11
17
|
return normalizedTitle;
|
|
12
18
|
}
|
|
13
19
|
export function applyTitleTemplate(title, template) {
|
|
@@ -53,7 +59,7 @@ export function buildSeoMetadata(input) {
|
|
|
53
59
|
? socialImage.url
|
|
54
60
|
: input.defaultSocialImage.twitterUrl ?? input.defaultSocialImage.url;
|
|
55
61
|
return {
|
|
56
|
-
title:
|
|
62
|
+
title: { absolute: resolvedTitle },
|
|
57
63
|
resolvedTitle,
|
|
58
64
|
description: input.description,
|
|
59
65
|
canonicalPath,
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AA+DA,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,OAAqE;IAErE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAEpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface RichTextHrefPolicy {
|
|
2
|
+
allowedProtocols?: readonly string[];
|
|
3
|
+
allowInternalPaths?: boolean;
|
|
4
|
+
allowHashLinks?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function sanitizeRichTextHref(href: string, { allowedProtocols, allowInternalPaths, allowHashLinks, }?: RichTextHrefPolicy): string | null;
|
|
7
|
+
export declare function assertSafeRichTextHref(href: string, policy?: RichTextHrefPolicy): string;
|
|
8
|
+
//# sourceMappingURL=rich-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AASD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,EACE,gBAA4C,EAC5C,kBAAyB,EACzB,cAAqB,GACtB,GAAE,kBAAuB,GACzB,MAAM,GAAG,IAAI,CAuBf;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,UAQ/E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const DEFAULT_ALLOWED_PROTOCOLS = ['https:', 'mailto:', 'tel:'];
|
|
2
|
+
const CONTROL_CHARACTER_PATTERN = /[\u0000-\u001f\u007f]/;
|
|
3
|
+
function normalizeAllowedProtocols(protocols) {
|
|
4
|
+
return new Set(protocols.map((protocol) => protocol.toLowerCase()));
|
|
5
|
+
}
|
|
6
|
+
export function sanitizeRichTextHref(href, { allowedProtocols = DEFAULT_ALLOWED_PROTOCOLS, allowInternalPaths = true, allowHashLinks = true, } = {}) {
|
|
7
|
+
const value = href.trim();
|
|
8
|
+
if (!value || CONTROL_CHARACTER_PATTERN.test(value)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (allowHashLinks && value.startsWith('#')) {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
if (allowInternalPaths && value.startsWith('/')) {
|
|
15
|
+
return value.startsWith('//') ? null : value;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const url = new URL(value);
|
|
19
|
+
return normalizeAllowedProtocols(allowedProtocols).has(url.protocol.toLowerCase())
|
|
20
|
+
? value
|
|
21
|
+
: null;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function assertSafeRichTextHref(href, policy) {
|
|
28
|
+
const sanitizedHref = sanitizeRichTextHref(href, policy);
|
|
29
|
+
if (!sanitizedHref) {
|
|
30
|
+
throw new Error('Unsafe rich text link href.');
|
|
31
|
+
}
|
|
32
|
+
return sanitizedHref;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=rich-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../src/rich-text.ts"],"names":[],"mappings":"AAMA,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AACxE,MAAM,yBAAyB,GAAG,uBAAuB,CAAA;AAEzD,SAAS,yBAAyB,CAAC,SAA4B;IAC7D,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,EACE,gBAAgB,GAAG,yBAAyB,EAC5C,kBAAkB,GAAG,IAAI,EACzB,cAAc,GAAG,IAAI,MACC,EAAE;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAEzB,IAAI,CAAC,KAAK,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,kBAAkB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChF,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,MAA2B;IAC9E,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAExD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare function createSchema<T extends Record<string, unknown>>(data: T)
|
|
|
10
10
|
export declare function createSchemaGraph(...nodes: unknown[]): Schema<{
|
|
11
11
|
'@graph': unknown[];
|
|
12
12
|
}>;
|
|
13
|
+
export declare function appendSchemaAnchor(url: string, anchor: string): string;
|
|
13
14
|
export interface SchemaIdRoutes {
|
|
14
15
|
service: (slug: string) => string;
|
|
15
16
|
blogPost: (slug: string) => string;
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IACtB,UAAU,EAAE,oBAAoB,CAAA;CACjC,GAAG,CAAC,CAAA;AAEL,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOpD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAKlF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAyBtF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,MAAM,EAAE,cAAc,CAAA;CACvB;AAaD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe;;;6BAajC,MAAM;kCAED,MAAM;uBAEjB,MAAM;2BAEF,MAAM;EAEhC;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,cAAc,EAAE,EAC7B,OAAO,EAAE;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE;;;;;;;;;;;;;EAkBnD"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IACtB,UAAU,EAAE,oBAAoB,CAAA;CACjC,GAAG,CAAC,CAAA;AAEL,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOpD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAKlF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAyBtF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAU7D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,MAAM,EAAE,cAAc,CAAA;CACvB;AAaD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe;;;6BAajC,MAAM;kCAED,MAAM;uBAEjB,MAAM;2BAEF,MAAM;EAEhC;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,cAAc,EAAE,EAC7B,OAAO,EAAE;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE;;;;;;;;;;;;;EAkBnD"}
|
package/dist/schema.js
CHANGED
|
@@ -31,6 +31,16 @@ export function createSchemaGraph(...nodes) {
|
|
|
31
31
|
'@graph': filtered,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
+
export function appendSchemaAnchor(url, anchor) {
|
|
35
|
+
const trimmedUrl = url.trim();
|
|
36
|
+
const cleanAnchor = anchor.replace(/^#+/, '');
|
|
37
|
+
const [urlWithoutHash] = trimmedUrl.split('#');
|
|
38
|
+
const [urlWithoutQuery] = urlWithoutHash.split('?');
|
|
39
|
+
const normalizedUrl = /^https?:\/\/[^/]+$/i.test(urlWithoutQuery)
|
|
40
|
+
? `${urlWithoutQuery}/`
|
|
41
|
+
: urlWithoutQuery;
|
|
42
|
+
return `${normalizedUrl}#${cleanAnchor}`;
|
|
43
|
+
}
|
|
34
44
|
function normalizeSiteUrl(siteUrl) {
|
|
35
45
|
return siteUrl.replace(/\/+$/, '');
|
|
36
46
|
}
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/sitemaps.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export interface SitemapEntry {
|
|
|
5
5
|
changeFrequency?: SitemapChangeFrequency;
|
|
6
6
|
priority?: number;
|
|
7
7
|
}
|
|
8
|
+
export interface SitemapChunk {
|
|
9
|
+
path: string;
|
|
10
|
+
entries: readonly SitemapEntry[];
|
|
11
|
+
}
|
|
8
12
|
export declare const SITEMAP_PRIORITY: {
|
|
9
13
|
readonly home: 1;
|
|
10
14
|
readonly service: 0.9;
|
|
@@ -42,6 +46,15 @@ export declare function serializeSitemap(entries: readonly SitemapEntry[]): stri
|
|
|
42
46
|
export declare function serializeSitemapIndex(paths: readonly string[], options: {
|
|
43
47
|
absoluteUrl: (path: string) => string;
|
|
44
48
|
}): string;
|
|
49
|
+
export declare function createSitemapChunks(entries: readonly SitemapEntry[], options: {
|
|
50
|
+
pathPrefix: string;
|
|
51
|
+
maxUrlsPerSitemap?: number;
|
|
52
|
+
}): SitemapChunk[];
|
|
53
|
+
export declare function filterSitemapIndexPaths(groups: readonly {
|
|
54
|
+
path: string;
|
|
55
|
+
entryCount: number;
|
|
56
|
+
includeWhenEmpty?: boolean;
|
|
57
|
+
}[]): string[];
|
|
45
58
|
export declare function shouldIndexSite(options: {
|
|
46
59
|
nodeEnv?: string;
|
|
47
60
|
vercelEnv?: string;
|
package/dist/sitemaps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemaps.d.ts","sourceRoot":"","sources":["../src/sitemaps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AAExF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiBnB,CAAA;AAEV,eAAO,MAAM,iBAAiB;;;;;;;;;CAS6B,CAAA;AAE3D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/C;AAQD,wBAAgB,oBAAoB;;;EAKnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CA0BzE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACjD,MAAM,CAiBR;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,WAMA"}
|
|
1
|
+
{"version":3,"file":"sitemaps.d.ts","sourceRoot":"","sources":["../src/sitemaps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AAExF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiBnB,CAAA;AAEV,eAAO,MAAM,iBAAiB;;;;;;;;;CAS6B,CAAA;AAE3D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO/C;AAQD,wBAAgB,oBAAoB;;;EAKnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CA0BzE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACjD,MAAM,CAiBR;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GACA,YAAY,EAAE,CAqBhB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,YAKpF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,WAMA"}
|
package/dist/sitemaps.js
CHANGED
|
@@ -87,6 +87,29 @@ export function serializeSitemapIndex(paths, options) {
|
|
|
87
87
|
'</sitemapindex>',
|
|
88
88
|
].join('\n');
|
|
89
89
|
}
|
|
90
|
+
export function createSitemapChunks(entries, options) {
|
|
91
|
+
const maxUrlsPerSitemap = options.maxUrlsPerSitemap ?? 500;
|
|
92
|
+
if (!Number.isInteger(maxUrlsPerSitemap) || maxUrlsPerSitemap < 1 || maxUrlsPerSitemap > 50_000) {
|
|
93
|
+
throw new Error('maxUrlsPerSitemap must be an integer between 1 and 50000.');
|
|
94
|
+
}
|
|
95
|
+
const pathPrefix = options.pathPrefix.startsWith('/')
|
|
96
|
+
? options.pathPrefix
|
|
97
|
+
: `/${options.pathPrefix}`;
|
|
98
|
+
const normalizedPrefix = pathPrefix.replace(/\.xml$/, '');
|
|
99
|
+
const chunks = [];
|
|
100
|
+
for (let index = 0; index < entries.length; index += maxUrlsPerSitemap) {
|
|
101
|
+
chunks.push({
|
|
102
|
+
path: `${normalizedPrefix}-${chunks.length + 1}.xml`,
|
|
103
|
+
entries: entries.slice(index, index + maxUrlsPerSitemap),
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return chunks;
|
|
107
|
+
}
|
|
108
|
+
export function filterSitemapIndexPaths(groups) {
|
|
109
|
+
return groups
|
|
110
|
+
.filter((group) => group.includeWhenEmpty || group.entryCount > 0)
|
|
111
|
+
.map((group) => group.path);
|
|
112
|
+
}
|
|
90
113
|
export function shouldIndexSite(options) {
|
|
91
114
|
const isProduction = options.vercelEnv === 'production' ||
|
|
92
115
|
(!options.vercelEnv && options.nodeEnv === 'production');
|
package/dist/sitemaps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemaps.js","sourceRoot":"","sources":["../src/sitemaps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sitemaps.js","sourceRoot":"","sources":["../src/sitemaps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brandlab-digital/site-core",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.11",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"files": [
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
8
10
|
"scripts": {
|
|
9
11
|
"build": "tsc -p tsconfig.json",
|
|
10
12
|
"test": "vitest run",
|
|
@@ -19,6 +21,10 @@
|
|
|
19
21
|
"types": "./dist/schema.d.ts",
|
|
20
22
|
"import": "./dist/schema.js"
|
|
21
23
|
},
|
|
24
|
+
"./rich-text": {
|
|
25
|
+
"types": "./dist/rich-text.d.ts",
|
|
26
|
+
"import": "./dist/rich-text.js"
|
|
27
|
+
},
|
|
22
28
|
"./breadcrumbs": {
|
|
23
29
|
"types": "./dist/breadcrumbs.d.ts",
|
|
24
30
|
"import": "./dist/breadcrumbs.js"
|