solidus_frontend 4.0.0 → 4.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d1bfc77d55edc14596b3bf37b2d00779cccdeb63502675d89eddf7ab122043c
4
- data.tar.gz: 8d33eb66eee0246c360640eb0116335f97ae6cbb9881be6f928ea28b650fc7f1
3
+ metadata.gz: dd60be911178a15bc3341c721a5b19dcf84e11558199d5634ec9382c17bde14d
4
+ data.tar.gz: 7809c9e463ed1bea60b8e3f710dcd59f084fc318d47a2abf08beac4b1d6a2f38
5
5
  SHA512:
6
- metadata.gz: 006120c5b2585eaf4d9314d25afd777de12516bbbccf6e66c460dc1fe729ffcc91bb560efd5f26acea95dc6661d6c211126472631cdef6edec705c731b081397
7
- data.tar.gz: 90e556823724abfc90b851dec02956ee3c15dfb93c003d0aa5fcb13031172f1c523d97f799697270aaa9affb846be44b31b0ff73a5294d07716ec34c9be5e30c
6
+ metadata.gz: 88fcf1c04e3e8ee9439abc31cafd00b8d9af66115a0d6dec5618c5db75656ff2163479791e117104507e71a32216d29430aa40caf4f76ec493b1da659a95b533
7
+ data.tar.gz: 7cffedee5244f1f0aa5a24a58c0e6cc832e63993ec97f42f31ba1356ebcc37b51061022be3e76167fd6a34e25ad2fbbcc31e45f1eb6e8ac209ae11fbc5014255
@@ -0,0 +1,25 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - v4.6
8
+ pull_request:
9
+ workflow_dispatch:
10
+ schedule:
11
+ - cron: "0 0 * * 4" # every Thursday
12
+
13
+ concurrency:
14
+ group: test-${{ github.ref_name }}
15
+ cancel-in-progress: ${{ github.ref_name != 'main' }}
16
+
17
+ permissions:
18
+ contents: read
19
+
20
+ jobs:
21
+ test:
22
+ uses: solidusio/test-solidus-extension/.github/workflows/test.yml@main
23
+ with:
24
+ solidus_branches: '["v4.6"]'
25
+ ruby_versions: '["3.2", "3.4"]'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Changelog
2
2
 
3
- See https://github.com/solidusio/solidus_stripe/releases.
3
+ See https://github.com/solidusio/solidus_frontend/releases.
data/Gemfile CHANGED
@@ -2,14 +2,16 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
5
+ branch = ENV.fetch('SOLIDUS_BRANCH', 'v4.6')
6
6
 
7
- git "https://github.com/solidusio/solidus.git", branch: branch do
8
- gem 'solidus_api'
9
- gem 'solidus_core'
10
- end
7
+ # The storefront's promotion features build on the legacy promotion
8
+ # system, which lives in the solidus_legacy_promotions gem since Solidus
9
+ # 4.4, and its admin assets require solidus_backend, so we test against
10
+ # the full solidus gem.
11
+ gem 'solidus', git: "https://github.com/solidusio/solidus.git", branch: branch
11
12
 
12
- gem 'rails', ENV.fetch('RAILS_VERSION', nil)
13
+ rails_version = ENV.fetch('RAILS_VERSION', '7.2')
14
+ gem 'rails', "~> #{rails_version}"
13
15
 
14
16
  # Temporarily locking sprockets to v3.x
15
17
  # see https://github.com/solidusio/solidus/issues/3374
@@ -22,7 +24,11 @@ when 'mysql'
22
24
  when 'postgresql'
23
25
  gem 'pg'
24
26
  else
25
- gem 'sqlite3'
27
+ if rails_version <= "7.2"
28
+ gem 'sqlite3', "~> 1.7"
29
+ else
30
+ gem 'sqlite3', "~> 2.0"
31
+ end
26
32
  end
27
33
 
28
34
  gemspec
data/README.md CHANGED
@@ -1,30 +1,30 @@
1
1
  # solidus\_frontend
2
2
 
