@sveltia/cms 0.115.2 → 0.117.0
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/README.md +31 -13
- package/dist/sveltia-cms.js +231 -232
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +229 -230
- package/dist/sveltia-cms.mjs.map +1 -1
- package/main.d.ts +1 -0
- package/package.json +2 -2
- package/schema/sveltia-cms.json +19 -6
- package/types/public.d.ts +9 -5
package/README.md
CHANGED
|
@@ -142,9 +142,9 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
|
|
|
142
142
|
|
|
143
143
|
This “total reboot” allows us to implement [hundreds of improvements](#differentiators) without getting stuck in a legacy system.
|
|
144
144
|
|
|
145
|
-
We are continuing to address the [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository and deliver the enhancements that Netlify CMS users have long desired. We are dedicating significant time and effort to improving compatibility and enhancing every aspect of the product. Of the 3 successors,
|
|
145
|
+
We are continuing to aggressively address the [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository and deliver the enhancements that Netlify CMS users have long desired. We are dedicating significant time and effort to improving compatibility and enhancing every aspect of the product. Of the 3 successors, Sveltia CMS is the only one providing a [clear roadmap](#roadmap), [regular updates](https://github.com/sveltia/sveltia-cms/releases) and [excellent outcomes](#differentiators).
|
|
146
146
|
|
|
147
|
-
That’s why Sveltia CMS is the **true successor to Netlify CMS
|
|
147
|
+
That’s why Sveltia CMS is the **true successor to Netlify CMS**, rather than just an alternative or a spiritual successor.
|
|
148
148
|
|
|
149
149
|
### Our goals
|
|
150
150
|
|
|
@@ -164,7 +164,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
164
164
|
- Some missing features will be implemented before or shortly after GA
|
|
165
165
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
166
166
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
167
|
-
- So far, **265+ issues, or
|
|
167
|
+
- So far, **265+ issues, or 580+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
|
|
168
168
|
- Target:
|
|
169
169
|
- 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
|
|
170
170
|
- 400 issues, or 900 if including duplicates, in the future 💪
|
|
@@ -284,8 +284,23 @@ We’ve made various improvements to help you get your work done faster and more
|
|
|
284
284
|
- Sveltia CMS supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
|
|
285
285
|
- Also supports [multiple configuration files](#providing-multiple-configuration-files) to allow developers to modularize the configuration.[^197]
|
|
286
286
|
- We provide an [up-to-date JSON schema](#enabling-autocomplete-and-validation-for-the-configuration-file) for YAML/JSON configuration files, which enables autocomplete and validation in VS Code and other editors.[^253] If you use [deprecated options](#deprecations) in a supported code editor, you should receive a warning.
|
|
287
|
-
-
|
|
288
|
-
-
|
|
287
|
+
- We provide only one package, `@sveltia/cms`, instead of many (`decap-cms`, `decap-cms-app`, `decap-cms-core` and so on), which is simpler and less confusing.
|
|
288
|
+
- Improved TypeScript support
|
|
289
|
+
- We keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193][^227] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
|
|
290
|
+
- The `SiteConfig` type is exported from the main package, so you can import it directly to construct your configuration object with proper type checking outside of the `CMS.init()` method.
|
|
291
|
+
- Config validation enhancements:
|
|
292
|
+
- Sveltia CMS has additional validation rules designed to prevent common misconfigurations that could lead to runtime errors:
|
|
293
|
+
- Common backend misconfigurations, such as an incorrect repository name or a missing OAuth client ID[^303]
|
|
294
|
+
- A mismatch between the `format` and `extension` options for a collection
|
|
295
|
+
- Invalid collection, collection file, field, variable type names (e.g. names containing `.` or `*`)
|
|
296
|
+
- Mutually exclusive config options (e.g. `field`, `fields` and `types` on List fields)
|
|
297
|
+
- `collection` and `file` references on Relation fields
|
|
298
|
+
- Duplicate variable type names
|
|
299
|
+
- Unsupported widgets and options
|
|
300
|
+
- (more to come)
|
|
301
|
+
- The error messages include the specific collection, field, variable type and fields names, rather than indexes such as `collections[7].fields[9].types[1]`. This helps you to quickly identify the problematic configuration.
|
|
302
|
+
- There are no false error messages saying `should match case "color" schema`.
|
|
303
|
+
- There are no error messages that advise to use deprecated camel case options like `valueField`.
|
|
289
304
|
|
|
290
305
|
### Better backend support
|
|
291
306
|
|
|
@@ -664,15 +679,16 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
664
679
|
|
|
665
680
|
### Current limitations
|
|
666
681
|
|
|
667
|
-
|
|
682
|
+
There are still some missing features and limitations in Sveltia CMS compared to Netlify/Decap CMS. We are working hard to implement them. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
|
|
683
|
+
|
|
684
|
+
The following advanced customization features are not yet implemented and will be added before the 1.0 release:
|
|
668
685
|
|
|
669
|
-
- Comprehensive site config validation
|
|
670
686
|
- Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
|
|
671
687
|
- [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
|
|
672
688
|
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
673
689
|
- [Event hooks](https://decapcms.org/docs/registering-events/) (`CMS.registerEventListener`) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
674
690
|
|
|
675
|
-
[
|
|
691
|
+
[Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and site config validation are also under development. [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md) and a [demo site](https://github.com/sveltia/sveltia-cms/issues/1) will follow soon.
|
|
676
692
|
|
|
677
693
|
Due to the complexity, we have decided to **defer the following features to the 1.x or 2.0 release** due mid-2026. Netlify/Decap CMS has dozens of open issues with these collaboration and beta features — we want to implement them the right way.
|
|
678
694
|
|
|
@@ -685,7 +701,7 @@ Due to the complexity, we have decided to **defer the following features to the
|
|
|
685
701
|
The following Netlify/Decap CMS features will not be added to Sveltia CMS, primarily due to deprecation and performance considerations.
|
|
686
702
|
|
|
687
703
|
- **Azure and Bitbucket backends**: For performance reasons. We’ll support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
|
|
688
|
-
- **Git Gateway backend**: Also for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to secure a migration path for existing Git Gateway users.
|
|
704
|
+
- **Git Gateway backend**: Also for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. It’s now officially [deprecated](https://docs.netlify.com/manage/security/secure-access-to-sites/git-gateway/) according to the Netlify documentation. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to secure a migration path for existing Git Gateway users.
|
|
689
705
|
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and the Netlify Identity service itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). We plan to develop an alternative solution with role support [in the future](#roadmap), most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
690
706
|
- [Gatsby plugin](https://github.com/decaporg/gatsby-plugin-decap-cms): In light of Gatsby’s [uncertainty](https://github.com/gatsbyjs/gatsby/discussions/39062), we won’t be investing time in developing a plugin for it. Gatsby users can still create `index.html` themselves. Note: We don’t support Netlify Identity Widget; the favicon can be specified with the `logo.src` option.
|
|
691
707
|
- The deprecated client-side implicit grant for the GitLab backend: It has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
@@ -1001,7 +1017,7 @@ You can specify an icon for each collection for easy identification in the colle
|
|
|
1001
1017
|
1. Reload Sveltia CMS once the updated config file is deployed.
|
|
1002
1018
|
|
|
1003
1019
|
```yaml
|
|
1004
|
-
|
|
1020
|
+
collections:
|
|
1005
1021
|
- name: tags
|
|
1006
1022
|
label: Tags
|
|
1007
1023
|
icon: sell # or any icon name
|
|
@@ -2304,7 +2320,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2304
2320
|
|
|
2305
2321
|
[^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218), [#7392](https://github.com/decaporg/decap-cms/issues/7392)
|
|
2306
2322
|
|
|
2307
|
-
[^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453), [#7572](https://github.com/decaporg/decap-cms/issues/7572), [#7602](https://github.com/decaporg/decap-cms/issues/7602)
|
|
2323
|
+
[^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453), [#7572](https://github.com/decaporg/decap-cms/issues/7572), [#7602](https://github.com/decaporg/decap-cms/issues/7602), [#7655](https://github.com/decaporg/decap-cms/issues/7655)
|
|
2308
2324
|
|
|
2309
2325
|
[^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574), [#7580](https://github.com/decaporg/decap-cms/issues/7580), [#7583](https://github.com/decaporg/decap-cms/issues/7583), [#7589](https://github.com/decaporg/decap-cms/issues/7589), [#7593](https://github.com/decaporg/decap-cms/issues/7593), [#7595](https://github.com/decaporg/decap-cms/issues/7595), [#7601](https://github.com/decaporg/decap-cms/issues/7601), [#7610](https://github.com/decaporg/decap-cms/issues/7610), [#7614](https://github.com/decaporg/decap-cms/issues/7614), [#7620](https://github.com/decaporg/decap-cms/issues/7620), [#7621](https://github.com/decaporg/decap-cms/issues/7621), [#7622](https://github.com/decaporg/decap-cms/issues/7622), [#7631](https://github.com/decaporg/decap-cms/issues/7631), [#7643](https://github.com/decaporg/decap-cms/issues/7643), [#7644](https://github.com/decaporg/decap-cms/issues/7644), [#7648](https://github.com/decaporg/decap-cms/issues/7648) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|
|
2310
2326
|
|
|
@@ -2568,7 +2584,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2568
2584
|
|
|
2569
2585
|
[^245]: Netlify/Decap CMS [#1769](https://github.com/decaporg/decap-cms/issues/1769)
|
|
2570
2586
|
|
|
2571
|
-
[^246]: Netlify/Decap CMS [#1074](https://github.com/decaporg/decap-cms/issues/1074), [#1693](https://github.com/decaporg/decap-cms/issues/1693)
|
|
2587
|
+
[^246]: Netlify/Decap CMS [#1074](https://github.com/decaporg/decap-cms/issues/1074), [#1693](https://github.com/decaporg/decap-cms/issues/1693)
|
|
2572
2588
|
|
|
2573
2589
|
[^247]: Netlify/Decap CMS [#1794](https://github.com/decaporg/decap-cms/issues/1794), [#2966](https://github.com/decaporg/decap-cms/issues/2966)
|
|
2574
2590
|
|
|
@@ -2590,7 +2606,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2590
2606
|
|
|
2591
2607
|
[^256]: Netlify/Decap CMS [#2845](https://github.com/decaporg/decap-cms/issues/2845)
|
|
2592
2608
|
|
|
2593
|
-
[^257]: Netlify/Decap CMS [#4353](https://github.com/decaporg/decap-cms/issues/4353), [#7513](https://github.com/decaporg/decap-cms/issues/7513), [#7544](https://github.com/decaporg/decap-cms/issues/7544)
|
|
2609
|
+
[^257]: Netlify/Decap CMS [#4353](https://github.com/decaporg/decap-cms/issues/4353), [#7513](https://github.com/decaporg/decap-cms/issues/7513), [#7544](https://github.com/decaporg/decap-cms/issues/7544), [#7654](https://github.com/decaporg/decap-cms/issues/7654)
|
|
2594
2610
|
|
|
2595
2611
|
[^258]: Netlify/Decap CMS [#663](https://github.com/decaporg/decap-cms/issues/663), [#6729](https://github.com/decaporg/decap-cms/discussions/6729), [#7466](https://github.com/decaporg/decap-cms/discussions/7466), [#7545](https://github.com/decaporg/decap-cms/issues/7545)
|
|
2596
2612
|
|
|
@@ -2677,3 +2693,5 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2677
2693
|
[^301]: Netlify/Decap CMS [#7627](https://github.com/decaporg/decap-cms/issues/7627)
|
|
2678
2694
|
|
|
2679
2695
|
[^302]: Netlify/Decap CMS [#3286](https://github.com/decaporg/decap-cms/issues/3286)
|
|
2696
|
+
|
|
2697
|
+
[^303]: Netlify/Decap CMS [#3803](https://github.com/decaporg/decap-cms/issues/3803)
|