lbundle
Version:
Small zero-configuration bundler build on top of Rollup.js and SWC for NPM libraries
84 lines (80 loc) • 3.1 kB
JavaScript
;
var getLibOutputs = require('../_virtual/get-lib-outputs.js');
require('rollup');
require('../utils/checks.js');
require('../utils/get-exports-filenames.js');
require('../utils/get-filename-output-format.js');
var require$$0 = require('path');
var getExportsFilenames = require('../_virtual/get-exports-filenames.js');
var checks = require('../_virtual/checks.js');
var getFilenameOutputFormat = require('../_virtual/get-filename-output-format.js');
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "getLibOutputs", {
enumerable: true,
get: function() {
return getLibOutputs;
}
});
const _checks = checks.__exports;
const _getexportsfilenames = getExportsFilenames.__exports;
const _getfilenameoutputformat = getFilenameOutputFormat.__exports;
const _path = /*#__PURE__*/ _interop_require_default(require$$0);
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const getLibOutputs = (param)=>{
let { options, globalName, pkg, isModule, cssFilename } = param;
const map = new Map();
[
pkg.main,
pkg.module,
pkg.unpkg,
...(0, _getexportsfilenames.getExportsFilenames)(pkg.exports)
].filter((filename)=>(0, _checks.isString)(filename) && jsExtensions[_path.default.extname(filename)]).map((filename)=>{
const format = (0, _getfilenameoutputformat.getFilenameOutputFormat)(filename, isModule);
const ext = _path.default.extname(filename);
const preserveModules = preserveModulesFormats[format];
const entryFileNames = preserveModules ? `[name]${ext}` : undefined;
const dir = preserveModules ? _path.default.resolve(options.cwd, _path.default.dirname(filename)) : undefined;
const file = preserveModules ? undefined : _path.default.resolve(options.cwd, filename);
return {
name: globalName,
format,
file,
dir,
entryFileNames,
preserveModules,
assetFileNames: (param)=>{
let { names } = param;
const normalizedCssFilename = _path.default.posix.normalize(cssFilename);
if (names.includes(normalizedCssFilename)) {
if ((0, _checks.isDefined)(dir)) return _path.default.relative(dir, _path.default.resolve(options.cwd, normalizedCssFilename));
return normalizedCssFilename;
}
return 'assets/[name]-[hash][extname]';
},
esModule: format === 'cjs',
strict: true,
sourcemap: true
};
}).forEach((output)=>map.set(output.format, output));
return [
...map.values()
];
};
const preserveModulesFormats = {
'esm': true,
'cjs': true
};
const jsExtensions = {
'.js': true,
'.cjs': true,
'.mjs': true
};
} (getLibOutputs.__exports));
//# sourceMappingURL=get-lib-outputs.js.map