UNPKG

@quick-game/cli

Version:

Command line interface for rapid qg development

30 lines (26 loc) 1.14 kB
"use strict";var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));function CheckCompressionPlugin(callback) { this.callback = callback; } CheckCompressionPlugin.prototype.apply = function (compiler) { compiler.hooks.thisCompilation.tap('CheckCompressionPlugin', function (compilation) { compilation.hooks.processAssets.tap( { name: 'CheckCompressionPlugin', stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_REPORT }, function (assets) { var compressedFiles = (0, _keys.default)(assets).filter(function (name) { return name.endsWith('.wasm.code.unityweb.br'); }); var hasCompressed = compressedFiles.length > 0; if (typeof this.callback === 'function') { this.callback({ compressed: hasCompressed, files: compressedFiles }); } }.bind(this) // 确保 this.callback 正确指向插件实例 ); }.bind(this)); }; module.exports = CheckCompressionPlugin;