parcel-bundler
Version:
<p align="center"> <a href="https://parceljs.org/" target="_blank"> <img alt="Parcel" src="https://user-images.githubusercontent.com/19409/31321658-f6aed0f2-ac3d-11e7-8100-1587e676e0ec.png" width="749"> </a> </p>
30 lines (24 loc) • 794 B
JavaScript
const Packager = require('./Packager');
const fs = require('../utils/fs');
const path = require('path');
const url = require('url');
class RawPackager extends Packager {
// Override so we don't create a file for this bundle.
// Each asset will be emitted as a separate file instead.
setup() {}
async addAsset(asset) {
// Use the bundle name if this is the entry asset, otherwise generate one.
let name = this.bundle.name;
if (asset !== this.bundle.entryAsset) {
name = url.resolve(
path.join(path.dirname(this.bundle.name), asset.generateBundleName()),
''
);
}
let contents =
asset.generated[asset.type] || (await fs.readFile(asset.name));
await fs.writeFile(name, contents);
}
end() {}
}
module.exports = RawPackager;