builder-we-app-canary
Version:
The KOS Builder Module for Choice MicroApp, use latest dependencies
68 lines (65 loc) • 1.91 kB
JavaScript
const { resolve } = require;
const get = require('lodash/get');
const { CSS_SCOPE, SAAS_CONFIG } = require('../util/const');
const useReactCssModule = get(SAAS_CONFIG, 'useReactCssModule', true);
const pluginsReactCssModule = useReactCssModule ? [
resolve('@saasfe/babel-plugin-react-css-module-transformer'),
[resolve('babel-plugin-react-css-modules'), {
context: 'src',
generateScopedName: `${CSS_SCOPE}_[path][local]_[hash:base64:5]`,
webpackHotModuleReloading: true,
handleMissingStyleName: 'warn',
filetypes: {
".less": {
"syntax": "postcss-less"
}
},
autoResolveMultipleImports: true
}],
] : [];
module.exports = {
loader: resolve('babel-loader'),
options: {
compact: false,
presets: [
resolve('@babel/preset-react'),
[
resolve('@babel/preset-env'),
{
targets: {
browsers: [
'last 2 versions',
'Firefox ESR',
'> 1%',
'ie >= 8',
'iOS >= 8',
'Android >= 4',
],
},
},
],
],
plugins: [
resolve('@babel/plugin-proposal-object-rest-spread'),
[
resolve('@babel/plugin-proposal-decorators'),
{
legacy: true,
},
],
// resolve('babel-plugin-add-module-exports'),
resolve('@babel/plugin-proposal-class-properties'),
// resolve('@babel/plugin-transform-modules-commonjs'),
resolve('@babel/plugin-proposal-function-bind'),
resolve('@babel/plugin-proposal-export-default-from'),
resolve('@babel/plugin-proposal-export-namespace-from'),
resolve('babel-plugin-syntax-dynamic-import'),
[resolve('babel-plugin-import'), {
libraryName: 'choice-cbm',
libraryDirectory: 'es',
style: true,
}, 'choice-cbm'],
...pluginsReactCssModule,
],
}
}