@sveltia/cms 0.109.1 → 0.110.1
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 +21 -17
- package/dist/sveltia-cms.js +290 -250
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +280 -240
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +2 -2
- package/schema/sveltia-cms.json +16 -36
- package/types/public.d.ts +4 -6
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Sveltia CMS: Netlify/Decap CMS successor
|
|
2
2
|
|
|
3
|
-
Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful,
|
|
3
|
+
Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, effortless replacement for Netlify CMS (now Decap CMS). While some features are still missing, we’ve already solved over 260 issues reported in the predecessor’s repository, from critical bugs to top feature requests.
|
|
4
4
|
|
|
5
|
-
Built from the ground up, Sveltia CMS offers excellent UX, DX, performance, security and internationalization (i18n) support. Our numerous enhancements across the board ensure smooth daily workflows. This free, open source alternative to Netlify/Decap CMS is
|
|
5
|
+
Built from the ground up, Sveltia CMS offers excellent UX, DX, performance, security and internationalization (i18n) support. Our numerous enhancements across the board ensure smooth daily workflows. This free, open source alternative to Netlify/Decap CMS is currently in public beta, with version 1.0 expected in early 2026.
|
|
6
6
|
|
|
7
7
|
<br>
|
|
8
8
|
|
|
@@ -124,7 +124,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
|
|
|
124
124
|
- **Sveltia CMS**: not a fork but a **complete rewrite**
|
|
125
125
|
- Started in November 2022, first appeared on GitHub in March 2023
|
|
126
126
|
- ✅ Actively developed with frequent releases and numerous improvements
|
|
127
|
-
- ✅ Solved more than
|
|
127
|
+
- ✅ Solved more than 260 issues reported in the Netlify/Decap CMS repository
|
|
128
128
|
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
|
|
129
129
|
- [Announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as an official continuation with a Netlify agency partner taking ownership
|
|
130
130
|
- ⚠️ Mostly low activity with occasional releases and a few minor improvements
|
|
@@ -152,7 +152,7 @@ As we continue to add more features, we hope that our product will eventually be
|
|
|
152
152
|
|
|
153
153
|
## Project Status
|
|
154
154
|
|
|
155
|
-
Sveltia CMS is currently in **beta
|
|
155
|
+
Sveltia CMS is currently in **beta**, with version 1.0 (GA) scheduled for release in early 2026. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
|
|
156
156
|
|
|
157
157
|
While we fix reported bugs as quickly as possible, usually within 24 hours, our overall progress may be slower than you think. The thing is, it’s not just a personal project of [@kyoshino](https://github.com/kyoshino), but also a complicated system involving various kinds of activities that require considerable effort:
|
|
158
158
|
|
|
@@ -160,7 +160,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
160
160
|
- Some missing features will be implemented before or shortly after GA
|
|
161
161
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
162
162
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
163
|
-
- So far, **
|
|
163
|
+
- So far, **260+ issues, or 560+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
|
|
164
164
|
- Target:
|
|
165
165
|
- 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
|
|
166
166
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -174,7 +174,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
174
174
|
- Responding to requests from the maintainer’s clients
|
|
175
175
|
- Making the code clean and maintainable
|
|
176
176
|
|
|
177
|
-
<br>
|
|
178
178
|
|
|
179
179
|
## Differentiators
|
|
180
180
|
|
|
@@ -602,7 +602,9 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
602
602
|
- It supports multiple file selection.[^239] This can be enabled by setting the new `multiple` File/Image widget option to `true`. For compatibility with other media libraries, the `media_library.config.multiple` option is also supported.
|
|
603
603
|
- It comes with a [built-in image optimizer](#optimizing-images-for-upload). With a few lines of configuration, images selected by users for upload are automatically converted to WebP format for reduced size,[^199] and it’s also possible to specify a maximum width and/or height.[^200] SVG images can also be optimized.
|
|
604
604
|
- The `max_file_size` option for the File/Image widget can be defined within the global `media_library` option, using `default` as the library name. It applies to all File/Image entry fields, as well as direct uploads to the Asset Library. The option can also be part of the [new `media_libraries` option](#configuring-multiple-media-libraries).
|
|
605
|
-
- Unlike Netlify/Decap CMS, files are uploaded with their original names.
|
|
605
|
+
- Unlike Netlify/Decap CMS, files are uploaded with their original names. Sanitization is still applied to avoid issues with special characters, but uppercase letters and spaces are not converted to lowercase letters and hyphens.[^97] If you want to slugify filenames according to the [`slug` option](https://decapcms.org/docs/configuration-options/#slug-type), use the `slugify_filename` [default media library option](#configuring-multiple-media-libraries).
|
|
606
|
+
- Uploadcare
|
|
607
|
+
- An API-based integration allows users to select existing files from their Uploadcare account.[^247]
|
|
606
608
|
- Other integrations
|
|
607
609
|
- Integrates stock photo providers, including Pexels, Pixabay and Unsplash.[^8] Developers can [disable them](#disabling-stock-assets) if needed.
|
|
608
610
|
- More integration options, including Amazon S3 and Cloudflare R2/Images/Stream, would be added in the future.
|
|
@@ -630,6 +632,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
630
632
|
### Better localization
|
|
631
633
|
|
|
632
634
|
- The application UI locale is automatically selected based on the preferred language set with the browser.[^132] Users can also change the locale in the application settings. Therefore, the `locale` configuration option is ignored and `CMS.registerLocale()` is not required.
|
|
635
|
+
- The application UI is ready to be localized into RTL languages like Arabic and Hebrew.[^245]
|
|
633
636
|
- The List widget’s `label` and `label_singular` are not converted to lowercase, which is especially problematic in German, where all nouns are capitalized.[^98]
|
|
634
637
|
- Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117][^265]
|
|
635
638
|
|
|
@@ -641,10 +644,10 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
641
644
|
|
|
642
645
|
### Current limitations
|
|
643
646
|
|
|
644
|
-
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them
|
|
647
|
+
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them by the end of 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
|
|
645
648
|
|
|
646
649
|
- Comprehensive site config validation
|
|
647
|
-
- [Cloudinary](https://decapcms.org/docs/cloudinary/)
|
|
650
|
+
- [Cloudinary](https://decapcms.org/docs/cloudinary/) media library ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
|
|
648
651
|
- Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent)
|
|
649
652
|
- [Custom widgets](https://decapcms.org/docs/custom-widgets/)
|
|
650
653
|
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
@@ -661,7 +664,7 @@ Due to the complexity, we have decided to defer the following features to the 1.
|
|
|
661
664
|
|
|
662
665
|
### Features not to be implemented
|
|
663
666
|
|
|
664
|
-
The following Netlify/Decap CMS features will not be
|
|
667
|
+
The following Netlify/Decap CMS features will not be added to Sveltia CMS, primarily due to deprecation and performance considerations.
|
|
665
668
|
|
|
666
669
|
- **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.
|
|
667
670
|
- **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.
|
|
@@ -680,7 +683,8 @@ The following Netlify/Decap CMS features will not be implemented in Sveltia CMS,
|
|
|
680
683
|
- The `allow_multiple` option for the File and Image widgets: It’s a confusing option that defaults to `true`, and there is a separate option called `media_library.config.multiple`. We have added the new `multiple` option instead, which is more intuitive and works with all media libraries.
|
|
681
684
|
- The theme and keymap inline settings for the Code widget, along with support for some languages. Instead of [CodeMirror](https://codemirror.net/), we use Lexical’s code block functionality powered by [Prism](https://prismjs.com/), which is slated to be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575).
|
|
682
685
|
- Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
|
|
683
|
-
-
|
|
686
|
+
- The `use_secure_url` option for the Cloudinary media library: Insecure URLs should never be used.
|
|
687
|
+
- Additional features of the [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries: Sveltia CMS uses their APIs to integrate the services instead of their pre-built widgets, as the [Uploadcare jQuery File Uploader](https://uploadcare.com/docs/uploads/file-uploader/) has been deprecated and the [Cloudinary Media Library Widget](https://cloudinary.com/documentation/media_library_widget) does not provide a seamless UX. This means the features found in the widgets are unavailable. However, we plan to support some third-party upload sources, camera access and image editing in the future.
|
|
684
688
|
- An absolute URL in the [`public_folder`](https://decapcms.org/docs/configuration-options/#public-folder) option: Such configuration is not recommended, as stated in the Netlify/Decap CMS document.
|
|
685
689
|
- Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
|
|
686
690
|
- Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
|
|
@@ -782,7 +786,7 @@ Unfortunately, **we are unable to provide installation and setup support** at th
|
|
|
782
786
|
|
|
783
787
|
<!-- prettier-ignore -->
|
|
784
788
|
> [!IMPORTANT]
|
|
785
|
-
> Take a look at the [compatibility info](#compatibility) above first. Some Netlify/Decap CMS features
|
|
789
|
+
> Take a look at the [compatibility info](#compatibility) above first. Some Netlify/Decap CMS features are not yet implemented or will not be added to Sveltia CMS, meaning you may not be able to migrate right away.
|
|
786
790
|
|
|
787
791
|
If you’re already using Netlify/Decap CMS with the GitHub, GitLab or Gitea/Forgejo backend and don’t have any unsupported features like editorial workflow or nested collections, migrating to Sveltia CMS is super easy — it works as a drop-in replacement.
|
|
788
792
|
|
|
@@ -818,7 +822,7 @@ For a better DX, we recommend [setting up the JSON schema](#enabling-autocomplet
|
|
|
818
822
|
|
|
819
823
|
If you’re using any features listed in the [current limitations](#current-limitations) section, you’ll need to wait until they are implemented in Sveltia CMS. We’re working hard to add these features in the coming months.
|
|
820
824
|
|
|
821
|
-
If you’re using any features
|
|
825
|
+
If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you need to find a workaround. For example, if you’re using the Azure or Bitbucket backend, consider migrating to GitHub, GitLab, Gitea or Forgejo. See the next section if you’re a Git Gateway user.
|
|
822
826
|
|
|
823
827
|
#### Migrating from Git Gateway backend
|
|
824
828
|
|
|
@@ -1349,7 +1353,7 @@ media_libraries:
|
|
|
1349
1353
|
defaultOperations: '/resize/800x600/'
|
|
1350
1354
|
```
|
|
1351
1355
|
|
|
1352
|
-
Note: Cloudinary
|
|
1356
|
+
Note: Cloudinary is not yet supported in Sveltia CMS.
|
|
1353
1357
|
|
|
1354
1358
|
Similar to the conventional `media_library` option, the unified `media_libraries` option can also be defined for each File/Image field. This allows you to use different media library configurations for different fields. For example, you can optimize images for upload in one field while using the default settings in another:
|
|
1355
1359
|
|
|
@@ -1907,8 +1911,7 @@ Due early 2026
|
|
|
1907
1911
|
|
|
1908
1912
|
- Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
1909
1913
|
- Tackling some more Netlify/Decap CMS issues:
|
|
1910
|
-
- Several Cloudinary
|
|
1911
|
-
- [RTL localization support](https://github.com/sveltia/sveltia-cms/issues/385)[^245]
|
|
1914
|
+
- Several Cloudinary media library issues, including authentication[^288]
|
|
1912
1915
|
- Thorough site config validation[^246]
|
|
1913
1916
|
- [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
|
|
1914
1917
|
- Accessibility audit
|
|
@@ -1969,6 +1972,7 @@ Due late 2026
|
|
|
1969
1972
|
- Scheduled posts[^167]
|
|
1970
1973
|
- [Credential management](https://github.com/sveltia/sveltia-cms/issues/444) for service API keys, deploy hook URL, etc.
|
|
1971
1974
|
- Proxy for services that don’t support [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS):
|
|
1975
|
+
- Cloudinary media library’s file listing
|
|
1972
1976
|
- [DeepL Translate](https://github.com/sveltia/sveltia-cms/issues/437)
|
|
1973
1977
|
- [Git LFS support for GitHub](https://github.com/sveltia/sveltia-cms/discussions/353)[^244]
|
|
1974
1978
|
- Search enhancements:
|
|
@@ -2253,7 +2257,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2253
2257
|
|
|
2254
2258
|
[^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)
|
|
2255
2259
|
|
|
2256
|
-
[^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) — 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).
|
|
2260
|
+
[^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) — 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).
|
|
2257
2261
|
|
|
2258
2262
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
2259
2263
|
|