strapi/packages/core/helper-plugin/rollup.config.js

74 lines
1.8 KiB
JavaScript
Raw Normal View History

import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import nodePolyfills from 'rollup-plugin-node-polyfills';
import babel from '@rollup/plugin-babel';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import replace from '@rollup/plugin-replace';
import image from '@rollup/plugin-image';
2019-04-16 09:38:15 +02:00
import postcss from 'rollup-plugin-postcss';
import { terser } from 'rollup-plugin-terser';
import packageJson from './package.json';
2019-04-15 18:35:01 +02:00
export default {
2019-04-16 09:38:15 +02:00
input: './lib/src/index.js',
2019-04-15 18:35:01 +02:00
output: [
{
file: packageJson.main,
2019-04-15 18:35:01 +02:00
format: 'cjs',
sourcemap: false,
2019-04-15 18:35:01 +02:00
},
{
file: packageJson.module,
format: 'esm',
sourcemap: false,
2019-04-15 18:35:01 +02:00
},
],
plugins: [
peerDepsExternal({
packageJsonPath: './package.json',
}),
2019-04-16 09:38:15 +02:00
postcss({
modules: true,
minimize: true,
}),
nodeResolve({
extensions: ['.js'],
preferBuiltins: true,
}),
replace({
'process.env.NODE_ENV': JSON.stringify('production'),
preventAssignment: true,
2019-04-16 09:38:15 +02:00
}),
2019-04-15 18:35:01 +02:00
babel({
presets: [
[
'@babel/preset-env',
{
modules: false,
targets: {
browsers: ['Since 2017'],
},
},
],
'@babel/preset-react',
],
babelHelpers: 'runtime',
plugins: [
'@babel/plugin-transform-runtime',
'@babel/plugin-proposal-class-properties',
['babel-plugin-styled-components', { pure: true }],
],
extensions: ['.js', '.svg'],
2019-04-15 18:35:01 +02:00
exclude: 'node_modules/**',
}),
2019-04-16 09:38:15 +02:00
commonjs(),
image(),
nodePolyfills(),
terser(),
],
external: [
...Object.keys(packageJson.dependencies || {}),
...Object.keys(packageJson.peerDependencies || {}),
],
2019-04-15 18:35:01 +02:00
};