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
@@ -1,611 +0,0 @@
1
- {% comment %} {% capture time_seed %}{{ 'now' | date: "%s" }}{% endcapture %}
2
- {% assign random = time_seed | times: 1103515245 | plus: 12345 | divided_by: 65536 | modulo: 32768 %} {% endcomment %}
3
- <div class='{% unless REQUEST_URI contains "view=ajax" %}container{% endunless %} container-gap product-detail product-detail-{{section.id}}'
4
- id="product_detail_{{ product.id }}"
5
- data-track="product"
6
- data-track-id="{{product.id}}"
7
- data-track-price="{{product.price}}"
8
- data-track-name="{{product.title | escape}}"
9
- data-track-type="{{product.type}}" data-life-style="true">
10
- {% assign recommendedProductsPosition = section.settings.recommended_products_position | default: false %}
11
- {% assign selectedVariantId = "" %}
12
- {% assign selectedVariant = nil %}
13
- {% assign priceMin = 99999999 %}
14
- {% assign comparePriceMin = 99999999 %}
15
- {% assign priceMax = 0 %}
16
- {% if settings.is_select_default_variants or product.variants.size == 1 %}
17
- {% for variant in product.variants %}
18
- {% if variant.available_quantity > 0 %}
19
- {% assign selectedVariantId = variant.id %}
20
- {% break %}
21
- {% endif %}
22
- {% endfor %}
23
- {% endif %}
24
- {% assign variant_type = settings.variant_type | default: 'button' %}
25
- {% assign params = REQUEST_URI | split: "?" | last | split: "&" %}
26
- {% for p in params %}
27
- {% assign pair = p | split: "=" %}
28
- {% if pair[0] contains "variant" and pair[1] != '' %}
29
- {% assign selectedVariantId = pair[1] %}
30
- {% endif %}
31
- {% endfor %}
32
-
33
- {% for variant in product.variants %}
34
- {% if variant.compare_at_price < comparePriceMin %}
35
- {% assign comparePriceMin = variant.compare_at_price %}
36
- {% endif %}
37
- {% if variant.price < priceMin %}
38
- {% assign priceMin = variant.price %}
39
- {% endif %}
40
- {% if variant.price > priceMax %}
41
- {% assign priceMax = variant.price %}
42
- {% endif %}
43
- {% if variant.id == selectedVariantId %}
44
- {% assign selectedVariant = variant %}
45
- {% endif %}
46
- {% endfor %}
47
-
48
- {% assign initialSlide = 0 %}
49
- {% for item in product.images %}
50
- {% if item.src contains selectedVariant.image.src %}
51
- {% assign initialSlide = forloop.index0 %}
52
- {% endif %}
53
- {% endfor %}
54
-
55
- <div class="row">
56
- {% assign commonImg = 'oss/operation/1e6f85988d86fcd8bf0debdec2d41eda.png' | img_url %}
57
- <div class="product-image col-12 col-md-6">
58
- <div class="position-relative">
59
- <div class="support-slick">
60
- {% if product.images.size > 0 %}
61
- {% for item in product.images %}
62
- <div class="swiper-slide">
63
- {% assign imgHeight = item.height | image_padding_bottom : item.width, origin:'unlimit' %}
64
- {% assign media = item.src | media_parse %}
65
- {% assign class_name = 'position-relative w-100 zoom' %}
66
- {% unless initialSlide == forloop.index0 %}
67
- {% assign class_name = class_name | append: ' d-none' %}
68
- {% endunless %}
69
- {% if media.mp4 or media.hls %}
70
- {% include 'video_html', media: media, padding_bottom: imgHeight, class: class_name %}
71
- {% else %}
72
- <div style="padding-bottom:{{imgHeight}};" class="{{class_name}}">
73
- <img data-lazy="{{item.src | img_url: '1080x'}}" src="{{shop.default_img}}" class="product-image__swiper_img imglazy loading_bg" data-zoom-src="{{item.src | img_url: '1080x'}}" data-zoom-width="{% if item.width < 1080 %}{{item.width}}{% else %}1080{% endif %}" data-zoom-height="{% if item.width < 1080 %}{{item.height}}{% else %}{{ 1080 | divided_by: item.aspect_ratio | round }}{% endif %}" alt="{{item.alt | default: product.title | escape}}" />
74
- </div>
75
- {% endif %}
76
- </div>
77
- {% endfor %}
78
- {% else %}
79
- <div class="swiper-slide">
80
- <div style="padding-bottom:100%">
81
- {% include 'lazyimg', src: commonImg %}
82
- </div>
83
- </div>
84
- {% endif %}
85
- </div>
86
- {% if product.images.size > 1 %}
87
- <a href="javascript:;" class="sep-loaded-slider__button sep-loaded-slider__button-prev d-none d-md-block"><i class="sep-font sep-font-angle-left"></i></a>
88
- <a href="javascript:;" class="sep-loaded-slider__button sep-loaded-slider__button-next d-none d-md-block"><i class="sep-font sep-font-angle-right"></i></a>
89
- {% endif %}
90
- </div>
91
- <div class="product-image__swiper_bullets">{{initialSlide | plus: 1}} / {{product.images.size}}</div>
92
- {% comment %} 缩略图 {% endcomment %}
93
- {% if product.images.size > 1 %}
94
- <div class="product-image__thumbs">
95
- <div class="product-image__thumbs-content">
96
- {% assign thumbWidth = 80 %}
97
- {% assign marginLeft = 0 %}
98
- {% assign size = product.images.size %}
99
- {% assign maxIdx = product.images.size | minus:6 %}
100
- {% if initialSlide < 6 %}
101
- {% assign marginLeft = 0 %}
102
- {% elsif initialSlide >= maxIdx and size > 6 %}
103
- {% assign marginLeft = maxIdx | times: 80 %}
104
- {% else %}
105
- {% assign marginLeft = initialSlide | times: 80 %}
106
- {% endif %}
107
-
108
- {% for item in product.images %}
109
- <div class="product-image__thumbs-item position-relative {% if initialSlide == forloop.index0 %}slick-slide slick-current{% endif %}" style="margin-left:{% if forloop.index0 == 0 %}-{{marginLeft}}{% endif %}px" data-thumb-idx="{{ forloop.index0 }}" >
110
- {% assign inView = 0 %}
111
- {% assign offsetLeft = forloop.index0 | times: 80 | minus: marginLeft %}
112
- {% if offsetLeft >= 0 and offsetLeft < 480 %}
113
- {% assign inView = 1 %}
114
- {% endif %}
115
-
116
- <img class="{% if inView == 0 %}lazy-{%endif%}lazyload" src="{{shop.default_img}}" data-src="{{item.src | img_url: '100x' }}" alt="{{ item.alt | default: product.title | escape }}">
117
- {% assign media = item.src | media_parse %}
118
- {% if media.mp4 or media.hls %}
119
- {% include 'video_thumb_icon' %}
120
- {% endif %}
121
- </div>
122
- {% endfor %}
123
- </div>
124
- <div class="swiper-button-prev product-image__thumbs_button-prev-{{section.id}} product-image__thumbs_btn sep-font sep-font-angle-left"></div>
125
- <div class="swiper-button-next product-image__thumbs_button-next-{{section.id}} product-image__thumbs_btn sep-font sep-font-angle-right"></div>
126
- </div>
127
- {% endif %}
128
- {% unless REQUEST_URI contains "view=ajax" %}
129
- {% if recommendedProductsPosition %}
130
- <div class="col-12 relative_product_left d-none d-md-block">
131
- {% if section.settings.relative_title != blank %}
132
- <div class="relative_product__title dj_skin_title_font position-relative">
133
- {{ section.settings.relative_title}}
134
- <span class="relative_product__change d-none">{{ 'i18n.product.product_detail.not_like_these' | t}}</span>
135
- </div>
136
- {% endif %}
137
- <div class="relative_product__content row"></div>
138
- </div>
139
- {% endif %}
140
- {% endunless %}
141
- {% assign productSelected = selectedVariant | default: product %}
142
- {% assign priceMinus = productSelected.compare_at_price | minus: productSelected.price %}
143
- {% include 'product_label', product: product, product_selected: productSelected, is_opacity: true %}
144
- </div>
145
-
146
- <form class="product-info product-info-{{product.id}} col-12 col-md-6 properties">
147
- {% include 'product_info_body' %}
148
- </form>
149
- {% unless REQUEST_URI contains "view=ajax" %}
150
- {% if recommendedProductsPosition%}
151
- <div class="col-12 relative_product d-block d-md-none">
152
- {% if section.settings.relative_title != blank %}
153
- <div class="relative_product__title dj_skin_title_font position-relative">
154
- {{ section.settings.relative_title}}
155
- <span class="relative_product__change d-none">{{ 'i18n.product.product_detail.not_like_these' | t}}</span>
156
- </div>
157
- {% endif %}
158
- <div class="relative_product__content row"></div>
159
- </div>
160
- {% endif %}
161
- {% comment %} 定义前端模板 {% endcomment %}
162
- <script id="relative-product-art-tpl" type="text/html">
163
- <% for(var i = 0; i < products.length; i++) { %>
164
- <div class="col-6 <%= colMd %> common__product-gap">
165
- <% include ('product_art_tpl', {
166
- product: products[i]
167
- }) %>
168
- </div>
169
- <% } %>
170
- </script>
171
- {% endunless %}
172
- </div>
173
- </div>
174
- {%capture inline_js_code%}
175
- {{settings.inline_js_code}}
176
- $(function () {
177
- {% assign ajax = false %}
178
- {% if REQUEST_URI contains "view=ajax" %}
179
- {% assign ajax = true %}
180
- {% endif %}
181
- $(".product-detail-{{ section.id }}").product_detail({section_id:"{{ section.id }}",default_img:"{{ '0745b09b31974decc653e9a927fb444c.jpg' | img_url }}",product:{{ product | json: "description,meta_description,meta_keyword,meta_title,brief" }}, initialSlide: {{initialSlide}}, ajax: {{ajax}} });
182
- {% unless REQUEST_URI contains "view=ajax" %}
183
- {% assign count = section.settings.product_number | default: 3 %}
184
- {% if recommendedProductsPosition and template.type == 1 %}
185
- var page = 1, per_page = 30, products = [], related_count = {{section.settings.product_number | default: 3}}, enableChangeCount = 10;
186
- var $section = $('[data-section-id=' + {{section.id}} + ']');
187
- {% comment %} 获取异步商品 {% endcomment %}
188
- $.get('/api/product/similar-products?product_id={{product.id}}'+'&page='+page+'&per_page='+per_page, function(res) {
189
- if (!(res.state == 0 && res.data)) { return ; }
190
- products = (res.data.products || []).filter(function(item) { return item.published; });
191
- {% comment %} 可以切换推荐 {% endcomment %}
192
- products.length > enableChangeCount && $section.find('.relative_product__change').removeClass('d-none');
193
- {% if shop.env == 0 %}
194
- $('.relative_product__title')[products.length?"show":"hide"]();
195
- {% else %}
196
- if (products.length < related_count) {
197
- products = products.concat(Array.apply(null, Array(related_count - products.length)).map(function(){ return {
198
- image: { src: '{{ '0745b09b31974decc653e9a927fb444c.jpg' | img_url }}', width: 100, height: 100 },
199
- compare_at_price: '99.99',
200
- price: '88.88',
201
- available: true,
202
- published: true,
203
- isMock: true,
204
- title: 'Product Title'
205
- }; }));
206
- }
207
- {% endif %}
208
- var colMd = 'col-md-6';
209
- var render = function () {
210
- var count = 0;
211
- products.length < related_count ? (count = products.length) : (count = related_count);
212
- $section.find('.relative_product__content').html(window.template('relative-product-art-tpl', {
213
- products: new Array(count).fill(0).map(function (item, i) {
214
- return products[((page-1)*related_count+i)%(products.length)];
215
- }),
216
- colMd: colMd
217
- }));
218
- page+=1;
219
- };
220
- render();
221
- $(document).on('click', '.relative_product__change', render);
222
- });
223
- {% endif %}
224
- {% endunless %}
225
- });
226
-
227
- {%endcapture%}
228
-
229
- {% gassign settings.inline_js_code = inline_js_code %}
230
- {% javascript %}{{inline_js_code}}{% endjavascript %}
231
-
232
- {% schema %}
233
- {
234
- "name": "product_detail",
235
- "max_blocks": 10,
236
- "contentType": [
237
- "products"
238
- ],
239
- "settings": [
240
- {
241
- "type": "checkbox",
242
- "label": {
243
- "zh-CN": "推荐商品与商品详情并行",
244
- "en-US": "Recommended products position below description"
245
- },
246
- "id": "recommended_products_position",
247
- "default": false
248
- },
249
- {
250
- "type": "text",
251
- "id": "relative_title",
252
- "visibleOn": "recommended_products_position",
253
- "label": {
254
- "en-US": "Heading",
255
- "zh-CN": "标题"
256
- },
257
- "default": "You may also like"
258
- },
259
- {
260
- "type": "range",
261
- "id": "product_number",
262
- "visibleOn": "recommended_products_position",
263
- "step": 1,
264
- "max": 5,
265
- "min": 2,
266
- "label": {
267
- "zh-CN": "商品总数",
268
- "en-US": "Products number"
269
- },
270
- "default": 4,
271
- "unit": ""
272
- }
273
- ],
274
- "blocks": [
275
- {
276
- "type": "@app"
277
- },
278
- {
279
- "type": "vendor",
280
- "limit": 1,
281
- "name": {
282
- "en-US": "vendor",
283
- "zh-CN": "供应商"
284
- },
285
- "settings": []
286
- },
287
- {
288
- "type": "title",
289
- "limit": 1,
290
- "name": {
291
- "en-US": "Title",
292
- "zh-CN": "标题"
293
- },
294
- "settings": [
295
- {
296
- "type": "select",
297
- "label": {
298
- "zh-CN": "移动端商品标题样式",
299
- "en-US": "Product title style on mobile"
300
- },
301
- "id": "title_style",
302
- "options": [
303
- {
304
- "value": "full",
305
- "label": {
306
- "en-US": "Full display",
307
- "zh-CN": "完全显示"
308
- }
309
- },
310
- {
311
- "value": "more_hide",
312
- "label": {
313
- "zh-CN": "超过一行隐藏",
314
- "en-US": "Hide more than one line"
315
- }
316
- },
317
- {
318
- "value": "hide",
319
- "label": {
320
- "zh-CN": "隐藏",
321
- "en-US": "Hide"
322
- }
323
- }
324
- ],
325
- "default": "full"
326
- }
327
- ]
328
- },
329
- {
330
- "type": "sub_title",
331
- "limit": 1,
332
- "name": {
333
- "en-US": "Subtitle",
334
- "zh-CN": "副标题"
335
- },
336
- "settings": []
337
- },
338
- {
339
- "type": "price",
340
- "limit": 1,
341
- "name": {
342
- "en-US": "Price and volume",
343
- "zh-CN": "价格&销量"
344
- },
345
- "settings": []
346
- },
347
- {
348
- "type": "SKU",
349
- "limit": 1,
350
- "name": {
351
- "en-US": "SKU",
352
- "zh-CN": "SKU"
353
- },
354
- "settings": []
355
- },
356
- {
357
- "type": "variant",
358
- "limit": 1,
359
- "name": {
360
- "en-US": "Variant",
361
- "zh-CN": "变体"
362
- },
363
- "settings": []
364
- },
365
- {
366
- "type": "quantity",
367
- "limit": 1,
368
- "name": {
369
- "en-US": "Quantity field",
370
- "zh-CN": "数量选择器"
371
- },
372
- "settings": []
373
- },
374
- {
375
- "type": "checkout",
376
- "limit": 1,
377
- "name": {
378
- "en-US": "Dynamic checkout",
379
- "zh-CN": "立即购买"
380
- },
381
- "settings": [
382
- {
383
- "type": "checkbox",
384
- "label": {
385
- "en-US": "Show dynamic checkout button",
386
- "zh-CN": "开启立即购买"
387
- },
388
- "id": "dynamic_checkout",
389
- "default": true
390
- },
391
- {
392
- "type": "checkbox",
393
- "label": {
394
- "en-US": "Show ‘Add to cart’ button",
395
- "zh-CN": "开启加购按钮"
396
- },
397
- "id": "add_to_cart",
398
- "default": true
399
- },
400
- {
401
- "type": "header",
402
- "content": {
403
- "zh-CN": "加购信息补充区域",
404
- "en-US": "Order information area"
405
- },
406
- "info": {
407
- "zh-CN": "可在购买按钮下方添加文字和图片,来增强网站安全感,展示更多服务信息或产品特性等。",
408
- "en-US": "Add text and images below the checkout button to enhance the security of the site and show more service information or product features."
409
- }
410
- },
411
- {
412
- "type": "richtext",
413
- "id": "additional_text",
414
- "placeholder": {
415
- "zh-CN": "输入文本内容",
416
- "en-US": "Input text"
417
- },
418
- "label": {
419
- "en-US": "Text",
420
- "zh-CN": "文本"
421
- },
422
- "default": ""
423
- },
424
- {
425
- "type": "image_picker",
426
- "id": "additional_image_pc",
427
- "label": {
428
- "en-US": "Desktop image",
429
- "zh-CN": "PC端图片"
430
- },
431
- "info": {
432
- "en-US": "Recommended resolution (width * height): 570*110px",
433
- "zh-CN": "建议尺寸(宽*高):570*110px"
434
- },
435
- "default": ""
436
- },
437
- {
438
- "type": "image_picker",
439
- "id": "additional_image_mobile",
440
- "label": {
441
- "en-US": "Mobile image",
442
- "zh-CN": "移动端图片"
443
- },
444
- "info": {
445
- "en-US": "Recommended resolution (width * height): 720*220px",
446
- "zh-CN": "建议尺寸(宽*高):720*220px"
447
- },
448
- "default": ""
449
- }
450
- ]
451
- },
452
- {
453
- "type": "description_style",
454
- "limit": 1,
455
- "name": {
456
- "en-US": "Description",
457
- "zh-CN": "描述"
458
- },
459
- "settings": [
460
- {
461
- "type": "select",
462
- "label": {
463
- "zh-CN": "描述风格",
464
- "en-US": "Description style"
465
- },
466
- "id": "description_style",
467
- "options": [
468
- {
469
- "value": "expandable",
470
- "label": {
471
- "en-US": "Expandable",
472
- "zh-CN": "可展开"
473
- }
474
- },
475
- {
476
- "value": "visible",
477
- "label": {
478
- "zh-CN": "一直可见",
479
- "en-US": "Always visible "
480
- }
481
- }
482
- ],
483
- "default": "expandable"
484
- },
485
- {
486
- "type": "page",
487
- "label": {
488
- "en-US": "Page for tab 1 - select page",
489
- "zh-CN": "自定义页面1-选择页面"
490
- },
491
- "id": "page1"
492
- },
493
- {
494
- "type": "page",
495
- "label": {
496
- "en-US": "Page for tab 2 - select page",
497
- "zh-CN": "自定义页面2-选择页面"
498
- },
499
- "id": "page2"
500
- },
501
- {
502
- "type": "page",
503
- "label": {
504
- "en-US": "Page for tab 3 - select page",
505
- "zh-CN": "自定义页面3-选择页面"
506
- },
507
- "id": "page3"
508
- }
509
- ]
510
- },
511
- {
512
- "type": "sharing",
513
- "limit": 1,
514
- "name": {
515
- "en-US": "Social sharing",
516
- "zh-CN": "社交分享"
517
- },
518
- "settings": [
519
- {
520
- "type": "checkbox",
521
- "label": {
522
- "en-US": "Share on Facebook",
523
- "zh-CN": "可分享到facebook"
524
- },
525
- "id": "share_facebook",
526
- "default": true
527
- },
528
- {
529
- "type": "checkbox",
530
- "label": {
531
- "en-US": "Tweet on Twitter",
532
- "zh-CN": "可分享到Twitter"
533
- },
534
- "id": "share_twitter",
535
- "default": true
536
- },
537
- {
538
- "type": "checkbox",
539
- "label": {
540
- "en-US": "Pin on Pinterest",
541
- "zh-CN": "可分享到Pinterest"
542
- },
543
- "id": "share_pinterest",
544
- "default": true
545
- }
546
- ]
547
- }
548
- ],
549
- "presets": [
550
- {
551
- "name": "product_detail",
552
- "cname": {
553
- "zh-CN": "商品详情",
554
- "en-US": "Product"
555
- },
556
- "category": {
557
- "zh-CN": "基础",
558
- "en-US": "Basic"
559
- },
560
- "ccategory": {
561
- "zh-CN": "基础",
562
- "en-US": "Basic"
563
- },
564
- "display": false,
565
- "blocks": [
566
- {
567
- "type": "title",
568
- "settings": {
569
- "title_style": "full"
570
- }
571
- },
572
- {
573
- "type": "sub_title",
574
- "settings": {}
575
- },
576
- {
577
- "type": "price",
578
- "settings": {}
579
- },
580
- {
581
- "type": "variant",
582
- "settings": {}
583
- },
584
- {
585
- "type": "quantity",
586
- "settings": {}
587
- },
588
- {
589
- "type": "checkout",
590
- "settings": {
591
- "dynamic_checkout": true,
592
- "add_to_cart": true,
593
- "additional_text": "",
594
- "additional_image_pc": "",
595
- "additional_image_mobile": ""
596
- }
597
- },
598
- {
599
- "type": "sharing",
600
- "settings": {
601
- "share_facebook": true,
602
- "share_twitter": true,
603
- "share_pinterest": true
604
- }
605
- }
606
- ]
607
- }
608
- ]
609
- }
610
- {% endschema %}
611
-