lbundle
Version:
Small zero-configuration bundler build on top of Rollup.js and SWC for NPM libraries
86 lines (83 loc) • 2.82 kB
JavaScript
;
var getRollupAssetPlugins = require('../_virtual/get-rollup-asset-plugins.js');
var require$$0 = require('@rollup/plugin-url');
var require$$1 = require('@svgr/rollup');
require('../constants/asset-extensions.js');
var assetExtensions = require('../_virtual/asset-extensions.js');
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getRollupAssetPlugins: function() {
return getRollupAssetPlugins;
},
getRollupAssetPluginsForBin: function() {
return getRollupAssetPluginsForBin;
}
});
const _pluginurl = /*#__PURE__*/ _interop_require_default(require$$0);
const _rollup = /*#__PURE__*/ _interop_require_default(require$$1);
const _assetextensions = assetExtensions.__exports;
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const getRollupAssetPlugins = ()=>{
return [
// Custom plugin to handle ?url suffix
{
name: 'url-suffix-handler',
resolveId (id) {
if (id.endsWith('?url')) {
// Remove the ?url suffix and resolve the actual file
const actualId = id.slice(0, -4);
return actualId;
}
return null;
}
},
// Handle SVG files with dual support: React components and URL imports
(0, _rollup.default)({
exportType: 'named',
ref: true,
svgo: true,
titleProp: true,
include: '**/*.svg'
}),
// Handle all asset files including SVGs
(0, _pluginurl.default)({
include: [
..._assetextensions.assetExtensions,
..._assetextensions.svgExtensions
].map((ext)=>`**/*${ext}`),
limit: 8192,
fileName: 'public/[name]-[hash][extname]',
publicPath: './'
})
];
};
const getRollupAssetPluginsForBin = ()=>{
// For binary builds, we typically don't want to inline assets
// and we don't need React component support for SVGs
return [
(0, _pluginurl.default)({
include: [
..._assetextensions.assetExtensions,
..._assetextensions.svgExtensions
].map((ext)=>`**/*${ext}`),
limit: 0,
fileName: 'assets/[name]-[hash][extname]',
publicPath: './'
})
];
};
} (getRollupAssetPlugins.__exports));
//# sourceMappingURL=get-rollup-asset-plugins.js.map