UNPKG

rollup-plugin-dts-bundle

Version:
69 lines (56 loc) 1.75 kB
'use strict'; var del = require('del'); var dts = require('dts-bundle'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var del__default = /*#__PURE__*/_interopDefaultLegacy(del); var dts__default = /*#__PURE__*/_interopDefaultLegacy(dts); function dtsBundle(options = {}) { const { hook = 'writeBundle', bundle: { out = 'typings.d.ts', ...restBundle }, verbose = false, deleteOnComplete } = options; const printVerbose = (message) => { if (verbose) { if (typeof message === 'function') { message(); } else { console.log(message); } } }; return { name: 'dts-bundle', [hook]: async () => { printVerbose(`Typings bundling for '${restBundle.name}': ${restBundle.main}${out}...`); const result = dts__default['default'].bundle({ out, ...restBundle }); if (result.emitted) { printVerbose('Typings bundle was created successfully.'); // Run delete routine only if typings bundle was created. if (Array.isArray(deleteOnComplete) && deleteOnComplete.length) { const paths = await del__default['default'](deleteOnComplete); printVerbose(() => { console.log(`Deleted files and folders after typings bundling: ${paths.length}`); if (paths.length) { paths.forEach((path) => { console.log(path); }); } }); } } else { printVerbose( () => console.error('Something goes wrong, typings bundle wasn\'t emitted. Result: ', result) ); } } }; } module.exports = dtsBundle;