comty/.umirc.js
2020-02-17 19:58:27 +01:00

92 lines
2.3 KiB
JavaScript

// https://umijs.org/config/
import { resolve } from 'path';
import { i18n } from './config/ycore.config.js';
export default {
ignoreMomentLocale: true,
targets: {
ie: 9,
},
treeShaking: true,
plugins: [
[
'umi-plugin-react',
{
dva: {
immer: true,
hmr: true,
},
antd: true,
dynamicImport: {
webpackChunkName: true,
loadingComponent: './components/Loader/Loader',
},
routes: {
exclude: [
/model\.(j|t)sx?$/,
/service\.(j|t)sx?$/,
/models\//,
/components\//,
/services\//,
],
update: routes => {
if (!i18n) return routes;
const newRoutes = [];
for (const item of routes[0].routes) {
newRoutes.push(item);
if (item.path) {
newRoutes.push(
Object.assign({}, item, {
path: `/:lang(${i18n.languages.map(item => item.key).join('|')})` + item.path,
})
);
}
}
routes[0].routes = newRoutes;
return routes;
},
},
dll: false,
pwa: {
manifestOptions: {
srcPath: 'manifest.json',
},
},
hd: false,
},
],
],
// Theme for antd
// https://ant.design/docs/react/customize-theme
theme: './config/theme.config.js',
// Webpack Configuration
alias: {
ycore: resolve(__dirname, './src/@ycore/ycore_worker.js'),
api: resolve(__dirname, './src/services/'),
globals: resolve(__dirname, './globals'),
components: resolve(__dirname, './src/components'),
config: resolve(__dirname, './config/ycore.config.js'),
models: resolve(__dirname, './src/models'),
routes: resolve(__dirname, './src/routes'),
services: resolve(__dirname, './src/services'),
themes: resolve(__dirname, './src/themes'),
utils: resolve(__dirname, './src/utils'),
},
extraBabelPresets: ['@lingui/babel-preset-react'],
extraBabelPlugins: [
[
'import',
{
libraryName: 'lodash',
libraryDirectory: '',
camel2DashComponentName: false,
},
'lodash',
],
],
};