mirror of
				https://github.com/Qortal/qortal-ui.git
				synced 2025-11-04 06:37:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const babel = require('@rollup/plugin-babel');
 | 
						|
const { nodeResolve } = require('@rollup/plugin-node-resolve');
 | 
						|
const replace = require('@rollup/plugin-replace');
 | 
						|
const commonjs = require('@rollup/plugin-commonjs');
 | 
						|
const progress = require('rollup-plugin-progress');
 | 
						|
const { terser } = require("rollup-plugin-terser");
 | 
						|
const path = require('path');
 | 
						|
const alias = require('@rollup/plugin-alias');
 | 
						|
 | 
						|
const generateRollupConfig = (file, { outputDir, aliases }) => {
 | 
						|
 | 
						|
    return {
 | 
						|
        inputOptions: {
 | 
						|
            input: file.input,
 | 
						|
            onwarn: (warning, rollupWarn) => {
 | 
						|
                if (warning.code !== 'CIRCULAR_DEPENDENCY') {
 | 
						|
                    rollupWarn(warning)
 | 
						|
                }
 | 
						|
            },
 | 
						|
            plugins: [
 | 
						|
                nodeResolve({
 | 
						|
                    preferBuiltins: false,
 | 
						|
                    mainFields: ['module', 'browser']
 | 
						|
                }),
 | 
						|
                replace({
 | 
						|
                    preventAssignment: true,
 | 
						|
                    "process.env.NODE_ENV": JSON.stringify("production"),
 | 
						|
                }),
 | 
						|
                alias({
 | 
						|
                    entries: Object.keys(aliases).map(find => {
 | 
						|
                        return {
 | 
						|
                            find,
 | 
						|
                            replacement: aliases[find]
 | 
						|
                        }
 | 
						|
                    })
 | 
						|
                }),
 | 
						|
                commonjs(),
 | 
						|
                progress(),
 | 
						|
                babel.babel({
 | 
						|
                    babelHelpers: 'bundled',
 | 
						|
                    exclude: 'node_modules/**'
 | 
						|
                }),
 | 
						|
                terser({
 | 
						|
                    compress: true,
 | 
						|
                    output: {
 | 
						|
                        comments: false,
 | 
						|
                    },
 | 
						|
                })
 | 
						|
            ],
 | 
						|
	    preserveEntrySignatures: false,
 | 
						|
            external: ['crypto']
 | 
						|
        },
 | 
						|
        outputOptions: {
 | 
						|
            file: path.join(outputDir, file.output),
 | 
						|
            format: 'umd',
 | 
						|
            name: 'worker',
 | 
						|
            sourcemap: false
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
const generateES5BuildConfig = (files, options) => {
 | 
						|
    return files.map(file => generateRollupConfig(file, options))
 | 
						|
}
 | 
						|
 | 
						|
module.exports = generateES5BuildConfig
 |