mediawiki-skins-Vector/.storybook/webpack.config.js

80 lines
2.7 KiB
JavaScript
Raw Normal View History

const path = require( 'path' );
module.exports = {
resolve: {
alias: {
// FIXME: These imports should be updated in the story files instead of here.
'../resources/skins.vector.styles/Footer.less': '../resources/common/components/Footer.less',
'../resources/skins.vector.styles/LanguageButton.less': '../resources/skins.vector.styles/components/LanguageButton.less',
'../resources/skins.vector.styles/skin-legacy.less': '../resources/skins.vector.styles.legacy/skin-legacy.less',
'../resources/skins.vector.styles/Logo.less': '../resources/skins.vector.styles/components/Logo.less',
'../resources/skins.vector.styles/Menu.less': '../resources/common/components/Menu.less',
'../.storybook/common.less': '../resources/common/common.less',
'../resources/skins.vector.styles/MenuDropdown.less': '../resources/common/components/MenuDropdown.less',
'../resources/skins.vector.styles/MenuPortal.less': '../resources/common/components/MenuPortal.less',
'../resources/skins.vector.styles/MenuTabs.less': '../resources/common/components/MenuTabs.less',
'../resources/skins.vector.styles/TabWatchstarLink.less': '../resources/common/components/TabWatchstarLink.less',
'../resources/skins.vector.styles/SearchBox.less': '../resources/common/components/SearchBox.less',
'../resources/skins.vector.styles/Sidebar.less': '../resources/skins.vector.styles/components/Sidebar.less',
'../resources/skins.vector.styles/SidebarLogo.less': '../resources/common/components/SidebarLogo.less',
'../resources/skins.vector.styles/MenuPortal.less': '../resources/common/components/MenuPortal.less'
}
},
module: {
rules: [ {
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
// Beware of https://github.com/babel/babel-loader/issues/690. Changes to browsers require
// manual invalidation.
cacheDirectory: true
}
}
},
{
test: /\.css$/,
use: [ {
loader: 'style-loader'
}, {
loader: 'css-loader'
} ]
},
{
test: /\.(gif|png|jpe?g|svg)$/i,
loader: 'file-loader',
options: {
paths: [
path.resolve( __dirname, './resolve-imports' )
]
}
},
{
// in core some LESS imports don't specify filename
test: /\.less$/,
use: [ {
loader: 'style-loader'
}, {
loader: 'css-loader',
options: {
// FIXME: Disable resolving of CSS urls until Storybook is upgraded
// to use Webpack 5 and array values for aliases
// (which would cleanly resolve urls in LESS partial starting with `url(images/...)` )
url: false
}
}, {
loader: 'less-loader',
options: {
relativeUrls: true,
strictUnits: true,
paths: [
path.resolve( __dirname, 'resolve-imports' )
]
}
} ]
},
]
}
};