3
- Frontend contains controllers and views implementing a storefront and cart for Solidus.
3
+ Frontend contains controllers and views implementing a storefront and cart for
4
+ Solidus.
4
5
 
5
6
  ## 🚧 Warning
6
7
 
7
- This gem is deprecated and no longer part of the Solidus recommended stack.
8
-
9
- For new Solidus apps, we recommend that you use
10
- [SolidusStarterFrontend](https://github.com/solidusio/solidus_starter_frontend)
8
+ This gem is deprecated. New Solidus installations use
9
+ [Solidus Storefront](https://github.com/solidusio/solidus/tree/main/storefront#readme)
11
10
  instead.
12
11
 
13
- This repository will only accept bug fixes and security patches for the
14
- branches that match supported versions of Solidus:
12
+ This repository will only accept bug fixes and security patches for the branches
13
+ that match supported versions of Solidus:
15
14
 
16
15
  | Branch | End of Life |
17
16
  | --------------------------------------------------------------- | ----------- |
18
- | [v3.4](https://github.com/solidusio/solidus_frontend/tree/v3.4) | 2024-10-21 |
19
- | [v3.3](https://github.com/solidusio/solidus_frontend/tree/v3.3) | 2024-07-24 |
20
- | [v3.2](https://github.com/solidusio/solidus_frontend/tree/v3.2) | 2024-02-18 |
17
+ | [v4.7](https://github.com/solidusio/solidus_frontend/tree/v4.7) | 2027-10-08 |
18
+ | [v4.6](https://github.com/solidusio/solidus_frontend/tree/v4.6) | 2027-03-03 |
21
19
 
22
20
  ## Override views
23
21
 
24
- In order to customize a view you should copy the file into your host app. Using Deface is not
25
- recommended as it provides lots of headaches while debugging and degrades your shops performance.
22
+ In order to customize a view you should copy the file into your host app. Using
23
+ Deface is not recommended as it provides lots of headaches while debugging and
24
+ degrades your shops performance.
26
25
 
27
- Solidus provides a generator to help with copying the right view into your host app.
26
+ Solidus provides a generator to help with copying the right view into your host
27
+ app.
28
28
 
29
29
  Simply call the generator to copy all views into your host app.
30
30
 
@@ -32,27 +32,31 @@ Simply call the generator to copy all views into your host app.
32
32
  $ bundle exec rails g solidus:views:override
33
33
  ```
34
34
 
35
- If you only want to copy certain views into your host app, you can provide the `--only` argument:
35
+ If you only want to copy certain views into your host app, you can provide the
36
+ `--only` argument:
36
37
 
37
38
  ```bash
38
39
  $ bundle exec rails g solidus:views:override --only products/show
39
40
  ```
40
41
 
41
- The argument to `--only` can also be a substring of the name of the view from the `app/views/spree` folder:
42
+ The argument to `--only` can also be a substring of the name of the view from
43
+ the `app/views/spree` folder:
42
44
 
43
45
  ```bash
44
46
  $ bundle exec rails g solidus:views:override --only product
45
47
  ```
46
48
 
47
- This will copy all views whose directory or filename contains the string "product".
49
+ This will copy all views whose directory or filename contains the string
50
+ "product".
48
51
 
49
52
  ### Handle upgrades
50
53
 
51
- After upgrading Solidus to a new version run the generator again and follow on screen instructions.
54
+ After upgrading Solidus to a new version run the generator again and follow on
55
+ screen instructions.
52
56
 
53
57
  ## Developing Solidus Frontend
54
58
 
55
- * Clone the Git repo
59
+ - Clone the Git repo
56
60
 
57
61
  ```bash
58
62
  git clone git://github.com/solidusio/solidus_frontend.git
@@ -61,13 +65,14 @@ After upgrading Solidus to a new version run the generator again and follow on s
61
65
 
62
66
  ### Without Docker
63
67
 
64
- * Install the gem dependencies
68
+ - Install the gem dependencies
65
69
 
66
70
  ```bash
67
71
  bin/setup
68
72
  ```
69
73
 
70
- _Note_: If you're using PostgreSQL or MySQL, you'll need to install those gems through the DB environment variable.
74
+ _Note_: If you're using PostgreSQL or MySQL, you'll need to install those gems
75
+ through the DB environment variable.
71
76
 
72
77
  ```bash
73
78
  # PostgreSQL
@@ -85,7 +90,8 @@ After upgrading Solidus to a new version run the generator again and follow on s
85
90
  docker-compose up -d
86
91
  ```
87
92
 
88
- Wait for all the gems to be installed (progress can be checked through `docker-compose logs -f app`).
93
+ Wait for all the gems to be installed (progress can be checked through
94
+ `docker-compose logs -f app`).
89
95
 
90
96
  You can provide the ruby version you want your image to use:
91
97
 
@@ -94,7 +100,8 @@ docker-compose build --build-arg RUBY_VERSION=2.6 app
94
100
  docker-compose up -d
95
101
  ```
96
102
 
97
- The rails version can be customized at runtime through `RAILS_VERSION` environment variable:
103
+ The rails version can be customized at runtime through `RAILS_VERSION`
104
+ environment variable:
98
105
 
99
106
  ```bash
100
107
  RAILS_VERSION='~> 5.0' docker-compose up -d
@@ -142,13 +149,14 @@ testing purposes.
142
149
  This sandbox includes solidus\_auth\_devise and generates with seed and sample
143
150
  data already loaded.
144
151
 
145
- * Create the sandbox application
152
+ - Create the sandbox application
146
153
 
147
154
  ```bash
148
155
  bin/sandbox
149
156
  ```
150
157
 
151
- You can create a sandbox with PostgreSQL or MySQL by setting the DB environment variable.
158
+ You can create a sandbox with PostgreSQL or MySQL by setting the DB
159
+ environment variable.
152
160
 
153
161
  ```bash
154
162
  # PostgreSQL
@@ -160,9 +168,9 @@ data already loaded.
160
168
  bin/sandbox
161
169
  ```
162
170
 
163
- If you need to create a Rails 5.2 application for your sandbox, for example
164
- if you are still using Ruby 2.4 which is not supported by Rails 6, you can
165
- use the `RAILS_VERSION` environment variable.
171
+ If you need to create a Rails 5.2 application for your sandbox, for example if
172
+ you are still using Ruby 2.4 which is not supported by Rails 6, you can use
173
+ the `RAILS_VERSION` environment variable.
166
174
 
167
175
  ```bash
168
176
  export RAILS_VERSION='~> 5.2.0'
@@ -170,7 +178,7 @@ data already loaded.
170
178
  bin/sandbox
171
179
  ```
172
180
 
173
- * Start the server (`bin/rails` will forward any argument to the sandbox)
181
+ - Start the server (`bin/rails` will forward any argument to the sandbox)
174
182
 
175
183
  ```bash
176
184
  bin/rails server
@@ -178,8 +186,8 @@ data already loaded.
178
186
 
179
187
  ### Tests
180
188
 
181
- Solidus uses [RSpec](http://rspec.info) for tests. Refer to its documentation for
182
- more information about the testing library.
189
+ Solidus uses [RSpec](http://rspec.info) for tests. Refer to its documentation
190
+ for more information about the testing library.
183
191
 
184
192
  #### CircleCI
185
193
 
@@ -218,4 +226,6 @@ COVERAGE=true bundle exec rspec
218
226
 
219
227
  ### Releasing new versions
220
228
 
221
- Please refer to the dedicated [page](https://github.com/solidusio/solidus/wiki/How-to-release-extensions) on Solidus wiki.
229
+ Please refer to the dedicated
230
+ [page](https://github.com/solidusio/solidus/wiki/How-to-release-extensions) on
231
+ Solidus wiki.
data/Rakefile CHANGED
@@ -14,4 +14,16 @@ CLOBBER.include('spec/dummy')
14
14
 
15
15
  SolidusDevSupport::RakeTasks.install
16
16
 
17
+ # The combined `db:drop db:create db:migrate` invocation used to set up the
18
+ # dummy database leaves SQLite with a stale connection to the dropped
19
+ # database file, so the migrated schema never reaches the file on disk.
20
+ # Re-running the migrations in a fresh process writes the real database.
21
+ task 'extension:test_app' do
22
+ if ENV['DB'].nil? || %w[sqlite sqlite3].include?(ENV['DB'])
23
+ cd 'spec/dummy' do
24
+ sh 'bin/rails db:migrate VERBOSE=false RAILS_ENV=test'
25
+ end
26
+ end
27
+ end
28
+
17
29
  task default: 'extension:specs'
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Spree
4
4
  module Frontend
5
- VERSION = "4.0.0"
5
+ VERSION = "4.6.0"
6
6
 
7
7
  def self.version
8
8
  VERSION
@@ -7,13 +7,13 @@ Gem::Specification.new do |s|
7
7
  s.name = 'solidus_frontend'
8
8
  s.version = Spree::Frontend.version
9
9
 
10
- s.summary = <<~SUMMARY
11
- Legacy cart and storefront for the Solidus e-commerce project.
12
- For new Solidus apps, we recommend that you use
13
- [SolidusStarterFrontend](https://github.com/solidusio/solidus_starter_frontend)
14
- instead.
10
+ s.summary = <<~SUMMARY
11
+ Legacy storefront for the Solidus e-commerce platform. New Solidus
12
+ installations use Solidus Storefront:
13
+ https://github.com/solidusio/solidus/tree/main/storefront#readme
15
14
  SUMMARY
16
15
 
16
+
17
17
  s.description = s.summary
18
18
 
19
19
  s.author = 'Solidus Team'
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.metadata['rubygems_mfa_required'] = 'true'
25
25
  s.metadata['homepage_uri'] = s.homepage
26
26
  s.metadata['source_code_uri'] = 'https://github.com/solidusio/solidus_frontend'
27
- s.metadata['changelog_uri'] = 'https://github.com/solidusio/solidus_frontend/blob/master/CHANGELOG.md'
27
+ s.metadata['changelog_uri'] = 'https://github.com/solidusio/solidus_frontend/releases'
28
28
 
29
29
  s.files = `git ls-files -z`.split("\x0").reject do |f|
30
30
  f.match(%r{^(spec|script)/})
@@ -47,6 +47,7 @@ Gem::Specification.new do |s|
47
47
  s.add_development_dependency 'capybara-accessible'
48
48
  s.add_development_dependency 'solidus_dev_support', '~> 2.5'
49
49
  s.add_development_dependency 'rspec-activemodel-mocks', '~> 1.1'
50
+ s.add_development_dependency 'rspec-retry'
50
51
  s.add_development_dependency 'rails-controller-testing'
51
52
  s.add_development_dependency 'generator_spec'
52
53
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-10-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: solidus_api
@@ -184,6 +183,20 @@ dependencies:
184
183
  - - "~>"
185
184
  - !ruby/object:Gem::Version
186
185
  version: '1.1'
186
+ - !ruby/object:Gem::Dependency
187
+ name: rspec-retry
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
187
200
  - !ruby/object:Gem::Dependency
188
201
  name: rails-controller-testing
189
202
  requirement: !ruby/object:Gem::Requirement
@@ -212,19 +225,18 @@ dependencies:
212
225
  - - ">="
213
226
  - !ruby/object:Gem::Version
214
227
  version: '0'
215
- description: Legacy cart and storefront for the Solidus e-commerce project. For new
216
- Solidus apps, we recommend that you use [SolidusStarterFrontend](https://github.com/solidusio/solidus_starter_frontend)
217
- instead.
228
+ description: 'Legacy storefront for the Solidus e-commerce platform. New Solidus installations
229
+ use Solidus Storefront: https://github.com/solidusio/solidus/tree/main/storefront#readme'
218
230
  email: contact@solidus.io
219
231
  executables: []
220
232
  extensions: []
221
233
  extra_rdoc_files: []
222
234
  files:
223
- - ".circleci/config.yml"
224
235
  - ".dockerdev/.psqlrc"
225
236
  - ".dockerdev/Dockerfile"
226
237
  - ".gem_release.yml"
227
238
  - ".github/stale.yml"
239
+ - ".github/workflows/test.yml"
228
240
  - ".github_changelog_generator"
229
241
  - ".gitignore"
230
242
  - ".rspec"
@@ -374,8 +386,7 @@ metadata:
374
386
  rubygems_mfa_required: 'true'
375
387
  homepage_uri: http://solidus.io
376
388
  source_code_uri: https://github.com/solidusio/solidus_frontend
377
- changelog_uri: https://github.com/solidusio/solidus_frontend/blob/master/CHANGELOG.md
378
- post_install_message:
389
+ changelog_uri: https://github.com/solidusio/solidus_frontend/releases
379
390
  rdoc_options: []
380
391
  require_paths:
381
392
  - lib
@@ -390,10 +401,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
390
401
  - !ruby/object:Gem::Version
391
402
  version: 1.8.23
392
403
  requirements: []
393
- rubygems_version: 3.3.23
394
- signing_key:
404
+ rubygems_version: 4.0.10
395
405
  specification_version: 4
396
- summary: Legacy cart and storefront for the Solidus e-commerce project. For new Solidus
397
- apps, we recommend that you use [SolidusStarterFrontend](https://github.com/solidusio/solidus_starter_frontend)
398
- instead.
406
+ summary: 'Legacy storefront for the Solidus e-commerce platform. New Solidus installations
407
+ use Solidus Storefront: https://github.com/solidusio/solidus/tree/main/storefront#readme'
399
408
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,67 +0,0 @@
1
- version: 2.1
2
-
3
- orbs:
4
- browser-tools: circleci/browser-tools@1.3
5
-
6
- # Always take the latest version of the orb, this allows us to
7
- # run specs against Solidus supported versions only without the need
8
- # to change this configuration every time a Solidus version is released
9
- # or goes EOL.
10
- solidusio_extensions: solidusio/extensions@volatile
11
-
12
- commands:
13
- libvips:
14
- steps:
15
- - run:
16
- name: Install libvips
17
- command: |
18
- sudo apt-get update
19
- sudo apt-get install -yq libvips-dev
20
-
21
- jobs:
22
- run-specs:
23
- parameters:
24
- db:
25
- type: string
26
- default: "postgres"
27
- ruby:
28
- type: string
29
- default: "3.2"
30
- executor:
31
- name: solidusio_extensions/<< parameters.db >>
32
- ruby_version: << parameters.ruby >>
33
- steps:
34
- - checkout
35
- - browser-tools/install-chrome
36
- - libvips
37
- - solidusio_extensions/run-tests-solidus-main
38
-
39
- workflows:
40
- "Run specs on Solidus main":
41
- jobs:
42
- - run-specs:
43
- name: &name "run-specs-solidus-main-ruby-<< matrix.ruby >>-db-<< matrix.db >>"
44
- matrix:
45
- parameters: { ruby: ["3.2"], db: ["postgres"] }
46
- - run-specs:
47
- name: &name "run-specs-solidus-main-ruby-<< matrix.ruby >>-db-<< matrix.db >>"
48
- matrix:
49
- parameters: { ruby: ["3.1"], db: ["mysql"] }
50
- - run-specs:
51
- name: &name "run-specs-solidus-main-ruby-<< matrix.ruby >>-db-<< matrix.db >>"
52
- matrix:
53
- parameters: { ruby: ["3.0"], db: ["sqlite"] }
54
-
55
- "Weekly run specs against main":
56
- triggers:
57
- - schedule:
58
- cron: "0 0 * * 4" # every Thursday
59
- filters:
60
- branches:
61
- only:
62
- - main
63
- jobs:
64
- - run-specs:
65
- name: *name
66
- matrix:
67
- parameters: { ruby: ["3.2"], db: ["postgres"] }