@sveltia/cms 0.49.4 → 0.49.6

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 CHANGED
@@ -85,7 +85,7 @@ Due to its unfortunate abandonment, Netlify CMS spawned 3 successors:
85
85
 
86
86
  - [Static CMS](https://github.com/StaticJsCMS/static-cms): a community fork, initial commit made in September 2022, discontinued in September 2024
87
87
  - **Sveltia CMS**: a total reboot, started in November 2022, first appeared on GitHub in March 2023
88
- - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as the official successor, with a Netlify agency partner taking ownership, mostly inactive
88
+ - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as the official successor with a Netlify agency partner taking ownership mostly inactive
89
89
 
90
90
  Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt and numerous bugs of Netlify CMS, which was launched back in 2015. We are confident that our decision to rebuild the application from scratch was the right one, as proven by the [hundreds of improvements](#differentiators) we have already made.
91
91
 
@@ -94,8 +94,8 @@ While Sveltia CMS is specifically designed to replace legacy Netlify CMS instanc
94
94
  ### Our goals
95
95
 
96
96
  - Making Sveltia CMS a viable, definitive successor to Netlify CMS
97
- - Emerging as the leading open source offering in the Git-based CMS market
98
97
  - Empowering small businesses and individuals who need a simple, free, yet powerful CMS solution
98
+ - Emerging as the leading open source offering in the Git-based CMS market
99
99
  - Extending its capabilities as digital asset management (DAM) software
100
100
  - Showcasing the power of Svelte and UX engineering
101
101
 
@@ -110,7 +110,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
110
110
  - So far, 140+ of them, or 255+ including duplicates, have been effectively solved in Sveltia CMS
111
111
  - Target: 250 or all relevant and fixable issues in a future release
112
112
  - Note: Issues include both feature requests and bug reports; we also track their [stale issues](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) and [discussions](https://github.com/decaporg/decap-cms/discussions)
113
- - [Let us know](https://github.com/sveltia/sveltia-cms/issues/new) if you have any specific issues you’d like to see solved!
113
+ - [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=enhancement) if you have any specific issues you’d like to see solved!
114
114
  - Responding to feedback from [@kyoshino](https://github.com/kyoshino)’s clients and regular users
115
115
  - Implementing our own enhancement ideas for every part of the product
116
116
  - Making the code clean and maintainable
@@ -124,7 +124,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
124
124
  ### Better UX
125
125
 
126
126
  - Created and maintained by an [experienced UX engineer](https://github.com/kyoshino) who loves code, design and marketing. You can expect constant improvements to the user experience (UX) and developer experience (DX) across the platform.
127
- - The maintainer tries to be as responsive as possible, and while there are no guarantees, reported bugs are usually fixed within 24 hours.
127
+ - The maintainer tries to be as responsive as possible. While there are no guarantees, the typical turnaround time for a bug fix is less than 6 hours.
128
128
  - Offers a modern, intuitive user interface, including an immersive dark mode[^2], inspired in part by the Netlify CMS v3 prototype[^1].
129
129
  - We develop [our own UI library](https://github.com/sveltia/sveltia-ui) to ensure optimal usability without compromising accessibility.
130
130
  - Comes with touch device support, such as larger buttons for easier tapping. While the UI is not yet optimized for small screens, it should work well with large tablets like iPad Pro or Pixel Tablet. Mobile support and other optimizations such as swipe navigation are planned shortly after the 1.0 release.
@@ -137,7 +137,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
137
137
 
138
138
  - Built completely from scratch with Svelte instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast. The compiled code is vanilla JavaScript — you can use it with any framework or static site generator (SSG) that can load static data files during the build process.
139
139
  - Small footprint: The bundle size is less than 450 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet. That’s the power of Svelte + Vite.
140
- - We have upgraded from Svelte 4 to [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) to further improve performance, including an even smaller bundle size. A full migration to the Runes reactivity API will follow.
140
+ - We have upgraded from Svelte 4 to [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) to further improve performance, including an even smaller bundle size. A full migration to the Runes reactivity API is in progress.
141
141
  - Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
142
142
  - Uses the GraphQL API for GitHub and GitLab to quickly fetch content at once, so that entries and assets can be listed and searched instantly[^32][^65] (the useless `search` configuration option is ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
143
143
  - Saving entries and assets to GitHub is also much faster thanks to the [GraphQL mutation](https://github.blog/changelog/2021-09-13-a-simpler-api-for-authoring-commits/).
@@ -175,7 +175,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
175
175
 
176
176
  ### Better security
177
177
 
178
- - Avoids vulnerabilities in dependencies through constant updates, [`pnpm audit`](https://pnpm.io/cli/audit), and frequent releases[^33].
178
+ - Avoids vulnerabilities in dependencies through constant updates, [`pnpm audit`](https://pnpm.io/cli/audit), and frequent releases, unlike Netlify/Decap CMS where a number of high severity vulnerabilities are unpatched[^33].
179
179
  - We have enabled [npm package provenance](https://github.blog/security/supply-chain-security/introducing-npm-package-provenance/).
180
180
  - We have documented how to [set up a Content Security Policy](#setting-up-content-security-policy) for the CMS to prevent any unexpected errors or otherwise insecure configuration[^108].
181
181
  - The `unsafe-eval` and `unsafe-inline` keywords are not needed in the `script-src` CSP directive[^34].
@@ -427,8 +427,8 @@ However, 100% feature parity is not planned, and some features are still missing
427
427
 
428
428
  ### Features not to be implemented
429
429
 
430
- - **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. We may implement a high-performance Git Gateway alternative in the future. We may also support the other platforms if/when their APIs improve to allow the CMS to fetch multiple entries at once.
431
- - **The Netlify Identity widget will not be supported**, as it’s not useful without Git Gateway. We may be able to support it in the future if/when a Git Gateway alternative is created.
430
+ - **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. We plan to develop a high-performance Git Gateway alternative in the future. We may also support the other platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
431
+ - **The Netlify Identity widget will not be supported**, as it’s not useful without Git Gateway. We may be able to support it in the future if a Git Gateway alternative is created.
432
432
  - The deprecated client-side implicit grant for the GitLab backend will not be supported, as it has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
433
433
  - The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
434
434
  - The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget instead.
@@ -441,7 +441,7 @@ These limitations are expected to be resolved before or shortly after GA:
441
441
 
442
442
  | Feature | Status in Sveltia CMS |
443
443
  | --- | --- |
444
- | Backends | The [Test](https://decapcms.org/docs/test-backend/) backend needed for our demo site is not yet added. We’ll see if [Azure DevOps](https://decapcms.org/docs/azure-backend/) can also be supported. |
444
+ | Backends | The [Test backend](https://decapcms.org/docs/test-backend/) needed for our demo site is not yet added. We’ll see if [Azure DevOps](https://decapcms.org/docs/azure-backend/) can also be supported. |
445
445
  | Configuration | Comprehensive config validation is not yet implemented. |
446
446
  | Localization | The application UI is only available in English and Japanese at this time. |
447
447
  | Media Libraries | [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) are not yet supported. |
@@ -464,7 +464,7 @@ These limitations are expected to be resolved before or shortly after GA:
464
464
  - 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 a remote server yourself and it’s served over HTTP, get a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
465
465
  - The GitLab backend requires GitLab 16.3 or later.
466
466
  - We plan to provide partial compatibility with now-discontinued Static CMS, such as the [KeyValue widget](https://staticjscms.netlify.app/docs/widget-keyvalue).
467
- - Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new).
467
+ - Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug).
468
468
 
469
469
  ## Getting started
470
470
 
@@ -570,20 +570,21 @@ Basically there are only two differences from Netlify/Decap CMS: you don’t nee
570
570
  1. Click “Work with Local Repository” and select the project’s root directory once prompted.
571
571
  - If you get an error saying “not a repository root directory”, make sure you’ve turned the folder into a repository with either a CUI ([`git init`](https://github.com/git-guides/git-init)) or GUI, and the hidden `.git` folder exists.
572
572
  - If you’re using Windows Subsystem for Linux (WSL), you may get an error saying “Can’t open this folder because it contains system files.” This is due to a limitation in the browser, and you can try some workarounds mentioned in [this issue](https://github.com/coder/code-server/issues/4646) and [this thread](https://github.com/sveltia/sveltia-cms/discussions/101).
573
- 1. Make some changes to your content on Sveltia CMS.
574
- 1. See if the produced changes look good using `git diff` or a GUI like [GitHub Desktop](https://desktop.github.com/).
573
+ 1. Edit your content using the CMS. All changes are made to local files.
575
574
  1. Open the dev site at `http://localhost:[port]/` to check the rendered pages.
575
+ - Depending on your framework, you may need to manually rebuild your site to reflect the changes you have made.
576
+ 1. Use `git diff` or a GUI like [GitHub Desktop](https://desktop.github.com/) to see if the produced changes look good.
576
577
  1. Commit and push the changes if satisfied, or discard them if you’re just testing.
577
578
 
578
- Keep in mind that, as with Netlify/Decap CMS, the local repository support in Sveltia CMS doesn’t perform any Git operations. You’ll have to manually fetch, pull, commit and push all changes using a Git client. In the future, we’ll figure out if there’s a way to do this in a browser, because `netlify-cms-proxy-server` actually has the undocumented, experimental `git` mode that allows developers to create commits to a local repository[^131].
579
+ Note that, as with Netlify/Decap CMS, the local repository support in Sveltia CMS doesn’t perform any Git operations. You’ll have to manually fetch, pull, commit and push all changes using a Git client. In the future, we’ll figure out if there’s a way to do this in a browser, because the proxy server actually has the undocumented, experimental `git` mode that creates commits to a local repository[^131].
579
580
 
580
- Also, at this point, you have to reload the CMS to see the latest content after retrieving remote updates. This manual work will hopefully be unnecessary once the proposed `FileSystemObserver` API, which is being [implemented in Chromium](https://issues.chromium.org/issues/40105284) behind a flag, becomes available.
581
+ You will also need to reload the CMS after making changes to the configuration file or retrieving remote updates. This manual work will hopefully be unnecessary once the proposed `FileSystemObserver` API, which is being [implemented in Chromium](https://issues.chromium.org/issues/40105284) behind a flag, becomes available.
581
582
 
582
583
  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` property 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.
583
584
 
584
585
  ### Enabling local development in Brave
585
586
 
586
- In the Brave browser, you must enable the File System Access API with an experiment flag to take advantage of local development.
587
+ In the Brave browser, you must enable the File System Access API with an experiment flag to take advantage of the [local repository workflow](#working-with-a-local-git-repository).
587
588
 
588
589
  1. Open `brave://flags/#file-system-access-api` in a new browser tab.
589
590
  1. Click Default (Disabled) next to File System Access API and select Enabled.
@@ -937,9 +938,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
937
938
 
938
939
  ### Before the 1.0 release
939
940
 
940
- - [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) Runes migration
941
941
  - Enhanced [compatibility with Netlify/Decap CMS](#compatibility)
942
- - Partial compatibility with Static CMS, a now-discontinued community fork of Netlify CMS, specifically the [KeyValue widget](https://staticjscms.netlify.app/docs/widget-keyvalue)[^123]
943
942
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md)
944
943
  - Accessibility audit
945
944
  - Developer documentation (implementation guide)
@@ -951,7 +950,9 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
951
950
  ### After the 1.0 release
952
951
 
953
952
  - Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and nested collections
954
- - Tackling more Netlify/Decap CMS issues, especially the [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), including MDX support[^122], manual entry sorting[^125], roles[^23], mobile optimization[^18] and config editor[^10] — Some features are already implemented in Sveltia CMS
953
+ - Tackling more Netlify/Decap CMS issues, including MDX support[^122], manual entry sorting[^125], roles[^23], mobile optimization[^18] and config editor[^10] — Some [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are already implemented in Sveltia CMS
954
+ - Exploring compatibility with Static CMS, a now-discontinued community fork of Netlify CMS (Note: The [KeyValue widget](https://staticjscms.netlify.app/docs/widget-keyvalue) will be supported prior to the 1.0 release[^123])
955
+ - More integration options: stock photos, cloud storage providers, translators, maps, analytics
955
956
  - Advanced digital asset management (DAM) features, including image editing and tagging[^114]
956
957
  - AI integrations for image generation and content writing
957
958
  - End-user documentation
@@ -966,8 +967,10 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
966
967
 
967
968
  ### As seen on
968
969
 
970
+ - [LogRocket Blog – 9 best Git-based CMS platforms for your next project](https://blog.logrocket.com/9-best-git-based-cms-platforms/)
971
+ - [Jamstack – Headless CMS](https://jamstack.org/headless-cms/)
972
+ - [Hugo – Front-end interfaces](https://gohugo.io/tools/front-ends/)
969
973
  - [Made with Svelte](https://madewithsvelte.com/sveltia-cms)
970
- - [LogRocket Blog](https://blog.logrocket.com/9-best-git-based-cms-platforms/)
971
974
 
972
975
  ## Disclaimer
973
976
 
@@ -1197,7 +1200,7 @@ This software is provided “as is” without any express or implied warranty. W
1197
1200
 
1198
1201
  [^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)
1199
1202
 
1200
- [^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), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#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), [#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) — These `removeChild` crashes are common in React apps and seem to be caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
1203
+ [^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), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#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), [#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) — 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).
1201
1204
 
1202
1205
  [^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
1203
1206