@shoplineos/cli 1.4.1 → 1.5.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d});const e=require("commander"),t=u(require("chalk")),i=require("./theme-common-options"),n=require("../../utils/parse-options"),r=u(require("../../services/theme/check")),o=u(require("../../services/theme/3.0/check")),c=require("../../services/theme/check/types"),a=require("../../services/theme/utils"),s=require("../../utils/check-theme-type-version");function u(e){return e&&e.__esModule?e:{default:e}}const p=t.default.red("\n(Unsupported for Theme OS 3.0)\n"),d=()=>{let t=new e.Command("check");return t.description("Validate the theme.").addOption(new e.Option("-C, --config <path>",`Use the config provided, overriding .theme-check.yml if present ${p}`).env("SHOPLINE_FLAG_CONFIG")).addOption(new e.Option("-c, --category <category...>",`Only run this category of checks, Runs checks matching all categories when specified more than once ${p}`).choices(Object.keys(c.ECheckCategory)).default([]).env("SHOPLINE_FLAG_CATEGORY")).addOption(new e.Option("--fail-level <level>",`Minimum severity for exit with error code ${p}`).choices(Object.values(c.EFailLevel)).default(c.EFailLevel.error).env("SHOPLINE_FLAG_FAIL_LEVEL")).addOption(new e.Option("--init",`Generate a .theme-check.yml file ${p}`).env("SHOPLINE_FLAG_INIT")).addOption(new e.Option("-o, --output <output>",`The output format to use ${p}`).choices(Object.values(c.ECheckOutput)).default(c.ECheckOutput.text).env("SHOPLINE_FLAG_OUTPUT")).addOption(new e.Option("--print",`Output active config to STDOUT ${p}`).env("SHOPLINE_FLAG_PRINT")).addOption(new e.Option("--list",`List enabled checks ${p}`).env("SHOPLINE_FLAG_LIST")).addOption((0,i.getPathOption)()).addOption((0,i.getEnvironmentOption)()).showHelpAfterError().action(async(e,t)=>{try{let i=await (0,n.parseOptions)(e,t),c=(0,s.getThemeTypeVersion)(i.path);3===c?await (0,o.default)(i):await (0,r.default)(i)}catch(e){(0,a.handleError)(e)}})};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{createNewTheme:()=>
|
|
2
|
-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{createNewTheme:()=>m,getThemes:()=>R,getThemeInfo:()=>g,uploadTheme:()=>v,getThemeFileList:()=>_,deleteFiles:()=>T,updateFile:()=>O,createFile:()=>I,downloadTheme:()=>S,getThemeFileDetail:()=>b,themeCheck:()=>y});const e=f(require("axios")),t=f(require("form-data")),r=f(require("chalk")),o=f(require("../../../helpers/config")),i=require("../../../utils/const"),l=require("../../../utils/error"),n=require("../const"),s=f(require("../../../utils/debug")),d=f(require("../../../utils/winston")),a=require("../../../helpers/sentry"),u=f(require("../no-second-check")),c=require("../../../utils/ui/render");function f(e){return e&&e.__esModule?e:{default:e}}const{loginInfo:E,currentStore:h}=o.default,p=e.default.create({baseURL:`${h}/api/website/admin/theme/cli`,maxContentLength:1/0,maxBodyLength:1/0});p.interceptors.request.use(e=>{if(E){let t=Object.keys(E).map(e=>`${e}=${E[e]}`).join(";"),r=o.default.dfpToken||"";Object.assign(e.headers,{cookie:t,"dfp-token":r,"User-Agent":i.CLI_USER_AGENT})}return(null==e?void 0:e.data)instanceof t.default&&Object.assign(e.headers,null==e?void 0:e.data.getHeaders()),e}),p.interceptors.response.use(async e=>{var t,o,i,f,E,h,p,m,R,g;if("stream"===e.config.responseType)return e;let v=null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.success,_=null==e?void 0:null===(o=e.data)||void 0===o?void 0:o.code,{config:T}=e;if(s.default.printResponse(T,e),(0,a.reportHttpRes)(e),d.default.logHttp({type:"response",method:e.config.method,url:e.config.baseURL+e.config.url,params:e.config.params,body:e.data,status:e.status,traceId:(null==e?void 0:null===(i=e.data)||void 0===i?void 0:i.trace_id)||(null==e?void 0:null===(f=e.headers)||void 0===f?void 0:f["x-request-id"])||""}),n.ERROR_CODES.THEME_COUNT_LIMIT.includes(_))throw Error(n.ERRORS.THEME_COUNT_LIMIT);if(n.ERROR_CODES.DEVELOPMENT_THEME_NOT_EXIST.includes(_))throw Error(n.ERRORS.THEME_IS_INVALID);if(n.ERROR_CODES.FEATURE_KEY_NOT_EXIST.includes(_))throw Error(n.ERRORS.FEATURE_KEY_NOT_EXIST);if(n.ERROR_CODES.NO_SECOND_CHECK.includes(_))await u.default.run();else if(n.ERROR_CODES.INVALID_FILE.includes(_)){console.log();let{errors:t}=e.data.data;throw t.forEach(({filename:e,message:t})=>{(0,c.renderInfo)({headline:e,body:`${r.default.red("[error]: ")}${t}`})}),new l.AbortError(`Theme Check Summary.
|
|
2
|
+
|
|
3
|
+
${t.length} error${1===t.length?"":"s"} found.`)}if(!v)throw new l.AbortError(`${null!==(m=null==e?void 0:null===(h=e.config)||void 0===h?void 0:h.baseURL)&&void 0!==m?m:""}${null!==(R=null==e?void 0:null===(p=e.config)||void 0===p?void 0:p.url)&&void 0!==R?R:""}
|
|
4
|
+
${JSON.stringify(null!==(g=null==e?void 0:e.data)&&void 0!==g?g:{},null,2)}`);return null==e?void 0:null===(E=e.data)||void 0===E?void 0:E.data},e=>{let t=new l.AbortError(JSON.stringify(e.response.data,null,2));return Promise.reject(t)});const m=e=>p.post("/theme/upload",e),R=async()=>p.get("/themes"),g=e=>p.get(`/theme/${e}`),v=e=>p.post("/files/upload",e),_=e=>p.get("/files",{params:{themeId:e}}),T=(e,t)=>p.delete("/files",{data:{themeId:e,fileNames:t}}),O=e=>p.put("/file",e),I=e=>p.post("/file",e),S=e=>p.get(`/theme/${e}/download`,{responseType:"stream"}),b=(e,t)=>p.get("/files",{params:{themeId:e,fileNames:t.join(",")}}),y=e=>p.post("/theme/check",e);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>h});const e=s(require("form-data")),t=s(require("fs")),r=s(require("ora")),i=s(require("./package")),a=s(require("../../../utils/debug")),u=require("./api"),c=s(require("../../../utils/winston")),l=require("../../../utils/ui/render");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){return e&&e.__esModule?e:{default:e}}class d extends a.default{getThemeZipFormData(){this.zipFilePath=new i.default({cwd:this.cwd,silent:!0}).pack();let r=new e.default;return r.append("file",t.default.createReadStream(this.zipFilePath)),r}async check(){let e=(0,r.default)("Theme check is running...").start(),i=this.getThemeZipFormData();try{let t=await (0,u.themeCheck)(i);return e.succeed(),t}catch(t){throw e.fail(),t}finally{t.default.unlinkSync(this.zipFilePath)}}constructor(e){super("theme:check"),n(this,"cwd",void 0),n(this,"zipFilePath",""),this.cwd=e.path}}const h=async e=>{c.default.log("Check theme...");let t=new d(e),r=await t.check();(0,l.renderSuccess)({headline:"Theme Check Summary.",body:null==r?void 0:r.message})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=c(require("pathe")),t=c(require("fs-extra")),i=c(require("fast-glob")),r=c(require("adm-zip")),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=c(require("pathe")),t=c(require("fs-extra")),i=c(require("fast-glob")),r=c(require("adm-zip")),l=require("../../../utils/fs"),a=c(require("../../../utils/debug")),n=require("../../../utils/path"),u=c(require("../../../utils/colors")),s=require("../utils"),o=c(require("../../../utils/winston")),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var i=h(t);if(i&&i.has(e))return i.get(e);var r={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var n=l?Object.getOwnPropertyDescriptor(e,a):null;n&&(n.get||n.set)?Object.defineProperty(r,a,n):r[a]=e[a]}return r.default=e,i&&i.set(e,r),r}(require("../../../utils/logger"));function f(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function c(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(h=function(e){return e?i:t})(e)}class p extends a.default{pack(a){let n=new r.default,f=i.default.sync(a||s.themeDirectoryGlobList3,{cwd:this.cwd});return o.default.log("Pack theme..."),f.forEach(t=>{let i=e.default.dirname(t),r=e.default.join(this.cwd,t);if(this.includeFilter&&this.ignoreFilter){let e=this.ignoreFilter.match(t),l=this.includeFilter.match(t);!e&&l&&(this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i))}else this.silent||d.info(`adding ${u.default.magenta(t)}`,!0),this.log(`adding ${u.default.magenta(t)}`),n.addLocalFile(r,i)}),(0,l.pathExists)(this.targetZipFilePath)&&t.default.unlinkSync(this.targetZipFilePath),o.default.log(`Write zip file to ${this.targetZipFilePath}...`),n.writeZip(this.targetZipFilePath,e=>{if(e)throw e}),o.default.log(`Write zip file to ${this.targetZipFilePath} success`),this.targetZipFilePath}get targetZipFilePath(){let t=(0,s.getThemeInfo3)(this.cwd),i=`${t.theme_name}-${t.theme_version}.zip`;return e.default.join(this.cwd,i)}constructor({cwd:e,includeFilter:t,ignoreFilter:i,silent:r=!1}){super("theme:package"),f(this,"cwd",(0,n.cwd)()),f(this,"includeFilter",void 0),f(this,"ignoreFilter",void 0),f(this,"silent",void 0),e&&(this.cwd=e),this.silent=r,this.includeFilter=t,this.ignoreFilter=i}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(exports,{default:()=>
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(exports,{default:()=>N,startThemeService:()=>O,themePresenter:()=>j});const e=k(require("fast-glob")),t=k(require("form-data")),a=k(require("fs")),r=k(require("inquirer")),i=k(require("chokidar")),s=k(require("ora")),l=require("lodash"),n=k(require("../../../utils/debug")),u=k(require("../../../helpers/config")),h=require("../../../utils/messages"),d=require("../../../helpers/sentry"),o=require("../../../utils/path"),c=k(require("../../../utils/winston")),m=require("./api"),p=require("../types"),f=require("../utils"),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=q(t);if(a&&a.has(e))return a.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var l=i?Object.getOwnPropertyDescriptor(e,s):null;l&&(l.get||l.set)?Object.defineProperty(r,s,l):r[s]=e[s]}return r.default=e,a&&a.set(e,r),r}(require("../../../utils/logger")),y=k(require("../../../utils/get-objects-diff")),v=k(require("./file")),T=k(require("./package")),w=require("../../../utils/error"),F=require("../const"),D=k(require("../../../utils/colors")),b=k(require("./remote-watcher")),S=require("../../../utils/ui/render");function I(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function k(e){return e&&e.__esModule?e:{default:e}}function q(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,a=new WeakMap;return(q=function(e){return e?a:t})(e)}const E=r.default.createPromptModule();class N extends n.default{async watchRemote(){this.editorSync&&(this.remoteWatcher=new b.default(this),this.remoteWatcher.start())}watch(){this.watchRemote();let e=i.default.watch((0,f.getThemeDirectory3)(this.cwd),{ignored:/(^|[/\\])\../,ignoreInitial:!0});e.on("ready",()=>{e.on("add",(...e)=>{let t=e[0];c.default.log(`Add theme file: ${t}`),this.shouldWatchFile(t)&&this.onAdd(t)}),e.on("change",(...e)=>{let t=e[0];c.default.log(`Change theme file: ${t}`),this.shouldWatchFile(t)&&this.onChange(t)}),e.on("unlink",(...e)=>{let t=e[0];c.default.log(`Unlink theme file: ${t}`),this.shouldWatchFile(t)&&this.onUnlink(t)})})}shouldWatchFile(e){var t;let a=(0,f.parseFileName)(e,this.cwd);if(null===(t=this.remoteWatcher)||void 0===t?void 0:t.shouldUpdateToLocal(a)){this.remoteWatcher.removeUpdateToLocalFiles(a);return}let r=this.ignoreFilter.match(a),i=this.includeFilter.match(a);return!r&&i}async onAdd(e){let r=(0,f.parseFileName)(e,this.cwd),i=new t.default;i.append("file",a.default.createReadStream(e)),i.append("themeId",this.themeId),i.append("fileName",r);let l=(0,s.default)((0,h.getMessage)("theme.serve.syncer.create_strategy.success",{file_name:r})).start();try{var n;await (0,m.createFile)(i),null===(n=this.sse)||void 0===n||n.broadcast(this.getSseData(e,"add")),l.succeed()}catch(e){(0,S.renderFatalError)(e),l.fail()}}async onChange(e){let r=(0,f.parseFileName)(e,this.cwd),i=new t.default;i.append("file",a.default.createReadStream(e)),i.append("themeId",this.themeId),i.append("fileName",r);let l=(0,s.default)((0,h.getMessage)("theme.serve.syncer.update_strategy.success",{file_name:r})).start();try{var n;await (0,m.updateFile)(i),null===(n=this.sse)||void 0===n||n.broadcast(this.getSseData(e)),l.succeed()}catch(e){(0,S.renderFatalError)(e),l.fail()}}async onUnlink(e){var t;let a=(0,f.parseFileName)(e,this.cwd),r=(0,s.default)((0,h.getMessage)("theme.serve.syncer.delete_strategy.success",{file_name:a})).start();await (0,m.deleteFiles)(this.themeId,[a]),null===(t=this.sse)||void 0===t||t.broadcast(this.getSseData(e,"unlink")),r.succeed()}getSseData(e,t){return"full-page"===this.mode||t&&["add","unlink"].includes(t)?{data:{reload_page:!0}}:{data:{modified:[(0,f.getRelativePath)(e,this.cwd)]}}}async syncTheme({nodelete:e}={nodelete:!1}){let t=(0,s.default)(`✨ Syncing theme #${this.themeId} on ${u.default.currentStore}`).start(),{name:a,status:r}=await this.findOrCreateTheme(),{local:i,remote:l}=await this.getFileChecksums(),n=await (0,y.default)(i,l);if(n.length){let t=[],i=[];if(n.forEach(e=>{switch(e.type){case"create":case"update":t.push(e);break;case"delete":i.push(e)}}),!e&&i.length){let e=i.map(e=>e.key);await (0,m.deleteFiles)(this.themeId,e)}if(t.length){let e=t.map(e=>e.key),i=this.getThemeZipFormData({fileList:e,name:a,status:r});await (0,m.uploadTheme)(i)}}t.succeed()}getThemeZipFormData({fileList:e,status:r,name:i}){let s=new T.default({cwd:this.cwd}).pack(e),l=new t.default;return l.append("file",a.default.createReadStream(s)),l.append("themeId",this.themeId||""),l.append("status",r),l.append("name",i),l}async getFileChecksums(){let{localeFileChecksums:e}=this,t=await (0,m.getThemeFileList)(this.themeId),a=t.reduce((e,t)=>(e[t.name]=t.checksum||"",e),Object.create(null)),r=this.getFilterFileChecksums(e),i=this.getFilterFileChecksums(a);return{local:r,remote:i}}getFilterFileChecksums(e){let t=Object.keys(e).reduce((t,a)=>{let r=this.ignoreFilter.match(a),i=this.includeFilter.match(a);return!r&&i&&(t[a]=e[a]),t},{});return t}get localeFileChecksums(){return this.themeFiles().reduce((e,t)=>(e[t.fileName]=t.checksum,e),{})}themeFiles(){let t=e.default.sync(f.themeDirectoryGlobList3,{cwd:this.cwd,onlyFiles:!0,unique:!0});return t.map(e=>new v.default(e,this.cwd))}static async getThemeInfo(e){let{id:t,name:a,status:r,themeTypeVersion:i}=await (0,m.getThemeInfo)(e);return{id:t,name:a,status:r,themeTypeVersion:i}}async findOrCreateTheme(){try{let{id:e,name:t,status:a}=await N.getThemeInfo(this.themeId);return{id:e,name:t,status:a}}catch(r){let{id:e,name:t,status:a}=await this.createNewDevelopmentTheme();return{id:e,name:t,status:a}}}async createNewTheme({name:e,status:t}){let a=this.getThemeZipFormData({status:t,name:e}),{themeId:r}=await (0,m.createNewTheme)(a);return{id:r,name:e,status:t}}async createNewDevelopmentTheme(){let e=(0,f.generateDevThemeName)(),t=this.getThemeZipFormData({name:e,status:p.EThemeStatus.Development}),{themeId:a}=await (0,m.createNewTheme)(t);return this.themeId=a,u.default.developmentThemeId=a,u.default.developmentThemeName=e,{id:a,name:e,status:p.EThemeStatus.Development}}static async getValidDevelopmentInfo(){let e=u.default.developmentThemeId;return await N.isValidDevTheme(e)?{id:e,name:"",status:p.EThemeStatus.Development}:{id:"",name:(0,f.generateDevThemeName)(),status:p.EThemeStatus.Development}}static async isValidDevTheme(e){try{let t=await (0,m.getThemeInfo)(e);if((null==t?void 0:t.status)===p.EThemeStatus.Development)return{id:t.id,name:t.name,status:t.status,themeTypeVersion:t.themeTypeVersion};return null}catch(e){return null}}static async chooseThemeList(e){let t=N.addDevelopmentTheme(await (0,m.getThemes)()),a=t.map(e=>({name:j(e,"short"),value:e.id})).filter(e=>e.value),{themeId:r}=await E([{type:"list",name:"themeId",message:{pull:"Select a theme to pull from",push:"Select theme to push to"}[e],pageSize:a.length,default:a[0].value,loop:!1,choices:a}]),{status:i,name:s,themeTypeVersion:l}=t.find(e=>e.id===r);return{id:r,name:s,status:i,themeTypeVersion:l}}static addDevelopmentTheme(e){let t=u.default.developmentThemeId,a=u.default.developmentThemeName;return t?e.concat({name:a,status:p.EThemeStatus.Development,id:t,themeTypeVersion:""}):e}static async package(e,t=(0,o.cwd)()){try{let e=new T.default({cwd:t});await e.pack()}catch(e){(0,f.handleError)(e)}}static async list(){try{c.default.log("Checking login..."),u.default.isLogin(),console.log((0,h.getMessage)("theme.list.title",{store:u.default.currentStore})),c.default.log("Printing theme list...");let e=await (0,m.getThemes)();e.forEach(e=>{console.log(j(e))}),c.default.log("Print theme list succeed!")}catch(e){(0,f.handleError)(e)}}static async getLiveThemeInfo(){let e=await (0,m.getThemes)(),{id:t,name:a,status:r,themeTypeVersion:i}=e.find(e=>e.status===p.EThemeStatus.Published);return{id:t,name:a,status:r,themeTypeVersion:i}}static async getDevelopmentThemeInfo(){let e=u.default.developmentThemeId,t=u.default.developmentThemeName,a=await N.isValidDevTheme(e);return a?{id:e,name:t,status:a.status,themeTypeVersion:a.themeTypeVersion}:{id:"",name:"",status:"",themeTypeVersion:""}}static checkThemeStandardStructure(e){if(0===e.length)throw new w.AbortError(F.ERRORS.NOT_STANDARD_DIRECTORY);let t=(0,l.difference)(f.standardThemeDirectories3,e);t.length>0&&Error(`
|
|
2
2
|
The presence of ${D.default.bold(null==t?void 0:t[0])} in the directory structure isn't supported.
|
|
3
3
|
|
|
4
4
|
Move any files to a parent folder, then delete unsupported subdirectories.
|
|
5
5
|
|
|
6
6
|
• Required directory structure: https://developer.myshopline.com/docs/introduce/bGgYARTh
|
|
7
|
-
`)}constructor({themeId:e,mode:t,cwd:a,sse:
|
|
7
|
+
`)}constructor({themeId:e,mode:t,cwd:a,sse:r,includeFilter:i,ignoreFilter:s,editorSync:l}){super("theme:theme"),I(this,"cwd",""),I(this,"themeId",""),I(this,"sse",void 0),I(this,"includeFilter",void 0),I(this,"ignoreFilter",void 0),I(this,"editorSync",void 0),I(this,"remoteWatcher",void 0),I(this,"mode",void 0),this.themeId=e||"",this.sse=r,this.cwd=a,this.mode=t||"hot-reload",this.includeFilter=i,this.ignoreFilter=s,this.editorSync=l,this.remoteWatcher=null}}async function O({mode:e,cwd:t,sse:a,includeFilter:r,ignoreFilter:i,editorSync:s}){try{let l=u.default.developmentThemeId,n=new N({themeId:l,mode:e,cwd:t,sse:a,includeFilter:r,ignoreFilter:i,editorSync:s}).watch();return{themeId:l,themeInstance:n}}catch(e){var l,n;return g.error((null==e?void 0:null===(l=e.response)||void 0===l?void 0:null===(n=l.data)||void 0===n?void 0:n.msg)||(null==e?void 0:e.stack)),(0,d.reportAndExit)(e)}}const P={[p.EThemeStatus.Published]:"green",[p.EThemeStatus.Unpublished]:"yellow",[p.EThemeStatus.Development]:"magenta"},_={[p.EThemeStatus.Published]:"live",[p.EThemeStatus.Unpublished]:"unpublished",[p.EThemeStatus.Development]:"development"};function j(e,t="long"){let a=P[e.status],r=[`${D.default[a](`[${_[e.status]}]`)}`];if(e.id===u.default.developmentThemeId&&r.push(D.default.cyan("[yours]")),e.themeTypeVersion&&r.push(D.default.bold.italic.cyan(e.themeTypeVersion)),"long"===t){let t=(0,h.getMessage)("theme.list.long",{id:e.id,name:e.name,tags:r.join(" ")});return t}let i=(0,h.getMessage)("theme.list.short",{name:e.name,tags:r.join(" ")});return i}
|