spree_backend 4.3.0 → 4.4.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 (263) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +222 -0
  3. data/.codeclimate.yml +36 -0
  4. data/.editorconfig +22 -0
  5. data/.eslintignore +7 -0
  6. data/.eslintrc.cjs +29 -0
  7. data/.gem_release.yml +4 -0
  8. data/.github/CONTRIBUTING.md +1 -0
  9. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  10. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  11. data/.github/ISSUE_TEMPLATE.md +39 -0
  12. data/.github/dependabot.yml +7 -0
  13. data/.github/workflows/spelling_lint.yml +34 -0
  14. data/.gitignore +64 -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 +59 -3
  21. data/README.md +123 -0
  22. data/SECURITY.md +1 -0
  23. data/app/assets/config/spree_backend_manifest.js +1 -1
  24. data/app/assets/images/backend-cloud-arrow-up.svg +4 -0
  25. data/app/assets/images/backend-eye-open.svg +1 -1
  26. data/app/assets/images/backend-file-earmark-font.svg +4 -0
  27. data/app/assets/images/backend-file-earmark-image.svg +4 -0
  28. data/app/assets/images/backend-file-earmark-music.svg +4 -0
  29. data/app/assets/images/backend-file-earmark-pdf.svg +4 -0
  30. data/app/assets/images/backend-file-earmark-play.svg +4 -0
  31. data/app/assets/images/backend-file-earmark-spreadsheet.svg +3 -0
  32. data/app/assets/images/backend-file-earmark-zip.svg +4 -0
  33. data/app/assets/images/backend-file-earmark.svg +3 -0
  34. data/app/assets/images/backend-hdd.svg +4 -0
  35. data/app/assets/images/backend-link.svg +4 -0
  36. data/app/assets/images/backend-view.svg +1 -1
  37. data/app/assets/javascripts/spree/backend/address_states.es6 +2 -0
  38. data/app/assets/javascripts/spree/backend/adjustments.js +5 -5
  39. data/app/assets/javascripts/spree/backend/admin.js +4 -6
  40. data/app/assets/javascripts/spree/backend/calculator.js +1 -1
  41. data/app/assets/javascripts/spree/backend/checkouts/edit.js +1 -1
  42. data/app/assets/javascripts/spree/backend/cms/links.es6 +1 -1
  43. data/app/assets/javascripts/spree/backend/cms/live_preview.es6 +1 -1
  44. data/app/assets/javascripts/spree/backend/cms/page.es6 +22 -40
  45. data/app/assets/javascripts/spree/backend/cms/section.es6 +1 -1
  46. data/app/assets/javascripts/spree/backend/gateway.js +1 -1
  47. data/app/assets/javascripts/spree/backend/general_settings.js +1 -1
  48. data/app/assets/javascripts/spree/backend/global/_index.js +3 -1
  49. data/app/assets/javascripts/spree/backend/global/alerts.es6 +1 -1
  50. data/app/assets/javascripts/spree/backend/global/animate_css.es6 +19 -0
  51. data/app/assets/javascripts/spree/backend/global/fetch_request_utility.es6 +114 -0
  52. data/app/assets/javascripts/spree/backend/global/flatpickr.es6 +8 -1
  53. data/app/assets/javascripts/spree/backend/global/info_alert.es6 +1 -1
  54. data/app/assets/javascripts/spree/backend/global/radio_panel_toggle.es6 +1 -1
  55. data/app/assets/javascripts/spree/backend/global/ransack.es6 +7 -5
  56. data/app/assets/javascripts/spree/backend/global/responsive_menus.es6 +1 -1
  57. data/app/assets/javascripts/spree/backend/global/select2_autocomplete.es6 +11 -4
  58. data/app/assets/javascripts/spree/backend/global/select2_populate.es6 +2 -2
  59. data/app/assets/javascripts/spree/backend/global/side_scroll_indication.es6 +2 -2
  60. data/app/assets/javascripts/spree/backend/global/sortable.es6 +1 -1
  61. data/app/assets/javascripts/spree/backend/global/tinymce.es6 +3 -2
  62. data/app/assets/javascripts/spree/backend/line_items.js +7 -9
  63. data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +23 -28
  64. data/app/assets/javascripts/spree/backend/menus/_index.es6 +0 -1
  65. data/app/assets/javascripts/spree/backend/menus/menu_item.es6 +1 -1
  66. data/app/assets/javascripts/spree/backend/multi_currency.js +2 -2
  67. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +1 -1
  68. data/app/assets/javascripts/spree/backend/orders/edit.js +1 -1
  69. data/app/assets/javascripts/spree/backend/payments/edit.js +32 -22
  70. data/app/assets/javascripts/spree/backend/payments/new.js +1 -1
  71. data/app/assets/javascripts/spree/backend/product_picker.js +16 -25
  72. data/app/assets/javascripts/spree/backend/progress.js +5 -3
  73. data/app/assets/javascripts/spree/backend/promotions.js +3 -1
  74. data/app/assets/javascripts/spree/backend/returns/expedited_exchanges_warning.js +1 -1
  75. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +1 -1
  76. data/app/assets/javascripts/spree/backend/shipments.js +80 -79
  77. data/app/assets/javascripts/spree/backend/spree-select2.js +8 -1
  78. data/app/assets/javascripts/spree/backend/states.js +1 -1
  79. data/app/assets/javascripts/spree/backend/stock_location.js +1 -1
  80. data/app/assets/javascripts/spree/backend/stock_management.js +1 -1
  81. data/app/assets/javascripts/spree/backend/stock_movement.js +58 -13
  82. data/app/assets/javascripts/spree/backend/stock_transfer.js +62 -32
  83. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +9 -8
  84. data/app/assets/javascripts/spree/backend/taxons.js +17 -14
  85. data/app/assets/javascripts/spree/backend/user_picker.js +1 -1
  86. data/app/assets/javascripts/spree/backend/users/edit.js +1 -1
  87. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +19 -11
  88. data/app/assets/javascripts/spree/backend/variant_management.js +1 -1
  89. data/app/assets/javascripts/spree/backend/zone.js +1 -1
  90. data/app/assets/javascripts/spree/backend.js +13 -33
  91. data/app/assets/javascripts/spree.js +2 -9
  92. data/app/assets/stylesheets/spree/backend/components/_main.scss +8 -0
  93. data/app/assets/stylesheets/spree/backend/plugins/_nav_x.scss +1 -1
  94. data/app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss +1 -1
  95. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -1
  96. data/app/assets/stylesheets/spree/backend/shared/_sortable_tree.scss +62 -0
  97. data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +3 -0
  98. data/app/assets/stylesheets/spree/backend/views/_digitals.scss +33 -0
  99. data/app/assets/stylesheets/spree/backend/views/{prototypes.scss → _prototypes.scss} +0 -0
  100. data/app/assets/stylesheets/spree/backend/views/_taxonomies.scss +3 -0
  101. data/app/controllers/spree/admin/base_controller.rb +4 -13
  102. data/app/controllers/spree/admin/digitals_controller.rb +33 -0
  103. data/app/controllers/spree/admin/general_settings_controller.rb +0 -5
  104. data/app/controllers/spree/admin/images_controller.rb +1 -1
  105. data/app/controllers/spree/admin/oauth_applications_controller.rb +17 -0
  106. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  107. data/app/controllers/spree/admin/orders_controller.rb +10 -2
  108. data/app/controllers/spree/admin/payment_methods_controller.rb +2 -2
  109. data/app/controllers/spree/admin/payments_controller.rb +1 -1
  110. data/app/controllers/spree/admin/products_controller.rb +4 -2
  111. data/app/controllers/spree/admin/promotions_controller.rb +1 -1
  112. data/app/controllers/spree/admin/properties_controller.rb +1 -1
  113. data/app/controllers/spree/admin/resource_controller.rb +9 -4
  114. data/app/controllers/spree/admin/return_index_controller.rb +3 -4
  115. data/app/controllers/spree/admin/stock_transfers_controller.rb +2 -2
  116. data/app/controllers/spree/admin/store_credits_controller.rb +2 -2
  117. data/app/controllers/spree/admin/stores_controller.rb +2 -2
  118. data/app/controllers/spree/admin/taxons_controller.rb +23 -38
  119. data/app/controllers/spree/admin/users_controller.rb +6 -19
  120. data/app/controllers/spree/admin/variants_controller.rb +1 -2
  121. data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +48 -0
  122. data/app/helpers/spree/admin/base_helper.rb +27 -9
  123. data/app/helpers/spree/admin/digital_helper.rb +28 -0
  124. data/app/helpers/spree/admin/menu_helper.rb +0 -21
  125. data/app/helpers/spree/admin/navigation_helper.rb +19 -9
  126. data/app/helpers/spree/admin/sortable_tree_helper.rb +31 -0
  127. data/app/helpers/spree/admin/stores_helper.rb +1 -1
  128. data/app/helpers/spree/admin/webhooks_subscribers_helper.rb +31 -0
  129. data/app/javascript/spree/dashboard/controllers/clipboard_controller.js +12 -0
  130. data/app/javascript/spree/dashboard/controllers/password_toggle_controller.js +14 -0
  131. data/app/javascript/spree/dashboard/controllers/sortable_tree_controller.js +55 -0
  132. data/app/javascript/spree/dashboard/controllers/spree_controller.js +25 -0
  133. data/app/javascript/spree/dashboard/controllers/upload_button_controller.js +13 -0
  134. data/app/javascript/spree/dashboard/controllers/webhooks_subscriber_events_controller.js +19 -0
  135. data/app/javascript/spree/dashboard/index.js +49 -0
  136. data/app/{assets/javascripts/spree/backend/global/bootstrap.es6 → javascript/spree/dashboard/utilities/bootstrap.js} +6 -2
  137. data/app/javascript/spree/dashboard/utilities/request_utility.js +54 -0
  138. data/app/models/spree/backend_configuration.rb +11 -0
  139. data/app/views/spree/admin/adjustments/_form.html.erb +2 -2
  140. data/app/views/spree/admin/adjustments/index.html.erb +1 -0
  141. data/app/views/spree/admin/cms_pages/_form.html.erb +8 -8
  142. data/app/views/spree/admin/cms_pages/edit.html.erb +1 -6
  143. data/app/views/spree/admin/cms_sections/_form.html.erb +2 -2
  144. data/app/views/spree/admin/cms_sections/types/_featured_article.html.erb +6 -6
  145. data/app/views/spree/admin/cms_sections/types/_hero_image.html.erb +6 -6
  146. data/app/views/spree/admin/cms_sections/types/_image_gallery.html.erb +12 -12
  147. data/app/views/spree/admin/cms_sections/types/_rich_text_content.html.erb +1 -1
  148. data/app/views/spree/admin/cms_sections/types/_side_by_side_images.html.erb +12 -12
  149. data/app/views/spree/admin/countries/_form.html.erb +4 -4
  150. data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
  151. data/app/views/spree/admin/digitals/_form.html.erb +35 -0
  152. data/app/views/spree/admin/digitals/index.html.erb +25 -0
  153. data/app/views/spree/admin/general_settings/edit.html.erb +1 -22
  154. data/app/views/spree/admin/menu_items/_form.html.erb +6 -6
  155. data/app/views/spree/admin/menus/_form.html.erb +3 -3
  156. data/app/views/spree/admin/menus/edit.html.erb +18 -18
  157. data/app/views/spree/admin/oauth_applications/_form.html.erb +22 -0
  158. data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +38 -0
  159. data/app/views/spree/admin/oauth_applications/edit.html.erb +13 -0
  160. data/app/views/spree/admin/oauth_applications/index.html.erb +51 -0
  161. data/app/views/spree/admin/oauth_applications/new.html.erb +15 -0
  162. data/app/views/spree/admin/option_types/_form.html.erb +3 -3
  163. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +2 -2
  164. data/app/views/spree/admin/orders/_channel_form.html.erb +1 -1
  165. data/app/views/spree/admin/orders/_form.html.erb +1 -0
  166. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +1 -0
  167. data/app/views/spree/admin/orders/_order_actions.html.erb +6 -0
  168. data/app/views/spree/admin/orders/_search.html.erb +151 -0
  169. data/app/views/spree/admin/orders/index.html.erb +2 -151
  170. data/app/views/spree/admin/payment_methods/_form.html.erb +2 -2
  171. data/app/views/spree/admin/payments/_list.html.erb +1 -1
  172. data/app/views/spree/admin/products/_form.html.erb +19 -20
  173. data/app/views/spree/admin/products/index.html.erb +2 -1
  174. data/app/views/spree/admin/products/new.html.erb +6 -6
  175. data/app/views/spree/admin/promotion_actions/create.js.erb +1 -1
  176. data/app/views/spree/admin/promotion_categories/_form.html.erb +2 -2
  177. data/app/views/spree/admin/promotions/_form.html.erb +5 -5
  178. data/app/views/spree/admin/properties/_form.html.erb +3 -3
  179. data/app/views/spree/admin/prototypes/_form.html.erb +4 -4
  180. data/app/views/spree/admin/refunds/new.html.erb +2 -2
  181. data/app/views/spree/admin/reimbursement_types/_form.html.erb +2 -2
  182. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -3
  183. data/app/views/spree/admin/roles/_form.html.erb +1 -1
  184. data/app/views/spree/admin/shared/_account_nav.html.erb +1 -1
  185. data/app/views/spree/admin/shared/_address_form.html.erb +4 -4
  186. data/app/views/spree/admin/shared/_head.html.erb +4 -8
  187. data/app/views/spree/admin/shared/_main_menu.html.erb +12 -0
  188. data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
  189. data/app/views/spree/admin/shared/_product_tabs.html.erb +8 -0
  190. data/app/views/spree/admin/shared/_version.html.erb +1 -1
  191. data/app/views/spree/admin/shared/cms/_spree_product.html.erb +2 -2
  192. data/app/views/spree/admin/shared/cms/_spree_taxon.html.erb +2 -2
  193. data/app/views/spree/admin/shared/linkables/_spree_cms_page.erb +2 -2
  194. data/app/views/spree/admin/shared/linkables/_spree_product.html.erb +2 -2
  195. data/app/views/spree/admin/shared/linkables/_spree_taxon.html.erb +2 -2
  196. data/app/views/spree/admin/shared/linkables/_url.html.erb +1 -1
  197. data/app/views/spree/admin/shared/named_types/_form.html.erb +1 -1
  198. data/app/views/spree/admin/{menus/nested_menu_items/_item_bar.html.erb → shared/sortable_tree/_menu.html.erb} +10 -7
  199. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +34 -0
  200. data/app/views/spree/admin/shared/sub_menu/_apps.html.erb +3 -0
  201. data/app/views/spree/admin/shared/sub_menu/_integrations.html.erb +3 -0
  202. data/app/views/spree/admin/shipping_categories/_form.html.erb +1 -1
  203. data/app/views/spree/admin/shipping_methods/_form.html.erb +8 -8
  204. data/app/views/spree/admin/states/_form.html.erb +2 -2
  205. data/app/views/spree/admin/stock_locations/_form.html.erb +2 -2
  206. data/app/views/spree/admin/stock_movements/_form.html.erb +3 -3
  207. data/app/views/spree/admin/store_credit_categories/_form.html.erb +1 -1
  208. data/app/views/spree/admin/store_credits/_form.html.erb +4 -4
  209. data/app/views/spree/admin/stores/_form.html.erb +280 -227
  210. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -4
  211. data/app/views/spree/admin/tax_rates/_form.html.erb +4 -3
  212. data/app/views/spree/admin/taxonomies/_form.html.erb +2 -2
  213. data/app/views/spree/admin/taxonomies/edit.html.erb +34 -29
  214. data/app/views/spree/admin/taxons/_form.html.erb +101 -57
  215. data/app/views/spree/admin/taxons/edit.html.erb +6 -3
  216. data/app/views/spree/admin/taxons/index.html.erb +1 -1
  217. data/app/views/spree/admin/taxons/new.html.erb +16 -0
  218. data/app/views/spree/admin/users/_form.html.erb +3 -3
  219. data/app/views/spree/admin/users/edit.html.erb +0 -40
  220. data/app/views/spree/admin/variants/_autocomplete.js.erb +5 -5
  221. data/app/views/spree/admin/variants/_autocomplete_line_items_stock.js.erb +2 -2
  222. data/app/views/spree/admin/variants/_autocomplete_stock.js.erb +6 -6
  223. data/app/views/spree/admin/variants/_split.js.erb +1 -1
  224. data/app/views/spree/admin/variants/index.html.erb +4 -1
  225. data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +101 -0
  226. data/app/views/spree/admin/webhooks_subscribers/edit.html.erb +13 -0
  227. data/app/views/spree/admin/webhooks_subscribers/index.html.erb +47 -0
  228. data/app/views/spree/admin/webhooks_subscribers/new.html.erb +13 -0
  229. data/app/views/spree/admin/webhooks_subscribers/show.html.erb +59 -0
  230. data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
  231. data/app/views/spree/admin/zones/_form.html.erb +2 -2
  232. data/app/views/spree/admin/zones/_state_members.html.erb +1 -1
  233. data/app/views/spree/layouts/admin.html.erb +1 -11
  234. data/codespell.txt +8 -0
  235. data/config/locales/en.yml +273 -0
  236. data/config/routes.rb +6 -2
  237. data/lib/generators/spree/backend/install/install_generator.rb +4 -2
  238. data/lib/generators/spree/backend/install/templates/app/javascript/spree-dashboard.js +7 -0
  239. data/lib/spree/backend/engine.rb +2 -1
  240. data/lib/spree/backend/testing_support/capybara_utils.rb +53 -0
  241. data/lib/spree/backend/testing_support/flash.rb +38 -0
  242. data/lib/spree/backend/testing_support/flatpickr_capybara.rb +126 -0
  243. data/lib/spree/backend/version.rb +9 -0
  244. data/lib/spree/backend.rb +2 -1
  245. data/lib/spree_backend.rb +17 -0
  246. data/license.md +13 -0
  247. data/package.json +45 -0
  248. data/rollup.config.js +41 -0
  249. data/spree_backend.gemspec +17 -16
  250. data/vendor/assets/javascripts/purify.js +1 -1
  251. data/vendor/assets/stylesheets/animate.css +2 -4
  252. data/yarn.lock +944 -0
  253. metadata +118 -36
  254. data/app/assets/javascripts/spree/backend/menus/menu.es6 +0 -57
  255. data/app/assets/javascripts/spree/backend/taxon_permalink_preview.js +0 -11
  256. data/app/assets/javascripts/spree/backend/taxon_tree_menu.js +0 -35
  257. data/app/assets/javascripts/spree/backend/taxonomy.js +0 -178
  258. data/app/views/spree/admin/taxonomies/_js_head.html.erb +0 -7
  259. data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +0 -4564
  260. data/vendor/assets/javascripts/js.cookie.js +0 -163
  261. data/vendor/assets/javascripts/modernizr.js +0 -3
  262. data/vendor/assets/stylesheets/jquery.jstree/themes/spree/style.scss +0 -230
  263. data/vendor/assets/stylesheets/jquery.jstree/themes/spree/throbber.gif +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd79c7d41af70e530135379477cad943762adefcda2c0069b061401a80aa1cb8
