youtube-summarizer/sdks/javascript/rollup.config.js

78 lines
1.5 KiB
JavaScript

import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from '@rollup/plugin-typescript';
const external = ['cross-fetch', 'ws'];
export default [
// CommonJS build
{
input: 'src/index.ts',
output: {
file: 'dist/index.js',
format: 'cjs',
exports: 'named',
sourcemap: true
},
external,
plugins: [
resolve({
preferBuiltins: true,
browser: false
}),
commonjs(),
typescript({
declaration: true,
declarationDir: 'dist',
rootDir: 'src'
})
]
},
// ES modules build
{
input: 'src/index.ts',
output: {
file: 'dist/index.esm.js',
format: 'es',
sourcemap: true
},
external,
plugins: [
resolve({
preferBuiltins: true,
browser: false
}),
commonjs(),
typescript({
declaration: false
})
]
},
// Browser UMD build (includes dependencies)
{
input: 'src/index.ts',
output: {
file: 'dist/index.umd.js',
format: 'umd',
name: 'YouTubeSummarizerSDK',
sourcemap: true,
globals: {
'cross-fetch': 'fetch',
'ws': 'WebSocket'
}
},
external: ['ws'], // Keep ws external for browser
plugins: [
resolve({
preferBuiltins: false,
browser: true
}),
commonjs(),
typescript({
declaration: false
})
]
}
];