require ( 'events' ) . EventEmitter . defaultMaxListeners = 0
const path = require ( "path" ) ;
const { nodeResolve } = require ( "@rollup/plugin-node-resolve" ) ;
const progress = require ( "rollup-plugin-progress" ) ;
const replace = require ( '@rollup/plugin-replace' ) ;
const globals = require ( "rollup-plugin-node-globals" ) ;
const commonjs = require ( "@rollup/plugin-commonjs" ) ;
const alias = require ( "@rollup/plugin-alias" ) ;
const { terser } = require ( 'rollup-plugin-terser' ) ;
const babel = require ( "@rollup/plugin-babel" ) ;
const aliases = { } ;
const generateRollupConfig = ( inputFile , outputFile ) => {
return {
inputOptions : {
onwarn : ( warning , rollupWarn ) => {
if ( warning . code !== 'CIRCULAR_DEPENDENCY' ) {
rollupWarn ( warning )
}
} ,
input : inputFile ,
plugins : [
alias ( {
entries : Object . keys ( aliases ) . map ( ( find ) => {
return {
find ,
replacement : aliases [ find ] ,
} ;
} ) ,
} ) ,
nodeResolve ( {
preferBuiltins : false ,
mainFields : [ 'module' , 'browser' ]
} ) ,
replace ( {
preventAssignment : true ,
"process.env.NODE_ENV" : JSON . stringify ( "production" ) ,
} ) ,
commonjs ( ) ,
globals ( ) ,
progress ( ) ,
babel . babel ( {
babelHelpers : 'bundled' ,
exclude : "node_modules/**" ,
} ) ,
terser ( {
compress : true ,
output : {
comments : false ,
} ,
} )
] ,
} ,
outputOptions : {
file : outputFile ,
format : "umd" ,
} ,
} ;
} ;
const generateForPlugins = ( ) => {
const configs = [
{
in : "plugins/core/main.src.js" ,
out : "plugins/core/main.js" ,
} ,
{
in : "plugins/core/trade-portal/trade-portal.src.js" ,
out : "plugins/core/trade-portal/trade-portal.js" ,
} ,
{
in : "plugins/core/wallet/wallet-app.src.js" ,
out : "plugins/core/wallet/wallet-app.js" ,
} ,
{
in : "plugins/core/reward-share/reward-share.src.js" ,
out : "plugins/core/reward-share/reward-share.js" ,
} ,
{
in : "plugins/core/node-management/node-management.src.js" ,
out : "plugins/core/node-management/node-management.js" ,
} ,
{
in : "plugins/core/group-management/group-management.src.js" ,
out : "plugins/core/group-management/group-management.js" ,
} ,
{
in : "plugins/core/name-registration/name-registration.src.js" ,
out : "plugins/core/name-registration/name-registration.js" ,
} ,
{
in : "plugins/core/qdn/websites.src.js" ,
out : "plugins/core/qdn/websites.js" ,
} ,
{
in : "plugins/core/qdn/publish/publish.src.js" ,
out : "plugins/core/qdn/publish/publish.js" ,
} ,
{
in : "plugins/core/qdn/browser/browser.src.js" ,
out : "plugins/core/qdn/browser/browser.js" ,
} ,
{
in : "plugins/core/qdn/data-management/data-management.src.js" ,
out : "plugins/core/qdn/data-management/data-management.js" ,
} ,
{
in : "plugins/core/messaging/messaging.src.js" ,
out : "plugins/core/messaging/messaging.js" ,
} ,
{
in : "plugins/core/messaging/chain-messaging/chain-messaging.src.js" ,
out : "plugins/core/messaging/chain-messaging/chain-messaging.js" ,
} ,
{
in : "plugins/core/messaging/q-chat/q-chat.src.js" ,
out : "plugins/core/messaging/q-chat/q-chat.js" ,
} ,
{
in : "plugins/core/minting/minting-info.src.js" ,
out : "plugins/core/minting/minting-info.js" ,
} ,
{
in : "plugins/core/puzzles/puzzles.src.js" ,
out : "plugins/core/puzzles/puzzles.js" ,
}
] . map ( ( file ) => {
return generateRollupConfig (
path . join ( _ _dirname , file . in ) ,
path . join ( _ _dirname , file . out )
) ;
} ) ;
return configs ;
} ;
module . exports = generateForPlugins ;