forked from asyarb/gatsby-plugin-exact-client-paths
/
rollup.config.js
33 lines (29 loc) · 889 Bytes
/
rollup.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import babel from 'rollup-plugin-babel'
import pkg from './package.json'
import { terser } from 'rollup-plugin-terser'
const isProd = process.env.NODE_ENV === 'production'
const makeExternalPredicate = externalArr => {
if (externalArr.length === 0) {
return () => false
}
const pattern = new RegExp(`^(${externalArr.join('|')})($|/)`)
return id => pattern.test(id)
}
const externalPkgs = makeExternalPredicate([
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
])
export default [
{
input: 'src/gatsby-node.js',
output: { file: 'dist/gatsby-node.js', format: 'cjs' },
external: externalPkgs,
plugins: [babel()],
},
{
input: 'src/gatsby-browser.js',
output: { file: 'dist/gatsby-browser.js', format: 'cjs', sourcemap: true },
external: externalPkgs,
plugins: [babel(), isProd && terser()],
},
]