@sveltia/cms 0.63.0 → 0.64.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 CHANGED
@@ -117,8 +117,10 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
117
117
  - Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
118
118
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
119
119
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
120
- - So far, 180+ of them, or 370+ including duplicates, have been effectively solved in Sveltia CMS
121
- - Target: 200 by GA; 300, or 600 including duplicates, in the future (yes, you read that right)
120
+ - So far, 180+ issues, or 370+ if including duplicates, have been effectively solved in Sveltia CMS
121
+ - Target:
122
+ - 200 issues, or 400 if including duplicates, by GA (almost there)
123
+ - 300 issues, or 600 if including duplicates, in the future (yes, you read that right)
122
124
  - Issues include everything from feature requests to bug reports and [issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution, as well as [discussions](https://github.com/decaporg/decap-cms/discussions) and stalled [pull requests](https://github.com/decaporg/decap-cms/pulls)
123
125
  - Most of the bugs, including annoying crashes, are already solved
124
126
  - 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 or already implemented in Sveltia CMS
@@ -150,7 +152,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
150
152
  ### Better performance
151
153
 
152
154
  - Built completely from scratch with [Svelte](https://svelte.dev/) instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast with [no virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
153
- - The CMS is compiled and distributed as vanilla JavaScript. You can use it with any framework or static site generator (SSG) that can load static data files during the build process.
155
+ - The CMS is compiled and distributed as vanilla JavaScript. You can use it with any framework or static site generator (SSG) that can load static data files during the build process, including Astro, Eleventy, Hugo, Jekyll, Next.js, SvelteKit and VitePress.
154
156
  - Small footprint: The bundle size is around 500 KB when minified and [brotlied](https://en.wikipedia.org/wiki/Brotli), which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.9 MB) and Static CMS (2.6 MB).[^57][^64] This number is remarkable because even though we haven’t implemented [some features](#current-limitations) yet, we have added a lot of new features. That’s the power of Svelte + [Vite](https://vite.dev/).
155
157
  - 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.
156
158
  - 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 therefore ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets.[^14]
@@ -208,7 +210,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
208
210
 
209
211
  - Some servers and frameworks are known to remove the trailing slash from the CMS URL (`/admin`) depending on the configuration. In such cases, the config file is loaded from a root-relative URL (`/admin/config.yml`) instead of a regular relative URL (`./config.yml` = `/config.yml`) that results in a 404 Not Found error.[^107]
210
212
  - Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
211
- - We keep our TypeScript type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193] This makes it easier to provide a site configuration when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
213
+ - TypeScript support: We try to keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
212
214
 
213
215
  ### Better backend support
214
216
 
@@ -222,6 +224,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
222
224
  - Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
223
225
  - Features the all-new local backend that boosts DX. See the [productivity section](#better-productivity) above.
224
226
  - Developers can select the local and remote backends while working on a local server.
227
+ - The Test backend stores changes in the browser’s [origin private file system](https://web.dev/articles/origin-private-file-system) (OPFS) instead of an in-memory cache. Developers can play with the CMS as much as they want without having to discard changes.[^194]
225
228
 
226
229
  ### Better i18n support
227
230
 
@@ -406,7 +409,8 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
406
409
  - `slug` can be used for `value_field` to show all available options instead of just one in some situations.[^91]
407
410
  - Template strings with a wildcard like `{{cities.*.name}}` can also be used for `value_field`.[^94]
408
411
  - `display_fields` is displayed in the Preview Pane instead of `value_field`.
409
- - The redundant `search_fields` option is not required in Sveltia CMS, as it defaults to `display_fields` (and `value_field`).
412
+ - The redundant `search_fields` option is optional in Sveltia CMS, as it defaults to `display_fields`, `value_field` or the collection’s `identifier_field`, which is `title` by default.
413
+ - The `value_field` option is also optional in Sveltia CMS, as it defaults to entry slugs (`{{slug}}`).
410
414
  - A new item created in a referenced collection is immediately available in the options.[^138]
411
415
  - Select
412
416
  - It’s possible to select an option with value `0`.[^56]
@@ -488,7 +492,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
488
492
  - 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.
489
493
  - 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]
490
494
  - Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117]
491
- - We are migrating from [svelte-i18n](https://github.com/kaisermann/svelte-i18n) to the new [MessageFormat 2](https://github.com/unicode-org/message-format-wg)-based sveltia-i18n library for natural-sounding translations in every locale.
495
+ - We are migrating from [`svelte-i18n`](https://github.com/kaisermann/svelte-i18n) to the new [MessageFormat 2](https://github.com/unicode-org/message-format-wg)-based `sveltia-i18n` library for natural-sounding translations in every locale.
492
496
 
493
497
  ## Compatibility
494
498
 
@@ -514,6 +518,11 @@ However, 100% feature parity is not planned, and some features are still missing
514
518
  - The theme and keymap inline settings of the Code widget, along with support for some languages: We use the [Prism](https://prismjs.com/)-powered code block functionality in Lexical instead of [CodeMirror](https://codemirror.net/). Prism may be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575) in the future.
515
519
  - Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
516
520
  - Support for 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.
521
+ - Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
522
+ - Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
523
+ - Backend: [`use_graphql`](https://decapcms.org/docs/github-backend/#graphql-api)
524
+ - Relation widget: `options_length`
525
+ - 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).
517
526
  - [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.
518
527
  - Any other undocumented options/features. Exceptions apply.
519
528
 
@@ -523,11 +532,11 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
523
532
 
524
533
  - Comprehensive site config validation
525
534
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md) other than English and Japanese
526
- - [Test](https://decapcms.org/docs/test-backend/) backend
527
535
  - Field-specific media folders for the [File](https://decapcms.org/docs/widgets/#file) and [Image](https://decapcms.org/docs/widgets/#image) widgets
528
536
  - [Map](https://decapcms.org/docs/widgets/#map) widget
529
537
  - [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
530
- - [Custom widgets and custom editor components](https://decapcms.org/docs/custom-widgets/)
538
+ - [Custom widgets](https://decapcms.org/docs/custom-widgets/)
539
+ - [Custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent): Support for `toPreview`, Object/List widgets, and `default` field option
531
540
  - [Custom previews](https://decapcms.org/docs/customization/) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
532
541
  - [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
533
542
 
@@ -575,11 +584,11 @@ As the product evolves, we’ll implement a built-in configuration editor and pr
575
584
 
576
585
  Here are some starter kits for popular frameworks created by community members. More to come! (Note: These third-party resources are not necessarily reviewed by the Sveltia CMS team.)
577
586
 
578
- - 11ty
579
- - [Eleventy starter template](https://github.com/danurbanowicz/eleventy-sveltia-cms-starter) by [@danurbanowicz](https://github.com/danurbanowicz)
580
587
  - Astro
581
588
  - [astro-sveltia-cms](https://github.com/majesticostudio/astro-sveltia-cms), [astro-starter](https://github.com/zankhq/astro-starter) and [astros](https://github.com/zankhq/astros) by [@zanhk](https://github.com/zanhk)
582
589
  - [Astro i18n Starter](https://github.com/yacosta738/astro-cms) by [@yacosta738](https://github.com/yacosta738)
590
+ - Eleventy (11ty)
591
+ - [Eleventy starter template](https://github.com/danurbanowicz/eleventy-sveltia-cms-starter) by [@danurbanowicz](https://github.com/danurbanowicz)
583
592
  - Hugo
584
593
  - [Hugo module](https://github.com/privatemaker/headless-cms) by [@privatemaker](https://github.com/privatemaker)
585
594
  - [hugolify-sveltia-cms](https://github.com/Hugolify/hugolify-sveltia-cms/) by [@sebousan](https://github.com/sebousan)
@@ -1550,3 +1559,5 @@ This software is provided “as is” without any express or implied warranty. W
1550
1559
  [^192]: Netlify/Decap CMS [#6527](https://github.com/decaporg/decap-cms/issues/6527)
1551
1560
 
1552
1561
  [^193]: Netlify/Decap CMS [#6800](https://github.com/decaporg/decap-cms/issues/6800)
1562
+
1563
+ [^194]: Netlify/Decap CMS [#7157](https://github.com/decaporg/decap-cms/issues/7157)