kmcom-nuxt-layers 2.2.11 → 2.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/docs/FALLOW-COMPLEXITY-DUPLICATION-AUDIT.md +65 -0
  2. package/docs/IMPROVE-AUDIT-README.md +30 -0
  3. package/docs/IMPROVE-AUDIT-RESULTS.md +52 -0
  4. package/docs/IMPROVE-DEEP-AUDIT-RESULTS.md +81 -0
  5. package/docs/fallow-refactor/apps-debug.md +27 -0
  6. package/docs/fallow-refactor/apps-playground.md +46 -0
  7. package/docs/fallow-refactor/apps-visual-identity.md +41 -0
  8. package/docs/fallow-refactor/layers-animations.md +34 -0
  9. package/docs/fallow-refactor/layers-canvas.md +32 -0
  10. package/docs/fallow-refactor/layers-content.md +33 -0
  11. package/docs/fallow-refactor/layers-core.md +39 -0
  12. package/docs/fallow-refactor/layers-feeds.md +39 -0
  13. package/docs/fallow-refactor/layers-forms.md +30 -0
  14. package/docs/fallow-refactor/layers-layout.md +42 -0
  15. package/docs/fallow-refactor/layers-mailer.md +32 -0
  16. package/docs/fallow-refactor/layers-motion.md +27 -0
  17. package/docs/fallow-refactor/layers-navigation.md +31 -0
  18. package/docs/fallow-refactor/layers-page-transitions.md +30 -0
  19. package/docs/fallow-refactor/layers-routing.md +33 -0
  20. package/docs/fallow-refactor/layers-scripts.md +35 -0
  21. package/docs/fallow-refactor/layers-scroll.md +38 -0
  22. package/docs/fallow-refactor/layers-seo.md +32 -0
  23. package/docs/fallow-refactor/layers-shader.md +53 -0
  24. package/docs/fallow-refactor/layers-theme.md +33 -0
  25. package/docs/fallow-refactor/layers-transitions.md +27 -0
  26. package/docs/fallow-refactor/layers-typography.md +29 -0
  27. package/docs/fallow-refactor/layers-ui.md +27 -0
  28. package/docs/fallow-refactor/layers-visual.md +34 -0
  29. package/layers/feeds/app/app.config.ts +4 -2
  30. package/layers/feeds/app/components/Feeds/Index.vue +229 -0
  31. package/layers/feeds/app/components/Feeds/RouteCard.vue +81 -0
  32. package/layers/feeds/app/plugins/feed-head.ts +27 -49
  33. package/layers/feeds/app/utils/feed-catalog.test.ts +71 -0
  34. package/layers/feeds/app/utils/feed-catalog.ts +179 -0
  35. package/layers/feeds/package.json +1 -0
  36. package/layers/feeds/server/routes/feed/discovery.get.ts +16 -14
  37. package/package.json +3 -2
@@ -1,28 +1,30 @@
1
+ import contentManifest from '#content/manifest'
2
+
3
+ import { createFeedCatalog } from '../../../app/utils/feed-catalog'
4
+
1
5
  export default defineEventHandler((event) => {
2
6
  const appConfig = useAppConfig()
3
- const feedConfig = appConfig.feedsLayer?.feed ?? {}
4
- const collections: string[] = feedConfig.collections ?? ['blog']
5
7
 
6
8
  const requestUrl = getRequestURL(event)
7
9
  // Always use the request origin so discovery URLs are reachable from wherever
8
10
  // the request came from, not the configured canonical site URL.
9
11
  const baseUrl = `${requestUrl.protocol}//${requestUrl.host}`
10
12
 
11
- setHeader(event, 'Cache-Control', 'public, max-age=300, s-maxage=3600')
13
+ const catalog = createFeedCatalog({
14
+ site: appConfig.site,
15
+ feed: appConfig.feedsLayer?.feed,
16
+ manifest: contentManifest,
17
+ })
12
18
 
13
- const formats = [
14
- { format: 'RSS 2.0', ext: 'rss', contentType: 'application/rss+xml' },
15
- { format: 'Atom 1.0', ext: 'atom', contentType: 'application/atom+xml' },
16
- { format: 'JSON Feed 1.1', ext: 'json', contentType: 'application/feed+json' },
17
- ]
19
+ setHeader(event, 'Cache-Control', 'public, max-age=300, s-maxage=3600')
18
20
 
19
21
  return {
20
- feeds: collections.flatMap((collection) =>
21
- formats.map(({ format, ext, contentType }) => ({
22
- collection,
23
- format,
24
- url: `${baseUrl}/feed/${collection}/${ext}`,
25
- contentType,
22
+ feeds: catalog.collectionGroups.flatMap((group) =>
23
+ group.routes.map((route) => ({
24
+ collection: group.collection,
25
+ format: route.label,
26
+ url: `${baseUrl}${route.path}`,
27
+ contentType: route.contentType ?? 'application/octet-stream',
26
28
  }))
27
29
  ),
28
30
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kmcom-nuxt-layers",
3
3
  "private": false,
4
- "version": "2.2.11",
4
+ "version": "2.2.12",
5
5
  "description": "Composable Nuxt 4 layers for building scalable Vue applications",
6
6
  "exports": {
7
7
  "./layers/core": "./layers/core/nuxt.config.ts",
@@ -201,7 +201,8 @@
201
201
  "last 2 Chrome major versions",
202
202
  "last 2 Firefox major versions",
203
203
  "last 2 Safari major versions",
204
- "last 2 Edge major versions"
204
+ "last 2 Edge major versions",
205
+ "baseline widely available"
205
206
  ],
206
207
  "dependencies": {
207
208
  "node-gyp": "^12.3.0",