12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* eslint-disable @typescript-eslint/no-var-requires */
- const { merge } = require('webpack-merge')
- const path = require('path')
- const fs = require('fs')
- const reactConfig = require('../config-overrides')
- // TODO: related to an issue with emotion and storybook, remove once resolved https://github.com/storybookjs/storybook/issues/7540
- function getPackageDir(filepath) {
- let currDir = path.dirname(require.resolve(filepath))
- // eslint-disable-next-line no-constant-condition
- while (true) {
- if (fs.existsSync(path.join(currDir, 'package.json'))) {
- return currDir
- }
- const { dir, root } = path.parse(currDir)
- if (dir === root) {
- throw new Error(`Could not find package.json in the parent directories starting from ${filepath}.`)
- }
- currDir = dir
- }
- }
- module.exports = {
- stories: ['./Welcome.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
- addons: ['@storybook/addon-links', '@storybook/addon-essentials', '@storybook/preset-create-react-app'],
- webpackFinal: async (config) => {
- const craConfig = reactConfig.webpack(config)
- return merge(craConfig, {
- resolve: {
- alias: {
- '@emotion/core': getPackageDir('@emotion/react'),
- '@emotion/styled': getPackageDir('@emotion/styled'),
- 'emotion-theming': getPackageDir('@emotion/react'),
- },
- },
- })
- },
- }
|