@sveltia/cms 0.113.3 → 0.113.5
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 +18 -14
- package/dist/sveltia-cms.js +224 -224
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +210 -210
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/schema/sveltia-cms.json +29 -1
- package/types/public.d.ts +23 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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, direct replacement for Netlify CMS (now Decap CMS). While some features are still missing, we’ve already solved over
|
|
3
|
+
Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, direct replacement for Netlify CMS (now Decap CMS). While some features are still missing, we’ve already solved over 265 issues reported in the predecessor’s repository, from critical bugs to top feature requests.
|
|
4
4
|
|
|
5
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
|
|
|
@@ -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 265 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 only occasional releases and a few minor improvements
|
|
@@ -156,11 +156,11 @@ Sveltia CMS is currently in **beta**, with version 1.0 (GA) scheduled for releas
|
|
|
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
|
|
|
159
|
-
- Ensuring near-complete [compatibility with Netlify/Decap CMS](#
|
|
159
|
+
- Ensuring near-complete [compatibility with Netlify/Decap CMS](#compatibility)
|
|
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, **265+ issues, or 575+ 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 900 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
|
|
|
@@ -194,7 +194,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
194
194
|
- For a smoother experience, we even go beyond responsive design with optimized navigation, floating action buttons, smooth [view transitions](https://developer.chrome.com/docs/web-platform/view-transitions), larger buttons, and other tweaks. We’ll continue to fully optimize the app for small screens and touch devices.
|
|
195
195
|
- If you’re already signed in on your desktop, open the Account menu in the top right corner of the CMS, click Sign In with Mobile, and scan the QR code for passwordless sign-in. Your settings will be automatically copied.
|
|
196
196
|
- Made with [Svelte](https://svelte.dev/), not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid common fatal React application crashes.[^113][^129] Best of all, Svelte offers great performance.
|
|
197
|
-
- Other crashes in Netlify/Decap CMS are also irrelevant to us, making Sveltia CMS much more stable.[^112][^203][^204][^260] Netlify/Decap CMS continues to receive crash reports, with no effective solution in sight.
|
|
197
|
+
- Other crashes in Netlify/Decap CMS are also irrelevant to us, making Sveltia CMS much more stable.[^112][^203][^204][^260] Netlify/Decap CMS continues to receive crash reports on a daily basis, with no effective solution in sight.
|
|
198
198
|
- We build [our own UI component library](https://github.com/sveltia/sveltia-ui), including custom dialogs, to ensure optimal usability without compromising accessibility.[^277][^196][^205][^206][^207][^208][^209][^210]
|
|
199
199
|
- Users can personalize the application with various settings, including appearance and language. Developer Mode can also be enabled, which enables certain features and displays the CMS version number.[^270]
|
|
200
200
|
- Never miss out on the latest features and bug fixes by being notified when an update to the CMS is available.[^31] Then update to the latest version with a single click.[^66]
|
|
@@ -284,7 +284,7 @@ We’ve made various improvements to help you get your work done faster and more
|
|
|
284
284
|
|
|
285
285
|
### Better backend support
|
|
286
286
|
|
|
287
|
-
The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/), [Gitea/Forgejo](https://decapcms.org/docs/gitea-backend/) and [Test](https://decapcms.org/docs/test-backend/) backends are available in Sveltia CMS. For
|
|
287
|
+
The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/), [Gitea/Forgejo](https://decapcms.org/docs/gitea-backend/) and [Test](https://decapcms.org/docs/test-backend/) backends are available in Sveltia CMS. For performance reasons, [we don’t plan to support](#features-not-to-be-implemented) other backends.
|
|
288
288
|
|
|
289
289
|
- Uses the GraphQL API where possible for better performance, as mentioned above. You don’t need to set the `use_graphql` option to enable it for GitHub and GitLab.[^65]
|
|
290
290
|
- The Git branch name is automatically set to the repository’s default branch (`main`, `master` or whatever) if not specified in the configuration file, preventing data loading errors due to a hardcoded fallback to `master`.[^95][^27] If a branch name is specified, it works as expected.[^232]
|
|
@@ -292,6 +292,7 @@ The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapc
|
|
|
292
292
|
- Users can quickly open the source file of an entry or asset in your repository via the 3-dot menu when Developer Mode is enabled.
|
|
293
293
|
- Service status checks are performed frequently and an incident notification is displayed prominently.
|
|
294
294
|
- We provide [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth) for GitHub and GitLab.
|
|
295
|
+
- The external OAuth window will not get stuck on a blank page after signing in.[^300]
|
|
295
296
|
- GitLab-specific improvements:
|
|
296
297
|
- Implements the GraphQL API with proper authorization.[^290]
|
|
297
298
|
- Comes with background [service status](https://status.gitlab.com/) checking, just like GitHub.
|
|
@@ -655,9 +656,10 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
655
656
|
|
|
656
657
|
### Current limitations
|
|
657
658
|
|
|
658
|
-
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them
|
|
659
|
+
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
|
|
659
660
|
|
|
660
661
|
- Comprehensive site config validation
|
|
662
|
+
- The `media_folder` and `public_folder` options (beta) for the [File](https://decapcms.org/docs/widgets/#File) and [Image](https://decapcms.org/docs/widgets/#Image) widgets ([#497](https://github.com/sveltia/sveltia-cms/issues/497))
|
|
661
663
|
- Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
|
|
662
664
|
- [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
|
|
663
665
|
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
@@ -670,7 +672,6 @@ Due to the complexity, we have decided to defer the following features to the 1.
|
|
|
670
672
|
- [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
671
673
|
- [Open authoring](https://decapcms.org/docs/open-authoring/)
|
|
672
674
|
- [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
673
|
-
- The `media_folder` and `public_folder` options (beta) for the [File](https://decapcms.org/docs/widgets/#File) and [Image](https://decapcms.org/docs/widgets/#Image) widgets ([#497](https://github.com/sveltia/sveltia-cms/issues/497))
|
|
674
675
|
|
|
675
676
|
### Features not to be implemented
|
|
676
677
|
|
|
@@ -700,6 +701,7 @@ The following Netlify/Decap CMS features will not be added to Sveltia CMS, prima
|
|
|
700
701
|
- Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
|
|
701
702
|
- Backend: [`use_graphql`](https://decapcms.org/docs/github-backend/#graphql-api)
|
|
702
703
|
- Relation widget: `options_length`
|
|
704
|
+
- Local proxy server: As [mentioned above](#better-productivity), our [local repository workflow](#working-with-a-local-git-repository) eliminates the need for a proxy server. For security and performance reasons, we don’t support `netlify-cms-proxy-server`, `decap-server` or the `local_backend` option.
|
|
703
705
|
- The global [`locale`](https://decapcms.org/docs/configuration-options/#locale) option and `CMS.registerLocale()` method: Sveltia CMS automatically detects the user’s preferred language and changes the UI locale as [mentioned above](#better-localization).
|
|
704
706
|
- [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `CMS` object: This includes custom backends and custom media libraries, if any. We may support these features in the future, but our implementation would likely be incompatible with Netlify/Decap CMS.
|
|
705
707
|
- Any other undocumented features and options. Exceptions apply.
|
|
@@ -832,7 +834,7 @@ For a better DX, we recommend [setting up the JSON schema](#enabling-autocomplet
|
|
|
832
834
|
|
|
833
835
|
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.
|
|
834
836
|
|
|
835
|
-
If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you’ll need to find a workaround. For example, if you’re
|
|
837
|
+
If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you’ll need to find a workaround. For example, if you’re on Azure or Bitbucket, consider migrating to GitHub, GitLab, Gitea or Forgejo. See the next section if you’re a Git Gateway user.
|
|
836
838
|
|
|
837
839
|
#### Migrating from Git Gateway backend
|
|
838
840
|
|
|
@@ -941,7 +943,7 @@ If you get an “Authentication Aborted” error when trying to sign in to GitHu
|
|
|
941
943
|
|
|
942
944
|
### Working with a local Git repository
|
|
943
945
|
|
|
944
|
-
Sveltia CMS has simplified the local repository workflow by removing the need for additional configuration (the `local_backend`
|
|
946
|
+
Sveltia CMS has simplified the local repository workflow by removing the need for additional configuration (the `local_backend` option) and a proxy server (`netlify-cms-proxy-server` or `decap-server`), thanks to the [File System Access API](https://developer.chrome.com/docs/capabilities/web-apis/file-system-access) available in [some modern browsers](https://developer.mozilla.org/en-US/docs/web/api/window/showopenfilepicker#browser_compatibility).
|
|
945
947
|
|
|
946
948
|
Here are the workflow steps and tips:
|
|
947
949
|
|
|
@@ -964,7 +966,7 @@ Here are the workflow steps and tips:
|
|
|
964
966
|
- You can skip this step if your changes don’t involve any pages.
|
|
965
967
|
1. Commit and push the changes if satisfied, or discard them if you’re just testing.
|
|
966
968
|
|
|
967
|
-
If you have migrated from Netlify/Decap CMS and are happy with the local repository workflow of Sveltia CMS, you can remove the `local_backend`
|
|
969
|
+
If you have migrated from Netlify/Decap CMS and are happy with the local repository workflow of Sveltia CMS, you can remove the `local_backend` option from your configuration and uninstall the proxy server. If you have configured a custom port number with the `.env` file, you can remove it as well.
|
|
968
970
|
|
|
969
971
|
Note that, as with Netlify/Decap CMS, the local repository support in Sveltia CMS doesn’t perform any Git operations. You have to manually fetch, pull, commit and push all changes using a Git client. Additionally, you’ll need to reload the CMS after modifying the configuration file or retrieving remote updates.
|
|
970
972
|
|
|
@@ -1942,7 +1944,7 @@ We cannot promise any specific release dates, but here is a rough roadmap for th
|
|
|
1942
1944
|
|
|
1943
1945
|
Due early 2026
|
|
1944
1946
|
|
|
1945
|
-
- Enhanced [compatibility with Netlify/Decap CMS](#
|
|
1947
|
+
- Enhanced [compatibility with Netlify/Decap CMS](#compatibility)
|
|
1946
1948
|
- Tackling some more Netlify/Decap CMS issues:
|
|
1947
1949
|
- Thorough site config validation[^246]
|
|
1948
1950
|
- [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
|
|
@@ -2288,7 +2290,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2288
2290
|
|
|
2289
2291
|
[^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)
|
|
2290
2292
|
|
|
2291
|
-
[^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) — 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).
|
|
2293
|
+
[^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) — 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).
|
|
2292
2294
|
|
|
2293
2295
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
2294
2296
|
|
|
@@ -2653,3 +2655,5 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2653
2655
|
[^298]: Netlify/Decap CMS [#7640](https://github.com/decaporg/decap-cms/issues/7640)
|
|
2654
2656
|
|
|
2655
2657
|
[^299]: Netlify/Decap CMS [#5812](https://github.com/decaporg/decap-cms/issues/5812)
|
|
2658
|
+
|
|
2659
|
+
[^300]: Netlify/Decap CMS [#7257](https://github.com/decaporg/decap-cms/issues/7257)
|