UNPKG

rpc-typescript

Version:
67 lines (61 loc) 2.18 kB
import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import typescript from '@rollup/plugin-typescript'; import pkg from './package.json'; const SrcName = (n, ext, format = undefined) => `src/${n}${format ? '.' + format : ''}.${ext}`; const DstName = (n, ext, format = undefined) => `dist/${n}${format ? '.' + format : ''}.${ext}`; // browser-friendly UMD build const UMD = (input, output) => ({ input: input, output: { name: 'rpc-typescript', file: output,// pkg.browser, format: 'umd' }, plugins: [ typescript(), resolve(), // so Rollup can find `ms` commonjs() // so Rollup can convert `ms` to an ES module ] }); // CommonJS (for Node) and ES module (for bundlers) build. // (We could have three entries in the configuration array // instead of two, but it's quicker to generate multiple // builds from a single configuration where possible, using // an array for the `output` option, where we can specify // `file` and `format` for each target) const CJS = (input, output) => ({ input: input, external: ['ms'], output: { name: 'rpc-typescript', file: output,// pkg.browser, format: 'cjs' }, plugins: [ typescript(), ] }); const ES = (input, output) => ({ input: input, external: ['ms'], output: { name: 'rpc-typescript', file: output,// pkg.browser, format: 'es' }, plugins: [ typescript(), ] }); export default [ UMD(SrcName('index', 'ts'), DstName('full', 'js', 'umd')), UMD(SrcName('proxy', 'ts'), DstName('proxy', 'js', 'umd')), UMD(SrcName('stub', 'ts'), DstName('stub', 'js', 'umd')), CJS(SrcName('index', 'ts'), DstName('full', 'js', 'cjs')), CJS(SrcName('proxy', 'ts'), DstName('proxy', 'js', 'cjs')), CJS(SrcName('stub', 'ts'), DstName('stub', 'js', 'cjs')), ES(SrcName('index', 'ts'), DstName('full', 'js', 'es')), ES(SrcName('proxy', 'ts'), DstName('proxy', 'js', 'es')), ES(SrcName('stub', 'ts'), DstName('stub', 'js', 'es')), ];