74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
|
|
const path = require('path');
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
stories: [
|
||
|
|
'../stories/**/*.mdx',
|
||
|
|
'../stories/**/*.stories.@(js|jsx|ts|tsx)'
|
||
|
|
],
|
||
|
|
|
||
|
|
addons: [
|
||
|
|
'@storybook/addon-links',
|
||
|
|
'@storybook/addon-essentials',
|
||
|
|
'@storybook/addon-a11y',
|
||
|
|
'@storybook/addon-webpack5-compiler-swc'
|
||
|
|
],
|
||
|
|
|
||
|
|
framework: {
|
||
|
|
name: '@storybook/html-webpack5',
|
||
|
|
options: {}
|
||
|
|
},
|
||
|
|
|
||
|
|
webpackFinal: (config) => {
|
||
|
|
// Add support for HTML
|
||
|
|
config.module.rules = config.module.rules.map((rule) => {
|
||
|
|
if (rule.test && rule.test.toString().includes('\\.html$')) {
|
||
|
|
return {
|
||
|
|
...rule,
|
||
|
|
use: {
|
||
|
|
loader: 'html-loader',
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
return rule;
|
||
|
|
});
|
||
|
|
|
||
|
|
// Add support for SCSS
|
||
|
|
config.module.rules.push({
|
||
|
|
test: /\.scss$/,
|
||
|
|
use: [
|
||
|
|
'style-loader',
|
||
|
|
'css-loader',
|
||
|
|
{
|
||
|
|
loader: 'sass-loader',
|
||
|
|
options: {
|
||
|
|
sassOptions: {
|
||
|
|
// Removes deprecation warnings from Bootstrap
|
||
|
|
quietDeps: true,
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
include: path.resolve(__dirname, '../'),
|
||
|
|
});
|
||
|
|
|
||
|
|
// Add path aliases
|
||
|
|
config.resolve.alias = {
|
||
|
|
...config.resolve.alias,
|
||
|
|
'@js': path.resolve(__dirname, '../src/js'),
|
||
|
|
'@services': path.resolve(__dirname, '../src/js/services'),
|
||
|
|
'@constants': path.resolve(__dirname, '../src/js/constants'),
|
||
|
|
'@helpers': path.resolve(__dirname, '../src/js/helpers'),
|
||
|
|
};
|
||
|
|
|
||
|
|
// Define external libraries
|
||
|
|
config.externals = {
|
||
|
|
...config.externals,
|
||
|
|
prestashop: 'prestashop',
|
||
|
|
};
|
||
|
|
|
||
|
|
return config;
|
||
|
|
},
|
||
|
|
|
||
|
|
docs: {}
|
||
|
|
};
|