spree_backend 4.3.3 → 4.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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 +63 -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/adjustments.js +5 -5
  38. data/app/assets/javascripts/spree/backend/admin.js +4 -6
  39. data/app/assets/javascripts/spree/backend/calculator.js +1 -1
  40. data/app/assets/javascripts/spree/backend/checkouts/edit.js +1 -1
  41. data/app/assets/javascripts/spree/backend/cms/links.es6 +1 -1
  42. data/app/assets/javascripts/spree/backend/cms/live_preview.es6 +1 -1
  43. data/app/assets/javascripts/spree/backend/cms/page.es6 +22 -40
  44. data/app/assets/javascripts/spree/backend/cms/section.es6 +1 -1
  45. data/app/assets/javascripts/spree/backend/gateway.js +1 -1
  46. data/app/assets/javascripts/spree/backend/general_settings.js +1 -1
  47. data/app/assets/javascripts/spree/backend/global/_index.js +3 -1
  48. data/app/assets/javascripts/spree/backend/global/alerts.es6 +1 -1
  49. data/app/assets/javascripts/spree/backend/global/animate_css.es6 +19 -0
  50. data/app/assets/javascripts/spree/backend/global/fetch_request_utility.es6 +114 -0
  51. data/app/assets/javascripts/spree/backend/global/flatpickr.es6 +2 -1
  52. data/app/assets/javascripts/spree/backend/global/info_alert.es6 +1 -1
  53. data/app/assets/javascripts/spree/backend/global/radio_panel_toggle.es6 +1 -1
  54. data/app/assets/javascripts/spree/backend/global/ransack.es6 +7 -5
  55. data/app/assets/javascripts/spree/backend/global/responsive_menus.es6 +1 -1
  56. data/app/assets/javascripts/spree/backend/global/select2_autocomplete.es6 +4 -4
  57. data/app/assets/javascripts/spree/backend/global/select2_populate.es6 +2 -2
  58. data/app/assets/javascripts/spree/backend/global/side_scroll_indication.es6 +2 -2
  59. data/app/assets/javascripts/spree/backend/global/sortable.es6 +1 -1
  60. data/app/assets/javascripts/spree/backend/global/tinymce.es6 +3 -2
  61. data/app/assets/javascripts/spree/backend/line_items.js +7 -9
  62. data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +23 -28
  63. data/app/assets/javascripts/spree/backend/menus/_index.es6 +0 -1
  64. data/app/assets/javascripts/spree/backend/menus/menu_item.es6 +1 -1
  65. data/app/assets/javascripts/spree/backend/multi_currency.js +2 -2
  66. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +1 -1
  67. data/app/assets/javascripts/spree/backend/orders/edit.js +1 -1
  68. data/app/assets/javascripts/spree/backend/payments/edit.js +32 -22
  69. data/app/assets/javascripts/spree/backend/payments/new.js +1 -1
  70. data/app/assets/javascripts/spree/backend/product_picker.js +16 -25
  71. data/app/assets/javascripts/spree/backend/progress.js +5 -3
  72. data/app/assets/javascripts/spree/backend/promotions.js +3 -1
  73. data/app/assets/javascripts/spree/backend/returns/expedited_exchanges_warning.js +1 -1
  74. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +1 -1
  75. data/app/assets/javascripts/spree/backend/shipments.js +80 -79
  76. data/app/assets/javascripts/spree/backend/spree-select2.js +1 -1
  77. data/app/assets/javascripts/spree/backend/states.js +1 -1
  78. data/app/assets/javascripts/spree/backend/stock_location.js +1 -1
  79. data/app/assets/javascripts/spree/backend/stock_management.js +1 -1
  80. data/app/assets/javascripts/spree/backend/stock_movement.js +58 -13
  81. data/app/assets/javascripts/spree/backend/stock_transfer.js +62 -32
  82. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +9 -8
  83. data/app/assets/javascripts/spree/backend/taxons.js +17 -14
  84. data/app/assets/javascripts/spree/backend/user_picker.js +1 -1
  85. data/app/assets/javascripts/spree/backend/users/edit.js +1 -1
  86. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +19 -11
  87. data/app/assets/javascripts/spree/backend/variant_management.js +1 -1
  88. data/app/assets/javascripts/spree/backend/zone.js +1 -1
  89. data/app/assets/javascripts/spree/backend.js +13 -33
  90. data/app/assets/javascripts/spree.js +2 -9
  91. data/app/assets/stylesheets/spree/backend/components/_main.scss +8 -0
  92. data/app/assets/stylesheets/spree/backend/plugins/_nav_x.scss +1 -1
  93. data/app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss +1 -1
  94. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -1
  95. data/app/assets/stylesheets/spree/backend/shared/_sortable_tree.scss +62 -0
  96. data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +3 -0
  97. data/app/assets/stylesheets/spree/backend/views/_digitals.scss +33 -0
  98. data/app/assets/stylesheets/spree/backend/views/_taxonomies.scss +3 -0
  99. data/app/controllers/spree/admin/base_controller.rb +4 -13
  100. data/app/controllers/spree/admin/digitals_controller.rb +33 -0
  101. data/app/controllers/spree/admin/general_settings_controller.rb +0 -5
  102. data/app/controllers/spree/admin/images_controller.rb +1 -1
  103. data/app/controllers/spree/admin/oauth_applications_controller.rb +17 -0
  104. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  105. data/app/controllers/spree/admin/orders_controller.rb +10 -2
  106. data/app/controllers/spree/admin/payment_methods_controller.rb +2 -2
  107. data/app/controllers/spree/admin/payments_controller.rb +1 -1
  108. data/app/controllers/spree/admin/products_controller.rb +4 -2
  109. data/app/controllers/spree/admin/promotions_controller.rb +1 -1
  110. data/app/controllers/spree/admin/properties_controller.rb +1 -1
  111. data/app/controllers/spree/admin/resource_controller.rb +9 -4
  112. data/app/controllers/spree/admin/return_index_controller.rb +1 -1
  113. data/app/controllers/spree/admin/stock_transfers_controller.rb +2 -2
  114. data/app/controllers/spree/admin/store_credits_controller.rb +2 -2
  115. data/app/controllers/spree/admin/stores_controller.rb +2 -2
  116. data/app/controllers/spree/admin/taxons_controller.rb +23 -38
  117. data/app/controllers/spree/admin/users_controller.rb +6 -19
  118. data/app/controllers/spree/admin/variants_controller.rb +1 -2
  119. data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +48 -0
  120. data/app/helpers/spree/admin/base_helper.rb +27 -9
  121. data/app/helpers/spree/admin/digital_helper.rb +28 -0
  122. data/app/helpers/spree/admin/menu_helper.rb +0 -21
  123. data/app/helpers/spree/admin/navigation_helper.rb +19 -9
  124. data/app/helpers/spree/admin/sortable_tree_helper.rb +31 -0
  125. data/app/helpers/spree/admin/stores_helper.rb +1 -1
  126. data/app/helpers/spree/admin/webhooks_subscribers_helper.rb +31 -0
  127. data/app/javascript/spree/dashboard/controllers/clipboard_controller.js +12 -0
  128. data/app/javascript/spree/dashboard/controllers/password_toggle_controller.js +14 -0
  129. data/app/javascript/spree/dashboard/controllers/sortable_tree_controller.js +55 -0
  130. data/app/javascript/spree/dashboard/controllers/spree_controller.js +25 -0
  131. data/app/javascript/spree/dashboard/controllers/upload_button_controller.js +13 -0
  132. data/app/javascript/spree/dashboard/controllers/webhooks_subscriber_events_controller.js +19 -0
  133. data/app/javascript/spree/dashboard/index.js +49 -0
  134. data/app/{assets/javascripts/spree/backend/global/bootstrap.es6 → javascript/spree/dashboard/utilities/bootstrap.js} +6 -2
  135. data/app/javascript/spree/dashboard/utilities/request_utility.js +54 -0
  136. data/app/models/spree/backend_configuration.rb +11 -0
  137. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
  138. data/app/views/spree/admin/adjustments/_form.html.erb +2 -2
  139. data/app/views/spree/admin/adjustments/index.html.erb +1 -0
  140. data/app/views/spree/admin/cms_pages/_form.html.erb +8 -8
  141. data/app/views/spree/admin/cms_pages/edit.html.erb +1 -6
  142. data/app/views/spree/admin/cms_sections/_form.html.erb +2 -2
  143. data/app/views/spree/admin/cms_sections/types/_featured_article.html.erb +6 -6
  144. data/app/views/spree/admin/cms_sections/types/_hero_image.html.erb +6 -6
  145. data/app/views/spree/admin/cms_sections/types/_image_gallery.html.erb +12 -12
  146. data/app/views/spree/admin/cms_sections/types/_rich_text_content.html.erb +1 -1
  147. data/app/views/spree/admin/cms_sections/types/_side_by_side_images.html.erb +12 -12
  148. data/app/views/spree/admin/countries/_form.html.erb +4 -4
  149. data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
  150. data/app/views/spree/admin/digitals/_form.html.erb +35 -0
  151. data/app/views/spree/admin/digitals/index.html.erb +25 -0
  152. data/app/views/spree/admin/general_settings/edit.html.erb +1 -22
  153. data/app/views/spree/admin/menu_items/_form.html.erb +6 -6
  154. data/app/views/spree/admin/menus/_form.html.erb +3 -3
  155. data/app/views/spree/admin/menus/edit.html.erb +18 -18
  156. data/app/views/spree/admin/oauth_applications/_form.html.erb +22 -0
  157. data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +38 -0
  158. data/app/views/spree/admin/oauth_applications/edit.html.erb +13 -0
  159. data/app/views/spree/admin/oauth_applications/index.html.erb +51 -0
  160. data/app/views/spree/admin/oauth_applications/new.html.erb +15 -0
  161. data/app/views/spree/admin/option_types/_form.html.erb +3 -3
  162. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +2 -2
  163. data/app/views/spree/admin/orders/_channel_form.html.erb +1 -1
  164. data/app/views/spree/admin/orders/_form.html.erb +1 -0
  165. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +1 -0
  166. data/app/views/spree/admin/orders/_order_actions.html.erb +6 -0
  167. data/app/views/spree/admin/orders/_search.html.erb +151 -0
  168. data/app/views/spree/admin/orders/index.html.erb +2 -151
  169. data/app/views/spree/admin/payment_methods/_form.html.erb +2 -2
  170. data/app/views/spree/admin/payments/_list.html.erb +1 -1
  171. data/app/views/spree/admin/products/_form.html.erb +19 -19
  172. data/app/views/spree/admin/products/index.html.erb +2 -0
  173. data/app/views/spree/admin/products/new.html.erb +6 -6
  174. data/app/views/spree/admin/promotion_actions/create.js.erb +1 -1
  175. data/app/views/spree/admin/promotion_categories/_form.html.erb +2 -2
  176. data/app/views/spree/admin/promotions/_form.html.erb +5 -5
  177. data/app/views/spree/admin/properties/_form.html.erb +3 -3
  178. data/app/views/spree/admin/prototypes/_form.html.erb +4 -4
  179. data/app/views/spree/admin/refunds/new.html.erb +2 -2
  180. data/app/views/spree/admin/reimbursement_types/_form.html.erb +2 -2
  181. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -3
  182. data/app/views/spree/admin/roles/_form.html.erb +1 -1
  183. data/app/views/spree/admin/shared/_account_nav.html.erb +1 -1
  184. data/app/views/spree/admin/shared/_address_form.html.erb +4 -4
  185. data/app/views/spree/admin/shared/_head.html.erb +4 -8
  186. data/app/views/spree/admin/shared/_main_menu.html.erb +12 -0
  187. data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
  188. data/app/views/spree/admin/shared/_product_tabs.html.erb +8 -0
  189. data/app/views/spree/admin/shared/_version.html.erb +1 -1
  190. data/app/views/spree/admin/shared/cms/_spree_product.html.erb +2 -2
  191. data/app/views/spree/admin/shared/cms/_spree_taxon.html.erb +2 -2
  192. data/app/views/spree/admin/shared/linkables/_spree_cms_page.erb +2 -2
  193. data/app/views/spree/admin/shared/linkables/_spree_product.html.erb +2 -2
  194. data/app/views/spree/admin/shared/linkables/_spree_taxon.html.erb +2 -2
  195. data/app/views/spree/admin/shared/linkables/_url.html.erb +1 -1
  196. data/app/views/spree/admin/shared/named_types/_form.html.erb +1 -1
  197. data/app/views/spree/admin/{menus/nested_menu_items/_item_bar.html.erb → shared/sortable_tree/_menu.html.erb} +10 -7
  198. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +34 -0
  199. data/app/views/spree/admin/shared/sub_menu/_apps.html.erb +3 -0
  200. data/app/views/spree/admin/shared/sub_menu/_integrations.html.erb +3 -0
  201. data/app/views/spree/admin/shipping_categories/_form.html.erb +1 -1
  202. data/app/views/spree/admin/shipping_methods/_form.html.erb +8 -8
  203. data/app/views/spree/admin/states/_form.html.erb +2 -2
  204. data/app/views/spree/admin/stock_locations/_form.html.erb +2 -2
  205. data/app/views/spree/admin/stock_movements/_form.html.erb +3 -3
  206. data/app/views/spree/admin/store_credit_categories/_form.html.erb +1 -1
  207. data/app/views/spree/admin/store_credits/_form.html.erb +4 -4
  208. data/app/views/spree/admin/stores/_form.html.erb +280 -227
  209. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -4
  210. data/app/views/spree/admin/tax_rates/_form.html.erb +4 -3
  211. data/app/views/spree/admin/taxonomies/_form.html.erb +2 -2
  212. data/app/views/spree/admin/taxonomies/edit.html.erb +34 -29
  213. data/app/views/spree/admin/taxons/_form.html.erb +101 -57
  214. data/app/views/spree/admin/taxons/edit.html.erb +6 -3
  215. data/app/views/spree/admin/taxons/index.html.erb +1 -1
  216. data/app/views/spree/admin/taxons/new.html.erb +16 -0
  217. data/app/views/spree/admin/users/_form.html.erb +3 -3
  218. data/app/views/spree/admin/users/edit.html.erb +0 -40
  219. data/app/views/spree/admin/variants/_autocomplete.js.erb +5 -5
  220. data/app/views/spree/admin/variants/_autocomplete_line_items_stock.js.erb +2 -2
  221. data/app/views/spree/admin/variants/_autocomplete_stock.js.erb +6 -6
  222. data/app/views/spree/admin/variants/_split.js.erb +1 -1
  223. data/app/views/spree/admin/variants/index.html.erb +4 -1
  224. data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +101 -0
  225. data/app/views/spree/admin/webhooks_subscribers/edit.html.erb +13 -0
  226. data/app/views/spree/admin/webhooks_subscribers/index.html.erb +47 -0
  227. data/app/views/spree/admin/webhooks_subscribers/new.html.erb +13 -0
  228. data/app/views/spree/admin/webhooks_subscribers/show.html.erb +59 -0
  229. data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
  230. data/app/views/spree/admin/zones/_form.html.erb +2 -2
  231. data/app/views/spree/admin/zones/_state_members.html.erb +1 -1
  232. data/app/views/spree/layouts/admin.html.erb +1 -11
  233. data/codespell.txt +8 -0
  234. data/config/locales/en.yml +273 -0
  235. data/config/routes.rb +8 -4
  236. data/lib/generators/spree/backend/install/install_generator.rb +4 -2
  237. data/lib/generators/spree/backend/install/templates/app/javascript/spree-dashboard.js +7 -0
  238. data/lib/spree/backend/engine.rb +2 -1
  239. data/lib/spree/backend/testing_support/capybara_utils.rb +53 -0
  240. data/lib/spree/backend/testing_support/flash.rb +38 -0
  241. data/lib/spree/backend/testing_support/flatpickr_capybara.rb +126 -0
  242. data/lib/spree/backend/version.rb +9 -0
  243. data/lib/spree/backend.rb +2 -1
  244. data/lib/spree_backend.rb +17 -0
  245. data/license.md +13 -0
  246. data/package.json +46 -0
  247. data/rollup.config.js +41 -0
  248. data/spree_backend.gemspec +17 -16
  249. data/vendor/assets/javascripts/purify.js +1 -1
  250. data/vendor/assets/stylesheets/animate.css +2 -4
  251. data/yarn.lock +959 -0
  252. metadata +120 -38
  253. data/app/assets/javascripts/spree/backend/menus/menu.es6 +0 -57
  254. data/app/assets/javascripts/spree/backend/taxon_permalink_preview.js +0 -11
  255. data/app/assets/javascripts/spree/backend/taxon_tree_menu.js +0 -35
  256. data/app/assets/javascripts/spree/backend/taxonomy.js +0 -178
  257. data/app/views/spree/admin/taxonomies/_js_head.html.erb +0 -7
  258. data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +0 -4564
  259. data/vendor/assets/javascripts/js.cookie.js +0 -163
  260. data/vendor/assets/javascripts/modernizr.js +0 -3
  261. data/vendor/assets/stylesheets/jquery.jstree/themes/spree/style.scss +0 -230
  262. data/vendor/assets/stylesheets/jquery.jstree/themes/spree/throbber.gif +0 -0
  263. /data/app/assets/stylesheets/spree/backend/views/{prototypes.scss → _prototypes.scss} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa66201f5288f70f73a26949dae945872ab164e9d0be2feecc1f92c215682edc
