import path from 'path'; import thaw from './thaw'; import transpile from 'rollup-plugin-buble'; import resolve from 'rollup-plugin-node-resolve'; import string from 'rollup-plugin-string'; import sourcemaps from 'rollup-plugin-sourcemaps'; import uglify from 'rollup-plugin-uglify'; import { minify } from 'uglify-es'; import minimist from 'minimist'; import commonjs from 'rollup-plugin-commonjs'; import builtins from 'rollup-plugin-node-builtins'; import replace from 'rollup-plugin-replace'; const pkg = require(path.resolve('./package')); const input = 'src/index.js'; const { prod, bundle } = minimist(process.argv.slice(2), { boolean: ['prod', 'bundle'], default: { prod: false, bundle: false, }, alias: { p: 'prod', b: 'bundle', }, }); const plugins = [ sourcemaps(), resolve({ browser: true, preferBuiltins: true, }), builtins(), commonjs({ namedExports: { 'resource-loader': ['Resource'], 'pixi-gl-core': ['GLFramebuffer'], // TODO: remove pixi-gl-core }, }), string({ include: [ 'src/**/*.frag', 'src/**/*.vert', ], }), replace({ __VERSION__: pkg.version, }), transpile(), thaw(), ]; if (prod) { plugins.push(uglify({ mangle: true, compress: true, output: { comments(node, comment) { const { value, type } = comment; return type === 'comment2' && value.indexOf(` * ${pkg.name} `) > -1; }, }, }, minify)); } const compiled = (new Date()).toUTCString().replace(/GMT/g, 'UTC'); const external = Object.keys(pkg.dependencies || []); const sourcemap = true; const name = 'PIXI'; const banner = `/*! * ${pkg.name} - v${pkg.version} * Compiled ${compiled} * * ${pkg.name} is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */\n`; export default [ { banner, name, input, output: { file: pkg.main, format: bundle ? 'umd' : 'cjs', }, external, sourcemap, plugins, }, { banner, input, output: { file: pkg.module, format: 'es', }, external, sourcemap, plugins, }, ];