Repository URL to install this package:
|
Version:
1.2.8 ▾
|
"use strict";
const _require = require('fs'),
lstatSync = _require.lstatSync,
readdirSync = _require.readdirSync;
const _require2 = require('path'),
join = _require2.join,
resolve = _require2.resolve;
const _require3 = require('rollup'),
rollup = _require3.rollup;
const log = require('fliplog');
const createPlugins = require("./plugins");
const keys = Object.keys;
const cwd = process.cwd();
const res = rel => resolve(__dirname, rel);
const ROOT = res('../');
const rez = rel => resolve(ROOT, rel);
const pkgJSON = require(join(cwd, 'package.json'));
let version = pkgJSON.version,
_pkgJSON$rollup = pkgJSON.rollup,
rollupConfig = _pkgJSON$rollup === void 0 ? {} : _pkgJSON$rollup,
_pkgJSON$dependencies = pkgJSON.dependencies,
dependencies = _pkgJSON$dependencies === void 0 ? {} : _pkgJSON$dependencies;
const bundledDependencies = rollupConfig.bundledDependencies,
moduleName = rollupConfig.moduleName;
const bundleDeps = bundledDependencies || [];
const createBundle = options => {
const exportName = options.exportName,
format = options.format; // const filename = `${options.name}${options.env === 'production'
// ? '.min'
// : ''}.js`
let filename = (exportName || pkgJSON[format] || format + '/index.js').replace('dists/', '');
if (!filename.endsWith('.js') || !filename.includes('/')) {
filename += '/index.js';
}
const dest = rez(`dists/${filename}`);
const bundleOptions = {
dest,
indent: true,
format,
// globals: Object.assign(moduleGlobals, rollupConfig.moduleGlobals),
moduleName,
// sourceMap: false,
sourceMap: true
};
if (format === 'amd') {
options.moduleId = moduleName;
}
bundleOptions.externals = [require.resolve("../src/deps/env/debuggable.js")];
log.data(bundleOptions).echo(); // log.quick(bundleOptions)
// if (options.format === 'cjs') bundleOptions.exports = 'named'
return ({
write
}) => write(bundleOptions);
};
const createRollup = options => {
const external = keys(dependencies).filter(n => !bundleDeps.includes(n));
const plugins = createPlugins(version, options);
const config = {
entry: options.entry || join(cwd, 'dist/index.js'),
external,
onwarn(warning) {
log.red(warning).echo();
},
plugins
};
return rollup(config);
};
module.exports = {
createRollup,
createBundle
};