geodesy-fn
Version:
Geodesic functions for GeoJSON, based on geodesy
52 lines (49 loc) • 1.34 kB
JavaScript
import pkg from './package.json' assert { type: 'json' };
import resolve from '@rollup/plugin-node-resolve';
import typescript from 'rollup-plugin-typescript2';
import babel from '@rollup/plugin-babel';
import commonjs from '@rollup/plugin-commonjs';
import dts from 'rollup-plugin-dts';
import terser from '@rollup/plugin-terser';
import { visualizer } from 'rollup-plugin-visualizer';
import tsc from 'typescript';
function bundle(format, filename, options = {}) {
return {
input: 'src/index.ts',
output: {
file: filename,
format: format,
name: 'GeodesyFn',
sourcemap: true,
},
plugins: [
...(options.resolve ? [resolve()] : []),
babel({ babelHelpers: 'runtime' }),
commonjs(),
typescript({
typescript: tsc,
clean: options.stats,
}),
options.minimize ? terser() : false,
options.stats ? visualizer({
filename: filename + '.stats.html',
}) : false,
],
};
}
export default [
bundle('cjs', pkg.main),
bundle('es', pkg.module),
bundle('umd', pkg.browser.replace('.min', ''), { resolve: true, stats: true }),
bundle('umd', pkg.browser, { resolve: true, minimize: true }),
{
input: 'src/index.ts',
output: {
file: pkg.types,
format: 'es',
},
plugins: [
dts(),
],
},
];