line_push/node_modules/hard-source-webpack-plugin/lib/TransformAssetPlugin.js
2022-07-21 03:28:35 +00:00

36 lines
805 B
JavaScript

const RawSource = require('webpack-sources').RawSource;
const pluginCompat = require('./util/plugin-compat');
class TransformAssetPlugin {
apply(compiler) {
pluginCompat.tap(
compiler,
'_hardSourceFreezeAsset',
'TransformAssetPlugin freeze',
(frozen, asset, extra) => asset.source(),
);
pluginCompat.tap(
compiler,
'_hardSourceThawAsset',
'TransformAssetPlugin thaw',
(thawed, asset, extra) => {
if (!thawed) {
thawed = asset;
if (thawed.type === 'buffer') {
thawed = new Buffer(thawed);
}
if (!(thawed instanceof RawSource)) {
thawed = new RawSource(thawed);
}
}
return thawed;
},
);
}
}
module.exports = TransformAssetPlugin;