npm.io
1.2.6 • Published 4 months ago

@cms-lab/strapi

Licence
MIT
Version
1.2.6
Deps
1
Size
10 kB
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

@cms-lab/strapi

Strapi adapter for cms-lab.

cms: {
  provider: "strapi",
  url: "http://localhost:1337",
  token: process.env.STRAPI_TOKEN,
  locale: "en",
  collections: [
    {
      type: "page",
      endpoint: "pages",
      uidField: "routing.slug",
      urlField: "routing.url",
    },
  ],
  singleTypes: [
    {
      type: "navbar",
      endpoint: "navbar",
    },
  ],
}

The adapter reads Strapi REST collection and single-type responses and normalizes them into cms-lab CMSDocument objects. It supports Strapi v4 attributes payloads and newer flat REST payloads, keeps native SEO/media fields in document.data, uses documentId, slug, or numeric id as stable identity values, and treats non-published statuses as draft.

Single types are marked as non-routable by default. cms-lab still runs field, SEO, and image-alt checks on them, but it does not report missing route mappings for layout or site-wide content such as navbars, footers, and homepage sections.

Use uidField or urlField when your project stores route values in custom fields. Both options read dotted paths from document.data.

Set cms.locale to fetch all configured collections and single types for a locale. Individual collection or single-type entries can override it with their own locale value.

For Next.js Pages Router projects, start with:

cms-lab init --cms strapi --router pages

The generated config includes collection routes, single types, and strapiRelationSlug for relation-based URL segments.

See the public adapter maturity matrix for current test coverage and known limits.

Release History

See the repository changelog and GitHub Releases for version-by-version notes.

Open Source

MIT licensed. See the repository license, contributing guide, and support guide.

Keywords