split the html renderer preview entrypoint into docs & non-docs parts

This commit is contained in:
Norbert de Langen 2023-10-30 18:54:13 +01:00
parent e437742aa8
commit c656965f51
No known key found for this signature in database
GPG Key ID: FD0E78AF9A837762
7 changed files with 37 additions and 14 deletions

View File

@ -26,11 +26,9 @@
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./preview": {
"types": "./dist/config.d.ts",
"require": "./dist/config.js",
"import": "./dist/config.mjs"
},
"./preset": "./preset.js",
"./dist/preview.mjs": "./dist/preview.mjs",
"./dist/preview-docs.mjs": "./dist/preview-docs.mjs",
"./package.json": "./package.json"
},
"main": "dist/index.js",
@ -71,7 +69,9 @@
"bundler": {
"entries": [
"./src/index.ts",
"./src/config.ts"
"./src/preset.ts",
"./src/preview.ts",
"./src/preview-docs.ts"
],
"platform": "browser"
},

View File

@ -0,0 +1 @@
module.exports = require('./dist/preset');

View File

@ -1 +0,0 @@
export * from './dist/config';

View File

@ -1,7 +0,0 @@
import { parameters as docsParams } from './docs/config';
import type { Parameters } from './types';
export const parameters: Parameters = { renderer: 'html', ...docsParams };
export { decorators, argTypesEnhancers } from './docs/config';
export { renderToCanvas, render } from './render';

View File

@ -0,0 +1,23 @@
import type { LoadedPreset, StorybookConfig } from '@storybook/types';
import { join } from 'path';
const hasDocs = (presetsList: LoadedPreset[]) => {
return presetsList.some((preset: string | { name: string }) => {
const presetName = typeof preset === 'string' ? preset : preset.name;
return presetName.includes('@storybook/addon-docs');
});
};
export const previewAnnotations: StorybookConfig['previewAnnotations'] = async (input, options) => {
const { presetsList } = options;
if (!presetsList) {
return input;
}
const docsInList = hasDocs(presetsList);
const result: string[] = [];
return result
.concat(input)
.concat([join(__dirname, 'preview.mjs')])
.concat(docsInList ? [join(__dirname, 'preview-docs.mjs')] : []);
};

View File

@ -0,0 +1,2 @@
export { parameters } from './docs/config';
export { decorators, argTypesEnhancers } from './docs/config';

View File

@ -0,0 +1,5 @@
import type { Parameters } from './types';
export const parameters: Parameters = { renderer: 'html' };
export { renderToCanvas, render } from './render';