UNPKG

dingtalk-docs-cool-app

Version:

钉钉文档酷应用插件扩展 开发者初始化包

1 lines 2.06 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _path=require("path"),_fs=require("fs"),_archiver=_interopRequireDefault(require("archiver")),_core=require("@oclif/core"),_babel=require("../../common/babel"),_bundle=require("../../common/bundle"),_clear=require("../../common/clear"),_fields=require("../../module/fields");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function(e){return e?t:r})(e)}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,t&&t.set(e,i),i}class PackField extends _core.Command{async run(){const e=process.cwd(),r=(0,_path.join)(e,"./src"),t=(0,_path.join)(e,"./output/output");(0,_babel.build)(r,(0,_path.join)(t,"./build")),this.log("✅ 编译成功");const i=(0,_path.join)(t,"./build/index.js");(0,_fs.existsSync)(i)||(this.log("请检查src文件夹下是否有index.ts文件"),this.exit());const n=(await Promise.resolve(`${i}`).then((e=>_interopRequireWildcard(require(e))))).default,o=(0,_fields.getManifestByFieldDecorator)(n);(0,_fs.writeFileSync)((0,_path.join)(t,"./manifest.json"),JSON.stringify(o,null,2)),await(0,_bundle.bundle)(i,i),(0,_clear.cleanFolder)((0,_path.join)(t,"./build"),["index.js","manifest.json"]);const a=(0,_fs.createWriteStream)((0,_path.join)(e,"./output/output.zip")),u=(0,_archiver.default)("zip",{zlib:{level:9}});u.pipe(a),u.directory(t,!1),u.finalize(),a.on("close",(()=>{this.log(`${u.pointer()} total bytes`)}))}}exports.default=PackField;