4
- data.tar.gz: 0e9359d3a32f579034427f22d0b1e929cdfaddf42f9908232405dfe7e511cbed
3
+ metadata.gz: 07d5367f1dbc355de3ae28ae2d8fe99c2325c64cb88755bc48086973c92ae89c
4
+ data.tar.gz: a39a64d3fd3282f581dbd4bf208b4527ab1a3bcf21587b190a938688c085e4f4
5
5
  SHA512:
6
- metadata.gz: 68be1269a29b15cbd5fbad8782d60ebb40a8ab994f0693fbe36d2128aaedfe03d3efd1081ae14f07dd8b6cbb5ade600e17b9c9d6584ea5805edad1e050a97178
7
- data.tar.gz: 71192990c3c602dda5be88297d6b7f52fc5eb6db5906cdbf8fbf3df201bbf038897b8aa0075fc330b645935659f81906754a52b04ce9b2cc6eec369e83b309f8
6
+ metadata.gz: 8f1009715e9017806b2c7c139b26bf48fb70d6c074b183ca61135044a0ea4cc48ffa385423aa412a84913d2d74de57e68474a7cacd391812d583421432bcdaa3
7
+ data.tar.gz: '0684732d6c1df365155d75d7aaa84b11da1e293b05792e89ad9a5f56cf8b4fbe76754610bbf42c86ebde985de62093e677b11484340563c1899c73e2b7d1ada6'
@@ -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,63 @@
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