bigint-mod-arith/build/rollup.config.js

79 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-04-06 22:49:13 +00:00
'use strict'
const resolve = require('@rollup/plugin-node-resolve')
const replace = require('@rollup/plugin-replace')
const { terser } = require('rollup-plugin-terser')
const path = require('path')
const pkgJson = require('../package.json')
const rootDir = path.join(__dirname, '..')
const srcDir = path.join(rootDir, pkgJson.directories.src)
const dstDir = path.join(rootDir, pkgJson.directories.lib)
function camelise (str) {
return str.replace(/-([a-z])/g,
function (m, w) {
return w.toUpperCase()
})
}
const pkgName = pkgJson.name
const pkgCamelisedName = camelise(pkgName)
const input = path.join(srcDir, 'js', 'index.js')
module.exports = [
2020-04-08 09:53:15 +00:00
{ // Native JS
2020-04-06 22:49:13 +00:00
input: input,
output: [
{
2020-04-08 09:53:15 +00:00
file: path.join(rootDir, pkgJson.browser),
format: 'es'
2020-04-06 22:49:13 +00:00
}
],
plugins: [
replace({
'process.browser': true
})
]
// external: ['bigint-crypto-utils']
},
{ // Browser bundles
input: input,
output: [
{
2020-04-08 09:53:15 +00:00
file: path.join(dstDir, 'index.browser.bundle.iife.js'),
2020-04-06 22:49:13 +00:00
format: 'iife',
name: pkgCamelisedName
},
{
file: path.join(dstDir, 'index.browser.bundle.mod.js'),
format: 'es'
}
],
plugins: [
replace({
'process.browser': true
}),
resolve({
browser: true
}),
2020-04-08 09:53:15 +00:00
terser()
2020-04-06 22:49:13 +00:00
]
},
{ // Node
input: input,
2020-04-08 09:53:15 +00:00
output: {
file: path.join(rootDir, pkgJson.main),
format: 'cjs'
},
2020-04-06 22:49:13 +00:00
plugins: [
replace({
'process.browser': false
})
2020-04-08 09:53:15 +00:00
]
2020-04-06 22:49:13 +00:00
// external: ['bigint-crypto-utils']
}
]