spree 5.6.1 → 6.0.0.beta1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6af4338c0bf6f45929de077cc7e21e95bbd216f1745bd279fa713884c955ea9c
4
- data.tar.gz: 52837a1f4e8562ec8b84b675a0edf14533b28bed43070584f86de6e362d48498
3
+ metadata.gz: eb00bf85c5f7d43144667cd84517318c54735ce9350feac75633c15e42138f58
4
+ data.tar.gz: 79f70f8becfdaa9c548456305c24338c79d7dde780b8211c59f6b3d48b46a13c
5
5
  SHA512:
6
- metadata.gz: d667e5368996090d901c9ebc98e7ef5f488bc5805b23e19c08a913a693a20a65c29320ea930f60c37e3fa38558785b7282f986ae446f111bb921f1e43de5b2ae
7
- data.tar.gz: bec6af4915a643b70aae6d52ff3f3df68734b9e61fc63acb65a69d2d87dc5d74c1afb883889b7f31b990b8c63cbfa47bcbd21324f36b56748dc0641c9112c562
6
+ metadata.gz: 6cc80366938eab15ec6a8f1268b76fc9166aed4b9207dad9bf42658042b1aa543bc0510fd482e70b3cf1ca4a7eecf7bade85e4c6a510f223848cb7f29390251b
7
+ data.tar.gz: ad35e32973d71de9f73f2531b79442b28835d272da524582951e1d1d50c8f0132104f55eb1a9196b47b1050c70476853f16f3b173fff574e9059508f40282fb0
data/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024-present, Vendo Sp. z o.o., Vendo Connect Inc.
4
+ Copyright (c) 2015-2024, Spark Solutions Sp. z o.o.
5
+ Copyright (c) 2007-2015, Spree Commerce Inc.
6
+
7
+ Redistribution and use in source and binary forms, with or without
8
+ modification, are permitted provided that the following conditions are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright notice,
11
+ this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright notice,
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ 3. Neither the name of the copyright holder nor the names of its
18
+ contributors may be used to endorse or promote products derived from
19
+ this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md CHANGED
@@ -8,7 +8,7 @@ Ruby gems that power Spree Commerce — models, services, APIs, admin dashboard,
8
8
  spree/
9
9
  ├── core/ # spree_core — models, services, business logic
10
10
  ├── api/ # spree_api — REST APIs (Store API + Admin API)
11
- ├── admin/ # spree_admin — admin dashboard
11
+ ├── dashboard/ # spree_dashboardhosts the React admin dashboard (optional)
12
12
  ├── emails/ # spree_emails — transactional emails (optional)
13
13
  ├── spree.gemspec # meta-gem (installs core + api)
14
14
  ├── template.rb # Rails application template for new projects
@@ -23,8 +23,8 @@ Add to your Rails application's Gemfile:
23
23
 
24
24
  ```ruby
25
25
  gem 'spree'
26
- gem 'spree_admin' # optional
27
- gem 'spree_emails' # optional
26
+ gem 'spree_dashboard' # optional
27
+ gem 'spree_emails' # optional
28
28
  ```
29
29
 
30
30
  Or use the Rails application template:
@@ -16,7 +16,7 @@ module Spree
16
16
  class_option :admin_email, type: :string
17
17
  class_option :admin_password, type: :string
18
18
  class_option :enforce_available_locales, type: :boolean, default: nil
19
- class_option :authentication, type: :string, default: 'devise'
19
+ class_option :authentication, type: :string, default: nil
20
20
 
21
21
  def self.source_paths
22
22
  paths = superclass.source_paths
@@ -41,11 +41,7 @@ module Spree
41
41
  end
42
42
 
43
43
  def install_authentication
44
- if @authentication == 'devise'
45
- generate 'spree:authentication:devise'
46
- elsif @authentication == 'dummy'
47
- generate 'spree:authentication:dummy'
48
- end
44
+ generate 'spree:authentication:dummy' if @authentication == 'dummy'
49
45
  end
50
46
 
51
47
  def configure_application
@@ -78,7 +74,6 @@ module Spree
78
74
  say_status :copying, 'migrations'
79
75
  silence_stream(STDOUT) do
80
76
  silence_warnings { rake 'active_storage:install:migrations' }
81
- silence_warnings { rake 'action_text:install:migrations' }
82
77
  silence_warnings { rake 'spree:install:migrations' }
83
78
  end
84
79
  end
@@ -112,13 +107,18 @@ module Spree
112
107
  end
113
108
 
114
109
  def load_sample_data
115
- return unless Spree::Core::Engine.sample_available?
116
-
117
110
  if @load_sample_data
