padl
Version:
Develop pattern libraries with lit-element
63 lines (51 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _rollup = require("rollup");
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
let cache = [];
var _default = async (inputPaths, outputPath, options = {}, plugins = []) => {
const libraryPath = process.cwd();
const packageVersion = JSON.parse(_fsExtra.default.readFileSync(_path.default.join(libraryPath, 'package.json'), 'utf8')).version || 'unknown';
const warning = {
onwarn(warning, warn) {
if (warning.code === 'THIS_IS_UNDEFINED') return;
warn(warning);
}
};
const inputOptions = {
// external: [/@babel\/runtime/],
treeshake: true,
input: inputPaths,
plugins,
cache: cache[outputPath],
...warning
};
const outputOptions = {
file: outputPath,
format: options.format || 'es',
banner: `/* @version: ${packageVersion} */`
};
if (!options.noWatch && options.from && options.from === 'serve' && options.watch || options.from === 'test' && options.persistent) {
const watcher = (0, _rollup.watch)({ ...inputOptions,
output: [outputOptions]
});
watcher.on('event', async event => {
if (event.code === 'ERROR') {
console.error(event.error);
}
if (event.code === 'BUNDLE_END') {
cache = event.result.cache;
await event.result.write(outputOptions);
}
});
}
const bundle = await (0, _rollup.rollup)(inputOptions);
cache[outputPath] = bundle.cache;
await bundle.write(outputOptions);
};
exports.default = _default;