mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-29 21:59:41 +08:00
3ec2c1bcfa
This reverts commit 5d72c6d7e5
.
107 lines
2.8 KiB
JavaScript
107 lines
2.8 KiB
JavaScript
const path = require('path');
|
|
const CSSSplitWebpackPlugin = require('css-split-webpack-plugin').default;
|
|
|
|
function pickerGenerator(module) {
|
|
const tester = new RegExp(`^docs/${module}`);
|
|
return (markdownData) => {
|
|
const filename = markdownData.meta.filename;
|
|
if (tester.test(filename) &&
|
|
!/\/demo$/.test(path.dirname(filename))) {
|
|
return {
|
|
meta: markdownData.meta,
|
|
};
|
|
}
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
port: 8001,
|
|
source: [
|
|
'./components',
|
|
'./docs',
|
|
'CHANGELOG.zh-CN.md', // TODO: fix it in bisheng
|
|
'CHANGELOG.en-US.md',
|
|
],
|
|
lazyLoad(nodePath, nodeValue) {
|
|
if (typeof nodeValue === 'string') {
|
|
return true;
|
|
}
|
|
return nodePath.endsWith('/demo');
|
|
},
|
|
pick: {
|
|
components(markdownData) {
|
|
const filename = markdownData.meta.filename;
|
|
if (!/^components/.test(filename) ||
|
|
/\/demo$/.test(path.dirname(filename))) return;
|
|
|
|
return {
|
|
meta: markdownData.meta,
|
|
};
|
|
},
|
|
changelog(markdownData) {
|
|
if (/CHANGELOG/.test(markdownData.meta.filename)) {
|
|
return {
|
|
meta: markdownData.meta,
|
|
};
|
|
}
|
|
},
|
|
'docs/pattern': pickerGenerator('pattern'),
|
|
'docs/practice': pickerGenerator('practice'),
|
|
'docs/react': pickerGenerator('react'),
|
|
'docs/resource': pickerGenerator('resource'),
|
|
'docs/spec': pickerGenerator('spec'),
|
|
},
|
|
theme: './site/theme',
|
|
htmlTemplate: './site/theme/static/template.html',
|
|
plugins: [
|
|
'bisheng-plugin-description',
|
|
'bisheng-plugin-toc?maxDepth=2&keepElem',
|
|
'bisheng-plugin-react?lang=__react',
|
|
'bisheng-plugin-antd',
|
|
],
|
|
filePathMapper(filePath) {
|
|
if (filePath === '/index.html') {
|
|
return ['/index.html', '/index-cn.html'];
|
|
}
|
|
if (filePath.endsWith('/index.html')) {
|
|
return [filePath, filePath.replace(/\/index\.html$/, '-cn/index.html')];
|
|
}
|
|
if (filePath !== '/404.html' && filePath !== '/index-cn.html') {
|
|
return [filePath, filePath.replace(/\.html$/, '-cn.html')];
|
|
}
|
|
return filePath;
|
|
},
|
|
doraConfig: {
|
|
verbose: true,
|
|
plugins: ['dora-plugin-upload'],
|
|
},
|
|
webpackConfig(config) {
|
|
config.resolve.alias = {
|
|
'antd/lib': path.join(process.cwd(), 'components'),
|
|
antd: process.cwd(),
|
|
site: path.join(process.cwd(), 'site'),
|
|
'react-router': 'react-router/umd/ReactRouter',
|
|
};
|
|
config.plugins.push(new CSSSplitWebpackPlugin({ preserve: true }));
|
|
|
|
config.babel.plugins.push([
|
|
require.resolve('babel-plugin-transform-runtime'),
|
|
{
|
|
polyfill: false,
|
|
regenerator: true,
|
|
},
|
|
]);
|
|
|
|
config.babel.plugins.push([
|
|
require.resolve('babel-plugin-import'),
|
|
{
|
|
style: true,
|
|
libraryName: 'antd',
|
|
libraryDirectory: 'components',
|
|
},
|
|
]);
|
|
|
|
return config;
|
|
},
|
|
};
|