118
- say_status :loading, 'sample data'
119
- rake 'spree_sample:load'
111
+ # Sample-data imports need an admin as their owner. Without explicit
112
+ # credentials the seed mints none (first-run setup does), so loading
113
+ # now would raise mid-install.
114
+ if admin_account_available?
115
+ say_status :loading, 'sample data'
116
+ rake 'spree:load_sample_data'
117
+ else
118
+ say_status :skipping, 'sample data (needs an admin account — finish setup, then run bin/rails spree:load_sample_data)'
119
+ end
120
120
  else
121
- say_status :skipping, 'sample data (you can always run rake spree_sample:load)'
121
+ say_status :skipping, 'sample data (you can always run bin/rails spree:load_sample_data)'
122
122
  end
123
123
  end
124
124
 
@@ -150,6 +150,11 @@ module Spree
150
150
  unless options[:quiet]
151
151
  puts '*' * 50
152
152
  puts "Spree has been installed successfully. You're all ready to go!"
153
+ unless admin_account_available?
154
+ puts ' '
155
+ puts 'No admin account was created — finish setup in the dashboard using the'
156
+ puts 'link printed by the seed (reprint it with: bin/rails spree:setup:token).'
157
+ end
153
158
  puts ' '
154
159
  puts 'Enjoy!'
155
160
  end
@@ -157,6 +162,19 @@ module Spree
157
162
 
158
163
  private
159
164
 
165
+ # Whether this install ends up with an admin account: explicit credentials
166
+ # were passed to the seed, or one already exists (re-install into a
167
+ # configured app). Drives the sample-data guard and the completion notes.
168
+ def admin_account_available?
169
+ credentials = (options[:admin_email].presence || ENV['ADMIN_EMAIL'].presence) &&
170
+ (options[:admin_password].presence || ENV['ADMIN_PASSWORD'].presence)
171
+ return true if credentials
172
+
173
+ Spree.admin_user_class.present? && Spree.admin_user_class.exists?
174
+ rescue StandardError
175
+ false
176
+ end
177
+
160
178
  def silence_stream(stream)
161
179
  old_stream = stream.dup
162
180
  stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
@@ -22,7 +22,7 @@ end
22
22
  # Spree.queues.default = :default
23
23
  # Spree.queues.events = :default # Event subscribers (Spree::Events::SubscriberJob)
24
24
  # Spree.queues.variants = :default
25
- # Spree.queues.stock_location_stock_items = :default
25
+ # Spree.queues.stock_location_stock_levels = :default
26
26
  # Spree.queues.coupon_codes = :default
27
27
 
28
28
  # Use a CDN host for images, eg. Cloudfront
@@ -77,37 +77,23 @@ Rails.application.config.after_initialize do
77
77
  # Taxon rules
78
78
  # Spree.taxon_rules << Spree::TaxonRules::ProductsWithColor
79
79
 
80
- # Exports and reports
80
+ # Exports
81
81
  # Spree.export_types << Spree::Exports::Payments
82
- # Spree.reports << Spree::Reports::MassivelyOvercomplexReportForCfo
83
-
84
- # Admin partials
85
- # Spree.admin.partials.product_form << 'spree/admin/products/custom_section'
86
82
 
87
83
  # Role-based permissions
88
- # Configure which permission sets are assigned to each role
89
- # More on permission sets: https://spreecommerce.org/docs/developer/customization/permissions
90
- Spree.permissions.assign(:default, [Spree::PermissionSets::DefaultCustomer])
91
- Spree.permissions.assign(:admin, [Spree::PermissionSets::SuperUser])
92
-
93
- # Example: Create a custom role with specific permissions
94
- # Spree.permissions.assign(:customer_service, [
95
- # Spree::PermissionSets::DashboardDisplay,
96
- # Spree::PermissionSets::OrderManagement,
97
- # Spree::PermissionSets::UserDisplay
98
- # ])
84
+ # Staff roles and their permissions are managed as data — in the dashboard
85
+ # (Settings Roles), via the Admin API, or in db/seeds.rb:
86
+ #
87
+ # Spree::Role.find_or_create_by!(name: 'support')
88
+ # .update!(permissions: %w[read_orders read_customers])
89
+ #
90
+ # Extensions can register additional permission resources:
91
+ # Spree.permissions.register_scope(:reviews, group: :catalog, resources: -> { [MyApp::Review] })
92
+ #
93
+ # To customize authorization beyond the catalog, replace the ability class:
94
+ # Spree::Dependencies.ability_class = 'MyApp::Ability'
99
95
  #
100
- # Available permission sets:
101
- # - Spree::PermissionSets::SuperUser (full admin access)
102
- # - Spree::PermissionSets::DefaultCustomer (storefront access)
103
- # - Spree::PermissionSets::DashboardDisplay (view admin dashboard)
104
- # - Spree::PermissionSets::OrderDisplay / OrderManagement
105
- # - Spree::PermissionSets::ProductDisplay / ProductManagement
106
- # - Spree::PermissionSets::UserDisplay / UserManagement
107
- # - Spree::PermissionSets::StockDisplay / StockManagement
108
- # - Spree::PermissionSets::PromotionManagement
109
- # - Spree::PermissionSets::ConfigurationManagement
110
- # - Spree::PermissionSets::RoleManagement
96
+ # More: https://spreecommerce.org/docs/developer/customization/permissions
111
97
  end
112
98
 
113
99
  # Background job queue configuration
@@ -117,10 +103,9 @@ end
117
103
  # Spree.queues.images = :default
118
104
  # Spree.queues.imports = :default
119
105
  # Spree.queues.products = :default
120
- # Spree.queues.reports = :default
121
106
  # Spree.queues.variants = :default
122
107
  # Spree.queues.taxons = :default
123
- # Spree.queues.stock_location_stock_items = :default
108
+ # Spree.queues.stock_location_stock_levels = :default
124
109
  # Spree.queues.coupon_codes = :default
125
110
  # Spree.queues.themes = :default
126
111
  # Spree.queues.addresses = :default
@@ -130,8 +115,8 @@ end
130
115
  # Spree.queues.api_keys = :default
131
116
  # Spree.queues.search = :default
132
117
 
133
- # Search provider
134
- # Spree.search_provider = 'Spree::SearchProvider::Meilisearch'
118
+ # Search provider — requires the spree_meilisearch gem
119
+ # Spree.search_provider = 'SpreeMeilisearch::SearchProvider'
135
120
 
136
- Spree.user_class = <%= (options[:user_class].blank? ? 'Spree::LegacyUser' : options[:user_class]).inspect %>
137
- Spree.admin_user_class = <%= (options[:admin_user_class].blank? ? (options[:user_class].blank? ? 'Spree::LegacyAdminUser' : options[:user_class]) : options[:admin_user_class]).inspect %>
121
+ Spree.customer_class = <%= (options[:user_class].blank? ? 'Spree::Customer' : options[:user_class]).inspect %>
122
+ Spree.admin_user_class = <%= (options[:admin_user_class].blank? ? (options[:user_class].blank? ? 'Spree::AdminUser' : options[:user_class]) : options[:admin_user_class]).inspect %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.1
4
+ version: 6.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-07-28 00:00:00.000000000 Z
13
+ date: 2026-09-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: spree_core
@@ -18,35 +18,37 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 5.6.1
21
+ version: 6.0.0.beta1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 5.6.1
28
+ version: 6.0.0.beta1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: spree_api
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 5.6.1
35
+ version: 6.0.0.beta1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 5.6.1
43
- description: A complete open source e-commerce solution with multi-store, multi-currency
44
- and multi-language capabilities
42
+ version: 6.0.0.beta1
43
+ description: Open Source Platform for DTC, B2B Commerce, Marketplaces & Omnichannel.
44
+ REST APIs, TypeScript SDKs, and production-ready Next.js storefront. Self-host it.
45
+ Own your data. No vendor lock-in. Zero platform fees.
45
46
  email: hello@spreecommerce.org
46
47
  executables: []
47
48
  extensions: []
48
49
  extra_rdoc_files: []
49
50
  files:
51
+ - LICENSE
50
52
  - README.md
51
53
  - lib/generators/spree/install/install_generator.rb
52
54
  - lib/generators/spree/install/templates/config/initializers/spree.rb
@@ -56,9 +58,9 @@ licenses:
56
58
  - BSD-3-Clause
57
59
  metadata:
58
60
  bug_tracker_uri: https://github.com/spree/spree/issues
59
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.6.1
61
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.beta1
60
62
  documentation_uri: https://docs.spreecommerce.org/
61
- source_code_uri: https://github.com/spree/spree/tree/v5.6.1
63
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.beta1
62
64
  post_install_message:
63
65
  rdoc_options: []
64
66
  require_paths:
@@ -78,5 +80,5 @@ requirements:
78
80
  rubygems_version: 3.5.22
79
81
  signing_key:
80
82
  specification_version: 4
81
- summary: A complete open source e-commerce solution
83
+ summary: Open Source B2B eCommerce and Marketplace platform
82
84
  test_files: []