55 lines
1.1 KiB
JavaScript
55 lines
1.1 KiB
JavaScript
import typescript from 'rollup-plugin-typescript2';
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import nodeResolve from '@rollup/plugin-node-resolve';
|
|
import babel from '@rollup/plugin-babel';
|
|
import { terser } from 'rollup-plugin-terser';
|
|
import serve from 'rollup-plugin-serve';
|
|
import json from '@rollup/plugin-json';
|
|
import cleanup from 'rollup-plugin-cleanup';
|
|
|
|
const dev = process.env.ROLLUP_WATCH;
|
|
|
|
const serveopts = {
|
|
contentBase: ['./dist'],
|
|
host: '0.0.0.0',
|
|
port: 5000,
|
|
allowCrossOrigin: true,
|
|
headers: {
|
|
'Access-Control-Allow-Origin': '*',
|
|
},
|
|
};
|
|
|
|
const plugins = [
|
|
nodeResolve({}),
|
|
commonjs(),
|
|
typescript(),
|
|
json(),
|
|
babel({
|
|
exclude: 'node_modules/**',
|
|
babelHelpers: 'bundled',
|
|
}),
|
|
cleanup({ comments: 'none' }),
|
|
dev && serve(serveopts),
|
|
!dev &&
|
|
terser({
|
|
mangle: {
|
|
safari10: true,
|
|
},
|
|
}),
|
|
];
|
|
|
|
export default [
|
|
{
|
|
input: 'src/button-card.ts',
|
|
output: {
|
|
dir: './dist',
|
|
format: 'es',
|
|
sourcemap: dev ? true : false,
|
|
},
|
|
plugins: [...plugins],
|
|
watch: {
|
|
exclude: 'node_modules/**',
|
|
},
|
|
},
|
|
];
|