@shoplineos/cli 0.0.0 → 1.0.0-rc.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.
Files changed (218) hide show
  1. package/bin/index.js +3 -0
  2. package/dist/commands/auth/index.js +1 -0
  3. package/dist/commands/auth/login.js +1 -0
  4. package/dist/commands/auth/logout.js +1 -0
  5. package/dist/commands/auth/whoami.js +1 -0
  6. package/dist/commands/extension/build.js +1 -0
  7. package/dist/commands/extension/common-options.js +1 -0
  8. package/dist/commands/extension/connect.js +1 -0
  9. package/dist/commands/extension/create.js +2 -0
  10. package/dist/commands/extension/index.js +1 -0
  11. package/dist/commands/extension/push.js +1 -0
  12. package/dist/commands/extension/serve.js +1 -0
  13. package/dist/commands/extension/tunnel.js +1 -0
  14. package/dist/commands/index.js +1 -0
  15. package/dist/commands/report.js +1 -0
  16. package/dist/commands/theme/check.js +1 -0
  17. package/dist/commands/theme/console.js +1 -0
  18. package/dist/commands/theme/index.js +1 -0
  19. package/dist/commands/theme/init.js +2 -0
  20. package/dist/commands/theme/list.js +1 -0
  21. package/dist/commands/theme/package.js +1 -0
  22. package/dist/commands/theme/pull.js +1 -0
  23. package/dist/commands/theme/push.js +1 -0
  24. package/dist/commands/theme/serve.js +1 -0
  25. package/dist/commands/theme/theme-common-options.js +1 -0
  26. package/dist/eventlistener.d.js +1 -0
  27. package/dist/helpers/config.js +1 -0
  28. package/dist/helpers/open-admin-url.js +1 -0
  29. package/dist/helpers/report.js +1 -0
  30. package/dist/helpers/sentry.js +1 -0
  31. package/dist/helpers/sum.js +1 -0
  32. package/dist/helpers/verify-login.js +1 -0
  33. package/dist/services/dev-server/index.js +9 -0
  34. package/dist/services/dev-server/socket.js +1 -0
  35. package/dist/services/dev-server/sse.js +6 -0
  36. package/dist/services/dev-server/web/socket-client.js +1 -0
  37. package/dist/services/dev-server-3/index.js +1 -0
  38. package/dist/services/dev-server-3/server.js +9 -0
  39. package/dist/services/dev-server-3/sse.js +6 -0
  40. package/dist/services/dev-server-3/web/socket-client.js +1 -0
  41. package/dist/services/extension/api.js +4 -0
  42. package/dist/services/extension/check-extension-version.js +1 -0
  43. package/dist/services/extension/clone-repo.js +1 -0
  44. package/dist/services/extension/connect/context.js +1 -0
  45. package/dist/services/extension/connect/index.js +1 -0
  46. package/dist/services/extension/connect/validate.js +1 -0
  47. package/dist/services/extension/const.js +1 -0
  48. package/dist/services/extension/context.js +1 -0
  49. package/dist/services/extension/create/index.js +1 -0
  50. package/dist/services/extension/create.js +1 -0
  51. package/dist/services/extension/ensure-project-type.js +1 -0
  52. package/dist/services/extension/env.js +1 -0
  53. package/dist/services/extension/extension.js +1 -0
  54. package/dist/services/extension/functions/generate.js +1 -0
  55. package/dist/services/extension/functions/info.js +1 -0
  56. package/dist/services/extension/functions/push.js +8 -0
  57. package/dist/services/extension/functions/schemas.js +1 -0
  58. package/dist/services/extension/generate.js +1 -0
  59. package/dist/services/extension/index.js +1 -0
  60. package/dist/services/extension/inquirer.js +1 -0
  61. package/dist/services/extension/loader.js +1 -0
  62. package/dist/services/extension/openapi.js +1 -0
  63. package/dist/services/extension/push/build.js +1 -0
  64. package/dist/services/extension/push/checkout-ui.js +1 -0
  65. package/dist/services/extension/push/index.js +1 -0
  66. package/dist/services/extension/push/show.js +1 -0
  67. package/dist/services/extension/push/theme.js +1 -0
  68. package/dist/services/extension/push/zip.js +1 -0
  69. package/dist/services/extension/push.js +1 -0
  70. package/dist/services/extension/register.js +1 -0
  71. package/dist/services/extension/resolve-env.js +1 -0
  72. package/dist/services/extension/schemas.js +1 -0
  73. package/dist/services/extension/serve/bundler.js +1 -0
  74. package/dist/services/extension/serve/extension.js +1 -0
  75. package/dist/services/extension/serve/localization.js +1 -0
  76. package/dist/services/extension/serve/models.js +1 -0
  77. package/dist/services/extension/serve/payload.js +1 -0
  78. package/dist/services/extension/serve/server/middlewares.js +1 -0
  79. package/dist/services/extension/serve/server.js +1 -0
  80. package/dist/services/extension/serve/websocket/handlers.js +5 -0
  81. package/dist/services/extension/serve/websocket/models.js +1 -0
  82. package/dist/services/extension/serve/websocket.js +1 -0
  83. package/dist/services/extension/serve.js +1 -0
  84. package/dist/services/extension/tunnel/cloudflared.js +1 -0
  85. package/dist/services/extension/tunnel/install-cloudflared.js +1 -0
  86. package/dist/services/extension/tunnel.js +3 -0
  87. package/dist/services/extension/types.js +1 -0
  88. package/dist/services/extension/utils.js +1 -0
  89. package/dist/services/extension/validate.js +3 -0
  90. package/dist/services/extension/write-env-file.js +1 -0
  91. package/dist/services/extension/zip.js +1 -0
  92. package/dist/services/extension/zip3.js +1 -0
  93. package/dist/services/identity-auth/api.js +1 -0
  94. package/dist/services/identity-auth/client/index.html +34 -0
  95. package/dist/services/identity-auth/client/style.css +58 -0
  96. package/dist/services/identity-auth/const.js +1 -0
  97. package/dist/services/identity-auth/create-server.js +1 -0
  98. package/dist/services/identity-auth/index.js +1 -0
  99. package/dist/services/identity-auth/store-enter.js +1 -0
  100. package/dist/services/report/index.js +1 -0
  101. package/dist/services/theme/3.0/api.js +1 -0
  102. package/dist/services/theme/3.0/file.js +1 -0
  103. package/dist/services/theme/3.0/package.js +1 -0
  104. package/dist/services/theme/3.0/pull.js +1 -0
  105. package/dist/services/theme/3.0/push.js +1 -0
  106. package/dist/services/theme/3.0/remote-watcher.js +1 -0
  107. package/dist/services/theme/3.0/theme.js +7 -0
  108. package/dist/services/theme/api.js +1 -0
  109. package/dist/services/theme/check/check.js +7 -0
  110. package/dist/services/theme/check/config.js +1 -0
  111. package/dist/services/theme/check/exception.js +1 -0
  112. package/dist/services/theme/check/index.js +1 -0
  113. package/dist/services/theme/check/types.js +1 -0
  114. package/dist/services/theme/checksum.js +1 -0
  115. package/dist/services/theme/choose-theme-list.js +1 -0
  116. package/dist/services/theme/console/api.js +1 -0
  117. package/dist/services/theme/console/console.js +8 -0
  118. package/dist/services/theme/console/index.js +1 -0
  119. package/dist/services/theme/const.js +1 -0
  120. package/dist/services/theme/draft.js +1 -0
  121. package/dist/services/theme/file.js +1 -0
  122. package/dist/services/theme/git.js +1 -0
  123. package/dist/services/theme/index.js +7 -0
  124. package/dist/services/theme/inquirer.js +1 -0
  125. package/dist/services/theme/no-second-check.js +1 -0
  126. package/dist/services/theme/operation.js +1 -0
  127. package/dist/services/theme/package.js +1 -0
  128. package/dist/services/theme/pull.js +1 -0
  129. package/dist/services/theme/push.js +1 -0
  130. package/dist/services/theme/remote-watcher.js +1 -0
  131. package/dist/services/theme/types.d.js +1 -0
  132. package/dist/services/theme/types.js +1 -0
  133. package/dist/services/theme/update-queue.js +1 -0
  134. package/dist/services/theme/update.js +1 -0
  135. package/dist/services/theme/uploader.js +1 -0
  136. package/dist/services/theme/utils.js +1 -0
  137. package/dist/type.d.js +1 -0
  138. package/dist/types/env.d.js +1 -0
  139. package/dist/types/type.d.js +1 -0
  140. package/dist/utils/abort.js +1 -0
  141. package/dist/utils/check-theme-type-version.js +1 -0
  142. package/dist/utils/check-update.js +6 -0
  143. package/dist/utils/colors.js +1 -0
  144. package/dist/utils/const.js +1 -0
  145. package/dist/utils/content-tokens.js +3 -0
  146. package/dist/utils/debug.js +1 -0
  147. package/dist/utils/decorators.js +1 -0
  148. package/dist/utils/environments.js +1 -0
  149. package/dist/utils/error.js +1 -0
  150. package/dist/utils/exit-hook.js +1 -0
  151. package/dist/utils/find-up-node-module.js +1 -0
  152. package/dist/utils/format-protocol.js +1 -0
  153. package/dist/utils/fs.js +1 -0
  154. package/dist/utils/get-objects-diff.js +1 -0
  155. package/dist/utils/get-real-referer.js +1 -0
  156. package/dist/utils/get-store-env.js +1 -0
  157. package/dist/utils/get-url-handle.js +1 -0
  158. package/dist/utils/git.js +1 -0
  159. package/dist/utils/has-command.js +1 -0
  160. package/dist/utils/hbs.js +1 -0
  161. package/dist/utils/http.js +1 -0
  162. package/dist/utils/ignore-filter.js +1 -0
  163. package/dist/utils/import-esm.js +1 -0
  164. package/dist/utils/include-filter.js +1 -0
  165. package/dist/utils/load-local-preset.js +1 -0
  166. package/dist/utils/local.js +1 -0
  167. package/dist/utils/logger.js +1 -0
  168. package/dist/utils/messages.js +13 -0
  169. package/dist/utils/misc.js +1 -0
  170. package/dist/utils/node-package-manager.js +1 -0
  171. package/dist/utils/ora-manager.js +1 -0
  172. package/dist/utils/os.js +1 -0
  173. package/dist/utils/output.js +1 -0
  174. package/dist/utils/parse-options.js +1 -0
  175. package/dist/utils/path-matcher.js +1 -0
  176. package/dist/utils/path.js +1 -0
  177. package/dist/utils/print-preview.js +1 -0
  178. package/dist/utils/program.js +1 -0
  179. package/dist/utils/replace-dot.js +1 -0
  180. package/dist/utils/replace-top-level-com.js +1 -0
  181. package/dist/utils/retry.js +1 -0
  182. package/dist/utils/schema.js +1 -0
  183. package/dist/utils/string.js +1 -0
  184. package/dist/utils/system.js +1 -0
  185. package/dist/utils/tcp.js +1 -0
  186. package/dist/utils/tiny-queue.js +1 -0
  187. package/dist/utils/toml.js +1 -0
  188. package/dist/utils/tree-kill.js +1 -0
  189. package/dist/utils/ui/Tasks.js +1 -0
  190. package/dist/utils/ui/alert.js +1 -0
  191. package/dist/utils/ui/components/Alert.js +1 -0
  192. package/dist/utils/ui/components/Banner.js +1 -0
  193. package/dist/utils/ui/components/Command.js +1 -0
  194. package/dist/utils/ui/components/ConcurrentOutput.js +1 -0
  195. package/dist/utils/ui/components/FatalError.js +1 -0
  196. package/dist/utils/ui/components/FilePath.js +1 -0
  197. package/dist/utils/ui/components/Link.js +1 -0
  198. package/dist/utils/ui/components/List.js +1 -0
  199. package/dist/utils/ui/components/Prompts/InfoTable.js +1 -0
  200. package/dist/utils/ui/components/SelectInput.js +1 -0
  201. package/dist/utils/ui/components/SelectPrompt.js +1 -0
  202. package/dist/utils/ui/components/Subdued.js +1 -0
  203. package/dist/utils/ui/components/TextAnimation.js +1 -0
  204. package/dist/utils/ui/components/TextInput.js +1 -0
  205. package/dist/utils/ui/components/TextPrompt.js +1 -0
  206. package/dist/utils/ui/components/TokenizedText.js +1 -0
  207. package/dist/utils/ui/components/UserInput.js +1 -0
  208. package/dist/utils/ui/contexts/LinksContext.js +1 -0
  209. package/dist/utils/ui/hooks/use-async-and-unmount.js +1 -0
  210. package/dist/utils/ui/hooks/use-layout.js +1 -0
  211. package/dist/utils/ui/render.js +1 -0
  212. package/dist/utils/ui/ui.js +1 -0
  213. package/dist/utils/ui/utilities.js +1 -0
  214. package/dist/utils/ui.js +1 -0
  215. package/dist/utils/winston/index.js +1 -0
  216. package/dist/utils/winston/log-file.js +2 -0
  217. package/dist/utils/write-file-tree.js +1 -0
  218. package/package.json +125 -4
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>r});const e=require("ink"),t=require("react");function r(r,{onFulfilled:u=()=>{},onRejected:c=()=>{}}){let{exit:i}=(0,e.useApp)();(0,t.useEffect)(()=>{r().then(()=>{u(),i()}).catch(e=>{c(e),i(e)})},[])}
@@ -0,0 +1 @@
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,{default:()=>r,calculateLayout:()=>n});const e=require("ink"),t=require("react");function r(){let{stdout:r}=(0,e.useStdout)(),[u,i]=(0,t.useState)(n(r));return(0,t.useEffect)(()=>{if(r)return r.on("resize",e),()=>{r.off("resize",e)};function e(){i(n(r))}},[]),u}function n(e){var t;let r=null!==(t=null==e?void 0:e.columns)&&void 0!==t?t:80,n=r,i=r;return r<=20?(r=20,n=20,i=20):r>80&&(n=u({fullWidth:r,fraction:[1,3],minWidth:80}),i=u({fullWidth:r,fraction:[2,3],minWidth:80})),{fullWidth:r,oneThird:n,twoThirds:i}}function u({fullWidth:e,fraction:t,minWidth:r}){let n=Math.floor(e/t[1]*t[0]);return n<r?r:n}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(exports,{renderInfo:()=>u,renderSuccess:()=>a,renderWarning:()=>c,renderFatalError:()=>i});const e=function(e){return e&&e.__esModule?e:{default:e}}(require("react")),r=require("./alert"),t=require("./components/FatalError"),n=require("../output"),o=require("./ui");function u(e){return(0,r.alert)({...e,type:"info"})}function a(e){return(0,r.alert)({...e,type:"success"})}function c(e){return(0,r.alert)({...e,type:"warning"})}function i(r,{renderOptions:u}={}){return(0,o.renderOnce)(e.default.createElement(t.FatalError,{error:r}),{logLevel:"error",logger:n.consoleError,renderOptions:u})}
@@ -0,0 +1 @@
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,{newListr:()=>h,handleCtrlC:()=>C,OutputStream:()=>v,renderString:()=>w,renderOnce:()=>b,render:()=>q,renderTasks:()=>O,renderTextPrompt:()=>x,renderSelectPrompt:()=>P,renderConcurrent:()=>S});const e=require("listr2"),t=require("ink"),r=f(require("tree-kill")),n=f(require("react")),o=f(require("events")),u=require("os"),i=require("../abort"),s=require("./Tasks"),l=require("../local"),c=require("../output"),a=require("./components/SelectPrompt"),d=require("./components/TextPrompt"),m=require("./components/ConcurrentOutput");function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){return e&&e.__esModule?e:{default:e}}function h(t,r){return new e.Listr(t,{concurrent:!1,exitOnError:!0,rendererSilent:(0,l.isUnitTest)(),...r})}function C(e,t){"c"===e&&t.ctrl&&(0,r.default)(process.pid,"SIGINT")}class v extends o.default{constructor(e){var t,r;super(),p(this,"columns",void 0),p(this,"rows",void 0),p(this,"frames",[]),p(this,"_lastFrame",void 0),p(this,"write",e=>{this.frames.push(e),this._lastFrame=e}),p(this,"lastFrame",()=>this._lastFrame),this.columns=null!==(t=e.columns)&&void 0!==t?t:80,this.rows=null!==(r=e.rows)&&void 0!==r?r:80}}const w=(e,r)=>{var n,o;let u=null!==(n=null==r?void 0:r.stdout)&&void 0!==n?n:new v({columns:process.stdout.columns}),i=null!==(o=null==r?void 0:r.stderr)&&void 0!==o?o:new v({columns:process.stderr.columns}),s=(0,t.render)(e,{stdout:u,stderr:i,debug:!0,exitOnCtrlC:!1,patchConsole:!1});return{output:u.lastFrame(),unmount:s.unmount}};function b(e,{logLevel:t="info",logger:r=c.consoleLog,renderOptions:n}){let{output:o,unmount:u}=w(e,n);return o&&((0,l.isUnitTest)()&&(0,c.collectLog)(t,o),(0,c.outputWhereAppropriate)(t,r,o)),u(),o}function q(e,r){let{waitUntilExit:n}=(0,t.render)(e,r);return n()}async function O(e,{renderOptions:t}={}){return new Promise("win32"===(0,u.platform)()?(t,r)=>{h(e).run().then(t).catch(r)}:(r,o)=>{q(n.default.createElement(s.Tasks,{tasks:e,onComplete:r}),{...t,exitOnCtrlC:!1}).catch(o)})}function x({renderOptions:e,...t}){return new Promise((r,o)=>{q(n.default.createElement(d.TextPrompt,{...t,onSubmit:e=>r(e)}),{...e,exitOnCtrlC:!1}).catch(o)})}function P({renderOptions:e,...t}){return new Promise((r,o)=>{q(n.default.createElement(a.SelectPrompt,{...t,onSubmit:e=>r(e)}),{...e,exitOnCtrlC:!1}).catch(o)})}async function S({renderOptions:e,...t}){let r={abortController:new i.AbortController,...t};return q(n.default.createElement(m.ConcurrentOutput,r),{...e,exitOnCtrlC:void 0===t.onInput})}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"messageWithPunctuation",{enumerable:!0,get:()=>t});const e=require("./components/TokenizedText");function t(t){let n=(0,e.tokenItemToString)(t);return n.endsWith("?")||n.endsWith(":")?t:(0,e.appendToTokenItem)(t,":")}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"newListr",{enumerable:!0,get:()=>r});const e=require("listr2");function r(r,t){return new e.Listr(r,{concurrent:!1,exitOnError:!0,...t})}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>p});const e=require("nanoid"),t=h(require("dayjs")),i=require("fs/promises"),a=h(require("archiver")),o=require("ci-info"),r=require("../../services/extension/utils"),l=require("../path"),s=require("./log-file"),n=require("../fs"),u=require("../error"),d=h(require("../exit-hook")),c=require("../output"),g=require("../local"),f=h(require("../../helpers/sentry"));function m(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function h(e){return e&&e.__esModule?e:{default:e}}class p{static getTraceId(){return p.traceId}static generateRandomId(t=10){let i=(0,e.customAlphabet)("1234567890abcdef",t);return i()}static setCommand(e){p.fullCommand=e}static getInstance(){if(p.fileLoggerInstance)return p.fileLoggerInstance;let e=new p;return p.fileLoggerInstance=e,e}static logHttp(e){var t,i;let a=`[${e.type}:${null===(t=e.method)||void 0===t?void 0:t.toUpperCase()}:`;if("request"===e.type){if(a+=`${e.url}]: `,e.params){let t=JSON.stringify(e.params);t.length<p.maxHttpRequestParamsLength&&(a+=t)}p.log(a)}else a+=`${e.status}:${e.url}]: `,e.traceId?a+=`trace_id: ${e.traceId}`:(null===(i=e.status)||void 0===i?void 0:i.toString().startsWith("30"))&&(a+=""),p.log(a)}static logError(e,t){try{let t="error: ";if(e instanceof u.AbortError)t+=`${e.message} tryMessage: ${e.tryMessage}`;else if("string"==typeof e)t+=e;else{var i;t+=null!==(i=null==e?void 0:e.message)&&void 0!==i?i:"Unknown error"}p.log((0,c.unstyled)(t))}finally{"function"==typeof t&&p.getInstance().close(t)}}static log(e){try{let t=p.getInstance();t.log(e)}catch(e){}}static close(e){try{let t=p.getInstance();t.close(e)}catch(e){}}static async removeOldLogFiles(){try{await p.deleteOldLogFiles()}catch(e){}}static async deleteOldLogFiles(){if(!(0,n.pathExists)(s.LogFile.logRootPath))return;let e=(0,t.default)().subtract(p.maxLogRetentionDays,"day"),a=await (0,i.readdir)(s.LogFile.logRootPath);for await(let i of a){let a=(0,l.joinPath)(s.LogFile.logRootPath,i),o=await (0,n.isDirectory)(a);o&&(0,t.default)(i).isValid()&&(0,t.default)(i).isBefore(e)&&await (0,n.rmdir)(a,{force:!0})}}static async getLogFileByPath(e,a){let o=await (0,i.readdir)(s.LogFile.logRootPath);if(0===o.length){(0,c.outputWarn)((0,c.outputContent)`No log files found in ${c.outputToken.path(s.LogFile.logRootPath)}`);return}let r=s.LogFile.getPathHash(e),u=`${r}.zip`,d=[],g=o.filter(e=>(0,t.default)(e).isValid()&&(0,t.default)().diff((0,t.default)(e),"day")<a);for await(let e of g)if(await (0,n.isDirectory)((0,l.joinPath)(s.LogFile.logRootPath,e))){let t=(0,l.joinPath)(s.LogFile.logRootPath,e),a=await (0,i.readdir)(t),o=a.filter(e=>e.includes(r));if(o.length>0){let t=o.map(t=>(0,l.joinPath)(e,t));d.push(...t)}}if(0===d.length){(0,c.outputWarn)((0,c.outputContent)`No matched log files found in ${c.outputToken.path(s.LogFile.logRootPath)}`);return}let f=await (0,n.mkTmpDir)(),m=(0,l.joinPath)(f,u),h=d.map(e=>(0,l.joinPath)(s.LogFile.logRootPath,e)).filter(e=>(0,n.fileExistsSync)(e));return await p.reportLogFiles(h),await p.zipFiles(h,m),m}static async reportLogFiles(e){f.default.withScope(async t=>{for await(let i of e){let e=(0,l.basename)((0,l.dirname)(i)),a=await (0,n.readFile)(i);t.addAttachment({filename:`${e}.log`,data:a})}t.setTag("date_time",Date.now()),t.setTag("date_human",(0,r.formatTime)()),t.setTag("time_zone",new Date().getTimezoneOffset()),t.captureMessage("User reports log files manually")})}static async zipFiles(e,t){return new Promise((i,o)=>{let r=(0,a.default)("zip"),u=(0,n.createFileWriteStream)(t);for(let t of(u.on("close",()=>i()),r.on("error",e=>o(e)),r.pipe(u),e)){let e=(0,l.relativePath)(s.LogFile.logRootPath,t);r.file(t,{name:e})}r.finalize()})}bindExitHook(){(0,d.default)(()=>{this.logFile.close()})}log(e){if(o.isCI||(0,g.isUnitTest)())return;let t=this.formatMessage(e);this.logFile.write(t)}close(e){this.logFile.close(e)}formatMessage(e){let t=new Date,i=`[${(0,r.formatTime)(t.getTime())} UTC ${t.getTimezoneOffset()}]`,a=`[PID:${process.pid}]`,o=`[traceId:${p.traceId}]`,l=`[${this.command}]`;return[i,a,o,l," ",e].join("")}constructor(e){var t,i;m(this,"cwd",void 0),m(this,"command",void 0),m(this,"maxFileSize",2097152),m(this,"logFile",void 0),this.cwd=null!==(t=null==e?void 0:e.cwd)&&void 0!==t?t:(0,l.cwd)(),this.command=null!==(i=null==e?void 0:e.command)&&void 0!==i?i:p.fullCommand,this.logFile=new s.LogFile({cwd:this.cwd,maxFileSize:this.maxFileSize}),this.bindExitHook()}}m(p,"maxHttpRequestParamsLength",100),m(p,"maxLogRetentionDays",15),m(p,"traceId",p.generateRandomId()),m(p,"fullCommand",void 0),m(p,"fileLoggerInstance",null);
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LogFile",{enumerable:!0,get:()=>c});const e=o(require("crypto")),i=o(require("events")),t=o(require("os")),r=require("util"),s=require("../../services/extension/utils"),l=require("../path"),n=require("../fs");function h(e,i,t){return i in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}function o(e){return e&&e.__esModule?e:{default:e}}class c extends i.default{static get logPath(){let e=(0,s.formatTime)(Date.now(),"{yyyy}-{MM}-{dd}");return(0,l.joinPath)(c.logRootPath,e)}static get logRootPath(){let e=t.default.homedir();return(0,l.joinPath)(e,"logs","shopline-cli")}static createFile(e){let i=(0,l.dirname)(e);(0,n.mkdirSync)(i),(0,n.touchFileSync)(e)}static getPathHash(i){return e.default.createHash("sha256").update(i).digest("hex")}write(e){if(this.findOrCreateFile(),this.fs){let i=(0,r.promisify)(this.fs.write).bind(this.fs);c.currentFileWritePromise=c.currentFileWritePromise.then(()=>{var t;return(null===(t=this.fs)||void 0===t?void 0:t.writable)?i(`${e}
2
+ `):Promise.resolve()}).catch(()=>{})}}close(e){this.fs?c.currentFileWritePromise.then(()=>{var i;return null===(i=this.fs)||void 0===i?void 0:i.close(e)}).catch(()=>{}):null==e||e()}findOrCreateFile(){c.createFile(this.currentFile),this.currentFileSize=this.fileSize,this.shouldCreateNewLog()&&(this.close(),this.createNewLogFile()),this.fs=(0,n.createFileWriteStream)(this.currentFile,{flags:"a"}),this.bubbleEvents(this.fs,this.currentFile)}bubbleEvents(e,i){e.on("close",()=>{this.emit("close")}),e.on("finish",()=>{this.emit("finish")}),e.on("error",e=>{this.emit("error",e)}),e.on("open",()=>{this.emit("open",i)})}createNewLogFile(){this.currentFileIndex+=1,this.currentFileSize=0,this.currentFile=this.getLogFile(`${this.cwdHash}-${this.currentFileIndex}.log`),c.createFile(this.currentFile)}getLogFile(e=`${this.cwdHash}.log`){return(0,l.joinPath)(c.logPath,e)}shouldCreateNewLog(){return this.currentFileSize>=this.maxFileSize}get fileSize(){return(0,n.fileExistsSync)(this.currentFile)?(0,n.fileSizeSync)(this.currentFile):0}get cwdHash(){return c.getPathHash(this.cwd)}constructor(e){super(),h(this,"cwd",void 0),h(this,"fs",void 0),h(this,"currentFile",void 0),h(this,"currentFileSize",void 0),h(this,"currentFileIndex",void 0),h(this,"maxFileSize",void 0),this.cwd=e.cwd,this.maxFileSize=e.maxFileSize,this.currentFile=this.getLogFile(),this.currentFileSize=this.fileSize,this.currentFileIndex=0}}h(c,"currentFileWritePromise",Promise.resolve());
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>u});const e=r(require("path")),t=r(require("fs-extra"));function r(e){return e&&e.__esModule?e:{default:e}}async function u(r,u){Object.keys(u).forEach(n=>{let a=e.default.join(r,n);t.default.ensureDirSync(e.default.dirname(a)),t.default.writeFileSync(a,u[n])})}
package/package.json CHANGED
@@ -1,8 +1,129 @@
1
1
  {
2
2
  "name": "@shoplineos/cli",
3
- "version": "0.0.0",
4
- "publishConfig": {
5
- "access": "public",
6
- "registry": "https://registry.npmjs.org/"
3
+ "version": "1.0.0-rc.0",
4
+ "description": "A CLI tool to build for the Shopline platform",
5
+ "bin": {
6
+ "sl": "./bin/index.js"
7
+ },
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "lint": "eslint src/*",
13
+ "test:npmjs": "pnpm compile:swc:npmjs --is-test && cross-env BUILD_MODE=npmjs jest",
14
+ "compile:swc:npmjs": "zx scripts/genConf.mjs --dot-env npmjs",
15
+ "watch:npmjs": "cross-env MODE=watch pnpm build:npmjs --watch",
16
+ "build:npmjs": "pnpm compile:swc:npmjs && zx scripts/build.mjs --dot-env npmjs",
17
+ "release:npmjs": "zx scripts/release.mjs --npm-registry npmjs",
18
+ "compile:swc:inshopline": "zx scripts/genConf.mjs --dot-env inshopline",
19
+ "test:inshopline": "pnpm compile:swc:inshopline --is-test && cross-env BUILD_MODE=inshopline jest",
20
+ "watch:inshopline": "cross-env MODE=watch pnpm build:inshopline --watch",
21
+ "build:inshopline": "pnpm compile:swc:inshopline && zx scripts/build.mjs --dot-env=inshopline",
22
+ "release:inshopline": "zx scripts/release.mjs --npm-registry inshopline",
23
+ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
24
+ "upload:sourcemaps": "zx scripts/upload-source-maps.mjs --npm-registry npmjs"
25
+ },
26
+ "repository": {
27
+ "type": "git"
28
+ },
29
+ "engines": {
30
+ "node": ">=14.0.0"
31
+ },
32
+ "keywords": [],
33
+ "author": "",
34
+ "license": "ISC",
35
+ "dependencies": {
36
+ "@iarna/toml": "^2.2.5",
37
+ "@koa/router": "^10.1.1",
38
+ "@nozomuikuta/h3-cors": "^0.2.2",
39
+ "@sentry/cli": "^2.31.2",
40
+ "@sentry/node": "^8.7.0",
41
+ "@sentry/tracing": "^7.114.0",
42
+ "@shoplinedev/theme-check": "1.12.0",
43
+ "abort-controller": "^3.0.0",
44
+ "adm-zip": "^0.5.9",
45
+ "ansi-escapes": "4.3.2",
46
+ "archiver": "^5.3.1",
47
+ "axios": "^0.24.0",
48
+ "chalk": "^4.1.2",
49
+ "cheerio": "^1.0.0-rc.10",
50
+ "chokidar": "^3.5.2",
51
+ "ci-info": "^4.0.0",
52
+ "cli-progress": "^3.9.1",
53
+ "color-json": "^2.0.1",
54
+ "commander": "^8.3.0",
55
+ "commondir": "^1.0.1",
56
+ "configstore": "^5.0.0",
57
+ "dayjs": "^1.11.10",
58
+ "debug": "^4.3.4",
59
+ "del": "6.1.1",
60
+ "diff": "^5.1.0",
61
+ "domutils": "3.1.0",
62
+ "dotenv": "^16.0.1",
63
+ "enquirer": "^2.3.6",
64
+ "execa": "5.1",
65
+ "exit-hook": "^4.0.0",
66
+ "fast-glob": "^3.2.7",
67
+ "figures": "3.2.0",
68
+ "filesize": "^9.0.1",
69
+ "find-up": "<6",
70
+ "form-data": "^4.0.0",
71
+ "fs-extra": "^10.0.0",
72
+ "get-port-please": "^3.0.1",
73
+ "gradient-string": "^2.0.2",
74
+ "h3": "^1.6.4",
75
+ "handlebars": "^4.7.7",
76
+ "htmlparser2": "^9.0.0",
77
+ "ink": "^3.2.0",
78
+ "inquirer": "8.2.5",
79
+ "jiti": "^1.18.2",
80
+ "js-yaml": "^4.1.0",
81
+ "killable": "^1.0.1",
82
+ "koa": "^2.13.4",
83
+ "koa-body": "^6.0.1",
84
+ "koa-bodyparser": "^4.3.0",
85
+ "koa-ejs": "^4.3.0",
86
+ "koa-send": "^5.0.1",
87
+ "light-date": "^1.2.0",
88
+ "listr2": "^5.0.5",
89
+ "lodash": "^4.17.21",
90
+ "micromatch": "^4.0.5",
91
+ "mime": "^3.0.0",
92
+ "multimatch": "^6.0.0",
93
+ "nanoid": "^3.3.4",
94
+ "node-abort-controller": "^3.1.1",
95
+ "node-fetch": "^3.3.2",
96
+ "node-fetch-native": "^1.0.2",
97
+ "open": "^8.4.0",
98
+ "ora": "<6",
99
+ "pathe": "^1.1.0",
100
+ "progress": "^2.0.3",
101
+ "promise.any": "^2.0.5",
102
+ "qs": "^6.10.2",
103
+ "react": "^17.0.2",
104
+ "simple-git": "^2.48.0",
105
+ "socket.io": "^4.4.0",
106
+ "stacktracey": "^2.1.8",
107
+ "strip-ansi": "6.0",
108
+ "supports-hyperlinks": "^3.0.0",
109
+ "tempy": "1.0.1",
110
+ "terminal-link": "2.1",
111
+ "tree-kill": "^1.2.2",
112
+ "ts-error": "^1.0.6",
113
+ "update-notifier": "5.1",
114
+ "uuid": "^8.3.2",
115
+ "ws": "^8.13.0",
116
+ "yaml": "^2.3.4",
117
+ "zod": "^3.21.4"
118
+ },
119
+ "lint-staged": {
120
+ "**/*.{mjs,cjs,ts,js}": [
121
+ "eslint --fix",
122
+ "prettier --write"
123
+ ]
124
+ },
125
+ "resolutions": {
126
+ "@types/koa": "*",
127
+ "@sentry-internal/tracing": "*"
7
128
  }
8
129
  }