@giteeteam/apps-cli 0.8.11 → 0.8.12-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var to=Object.create;var z=Object.defineProperty;var oo=Object.getOwnPropertyDescriptor;var ro=Object.getOwnPropertyNames;var no=Object.getPrototypeOf,io=Object.prototype.hasOwnProperty;var so=(e,t)=>()=>(e&&(t=e(e=0)),t);var ao=(e,t)=>{for(var o in t)z(e,o,{get:t[o],enumerable:!0})},po=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ro(t))!io.call(e,n)&&n!==o&&z(e,n,{get:()=>t[n],enumerable:!(r=oo(t,n))||r.enumerable});return e};var s=(e,t,o)=>(o=e!=null?to(no(e)):{},po(t||!e||!e.__esModule?z(o,"default",{value:e,enumerable:!0}):o,e));var Ne={};ao(Ne,{default:()=>Po});function Po({environment:e,appKey:t,distOutputPath:o="dist"}){let r=e==="production",n=e==="development",i=u=>u?{filename:"js/[name].[chunkhash].min.js",path:$.default.resolve(o),publicPath:"./",library:t,libraryTarget:"umd"}:{filename:"main.js",path:$.default.resolve(o),publicPath:"/",library:t,libraryTarget:"umd"},p=({resourcePath:u},A,h)=>h===t||/\.global\.(css|less)$/.test(u)||/node_modules/.test(u)?h:`${h}__${(0,$e.default)(u+h,{algorithm:"md5"}).slice(0,8)}`,a={loader:"@ecomfe/class-names-loader",options:{classNamesModule:require.resolve("classnames")}},c=r?H.default.loader:"style-loader",m={loader:"postcss-loader",options:{postcssOptions:{plugins:[Te.default]}}},l={loader:"css-loader",options:{modules:{getLocalIdent:p},importLoaders:1}},d={loader:"less-loader",options:{lessOptions:{javascriptEnabled:!0,modifyVars:{...Me,...yo,"ant-prefix":t}}}};return{mode:e,entry:"./src/index.tsx",output:i(r),devtool:r?!1:"source-map",resolve:{extensions:[".js",".ts",".jsx",".tsx",".css",".less"]},optimization:{minimize:r,minimizer:[new Le.default,"..."]},plugins:[xo&&new fo,new J.default.DefinePlugin({"process.env":JSON.stringify(process.env),"process.env.appKey":JSON.stringify(t)}),new Ie.default({template:$.default.resolve("public/index.html"),filename:"index.html",inject:!0,appKey:t}),r&&new H.default({filename:"[name].[contenthash].css",chunkFilename:"[name].[contenthash].chunk.css"}),n&&new J.default.HotModuleReplacementPlugin,n&&new Re.default({overlay:!1}),r&&new _e.CleanWebpackPlugin].filter(Boolean),module:{rules:[{oneOf:[{test:/\.(js|mjs|jsx|ts|tsx)$/,exclude:/node_modules/,loader:"swc-loader",options:{sourceMaps:bo,jsc:{parser:{syntax:"typescript",tsx:!0},transform:{react:{runtime:"automatic",development:!r,refresh:!r}}},env:{targets:"chrome >= 72",mode:"usage",coreJs:"3.38"}}},{test:/\.css$/,use:[a,c,"css-loader",m]},{test:/\.less$/,use:[a,c,l,m,d]},{test:/\.(png|jpg|gif)$/i,use:[{loader:"url-loader",options:{name:"[name]_[hash].[ext]",limit:100*24}}]},{test:/\.svg$/i,use:["@svgr/webpack"]}]}]},externals:[{...vo()}]}}var $,Ae,Ce,Re,De,Te,_e,Le,$e,Ie,H,J,fo,go,wo,Me,yo,ho,vo,bo,xo,Ue=so(()=>{"use strict";$=s(require("path")),Ae=require("@ant-design/compatible"),Ce=require("@giteeteam/apps-team-theme"),Re=s(require("@pmmmwh/react-refresh-webpack-plugin")),De=require("antd"),Te=s(require("autoprefixer")),_e=require("clean-webpack-plugin"),Le=s(require("css-minimizer-webpack-plugin")),$e=s(require("hasha")),Ie=s(require("html-webpack-plugin")),H=s(require("mini-css-extract-plugin")),J=s(require("webpack")),fo=require("webpack-bundle-analyzer").BundleAnalyzerPlugin,{defaultAlgorithm:go,defaultSeed:wo}=De.theme,Me=go({...wo,...Ce.themeConfig.token}),yo=(0,Ae.convertLegacyToken)({...Me}),ho=()=>e=>["window modules",e],vo=()=>{let e=ho();return{"react-dom":e("reactDOM"),react:e("react")}},bo=process.env.GENERATE_SOURCEMAP==="true",xo=process.env.ANALYZER_PACKAGE==="true"});var Rn=require("dotenv/config"),me=s(require("chalk")),Qt=require("commander");var E="0.8.11";var X=s(require("path"));var _=["manifest.yml","locales"],ge=Buffer.from(process.env.ONE_AUTH_IV||"ABCDEFGHIJKLM_iv","utf-8"),we=Buffer.from(process.env.ONE_AUTH_SECRET_KEY||"ABCDEFGHIJKL_key","utf-8"),ye=process.env.ONE_AUTH_ALGORITHM||"aes-128-cbc";var U=s(require("chalk")),Qe=s(require("fs-extra"));var be=s(require("fs")),W=s(require("path")),xe=s(require("@rollup/plugin-commonjs")),Pe=require("rollup");var k=require("fs"),g=require("path"),he=require("esbuild"),mo={treeShaking:!0,format:"esm",loader:"tsx"};var lo=({source:e,dirPath:t,mode:o})=>{let r="";if(o==="development")try{return r=require.resolve(e+"/src/index.ts",{paths:[t]}),r}catch{}try{return r=require.resolve(e,{paths:[t]}),r}catch{}return r};function K({mode:e,...t}){return t={...mo,...t},{name:"esbuild",resolveId(o,r,n){if(!r)return o;let i=(0,g.dirname)(r),p;if((0,k.existsSync)(p=(0,g.resolve)(i,o,"index.ts")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o,"index.tsx")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o+".ts")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o+".tsx")))return p;{let a=lo({source:o,dirPath:i,mode:e});if((0,k.existsSync)(a))return a;throw console.error({source:o,importer:r,options:n}),p=(0,g.relative)(".",(0,g.resolve)(r,o)),new Error(`ENOENT: ${p.replace(/\\/g,"/")}`)}},async transform(o,r){t.sourcefile=r,t.loader=r.endsWith(".json")?"json":t.loader;let{code:n,map:i}=await(0,he.transform)(o,t);return i?{code:n,map:i}:n}}}function uo(e,t,o="development"){let r=[(0,xe.default)()];r.push(K({mode:o,sourcemap:o==="development",minify:o!=="development",target:"es2018",jsx:"transform",jsxFactory:"AppsUI.createElement",jsxFragment:"AppsUI.Fragment"}));let n={input:e,plugins:r},i={file:t,format:"es",sourcemap:o==="development"};return{inputOptions:n,outputOptions:i}}async function L(e){let{fileName:t,inputDir:o,outputDir:r,mode:n="development"}=e,i=W.default.join(o,`${t}.ts`);try{await be.default.promises.access(i)}catch{console.error(`${i} is not exist`);return}let p=W.default.join(r,`${t}.js`),{inputOptions:a,outputOptions:c}=uo(i,p,n);await(await(0,Pe.rollup)(a)).write(c)}var Ee=s(require("ora")),f=async(e,t)=>{var r,n;let o=(0,Ee.default)(e.start).start();try{let i=await t();return o.succeed(e.succeed),i}catch(i){throw o.fail(`${e.error}: ${((n=(r=i==null?void 0:i.response)==null?void 0:r.data)==null?void 0:n.message)||i.message}`),i}};var ke=s(require("path")),Oe=require("@giteeteam/apps-manifest"),Se=s(require("fs-extra")),v=async()=>{let e=ke.default.resolve("manifest.yml"),t=await Se.default.readFile(e);return new Oe.Manifest(t.toString())};var je=s(require("path")),Fe=s(require("webpack")),Be=s(require("webpack-merge"));var I=async()=>(await Promise.resolve().then(()=>(Ue(),Ne))).default;var Ge=async({appKey:e,webpackConfig:t})=>{let o=await I();return new Promise((r,n)=>{let i=o({environment:"production",appKey:e});if(t){let a=require(je.default.resolve(t));i=(0,Be.default)(i,a)}(0,Fe.default)(i).run((a,c)=>{if(a)return console.error(a),n(a);if(console.info(c==null?void 0:c.toString()),c!=null&&c.hasErrors())return n(new Error("build-ui-error"));r()})})};var Ve=s(require("path")),qe=s(require("archiver")),Q=s(require("fs-extra")),ze=async(e,t)=>{let o=Ve.default.resolve(t);return await Q.default.remove(o),new Promise((r,n)=>{let i=Q.default.createWriteStream(o),p=(0,qe.default)("zip",{zlib:{level:9}});i.on("close",function(){r()}),p.on("warning",function(a){console.info(a),a.code==="ENOENT"||n(a)}),p.on("error",function(a){console.info(a),n(a)}),p.pipe(i),p.directory(e,!1),p.finalize()})};var Ke=async e=>{let{manifest:t,mode:o,outputDir:r,inputDir:n}=e,p=t.getFunctionFiles().map(async a=>{await L({inputDir:n,fileName:a,outputDir:r,mode:o})});await Promise.all(p)};var N=s(require("path")),He=s(require("fs-extra"));var Y=s(require("path")),We=s(require("fs-extra")),M=async(e,t)=>{for(let o of t)try{let r=Y.default.resolve(o),n=Y.default.join(e,o);await We.default.copy(r,n)}catch(r){if(r.code==="ENOENT"&&o==="locales")continue;throw r}};var Je=async({outputDir:e,manifest:t,filesToCopy:o})=>{let{resources:r}=t;if(r)for(let{key:n,path:i}of r){let p=N.default.resolve(N.default.join("./",i)),a=N.default.join(e,n);await He.default.copy(p,a)}await M(e,o)};var Ye=async({outputDir:e,inputDir:t,prod:o,filesToCopy:r,zip:n,ui:i,webpackConfig:p})=>{let a=await v(),{version:c,key:m}=a.app;if(!m){console.error("manifest app key is required");return}if(!c){console.error("manifest app version is required");return}console.info(`App key: ${U.default.bold.green(m)}`),console.info(`App version: ${U.default.bold.green(c)}
2
+ "use strict";var to=Object.create;var z=Object.defineProperty;var oo=Object.getOwnPropertyDescriptor;var ro=Object.getOwnPropertyNames;var no=Object.getPrototypeOf,io=Object.prototype.hasOwnProperty;var so=(e,t)=>()=>(e&&(t=e(e=0)),t);var ao=(e,t)=>{for(var o in t)z(e,o,{get:t[o],enumerable:!0})},po=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ro(t))!io.call(e,n)&&n!==o&&z(e,n,{get:()=>t[n],enumerable:!(r=oo(t,n))||r.enumerable});return e};var s=(e,t,o)=>(o=e!=null?to(no(e)):{},po(t||!e||!e.__esModule?z(o,"default",{value:e,enumerable:!0}):o,e));var Ne={};ao(Ne,{default:()=>Po});function Po({environment:e,appKey:t,distOutputPath:o="dist"}){let r=e==="production",n=e==="development",i=u=>u?{filename:"js/[name].[chunkhash].min.js",path:$.default.resolve(o),publicPath:"./",library:t,libraryTarget:"umd"}:{filename:"main.js",path:$.default.resolve(o),publicPath:"/",library:t,libraryTarget:"umd"},p=({resourcePath:u},C,h)=>h===t||/\.global\.(css|less)$/.test(u)||/node_modules/.test(u)?h:`${h}__${(0,$e.default)(u+h,{algorithm:"md5"}).slice(0,8)}`,a={loader:"@ecomfe/class-names-loader",options:{classNamesModule:require.resolve("classnames")}},c=r?H.default.loader:"style-loader",m={loader:"postcss-loader",options:{postcssOptions:{plugins:[Te.default]}}},l={loader:"css-loader",options:{modules:{getLocalIdent:p},importLoaders:1}},d={loader:"less-loader",options:{lessOptions:{javascriptEnabled:!0,modifyVars:{...Me,...yo,"ant-prefix":t}}}};return{mode:e,entry:"./src/index.tsx",output:i(r),devtool:r?!1:"source-map",resolve:{extensions:[".js",".ts",".jsx",".tsx",".css",".less"]},optimization:{minimize:r,minimizer:[new Le.default,"..."]},plugins:[xo&&new fo,new J.default.DefinePlugin({"process.env":JSON.stringify(process.env),"process.env.appKey":JSON.stringify(t)}),new Ie.default({template:$.default.resolve("public/index.html"),filename:"index.html",inject:!0,appKey:t}),r&&new H.default({filename:"[name].[contenthash].css",chunkFilename:"[name].[contenthash].chunk.css"}),n&&new J.default.HotModuleReplacementPlugin,n&&new Re.default({overlay:!1}),r&&new _e.CleanWebpackPlugin].filter(Boolean),module:{rules:[{oneOf:[{test:/\.(js|mjs|jsx|ts|tsx)$/,exclude:/node_modules/,loader:"swc-loader",options:{sourceMaps:bo,jsc:{parser:{syntax:"typescript",tsx:!0},transform:{react:{runtime:"automatic",development:!r,refresh:!r}}},env:{targets:"chrome >= 72",mode:"usage",coreJs:"3.38"}}},{test:/\.css$/,use:[a,c,"css-loader",m]},{test:/\.less$/,use:[a,c,l,m,d]},{test:/\.(png|jpg|gif)$/i,use:[{loader:"url-loader",options:{name:"[name]_[hash].[ext]",limit:100*24}}]},{test:/\.svg$/i,use:["@svgr/webpack"]}]}]},externals:[{...vo()}]}}var $,Ce,Ae,Re,De,Te,_e,Le,$e,Ie,H,J,fo,go,wo,Me,yo,ho,vo,bo,xo,Ue=so(()=>{"use strict";$=s(require("path")),Ce=require("@ant-design/compatible"),Ae=require("@giteeteam/apps-team-theme"),Re=s(require("@pmmmwh/react-refresh-webpack-plugin")),De=require("antd"),Te=s(require("autoprefixer")),_e=require("clean-webpack-plugin"),Le=s(require("css-minimizer-webpack-plugin")),$e=s(require("hasha")),Ie=s(require("html-webpack-plugin")),H=s(require("mini-css-extract-plugin")),J=s(require("webpack")),fo=require("webpack-bundle-analyzer").BundleAnalyzerPlugin,{defaultAlgorithm:go,defaultSeed:wo}=De.theme,Me=go({...wo,...Ae.themeConfig.token}),yo=(0,Ce.convertLegacyToken)({...Me}),ho=()=>e=>["window modules",e],vo=()=>{let e=ho();return{"react-dom/client":e("reactDOMClient"),"react-dom":e("reactDOM"),react:e("react")}},bo=process.env.GENERATE_SOURCEMAP==="true",xo=process.env.ANALYZER_PACKAGE==="true"});var Rn=require("dotenv/config"),me=s(require("chalk")),Qt=require("commander");var E="0.8.12-alpha.1";var X=s(require("path"));var _=["manifest.yml","locales"],ge=Buffer.from(process.env.ONE_AUTH_IV||"ABCDEFGHIJKLM_iv","utf-8"),we=Buffer.from(process.env.ONE_AUTH_SECRET_KEY||"ABCDEFGHIJKL_key","utf-8"),ye=process.env.ONE_AUTH_ALGORITHM||"aes-128-cbc";var U=s(require("chalk")),Qe=s(require("fs-extra"));var be=s(require("fs")),W=s(require("path")),xe=s(require("@rollup/plugin-commonjs")),Pe=require("rollup");var k=require("fs"),g=require("path"),he=require("esbuild"),mo={treeShaking:!0,format:"esm",loader:"tsx"};var lo=({source:e,dirPath:t,mode:o})=>{let r="";if(o==="development")try{return r=require.resolve(e+"/src/index.ts",{paths:[t]}),r}catch{}try{return r=require.resolve(e,{paths:[t]}),r}catch{}return r};function K({mode:e,...t}){return t={...mo,...t},{name:"esbuild",resolveId(o,r,n){if(!r)return o;let i=(0,g.dirname)(r),p;if((0,k.existsSync)(p=(0,g.resolve)(i,o,"index.ts")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o,"index.tsx")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o+".ts")))return p;if((0,k.existsSync)(p=(0,g.resolve)(i,o+".tsx")))return p;{let a=lo({source:o,dirPath:i,mode:e});if((0,k.existsSync)(a))return a;throw console.error({source:o,importer:r,options:n}),p=(0,g.relative)(".",(0,g.resolve)(r,o)),new Error(`ENOENT: ${p.replace(/\\/g,"/")}`)}},async transform(o,r){t.sourcefile=r,t.loader=r.endsWith(".json")?"json":t.loader;let{code:n,map:i}=await(0,he.transform)(o,t);return i?{code:n,map:i}:n}}}function uo(e,t,o="development"){let r=[(0,xe.default)()];r.push(K({mode:o,sourcemap:o==="development",minify:o!=="development",target:"es2018",jsx:"transform",jsxFactory:"AppsUI.createElement",jsxFragment:"AppsUI.Fragment"}));let n={input:e,plugins:r},i={file:t,format:"es",sourcemap:o==="development"};return{inputOptions:n,outputOptions:i}}async function L(e){let{fileName:t,inputDir:o,outputDir:r,mode:n="development"}=e,i=W.default.join(o,`${t}.ts`);try{await be.default.promises.access(i)}catch{console.error(`${i} is not exist`);return}let p=W.default.join(r,`${t}.js`),{inputOptions:a,outputOptions:c}=uo(i,p,n);await(await(0,Pe.rollup)(a)).write(c)}var Ee=s(require("ora")),f=async(e,t)=>{var r,n;let o=(0,Ee.default)(e.start).start();try{let i=await t();return o.succeed(e.succeed),i}catch(i){throw o.fail(`${e.error}: ${((n=(r=i==null?void 0:i.response)==null?void 0:r.data)==null?void 0:n.message)||i.message}`),i}};var ke=s(require("path")),Oe=require("@giteeteam/apps-manifest"),Se=s(require("fs-extra")),v=async()=>{let e=ke.default.resolve("manifest.yml"),t=await Se.default.readFile(e);return new Oe.Manifest(t.toString())};var je=s(require("path")),Fe=s(require("webpack")),Be=s(require("webpack-merge"));var I=async()=>(await Promise.resolve().then(()=>(Ue(),Ne))).default;var Ge=async({appKey:e,webpackConfig:t})=>{let o=await I();return new Promise((r,n)=>{let i=o({environment:"production",appKey:e});if(t){let a=require(je.default.resolve(t));i=(0,Be.default)(i,a)}(0,Fe.default)(i).run((a,c)=>{if(a)return console.error(a),n(a);if(console.info(c==null?void 0:c.toString()),c!=null&&c.hasErrors())return n(new Error("build-ui-error"));r()})})};var Ve=s(require("path")),qe=s(require("archiver")),Q=s(require("fs-extra")),ze=async(e,t)=>{let o=Ve.default.resolve(t);return await Q.default.remove(o),new Promise((r,n)=>{let i=Q.default.createWriteStream(o),p=(0,qe.default)("zip",{zlib:{level:9}});i.on("close",function(){r()}),p.on("warning",function(a){console.info(a),a.code==="ENOENT"||n(a)}),p.on("error",function(a){console.info(a),n(a)}),p.pipe(i),p.directory(e,!1),p.finalize()})};var Ke=async e=>{let{manifest:t,mode:o,outputDir:r,inputDir:n}=e,p=t.getFunctionFiles().map(async a=>{await L({inputDir:n,fileName:a,outputDir:r,mode:o})});await Promise.all(p)};var N=s(require("path")),He=s(require("fs-extra"));var Y=s(require("path")),We=s(require("fs-extra")),M=async(e,t)=>{for(let o of t)try{let r=Y.default.resolve(o),n=Y.default.join(e,o);await We.default.copy(r,n)}catch(r){if(r.code==="ENOENT"&&o==="locales")continue;throw r}};var Je=async({outputDir:e,manifest:t,filesToCopy:o})=>{let{resources:r}=t;if(r)for(let{key:n,path:i}of r){let p=N.default.resolve(N.default.join("./",i)),a=N.default.join(e,n);await He.default.copy(p,a)}await M(e,o)};var Ye=async({outputDir:e,inputDir:t,prod:o,filesToCopy:r,zip:n,ui:i,webpackConfig:p})=>{let a=await v(),{version:c,key:m}=a.app;if(!m){console.error("manifest app key is required");return}if(!c){console.error("manifest app version is required");return}console.info(`App key: ${U.default.bold.green(m)}`),console.info(`App version: ${U.default.bold.green(c)}
3
3
  `);let{pass:l,errors:d}=a.validate();if(!l){if(d!=null&&d.length){let{message:y,path:u}=d[0];console.error(`Manifest valid error: Path '${u}', ${y}`)}else console.error("Manifest valid error");return}if(await Qe.default.emptyDir(e),i&&await f({start:"start build ui",error:"build ui failed",succeed:"build ui success"},()=>Ge({appKey:m,webpackConfig:p})),await f({start:"start bundle",error:"bundle failed",succeed:"bundle success"},()=>Ke({outputDir:e,inputDir:t,manifest:a,mode:o?"production":"development"})),await f({start:"start package",error:"package failed",succeed:"package success"},()=>Je({outputDir:e,manifest:a,filesToCopy:r})),n){let y=`${m}_${c}.zip`;await f({start:"start archive",error:"archive failed",succeed:"archive success"},()=>ze(e,y)),console.info(`
4
- The output file of the build is ${U.default.bold.green(y)}`)}};var Xe=async e=>{let{input:t="functions",output:o="package",prod:r,dev:n,copy:i=[],zip:p,ui:a,webpack:c}=e;await Ye({outputDir:X.default.resolve(o),inputDir:X.default.resolve(t),prod:r??!n,filesToCopy:[..._,...i],zip:p,ui:!!a,webpackConfig:c}).catch(()=>{})};var ct=s(require("fs")),mt=s(require("chalk"));var Ze=s(require("path")),et=s(require("lowdb")),tt=s(require("lowdb/adapters/FileSync"));var Z,ee=()=>{if(!Z){let e=Ze.default.join(__dirname,"user.json"),t=new tt.default(e);Z=(0,et.default)(t)}return Z},ot=()=>{let e=ee(),t=e.get("version").value();(!t||t!==E)&&e.defaults({version:E,user:{}}).write()},te=e=>{ot(),ee().set("user",e).write()},O=()=>(ot(),ee().get("user").value());var nt=s(require("fs")),it=s(require("path")),st=s(require("form-data"));var rt=s(require("axios"));var x=async({url:e,method:t,data:o,headers:r})=>{let{domain:n,cookie:i}=O();return(await(0,rt.default)({method:t,baseURL:n,url:e,data:o,headers:{...r,cookie:i}})).data};var at=async(e,t)=>{let o=new st.default;o.append("environmentKey",t),o.append("package",nt.default.createReadStream(it.default.resolve(e))),await x({method:"POST",url:"/apps/api/v1/apps/deploy",data:o,headers:{...o.getHeaders()}})};var pt=s(require("chalk")),Eo=pt.default.bold.red,w={error:e=>{console.info(Eo(e))}};var lt=(r=>(r.DEVELOPMENT="development",r.STAGING="staging",r.PRODUCTION="production",r))(lt||{}),ut=async(e,t)=>{let{domain:o}=O(),{environment:r="development"}=t;if(!Object.values(lt).includes(r)){w.error("Only support development, staging, production environment.");return}if(!o){w.error("Please login in first!");return}if(!ct.default.existsSync(e)){w.error(`File:${e} is not exist`);return}console.info(`Deploying to ${mt.default.bold.green(o)}`),await f({start:"start deploy",error:"deploy failed",succeed:"deploy success"},()=>at(e,r)).catch(()=>{})};var S=s(require("path")),C=s(require("fs-extra")),ie=s(require("inquirer"));var ft=s(require("readline")),dt=require("chalk"),gt=s(require("execa")),ko=e=>{if(!dt.supportsColor){e.write("\r");return}ft.default.cursorTo(e,0)},Oo=(e,t)=>{let o=Math.min(Math.max(e/t,0),1),r=` ${e}/${t}`,n=Math.max(0,process.stderr.columns-r.length-3),i=Math.min(t,n),p=Math.round(i*o),a="#".repeat(p),c="-".repeat(i-p);ko(process.stderr),process.stderr.write(`[${a}${c}]${r}`)},So=(e,t,o,r)=>new Promise((n,i)=>{var a;let p=(0,gt.default)(e,t,{cwd:o,stdio:["inherit","inherit","pipe"],env:r});(a=p.stderr)==null||a.on("data",c=>{let m=c.toString();if(/warning/.test(m))return;let l=m.match(/\[.*] (\d+)\/(\d+)/);if(l){Oo(parseFloat(l[1]),parseFloat(l[2]));return}process.stderr.write(c)}),p.on("close",c=>{if(c!==0){i(new Error(`command failed: ${e} ${t.join(" ")}`));return}n()})}),wt={executeCommand:So};var oe=s(require("fs-extra")),re=s(require("simple-git")),yt=async e=>{await(0,re.default)(e).init()},ht=async(e,t)=>{await oe.default.pathExists(t)||await oe.default.mkdir(t),await(0,re.default)(t).clone(e,t)};var j=s(require("fs-extra")),vt="https://github.com/moriahq/apps-template.git",ne=(o=>(o.micro="micro",o.uikit="uikit",o))(ne||{}),bt=async(e,t)=>{if(!await j.default.pathExists(e))return;let o=await j.default.readFile(e,{encoding:"utf-8"});await j.default.writeFile(e,o.replace(/{{(\w+)}}/g,(r,n)=>typeof t[n]=="string"?t[n]:r))};var Co=async()=>(await ie.default.createPromptModule()({type:"input",name:"App Name",message:"Please enter an app name",validate:o=>!!o}))["App Name"],Ro=async()=>(await ie.default.createPromptModule()({type:"input",name:"App key",message:"Please enter a valid app key",validate:o=>/^[a-z][a-z0-9_]*$/.test(o)?!0:(console.info(""),console.info("only supports letters, numbers, underscores and starts with letters"),!1)}))["App key"],Do=async(e,t)=>{await f({start:"Start clone repository",error:"Clone repository failed!",succeed:"Clone repository success!"},()=>ht(e,t))},To=async e=>{await f({start:"Start install dependencies",error:"Install dependencies failed!",succeed:"Install dependencies success!"},()=>wt.executeCommand("yarn",["install"],e))},xt=async e=>{let{cwd:t}=e,o="micro",r=await Co(),n=await Ro(),i=S.default.join(t,n);if(await C.default.pathExists(i)){console.error(`Project path already exists: ${i}`);return}await Do(vt,i),await C.default.copy(S.default.join(i,o),i),await Promise.all(Object.values(ne).map(a=>C.default.remove(S.default.join(i,a)))),await C.default.remove(S.default.join(i,"./.git"));let p=["./manifest.yml","./package.json","./webpack.config.js","./public/index.html","./src/App.tsx","./src/index.tsx","./static/App.tsx","./static/index.tsx"];await Promise.all(p.map(a=>bt(S.default.join(i,a),{appName:r,appKey:n}))),await To(i),await yt(i),console.info("Project init success!"),console.info("Project path:"+i)};var Pt=async()=>{let e=process.cwd();await xt({cwd:e})};var F=s(require("inquirer"));var se=s(require("axios")),Et=async({baseUrl:e,username:t,password:o})=>{var r;try{return{cookie:(r=(await(0,se.default)({method:"POST",url:`${e}/api/gateway/login`,data:{username:t,password:o}})).headers)==null?void 0:r["set-cookie"]}}catch(n){return console.error("Login error:",n==null?void 0:n.message),{cookie:""}}},kt=async e=>{try{return await(0,se.default)({method:"GET",url:`${e}/apps/api/v1/tenants`}),!1}catch{return!0}};var Ot=e=>{try{return new URL(e).origin}catch{return e}};var St=s(require("crypto")),At=s(require("base64url"));var Ct=e=>{try{let t=St.default.createCipheriv(ye,we,ge),o=t.update(e,"utf8","base64");return o+=t.final("base64"),At.default.toBase64(o)}catch(t){return console.error(`Encryption error: ${t}`),null}};var _o=async()=>(await F.default.createPromptModule()({type:"input",name:"Domain",message:"Please enter the domain address",validate:o=>{try{return new URL(o),!0}catch{return"Please enter a valid domain name"}}})).Domain,Lo=async()=>(await F.default.createPromptModule()({type:"input",name:"Username",message:"Please enter username",validate:o=>!!o})).Username,$o=async()=>(await F.default.createPromptModule()({type:"password",name:"Password",message:"Please enter password",validate:o=>!!o})).Password,Rt=async({domain:e,username:t,password:o})=>{if(e||(e=await _o()),e=Ot(e),await kt(e)){t||(t=await Lo()),o||(o=await $o());let{cookie:n}=await Et({baseUrl:e,username:t,password:Ct(o)||o});n?(te({domain:e,username:t,cookie:n}),console.info("Login success!")):console.error("Login failed!")}else te({domain:e}),console.info("Login success!")};var Dt=async e=>{await Rt(e)};var ce=s(require("path"));var qt=s(require("path")),V=s(require("chalk")),zt=s(require("debug")),pe=s(require("fs-extra"));var Tt=async()=>{var t;return((t=(await x({method:"GET",url:"/apps/api/v1/config"}).catch(o=>{var r,n;console.info(`getRuntimeConfig error ${((n=(r=o==null?void 0:o.response)==null?void 0:r.data)==null?void 0:n.message)||(o==null?void 0:o.message)}`)})).data)==null?void 0:t.runtime)||{}};var B=require("child_process"),R=class{constructor(t,o){this.imageName=t,this.containerName=o}async downloadImage(){console.info(`Downloading image(${this.imageName}) ...`),await this.execPromise(`docker pull ${this.imageName}`),console.info(`Download image(${this.imageName}) success!`)}async runContainer({port:t,env:o,volume:r=[]}){await this.removeContainer();let n=Object.keys(o).filter(a=>o[a]!==void 0).map(a=>`-e ${a}=${o[a]}`).join(" "),i=r==null?void 0:r.map(a=>`-v ${a}`).join(" "),p=`docker run -d -p ${t}:${t} ${n} ${i} --name ${this.containerName} ${this.imageName}`;await this.execPromise(p)}async removeContainer(){await this.execPromise(`docker rm -f ${this.containerName}`).catch(()=>{})}logs(){let t=(0,B.spawn)("docker",["logs","-f",this.containerName]);t.stdout.on("data",o=>{console.info(`${o}`)}),t.stderr.on("data",o=>{console.info(`${o}`)})}execPromise(t){return new Promise((o,r)=>{(0,B.exec)(t,(n,i,p)=>{if(n)return r(n);o({stdout:i,stderr:p})})})}};var _t=s(require("localtunnel"));var Lt=async({appKey:e,runtimeHost:t,resources:o,resourcePort:r})=>{o!=null&&o.length&&o.forEach(n=>{n.path=`http://127.0.0.1:${r}`}),await x({method:"POST",url:`/apps/api/v1/apps/tunnel/${e}`,data:{resources:o,runtimeHost:t}}).catch(n=>{var i,p;console.info(`addTunnel error ${((p=(i=n==null?void 0:n.response)==null?void 0:i.data)==null?void 0:p.message)||(n==null?void 0:n.message)}`)})},$t=async e=>{await x({method:"DELETE",url:`/apps/api/v1/apps/tunnel/${e}`}).catch(()=>{})},It=async e=>{try{return(await(0,_t.default)({port:e,host:"http://tunnel.gitee.work:1777"})).url}catch(t){return console.info("runTunnel error",t==null?void 0:t.message),""}};var ae=s(require("path")),Mt=s(require("cors")),Nt=s(require("express")),Ut=s(require("webpack")),jt=s(require("webpack-dev-middleware")),Ft=require("webpack-merge");var G=async({appKey:e,webpackConfig:t})=>{let r=(await I())({environment:"development",appKey:e});if(t){let c=require(ae.default.resolve(t));r=(0,Ft.merge)(r,c)}let n=(0,Ut.default)(r),i=(0,Nt.default)(),p=Number(process.env.UI_PORT)||8e3,a=(0,jt.default)(n);i.use((0,Mt.default)()),i.use(a),i.get("*",(c,m)=>{var l,d;(d=n.outputFileSystem)==null||d.readFile(ae.default.join(((l=r.output)==null?void 0:l.path)||"","index.html"),(y,u)=>{if(y||!u){m.sendStatus(404);return}m.send(u.toString())})}),i.listen(p,"0.0.0.0",()=>{console.info(`The React app is listening on port ${p}!
4
+ The output file of the build is ${U.default.bold.green(y)}`)}};var Xe=async e=>{let{input:t="functions",output:o="package",prod:r,dev:n,copy:i=[],zip:p,ui:a,webpack:c}=e;await Ye({outputDir:X.default.resolve(o),inputDir:X.default.resolve(t),prod:r??!n,filesToCopy:[..._,...i],zip:p,ui:!!a,webpackConfig:c}).catch(()=>{})};var ct=s(require("fs")),mt=s(require("chalk"));var Ze=s(require("path")),et=s(require("lowdb")),tt=s(require("lowdb/adapters/FileSync"));var Z,ee=()=>{if(!Z){let e=Ze.default.join(__dirname,"user.json"),t=new tt.default(e);Z=(0,et.default)(t)}return Z},ot=()=>{let e=ee(),t=e.get("version").value();(!t||t!==E)&&e.defaults({version:E,user:{}}).write()},te=e=>{ot(),ee().set("user",e).write()},O=()=>(ot(),ee().get("user").value());var nt=s(require("fs")),it=s(require("path")),st=s(require("form-data"));var rt=s(require("axios"));var x=async({url:e,method:t,data:o,headers:r})=>{let{domain:n,cookie:i}=O();return(await(0,rt.default)({method:t,baseURL:n,url:e,data:o,headers:{...r,cookie:i}})).data};var at=async(e,t)=>{let o=new st.default;o.append("environmentKey",t),o.append("package",nt.default.createReadStream(it.default.resolve(e))),await x({method:"POST",url:"/apps/api/v1/apps/deploy",data:o,headers:{...o.getHeaders()}})};var pt=s(require("chalk")),Eo=pt.default.bold.red,w={error:e=>{console.info(Eo(e))}};var lt=(r=>(r.DEVELOPMENT="development",r.STAGING="staging",r.PRODUCTION="production",r))(lt||{}),ut=async(e,t)=>{let{domain:o}=O(),{environment:r="development"}=t;if(!Object.values(lt).includes(r)){w.error("Only support development, staging, production environment.");return}if(!o){w.error("Please login in first!");return}if(!ct.default.existsSync(e)){w.error(`File:${e} is not exist`);return}console.info(`Deploying to ${mt.default.bold.green(o)}`),await f({start:"start deploy",error:"deploy failed",succeed:"deploy success"},()=>at(e,r)).catch(()=>{})};var S=s(require("path")),A=s(require("fs-extra")),ie=s(require("inquirer"));var ft=s(require("readline")),dt=require("chalk"),gt=s(require("execa")),ko=e=>{if(!dt.supportsColor){e.write("\r");return}ft.default.cursorTo(e,0)},Oo=(e,t)=>{let o=Math.min(Math.max(e/t,0),1),r=` ${e}/${t}`,n=Math.max(0,process.stderr.columns-r.length-3),i=Math.min(t,n),p=Math.round(i*o),a="#".repeat(p),c="-".repeat(i-p);ko(process.stderr),process.stderr.write(`[${a}${c}]${r}`)},So=(e,t,o,r)=>new Promise((n,i)=>{var a;let p=(0,gt.default)(e,t,{cwd:o,stdio:["inherit","inherit","pipe"],env:r});(a=p.stderr)==null||a.on("data",c=>{let m=c.toString();if(/warning/.test(m))return;let l=m.match(/\[.*] (\d+)\/(\d+)/);if(l){Oo(parseFloat(l[1]),parseFloat(l[2]));return}process.stderr.write(c)}),p.on("close",c=>{if(c!==0){i(new Error(`command failed: ${e} ${t.join(" ")}`));return}n()})}),wt={executeCommand:So};var oe=s(require("fs-extra")),re=s(require("simple-git")),yt=async e=>{await(0,re.default)(e).init()},ht=async(e,t)=>{await oe.default.pathExists(t)||await oe.default.mkdir(t),await(0,re.default)(t).clone(e,t)};var j=s(require("fs-extra")),vt="https://github.com/moriahq/apps-template.git",ne=(o=>(o.micro="micro",o.uikit="uikit",o))(ne||{}),bt=async(e,t)=>{if(!await j.default.pathExists(e))return;let o=await j.default.readFile(e,{encoding:"utf-8"});await j.default.writeFile(e,o.replace(/{{(\w+)}}/g,(r,n)=>typeof t[n]=="string"?t[n]:r))};var Ao=async()=>(await ie.default.createPromptModule()({type:"input",name:"App Name",message:"Please enter an app name",validate:o=>!!o}))["App Name"],Ro=async()=>(await ie.default.createPromptModule()({type:"input",name:"App key",message:"Please enter a valid app key",validate:o=>/^[a-z][a-z0-9_]*$/.test(o)?!0:(console.info(""),console.info("only supports letters, numbers, underscores and starts with letters"),!1)}))["App key"],Do=async(e,t)=>{await f({start:"Start clone repository",error:"Clone repository failed!",succeed:"Clone repository success!"},()=>ht(e,t))},To=async e=>{await f({start:"Start install dependencies",error:"Install dependencies failed!",succeed:"Install dependencies success!"},()=>wt.executeCommand("yarn",["install"],e))},xt=async e=>{let{cwd:t}=e,o="micro",r=await Ao(),n=await Ro(),i=S.default.join(t,n);if(await A.default.pathExists(i)){console.error(`Project path already exists: ${i}`);return}await Do(vt,i),await A.default.copy(S.default.join(i,o),i),await Promise.all(Object.values(ne).map(a=>A.default.remove(S.default.join(i,a)))),await A.default.remove(S.default.join(i,"./.git"));let p=["./manifest.yml","./package.json","./webpack.config.js","./public/index.html","./src/App.tsx","./src/index.tsx","./static/App.tsx","./static/index.tsx"];await Promise.all(p.map(a=>bt(S.default.join(i,a),{appName:r,appKey:n}))),await To(i),await yt(i),console.info("Project init success!"),console.info("Project path:"+i)};var Pt=async()=>{let e=process.cwd();await xt({cwd:e})};var F=s(require("inquirer"));var se=s(require("axios")),Et=async({baseUrl:e,username:t,password:o})=>{var r;try{return{cookie:(r=(await(0,se.default)({method:"POST",url:`${e}/api/gateway/login`,data:{username:t,password:o}})).headers)==null?void 0:r["set-cookie"]}}catch(n){return console.error("Login error:",n==null?void 0:n.message),{cookie:""}}},kt=async e=>{try{return await(0,se.default)({method:"GET",url:`${e}/apps/api/v1/tenants`}),!1}catch{return!0}};var Ot=e=>{try{return new URL(e).origin}catch{return e}};var St=s(require("crypto")),Ct=s(require("base64url"));var At=e=>{try{let t=St.default.createCipheriv(ye,we,ge),o=t.update(e,"utf8","base64");return o+=t.final("base64"),Ct.default.toBase64(o)}catch(t){return console.error(`Encryption error: ${t}`),null}};var _o=async()=>(await F.default.createPromptModule()({type:"input",name:"Domain",message:"Please enter the domain address",validate:o=>{try{return new URL(o),!0}catch{return"Please enter a valid domain name"}}})).Domain,Lo=async()=>(await F.default.createPromptModule()({type:"input",name:"Username",message:"Please enter username",validate:o=>!!o})).Username,$o=async()=>(await F.default.createPromptModule()({type:"password",name:"Password",message:"Please enter password",validate:o=>!!o})).Password,Rt=async({domain:e,username:t,password:o})=>{if(e||(e=await _o()),e=Ot(e),await kt(e)){t||(t=await Lo()),o||(o=await $o());let{cookie:n}=await Et({baseUrl:e,username:t,password:At(o)||o});n?(te({domain:e,username:t,cookie:n}),console.info("Login success!")):console.error("Login failed!")}else te({domain:e}),console.info("Login success!")};var Dt=async e=>{await Rt(e)};var ce=s(require("path"));var qt=s(require("path")),V=s(require("chalk")),zt=s(require("debug")),pe=s(require("fs-extra"));var Tt=async()=>{var t;return((t=(await x({method:"GET",url:"/apps/api/v1/config"}).catch(o=>{var r,n;console.info(`getRuntimeConfig error ${((n=(r=o==null?void 0:o.response)==null?void 0:r.data)==null?void 0:n.message)||(o==null?void 0:o.message)}`)})).data)==null?void 0:t.runtime)||{}};var B=require("child_process"),R=class{constructor(t,o){this.imageName=t,this.containerName=o}async downloadImage(){console.info(`Downloading image(${this.imageName}) ...`),await this.execPromise(`docker pull ${this.imageName}`),console.info(`Download image(${this.imageName}) success!`)}async runContainer({port:t,env:o,volume:r=[]}){await this.removeContainer();let n=Object.keys(o).filter(a=>o[a]!==void 0).map(a=>`-e ${a}=${o[a]}`).join(" "),i=r==null?void 0:r.map(a=>`-v ${a}`).join(" "),p=`docker run -d -p ${t}:${t} ${n} ${i} --name ${this.containerName} ${this.imageName}`;await this.execPromise(p)}async removeContainer(){await this.execPromise(`docker rm -f ${this.containerName}`).catch(()=>{})}logs(){let t=(0,B.spawn)("docker",["logs","-f",this.containerName]);t.stdout.on("data",o=>{console.info(`${o}`)}),t.stderr.on("data",o=>{console.info(`${o}`)})}execPromise(t){return new Promise((o,r)=>{(0,B.exec)(t,(n,i,p)=>{if(n)return r(n);o({stdout:i,stderr:p})})})}};var _t=s(require("localtunnel"));var Lt=async({appKey:e,runtimeHost:t,resources:o,resourcePort:r})=>{o!=null&&o.length&&o.forEach(n=>{n.path=`http://127.0.0.1:${r}`}),await x({method:"POST",url:`/apps/api/v1/apps/tunnel/${e}`,data:{resources:o,runtimeHost:t}}).catch(n=>{var i,p;console.info(`addTunnel error ${((p=(i=n==null?void 0:n.response)==null?void 0:i.data)==null?void 0:p.message)||(n==null?void 0:n.message)}`)})},$t=async e=>{await x({method:"DELETE",url:`/apps/api/v1/apps/tunnel/${e}`}).catch(()=>{})},It=async e=>{try{return(await(0,_t.default)({port:e,host:"http://tunnel.gitee.work:1777"})).url}catch(t){return console.info("runTunnel error",t==null?void 0:t.message),""}};var ae=s(require("path")),Mt=s(require("cors")),Nt=s(require("express")),Ut=s(require("webpack")),jt=s(require("webpack-dev-middleware")),Ft=require("webpack-merge");var G=async({appKey:e,webpackConfig:t})=>{let r=(await I())({environment:"development",appKey:e});if(t){let c=require(ae.default.resolve(t));r=(0,Ft.merge)(r,c)}let n=(0,Ut.default)(r),i=(0,Nt.default)(),p=Number(process.env.UI_PORT)||8e3,a=(0,jt.default)(n);i.use((0,Mt.default)()),i.use(a),i.get("*",(c,m)=>{var l,d;(d=n.outputFileSystem)==null||d.readFile(ae.default.join(((l=r.output)==null?void 0:l.path)||"","index.html"),(y,u)=>{if(y||!u){m.sendStatus(404);return}m.send(u.toString())})}),i.listen(p,"0.0.0.0",()=>{console.info(`The React app is listening on port ${p}!
5
5
  `)})};var Gt=s(require("chokidar"));var Bt=(e,t,o)=>{for(let r of e)L({inputDir:t,outputDir:o,fileName:r,mode:"development"})},Vt=async e=>{let{inputDir:t,outputDir:o}=e,n=(await v()).getFunctionFiles();Bt(n,t,o);let i,p=Gt.default.watch(t);console.info(`watch: ${t}`),p.on("change",a=>{clearTimeout(i),i=setTimeout(()=>{console.info(`${a} has change`),Bt(n,t,o)},1e3)})};var Io=(0,zt.default)("cli:tunnel"),Mo=async()=>{let e=await Tt(),t=process.env.RUNTIME_IMAGE||e.image||"docker-hub.gitee.work/gitee-prod/proxima-apps-runtime-server:4.4.0-alpha-86",o=Number(process.env.CONTAINER_PORT)||8455,r="cli-dev-apps-runtime-server",n=process.env.PULL_IMAGE!=="false",i={PORT:o,APPS_DIR:"/usr/src/app/apps",LRU_TTL:1,FS_MODE:"local",DEBUG:process.env.DEBUG||"runtime*",LOG_LEVEL:process.env.LOG_LEVEL,APPS_DEFAULT_LOCALE:process.env.APPS_DEFAULT_LOCALE||"zh-CN",PARSE_PUBLIC_SERVER_URL:process.env.PARSE_PUBLIC_SERVER_URL||e.parsePublicServerUrl,PARSE_SERVER_MASTER_KEY:process.env.PARSE_SERVER_MASTER_KEY||e.parseServerMasterKey,PROXIMA_CORE_URL:process.env.PROXIMA_CORE_URL||e.proximaCoreUrl,APPS_SERVER_URL:process.env.APPS_SERVER_URL||e.appsServerUrl,APPS_PARSE_SERVER_URL:process.env.APPS_PARSE_SERVER_URL||e.appsParseServerUrl,PGSQL_CLIENT_HOST:process.env.PGSQL_CLIENT_HOST,PGSQL_CLIENT_PORT:process.env.PGSQL_CLIENT_PORT,PGSQL_CLIENT_USER:process.env.PGSQL_CLIENT_USER,PGSQL_CLIENT_PASSWORD:process.env.PGSQL_CLIENT_PASSWORD,APPS_RUNTIME_IOREDIS_OPTIONS:process.env.APPS_RUNTIME_IOREDIS_OPTIONS?`'${process.env.APPS_RUNTIME_IOREDIS_OPTIONS}'`:void 0};return{runtimeImage:t,containerPort:o,containerName:r,containerEnv:i,pullImage:n}},Kt=async e=>{var ue,fe,de;let{inputDir:t,outputDir:o,server:r,filesToCopy:n,resourcePort:i,ui:p,webpackConfig:a}=e;await pe.default.emptyDir(o);let c=await v(),m=c.app.key,l=c.app.version,d=c.getFunctionFiles(),y=c.resources||[];if(!m){w.error("appKey is required!");return}if(!l){w.error("version is required!");return}console.info(`App key: ${V.default.bold.green(m)}`),console.info(`App version: ${V.default.bold.green(l)}
6
- `);let{domain:u}=O();if(!u){w.error("Please login in first!");return}console.info(`Tunneling to ${V.default.bold.green(u)}`);let A=[],h=async P=>{P instanceof Error&&console.error(P),await Promise.all(A.map(D=>D())),process.exit()};process.on("SIGINT",h),process.on("uncaughtException",h),process.on("unhandledRejection",h),p&&G({appKey:m,webpackConfig:a});let Yt=`${`/${m}/development/${l}`}/server-side`,le=qt.default.join(o,Yt);await M(le,n),await Vt({inputDir:t,outputDir:le}),A.push(()=>pe.default.remove(o));let q="";if(r&&d.length>0){let{runtimeImage:P,containerPort:D,containerEnv:Xt,containerName:Zt,pullImage:eo}=await Mo(),T=new R(P,Zt);eo&&await T.downloadImage(),await T.runContainer({port:D,env:Xt,volume:[`${o}:/usr/src/app/apps`]}),A.push(()=>T.removeContainer()),q=await f({start:"start tunnel",error:"tunnel failed",succeed:"tunnel success"},()=>It(D)),Io("runtimeHost",q),T.logs()}if(await Lt({appKey:m,runtimeHost:q,resources:y,resourcePort:i}),A.push(()=>$t(m)),r&&((de=(fe=(ue=c.getManifest())==null?void 0:ue.modules)==null?void 0:fe.webtrigger)!=null&&de.length)){console.info("You can use this url for test:");let P=`${u}/apps/api/v1/:tenant/apps/${m}/environments/development/webtriggers/:webtriggerKey`;console.info(`POST ${P}`)}};var Wt=async e=>{let{copy:t=[],input:o="functions",output:r="cache",server:n=!0,resourcePort:i,ui:p,webpack:a}=e;await Kt({outputDir:ce.default.resolve(r),inputDir:ce.default.resolve(o),filesToCopy:[..._,...t],server:n,resourcePort:Number(i)||8e3,ui:!!p,webpackConfig:a})};var No=async({webpackConfig:e})=>{let t=await v(),{key:o}=t.app;if(!o){w.error("manifest app key is required");return}G({appKey:o,webpackConfig:e})},Ht=No;var Jt=async e=>{let{webpack:t}=e;await Ht({webpackConfig:t})};var Uo=`v${E}`;console.info(`GiteeTeam Apps Cli ${me.default.bold.green(Uo)}`);console.info(`Node.js ${me.default.bold.green(process.version)}
6
+ `);let{domain:u}=O();if(!u){w.error("Please login in first!");return}console.info(`Tunneling to ${V.default.bold.green(u)}`);let C=[],h=async P=>{P instanceof Error&&console.error(P),await Promise.all(C.map(D=>D())),process.exit()};process.on("SIGINT",h),process.on("uncaughtException",h),process.on("unhandledRejection",h),p&&G({appKey:m,webpackConfig:a});let Yt=`${`/${m}/development/${l}`}/server-side`,le=qt.default.join(o,Yt);await M(le,n),await Vt({inputDir:t,outputDir:le}),C.push(()=>pe.default.remove(o));let q="";if(r&&d.length>0){let{runtimeImage:P,containerPort:D,containerEnv:Xt,containerName:Zt,pullImage:eo}=await Mo(),T=new R(P,Zt);eo&&await T.downloadImage(),await T.runContainer({port:D,env:Xt,volume:[`${o}:/usr/src/app/apps`]}),C.push(()=>T.removeContainer()),q=await f({start:"start tunnel",error:"tunnel failed",succeed:"tunnel success"},()=>It(D)),Io("runtimeHost",q),T.logs()}if(await Lt({appKey:m,runtimeHost:q,resources:y,resourcePort:i}),C.push(()=>$t(m)),r&&((de=(fe=(ue=c.getManifest())==null?void 0:ue.modules)==null?void 0:fe.webtrigger)!=null&&de.length)){console.info("You can use this url for test:");let P=`${u}/apps/api/v1/:tenant/apps/${m}/environments/development/webtriggers/:webtriggerKey`;console.info(`POST ${P}`)}};var Wt=async e=>{let{copy:t=[],input:o="functions",output:r="cache",server:n=!0,resourcePort:i,ui:p,webpack:a}=e;await Kt({outputDir:ce.default.resolve(r),inputDir:ce.default.resolve(o),filesToCopy:[..._,...t],server:n,resourcePort:Number(i)||8e3,ui:!!p,webpackConfig:a})};var No=async({webpackConfig:e})=>{let t=await v(),{key:o}=t.app;if(!o){w.error("manifest app key is required");return}G({appKey:o,webpackConfig:e})},Ht=No;var Jt=async e=>{let{webpack:t}=e;await Ht({webpackConfig:t})};var Uo=`v${E}`;console.info(`GiteeTeam Apps Cli ${me.default.bold.green(Uo)}`);console.info(`Node.js ${me.default.bold.green(process.version)}
7
7
  `);var b=new Qt.Command;b.version(E,"-v -V --vers").description("Giteeteam Apps Cli");b.command("build").option("--prod","build in production").option("--dev","build in development").option("--no-zip","no archive").option("-c --copy [letters...]","copy files").option("-i --input [dir]","input dir").option("-o --output [dir]","output dir").option("--ui","build ui").option("-w --webpack [file]","build ui webpack config file").action(Xe);b.command("init").action(Pt);b.command("login").option("--domain [domain]","login domain").option("-u --username [username]","login username").option("-p --password [password]","login user password").action(Dt);b.command("tunnel").option("-c --copy [letters...]","copy files").option("-i --input [dir]","input dir").option("-o --output [dir]","output dir,default cache").option("--no-server","no server").option("--resourcePort [number]","resource port").option("--ui","build ui").option("-w --webpack [file]","build ui webpack config file").action(Wt);b.command("deploy [filename]").option("-e --environment [environment]","app environment").action(ut);b.command("ui-dev").option("-w --webpack [file]","build ui webpack config file").action(Jt);b.parse(process.argv);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giteeteam/apps-cli",
3
- "version": "0.8.11",
3
+ "version": "0.8.12-alpha.1",
4
4
  "description": "Giteeteam Apps cli",
5
5
  "keywords": [
6
6
  "typescript",