/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/def-kit-xdef@0.0.4/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";const path=require("path"),fse=require("fs-extra");module.exports=function(e){const o=e.kit,n={};return n.init={action:function*(n){const t=[];let s={};try{s=yield e.auth.user()}catch(e){}s.account?t.push(s.account):t.push("unknown");const r=yield e.repo.info();r&&r.url&&t.push(r.url),yield o.yo.run({resolved:path.join(__dirname,"generators/app/index.js"),argv:t})}},n.add={action:function*(o,n,t){e.log.error("该命令未实现...")}},n.dev={__no_reflect__:!0,__no_default_options__:!0,options:{exit:{description:"退出调试模式"}},action:function*(o){const n=process.cwd();let t={};try{t=require(path.join(n,"package.json"))}catch(e){}if(!t)return e.log.error("未发现 `package.json` 文件");let s="plugin",r="";t.name.indexOf("builder-")>-1?(r+=".builders",s="builder"):t.name.indexOf("generator-")>-1?(r+=".generators",s="generator"):t.name.indexOf("def-kit-")>-1&&(s="kit");const i=path.join(e.env.home,"def_modules",r,t.name,"node_modules",t.name),a=path.join(e.env.home,"def_modules",".store.json"),d=path.join(e.env.home,"def_modules",".store.lock");function l(o){let r;e.log.verbose("lock .store.json"),fse.writeFileSync(d,"","utf8");try{r=fse.readJsonSync(a)}catch(e){}r=r||{},r.mods=r.mods||{};let l=!1;o?r.mods[t.name]&&(!r.mods[t.name]||r.mods[t.name].debug&&r.mods[t.name].realpath)||(e.log.error("该模块尚未处于 dev 模式，请执行 `def dev`"),l=!0):r.mods[t.name]&&r.mods[t.name].debug&&r.mods[t.name].realpath==n&&(e.log.error("该模块已处于 dev 模式，请勿重复执行"),l=!0),l||(r.mods[t.name]?(r.mods[t.name].debug=!o,r.mods[t.name].realpath=o?"":n):o?delete r.mods[t.name]:r.mods[t.name]={name:t.name,description:t.description,type:s,version:t.version,debug:!0,realpath:n},e.log.verbose("write data to .store.json"),fse.writeJsonSync(a,r),e.log.verbose("link/unlink the dir to def_modules"),fse.removeSync(i),o?e.log.info("unlink [%s] to [%s]",i,n):(fse.mkdirsSync(path.dirname(i)),fse.symlinkSync(n,i),e.log.info("link [%s] to [%s]",i,n))),e.log.verbose("unlock the .store.json"),fse.unlinkSync(d)}fse.existsSync(d)?setImmediate((function e(){fse.existsSync(d)?setImmediate(e):l(o.exit)})):l(o.exit)}},n.build={__no_default_options__:!0,action:function*(o){e.log.error("该命令未实现...")}},n.test={action:function*(o,n){const t=e.lookupConfigJson();if(t.testConfig){const e=t.testConfig;e.timeout&&(process.env.DEF_XDEF_TEST_TIMEOUT=e.timeout),e.reporter&&(process.env.DEF_XDEF_TEST_REPORTER=e.reporter),e["intelli-espower-loader"]&&(process.env.DEF_XDEF_TEST_INTELLI_ESPOWER_LOADER=!0),e.files&&(process.env.DEF_XDEF_TEST_FILES=e.files)}try{yield require("./lib/test-runner")(process.cwd(),n["--"])}catch(o){e.log.error("运行测试失败！"),e.log.verbose("message: %s",o.message)}}},n.publish={action:function*(o){let n={};try{n=require(path.join(process.cwd(),"package.json"))}catch(e){}if(!n.name||!n.version)return e.log.error("读取 package.json 文件失败");e.log.info("检查远程是否存在模块...");if(200==(yield e.io.get(e.env.server+"/api/mod/"+encodeURIComponent(n.name))).status)return e.log.error("远程已存在同名模块，请更换名称后重试");e.log.warn("套件、generator 只会同步灰度版本（dist-tags.next）");if(yield e.ui.confirm("同步 DEF Store 前，请先将模块版本发布到 TNPM Registry。是否继续？[y/n]")){e.log.info("同步模块到 DEF Store...");const o=yield e.auth.user(),t=yield e.io.post(e.env.server+"/api/auth/mod/sync",{access_token:o.__token,name:n.name});200!=t.body.status?e.log.warn("同步失败："+t.body.error):(e.log.info("同步成功"),t.body.data.mod.enabled||e.log.warn("您的模块尚未启用，不可被他人安装。请联系管理员开启模块。"))}},__force__:!0},n};
//# sourceMappingURL=/sm/5bc7a2404f0c63973ea4b49bfff4fd21804ecaa2f2e8ebb48ad99f2fd1c7ecdf.map