Move Storybook to the root

Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
This commit is contained in:
Charles de Dreuille
2025-08-13 22:18:04 +02:00
parent d9fb18dc9a
commit 854351e088
13 changed files with 982 additions and 5251 deletions
+49
View File
@@ -0,0 +1,49 @@
import type { StorybookConfig } from '@storybook/react-vite';
import { join, dirname, posix } from 'path';
// This set of stories are the ones that we publish to backstage.io.
const backstageCoreStories = [
'packages/ui',
'packages/core-components',
'packages/app',
'plugins/org',
'plugins/search',
'plugins/search-react',
'plugins/home',
'plugins/catalog-react',
];
const rootPath = '../';
const storiesSrcMdx = 'src/**/*.mdx';
const storiesSrcGlob = 'src/**/*.stories.@(js|jsx|mjs|ts|tsx)';
const getStoriesPath = (element: string, pattern: string) =>
posix.join(rootPath, element, pattern);
const stories = backstageCoreStories.flatMap(element => [
getStoriesPath(element, storiesSrcMdx),
getStoriesPath(element, storiesSrcGlob),
]);
// Resolve absolute path of a package. Needed in monorepos.
function getAbsolutePath(value: string): any {
return dirname(require.resolve(join(value, 'package.json')));
}
const config: StorybookConfig = {
stories,
addons: [
getAbsolutePath('@storybook/addon-links'),
getAbsolutePath('@storybook/addon-essentials'),
getAbsolutePath('@storybook/addon-interactions'),
getAbsolutePath('@storybook/addon-themes'),
getAbsolutePath('@storybook/addon-storysource'),
],
framework: {
name: getAbsolutePath('@storybook/react-vite'),
options: {},
},
};
export default config;