78 lines
1.5 KiB
JavaScript
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
|
|
})
|
|
]
|
|
}
|
|
]; |