12345678910111213141516171819202122232425262728293031323334353637 |
- import { global } from '@storybook/global';
- import { ClientApi, PreviewWeb, addons, composeConfigs } from '@storybook/preview-api';
- import { createBrowserChannel } from '@storybook/channels';
- import { importFn } from './{{storiesFilename}}';
- const getProjectAnnotations = () =>
- composeConfigs([{{#each previewAnnotations}}require('{{this}}'),{{/each}}]);
- const channel = createBrowserChannel({ page: 'preview' });
- addons.setChannel(channel);
- if (global.CONFIG_TYPE === 'DEVELOPMENT'){
- window.__STORYBOOK_SERVER_CHANNEL__ = channel;
- }
- const preview = new PreviewWeb();
- window.__STORYBOOK_PREVIEW__ = preview;
- window.__STORYBOOK_STORY_STORE__ = preview.storyStore;
- window.__STORYBOOK_ADDONS_CHANNEL__ = channel;
- window.__STORYBOOK_CLIENT_API__ = new ClientApi({ storyStore: preview.storyStore });
- preview.initialize({ importFn, getProjectAnnotations });
- if (import.meta.webpackHot) {
- import.meta.webpackHot.accept('./{{storiesFilename}}', () => {
- // importFn has changed so we need to patch the new one in
- preview.onStoriesChanged({ importFn });
- });
- import.meta.webpackHot.accept([{{#each previewAnnotations}}'{{this}}',{{/each}}], () => {
- // getProjectAnnotations has changed so we need to patch the new one in
- preview.onGetProjectAnnotationsChanged({ getProjectAnnotations });
- });
- }
|