-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrollup.config.js
More file actions
38 lines (31 loc) · 936 Bytes
/
rollup.config.js
File metadata and controls
38 lines (31 loc) · 936 Bytes
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
34
35
36
37
38
// Rollup plugins.
import resolve from '@rollup/plugin-node-resolve'
import babel from '@rollup/plugin-babel'
// Constants.
const extensions = [ '.ts', '.mjs', '.js', '.json', '.node' ]
/**
* @param {([ packageName: string, extraOutputOptions?: import('rollup').OutputOptions ][]} definitions
* @returns {import('rollup').RollupOptions[]}
*/
const configurateRollup = (...definitions) => definitions.map((
[ packageName, extraOutputOptions ],
) => ({
input: `./packages/${packageName}/sources/index.ts`,
output: {
dir: `./packages/${packageName}/dists`,
format: 'esm',
sourcemap: 'inline',
...extraOutputOptions,
},
plugins: [
resolve({ extensions }),
babel({ extensions, babelHelpers: 'runtime' }),
],
external: source => /node_modules|dists/.test(source),
}))
export default configurateRollup(
[ 'cryptography', { preserveModules: true } ],
[ 'logger' ],
[ 'sass-bridge' ],
[ 'shader-compressor' ],
)