You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
45 lines
1.0 KiB
import fs from 'fs'; |
|
import memory from 'rollup-plugin-memory'; |
|
import buble from 'rollup-plugin-buble'; |
|
import nodeResolve from 'rollup-plugin-node-resolve'; |
|
import commonjs from 'rollup-plugin-commonjs'; |
|
|
|
let pkg = JSON.parse(fs.readFileSync('./package.json')); |
|
|
|
let external = Object.keys(pkg.peerDependencies || {}).concat(Object.keys(pkg.dependencies || {})); |
|
|
|
let format = process.env.FORMAT==='es' ? 'es' : 'umd'; |
|
|
|
export default { |
|
entry: 'src/index.js', |
|
sourceMap: true, |
|
moduleName: pkg.amdName, |
|
exports: format==='es' ? null : 'default', |
|
dest: format==='es' ? pkg.module : pkg.main, |
|
format, |
|
external, |
|
useStrict: false, |
|
globals: { |
|
'preact': 'preact', |
|
'prop-types': 'PropTypes' |
|
}, |
|
plugins: [ |
|
format==='umd' && memory({ |
|
path: 'src/index.js', |
|
contents: "export { default } from './index';" |
|
}), |
|
buble({ |
|
objectAssign: 'extend', |
|
namedFunctionExpressions: false |
|
}), |
|
nodeResolve({ |
|
jsnext: true, |
|
main: true, |
|
skip: external |
|
}), |
|
commonjs({ |
|
include: 'node_modules/**', |
|
exclude: '**/*.css' |
|
}) |
|
].filter(Boolean) |
|
};
|
|
|