1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import path from 'node:path'
- import process from 'node:process'
- import { fileURLToPath } from 'node:url'
- import { babel } from '@rollup/plugin-babel'
- import { nodeResolve } from '@rollup/plugin-node-resolve'
- import replace from '@rollup/plugin-replace'
- import banner from './banner.mjs'
- const __dirname = path.dirname(fileURLToPath(import.meta.url))
- const BUNDLE = process.env.BUNDLE === 'true'
- const ESM = process.env.ESM === 'true'
- let destinationFile = `tabler${ESM ? '.esm' : ''}`
- const external = ['@popperjs/core']
- const plugins = [
- babel({
- // Only transpile our source code
- exclude: 'node_modules/**',
- // Include the helpers in the bundle, at most one copy of each
- babelHelpers: 'bundled'
- })
- ]
- const globals = {
- '@popperjs/core': 'Popper'
- }
- if (BUNDLE) {
- destinationFile += '.bundle'
- // Remove last entry in external array to bundle Popper
- external.pop()
- delete globals['@popperjs/core']
- plugins.push(
- replace({
- 'process.env.NODE_ENV': '"production"',
- preventAssignment: true
- }),
- nodeResolve()
- )
- }
- const rollupConfig = {
- input: path.resolve(__dirname, `../src/js/index.${ESM ? 'esm' : 'umd'}.js`),
- output: {
- banner: banner(),
- file: path.resolve(__dirname, `../dist/js/${destinationFile}.js`),
- format: ESM ? 'esm' : 'umd',
- globals,
- generatedCode: 'es2015'
- },
- external,
- plugins
- }
- if (!ESM) {
- rollupConfig.output.name = 'tabler'
- }
- export default rollupConfig
|