@se-studio/core-ui 1.0.16 → 1.0.18
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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/rtf/rtf.d.ts.map +1 -1
- package/dist/rtf/rtf.js +2 -0
- package/dist/rtf/rtf.js.map +1 -1
- package/dist/utils/sitemap.d.ts +119 -0
- package/dist/utils/sitemap.d.ts.map +1 -0
- package/dist/utils/sitemap.js +167 -0
- package/dist/utils/sitemap.js.map +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -71,6 +71,8 @@ export { convertText } from './utils/convertText';
|
|
|
71
71
|
export { handleCmsError } from './utils/errorHandling';
|
|
72
72
|
export type { IContent } from './utils/previewUtils';
|
|
73
73
|
export { getPreviewAssetIdProps, getPreviewFieldIdProps, getPreviewParentProps, getPreviewProps, } from './utils/previewUtils';
|
|
74
|
+
export type { GenerateSitemapOptions, SitemapChangeFrequency, SitemapEntry, } from './utils/sitemap';
|
|
75
|
+
export { deduplicateSitemapEntries, generateNextSitemap, sortSitemapEntries, } from './utils/sitemap';
|
|
74
76
|
export { UnsupportedWarning } from './utils/UnsupportedWarning';
|
|
75
77
|
export { DEFAULT_ALLOWED_UNUSED, UnusedChecker } from './utils/UnusedChecker';
|
|
76
78
|
export { isAbsoluteUrl } from './utils/urlUtils';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -68,6 +68,7 @@ export { createCollectionProps, createComponentProps, extractCollectionInfo, ext
|
|
|
68
68
|
export { convertText } from './utils/convertText';
|
|
69
69
|
export { handleCmsError } from './utils/errorHandling';
|
|
70
70
|
export { getPreviewAssetIdProps, getPreviewFieldIdProps, getPreviewParentProps, getPreviewProps, } from './utils/previewUtils';
|
|
71
|
+
export { deduplicateSitemapEntries, generateNextSitemap, sortSitemapEntries, } from './utils/sitemap';
|
|
71
72
|
export { UnsupportedWarning } from './utils/UnsupportedWarning';
|
|
72
73
|
// Development Utilities
|
|
73
74
|
export { DEFAULT_ALLOWED_UNUSED, UnusedChecker } from './utils/UnusedChecker';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,kDAAkD;AAElD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvF,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAS9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAQrE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,oBAAoB;AACpB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,mBAAmB;AACnB,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAYhC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,kDAAkD;AAElD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvF,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAS9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAQrE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,oBAAoB;AACpB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,mBAAmB;AACnB,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAYhC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,wBAAwB;AACxB,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/rtf/rtf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtf.d.ts","sourceRoot":"","sources":["../../src/rtf/rtf.tsx"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"rtf.d.ts","sourceRoot":"","sources":["../../src/rtf/rtf.tsx"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA+F9D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,8CAA8C;IAC9C,OAAO,EAAE,QAAQ,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,uDAAuD;IACvD,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,GAAG,CAAC,EAClB,OAAO,EACP,SAAS,EACT,KAAK,EACL,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,GAAG,KAAK,EACT,EAAE,QAAQ,2CAOV"}
|
package/dist/rtf/rtf.js
CHANGED
package/dist/rtf/rtf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/rtf/rtf.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,yBAAyB,GAG1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,MAAM,EAGN,OAAO,GAER,MAAM,6BAA6B,CAAC;AAErC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,SAAS,0BAA0B,CACjC,cAAkC,EAClC,cAAgC,EAChC,yBAAkC;IAElC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kEAAkE;IAClE,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,OAAO;QACL,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,IAAoB,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,CAAC;gBACrD,OAAO,KAAC,QAAQ,IAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;YAC3E,CAAC;YAED,OAAO,wBAAM,sCAAsC,GAAO,CAAC;QAC7D,CAAC;QACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,IAAoB,EAAE,QAAQ,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAa,CAAC;YACrC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,CACL,YAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YACrD,QAAQ,GACP,CACL,CAAC;YACJ,CAAC;YACD,OAAO,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAQ,CAAC;QAC7C,CAAC;QACD,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,IAAoB,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,CAAC;gBACrD,OAAO,KAAC,QAAQ,IAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;YAC3E,CAAC;YAED,OAAO,wBAAM,sCAAsC,GAAO,CAAC;QAC7D,CAAC;QACD,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,IAAoB,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,4EAA4E;gBAC5E,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;gBAC5C,OAAO,CACL,KAAC,kBAAkB,IACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,yBAAyB,IAAI,sBAAsB,EACtE,WAAW,EAAE,CAAC,EACd,aAAa,EAAE,YAAY,GAC3B,CACH,CAAC;YACJ,CAAC;YACD,OAAO,wBAAM,qCAAqC,GAAO,CAAC;QAC5D,CAAC;QACD,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,IAAoB,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAiB,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,cAAc,CAAC,uBAAuB,CAAC;gBACxD,OAAO,KAAC,QAAQ,IAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAI,CAAC;YAC3E,CAAC;YACD,OAAO,wBAAM,qCAAqC,GAAO,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,cAAkC,EAClC,cAAgC,EAChC,yBAAkC;IAElC,MAAM,oBAAoB,GAAG,0BAA0B,CACrD,cAAc,EACd,cAAc,EACd,yBAAyB,CAC1B,CAAC;IAEF,OAAO;QACL,UAAU,EAAE;YACV,GAAG,oBAAoB;SACxB;
|
|
1
|
+
{"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/rtf/rtf.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sitemap generation utilities for Next.js applications.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to convert sitemap entries from Contentful
|
|
5
|
+
* into Next.js MetadataRoute.Sitemap format.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* // app/sitemap.ts
|
|
10
|
+
* import { generateNextSitemap } from '@se-studio/core-ui';
|
|
11
|
+
* import {
|
|
12
|
+
* createBaseConverterContext,
|
|
13
|
+
* getAllSitemapEntries,
|
|
14
|
+
* contentfulPageSitemapEntries,
|
|
15
|
+
* contentfulArticleSitemapEntries,
|
|
16
|
+
* createSitemapProvider,
|
|
17
|
+
* } from '@se-studio/contentful-rest-api';
|
|
18
|
+
*
|
|
19
|
+
* export default async function sitemap() {
|
|
20
|
+
* const context = createBaseConverterContext();
|
|
21
|
+
*
|
|
22
|
+
* const { data: entries } = await getAllSitemapEntries(
|
|
23
|
+
* context,
|
|
24
|
+
* config,
|
|
25
|
+
* {
|
|
26
|
+
* providers: [
|
|
27
|
+
* createSitemapProvider(contentfulPageSitemapEntries, { priority: 0.8 }),
|
|
28
|
+
* createSitemapProvider(contentfulArticleSitemapEntries, { priority: 0.6 }),
|
|
29
|
+
* ],
|
|
30
|
+
* },
|
|
31
|
+
* { next: { revalidate: 3600 } }
|
|
32
|
+
* );
|
|
33
|
+
*
|
|
34
|
+
* return generateNextSitemap(entries, { baseUrl: 'https://example.com' });
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
import type { MetadataRoute } from 'next';
|
|
39
|
+
/**
|
|
40
|
+
* Change frequency hints for sitemap entries.
|
|
41
|
+
* These are hints to search engine crawlers about how often content changes.
|
|
42
|
+
*/
|
|
43
|
+
export type SitemapChangeFrequency = 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never';
|
|
44
|
+
/**
|
|
45
|
+
* A sitemap entry compatible with the contentful-rest-api package.
|
|
46
|
+
* This interface mirrors ISitemapEntry from contentful-rest-api to avoid
|
|
47
|
+
* creating a hard dependency between the packages.
|
|
48
|
+
*/
|
|
49
|
+
export interface SitemapEntry {
|
|
50
|
+
/** URL path (can be relative or absolute) */
|
|
51
|
+
url: string;
|
|
52
|
+
/** Last modified date */
|
|
53
|
+
lastModified?: Date;
|
|
54
|
+
/** Change frequency hint for crawlers */
|
|
55
|
+
changeFrequency?: SitemapChangeFrequency;
|
|
56
|
+
/** Priority hint (0.0-1.0) */
|
|
57
|
+
priority?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Options for generating a Next.js sitemap.
|
|
61
|
+
*/
|
|
62
|
+
export interface GenerateSitemapOptions {
|
|
63
|
+
/** Base URL to prepend to relative URLs (e.g., 'https://example.com') */
|
|
64
|
+
baseUrl: string;
|
|
65
|
+
/** Default change frequency for entries without one specified */
|
|
66
|
+
defaultChangeFrequency?: SitemapChangeFrequency;
|
|
67
|
+
/** Default priority for entries without one specified (0.0-1.0) */
|
|
68
|
+
defaultPriority?: number;
|
|
69
|
+
/** Whether to include the trailing slash on URLs (default: false) */
|
|
70
|
+
trailingSlash?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Generates a Next.js sitemap from an array of sitemap entries.
|
|
74
|
+
* Converts the entries to the format expected by Next.js MetadataRoute.Sitemap.
|
|
75
|
+
*
|
|
76
|
+
* @param entries - Array of sitemap entries from Contentful
|
|
77
|
+
* @param options - Configuration options for sitemap generation
|
|
78
|
+
* @returns Next.js compatible sitemap array
|
|
79
|
+
*
|
|
80
|
+
* @example Basic usage
|
|
81
|
+
* ```ts
|
|
82
|
+
* const sitemap = generateNextSitemap(entries, {
|
|
83
|
+
* baseUrl: 'https://example.com',
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @example With defaults
|
|
88
|
+
* ```ts
|
|
89
|
+
* const sitemap = generateNextSitemap(entries, {
|
|
90
|
+
* baseUrl: 'https://example.com',
|
|
91
|
+
* defaultPriority: 0.5,
|
|
92
|
+
* defaultChangeFrequency: 'weekly',
|
|
93
|
+
* trailingSlash: true,
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function generateNextSitemap(entries: SitemapEntry[], options: GenerateSitemapOptions): MetadataRoute.Sitemap;
|
|
98
|
+
/**
|
|
99
|
+
* Filters sitemap entries to remove duplicates based on URL.
|
|
100
|
+
* Keeps the entry with the most recent lastModified date when duplicates exist.
|
|
101
|
+
*
|
|
102
|
+
* @param entries - Array of sitemap entries
|
|
103
|
+
* @returns Deduplicated array of sitemap entries
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const uniqueEntries = deduplicateSitemapEntries(entries);
|
|
108
|
+
* const sitemap = generateNextSitemap(uniqueEntries, { baseUrl: 'https://example.com' });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export declare function deduplicateSitemapEntries(entries: SitemapEntry[]): SitemapEntry[];
|
|
112
|
+
/**
|
|
113
|
+
* Sorts sitemap entries by priority (highest first), then by lastModified (newest first).
|
|
114
|
+
*
|
|
115
|
+
* @param entries - Array of sitemap entries
|
|
116
|
+
* @returns Sorted array of sitemap entries
|
|
117
|
+
*/
|
|
118
|
+
export declare function sortSitemapEntries(entries: SitemapEntry[]): SitemapEntry[];
|
|
119
|
+
//# sourceMappingURL=sitemap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../src/utils/sitemap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,aAAa,CAAC,OAAO,CA2BvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAoBjF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAoB1E"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sitemap generation utilities for Next.js applications.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to convert sitemap entries from Contentful
|
|
5
|
+
* into Next.js MetadataRoute.Sitemap format.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* // app/sitemap.ts
|
|
10
|
+
* import { generateNextSitemap } from '@se-studio/core-ui';
|
|
11
|
+
* import {
|
|
12
|
+
* createBaseConverterContext,
|
|
13
|
+
* getAllSitemapEntries,
|
|
14
|
+
* contentfulPageSitemapEntries,
|
|
15
|
+
* contentfulArticleSitemapEntries,
|
|
16
|
+
* createSitemapProvider,
|
|
17
|
+
* } from '@se-studio/contentful-rest-api';
|
|
18
|
+
*
|
|
19
|
+
* export default async function sitemap() {
|
|
20
|
+
* const context = createBaseConverterContext();
|
|
21
|
+
*
|
|
22
|
+
* const { data: entries } = await getAllSitemapEntries(
|
|
23
|
+
* context,
|
|
24
|
+
* config,
|
|
25
|
+
* {
|
|
26
|
+
* providers: [
|
|
27
|
+
* createSitemapProvider(contentfulPageSitemapEntries, { priority: 0.8 }),
|
|
28
|
+
* createSitemapProvider(contentfulArticleSitemapEntries, { priority: 0.6 }),
|
|
29
|
+
* ],
|
|
30
|
+
* },
|
|
31
|
+
* { next: { revalidate: 3600 } }
|
|
32
|
+
* );
|
|
33
|
+
*
|
|
34
|
+
* return generateNextSitemap(entries, { baseUrl: 'https://example.com' });
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Normalizes a URL by combining base URL and path.
|
|
40
|
+
* Handles cases where the URL might already be absolute.
|
|
41
|
+
*/
|
|
42
|
+
function normalizeUrl(url, baseUrl, trailingSlash) {
|
|
43
|
+
// If URL is already absolute, return as-is
|
|
44
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
45
|
+
return url;
|
|
46
|
+
}
|
|
47
|
+
// Ensure baseUrl doesn't end with slash and url starts with slash
|
|
48
|
+
const normalizedBase = baseUrl.replace(/\/$/, '');
|
|
49
|
+
const normalizedPath = url.startsWith('/') ? url : `/${url}`;
|
|
50
|
+
let fullUrl = `${normalizedBase}${normalizedPath}`;
|
|
51
|
+
// Handle trailing slash
|
|
52
|
+
if (trailingSlash && !fullUrl.endsWith('/')) {
|
|
53
|
+
fullUrl += '/';
|
|
54
|
+
}
|
|
55
|
+
else if (!trailingSlash && fullUrl.endsWith('/') && fullUrl !== `${normalizedBase}/`) {
|
|
56
|
+
fullUrl = fullUrl.slice(0, -1);
|
|
57
|
+
}
|
|
58
|
+
return fullUrl;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Generates a Next.js sitemap from an array of sitemap entries.
|
|
62
|
+
* Converts the entries to the format expected by Next.js MetadataRoute.Sitemap.
|
|
63
|
+
*
|
|
64
|
+
* @param entries - Array of sitemap entries from Contentful
|
|
65
|
+
* @param options - Configuration options for sitemap generation
|
|
66
|
+
* @returns Next.js compatible sitemap array
|
|
67
|
+
*
|
|
68
|
+
* @example Basic usage
|
|
69
|
+
* ```ts
|
|
70
|
+
* const sitemap = generateNextSitemap(entries, {
|
|
71
|
+
* baseUrl: 'https://example.com',
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @example With defaults
|
|
76
|
+
* ```ts
|
|
77
|
+
* const sitemap = generateNextSitemap(entries, {
|
|
78
|
+
* baseUrl: 'https://example.com',
|
|
79
|
+
* defaultPriority: 0.5,
|
|
80
|
+
* defaultChangeFrequency: 'weekly',
|
|
81
|
+
* trailingSlash: true,
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export function generateNextSitemap(entries, options) {
|
|
86
|
+
const { baseUrl, defaultChangeFrequency, defaultPriority, trailingSlash = false } = options;
|
|
87
|
+
return entries.map((entry) => {
|
|
88
|
+
const sitemapEntry = {
|
|
89
|
+
url: normalizeUrl(entry.url, baseUrl, trailingSlash),
|
|
90
|
+
};
|
|
91
|
+
// Add lastModified if present
|
|
92
|
+
if (entry.lastModified) {
|
|
93
|
+
sitemapEntry.lastModified = entry.lastModified;
|
|
94
|
+
}
|
|
95
|
+
// Add changeFrequency (entry value or default)
|
|
96
|
+
const changeFrequency = entry.changeFrequency ?? defaultChangeFrequency;
|
|
97
|
+
if (changeFrequency) {
|
|
98
|
+
sitemapEntry.changeFrequency = changeFrequency;
|
|
99
|
+
}
|
|
100
|
+
// Add priority (entry value or default)
|
|
101
|
+
const priority = entry.priority ?? defaultPriority;
|
|
102
|
+
if (priority !== undefined) {
|
|
103
|
+
sitemapEntry.priority = priority;
|
|
104
|
+
}
|
|
105
|
+
return sitemapEntry;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Filters sitemap entries to remove duplicates based on URL.
|
|
110
|
+
* Keeps the entry with the most recent lastModified date when duplicates exist.
|
|
111
|
+
*
|
|
112
|
+
* @param entries - Array of sitemap entries
|
|
113
|
+
* @returns Deduplicated array of sitemap entries
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```ts
|
|
117
|
+
* const uniqueEntries = deduplicateSitemapEntries(entries);
|
|
118
|
+
* const sitemap = generateNextSitemap(uniqueEntries, { baseUrl: 'https://example.com' });
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export function deduplicateSitemapEntries(entries) {
|
|
122
|
+
const urlMap = new Map();
|
|
123
|
+
for (const entry of entries) {
|
|
124
|
+
const existing = urlMap.get(entry.url);
|
|
125
|
+
if (!existing) {
|
|
126
|
+
urlMap.set(entry.url, entry);
|
|
127
|
+
}
|
|
128
|
+
else if (entry.lastModified && existing.lastModified) {
|
|
129
|
+
// Keep the more recently modified entry
|
|
130
|
+
if (entry.lastModified > existing.lastModified) {
|
|
131
|
+
urlMap.set(entry.url, entry);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if (entry.lastModified && !existing.lastModified) {
|
|
135
|
+
// Prefer entries with lastModified
|
|
136
|
+
urlMap.set(entry.url, entry);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return Array.from(urlMap.values());
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Sorts sitemap entries by priority (highest first), then by lastModified (newest first).
|
|
143
|
+
*
|
|
144
|
+
* @param entries - Array of sitemap entries
|
|
145
|
+
* @returns Sorted array of sitemap entries
|
|
146
|
+
*/
|
|
147
|
+
export function sortSitemapEntries(entries) {
|
|
148
|
+
return [...entries].sort((a, b) => {
|
|
149
|
+
// Sort by priority (highest first)
|
|
150
|
+
const priorityA = a.priority ?? 0.5;
|
|
151
|
+
const priorityB = b.priority ?? 0.5;
|
|
152
|
+
if (priorityB !== priorityA) {
|
|
153
|
+
return priorityB - priorityA;
|
|
154
|
+
}
|
|
155
|
+
// Then by lastModified (newest first)
|
|
156
|
+
if (a.lastModified && b.lastModified) {
|
|
157
|
+
return b.lastModified.getTime() - a.lastModified.getTime();
|
|
158
|
+
}
|
|
159
|
+
// Entries with lastModified come first
|
|
160
|
+
if (a.lastModified && !b.lastModified)
|
|
161
|
+
return -1;
|
|
162
|
+
if (!a.lastModified && b.lastModified)
|
|
163
|
+
return 1;
|
|
164
|
+
return 0;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=sitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/utils/sitemap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/core-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.18",
|
|
4
4
|
"description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
"clsx": "^2.1.1",
|
|
57
57
|
"html-entities": "^2.6.0",
|
|
58
58
|
"tailwind-merge": "^3.4.0",
|
|
59
|
-
"@se-studio/contentful-rest-api": "1.0.
|
|
60
|
-
"@se-studio/core-data-types": "1.0.
|
|
59
|
+
"@se-studio/contentful-rest-api": "1.0.18",
|
|
60
|
+
"@se-studio/core-data-types": "1.0.18"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@biomejs/biome": "^2.3.
|
|
63
|
+
"@biomejs/biome": "^2.3.8",
|
|
64
64
|
"@testing-library/jest-dom": "^6.9.1",
|
|
65
65
|
"@testing-library/react": "^16.3.0",
|
|
66
66
|
"@types/node": "^24.10.1",
|