4
- data.tar.gz: d382525f3b1cbbda22a0e01c75ec3eb650e9ee229a5fbe05d1b9bd52442137fa
3
+ metadata.gz: 455101a9a0fb3aea62e3683cdcf0311bbf87925fcd36dae3876c2d68e4b446d2
4
+ data.tar.gz: 55ea3c706a66cbe4f557829300c0d8c75b3ac0e2d1225ac055c3c6c57b445876
5
5
  SHA512:
6
- metadata.gz: 9420ad664486b5a2fbb73ee87d5eeaf2d176f6e476f872405db17d0ca7a0251e9140500807778db46868e66dd145294edc13d2aa5d56db9cb51dca25db284db6
7
- data.tar.gz: 133e906040edfda99ec1495d1a04d59e339cf250d85694d6ed175aa2f06d78b7558ce502b6ba3359301fec0533d5323ea643ef9024334024e71d08450ddab930
6
+ metadata.gz: 69c76cda74ca868a7a2eeada0792caf8517e04f6de9b8b2c6147442c0afc1f3b31ef52fe8ba3354d2b749e43e2e3cf73176fc4176be31bc4b22b968bab61c5e6
7
+ data.tar.gz: 5bf2cba413e19dfb8c09345d7db4ee59139b097351360fb41beadf383baa4841fe3af60d4fae279b6040262803fd060f2169370442416b08a84aad575ccb882d
@@ -0,0 +1,222 @@
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
+ working_directory: ~/spree
11
+ docker:
12
+ - image: &ruby_image circleci/ruby:2.7-node-browsers
13
+ - image: &redis_image circleci/redis:6.2-alpine
14
+
15
+ defaults_3_0: &defaults_3_0
16
+ <<: *defaults
17
+ docker:
18
+ - image: &ruby_3_0_image circleci/ruby:3.0-node-browsers
19
+ - image: *redis_image
20
+
21
+ run_tests: &run_tests
22
+ <<: *defaults
23
+ parallelism: 8
24
+ steps:
25
+ - checkout
26
+ - restore_cache:
27
+ keys:
28
+ - spree-dashboard-bundle-v9-ruby-2-7-{{ .Branch }}
29
+ - spree-dashboard-bundle-v9-ruby-2-7
30
+ - run:
31
+ name: Set bundle path
32
+ command: bundle config --local path vendor/bundle
33
+ - run:
34
+ name: Ensure bundle Install
35
+ command: |
36
+ bundle check || bundle install
37
+ - run:
38
+ name: Create test app
39
+ command: |
40
+ bundle exec rake test_app
41
+ - run:
42
+ name: Unlink NPM package
43
+ command: |
44
+ cd spec/dummy && yarn unlink @spree/dashboard
45
+ - run:
46
+ name: Run Rspec
47
+ command: |
48
+ TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
49
+ bundle exec rspec --format documentation \
50
+ --format RspecJunitFormatter \
51
+ -o ~/rspec/rspec.xml \
52
+ -- ${TESTFILES}
53
+ - store_test_results:
54
+ path: ~/rspec
55
+ - store_artifacts:
56
+ path: tmp/capybara
57
+
58
+ run_tests_3_0: &run_tests_3_0
59
+ <<: *defaults_3_0
60
+ parallelism: 8
61
+ steps:
62
+ - checkout
63
+ - restore_cache:
64
+ keys:
65
+ - spree-dashboard-bundle-v9-ruby-3-0-{{ .Branch }}
66
+ - spree-dashboard-bundle-v9-ruby-3-0
67
+ - run:
68
+ name: Set bundle path
69
+ command: bundle config --local path vendor/bundle
70
+ - run:
71
+ name: Ensure bundle Install
72
+ command: |
73
+ bundle check || bundle install
74
+ - run:
75
+ name: Create test app
76
+ command: |
77
+ bundle exec rake test_app
78
+ - run:
79
+ name: Unlink NPM package
80
+ command: |
81
+ cd spec/dummy && yarn unlink @spree/dashboard
82
+ - run:
83
+ name: Run Rspec
84
+ command: |
85
+ TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
86
+ bundle exec rspec --format documentation \
87
+ --format RspecJunitFormatter \
88
+ -o ~/rspec/rspec.xml \
89
+ -- ${TESTFILES}
90
+ - store_test_results:
91
+ path: ~/rspec
92
+ - store_artifacts:
93
+ path: tmp/capybara
94
+
95
+ jobs:
96
+ bundle:
97
+ <<: *defaults
98
+ steps:
99
+ - checkout
100
+ - restore_cache:
101
+ keys:
102
+ - spree-dashboard-bundle-v9-ruby-2-7-{{ .Branch }}
103
+ - spree-dashboard-bundle-v9-ruby-2-7
104
+ - run:
105
+ name: Set bundle path
106
+ command: bundle config --local path vendor/bundle
107
+ - run:
108
+ name: Bundle Install
109
+ command: |
110
+ bundle check || bundle install
111
+ - save_cache:
112
+ paths:
113
+ - vendor/bundle
114
+ key: spree-dashboard-bundle-v9-ruby-2-7-{{ checksum "Gemfile.lock" }}
115
+
116
+ bundle_ruby_3_0:
117
+ <<: *defaults_3_0
118
+ steps:
119
+ - checkout
120
+ - restore_cache:
121
+ keys:
122
+ - spree-dashboard-bundle-v9-ruby-3-0-{{ .Branch }}
123
+ - spree-dashboard-bundle-v9-ruby-3-0
124
+ - run:
125
+ name: Set bundle path
126
+ command: bundle config --local path vendor/bundle
127
+ - run:
128
+ name: Bundle Install
129
+ command: |
130
+ bundle check || bundle install
131
+ - save_cache:
132
+ paths:
133
+ - vendor/bundle
134
+ key: spree-dashboard-bundle-v9-ruby-3-0-{{ checksum "Gemfile.lock" }}
135
+
136
+ tests_postgres: &tests_postgres
137
+ <<: *run_tests
138
+ environment: &postgres_environment
139
+ <<: *environment
140
+ DB: postgres
141
+ DB_HOST: localhost
142
+ DB_USERNAME: postgres
143
+ docker:
144
+ - image: *ruby_image
145
+ - image: *redis_image
146
+ - image: &postgres_image circleci/postgres:12-alpine
147
+ environment:
148
+ POSTGRES_USER: postgres
149
+
150
+ tests_postgres_ruby_3_0: &tests_postgres_ruby_3_0
151
+ <<: *run_tests_3_0
152
+ environment:
153
+ <<: *postgres_environment
154
+ docker:
155
+ - image: *ruby_3_0_image
156
+ - image: *postgres_image
157
+ - image: *redis_image
158
+
159
+ tests_mysql: &tests_mysql
160
+ <<: *run_tests
161
+ environment: &mysql_environment
162
+ <<: *environment
163
+ DB: mysql
164
+ DB_HOST: 127.0.0.1
165
+ DB_USERNAME: root
166
+ COVERAGE: true
167
+ COVERAGE_DIR: /tmp/workspace/simplecov
168
+ docker:
169
+ - image: *ruby_image
170
+ - image: *redis_image
171
+ - image: &mysql_image circleci/mysql:8-ram
172
+
173
+ update_staging_repository:
174
+ docker:
175
+ - image: circleci/ruby:2.7.2
176
+ - image: postgres:13-alpine
177
+ environment:
178
+ POSTGRES_HOST_AUTH_METHOD: trust
179
+ steps:
180
+ - add_ssh_keys:
181
+ fingerprints:
182
+ - 54:50:5e:4e:80:6d:2e:26:43:c6:99:bd:39:b2:71:dc
183
+ - run: mkdir -p ~/.ssh
184
+ - run: ssh-keyscan -H github.com >> ~/.ssh/known_hosts
185
+ - run: ssh-add -D
186
+ - run: ssh-add ~/.ssh/id_rsa_54505e4e806d2e2643c699bd39b271dc
187
+ - run: git clone -b master git@github.com:spark-solutions/spree-designs.git
188
+ - run:
189
+ command: bundle update spree_backend
190
+ working_directory: ~/project/spree-designs
191
+ - run:
192
+ command: bundle exec rake railties:install:migrations
193
+ working_directory: ~/project/spree-designs
194
+ - run:
195
+ command: |
196
+ git config user.name 'AutoDeploy'
197
+ git config user.email 'autodeploy@sparksolutions.co'
198
+ working_directory: ~/project/spree-designs
199
+ - run:
200
+ command: |
201
+ git add -A
202
+ git commit -m "Auto-commit v#${CIRCLE_BUILD_NUM}"
203
+ working_directory: ~/project/spree-designs
204
+ - run:
205
+ command: git push -f origin master
206
+ working_directory: ~/project/spree-designs
207
+
208
+ workflows:
209
+ version: 2
210
+ main:
211
+ jobs:
212
+ - bundle
213
+ - bundle_ruby_3_0
214
+ - tests_postgres:
215
+ requires:
216
+ - bundle
217
+ - tests_postgres_ruby_3_0:
218
+ requires:
219
+ - bundle_ruby_3_0
220
+ - tests_mysql:
221
+ requires:
222
+ - bundle
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-0-80" # 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/.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
+ *-min.js
4
+ *.min.js
5
+ jquery*.js
6
+ app/assets/javascripts
7
+
data/.eslintrc.cjs ADDED
@@ -0,0 +1,29 @@
1
+ module.exports = {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true
5
+ },
6
+ "extends": "eslint:recommended",
7
+ "parserOptions": {
8
+ "ecmaVersion": 2021,
9
+ "sourceType": "module"
10
+ },
11
+ "rules": {
12
+ "indent": [
13
+ "error",
14
+ 2
15
+ ],
16
+ "linebreak-style": [
17
+ "error",
18
+ "unix"
19
+ ],
20
+ "quotes": [
21
+ "error",
22
+ "double"
23
+ ],
24
+ "semi": [
25
+ "error",
26
+ "never"
27
+ ]
28
+ }
29
+ }
data/.gem_release.yml ADDED
@@ -0,0 +1,4 @@
1
+
2
+ bump:
3
+ recurse: false
4
+ file: 'lib/spree/backend/version.rb'
@@ -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,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: Lint Code Spelling
3
+
4
+ on: [pull_request]
5
+
6
+ jobs:
7
+ codespell:
8
+ name: Check spelling all files with codespell
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ python-version: [3.8]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Python ${{ matrix.python-version }}
16
+ uses: actions/setup-python@v2
17
+ with:
18
+ python-version: ${{ matrix.python-version }}
19
+ - name: Install dependencies
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ pip install codespell
23
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
24
+ - name: Check spelling with codespell
25
+ run: codespell --ignore-words=codespell.txt || exit 1
26
+ misspell:
27
+ name: Check spelling all files in commit with misspell
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v2
31
+ - name: Install
32
+ run: wget -O - -q https://git.io/misspell | sh -s -- -b .
33
+ - name: Misspell
34
+ run: git ls-files --empty-directory | xargs ./misspell -i 'aircrafts,devels,invertions' -error
data/.gitignore ADDED
@@ -0,0 +1,64 @@
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
59
+
60
+ node_modules
61
+ app/assets/javascripts/spree-dashboard.js
62
+ app/assets/javascripts/spree-dashboard.*.js
63
+ src
64
+ *.gem