@aiot-toolkit/packager
Version:
@aiot-toolkit/packager
3 lines (2 loc) • 2.14 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.createPackagesDefinition=createPackagesDefinition,exports.allocateResourceToPackages=allocateResourceToPackages;var _fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_compilationConfig=require("@aiot-toolkit/shared-utils/compilation-config"),_utils=require("../common/utils"),_package=require("./package"),_constant=require("../common/constant");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const MAIN_PKG_NAME=_compilationConfig.compileOptionsMeta.MAIN_PKG_NAME,SPLIT_CHUNKS_PAGE_NAME=_compilationConfig.compileOptionsMeta.splitChunksNameEnum.PAGE;function createPackagesDefinition(e,t,a,o,n=""){const c=(0,_package.createFullPackage)(e);let i;return t&&t.length>0&&(i=(0,_package.createSubPackages)(e,t,a,n)),c.comment=o,(i||[]).forEach((e=>{e.comment=o})),{fullPackage:c,subPackages:i}}function getBuildInfoResource(e){e=JSON.parse(e);const t=Object.keys(e).map((t=>t+"="+e[t])).join("\n"),a=_constant.BUILD_INFO_FILE,o=Buffer.from(t);return[a,o,(0,_utils.calcDataDigest)(o)]}function allocateResourceToPackages(e,t,a,o,n){const c=new RegExp(`^${SPLIT_CHUNKS_PAGE_NAME}$`),i=new RegExp(`\\/${SPLIT_CHUNKS_PAGE_NAME}$`),s=_path.default.join(MAIN_PKG_NAME,SPLIT_CHUNKS_PAGE_NAME);if(e.forEach((e=>{const n=_path.default.join(t,e),r=_fs.default.readFileSync(n),u=[e,r,(0,_utils.calcDataDigest)(r)];if(i.test(e)||a.addResource(...u),!o||c.test(e))return;let l=!0;e===s&&(u[0]=SPLIT_CHUNKS_PAGE_NAME);for(let t=1;t<o.length;t++){const a=o[t];if(a.standalone&&("manifest.json"===e||"sitemap.json"===e||e.startsWith("i18n")||e.startsWith("lottie")||a.icon&&a.icon.indexOf(e)>0||a.banner&&a.banner.indexOf(e)>0)&&a.addResource(...u),a.subMatch.test(e)){l=!1,a.addResource(...u);break}}if(l){o[0].addResource(...u)}})),n){const e=getBuildInfoResource(n);a.addResource(...e),o&&o[0].addResource(...e)}o&&o.forEach((e=>{if(!e.resourceList.length)throw new Error(`Subpackage failed:subpackage ${e.fileName} does not contain any resources,please recheck the manifest`)}))}
//# sourceMappingURL=service.js.map