UNPKG

clevertap-web-sdk

Version:

<p align="center"> <img src="https://github.com/CleverTap/clevertap-ios-sdk/blob/master/docs/images/clevertap-logo.png" width = "50%"/> </p>

89 lines (80 loc) 1.75 kB
import resolve from '@rollup/plugin-node-resolve' import babel from '@rollup/plugin-babel' import replace from '@rollup/plugin-replace' import { eslint } from 'rollup-plugin-eslint' import { terser } from 'rollup-plugin-terser' import { version } from './package.json' import sourcemaps from 'rollup-plugin-sourcemaps' import commonjs from '@rollup/plugin-commonjs'; /** * Returns the input file path * @param {('SERVICE_WORKER' | 'WEB')} mode */ const getInput = (mode) => { if (mode === 'SERVICE_WORKER') { return 'sw_webpush.js' } return 'src/main.js' } /** * returns the output object of the build config * @param {('SERVICE_WORKER' | 'WEB')} mode */ const getOutput = (mode) => { if (mode === 'SERVICE_WORKER') { return [ { name: 'sw_webpush', file: 'sw_webpush.min.js', format: 'umd', plugins: [terser()] } ] } return [ { name: 'clevertap', file: 'clevertap.js', format: 'umd', sourcemap: true }, { name: 'clevertap', file: 'clevertap.min.js', format: 'umd', plugins: [terser()] } ] } /** * returns the plugins array * @param {('SERVICE_WORKER' | 'WEB')} mode */ const getPlugins = (mode) => { return [ resolve(), mode === 'WEB' && commonjs(), sourcemaps(), eslint({ fix: true, throwOnError: true }), replace({ preventAssignment: true, delimiters: ['', ''], $$PACKAGE_VERSION$$: version }), babel({ babelHelpers: 'bundled' }) ] } const config = () => { const mode = process.env.MODE return { input: getInput(mode), output: getOutput(mode), plugins: getPlugins(mode) } } export default config()