overleaf/services/web/.storybook/main.js
Alf Eaton a481ffef17 Merge pull request #3645 from overleaf/ae-import-config
Add config for optional modules

GitOrigin-RevId: 082261eff5d505ce98dfaafe179547b312c0511b
2021-03-04 03:04:21 +00:00

47 lines
1.3 KiB
JavaScript

const path = require('path')
// NOTE: must be set before webpack config is imported
process.env.SHARELATEX_CONFIG = path.resolve(
__dirname,
'../config/settings.webpack.coffee'
)
const customConfig = require('../webpack.config.dev')
module.exports = {
stories: [
'../frontend/stories/**/*.stories.js',
'../modules/**/stories/**/*.stories.js'
],
addons: ['@storybook/addon-essentials', '@storybook/addon-a11y'],
webpackFinal: storybookConfig => {
// Combine Storybook's webpack loaders with our webpack loaders
const rules = [
// Filter out the Storybook font file loader, which overrides our font
// file loader causing the font to fail to load
...storybookConfig.module.rules.filter(
rule => !rule.test.toString().includes('woff')
),
// Replace the less rule, adding to-string-loader
...customConfig.module.rules.filter(
rule => !rule.test.toString().includes('less')
),
{
test: /\.less$/,
use: ['to-string-loader', 'css-loader', 'less-loader']
}
]
// Combine Storybook's webpack plugins with our webpack plugins
const plugins = [...storybookConfig.plugins, ...customConfig.plugins]
return {
...storybookConfig,
module: {
...storybookConfig.module,
rules
},
plugins
}
}
}