storybookjs / addon-svelte-csf

[Incubation] CSF using Svelte components.
MIT License
98 stars 29 forks source link

Migrate to new story indexer API #147

Closed JReinhold closed 7 months ago

JReinhold commented 8 months ago

We've been working on a new story indexer API for some time, that is more official and public and actually documented. The API currently used by this addon was "internal" and undocumented. It has officially been deprecated in Storybook 7.5.0 in favor of the new API.

The new API is documented here: https://storybook.js.org/docs/svelte/api/main-config-indexers

I suggest we migrate this addon to the new API for multiple reasons:

  1. Remove the deprecation warning for users on Storybook >7.5.0
  2. Be ready for Storybook 8.
  3. Provide feedback to the API. We might uncover different usage patterns here that would warrant a change in the API.

The new API is not very different from the old one so migrating should hopefully be straight forward. The biggest difference is that an indexer now doesn't return an instance of CSFFile (in this case { meta: ..., stories: ...}) but rather a list of more detailed IndexInput, allowing the indexer to specify some properties that was not exposed before. The documentation also details how transpiling CSF files is necessary etc. but that should already have been taken care of in this addon as that remains the same.

The deprecation warning is implemented in way that allows addons to support both the new and old API simultaneously if they want to. Storybook 7.4.0+ will use the experimental_indexers if found and fallback to storyIndexers with a warning. Older versions will use storyIndexers with no warnings.

The plan is to completely remove support for the old API in Storybook 8.0.

This API is behind an experimental flag right now until we feel like the API is stable It's not because it could potentially be removed since Storybook Core uses it for all story indexing internally.

shilman commented 7 months ago

:rocket: Issue was released in v4.0.10 :rocket:

shilman commented 7 months ago

:rocket: Issue was released in v4.0.10 :rocket:

shilman commented 7 months ago

:rocket: Issue was released in v4.0.10 :rocket: