umi-plugin-react
Version:
React plugin set for umi.
51 lines (47 loc) • 1.3 kB
JavaScript
import { dirname, join } from 'path';
export default function(api, options) {
const { cwd, compatDirname } = api;
api.chainWebpackConfig(webpackConfig => {
if (options === 'preact') {
webpackConfig.resolve.alias
.set('preact/devtools', require.resolve('preact/devtools'))
.set('preact', require.resolve('preact'))
.set(
'react',
compatDirname(
'preact-compat/package.json',
cwd,
dirname(require.resolve('preact-compat/package.json')),
),
)
.set(
'react-dom',
compatDirname(
'preact-compat/package.json',
cwd,
dirname(require.resolve('preact-compat/package.json')),
),
)
.set(
'create-react-class',
join(
compatDirname(
'preact-compat/lib/create-react-class',
cwd,
dirname(require.resolve('preact-compat/lib/create-react-class')),
),
'create-react-class',
),
);
}
});
api.addEntryImport(() => {
if (process.env.NODE_ENV === 'development' && options === 'preact') {
return {
source: 'preact/devtools',
};
} else {
return [];
}
});
}