@se-studio/skills 1.7.6 → 1.7.7

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @se-studio/skills
2
2
 
3
+ ## 1.7.7
4
+
5
+ ### Patch Changes
6
+
7
+ - Add `createSitemapXmlRouteHandler` so marketing sites serve `/sitemap.xml` as a force-dynamic Route Handler with CDN no-store (the se-website production pattern). Listing fetches stay tagged `sitemap` with no hourly `revalidate`.
8
+
3
9
  ## 1.7.6
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/skills",
3
- "version": "1.7.6",
3
+ "version": "1.7.7",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -188,17 +188,22 @@ The shared libraries now support this easily:
188
188
  - The `getSitemapEntries(...)` function returned by the marketing sitemap helper (when you configure `marketingSiteSitemap` in `createAppHelpers`) accepts an optional `redirectMap` in its options. When supplied, any entry whose URL is a redirect source is filtered out before the entries are returned to `buildSitemap`.
189
189
  - Standalone: `filterSitemapEntriesExcludingRedirects(entries, redirectMap)` (exported from `@se-studio/contentful-rest-api`) works on any `{ url: string }[]` list for custom flows.
190
190
 
191
- Recommended pattern (in `app/sitemap.ts` and the unindexed route):
191
+ Recommended pattern (in `app/sitemap.xml/route.ts` and the unindexed route — not metadata `sitemap.ts`):
192
192
 
193
193
  ```ts
194
- import { getRedirectMap, getSitemapEntries } from '@/lib/cms-server';
195
- import { buildSitemap } from '@se-studio/core-ui';
194
+ import { createSitemapXmlRouteHandler } from '@se-studio/core-ui';
195
+ import { redirects } from '@/generated/redirects';
196
+ import { getSitemapEntries } from '@/lib/cms-server';
197
+ import { baseUrl } from '@/lib/server-config';
196
198
 
197
- export default async function sitemap() {
198
- const redirectMap = await getRedirectMap({});
199
- const entries = await getSitemapEntries({ includeUnindexed: false, redirectMap });
200
- return buildSitemap([() => Promise.resolve(entries)], { baseUrl, ... });
201
- }
199
+ export const dynamic = 'force-dynamic';
200
+ export const revalidate = 0;
201
+
202
+ export const GET = createSitemapXmlRouteHandler({
203
+ getEntries: () => getSitemapEntries({ includeUnindexed: false, redirectMap: redirects }),
204
+ baseUrl,
205
+ trailingSlash: true,
206
+ });
202
207
  ```
203
208
 
204
209
  Pure `fromPath` vanity redirects were already absent from sitemaps (no backing content entry). This mainly helps when you redirect *away from* live CMS pages/articles.