web
web copied to clipboard
require is not defined when loading mdx files through @web/dev-server-storybook
It seems OK to load normal stories in js format while failed to load stories in mdx format by complaining require is not defined in the terminal console (Node 18.18.2, @web/dev-server-storybook": "^1.0.8" , "@web/dev-server": "^0.3.6")
// web-dev-server.config.mjs
import { storybookPlugin } from '@web/dev-server-storybook';
export default {
open: true,
nodeResolve: true,
plugins: [
storybookPlugin({ type: 'web-components' }),
],
};
// .storybook/main.js
module.exports = {
stories: ['../stories/**/*.stories.mdx', '../stories/**/*.stories.@(js|jsx|ts|tsx)'],
addons: [
'@web/storybook-prebuilt/addon-docs/blocks.js',
],
};
Error when loading mdx format stories.
Error while handling server request.
ReferenceError: require is not defined
at transformMdxToCsf (file:///Users/xxx/workspaces/xxx/node_modules/@web/dev-server-storybook/dist/shared/mdx/transformMdxToCsf.js:19:19)
I might be wrong but, by looking at the source code here: https://github.com/modernweb-dev/web/blob/aa6b0712121eb888b7db90a8a42731c2b745384d/packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts#L21
I doubt node specific things(functions) might be working when it's being run as a plug-in on dev-server.
any suggestions to walk around this issue?
many thanks.