conditional-tag
Version:
Clean, easily readable conditional statements in template literals/strings for Node.js and browsers. Provides `if` / `elseif` / `else` and `switch` / `case` / `default` syntax options.
64 lines (56 loc) • 1.23 kB
JavaScript
import resolve from '@rollup/plugin-node-resolve';
import terser from '@rollup/plugin-terser';
import commonjs from '@rollup/plugin-commonjs';
import strip from '@rollup/plugin-strip';
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
const pkg = require('./package.json');
const
prod = (process.env?.NODE_ENV === 'production'),
config = [],
outputPlugins = [];
if (prod) {
outputPlugins.push(terser({
format: {
preamble: `/* ${pkg.name} v${pkg.version}\n${pkg.homepage} */`
}
}));
}
config.push({
// ESM without debug.
input: './index.js',
plugins: [
resolve(),
strip({
functions: ['debug', 'makeDebug']
})
],
external: ['debug'],
treeshake: {
moduleSideEffects: false
},
output: {
file: `./browser/conditional-tag${prod ? '.min' : ''}.js`,
format: 'es',
plugins: outputPlugins
}
});
if (!prod) {
config.push({
// ESM with debug (browser version) integrated.
input: './index.js',
plugins: [
commonjs(),
resolve({
browser: true
})
],
output: {
file: `./browser/conditional-tag.debug${prod ? '.min' : ''}.js`,
format: 'es',
plugins: outputPlugins,
sourcemap: 'inline'
}
});
}
export default config;