// rollup.config.js import image from '@rollup/plugin-image'; import vue from 'rollup-plugin-vue'; import buble from '@rollup/plugin-buble'; import commonjs from '@rollup/plugin-commonjs'; import replace from '@rollup/plugin-replace'; import uglify from 'rollup-plugin-uglify-es'; import minimist from 'minimist'; import alias from '@rollup/plugin-alias'; import resolve from '@rollup/plugin-node-resolve'; import url from '@rollup/plugin-url'; // eslint-disable-next-line no-undef const argv = minimist(process.argv.slice(2)); const config = { input: './src/wrapper.js', output: { name: 'MEWComponent', exports: 'named', }, // external: ['@/components/Blockie/Blockie.vue'], plugins: [ alias({ resolve: ['.js', '.vue', '.css', '.scss', 'mdx'], entries: [ { find: '@', replacement: './src', }, ], }), replace({ 'process.env.NODE_ENV': JSON.stringify('production'), }), commonjs(), vue({ css: true, compileTemplate: true, template: { isProduction: true, }, }), buble({ objectAssign: true, }), resolve(), image(), url({ // by default, rollup-plugin-url will not handle font files include: ['**/*.eot', '**/*.svg', '**/*.ttf', '**/*.woff', '**/*.woff2'], // setting infinite limit will ensure that the files // are always bundled with the code, not copied to /dist limit: Infinity, }), ], }; // Only minify browser (iife) version if (argv.format === 'iife') { config.plugins.push(uglify()); } export default config;