@vonage/client-sdk
Version:
The Client SDK is intended to provide a ready solution for developers to build Programmable Conversation applications across multiple Channels including: Messages, Voice, SIP, websockets, and App.
99 lines (95 loc) • 2.02 kB
JavaScript
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import json from '@rollup/plugin-json';
import typescript from 'rollup-plugin-typescript2';
import terser from '@rollup/plugin-terser';
import sizes from 'rollup-plugin-sizes';
/**
* @type {import('rollup').RollupOptions}
*/
const browserBundles = [
{
input: 'src/client/index.ts',
output: [
{
name: 'vonageClientSDK',
file: 'dist/vonageClientSDK.js',
format: 'umd',
exports: 'named'
},
{
name: 'vonageClientSDK',
file: 'dist/vonageClientSDK.min.js',
format: 'umd',
plugins: [terser()],
exports: 'named'
},
{
file: 'dist/vonageClientSDK.mjs',
format: 'es'
},
{
file: 'dist/vonageClientSDK.min.mjs',
format: 'es',
plugins: [terser()]
}
],
treeshake: true,
plugins: [
json(),
nodeResolve({
jsnext: true,
preferBuiltins: false,
browser: true
}),
commonjs(),
typescript()
]
}
];
/**
* @type {import('rollup').RollupOptions}
*/
const npmBundles = [
{
input: 'src/client/index.ts',
external: [
'socket.io-client',
'socketio-wildcard',
'sdp-transform',
'events',
'webrtc-adapter',
'@js-joda/timezone'
],
treeshake: false,
output: [
{
file: './dist/client/index.mjs',
format: 'es',
exports: 'named'
},
{
file: './dist/client/index.cjs',
format: 'cjs',
exports: 'named'
}
],
plugins: [
json(),
nodeResolve({ preferBuiltins: false }),
commonjs(),
typescript({
tsconfigOverride: {
compilerOptions: {
declaration: false
}
}
}),
sizes()
]
}
];
/**
* @type {import('rollup').RollupOptions}
*/
export default [...browserBundles, ...npmBundles];