mediawiki-skins-Vector/.storybook/webpack.config.js
Anne Tomasevich fa2faf563f Rename CdxButton type prop to weight
In Codex v0.7.0, the CdxButton's `type` prop changed. The `type`
prop was renamed `weight` and will continue to accept the same
values ('normal', 'quiet', and 'primary'). A new `type` prop was
added that accepts the old types, plus native button types
('button', 'reset', and 'submit'). In a future release of Codex,
the `type` prop will be removed altogether and the native type
can be bound to the CdxButton via the `type` attribute.

So, while the old values for `type` still work, we want to
update the prop name in anticipation of the `type` prop's
removal. For any new code moving forward, the `weight` prop
should be used.

This patch:
- Updates the Button stories to change the `type` prop to `weight`
- Updates Codex dev dependencies to v0.7.0
- Updates Storybook webpack config so it can process *.mjs files
  (Codex ES dist files now have this extension, see
  Ic29c891c8d7ac705d016aa6f91c5f63684d7d7c8)

Bug: T312987
Change-Id: If98dad4769ed72900dbae579823a356669d6cf64
2023-03-16 21:08:03 +00:00

85 lines
2.8 KiB
JavaScript

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/skins.vector.styles/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/MainMenu.less': '../resources/skins.vector.styles/components/MainMenu.less',
'../resources/skins.vector.styles/SidebarLogo.less': '../resources/common/components/SidebarLogo.less',
'../resources/skins.vector.styles/MenuPortal.less': '../resources/skins.vector.styles/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: /\.mjs$/,
include: /node_modules/,
type: "javascript/auto"
},
{
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' )
]
}
} ]
},
]
}
};