shoplazza-cli 1.1.2 → 2.0.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 (400) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +206 -332
  4. package/README.zh.md +318 -0
  5. package/package.json +24 -70
  6. package/scripts/install.js +144 -0
  7. package/scripts/jsbuild/dev/index.js +123 -0
  8. package/scripts/jsbuild/index.js +77 -0
  9. package/{lib/checkout/build → scripts/jsbuild}/plugin/vite-plugin-add-extension-id.js +4 -2
  10. package/scripts/jsbuild/vite.config.js +35 -0
  11. package/scripts/run.js +29 -0
  12. package/.editorconfig +0 -28
  13. package/.prettierrc +0 -9
  14. package/bin/shoplazza +0 -137
  15. package/fixtures/assets/blog.scss +0 -74
  16. package/fixtures/assets/cart_modal.scss +0 -450
  17. package/fixtures/assets/collection_detail.js +0 -234
  18. package/fixtures/assets/collection_detail.scss +0 -345
  19. package/fixtures/assets/collection_list.scss +0 -11
  20. package/fixtures/assets/collection_slider.scss +0 -169
  21. package/fixtures/assets/feature_columns.scss +0 -26
  22. package/fixtures/assets/feature_product.scss +0 -109
  23. package/fixtures/assets/footer.js +0 -58
  24. package/fixtures/assets/footer.scss +0 -337
  25. package/fixtures/assets/four_images.scss +0 -29
  26. package/fixtures/assets/gallery.scss +0 -55
  27. package/fixtures/assets/header.js +0 -178
  28. package/fixtures/assets/header.scss +0 -929
  29. package/fixtures/assets/image_text.scss +0 -72
  30. package/fixtures/assets/logo_bar.scss +0 -11
  31. package/fixtures/assets/newsletter.scss +0 -90
  32. package/fixtures/assets/not_found.scss +0 -39
  33. package/fixtures/assets/page_detail.scss +0 -16
  34. package/fixtures/assets/pagination.scss +0 -150
  35. package/fixtures/assets/postcss.config.js +0 -6
  36. package/fixtures/assets/product_description.scss +0 -88
  37. package/fixtures/assets/product_detail.js +0 -634
  38. package/fixtures/assets/product_detail.scss +0 -1106
  39. package/fixtures/assets/relative_product.scss +0 -45
  40. package/fixtures/assets/reviews.scss +0 -70
  41. package/fixtures/assets/rich_text.scss +0 -71
  42. package/fixtures/assets/search.js +0 -87
  43. package/fixtures/assets/search.scss +0 -67
  44. package/fixtures/assets/slide.scss +0 -51
  45. package/fixtures/assets/slider.scss +0 -141
  46. package/fixtures/assets/test.scss +0 -1
  47. package/fixtures/assets/theme.css +0 -976
  48. package/fixtures/assets/theme.scss +0 -1100
  49. package/fixtures/assets/three_images.scss +0 -20
  50. package/fixtures/assets/tools.scss +0 -23
  51. package/fixtures/assets/two_images.scss +0 -24
  52. package/fixtures/assets/video.scss +0 -45
  53. package/fixtures/assets/video_text.scss +0 -63
  54. package/fixtures/config/settings_data.json +0 -107
  55. package/fixtures/config/settings_schema.json +0 -690
  56. package/fixtures/layout/theme.liquid +0 -76
  57. package/fixtures/locales/ar-SA.json +0 -212
  58. package/fixtures/locales/de-DE.json +0 -290
  59. package/fixtures/locales/en-US.json +0 -290
  60. package/fixtures/locales/es-ES.json +0 -290
  61. package/fixtures/locales/fr-FR.json +0 -290
  62. package/fixtures/locales/id-ID.json +0 -212
  63. package/fixtures/locales/it-IT.json +0 -212
  64. package/fixtures/locales/ja-JP.json +0 -289
  65. package/fixtures/locales/ko-KR.json +0 -290
  66. package/fixtures/locales/nl-NL.json +0 -290
  67. package/fixtures/locales/pl-PL.json +0 -290
  68. package/fixtures/locales/pt-PT.json +0 -212
  69. package/fixtures/locales/ru-RU.json +0 -212
  70. package/fixtures/locales/th-TH.json +0 -212
  71. package/fixtures/locales/zh-CN.json +0 -290
  72. package/fixtures/locales/zh-TW.json +0 -290
  73. package/fixtures/sections/apps.liquid +0 -47
  74. package/fixtures/sections/blog.liquid +0 -137
  75. package/fixtures/sections/collection_desc.liquid +0 -34
  76. package/fixtures/sections/collection_detail.liquid +0 -436
  77. package/fixtures/sections/collection_image.liquid +0 -104
  78. package/fixtures/sections/collection_list.liquid +0 -161
  79. package/fixtures/sections/collection_name.liquid +0 -34
  80. package/fixtures/sections/collection_slider.liquid +0 -330
  81. package/fixtures/sections/feature_columns.liquid +0 -275
  82. package/fixtures/sections/feature_product.liquid +0 -227
  83. package/fixtures/sections/footer.liquid +0 -488
  84. package/fixtures/sections/four_images.liquid +0 -160
  85. package/fixtures/sections/gallery.liquid +0 -258
  86. package/fixtures/sections/header.liquid +0 -1157
  87. package/fixtures/sections/html.liquid +0 -40
  88. package/fixtures/sections/image_text.liquid +0 -350
  89. package/fixtures/sections/instagram_plus.liquid +0 -393
  90. package/fixtures/sections/logo_bar.liquid +0 -183
  91. package/fixtures/sections/newsletter.liquid +0 -225
  92. package/fixtures/sections/not_found.liquid +0 -39
  93. package/fixtures/sections/overlay_image.liquid +0 -648
  94. package/fixtures/sections/page_detail.liquid +0 -39
  95. package/fixtures/sections/photo_collection.liquid +0 -433
  96. package/fixtures/sections/product_description.liquid +0 -208
  97. package/fixtures/sections/product_detail.liquid +0 -611
  98. package/fixtures/sections/products.liquid +0 -216
  99. package/fixtures/sections/relative_product.liquid +0 -121
  100. package/fixtures/sections/reviews.liquid +0 -115
  101. package/fixtures/sections/rich_text.liquid +0 -157
  102. package/fixtures/sections/search.liquid +0 -163
  103. package/fixtures/sections/slide.liquid +0 -719
  104. package/fixtures/sections/three_images.liquid +0 -157
  105. package/fixtures/sections/two_images.liquid +0 -125
  106. package/fixtures/sections/video.liquid +0 -95
  107. package/fixtures/sections/video_text.liquid +0 -128
  108. package/fixtures/snippets/bgset.liquid +0 -21
  109. package/fixtures/snippets/card_title.liquid +0 -8
  110. package/fixtures/snippets/cart_modal.liquid +0 -74
  111. package/fixtures/snippets/collection.liquid +0 -77
  112. package/fixtures/snippets/collection_filter_modal.liquid +0 -56
  113. package/fixtures/snippets/default_image_4.liquid +0 -14
  114. package/fixtures/snippets/default_image_6.liquid +0 -18
  115. package/fixtures/snippets/default_image_8.liquid +0 -23
  116. package/fixtures/snippets/four_images_item.liquid +0 -8
  117. package/fixtures/snippets/header_ads.liquid +0 -95
  118. package/fixtures/snippets/hero_image.liquid +0 -94
  119. package/fixtures/snippets/icon_video_play_large.liquid +0 -1
  120. package/fixtures/snippets/icon_video_play_medium.liquid +0 -4
  121. package/fixtures/snippets/icon_video_play_small.liquid +0 -4
  122. package/fixtures/snippets/lazyimg.liquid +0 -22
  123. package/fixtures/snippets/lazyimg_art.liquid +0 -36
  124. package/fixtures/snippets/lazysizes.liquid +0 -41
  125. package/fixtures/snippets/link.liquid +0 -2
  126. package/fixtures/snippets/pagination.liquid +0 -48
  127. package/fixtures/snippets/product.liquid +0 -126
  128. package/fixtures/snippets/product_art_tpl.liquid +0 -152
  129. package/fixtures/snippets/product_info_body.liquid +0 -337
  130. package/fixtures/snippets/product_info_tpl.liquid +0 -423
  131. package/fixtures/snippets/product_label.liquid +0 -46
  132. package/fixtures/snippets/settings.liquid +0 -295
  133. package/fixtures/snippets/social-meta-tags.liquid +0 -106
  134. package/fixtures/snippets/video_html.liquid +0 -11
  135. package/fixtures/snippets/video_source.liquid +0 -98
  136. package/fixtures/snippets/video_thumb_icon.liquid +0 -2
  137. package/fixtures/templates/404.liquid +0 -1
  138. package/fixtures/templates/collection.liquid +0 -92
  139. package/fixtures/templates/index.liquid +0 -206
  140. package/fixtures/templates/page.liquid +0 -1
  141. package/fixtures/templates/product.liquid +0 -99
  142. package/fixtures/templates/search.liquid +0 -1
  143. package/jest.config.js +0 -192
  144. package/lib/__tests__/log.test.js +0 -15
  145. package/lib/__tests__/utils.test.js +0 -69
  146. package/lib/app/api/cli.js +0 -225
  147. package/lib/app/api/openapi.js +0 -121
  148. package/lib/app/api/partnerOpenapi.js +0 -104
  149. package/lib/app/bin/index.js +0 -20
  150. package/lib/app/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  151. package/lib/app/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  152. package/lib/app/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  153. package/lib/app/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  154. package/lib/app/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  155. package/lib/app/commands/config/actions/link.js +0 -189
  156. package/lib/app/commands/config/actions/use.js +0 -40
  157. package/lib/app/commands/config/index.js +0 -25
  158. package/lib/app/commands/config/link.js +0 -11
  159. package/lib/app/commands/config/use.js +0 -11
  160. package/lib/app/commands/deploy/actions/deploy.js +0 -196
  161. package/lib/app/commands/deploy/index.js +0 -11
  162. package/lib/app/commands/dev/actions/dev.js +0 -206
  163. package/lib/app/commands/dev/index.js +0 -11
  164. package/lib/app/commands/generate/actions/extension.js +0 -97
  165. package/lib/app/commands/generate/actions/generateCheckout.js +0 -58
  166. package/lib/app/commands/generate/actions/generateFunction.js +0 -56
  167. package/lib/app/commands/generate/actions/generateTheme.js +0 -128
  168. package/lib/app/commands/generate/extension.js +0 -11
  169. package/lib/app/commands/generate/index.js +0 -22
  170. package/lib/app/commands/index.js +0 -82
  171. package/lib/app/commands/info/actions/info.js +0 -168
  172. package/lib/app/commands/info/index.js +0 -11
  173. package/lib/app/commands/init/actions/init.js +0 -176
  174. package/lib/app/commands/init/index.js +0 -14
  175. package/lib/app/commands/versions/actions/list.js +0 -210
  176. package/lib/app/commands/versions/index.js +0 -22
  177. package/lib/app/commands/versions/list.js +0 -14
  178. package/lib/app/constant/code.js +0 -7
  179. package/lib/app/constant/color.js +0 -18
  180. package/lib/app/constant/extension.js +0 -16
  181. package/lib/app/constant/host.js +0 -23
  182. package/lib/app/constant/sso.js +0 -7
  183. package/lib/app/index.js +0 -8
  184. package/lib/app/services/auth/config.js +0 -33
  185. package/lib/app/services/auth/index.js +0 -9
  186. package/lib/app/services/auth/oauth-server.js +0 -70
  187. package/lib/app/services/auth/partner-token.js +0 -45
  188. package/lib/app/services/auth/sso-token.js +0 -69
  189. package/lib/app/services/auth/store-token.js +0 -100
  190. package/lib/app/services/auth/url-builder.js +0 -23
  191. package/lib/app/services/config/index.js +0 -41
  192. package/lib/app/services/devServer/app.js +0 -76
  193. package/lib/app/services/devServer/index.js +0 -103
  194. package/lib/app/services/devServer/middleware/hmacValidatorMiddleWare.js +0 -20
  195. package/lib/app/services/devServer/middleware/index.js +0 -5
  196. package/lib/app/services/devServer/tunnel/index.js +0 -43
  197. package/lib/app/services/devServer/tunnel/providers/cloudflare.js +0 -364
  198. package/lib/app/services/devServer/tunnel/providers/ngrok.js +0 -70
  199. package/lib/app/services/devServer/utils/index.js +0 -5
  200. package/lib/app/services/devServer/utils/secureCompare.js +0 -5
  201. package/lib/app/services/devServer/views/app.ejs +0 -133
  202. package/lib/app/services/extension-build/buildCheckout.js +0 -47
  203. package/lib/app/services/extension-build/buildFunction.js +0 -57
  204. package/lib/app/services/extension-build/buildTheme.js +0 -100
  205. package/lib/app/services/extension-build/index.js +0 -23
  206. package/lib/app/services/extension-build/plugins/vite-plugin-add-extension-id.js +0 -26
  207. package/lib/app/services/extension-diff/index.js +0 -132
  208. package/lib/app/services/extension-upsert/index.js +0 -21
  209. package/lib/app/services/extension-upsert/upsertCheckout.js +0 -44
  210. package/lib/app/services/extension-upsert/upsertFunction.js +0 -52
  211. package/lib/app/services/extension-upsert/upsertTheme.js +0 -113
  212. package/lib/app/services/oss/index.js +0 -45
  213. package/lib/app/services/partner/index.js +0 -52
  214. package/lib/app/store/base-store.js +0 -37
  215. package/lib/app/store/config-store.js +0 -55
  216. package/lib/app/store/config.js +0 -21
  217. package/lib/app/store/index.js +0 -14
  218. package/lib/app/store/install-store.js +0 -41
  219. package/lib/app/store/sso-store.js +0 -55
  220. package/lib/app/utils/asyncPool.js +0 -42
  221. package/lib/app/utils/debug/index.js +0 -16
  222. package/lib/app/utils/env.js +0 -24
  223. package/lib/app/utils/error.js +0 -20
  224. package/lib/app/utils/git.js +0 -20
  225. package/lib/app/utils/json.js +0 -27
  226. package/lib/app/utils/path.js +0 -33
  227. package/lib/app/utils/platform.js +0 -37
  228. package/lib/app/utils/request/cli.js +0 -72
  229. package/lib/app/utils/request/debug.js +0 -13
  230. package/lib/app/utils/request/openapi.js +0 -67
  231. package/lib/app/utils/request/partnerOpenapi.js +0 -47
  232. package/lib/app/utils/toml.js +0 -56
  233. package/lib/app/utils/views/message.js +0 -68
  234. package/lib/app/utils/views/select.js +0 -36
  235. package/lib/app/utils/withTempDir.js +0 -55
  236. package/lib/auth/__mocks__/getCode.js +0 -7
  237. package/lib/auth/__mocks__/index.js +0 -0
  238. package/lib/auth/child.js +0 -23
  239. package/lib/auth/getCode.js +0 -39
  240. package/lib/auth/index.js +0 -134
  241. package/lib/check.js +0 -28
  242. package/lib/checkout/api.js +0 -164
  243. package/lib/checkout/build/plugin/vite-plugin-transform-extension-html.js +0 -207
  244. package/lib/checkout/build/vite.config.js +0 -34
  245. package/lib/checkout/build.js +0 -38
  246. package/lib/checkout/config.js +0 -97
  247. package/lib/checkout/create.js +0 -132
  248. package/lib/checkout/delete.js +0 -26
  249. package/lib/checkout/deploy.js +0 -59
  250. package/lib/checkout/dev/index.js +0 -143
  251. package/lib/checkout/fields.js +0 -29
  252. package/lib/checkout/index.js +0 -63
  253. package/lib/checkout/preview.js +0 -52
  254. package/lib/checkout/pull.js +0 -22
  255. package/lib/checkout/push.js +0 -141
  256. package/lib/checkout/template/README.md +0 -34
  257. package/lib/checkout/template/_gitignore +0 -4
  258. package/lib/checkout/template/extension.config.js +0 -4
  259. package/lib/checkout/template/extensions/extension-template/extension.json +0 -10
  260. package/lib/checkout/template/extensions/extension-template/src/content.html +0 -3
  261. package/lib/checkout/template/extensions/extension-template/src/index.html +0 -5
  262. package/lib/checkout/template/extensions/extension-template/src/index.js +0 -11
  263. package/lib/checkout/template/extensions/extension-template/src/script.html +0 -3
  264. package/lib/checkout/template/extensions/extension-template/src/style.html +0 -3
  265. package/lib/checkout/template/package.json +0 -17
  266. package/lib/checkout/undeploy.js +0 -40
  267. package/lib/checkout/util.js +0 -201
  268. package/lib/checkout/verify.js +0 -16
  269. package/lib/checkout/version.js +0 -7
  270. package/lib/commands/__tests__/login.test.js +0 -77
  271. package/lib/commands/__tests__/logout.test.js +0 -29
  272. package/lib/commands/__tests__/store.test.js +0 -44
  273. package/lib/commands/__tests__/switch.test.js +0 -45
  274. package/lib/commands/login.js +0 -120
  275. package/lib/commands/logout.js +0 -23
  276. package/lib/commands/store.js +0 -14
  277. package/lib/commands/switch.js +0 -52
  278. package/lib/commands/theme/__tests__/delete.test.js +0 -49
  279. package/lib/commands/theme/__tests__/init.test.js +0 -21
  280. package/lib/commands/theme/__tests__/list.test.js +0 -80
  281. package/lib/commands/theme/__tests__/package.test.js +0 -17
  282. package/lib/commands/theme/__tests__/publish.test.js +0 -61
  283. package/lib/commands/theme/__tests__/pull.test.js +0 -69
  284. package/lib/commands/theme/__tests__/push.test.js +0 -63
  285. package/lib/commands/theme/__tests__/serve.test.js +0 -107
  286. package/lib/commands/theme/delete.js +0 -64
  287. package/lib/commands/theme/init.js +0 -51
  288. package/lib/commands/theme/list.js +0 -28
  289. package/lib/commands/theme/package.js +0 -37
  290. package/lib/commands/theme/publish.js +0 -56
  291. package/lib/commands/theme/pull.js +0 -62
  292. package/lib/commands/theme/push.js +0 -106
  293. package/lib/commands/theme/serve.js +0 -153
  294. package/lib/commands/theme/share.js +0 -20
  295. package/lib/commands/version.js +0 -6
  296. package/lib/common/constants.js +0 -24
  297. package/lib/common/db/partner.js +0 -91
  298. package/lib/common/inquirers/choose-app.js +0 -79
  299. package/lib/common/inquirers/choose-partner.js +0 -74
  300. package/lib/common/log.js +0 -15
  301. package/lib/common/login.js +0 -125
  302. package/lib/common/logout.js +0 -16
  303. package/lib/db/__mocks__/index.js +0 -9
  304. package/lib/db/__tests__/analytics.test.js +0 -19
  305. package/lib/db/__tests__/user.test.js +0 -20
  306. package/lib/db/analytics.js +0 -48
  307. package/lib/db/index.js +0 -9
  308. package/lib/db/user.js +0 -71
  309. package/lib/function/bin/index.js +0 -20
  310. package/lib/function/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  311. package/lib/function/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  312. package/lib/function/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  313. package/lib/function/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  314. package/lib/function/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  315. package/lib/function/commands/compile.js +0 -43
  316. package/lib/function/commands/create.js +0 -77
  317. package/lib/function/commands/list.js +0 -18
  318. package/lib/function/commands/release.js +0 -69
  319. package/lib/function/index.js +0 -24
  320. package/lib/function/template/js/README.md +0 -37
  321. package/lib/function/template/js/_gitignore +0 -4
  322. package/lib/function/template/js/extension.config.json +0 -5
  323. package/lib/function/template/js/package.json +0 -17
  324. package/lib/function/template/js/src/index.js +0 -64
  325. package/lib/function/utils.js +0 -29
  326. package/lib/log.js +0 -13
  327. package/lib/openAPI/__mocks__/index.js +0 -20
  328. package/lib/openAPI/api.js +0 -76
  329. package/lib/openAPI/index.js +0 -56
  330. package/lib/oss.js +0 -102
  331. package/lib/partner-api/axios.js +0 -67
  332. package/lib/partner-api/index.js +0 -79
  333. package/lib/report.js +0 -37
  334. package/lib/theme-extension/api/index.js +0 -96
  335. package/lib/theme-extension/commands/build.js +0 -114
  336. package/lib/theme-extension/commands/connect.js +0 -73
  337. package/lib/theme-extension/commands/create.js +0 -105
  338. package/lib/theme-extension/commands/deploy.js +0 -56
  339. package/lib/theme-extension/commands/list.js +0 -35
  340. package/lib/theme-extension/commands/release.js +0 -59
  341. package/lib/theme-extension/commands/serve.js +0 -179
  342. package/lib/theme-extension/commands/versions.js +0 -55
  343. package/lib/theme-extension/index.js +0 -29
  344. package/lib/theme-extension/template/basic-app/README.md +0 -125
  345. package/lib/theme-extension/template/basic-app/extension.config.json +0 -4
  346. package/lib/theme-extension/template/basic-app/package.json +0 -18
  347. package/lib/theme-extension/template/basic-app/theme-app/assets/index.css +0 -4
  348. package/lib/theme-extension/template/basic-app/theme-app/assets-manifest.json +0 -1
  349. package/lib/theme-extension/template/basic-app/theme-app/blocks/index.liquid +0 -16
  350. package/lib/theme-extension/template/basic-app/theme-app/locales/ar-SA.json +0 -1
  351. package/lib/theme-extension/template/basic-app/theme-app/locales/de-DE.json +0 -1
  352. package/lib/theme-extension/template/basic-app/theme-app/locales/en-US.json +0 -6
  353. package/lib/theme-extension/template/basic-app/theme-app/locales/es-ES.json +0 -1
  354. package/lib/theme-extension/template/basic-app/theme-app/locales/fr-FR.json +0 -1
  355. package/lib/theme-extension/template/basic-app/theme-app/locales/id-ID.json +0 -1
  356. package/lib/theme-extension/template/basic-app/theme-app/locales/it-IT.json +0 -1
  357. package/lib/theme-extension/template/basic-app/theme-app/locales/ja-JP.json +0 -1
  358. package/lib/theme-extension/template/basic-app/theme-app/locales/ko-KR.json +0 -1
  359. package/lib/theme-extension/template/basic-app/theme-app/locales/nl-NL.json +0 -1
  360. package/lib/theme-extension/template/basic-app/theme-app/locales/pl-PL.json +0 -1
  361. package/lib/theme-extension/template/basic-app/theme-app/locales/pt-PT.json +0 -1
  362. package/lib/theme-extension/template/basic-app/theme-app/locales/ru-RU.json +0 -1
  363. package/lib/theme-extension/template/basic-app/theme-app/locales/th-TH.json +0 -1
  364. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-CN.json +0 -6
  365. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-TW.json +0 -1
  366. package/lib/theme-extension/template/basic-app/theme-app/snippets/index.liquid +0 -8
  367. package/lib/theme-extension/template/embed-app/README.md +0 -125
  368. package/lib/theme-extension/template/embed-app/extension.config.json +0 -4
  369. package/lib/theme-extension/template/embed-app/package.json +0 -18
  370. package/lib/theme-extension/template/embed-app/theme-app/assets-manifest.json +0 -1
  371. package/lib/theme-extension/template/embed-app/theme-app/blocks/index.liquid +0 -18
  372. package/lib/theme-extension/template/embed-app/theme-app/locales/ar-SA.json +0 -1
  373. package/lib/theme-extension/template/embed-app/theme-app/locales/de-DE.json +0 -1
  374. package/lib/theme-extension/template/embed-app/theme-app/locales/en-US.json +0 -6
  375. package/lib/theme-extension/template/embed-app/theme-app/locales/es-ES.json +0 -1
  376. package/lib/theme-extension/template/embed-app/theme-app/locales/fr-FR.json +0 -1
  377. package/lib/theme-extension/template/embed-app/theme-app/locales/id-ID.json +0 -1
  378. package/lib/theme-extension/template/embed-app/theme-app/locales/it-IT.json +0 -1
  379. package/lib/theme-extension/template/embed-app/theme-app/locales/ja-JP.json +0 -1
  380. package/lib/theme-extension/template/embed-app/theme-app/locales/ko-KR.json +0 -1
  381. package/lib/theme-extension/template/embed-app/theme-app/locales/nl-NL.json +0 -1
  382. package/lib/theme-extension/template/embed-app/theme-app/locales/pl-PL.json +0 -1
  383. package/lib/theme-extension/template/embed-app/theme-app/locales/pt-PT.json +0 -1
  384. package/lib/theme-extension/template/embed-app/theme-app/locales/ru-RU.json +0 -1
  385. package/lib/theme-extension/template/embed-app/theme-app/locales/th-TH.json +0 -1
  386. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-CN.json +0 -6
  387. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-TW.json +0 -1
  388. package/lib/theme-extension/template/embed-app/theme-app/snippets/index.liquid +0 -8
  389. package/lib/theme-extension/template/embed-app/theme-app/snippets/index_css.liquid +0 -6
  390. package/lib/theme-extension/utils/config.js +0 -32
  391. package/lib/theme-extension/utils/index.js +0 -213
  392. package/lib/tracing.js +0 -50
  393. package/lib/utils/config.js +0 -12
  394. package/lib/utils/console.js +0 -33
  395. package/lib/utils/env.js +0 -17
  396. package/lib/utils/file.js +0 -48
  397. package/lib/utils/platform.js +0 -37
  398. package/lib/utils/utils.js +0 -165
  399. /package/{lib/checkout → scripts/jsbuild}/dev/client.js +0 -0
  400. /package/{lib/app/services/extension-build/plugins → scripts/jsbuild/plugin}/vite-plugin-transform-extension-html.js +0 -0
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { build } = require('vite');
6
+ const { viteConfig } = require('./vite.config');
7
+
8
+ function getRootPath() {
9
+ return process.cwd(); // inherited from the Go parent (= user invocation dir, = v1 process.cwd())
10
+ }
11
+ function getDistPath() {
12
+ return path.join(getRootPath(), 'dist');
13
+ }
14
+
15
+ async function runBuild(req) {
16
+ const id = req.name;
17
+ if (!id) throw new Error('name is required');
18
+ const entry = { [id]: path.join(getRootPath(), 'extensions', id, 'src', 'index.js') };
19
+ const distPath = getDistPath();
20
+ if (!fs.existsSync(distPath)) fs.mkdirSync(distPath, { recursive: true });
21
+ // Match only THIS id's artifacts ("foo" or "foo.<hash>.js") — a bare
22
+ // includes(id) also clears/collects sibling extensions like "foo-bar".
23
+ const matchesId = (fname) => fname === id || fname.startsWith(id + '.');
24
+ for (const fname of fs.readdirSync(distPath)) {
25
+ if (matchesId(fname)) fs.rmSync(path.join(distPath, fname)); // clear prior dist for this id (v1 build.js:18-22)
26
+ }
27
+ const started = Date.now();
28
+ await build(viteConfig(entry));
29
+ const artifacts = fs
30
+ .readdirSync(distPath)
31
+ .filter(matchesId)
32
+ .map((f) => path.join('dist', f));
33
+ return { ok: true, artifacts, durationMs: Date.now() - started };
34
+ }
35
+
36
+ function readStdin() {
37
+ return new Promise((resolve, reject) => {
38
+ let buf = '';
39
+ process.stdin.setEncoding('utf8');
40
+ process.stdin.on('data', (c) => (buf += c));
41
+ process.stdin.on('end', () => resolve(buf));
42
+ process.stdin.on('error', reject);
43
+ });
44
+ }
45
+
46
+ (async () => {
47
+ let req;
48
+ try {
49
+ req = JSON.parse((await readStdin()).trim());
50
+ } catch (err) {
51
+ process.stdout.write(
52
+ JSON.stringify({ ok: false, error: { type: 'internal', code: 'bad_request', message: 'invalid request JSON: ' + err.message } }) + '\n',
53
+ () => process.exit(1) // flush before exit (match the happy path)
54
+ );
55
+ return;
56
+ }
57
+ // Protect the single-line JSON stdio protocol: Vite/Rollup log to stdout via
58
+ // console (e.g. "vite v4.3.9 building...", "Generated an empty chunk"). Route
59
+ // ALL stdout writes to stderr during the build so stdout carries ONLY our final
60
+ // JSON result line; emit() restores stdout and writes the JSON, flushing before exit.
61
+ const realStdoutWrite = process.stdout.write.bind(process.stdout);
62
+ process.stdout.write = process.stderr.write.bind(process.stderr);
63
+ const emit = (obj, code) => {
64
+ process.stdout.write = realStdoutWrite;
65
+ realStdoutWrite(JSON.stringify(obj) + '\n', () => process.exit(code));
66
+ };
67
+
68
+ if (req.debug) process.stderr.write('[checkout build] request: ' + JSON.stringify(req) + '\n');
69
+ try {
70
+ const result = await runBuild(req);
71
+ if (req.debug) process.stderr.write('[checkout build] artifacts: ' + JSON.stringify(result.artifacts) + '\n');
72
+ emit(result, 0);
73
+ } catch (err) {
74
+ if (req.debug) process.stderr.write(String(err && err.stack ? err.stack : err) + '\n');
75
+ emit({ ok: false, error: { type: 'internal', code: 'build_error', message: String(err && err.message ? err.message : err) } }, 1);
76
+ }
77
+ })();
@@ -1,3 +1,4 @@
1
+ const path = require('path');
1
2
  const parseExtension = (str, name) => {
2
3
  const data = str.split(/(?:import\s*(?:.*?)\s*from\s*(?:.*?)\s*;)/g);
3
4
  const main = data[data.length - 1];
@@ -12,8 +13,9 @@ module.exports = {
12
13
  enforce: 'pre',
13
14
  apply: 'build',
14
15
  transform: (code, _id) => {
15
- if (/.*\/extensions\/.*\/src\/index\.js/.test(_id)) {
16
- return parseExtension(code, _id.match(/extensions\/(\S*)\/src\/index\./)[1]);
16
+ const normId = _id.split(path.sep).join('/'); // cross-platform: match on forward slashes
17
+ if (/\/extensions\/.*\/src\/index\.js/.test(normId)) {
18
+ return parseExtension(code, normId.match(/extensions\/(\S*)\/src\/index\./)[1]);
17
19
  }
18
20
  return code;
19
21
  },
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+ const { cwd } = require('process');
3
+ const path = require('path');
4
+ const { vitePluginAddExtensionId } = require('./plugin/vite-plugin-add-extension-id');
5
+ const { vitePluginTransformExtensionHtml } = require('./plugin/vite-plugin-transform-extension-html');
6
+
7
+ function getDistPath() {
8
+ return path.join(cwd(), 'dist');
9
+ }
10
+
11
+ module.exports = {
12
+ // pageEntry = { [extensionId]: '<root>/extensions/<id>/src/index.js' }
13
+ viteConfig: (pageEntry) => ({
14
+ plugins: [vitePluginTransformExtensionHtml(), vitePluginAddExtensionId()], // order matters: transform-html first
15
+ base: '/',
16
+ root: cwd(),
17
+ build: {
18
+ minify: false,
19
+ emptyOutDir: false,
20
+ copyPublicDir: false,
21
+ rollupOptions: {
22
+ input: pageEntry,
23
+ output: {
24
+ entryFileNames: '[name].[hash].js',
25
+ chunkFileNames: '[name].[hash].js',
26
+ assetFileNames: '[name].[hash].[ext]',
27
+ compact: true,
28
+ inlineDynamicImports: false,
29
+ dir: getDistPath(),
30
+ },
31
+ watch: { include: './extensions' },
32
+ },
33
+ },
34
+ }),
35
+ };
package/scripts/run.js ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * npm bin entry-point — resolves the prebuilt shoplazza binary and forwards
4
+ * all arguments to it transparently.
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ const { execFileSync } = require('child_process');
10
+ const fs = require('fs');
11
+ const path = require('path');
12
+
13
+ const binName = process.platform === 'win32' ? 'shoplazza.exe' : 'shoplazza';
14
+ const binPath = path.join(__dirname, '..', 'bin', binName);
15
+
16
+ if (!fs.existsSync(binPath)) {
17
+ process.stderr.write(
18
+ `shoplazza binary not found at ${binPath}.\n` +
19
+ `Run 'npm install -g shoplazza-cli' to reinstall, ` +
20
+ `or build from source with 'make install'.\n`
21
+ );
22
+ process.exit(1);
23
+ }
24
+
25
+ try {
26
+ execFileSync(binPath, process.argv.slice(2), { stdio: 'inherit' });
27
+ } catch (err) {
28
+ process.exit(err.status ?? 1);
29
+ }
package/.editorconfig DELETED
@@ -1,28 +0,0 @@
1
- # EditorConfig is awesome: https://EditorConfig.org
2
-
3
- # top-most EditorConfig file
4
- root = true
5
-
6
- # Unix-style newlines with a newline ending every file
7
- [*]
8
- end_of_line = lf
9
- insert_final_newline = true
10
-
11
- # Matches multiple files with brace expansion notation
12
- # Set default charset
13
- [*.{js}]
14
- charset = utf-8
15
-
16
- # Tab indentation (no size specified)
17
- [Makefile]
18
- indent_style = tab
19
-
20
- # Indentation override for all JS under lib directory
21
- [lib/**.js]
22
- indent_style = space
23
- indent_size = 2
24
-
25
- # Matches the exact files either package.json or .travis.yml
26
- [{package.json,.travis.yml}]
27
- indent_style = space
28
- indent_size = 2
package/.prettierrc DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "printWidth": 120,
3
- "tabWidth": 2,
4
- "useTabs": false,
5
- "semi": true,
6
- "singleQuote": true,
7
- "trailingComma": "none",
8
- "bracketSpacing": true
9
- }
package/bin/shoplazza DELETED
@@ -1,137 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- process.noDeprecation = true; // 全局禁用废弃警告
4
- require('../lib/check');
5
- const { program } = require('commander');
6
- const updateNotifier = require('update-notifier');
7
- const Sentry = require('@sentry/node');
8
- const pkg = require('../package.json');
9
- const report = require('../lib/report');
10
- require('../lib/tracing');
11
-
12
- const { makeCheckoutCommand } = require('../lib/checkout');
13
- const { initThemeAppCommand } = require('../lib/theme-extension');
14
- const { makeFunctionCommand } = require('../lib/function');
15
- const { makeAppCommand } = require('../lib/app');
16
-
17
- Sentry.init({
18
- dsn: 'https://89964605acaf4db8839f2d5237396d6c@sentry.shoplazza.com/730',
19
- integrations: [
20
- // enable HTTP calls tracing
21
- new Sentry.Integrations.Http({ tracing: true })
22
- ],
23
-
24
- // Set tracesSampleRate to 1.0 to capture 100%
25
- // of transactions for performance monitoring.
26
- // We recommend adjusting this value in production
27
- tracesSampleRate: 1.0
28
- });
29
-
30
- updateNotifier({ pkg }).notify({
31
- isGlobal: true
32
- });
33
- program.usage('[command] [options]');
34
- program.option('--debug <ent>', 'debug mode');
35
-
36
- program.command('version').description('Welcome to the Shoplazza CLI').action(require('../lib/commands/version'));
37
- program.description('Welcome to the Shoplazza CLI').option('-v --version').action(require('../lib/commands/version'));
38
-
39
- program
40
- .command('login')
41
- .description('Authenticates and logs you into the specified store with Shoplazza CLI.')
42
- .option('-s, --store <store>', 'The store domain (Eg: developer.myshoplaza.com)')
43
- .option('-p, --partner', 'Log into partner app')
44
- .action(require('../lib/commands/login').login);
45
-
46
- program
47
- .command('logout')
48
- .description('Logs you out of the Shoplazza account, logs out your store account without any options.')
49
- .option('-s, --store', 'Logs out your store account')
50
- .option('-p, --partner', 'Logs out your partner account')
51
- .action(require('../lib/commands/logout'));
52
-
53
- program
54
- .command('switch')
55
- .option('-s, --store <store>', 'The store url')
56
- .description(`Switches between stores without logging out and logging in again.`)
57
- .action(require('../lib/commands/switch'));
58
-
59
- program
60
- .command('store')
61
- .description(`Displays the store that you're currently connected to.`)
62
- .action(require('../lib/commands/store'));
63
-
64
- const theme = program
65
- .command('theme')
66
- .description('Some commands related to the theme, Use `shoplazza theme --help` for more details.')
67
- .usage('[command] [options]');
68
-
69
- theme
70
- .command('init')
71
- .description('Clones a Git repository to your local machine to use as the starting point for building a theme.')
72
- .option('-n, --name <name>', 'Theme folder name')
73
- .action(require('../lib/commands/theme/init'));
74
-
75
- theme
76
- .command('serve')
77
- .description(`Uploads the current theme to the store that you're connected to, and returns the following.`)
78
- .option('-t, --theme <theme>', 'The ID of the theme that you want to overwrite.')
79
- .action(require('../lib/commands/theme/serve'));
80
-
81
- theme
82
- .command('pull')
83
- .description(`Retrieves theme files from Shoplazza.`)
84
- .option('-t, --theme <theme>', 'The ID of the theme that you want to pull.')
85
- .action(require('../lib/commands/theme/pull'));
86
-
87
- theme
88
- .command('push')
89
- .description(`Uploads your local theme files to Shoplazza, overwriting the remote theme if specified.`)
90
- .option('-t, --theme <theme>', 'The ID of the theme that you want to overwrite.')
91
- .action(require('../lib/commands/theme/push').pushCommand);
92
-
93
- theme
94
- .command('publish')
95
- .description(`Publishes a theme from your theme library.`)
96
- .option('-t, --theme <theme>', 'The ID of the theme that you want to publish.')
97
- .action(require('../lib/commands/theme/publish'));
98
-
99
- theme.command('list').description(`Lists the themes in your store.`).action(require('../lib/commands/theme/list'));
100
-
101
- theme
102
- .command('share')
103
- .description(`Return a theme preview link.`)
104
- .option('-t, --theme <theme>', 'The ID of the theme that you want to delete.')
105
- .action(require('../lib/commands/theme/share'));
106
-
107
- theme
108
- .command('package')
109
- .description(`Packages your local theme files into a ZIP file that can be uploaded to Shoplazza.`)
110
- .action(require('../lib/commands/theme/package').packageCommand);
111
-
112
- theme
113
- .command('delete')
114
- .description(`Deletes a theme from your store.`)
115
- .option('-t, --theme <theme>', 'The ID of the theme that you want to delete.')
116
- .action(require('../lib/commands/theme/delete'));
117
-
118
- // checkout cli
119
- makeCheckoutCommand(program);
120
- // theme app cli
121
- initThemeAppCommand(program);
122
- // function cli
123
- makeFunctionCommand(program);
124
- // app cli
125
- makeAppCommand(program);
126
-
127
- program.parse(process.argv);
128
- !program.args.length && program.help();
129
-
130
- const yargs = require('yargs/yargs');
131
- const { hideBin } = require('yargs/helpers');
132
- const { argv } = yargs(hideBin(process.argv));
133
-
134
- report('cli_usage', {
135
- command: argv._,
136
- argv: hideBin(process.argv)
137
- });
@@ -1,74 +0,0 @@
1
- .blogsection {
2
- hr {
3
- margin: 0;
4
- }
5
- }
6
-
7
- .article {
8
- &__title {
9
- font-size: 32px;
10
- color: rgba(56, 56, 56, 1);
11
- line-height: 48px;
12
- }
13
-
14
- &__date {
15
- font-size: 14px;
16
- color: rgba(102, 102, 102, 1);
17
- line-height: 28px;
18
- margin-top: 20px;
19
- margin-bottom: 10px;
20
- }
21
-
22
- &__excerpt {
23
- font-size: 16px;
24
- color: rgba(102, 102, 102, 1);
25
- line-height: 28px;
26
- margin-top: 20px;
27
- margin-bottom: 25px;
28
- overflow: hidden;
29
- display: -webkit-box;
30
- -webkit-line-clamp: 3;
31
- -webkit-box-orient: vertical;
32
- }
33
-
34
- &__readline {
35
- margin-bottom: 50px;
36
- margin-top: 10px;
37
- }
38
-
39
- &__read {
40
- font-size: 16px;
41
- font-weight: 600;
42
- color: rgba(27, 122, 213, 1);
43
- line-height: 28px;
44
- flex-shrink: 0;
45
- margin-right: 10px;
46
- }
47
-
48
- &__blogs {
49
- font-size: 14px;
50
- color: rgba(102, 102, 102, 1);
51
- line-height: 28px;
52
- word-break: break-all;
53
- text-align: right;
54
- }
55
- }
56
-
57
- [data-section-type='blog'] .container {
58
- padding: 0;
59
- margin-top: 56px;
60
- }
61
-
62
- [data-section-type='blog'] .container .row {
63
- margin: 0 -12px;
64
- }
65
-
66
- [data-section-type='blog'] .container .col-12 {
67
- padding: 0 12px;
68
- }
69
-
70
- @media (max-width: 767.98px) {
71
- [data-section-type='blog'] .container {
72
- padding: 0 15px;
73
- }
74
- }