@sveltia/cms 0.119.1 → 0.120.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 +47 -28
- package/dist/sveltia-cms.js +255 -255
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +176 -176
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/schema/sveltia-cms.json +1 -1
- package/types/public.d.ts +12 -8
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). We have picked up where they left off and have 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). We have picked up where they left off and have already solved over 270 issues reported in the predecessor’s repository, ranging 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. Although some features are still missing, our numerous enhancements across the board ensure smooth daily workflows.
|
|
6
6
|
|
|
@@ -127,7 +127,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
|
|
|
127
127
|
- **Sveltia CMS**: not a fork but a **complete rewrite**
|
|
128
128
|
- Started in November 2022, first appeared on GitHub in March 2023
|
|
129
129
|
- ✅ Actively developed with frequent releases and numerous improvements
|
|
130
|
-
- ✅ Solved more than
|
|
130
|
+
- ✅ Solved more than 270 issues reported in the Netlify/Decap CMS repository
|
|
131
131
|
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
|
|
132
132
|
- [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
|
|
133
133
|
- ⚠️ Mostly low activity with only occasional releases and a few minor improvements
|
|
@@ -141,11 +141,14 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
|
|
|
141
141
|
- We closely monitor and analyze the predecessor’s issue tracker
|
|
142
142
|
- We rearchitect the entire user experience (UX) and developer experience (DX)
|
|
143
143
|
|
|
144
|
-
This “total reboot”
|
|
144
|
+
This “total reboot” has enabled us to implement hundreds of improvements without getting stuck in a legacy system. We are fully committed to making Sveltia CMS the best successor to Netlify CMS:
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
- We dedicate significant time and effort to modernizing the platform
|
|
147
|
+
- We continue to address [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository
|
|
148
|
+
- We materialize the enhancements that Netlify CMS users have long desired
|
|
149
|
+
- We deliver [regular updates](https://github.com/sveltia/sveltia-cms/releases) and [clear goals](#roadmap)
|
|
147
150
|
|
|
148
|
-
|
|
151
|
+
For that reason, Sveltia CMS is the **true successor to Netlify CMS** — not just a spiritual successor or a mere alternative — and the best choice for users looking to migrate from the predecessor, other successors, or even other CMS solutions.
|
|
149
152
|
|
|
150
153
|
### Our goals
|
|
151
154
|
|
|
@@ -165,12 +168,16 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
165
168
|
- Some missing features will be implemented before or shortly after GA
|
|
166
169
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
167
170
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
168
|
-
- So far, **
|
|
171
|
+
- So far, **270+ issues, or 580+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
|
|
169
172
|
- Target:
|
|
170
173
|
- 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
|
|
171
|
-
-
|
|
174
|
+
- 450 issues, or 900 if including duplicates, in the future 💪
|
|
172
175
|
- or every single issue that’s relevant, fixable, and worth dealing with 🔥
|
|
173
|
-
- Issues include everything
|
|
176
|
+
- Issues include everything:
|
|
177
|
+
- Outstanding issues from feature requests to bug reports
|
|
178
|
+
- [Issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution
|
|
179
|
+
- [Discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
180
|
+
- Stalled [pull requests](https://github.com/decaporg/decap-cms/pulls)
|
|
174
181
|
- Many of the bugs, including the annoying crashes, have already been solved
|
|
175
182
|
- The remaining bugs are mostly related to [unimplemented features](#current-limitations)
|
|
176
183
|
- Many of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are [on our table](#roadmap) or already implemented in Sveltia CMS
|
|
@@ -179,7 +186,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
179
186
|
- Responding to requests from the maintainer’s clients
|
|
180
187
|
- Making the code clean and maintainable
|
|
181
188
|
|
|
182
|
-
<br>
|
|
183
190
|
|
|
184
191
|
## Differentiators
|
|
185
192
|
|
|
@@ -293,6 +300,7 @@ We’ve made various improvements to help you get your work done faster and more
|
|
|
293
300
|
- Common backend misconfigurations, such as an incorrect repository name or a missing OAuth client ID[^303]
|
|
294
301
|
- A mismatch between the `format` and `extension` options for a collection
|
|
295
302
|
- Invalid collection, collection file, field, variable type names (e.g. names containing `.` or `*`)
|
|
303
|
+
- `slug` templates containing slashes
|
|
296
304
|
- Mutually exclusive config options (e.g. `field`, `fields` and `types` on List fields)
|
|
297
305
|
- `collection` and `file` references on Relation fields
|
|
298
306
|
- Duplicate variable type names
|
|
@@ -323,10 +331,12 @@ The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapc
|
|
|
323
331
|
- Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
|
|
324
332
|
- We have implemented a workaround for a [GraphQL complexity limit issue](https://github.com/sveltia/sveltia-cms/issues/525) in GitLab 18.4.2, while Netlify/Decap CMS continues to suffer from the same problem.[^301]
|
|
325
333
|
- Our Gitea/Forgejo backend is high-performing because it retrieves multiple entries at once. It also supports Git LFS ([documentation](https://docs.gitea.com/administration/git-lfs-setup)). Additionally, the backend won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in file paths.[^222]
|
|
334
|
+
- Unlike Netlify/Decap CMS, Sveltia CMS does not have a hardcoded API request timeout of 60 seconds, which can lead to unexpected errors when working with large files or slow networks.[^304] Though users may still experience timeouts due to server-side limitations, at least the client-side won’t impose an arbitrary limit.
|
|
326
335
|
- Features the all-new [local repository workflow](#working-with-a-local-git-repository) for a better DX. See the [productivity section](#better-productivity) above.
|
|
327
336
|
- An indicator is displayed in the account menu when using the local repository workflow.[^302]
|
|
328
337
|
- Developers can select the local and remote backends while working on a local server.
|
|
329
338
|
- The Test backend saves entries and assets in the browser’s [origin private file system](https://web.dev/articles/origin-private-file-system) (OPFS) so that changes are not discarded when the browser tab is closed or reloaded.[^194] The persistent storage support works with all modern browsers [except Safari](https://bugs.webkit.org/show_bug.cgi?id=254726).
|
|
339
|
+
- Commit message template supports the `{{author-email}}` template tag to include the author’s email address.
|
|
330
340
|
|
|
331
341
|
### Better i18n support
|
|
332
342
|
|
|
@@ -503,6 +513,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
503
513
|
- `{{locale}}`: The current locale code.[^101]
|
|
504
514
|
- `{{datetime}}`: The current date/time in [ISO 8601 format](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format).[^102]
|
|
505
515
|
- `{{uuid}}`, `{{uuid_short}}` and `{{uuid_shorter}}`: A random UUID or its shorter version, just like the [slug template tags](#using-a-random-id-for-an-entry-slug).[^12]
|
|
516
|
+
- `{{author-email}}`, `{{author-login}}` and `{{author-name}}`: The signed-in user’s email, login name and display name, respectively.[^305]
|
|
506
517
|
- The `default` value is saved when you create a file collection item, not just a folder collection item.[^78]
|
|
507
518
|
- List
|
|
508
519
|
- It’s possible to [edit data files with a top-level list](#editing-data-files-with-a-top-level-list) using the new `root` option.[^148]
|
|
@@ -681,20 +692,17 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
681
692
|
|
|
682
693
|
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
694
|
|
|
684
|
-
The following advanced customization features are not yet implemented and will be added before the 1.0 release:
|
|
685
|
-
|
|
686
|
-
-
|
|
687
|
-
- [Custom
|
|
688
|
-
- [
|
|
689
|
-
- [
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
- [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
696
|
-
- [Open authoring](https://decapcms.org/docs/open-authoring/)
|
|
697
|
-
- [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
695
|
+
- The following advanced customization features are not yet implemented and will be added before the 1.0 release:
|
|
696
|
+
- Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
|
|
697
|
+
- [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
|
|
698
|
+
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
699
|
+
- [Event hooks](https://decapcms.org/docs/registering-events/) (`CMS.registerEventListener`) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
700
|
+
- [Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and site config validation are also under development.
|
|
701
|
+
- [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.
|
|
702
|
+
- 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.
|
|
703
|
+
- [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
704
|
+
- [Open authoring](https://decapcms.org/docs/open-authoring/)
|
|
705
|
+
- [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
698
706
|
|
|
699
707
|
### Features not to be implemented
|
|
700
708
|
|
|
@@ -739,7 +747,11 @@ There are some differences in behaviour between Sveltia CMS and Netlify/Decap CM
|
|
|
739
747
|
- Sveltia CMS requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), meaning it only works with HTTPS, `localhost` or `127.0.0.1` URLs. If you’re running your own remote server and serving content over HTTP, the CMS will not work. We recommend obtaining a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
|
|
740
748
|
- As of [Sveltia CMS 0.105.0](https://github.com/sveltia/sveltia-cms/releases/tag/v0.105.0), the `sanitize_preview` option for the [Markdown](https://decapcms.org/docs/widgets/#Markdown) widget is set to `true` by default to prevent potential XSS attacks via entry previews. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS.
|
|
741
749
|
|
|
742
|
-
|
|
750
|
+
There may be other minor differences in behaviour that are not listed here.
|
|
751
|
+
|
|
752
|
+
Sveltia CMS is also adding various config validation checks to help users identify potential issues, so you may see errors that were not present in Netlify/Decap CMS before. For example, Sveltia CMS raises an error if the `slug` collection option contains slashes (`/`), which is supposed to be invalid.
|
|
753
|
+
|
|
754
|
+
[Let us know](https://github.com/sveltia/sveltia-cms/issues/new?type=bug) if you have encounter any compatibility issues not mentioned here. We want to make the migration process as smooth as possible for our users.
|
|
743
755
|
|
|
744
756
|
### Framework support
|
|
745
757
|
|
|
@@ -821,9 +833,10 @@ Unfortunately, **we are unable to provide installation and setup support** at th
|
|
|
821
833
|
|
|
822
834
|
### Migration
|
|
823
835
|
|
|
824
|
-
<!-- prettier-ignore -->
|
|
836
|
+
<!-- prettier-ignore-start -->
|
|
825
837
|
> [!IMPORTANT]
|
|
826
838
|
> 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.
|
|
839
|
+
<!-- prettier-ignore-end -->
|
|
827
840
|
|
|
828
841
|
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.
|
|
829
842
|
|
|
@@ -1967,15 +1980,17 @@ While we don’t have dedicated developer/user support resources, you can post [
|
|
|
1967
1980
|
|
|
1968
1981
|
Join us on [Discord](https://discord.gg/5hwCGqup5b) or ping us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for a casual chat.
|
|
1969
1982
|
|
|
1970
|
-
<!-- prettier-ignore -->
|
|
1983
|
+
<!-- prettier-ignore-start -->
|
|
1971
1984
|
> [!IMPORTANT]
|
|
1972
1985
|
> As described throughout this README, Sveltia CMS is specifically designed as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are moving from the other product. We are happy to help you migrate, but **we cannot help you set up Sveltia CMS from scratch** through our free support channels.
|
|
1986
|
+
<!-- prettier-ignore-end -->
|
|
1973
1987
|
|
|
1974
1988
|
Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out!
|
|
1975
1989
|
|
|
1976
|
-
<!-- prettier-ignore -->
|
|
1990
|
+
<!-- prettier-ignore-start -->
|
|
1977
1991
|
> [!IMPORTANT]
|
|
1978
1992
|
> Please do not email the maintainer for free support. Your emails will be ignored. Instead, use the [Discussions](https://github.com/sveltia/sveltia-cms/discussions) page.
|
|
1993
|
+
<!-- prettier-ignore-end -->
|
|
1979
1994
|
|
|
1980
1995
|
## Contributions
|
|
1981
1996
|
|
|
@@ -2029,7 +2044,7 @@ Due late 2026
|
|
|
2029
2044
|
|
|
2030
2045
|
### TBD
|
|
2031
2046
|
|
|
2032
|
-
- Tackling
|
|
2047
|
+
- Tackling the remaining relevant Netlify/Decap CMS issues (some may be included in v2.0 or v3.0):
|
|
2033
2048
|
- Their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), including:
|
|
2034
2049
|
- MDX support[^122]
|
|
2035
2050
|
- [Saving drafts without editorial workflow](https://github.com/sveltia/sveltia-cms/discussions/440)[^261]
|
|
@@ -2710,3 +2725,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2710
2725
|
[^302]: Netlify/Decap CMS [#3286](https://github.com/decaporg/decap-cms/issues/3286)
|
|
2711
2726
|
|
|
2712
2727
|
[^303]: Netlify/Decap CMS [#3803](https://github.com/decaporg/decap-cms/issues/3803)
|
|
2728
|
+
|
|
2729
|
+
[^304]: Netlify/Decap CMS [#4538](https://github.com/decaporg/decap-cms/issues/4538), [#6371](https://github.com/decaporg/decap-cms/issues/6371)
|
|
2730
|
+
|
|
2731
|
+
[^305]: Netlify/Decap CMS [#1483](https://github.com/decaporg/decap-cms/issues/1483)
|