@giteeteam/apps-cli 0.8.15 → 0.8.16

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 +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var oo=Object.create;var K=Object.defineProperty;var ro=Object.getOwnPropertyDescriptor;var no=Object.getOwnPropertyNames;var io=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var ao=(e,t)=>()=>(e&&(t=e(e=0)),t);var po=(e,t)=>{for(var o in t)K(e,o,{get:t[o],enumerable:!0})},co=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of no(t))!so.call(e,n)&&n!==o&&K(e,n,{get:()=>t[n],enumerable:!(r=ro(t,n))||r.enumerable});return e};var s=(e,t,o)=>(o=e!=null?oo(io(e)):{},co(t||!e||!e.__esModule?K(o,"default",{value:e,enumerable:!0}):o,e));var je={};po(je,{default:()=>Eo});function Eo({environment:e,appKey:t,distOutputPath:o="dist"}){let r=e==="production",n=e==="development",i=f=>f?{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:f},D,g)=>g===t||/\.global\.(css|less)$/.test(f)||/node_modules/.test(f)?g:`${g}__${(0,Me.default)(f+g,{algorithm:"md5"}).slice(0,8)}`,a={loader:"@ecomfe/class-names-loader",options:{classNamesModule:require.resolve("classnames")}},c=r?Q.default.loader:"style-loader",m={loader:"postcss-loader",options:{postcssOptions:{plugins:[Le.default]}}},l={loader:"css-loader",options:{modules:{getLocalIdent:p},importLoaders:1}},u={loader:"less-loader",options:{lessOptions:{javascriptEnabled:!0,modifyVars:{...Ue,...ho,"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 Ie.default,"..."]},plugins:[Po&&new go,new J.default.DefinePlugin({"process.env":JSON.stringify(process.env),"process.env.appKey":JSON.stringify(t)}),new Ne.default({template:$.default.resolve("public/index.html"),filename:"index.html",inject:!0,appKey:t}),r&&new Q.default({filename:"[name].[contenthash].css",chunkFilename:"[name].[contenthash].chunk.css"}),n&&new J.default.HotModuleReplacementPlugin,n&&new Te.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:xo,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,u]},{test:/\.(png|jpg|gif)$/i,use:[{loader:"url-loader",options:{name:"[name]_[hash].[ext]",limit:100*24}}]},{test:/\.svg$/i,use:["@svgr/webpack"]}]}]},externals:[{...bo()}]}}var $,Ae,De,Te,_e,Le,$e,Ie,Me,Ne,Q,J,go,yo,wo,Ue,ho,vo,bo,xo,Po,Fe=ao(()=>{"use strict";$=s(require("path")),Ae=require("@ant-design/compatible"),De=require("@giteeteam/apps-team-theme"),Te=s(require("@pmmmwh/react-refresh-webpack-plugin")),_e=require("antd"),Le=s(require("autoprefixer")),$e=require("clean-webpack-plugin"),Ie=s(require("css-minimizer-webpack-plugin")),Me=s(require("hasha")),Ne=s(require("html-webpack-plugin")),Q=s(require("mini-css-extract-plugin")),J=s(require("webpack")),go=require("webpack-bundle-analyzer").BundleAnalyzerPlugin,{defaultAlgorithm:yo,defaultSeed:wo}=_e.theme,Ue=yo({...wo,...De.themeConfig.token}),ho=(0,Ae.convertLegacyToken)({...Ue}),vo=()=>e=>["window modules",e],bo=()=>{let e=vo();return{"react-dom/client":e("reactDOMClient"),"react-dom":e("reactDOM"),react:e("react")}},xo=process.env.GENERATE_SOURCEMAP==="true",Po=process.env.ANALYZER_PACKAGE==="true"});var Dn=require("dotenv/config"),le=s(require("chalk")),Yt=require("commander");var k="0.8.15";var Z=s(require("path"));var _=["manifest.yml","locales"],we=Buffer.from(process.env.ONE_AUTH_IV||"ABCDEFGHIJKLM_iv","utf-8"),he=Buffer.from(process.env.ONE_AUTH_SECRET_KEY||"ABCDEFGHIJKL_key","utf-8"),ve=process.env.ONE_AUTH_ALGORITHM||"aes-128-cbc";var U=s(require("chalk")),Xe=s(require("fs-extra"));var Pe=s(require("fs")),H=s(require("path")),Ee=s(require("@rollup/plugin-commonjs")),ke=require("rollup");var O=require("fs"),y=require("path"),be=require("esbuild"),lo={treeShaking:!0,format:"esm",loader:"tsx"};var uo=({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 W({mode:e,...t}){return t={...lo,...t},{name:"esbuild",resolveId(o,r,n){if(!r)return o;let i=(0,y.dirname)(r),p;if((0,O.existsSync)(p=(0,y.resolve)(i,o,"index.ts")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o,"index.tsx")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o+".ts")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o+".tsx")))return p;{let a=uo({source:o,dirPath:i,mode:e});if((0,O.existsSync)(a))return a;throw console.error({source:o,importer:r,options:n}),p=(0,y.relative)(".",(0,y.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,be.transform)(o,t);return i?{code:n,map:i}:n}}}function fo(e,t,o="development"){let r=[(0,Ee.default)()];r.push(W({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=H.default.join(o,`${t}.ts`);try{await Pe.default.promises.access(i)}catch{console.error(`${i} is not exist`);return}let p=H.default.join(r,`${t}.js`),{inputOptions:a,outputOptions:c}=fo(i,p,n);await(await(0,ke.rollup)(a)).write(c)}var Oe=s(require("ora")),d=async(e,t)=>{var r,n;let o=(0,Oe.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 Ce=s(require("path")),Re=require("@giteeteam/apps-manifest"),Se=s(require("fs-extra")),v=async()=>{let e=Ce.default.resolve("manifest.yml"),t=await Se.default.readFile(e);return new Re.Manifest(t.toString())};var Ge=s(require("path")),Be=s(require("webpack")),Ve=s(require("webpack-merge"));var I=async()=>(await Promise.resolve().then(()=>(Fe(),je))).default;var qe=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(Ge.default.resolve(t));i=(0,Ve.default)(i,a)}(0,Be.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 ze=s(require("path")),Ke=s(require("archiver")),Y=s(require("fs-extra")),We=async(e,t)=>{let o=ze.default.resolve(t);return await Y.default.remove(o),new Promise((r,n)=>{let i=Y.default.createWriteStream(o),p=(0,Ke.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 He=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")),Je=s(require("fs-extra"));var X=s(require("path")),Qe=s(require("fs-extra")),M=async(e,t)=>{for(let o of t)try{let r=X.default.resolve(o),n=X.default.join(e,o);await Qe.default.copy(r,n)}catch(r){if(r.code==="ENOENT"&&o==="locales")continue;throw r}};var Ye=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 Je.default.copy(p,a)}await M(e,o)};var Ze=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 oo=Object.create;var K=Object.defineProperty;var ro=Object.getOwnPropertyDescriptor;var no=Object.getOwnPropertyNames;var io=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var ao=(e,t)=>()=>(e&&(t=e(e=0)),t);var po=(e,t)=>{for(var o in t)K(e,o,{get:t[o],enumerable:!0})},co=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of no(t))!so.call(e,n)&&n!==o&&K(e,n,{get:()=>t[n],enumerable:!(r=ro(t,n))||r.enumerable});return e};var s=(e,t,o)=>(o=e!=null?oo(io(e)):{},co(t||!e||!e.__esModule?K(o,"default",{value:e,enumerable:!0}):o,e));var je={};po(je,{default:()=>Eo});function Eo({environment:e,appKey:t,distOutputPath:o="dist"}){let r=e==="production",n=e==="development",i=f=>f?{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:f},D,g)=>g===t||/\.global\.(css|less)$/.test(f)||/node_modules/.test(f)?g:`${g}__${(0,Me.default)(f+g,{algorithm:"md5"}).slice(0,8)}`,a={loader:"@ecomfe/class-names-loader",options:{classNamesModule:require.resolve("classnames")}},c=r?Q.default.loader:"style-loader",m={loader:"postcss-loader",options:{postcssOptions:{plugins:[Le.default]}}},l={loader:"css-loader",options:{modules:{getLocalIdent:p},importLoaders:1}},u={loader:"less-loader",options:{lessOptions:{javascriptEnabled:!0,modifyVars:{...Ue,...ho,"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 Ie.default,"..."]},plugins:[Po&&new go,new J.default.DefinePlugin({"process.env":JSON.stringify(process.env),"process.env.appKey":JSON.stringify(t)}),new Ne.default({template:$.default.resolve("public/index.html"),filename:"index.html",inject:!0,appKey:t}),r&&new Q.default({filename:"[name].[contenthash].css",chunkFilename:"[name].[contenthash].chunk.css"}),n&&new J.default.HotModuleReplacementPlugin,n&&new Te.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:xo,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,u]},{test:/\.(png|jpg|gif)$/i,use:[{loader:"url-loader",options:{name:"[name]_[hash].[ext]",limit:100*24}}]},{test:/\.svg$/i,use:["@svgr/webpack"]}]}]},externals:[{...bo()}]}}var $,Ae,De,Te,_e,Le,$e,Ie,Me,Ne,Q,J,go,yo,wo,Ue,ho,vo,bo,xo,Po,Fe=ao(()=>{"use strict";$=s(require("path")),Ae=require("@ant-design/compatible"),De=require("@giteeteam/apps-team-theme"),Te=s(require("@pmmmwh/react-refresh-webpack-plugin")),_e=require("antd"),Le=s(require("autoprefixer")),$e=require("clean-webpack-plugin"),Ie=s(require("css-minimizer-webpack-plugin")),Me=s(require("hasha")),Ne=s(require("html-webpack-plugin")),Q=s(require("mini-css-extract-plugin")),J=s(require("webpack")),go=require("webpack-bundle-analyzer").BundleAnalyzerPlugin,{defaultAlgorithm:yo,defaultSeed:wo}=_e.theme,Ue=yo({...wo,...De.themeConfig.token}),ho=(0,Ae.convertLegacyToken)({...Ue}),vo=()=>e=>["window modules",e],bo=()=>{let e=vo();return{"react-dom/client":e("reactDOMClient"),"react-dom":e("reactDOM"),react:e("react")}},xo=process.env.GENERATE_SOURCEMAP==="true",Po=process.env.ANALYZER_PACKAGE==="true"});var Dn=require("dotenv/config"),le=s(require("chalk")),Yt=require("commander");var k="0.8.16";var Z=s(require("path"));var _=["manifest.yml","locales"],we=Buffer.from(process.env.ONE_AUTH_IV||"ABCDEFGHIJKLM_iv","utf-8"),he=Buffer.from(process.env.ONE_AUTH_SECRET_KEY||"ABCDEFGHIJKL_key","utf-8"),ve=process.env.ONE_AUTH_ALGORITHM||"aes-128-cbc";var U=s(require("chalk")),Xe=s(require("fs-extra"));var Pe=s(require("fs")),H=s(require("path")),Ee=s(require("@rollup/plugin-commonjs")),ke=require("rollup");var O=require("fs"),y=require("path"),be=require("esbuild"),lo={treeShaking:!0,format:"esm",loader:"tsx"};var uo=({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 W({mode:e,...t}){return t={...lo,...t},{name:"esbuild",resolveId(o,r,n){if(!r)return o;let i=(0,y.dirname)(r),p;if((0,O.existsSync)(p=(0,y.resolve)(i,o,"index.ts")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o,"index.tsx")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o+".ts")))return p;if((0,O.existsSync)(p=(0,y.resolve)(i,o+".tsx")))return p;{let a=uo({source:o,dirPath:i,mode:e});if((0,O.existsSync)(a))return a;throw console.error({source:o,importer:r,options:n}),p=(0,y.relative)(".",(0,y.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,be.transform)(o,t);return i?{code:n,map:i}:n}}}function fo(e,t,o="development"){let r=[(0,Ee.default)()];r.push(W({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=H.default.join(o,`${t}.ts`);try{await Pe.default.promises.access(i)}catch{console.error(`${i} is not exist`);return}let p=H.default.join(r,`${t}.js`),{inputOptions:a,outputOptions:c}=fo(i,p,n);await(await(0,ke.rollup)(a)).write(c)}var Oe=s(require("ora")),d=async(e,t)=>{var r,n;let o=(0,Oe.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 Ce=s(require("path")),Re=require("@giteeteam/apps-manifest"),Se=s(require("fs-extra")),v=async()=>{let e=Ce.default.resolve("manifest.yml"),t=await Se.default.readFile(e);return new Re.Manifest(t.toString())};var Ge=s(require("path")),Be=s(require("webpack")),Ve=s(require("webpack-merge"));var I=async()=>(await Promise.resolve().then(()=>(Fe(),je))).default;var qe=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(Ge.default.resolve(t));i=(0,Ve.default)(i,a)}(0,Be.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 ze=s(require("path")),Ke=s(require("archiver")),Y=s(require("fs-extra")),We=async(e,t)=>{let o=ze.default.resolve(t);return await Y.default.remove(o),new Promise((r,n)=>{let i=Y.default.createWriteStream(o),p=(0,Ke.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 He=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")),Je=s(require("fs-extra"));var X=s(require("path")),Qe=s(require("fs-extra")),M=async(e,t)=>{for(let o of t)try{let r=X.default.resolve(o),n=X.default.join(e,o);await Qe.default.copy(r,n)}catch(r){if(r.code==="ENOENT"&&o==="locales")continue;throw r}};var Ye=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 Je.default.copy(p,a)}await M(e,o)};var Ze=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:u}=a.validate();if(!l){if(u!=null&&u.length){let{message:h,path:f}=u[0];console.error(`Manifest valid error: Path '${f}', ${h}`)}else console.error("Manifest valid error");return}if(await Xe.default.emptyDir(e),i&&await d({start:"start build ui",error:"build ui failed",succeed:"build ui success"},()=>qe({appKey:m,webpackConfig:p})),await d({start:"start bundle",error:"bundle failed",succeed:"bundle success"},()=>He({outputDir:e,inputDir:t,manifest:a,mode:o?"production":"development"})),await d({start:"start package",error:"package failed",succeed:"package success"},()=>Ye({outputDir:e,manifest:a,filesToCopy:r})),n){let h=`${m}_${c}.zip`;await d({start:"start archive",error:"archive failed",succeed:"archive success"},()=>We(e,h)),console.info(`
4
4
  The output file of the build is ${U.default.bold.green(h)}`)}};var et=async e=>{let{input:t="functions",output:o="package",prod:r,dev:n,copy:i=[],zip:p,ui:a,webpack:c}=e;await Ze({outputDir:Z.default.resolve(o),inputDir:Z.default.resolve(t),prod:r??!n,filesToCopy:[..._,...i],zip:p,ui:!!a,webpackConfig:c}).catch(()=>{})};var lt=s(require("fs")),ut=s(require("chalk"));var tt=s(require("path")),ot=s(require("lowdb")),rt=s(require("lowdb/adapters/FileSync"));var ee,te=()=>{if(!ee){let e=tt.default.join(__dirname,"user.json"),t=new rt.default(e);ee=(0,ot.default)(t)}return ee},nt=()=>{let e=te(),t=e.get("version").value();(!t||t!==k)&&e.defaults({version:k,user:{}}).write()},oe=e=>{nt(),te().set("user",e).write()},C=()=>(nt(),te().get("user").value());var st=s(require("fs")),at=s(require("path")),pt=s(require("form-data"));var it=s(require("axios"));var P=async({url:e,method:t,data:o,headers:r})=>{let{domain:n,cookie:i}=C();return(await(0,it.default)({method:t,baseURL:n,url:e,data:o,headers:{...r,cookie:i}})).data};var ct=async(e,t)=>{let o=new pt.default;o.append("environmentKey",t),o.append("package",st.default.createReadStream(at.default.resolve(e))),await P({method:"POST",url:"/apps/api/v1/apps/deploy",data:o,headers:{...o.getHeaders()}})};var mt=s(require("chalk")),ko=mt.default.bold.red,w={error:e=>{console.info(ko(e))}};var ft=(r=>(r.DEVELOPMENT="development",r.STAGING="staging",r.PRODUCTION="production",r))(ft||{}),dt=async(e,t)=>{let{domain:o}=C(),{environment:r="development"}=t;if(!Object.values(ft).includes(r)){w.error("Only support development, staging, production environment.");return}if(!o){w.error("Please login in first!");return}if(!lt.default.existsSync(e)){w.error(`File:${e} is not exist`);return}console.info(`Deploying to ${ut.default.bold.green(o)}`),await d({start:"start deploy",error:"deploy failed",succeed:"deploy success"},()=>ct(e,r)).catch(()=>{})};var R=s(require("path")),S=s(require("fs-extra")),se=s(require("inquirer"));var gt=s(require("readline")),yt=require("chalk"),wt=s(require("execa")),Oo=e=>{if(!yt.supportsColor){e.write("\r");return}gt.default.cursorTo(e,0)},Co=(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);Oo(process.stderr),process.stderr.write(`[${a}${c}]${r}`)},Ro=(e,t,o,r)=>new Promise((n,i)=>{var a;let p=(0,wt.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){Co(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()})}),ht={executeCommand:Ro};var re=s(require("fs-extra")),ne=s(require("simple-git")),vt=async e=>{await(0,ne.default)(e).init()},bt=async(e,t)=>{await re.default.pathExists(t)||await re.default.mkdir(t),await(0,ne.default)(t).clone(e,t)};var j=s(require("fs-extra")),xt="https://github.com/moriahq/apps-template.git",ie=(o=>(o.micro="micro",o.uikit="uikit",o))(ie||{}),Pt=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 se.default.createPromptModule()({type:"input",name:"App Name",message:"Please enter an app name",validate:o=>!!o}))["App Name"],Do=async()=>(await se.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"],To=async(e,t)=>{await d({start:"Start clone repository",error:"Clone repository failed!",succeed:"Clone repository success!"},()=>bt(e,t))},_o=async e=>{await d({start:"Start install dependencies",error:"Install dependencies failed!",succeed:"Install dependencies success!"},()=>ht.executeCommand("yarn",["install"],e))},Et=async e=>{let{cwd:t}=e,o="micro",r=await Ao(),n=await Do(),i=R.default.join(t,n);if(await S.default.pathExists(i)){console.error(`Project path already exists: ${i}`);return}await To(xt,i),await S.default.copy(R.default.join(i,o),i),await Promise.all(Object.values(ie).map(a=>S.default.remove(R.default.join(i,a)))),await S.default.remove(R.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=>Pt(R.default.join(i,a),{appName:r,appKey:n}))),await _o(i),await vt(i),console.info("Project init success!"),console.info("Project path:"+i)};var kt=async()=>{let e=process.cwd();await Et({cwd:e})};var F=s(require("inquirer"));var ae=s(require("axios")),Ot=async({baseUrl:e,username:t,password:o})=>{var r;try{return{cookie:(r=(await(0,ae.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:""}}},Ct=async e=>{try{return await(0,ae.default)({method:"GET",url:`${e}/apps/api/v1/tenants`}),!1}catch{return!0}};var Rt=e=>{try{return new URL(e).origin}catch{return e}};var St=s(require("crypto"));var At=e=>{try{let t=St.default.createCipheriv(ve,he,we),o=t.update(e,"utf8","base64");return o+=t.final("base64"),o.toString()}catch(t){return console.error(`Encryption error: ${t}`),null}};var Lo=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,$o=async()=>(await F.default.createPromptModule()({type:"input",name:"Username",message:"Please enter username",validate:o=>!!o})).Username,Io=async()=>(await F.default.createPromptModule()({type:"password",name:"Password",message:"Please enter password",validate:o=>!!o})).Password,Dt=async({domain:e,username:t,password:o})=>{if(e||(e=await Lo()),e=Rt(e),await Ct(e)){t||(t=await $o()),o||(o=await Io());let{cookie:n}=await Ot({baseUrl:e,username:t,password:At(o)||o});n?(oe({domain:e,username:t,cookie:n}),console.info("Login success!")):console.error("Login failed!")}else oe({domain:e}),console.info("Login success!")};var Tt=async e=>{await Dt(e)};var me=s(require("path"));var zt=s(require("path")),V=s(require("chalk")),Kt=s(require("debug")),ce=s(require("fs-extra"));var _t=async()=>{var t;return((t=(await P({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 G=require("child_process"),A=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,G.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,G.exec)(t,(n,i,p)=>{if(n)return r(n);o({stdout:i,stderr:p})})})}};var Lt=s(require("localtunnel"));var $t=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 P({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)}`)})},It=async e=>{await P({method:"DELETE",url:`/apps/api/v1/apps/tunnel/${e}`}).catch(()=>{})},Mt=async e=>{try{return(await(0,Lt.default)({port:e,host:"http://tunnel.gitee.work:1777"})).url}catch(t){return console.info("runTunnel error",t==null?void 0:t.message),""}};var pe=s(require("path")),Nt=s(require("cors")),Ut=s(require("express")),jt=s(require("webpack")),Ft=s(require("webpack-dev-middleware")),Gt=require("webpack-merge");var B=async({appKey:e,webpackConfig:t})=>{let r=(await I())({environment:"development",appKey:e});if(t){let c=require(pe.default.resolve(t));r=(0,Gt.merge)(r,c)}let n=(0,jt.default)(r),i=(0,Ut.default)(),p=Number(process.env.UI_PORT)||8e3,a=(0,Ft.default)(n);i.use((0,Nt.default)()),i.use(a),i.get("*",(c,m)=>{var l,u;(u=n.outputFileSystem)==null||u.readFile(pe.default.join(((l=r.output)==null?void 0:l.path)||"","index.html"),(h,f)=>{if(h||!f){m.sendStatus(404);return}m.send(f.toString())})}),i.listen(p,"0.0.0.0",()=>{console.info(`The React app is listening on port ${p}!
5
5
  `)})};var Vt=s(require("chokidar"));var Bt=(e,t,o)=>{for(let r of e)L({inputDir:t,outputDir:o,fileName:r,mode:"development"})},qt=async e=>{let{inputDir:t,outputDir:o}=e,n=(await v()).getFunctionFiles();Bt(n,t,o);let i,p=Vt.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 Mo=(0,Kt.default)("cli:tunnel"),No=async()=>{let e=await _t(),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=process.env.CONTAINER_NAME||"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}},Wt=async e=>{var de,ge,ye;let{inputDir:t,outputDir:o,server:r,filesToCopy:n,resourcePort:i,ui:p,webpackConfig:a,noProxy:c}=e;await ce.default.emptyDir(o);let m=await v(),l=m.app.key,u=m.app.version,h=m.getFunctionFiles(),f=m.resources||[];if(!l){w.error("appKey is required!");return}if(!u){w.error("version is required!");return}console.info(`App key: ${V.default.bold.green(l)}`),console.info(`App version: ${V.default.bold.green(u)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giteeteam/apps-cli",
3
- "version": "0.8.15",
3
+ "version": "0.8.16",
4
4
  "description": "Giteeteam Apps cli",
5
5
  "keywords": [
6
6
  "typescript",
@@ -40,7 +40,7 @@
40
40
  "registry": "https://registry.npmjs.org/"
41
41
  },
42
42
  "dependencies": {
43
- "@giteeteam/apps-manifest": "0.8.6",
43
+ "@giteeteam/apps-manifest": "0.8.7",
44
44
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
45
45
  "@rollup/plugin-commonjs": "^22.0.0",
46
46
  "archiver": "^5.3.1",