spree_frontend 4.1.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +120 -0
  3. data/.codeclimate.yml +36 -0
  4. data/.deepsource.toml +19 -0
  5. data/.editorconfig +22 -0
  6. data/.eslintignore +7 -0
  7. data/.eslintrc +36 -0
  8. data/.gem_release.yml +7 -0
  9. data/.github/CONTRIBUTING.md +1 -0
  10. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  11. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  12. data/.github/ISSUE_TEMPLATE.md +39 -0
  13. data/.github/dependabot.yml +32 -0
  14. data/.gitignore +58 -0
  15. data/.rubocop.yml +197 -0
  16. data/.solargraph.yml +20 -0
  17. data/.stylelintignore +4 -0
  18. data/.stylelintrc +6 -0
  19. data/CODE_OF_CONDUCT.md +22 -0
  20. data/Gemfile +57 -3
  21. data/LICENSE +1 -1
  22. data/README.md +89 -0
  23. data/Rakefile +1 -1
  24. data/SECURITY.md +1 -0
  25. data/app/assets/config/spree_frontend_manifest.js +5 -0
  26. data/app/assets/images/arrow-down.svg +12 -0
  27. data/app/assets/images/arrow-right-circle-fill.svg +3 -0
  28. data/app/assets/images/card-image.svg +4 -0
  29. data/app/assets/images/edit.svg +1 -1
  30. data/app/assets/images/favicon.ico +0 -0
  31. data/app/assets/images/file-image.svg +4 -0
  32. data/app/assets/images/global.svg +1 -0
  33. data/app/assets/images/image.svg +4 -0
  34. data/app/assets/images/info.svg +7 -0
  35. data/app/assets/images/logo/spree_50.png +0 -0
  36. data/app/assets/images/logo-spree.png +0 -0
  37. data/app/assets/images/logo.png +0 -0
  38. data/app/assets/images/logo.svg +10 -1
  39. data/app/assets/images/logo@2x.png +0 -0
  40. data/app/assets/images/logo@3x.png +0 -0
  41. data/app/assets/images/noimage/large.png +0 -0
  42. data/app/assets/images/noimage/mini.png +0 -0
  43. data/app/assets/images/noimage/plp.png +0 -0
  44. data/app/assets/images/noimage/plp.svg +16 -0
  45. data/app/assets/images/noimage/product.png +0 -0
  46. data/app/assets/images/noimage/small.png +0 -0
  47. data/app/assets/images/pagination-arrow-right.svg +3 -10
  48. data/app/assets/images/pagination-double-arrow-right.svg +6 -13
  49. data/app/assets/images/plus.svg +1 -1
  50. data/app/assets/images/search.svg +1 -1
  51. data/app/assets/javascripts/spree/frontend/account.js +1 -1
  52. data/app/assets/javascripts/spree/frontend/api/main.js +36 -0
  53. data/app/assets/javascripts/spree/frontend/api/storefront/cart.js +49 -0
  54. data/app/assets/javascripts/spree/frontend/cart.js +24 -2
  55. data/app/assets/javascripts/spree/frontend/checkout/address.js +78 -52
  56. data/app/assets/javascripts/spree/frontend/checkout/address_book.js +38 -40
  57. data/app/assets/javascripts/spree/frontend/checkout/payment.js +63 -23
  58. data/app/assets/javascripts/spree/frontend/checkout/shipment.js +15 -2
  59. data/app/assets/javascripts/spree/frontend/checkout.js +17 -1
  60. data/app/assets/javascripts/spree/frontend/coupon_manager.js +1 -1
  61. data/app/assets/javascripts/spree/frontend/currency.js +44 -0
  62. data/app/assets/javascripts/spree/frontend/locale.es6 +12 -0
  63. data/app/assets/javascripts/spree/frontend/login.js +5 -0
  64. data/app/assets/javascripts/spree/frontend/main.js +78 -0
  65. data/app/assets/javascripts/spree/frontend/main_nav_bar.js +86 -0
  66. data/app/assets/javascripts/spree/frontend/{turbolinks_scroll_fix.js → turbo_scroll_fix.js} +3 -3
  67. data/app/assets/javascripts/spree/frontend/views/spree/home/product_carousels.js +4 -4
  68. data/app/assets/javascripts/spree/frontend/views/spree/product/related.js +3 -3
  69. data/app/assets/javascripts/spree/frontend/views/spree/products/cart_form.js +67 -18
  70. data/app/assets/javascripts/spree/frontend/views/spree/products/description.js +1 -1
  71. data/app/assets/javascripts/spree/frontend/views/spree/products/index.js +76 -15
  72. data/app/assets/javascripts/spree/frontend/views/spree/products/price_filters.es6 +46 -0
  73. data/app/assets/javascripts/spree/frontend/views/spree/shared/mobile_navigation.js +9 -10
  74. data/app/assets/javascripts/spree/frontend/views/spree/shared/product_added_modal.js +7 -0
  75. data/app/assets/javascripts/spree/frontend/views/spree/shared/variant_select.js +93 -0
  76. data/app/assets/javascripts/spree/frontend.js +68 -11
  77. data/app/assets/stylesheets/spree/frontend/application.scss +5 -2
  78. data/app/assets/stylesheets/spree/frontend/components-bootstrap/button.scss +8 -0
  79. data/app/assets/stylesheets/spree/frontend/components-bootstrap/carousel.scss +4 -0
  80. data/app/assets/stylesheets/spree/frontend/components-custom/inputs.scss +80 -1
  81. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-base.scss +23 -0
  82. data/app/assets/stylesheets/spree/frontend/flags/_flag-icon-list.scss +265 -0
  83. data/app/assets/stylesheets/spree/frontend/flags/_variables.scss +2 -0
  84. data/app/assets/stylesheets/spree/frontend/flags/flag-icon.scss +3 -0
  85. data/app/assets/stylesheets/spree/frontend/functions.scss +1 -0
  86. data/app/assets/stylesheets/spree/frontend/helpers/spree/frontend_helper.scss +48 -0
  87. data/app/assets/stylesheets/spree/frontend/variables/bootstrap-overrides.scss +2 -2
  88. data/app/assets/stylesheets/spree/frontend/variables/helper-variables.scss +1 -0
  89. data/app/assets/stylesheets/spree/frontend/variables/variables.scss +54 -0
  90. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/confirm.scss +27 -26
  91. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/delivery.scss +6 -0
  92. data/app/assets/stylesheets/spree/frontend/views/spree/checkout/edit.scss +24 -10
  93. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/_index.scss +1 -0
  94. data/app/assets/stylesheets/spree/frontend/views/spree/cms_sections/product_buy_bar.scss +20 -0
  95. data/app/assets/stylesheets/spree/frontend/views/spree/home/index.scss +54 -67
  96. data/app/assets/stylesheets/spree/frontend/views/spree/orders/edit.scss +4 -3
  97. data/app/assets/stylesheets/spree/frontend/views/spree/orders/show.scss +3 -0
  98. data/app/assets/stylesheets/spree/frontend/views/spree/products/cart_form.scss +8 -0
  99. data/app/assets/stylesheets/spree/frontend/views/spree/products/gallery_modal.scss +7 -0
  100. data/app/assets/stylesheets/spree/frontend/views/spree/products/index.scss +55 -26
  101. data/app/assets/stylesheets/spree/frontend/views/spree/products/show.scss +7 -0
  102. data/app/assets/stylesheets/spree/frontend/views/spree/shared/_color_select.scss +10 -9
  103. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/single.scss +1 -1
  104. data/app/assets/stylesheets/spree/frontend/views/spree/shared/carousel/thumbnails.scss +1 -0
  105. data/app/assets/stylesheets/spree/frontend/views/spree/shared/cart.scss +9 -4
  106. data/app/assets/stylesheets/spree/frontend/views/spree/shared/category_nav_bar.scss +3 -3
  107. data/app/assets/stylesheets/spree/frontend/views/spree/shared/change_store.scss +7 -0
  108. data/app/assets/stylesheets/spree/frontend/views/spree/shared/footer.scss +4 -0
  109. data/app/assets/stylesheets/spree/frontend/views/spree/shared/main_nav_bar.scss +42 -26
  110. data/app/assets/stylesheets/spree/frontend/views/spree/shared/mobile_navigation.scss +34 -3
  111. data/app/assets/stylesheets/spree/frontend/views/spree/shared/nav_bar.scss +24 -7
  112. data/app/assets/stylesheets/spree/frontend/views/spree/shared/quantity_select.scss +9 -12
  113. data/app/assets/stylesheets/spree/frontend/views/spree/shared/search_form.scss +12 -0
  114. data/app/assets/stylesheets/spree/frontend/views/spree/users/show.scss +7 -13
  115. data/app/assets/stylesheets/spree/frontend.css +0 -1
  116. data/app/controllers/concerns/spree/checkout/address_book.rb +9 -7
  117. data/app/controllers/concerns/spree/locale_urls.rb +21 -0
  118. data/app/controllers/spree/addresses_controller.rb +16 -33
  119. data/app/controllers/spree/checkout_controller.rb +15 -13
  120. data/app/controllers/spree/cms_pages_controller.rb +29 -0
  121. data/app/controllers/spree/content_controller.rb +0 -2
  122. data/app/controllers/spree/currency_controller.rb +17 -0
  123. data/app/controllers/spree/errors_controller.rb +11 -0
  124. data/app/controllers/spree/home_controller.rb +38 -1
  125. data/app/controllers/spree/locale_controller.rb +35 -6
  126. data/app/controllers/spree/orders_controller.rb +12 -10
  127. data/app/controllers/spree/products_controller.rb +46 -28
  128. data/app/controllers/spree/store_controller.rb +77 -12
  129. data/app/controllers/spree/taxons_controller.rb +16 -8
  130. data/app/helpers/spree/addresses_helper.rb +64 -12
  131. data/app/helpers/spree/cache_helper.rb +7 -0
  132. data/app/helpers/spree/cms_pages_helper.rb +23 -0
  133. data/app/helpers/spree/frontend_helper.rb +170 -18
  134. data/app/helpers/spree/navigation_helper.rb +81 -4
  135. data/app/helpers/spree/products_filters_helper.rb +168 -0
  136. data/app/helpers/spree/store_helper.rb +41 -0
  137. data/app/helpers/spree/structured_data_helper.rb +6 -2
  138. data/app/helpers/spree/taxons_helper.rb +2 -2
  139. data/app/services/spree/build_localized_redirect_url.rb +141 -0
  140. data/app/views/kaminari/twitter-bootstrap-4/_first_page.html.erb +3 -3
  141. data/app/views/kaminari/twitter-bootstrap-4/_gap.html.erb +2 -2
  142. data/app/views/kaminari/twitter-bootstrap-4/_last_page.html.erb +3 -3
  143. data/app/views/kaminari/twitter-bootstrap-4/_next_page.html.erb +3 -3
  144. data/app/views/kaminari/twitter-bootstrap-4/_page.html.erb +2 -2
  145. data/app/views/kaminari/twitter-bootstrap-4/_paginator.html.erb +2 -2
  146. data/app/views/kaminari/twitter-bootstrap-4/_prev_page.html.erb +3 -3
  147. data/app/views/spree/address/_form.html.erb +26 -27
  148. data/app/views/spree/addresses/_form.html.erb +15 -6
  149. data/app/views/spree/addresses/edit.html.erb +13 -8
  150. data/app/views/spree/addresses/new.html.erb +8 -4
  151. data/app/views/spree/checkout/_address.html.erb +19 -23
  152. data/app/views/spree/checkout/_confirm.html.erb +1 -75
  153. data/app/views/spree/checkout/_credit_card.html.erb +3 -2
  154. data/app/views/spree/checkout/_delivery.html.erb +11 -4
  155. data/app/views/spree/checkout/_delivery_informations.html.erb +51 -0
  156. data/app/views/spree/checkout/_payment.html.erb +5 -24
  157. data/app/views/spree/checkout/_payment_sources.html.erb +17 -0
  158. data/app/views/spree/checkout/_summary.html.erb +22 -19
  159. data/app/views/spree/checkout/edit.html.erb +22 -2
  160. data/app/views/spree/checkout/payment/_gateway.html.erb +2 -2
  161. data/app/views/spree/checkout/registration.html.erb +3 -3
  162. data/app/views/spree/cms_pages/show.html.erb +16 -0
  163. data/app/views/spree/errors/not_found.html.erb +2 -2
  164. data/app/views/spree/home/index.html.erb +17 -123
  165. data/app/views/spree/layouts/checkout.html.erb +3 -1
  166. data/app/views/spree/layouts/spree_application.html.erb +3 -2
  167. data/app/views/spree/locale/index.html.erb +1 -0
  168. data/app/views/spree/orders/_coupon_code.html.erb +3 -4
  169. data/app/views/spree/orders/_line_item.html.erb +4 -4
  170. data/app/views/spree/orders/_line_item_data.html.erb +3 -3
  171. data/app/views/spree/orders/edit.html.erb +2 -3
  172. data/app/views/spree/orders/show.html.erb +2 -72
  173. data/app/views/spree/products/_cart_form.html.erb +5 -2
  174. data/app/views/spree/products/_color_option_type.html.erb +14 -14
  175. data/app/views/spree/products/_description.html.erb +19 -14
  176. data/app/views/spree/products/_filters_desktop.html.erb +80 -40
  177. data/app/views/spree/products/_filters_mobile.html.erb +47 -15
  178. data/app/views/spree/products/_gallery.html.erb +4 -6
  179. data/app/views/spree/products/_gallery_modal.html.erb +4 -6
  180. data/app/views/spree/products/_option_type.html.erb +1 -3
  181. data/app/views/spree/products/_product.html.erb +1 -1
  182. data/app/views/spree/products/_properties.html.erb +6 -4
  183. data/app/views/spree/products/_sort_desktop.html.erb +20 -14
  184. data/app/views/spree/products/_sort_mobile.html.erb +24 -8
  185. data/app/views/spree/products/_thumbnails.html.erb +2 -2
  186. data/app/views/spree/products/index.html.erb +7 -4
  187. data/app/views/spree/products/related.html.erb +11 -5
  188. data/app/views/spree/products/show.html.erb +2 -3
  189. data/app/views/spree/shared/_breadcrumbs.html.erb +2 -2
  190. data/app/views/spree/shared/_carousel_4_products.html.erb +14 -20
  191. data/app/views/spree/shared/_cart.html.erb +1 -1
  192. data/app/views/spree/shared/_checkout_header.html.erb +22 -21
  193. data/app/views/spree/shared/_color_select.html.erb +3 -3
  194. data/app/views/spree/shared/_copyright.html.erb +1 -10
  195. data/app/views/spree/shared/_currency_dropdown.html.erb +13 -0
  196. data/app/views/spree/shared/_delete_address_popup.html.erb +1 -2
  197. data/app/views/spree/shared/_error_messages.html.erb +2 -2
  198. data/app/views/spree/shared/_footer.html.erb +31 -21
  199. data/app/views/spree/shared/_get_started.html.erb +32 -0
  200. data/app/views/spree/shared/_head.html.erb +8 -5
  201. data/app/views/spree/shared/_header.html.erb +4 -4
  202. data/app/views/spree/shared/_internationalization_options.html.erb +31 -0
  203. data/app/views/spree/shared/_line_item.html.erb +3 -3
  204. data/app/views/spree/shared/_link_to_account.html.erb +7 -4
  205. data/app/views/spree/shared/_link_to_cart.html.erb +1 -2
  206. data/app/views/spree/shared/_locale_and_currency.html.erb +6 -0
  207. data/app/views/spree/shared/_locale_dropdown.html.erb +13 -0
  208. data/app/views/spree/shared/_login.html.erb +5 -5
  209. data/app/views/spree/shared/_main_nav_bar.html.erb +69 -45
  210. data/app/views/spree/shared/_mobile_internationalization_options.html.erb +37 -0
  211. data/app/views/spree/shared/_mobile_navigation.html.erb +48 -63
  212. data/app/views/spree/shared/_nav_bar.html.erb +9 -19
  213. data/app/views/spree/shared/_no_product_available.html.erb +1 -1
  214. data/app/views/spree/shared/_option_values.html.erb +2 -21
  215. data/app/views/spree/shared/_order_details.html.erb +117 -174
  216. data/app/views/spree/shared/_paths.html.erb +8 -0
  217. data/app/views/spree/shared/_payment.html.erb +2 -2
  218. data/app/views/spree/shared/_payment_sources.html.erb +2 -2
  219. data/app/views/spree/shared/_product_added_modal.html.erb +3 -3
  220. data/app/views/spree/shared/_properties.html.erb +4 -0
  221. data/app/views/spree/shared/_quantity_select.html.erb +2 -2
  222. data/app/views/spree/shared/_search.html.erb +9 -13
  223. data/app/views/spree/shared/_translations.html.erb +8 -7
  224. data/app/views/spree/shared/carousel/_single.html.erb +9 -14
  225. data/app/views/spree/shared/carousel/_thumbnails.html.erb +35 -39
  226. data/app/views/spree/shared/cms/pages/_edit_mode.html.erb +13 -0
  227. data/app/views/spree/shared/cms/sections/_featured_article.html.erb +27 -0
  228. data/app/views/spree/shared/cms/sections/_hero_image.html.erb +60 -0
  229. data/app/views/spree/shared/cms/sections/_image_gallery.html.erb +171 -0
  230. data/app/views/spree/shared/cms/sections/_product_carousel.html.erb +5 -0
  231. data/app/views/spree/shared/cms/sections/_rich_text_content.html.erb +3 -0
  232. data/app/views/spree/shared/cms/sections/_side_by_side_images.html.erb +118 -0
  233. data/app/views/spree/taxons/_header.html.erb +7 -2
  234. data/app/views/spree/users/_address.html.erb +16 -24
  235. data/app/views/spree/users/_address_controls.html.erb +10 -0
  236. data/app/views/spree/users/show.html.erb +21 -16
  237. data/config/initializers/admin_actions.rb +18 -0
  238. data/config/initializers/assets.rb +4 -13
  239. data/config/initializers/canonical_rails.rb +1 -1
  240. data/config/routes.rb +30 -26
  241. data/lib/generators/spree/frontend/copy_storefront/copy_storefront_generator.rb +1 -7
  242. data/lib/generators/spree/frontend/install/install_generator.rb +34 -0
  243. data/lib/generators/spree/frontend/install/templates/app/assets/config/manifest.js +2 -0
  244. data/lib/generators/spree/frontend/install/templates/vendor/assets/javascripts/spree/frontend/all.js +8 -0
  245. data/lib/generators/spree/frontend/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +9 -0
  246. data/lib/spree/frontend/configuration.rb +18 -0
  247. data/lib/spree/frontend/engine.rb +3 -1
  248. data/lib/spree/frontend/version.rb +9 -0
  249. data/lib/spree/frontend.rb +8 -4
  250. data/license.md +13 -0
  251. data/spec/fixtures/files/store_favicon.ico +0 -0
  252. data/spree_frontend.gemspec +26 -14
  253. data/vendor/assets/javascripts/cleave.js +8 -0
  254. data/vendor/assets/javascripts/fetch.umd.js +531 -0
  255. data/vendor/assets/javascripts/jquery.payment.js +652 -0
  256. data/vendor/assets/javascripts/jsuri.js +458 -0
  257. data/vendor/assets/javascripts/polyfill.min.js +1 -0
  258. metadata +224 -86
  259. data/app/assets/images/homepage/big_category_banner.jpg +0 -0
  260. data/app/assets/images/homepage/big_category_banner_mobile.jpg +0 -0
  261. data/app/assets/images/homepage/big_category_banner_tablet_landscape.jpg +0 -0
  262. data/app/assets/images/homepage/big_category_banner_tablet_portrait.jpg +0 -0
  263. data/app/assets/images/homepage/category_banner_lower.jpg +0 -0
  264. data/app/assets/images/homepage/category_banner_lower_mobile.jpg +0 -0
  265. data/app/assets/images/homepage/category_banner_lower_tablet_landscape.jpg +0 -0
  266. data/app/assets/images/homepage/category_banner_lower_tablet_portrait.jpg +0 -0
  267. data/app/assets/images/homepage/category_banner_upper.jpg +0 -0
  268. data/app/assets/images/homepage/category_banner_upper_mobile.jpg +0 -0
  269. data/app/assets/images/homepage/category_banner_upper_tablet_landscape.jpg +0 -0
  270. data/app/assets/images/homepage/category_banner_upper_tablet_portrait.jpg +0 -0
  271. data/app/assets/images/homepage/main_banner.jpg +0 -0
  272. data/app/assets/images/homepage/main_banner_mobile.jpg +0 -0
  273. data/app/assets/images/homepage/main_banner_tablet_landscape.jpg +0 -0
  274. data/app/assets/images/homepage/main_banner_tablet_portrait.jpg +0 -0
  275. data/app/assets/images/homepage/promo_banner_left.jpg +0 -0
  276. data/app/assets/images/homepage/promo_banner_left_mobile.jpg +0 -0
  277. data/app/assets/images/homepage/promo_banner_left_tablet_landscape.jpg +0 -0
  278. data/app/assets/images/homepage/promo_banner_left_tablet_portrait.jpg +0 -0
  279. data/app/assets/images/homepage/promo_banner_right.jpg +0 -0
  280. data/app/assets/images/homepage/promo_banner_right_mobile.jpg +0 -0
  281. data/app/assets/images/homepage/promo_banner_right_tablet_landscape.jpg +0 -0
  282. data/app/assets/images/homepage/promo_banner_right_tablet_portrait.jpg +0 -0
  283. data/app/assets/images/meganav/promo_banner_left-first-category.jpg +0 -0
  284. data/app/assets/images/meganav/promo_banner_left-second-category.jpg +0 -0
  285. data/app/assets/images/meganav/promo_banner_left-third-category.jpg +0 -0
  286. data/app/assets/images/meganav/promo_banner_right-first-category.jpg +0 -0
  287. data/app/assets/images/meganav/promo_banner_right-second-category.jpg +0 -0
  288. data/app/assets/images/meganav/promo_banner_right-third-category.jpg +0 -0
  289. data/app/assets/images/noimage/big_category_banner.jpg +0 -0
  290. data/app/assets/images/noimage/big_category_banner_mobile.jpg +0 -0
  291. data/app/assets/images/noimage/big_category_banner_tablet_landscape.jpg +0 -0
  292. data/app/assets/images/noimage/big_category_banner_tablet_portrait.jpg +0 -0
  293. data/app/assets/images/noimage/category_banner.jpg +0 -0
  294. data/app/assets/images/noimage/category_banner_mobile.jpg +0 -0
  295. data/app/assets/images/noimage/category_banner_plp.jpg +0 -0
  296. data/app/assets/images/noimage/category_banner_tablet_landscape.jpg +0 -0
  297. data/app/assets/images/noimage/category_banner_tablet_portrait.jpg +0 -0
  298. data/app/assets/images/noimage/main_banner.jpg +0 -0
  299. data/app/assets/images/noimage/main_banner_mobile.jpg +0 -0
  300. data/app/assets/images/noimage/main_banner_tablet_landscape.jpg +0 -0
  301. data/app/assets/images/noimage/main_banner_tablet_portrait.jpg +0 -0
  302. data/app/assets/images/noimage/product_photo.jpg +0 -0
  303. data/app/assets/images/noimage/promo_banner.jpg +0 -0
  304. data/app/assets/images/noimage/promo_banner_megamenu.jpg +0 -0
  305. data/app/assets/images/noimage/promo_banner_mobile.jpg +0 -0
  306. data/app/assets/images/noimage/promo_banner_tablet_landscape.jpg +0 -0
  307. data/app/assets/images/noimage/promo_banner_tablet_portrait.jpg +0 -0
  308. data/app/assets/images/spark-logo@3x.png +0 -0
  309. data/app/assets/stylesheets/spree/frontend/_glyphicons_urls_fix.scss +0 -10
  310. data/app/assets/stylesheets/spree/frontend/address_book.scss +0 -8
  311. data/app/models/spree/frontend_configuration.rb +0 -7
  312. data/app/views/spree/shared/_taxonomies.html.erb +0 -16
  313. /data/app/views/spree/{shared → errors}/forbidden.html.erb +0 -0
  314. /data/app/views/spree/{shared → errors}/unauthorized.html.erb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5317d2a7a6ca3ca3bfb57ecec0acf3855ac522773bff72c884ee245475c5fda7
4
- data.tar.gz: 5b18212fba5963c66c4ef309335f5627506c384fde5ac8f50f84130f1bfdecc1
3
+ metadata.gz: 66ee07c39f3973037fba8e3d5c16f5de80d7cf7152051058b7138ea98b1e0160
4
+ data.tar.gz: 8413f7984b0dca8fbc785c36d958bf409d7d635dadf997861ed3db8c2f9949c2
5
5
  SHA512:
6
- metadata.gz: 581b2b7605797cbd41255ae3a7c6039599bfb927ca626081fc90db6ed763a70bc2be1f6e2f8b8f32199f37cdbf165dcea7cb4950ab17efe52c68d2a46782e409
7
- data.tar.gz: 4cdc7a0dd326ff60029ea95993a213efd34ff292f01e1a2e5ff497f7d968ee61fde81e784d2993a8a86a97c77015e2e2088d7a2ef9275a0b1d9671019f5bc416
6
+ metadata.gz: 4276034e9e0892d040c79e0ddbb31753c926d0e1d2d7a7f43a378d23224e2418ec41480b95be79ac84bce9da899b2f6951a7dabbdfdf367b430464084230363c
7
+ data.tar.gz: 67a583cbbf0c984f0b297b4a258a3391bcef391a54683fa5b7c4bbaaeab5897b37a837e655cba233cfa4835315b908402e5e18fcb6b3371e19bdcd39204f20a3
@@ -0,0 +1,120 @@
1
+ version: 2.1 # use CircleCI 2.0
2
+
3
+ defaults: &defaults
4
+ environment: &environment
5
+ CIRCLE_TEST_REPORTS: /tmp/test-results
6
+ CIRCLE_ARTIFACTS: /tmp/test-artifacts
7
+ BUNDLE_JOBS: 4
8
+ BUNDLE_RETRY: 3
9
+ BUNDLE_PATH: ~/spree/vendor/bundle
10
+ RAILS_VERSION: '~> 7.1.0'
11
+ working_directory: ~/spree
12
+ docker:
13
+ - image: &ruby_3_2_image circleci/ruby:3.0-node-browsers
14
+ - image: &redis_image circleci/redis:6.2-alpine
15
+
16
+ run_tests_3_2: &run_tests_3_2
17
+ <<: *defaults
18
+ parallelism: 8
19
+ steps:
20
+ - checkout
21
+ - restore_cache:
22
+ keys:
23
+ - spree-storefront-old-bundle-v10-ruby-3-2-{{ .Branch }}
24
+ - spree-storefront-old-bundle-v10-ruby-3-2
25
+ - run:
26
+ name: Add keyserver
27
+ command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
28
+ - run:
29
+ name: Install libvips
30
+ command: sudo apt-get update && sudo apt-get install libvips
31
+ - run:
32
+ name: Set bundle path
33
+ command: bundle config --local path vendor/bundle
34
+ - run:
35
+ name: Ensure bundle Install
36
+ command: |
37
+ bundle check || bundle install
38
+ - run:
39
+ name: Create test app
40
+ command: |
41
+ bundle exec rake test_app
42
+ - run:
43
+ name: Run Rspec
44
+ command: |
45
+ TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
46
+ bundle exec rspec --format documentation \
47
+ --format RspecJunitFormatter \
48
+ -o ~/rspec/rspec.xml \
49
+ -- ${TESTFILES}
50
+ - store_test_results:
51
+ path: ~/rspec
52
+ - store_artifacts:
53
+ path: tmp/capybara
54
+
55
+ jobs:
56
+ bundle_ruby_3_2:
57
+ <<: *defaults
58
+ steps:
59
+ - checkout
60
+ - restore_cache:
61
+ keys:
62
+ - spree-storefront-old-bundle-v10-ruby-3-2-{{ .Branch }}
63
+ - spree-storefront-old-bundle-v10-ruby-3-2
64
+ - run:
65
+ name: Add keyserver
66
+ command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
67
+ - run:
68
+ name: Install libvips
69
+ command: sudo apt-get update && sudo apt-get install libvips
70
+ - run:
71
+ name: Set bundle path
72
+ command: bundle config --local path vendor/bundle
73
+ - run:
74
+ name: Bundle Install
75
+ command: |
76
+ bundle check || bundle install
77
+ - save_cache:
78
+ paths:
79
+ - vendor/bundle
80
+ key: spree-storefront-old-bundle-v10-ruby-3-2-{{ checksum "Gemfile.lock" }}
81
+
82
+ tests_ruby_3_2_rails_7_1_postgres:
83
+ <<: *run_tests_3_2
84
+ environment: &postgres_environment
85
+ <<: *environment
86
+ DB: postgres
87
+ DB_HOST: localhost
88
+ DB_USERNAME: postgres
89
+ docker:
90
+ - image: *ruby_3_2_image
91
+ - image: &postgres_image circleci/postgres:12-alpine
92
+ environment:
93
+ POSTGRES_USER: postgres
94
+ - image: *redis_image
95
+
96
+ tests_ruby_3_2_rails_7_1_mysql:
97
+ <<: *run_tests_3_2
98
+ environment: &mysql_environment
99
+ <<: *environment
100
+ DB: mysql
101
+ DB_HOST: 127.0.0.1
102
+ DB_USERNAME: root
103
+ COVERAGE: true
104
+ COVERAGE_DIR: /tmp/workspace/simplecov
105
+ docker:
106
+ - image: *ruby_3_2_image
107
+ - image: *redis_image
108
+ - image: &mysql_image circleci/mysql:8-ram
109
+
110
+ workflows:
111
+ version: 2
112
+ main:
113
+ jobs:
114
+ - bundle_ruby_3_2
115
+ - tests_ruby_3_2_rails_7_1_postgres:
116
+ requires:
117
+ - bundle_ruby_3_2
118
+ - tests_ruby_3_2_rails_7_1_mysql:
119
+ requires:
120
+ - bundle_ruby_3_2
data/.codeclimate.yml ADDED
@@ -0,0 +1,36 @@
1
+ version: "2"
2
+ plugins:
3
+ rubocop:
4
+ enabled: true
5
+ checks:
6
+ Rubocop/Naming/RescuedExceptionsVariableName:
7
+ enabled: false
8
+ Rubocop/Layout/AlignArguments:
9
+ enabled: false
10
+ Rubocop/Style/MultilineWhenThen:
11
+ enabled: false
12
+ Rubocop/Layout/SpaceAroundOperators:
13
+ enabled: false
14
+ Rubocop/Style/FormatStringToken:
15
+ enabled: false
16
+ config:
17
+ file: .rubocop.yml
18
+ channel: "rubocop-1-50-3" # need to keep this value the same as rubocop version
19
+ # https://docs.codeclimate.com/v1.0/docs/rubocop#section-using-rubocop-s-newer-versions
20
+ eslint:
21
+ enabled: true
22
+ config:
23
+ extensions:
24
+ - .es6
25
+ - .js
26
+ channel: "eslint-7" # need to keep this value the same as eslint version
27
+ # https://docs.codeclimate.com/v1.0/docs/eslint#section-eslint-versions
28
+ stylelint:
29
+ enabled: true
30
+ exclude_patterns:
31
+ - "**/bin/"
32
+ - "**/script/"
33
+ - "**/vendor/"
34
+ - "**/spec/"
35
+ - "public/"
36
+ - "sample/db/samples"
data/.deepsource.toml ADDED
@@ -0,0 +1,19 @@
1
+ version = 1
2
+
3
+ exclude_patterns = [
4
+ "**/sandbox/**/*",
5
+ "**/db/migrate/*",
6
+ "**/Gemfile",
7
+ "**/Gemfile.lock",
8
+ "**/Rakefile",
9
+ "**/rails",
10
+ "**/*.gemspec",
11
+ "**/dummy/**/*",
12
+ "**/vendor/**/*",
13
+ "**/spec_helper.rb",
14
+ "**/templates/**/*"
15
+ ]
16
+
17
+ [[analyzers]]
18
+ name = "ruby"
19
+ enabled = true
data/.editorconfig ADDED
@@ -0,0 +1,22 @@
1
+ # http://EditorConfig.org
2
+ # https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
3
+
4
+ root = true
5
+
6
+ [*]
7
+ charset = utf-8
8
+ end_of_line = lf
9
+ indent_size = 2
10
+ indent_style = space
11
+ insert_final_newline = true
12
+ trim_trailing_whitespace = true
13
+ tab_width = 2
14
+
15
+ [**.rb]
16
+ max_line_length = 150
17
+
18
+ [**.js, **.coffee]
19
+ max_line_length = 150
20
+
21
+ [*.md]
22
+ trim_trailing_whitespace = false
data/.eslintignore ADDED
@@ -0,0 +1,7 @@
1
+ **/vendor/**
2
+ **/dummy/**
3
+ **/sandbox/**
4
+ *-min.js
5
+ *.min.js
6
+ jquery*.js
7
+ /cli/lib/spree_cli/templates/**
data/.eslintrc ADDED
@@ -0,0 +1,36 @@
1
+ ---
2
+ extends: standard
3
+
4
+ globals:
5
+ Spree: true
6
+ analytics: true
7
+ DOMPurify: true
8
+ flatpickr: true
9
+ Sortable: true
10
+ ga: true
11
+ _: true
12
+ Select2: true
13
+ Handlebars: true
14
+ Raphael: true
15
+ SpreeAPI: true
16
+ SpreePaths: true
17
+ CouponManager: true
18
+ ThumbnailsCarousel: true
19
+ Turbo: true
20
+ ADDRESS_FIELDS: true
21
+ AUTH_TOKEN: true
22
+ SPREE_LOCALE: true
23
+ SPREE_CURRENCY: true
24
+ SPREE_DEFAULT_CURRENCY: true
25
+ SPREE_DEFAULT_LOCALE: true
26
+ OAUTH_TOKEN: true
27
+ updateAddressState: true
28
+ formatSelect2Options: true
29
+
30
+ env:
31
+ browser: true
32
+ jquery: true
33
+
34
+ rules:
35
+ space-before-function-paren: off
36
+ semi: off
data/.gem_release.yml ADDED
@@ -0,0 +1,7 @@
1
+
2
+ bump:
3
+ recurse: false
4
+ file: 'frontend/lib/spree/frontend/version.rb'
5
+
6
+ release:
7
+ recurse: true
@@ -0,0 +1 @@
1
+ Please visit [Contributing section](https://dev-docs.spreecommerce.org/contributing/index) of Spree Guides. Thank you!
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: Needs Confirmation
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!--- Provide a general summary of the issue in the Title above -->
11
+
12
+ ## Context
13
+ <!--- Provide a more detailed introduction to the issue itself -->
14
+ <!--- How has this issue affected you? What were you trying to accomplish? -->
15
+
16
+ ## Expected Behavior
17
+ <!--- Tell us what should happen -->
18
+
19
+ ## Actual Behavior
20
+ <!--- Tell us what happens instead -->
21
+
22
+ ## Possible Fix
23
+ <!--- Not obligatory, but suggest a fix or reason for the issue -->
24
+
25
+ ## Steps to Reproduce
26
+ <!--- Provide a link to a live example, or an unambiguous set of steps to -->
27
+ <!--- reproduce this issue include code to reproduce, if relevant -->
28
+ 1.
29
+ 2.
30
+ 3.
31
+ 4.
32
+
33
+ ## Your Environment
34
+ <!--- Include as many relevant details about the environment you experienced the issue in -->
35
+ * Version used:
36
+ * Gemfile and Gemfile.lock as text in a Gist:
37
+ * Any relevant stack traces ("Full trace" preferred):
38
+
39
+ <!--- Please remember to format code using triple backticks (`)
40
+ so that it is neatly formatted when the issue is posted. -->
41
+
42
+ <!--- In 99% of cases, this information is enough to determine the cause and
43
+ solution to the problem that is being described.
44
+
45
+ Any issue that is open for 14 days without actionable information or
46
+ activity will be marked as "stalled" and then closed. Stalled issues
47
+ can be re-opened if the information requested is provided. -->
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: 'New Feature :tada:'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,39 @@
1
+
2
+ <!--- Provide a general summary of the issue in the Title above -->
3
+
4
+ ## Context
5
+ <!--- Provide a more detailed introduction to the issue itself -->
6
+ <!--- How has this issue affected you? What were you trying to accomplish? -->
7
+
8
+ ## Expected Behavior
9
+ <!--- Tell us what should happen -->
10
+
11
+ ## Actual Behavior
12
+ <!--- Tell us what happens instead -->
13
+
14
+ ## Possible Fix
15
+ <!--- Not obligatory, but suggest a fix or reason for the issue -->
16
+
17
+ ## Steps to Reproduce
18
+ <!--- Provide a link to a live example, or an unambiguous set of steps to -->
19
+ <!--- reproduce this issue include code to reproduce, if relevant -->
20
+ 1.
21
+ 2.
22
+ 3.
23
+ 4.
24
+
25
+ ## Your Environment
26
+ <!--- Include as many relevant details about the environment you experienced the issue in -->
27
+ * Version used:
28
+ * Gemfile and Gemfile.lock as text in a Gist:
29
+ * Any relevant stack traces ("Full trace" preferred):
30
+
31
+ <!--- Please remember to format code using triple backticks (`)
32
+ so that it is neatly formatted when the issue is posted. -->
33
+
34
+ <!--- In 99% of cases, this information is enough to determine the cause and
35
+ solution to the problem that is being described.
36
+
37
+ Any issue that is open for 14 days without actionable information or
38
+ activity will be marked as "stalled" and then closed. Stalled issues
39
+ can be re-opened if the information requested is provided. -->
@@ -0,0 +1,32 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/backend"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
8
+ - package-ecosystem: bundler
9
+ directory: "/frontend"
10
+ schedule:
11
+ interval: daily
12
+ open-pull-requests-limit: 10
13
+ - package-ecosystem: bundler
14
+ directory: "/core"
15
+ schedule:
16
+ interval: daily
17
+ open-pull-requests-limit: 10
18
+ - package-ecosystem: bundler
19
+ directory: "/cli"
20
+ schedule:
21
+ interval: daily
22
+ open-pull-requests-limit: 10
23
+ - package-ecosystem: bundler
24
+ directory: "/api"
25
+ schedule:
26
+ interval: daily
27
+ open-pull-requests-limit: 10
28
+ - package-ecosystem: bundler
29
+ directory: "/sample"
30
+ schedule:
31
+ interval: daily
32
+ open-pull-requests-limit: 10
data/.gitignore ADDED
@@ -0,0 +1,58 @@
1
+ \#*
2
+ **/*.db
3
+ **/*.log
4
+ **/*.byebug_history
5
+ *~
6
+ .#*
7
+ .DS_Store
8
+ .bundle
9
+ .dotest
10
+ .idea
11
+ .loadpath
12
+ .project
13
+ .vscode
14
+ public/dispatch.cgi
15
+ public/dispatch.fcgi
16
+ public/dispatch.rb
17
+ httpd
18
+ pgsql
19
+ config/*-public.asc
20
+ config/database.yml
21
+ config/mongrel_cluster.yml
22
+ db/*.sql
23
+ db/*.sqlite3*
24
+ db/schema.rb
25
+ doc/**/*
26
+ Gemfile.lock
27
+ */Gemfile.lock
28
+ lib/products_index_profiler.rb
29
+ log/*.log
30
+ pkg
31
+ public/assets
32
+ public/attachments
33
+ public/blank_iframe.html
34
+ public/ckeditora
35
+ sandbox/*
36
+ spree_dev
37
+ spree_test
38
+ testapp
39
+ **/spec/dummy
40
+ tmp
41
+ public/google_base.xml
42
+ public/template_google_base.xml
43
+ coverage/*
44
+ var
45
+ nbproject
46
+ ./vendor
47
+ *.swp
48
+ rerun.txt
49
+ test_app
50
+ .rvmrc
51
+ **/coverage
52
+ */.sass-cache
53
+ .localeapp
54
+ .ruby-gemset
55
+ vendor/bundle
56
+ */vendor/bundle
57
+ .ignore
58
+ TODO
data/.rubocop.yml ADDED
@@ -0,0 +1,197 @@
1
+ require: rubocop-rspec
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 3.0
5
+ Exclude:
6
+ - '**/sandbox/**/*'
7
+ - '**/db/migrate/*'
8
+ - '**/Gemfile'
9
+ - '**/Gemfile.lock'
10
+ - '**/Rakefile'
11
+ - '**/rails'
12
+ - '**/*.gemspec'
13
+ - '**/dummy/**/*'
14
+ - '**/vendor/**/*'
15
+ - '**/spec_helper.rb'
16
+ - '**/templates/**/*'
17
+
18
+ Layout/MultilineOperationIndentation:
19
+ EnforcedStyle: indented
20
+
21
+ Layout/ParameterAlignment:
22
+ Enabled: false
23
+
24
+ Metrics/ClassLength:
25
+ CountComments: false
26
+ Max: 150
27
+
28
+ Metrics/ModuleLength:
29
+ CountComments: false
30
+ Max: 250
31
+ Exclude:
32
+ - '**/spec/**/*'
33
+
34
+ Style/Documentation:
35
+ Enabled: false
36
+
37
+ Layout/LineLength:
38
+ Max: 150
39
+ Exclude:
40
+ - '**/spec/**/*'
41
+
42
+ Metrics/MethodLength:
43
+ CountComments: false
44
+ Max: 50
45
+
46
+ Metrics/BlockLength:
47
+ CountComments: false
48
+ Max: 50
49
+ Exclude:
50
+ - '**/spec/**/*'
51
+ - '**/*.rake'
52
+ - '**/factories/**/*'
53
+ - '**/config/routes.rb'
54
+
55
+ Metrics/AbcSize:
56
+ Max: 45
57
+
58
+ Style/StringLiterals:
59
+ EnforcedStyle: single_quotes
60
+
61
+ Layout/DotPosition:
62
+ EnforcedStyle: trailing
63
+ Enabled: true
64
+
65
+ Layout/SpaceInsideArrayLiteralBrackets:
66
+ Exclude:
67
+ - 'api/spec/integration/**/*.rb'
68
+ - 'api/lib/spree/api/testing_support/v2/platform_contexts.rb'
69
+
70
+ Style/FrozenStringLiteralComment:
71
+ Enabled: false
72
+
73
+ Style/RegexpLiteral:
74
+ Enabled: false
75
+
76
+ Style/WordArray:
77
+ Enabled: false
78
+
79
+ Style/SymbolArray:
80
+ Enabled: false
81
+
82
+ Style/SymbolProc:
83
+ Exclude:
84
+ - '**/app/serializers/**/*'
85
+
86
+ Style/GuardClause:
87
+ Enabled: false
88
+
89
+ Style/TrailingCommaInArrayLiteral:
90
+ Enabled: false
91
+
92
+ Style/TrailingCommaInHashLiteral:
93
+ Enabled: false
94
+
95
+ Style/BarePercentLiterals:
96
+ Enabled: false
97
+
98
+ Style/MutableConstant:
99
+ Enabled: false
100
+
101
+ Style/PercentLiteralDelimiters:
102
+ Enabled: false
103
+
104
+ Style/IfUnlessModifier:
105
+ Enabled: false
106
+
107
+ Naming/VariableNumber:
108
+ Enabled: false
109
+
110
+ Style/RedundantPercentQ:
111
+ Enabled: false
112
+
113
+ Lint/ParenthesesAsGroupedExpression:
114
+ Enabled: false
115
+
116
+ Style/NumericPredicate:
117
+ Enabled: false
118
+
119
+ Metrics/PerceivedComplexity:
120
+ Max: 10
121
+
122
+ Metrics/CyclomaticComplexity:
123
+ Max: 10
124
+
125
+ Style/ClassAndModuleChildren:
126
+ Enabled: false
127
+
128
+ Style/AndOr:
129
+ Exclude:
130
+ - '**/*controller.rb'
131
+
132
+ Style/HashEachMethods:
133
+ Enabled: false
134
+
135
+ Style/HashTransformKeys:
136
+ Enabled: false
137
+
138
+ Style/HashTransformValues:
139
+ Enabled: false
140
+
141
+ RSpec/NestedGroups:
142
+ Max: 7
143
+
144
+ Lint/AmbiguousBlockAssociation:
145
+ Exclude:
146
+ - '**/spec/**/*'
147
+
148
+ Style/NumericLiterals:
149
+ Enabled: false
150
+
151
+ RSpec/DescribeClass:
152
+ Enabled: false
153
+
154
+ RSpec/VerifiedDoubles:
155
+ Enabled: false
156
+
157
+ RSpec/MessageChain:
158
+ Enabled: false
159
+
160
+ RSpec/AnyInstance:
161
+ Enabled: false
162
+
163
+ RSpec/InstanceVariable:
164
+ Enabled: false
165
+
166
+ RSpec/ContextWording:
167
+ Enabled: false
168
+
169
+ RSpec/ExpectInHook:
170
+ Enabled: false
171
+
172
+ RSpec/ExampleLength:
173
+ Enabled: false
174
+
175
+ RSpec/MessageSpies:
176
+ Enabled: false
177
+
178
+ RSpec/NamedSubject:
179
+ Enabled: false
180
+
181
+ RSpec/MultipleExpectations:
182
+ Enabled: false
183
+
184
+ RSpec/FilePath:
185
+ Enabled: false
186
+
187
+ RSpec/LetSetup:
188
+ Enabled: false
189
+
190
+ RSpec/SubjectStub:
191
+ Enabled: false
192
+
193
+ RSpec/VoidExpect:
194
+ Enabled: false
195
+
196
+ RSpec/BeforeAfterAll:
197
+ Enabled: false
data/.solargraph.yml ADDED
@@ -0,0 +1,20 @@
1
+ ---
2
+ include:
3
+ - "**/*.rb"
4
+ exclude:
5
+ - "*/spec/**/*"
6
+ - "*test/**/*"
7
+ - "*/vendor/**/*"
8
+ - vendor/**/*
9
+ - ".bundle/**/*"
10
+ - sample/**/*
11
+ - sandbox/**/*
12
+ - pkg/**/*
13
+ - cli/**/*.gemspec
14
+ require: []
15
+ domains: []
16
+ reporters:
17
+ - rubocop
18
+ - require_not_found
19
+ require_paths: []
20
+ max_files: 50_000
data/.stylelintignore ADDED
@@ -0,0 +1,4 @@
1
+ **/vendor/**
2
+ **/dummy/**
3
+ **/sandbox/**
4
+ /cli/lib/spree_cli/templates/**
data/.stylelintrc ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "stylelint-config-recommended",
3
+ "rules": {
4
+ "at-rule-no-unknown": null
5
+ }
6
+ }