shakapacker 6.5.5 → 6.5.6
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 +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +11 -7
- data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
- data/.github/workflows/ruby.yml +3 -1
- data/.gitignore +3 -3
- data/.rspec +1 -0
- data/CHANGELOG.md +18 -2
- data/CONTRIBUTING.md +11 -1
- data/Gemfile.development_dependencies +3 -1
- data/README.md +41 -8
- data/Rakefile +4 -5
- data/gemfiles/Gemfile-rails-edge +1 -1
- data/gemfiles/Gemfile-rails.5.2.x +1 -1
- data/gemfiles/Gemfile-rails.6.0.x +1 -1
- data/gemfiles/Gemfile-rails.6.1.x +1 -1
- data/gemfiles/Gemfile-rails.7.0.x +1 -1
- data/lib/install/template.rb +21 -16
- data/lib/tasks/webpacker/compile.rake +5 -10
- data/lib/webpacker/helper.rb +20 -9
- data/lib/webpacker/version.rb +1 -1
- data/package/rules/__tests__/__utils__/webpack.js +50 -0
- data/package/rules/__tests__/babel.js +63 -0
- data/package/rules/__tests__/esbuild.js +64 -0
- data/package/rules/__tests__/index.js +0 -4
- data/package/rules/__tests__/swc.js +64 -0
- data/package/rules/babel.js +3 -14
- data/package/rules/esbuild.js +2 -13
- data/package/rules/jscommon.js +26 -0
- data/package/rules/swc.js +2 -13
- data/package/utils/helpers.js +1 -1
- data/package.json +8 -2
- data/spec/command_spec.rb +114 -0
- data/spec/compiler_spec.rb +57 -0
- data/spec/compiler_strategy_spec.rb +20 -0
- data/spec/configuration_spec.rb +281 -0
- data/{test/dev_server_runner_test.rb → spec/dev_server_runner_spec.rb} +30 -40
- data/spec/dev_server_spec.rb +45 -0
- data/spec/digest_strategy_spec.rb +33 -0
- data/{test/engine_rake_tasks_test.rb → spec/engine_rake_tasks_spec.rb} +17 -9
- data/spec/env_spec.rb +21 -0
- data/{test → spec}/fixtures/beta_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/beta_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/beta_package.json +0 -0
- data/{test → spec}/fixtures/beta_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/beta_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/git_url_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/git_url_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/git_url_package.json +0 -0
- data/{test → spec}/fixtures/git_url_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/git_url_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/github_url_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/github_url_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/github_url_package.json +0 -0
- data/{test → spec}/fixtures/github_url_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/github_url_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/relative_path_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/relative_path_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/relative_path_package.json +0 -0
- data/{test → spec}/fixtures/relative_path_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/relative_path_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/semver_caret_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/semver_caret_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/semver_caret_package.json +0 -0
- data/{test → spec}/fixtures/semver_caret_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/semver_caret_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/semver_exact_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/semver_exact_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/semver_exact_package.json +0 -0
- data/{test → spec}/fixtures/semver_exact_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/semver_exact_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/semver_tilde_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/semver_tilde_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/semver_tilde_package.json +0 -0
- data/{test → spec}/fixtures/semver_tilde_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/semver_tilde_yarn.v2.lock +0 -0
- data/{test → spec}/fixtures/without_package-lock.v1.json +0 -0
- data/{test → spec}/fixtures/without_package-lock.v2.json +0 -0
- data/{test → spec}/fixtures/without_package.json +0 -0
- data/{test → spec}/fixtures/without_yarn.v1.lock +0 -0
- data/{test → spec}/fixtures/without_yarn.v2.lock +0 -0
- data/spec/helper_spec.rb +241 -0
- data/spec/manifest_spec.rb +98 -0
- data/{test → spec}/mounted_app/Rakefile +0 -0
- data/{test → spec}/mounted_app/test/dummy/Rakefile +0 -0
- data/{test → spec}/mounted_app/test/dummy/bin/rails +0 -0
- data/{test → spec}/mounted_app/test/dummy/bin/rake +0 -0
- data/{test → spec}/mounted_app/test/dummy/config/application.rb +0 -0
- data/{test → spec}/mounted_app/test/dummy/config/environment.rb +0 -0
- data/{test → spec}/mounted_app/test/dummy/config/webpacker.yml +0 -0
- data/{test → spec}/mounted_app/test/dummy/config.ru +0 -0
- data/{test → spec}/mounted_app/test/dummy/package.json +0 -0
- data/spec/mtime_strategy_spec.rb +53 -0
- data/spec/rake_tasks_spec.rb +32 -0
- data/spec/spec_helper.rb +123 -0
- data/{test → spec}/test_app/Rakefile +0 -0
- data/{test → spec}/test_app/app/packs/entrypoints/application.js +0 -0
- data/{test → spec}/test_app/app/packs/entrypoints/generated/something.js +0 -0
- data/{test → spec}/test_app/app/packs/entrypoints/multi_entry.css +0 -0
- data/{test → spec}/test_app/app/packs/entrypoints/multi_entry.js +0 -0
- data/{test → spec}/test_app/bin/webpacker +0 -0
- data/{test → spec}/test_app/bin/webpacker-dev-server +0 -0
- data/{test → spec}/test_app/config/application.rb +0 -0
- data/{test → spec}/test_app/config/environment.rb +0 -0
- data/{test → spec}/test_app/config/initializers/inspect_autoload_paths.rb +0 -0
- data/{test → spec}/test_app/config/webpack/webpack.config.js +0 -0
- data/{test → spec}/test_app/config/webpacker.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_css_extract_ignore_order_warnings.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_defaults_fallback.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_manifest_path.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_nested_entries.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_no_precompile.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_other_location.yml +0 -0
- data/{test → spec}/test_app/config/webpacker_public_root.yml +0 -0
- data/{test → spec}/test_app/config.ru +0 -0
- data/{test → spec}/test_app/package.json +0 -0
- data/{test → spec}/test_app/public/packs/manifest.json +8 -0
- data/{test → spec}/test_app/some.config.js +0 -0
- data/{test → spec}/test_app/yarn.lock +0 -0
- data/spec/version_checker_spec.rb +950 -0
- data/{test/webpack_runner_test.rb → spec/webpack_runner_spec.rb} +12 -15
- data/spec/webpacker_spec.rb +39 -0
- data/yarn.lock +846 -844
- metadata +102 -187
- data/.github/ISSUE_TEMPLATE/feature-request.md +0 -18
- data/lib/tasks/yarn.rake +0 -44
- data/test/command_test.rb +0 -109
- data/test/compiler_strategy_test.rb +0 -27
- data/test/compiler_test.rb +0 -60
- data/test/configuration_test.rb +0 -186
- data/test/dev_server_test.rb +0 -47
- data/test/digest_strategy_test.rb +0 -33
- data/test/env_test.rb +0 -23
- data/test/helper_test.rb +0 -248
- data/test/manifest_test.rb +0 -89
- data/test/mtime_strategy_test.rb +0 -42
- data/test/rake_tasks_test.rb +0 -37
- data/test/test_helper.rb +0 -33
- data/test/version_checker_test.rb +0 -826
- data/test/webpacker_test.rb +0 -49
|
@@ -0,0 +1,950 @@
|
|
|
1
|
+
require "webpacker/version"
|
|
2
|
+
|
|
3
|
+
class NodePackageVersionDouble
|
|
4
|
+
attr_reader :raw, :major_minor_patch
|
|
5
|
+
|
|
6
|
+
def initialize(raw: nil, major_minor_patch: nil, semver_wildcard: false, skip_processing: false)
|
|
7
|
+
@raw = raw
|
|
8
|
+
@major_minor_patch = major_minor_patch
|
|
9
|
+
@semver_wildcard = semver_wildcard
|
|
10
|
+
@skip_processing = skip_processing
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def semver_wildcard?
|
|
14
|
+
@semver_wildcard
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def skip_processing?
|
|
18
|
+
@skip_processing
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe "VersionChecker" do
|
|
23
|
+
def check_version(node_package_version, stub_gem_version = Webpacker::VERSION, stub_config = true)
|
|
24
|
+
version_checker = Webpacker::VersionChecker.new(node_package_version)
|
|
25
|
+
allow(version_checker).to receive(:gem_version).and_return(stub_gem_version)
|
|
26
|
+
allow(Webpacker.config).to receive(:ensure_consistent_versioning?).and_return(stub_config)
|
|
27
|
+
|
|
28
|
+
version_checker.raise_if_gem_and_node_package_versions_differ
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "prints error in stderr if consistency check is disabled and version mismatch" do
|
|
32
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
|
33
|
+
|
|
34
|
+
expect { check_version(node_package_version, "6.0.0", false) }
|
|
35
|
+
.to output(/Webpacker::VersionChecker - Version mismatch/)
|
|
36
|
+
.to_stderr
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "prints error in stderr if consistency check is disabled and we have semver" do
|
|
40
|
+
node_package_version = NodePackageVersionDouble.new(raw: "^6.1.0", major_minor_patch: ["6", "1", "0"], semver_wildcard: true)
|
|
41
|
+
|
|
42
|
+
expect { check_version(node_package_version, "6.0.0", false) }
|
|
43
|
+
.to output(/Webpacker::VersionChecker - Semver wildcard without a lockfile detected/)
|
|
44
|
+
.to_stderr
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it "raises exception on different major version" do
|
|
48
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
|
49
|
+
|
|
50
|
+
expect { check_version(node_package_version, "7.0.0") }
|
|
51
|
+
.to raise_error(/\*\*ERROR\*\* Webpacker: Webpacker gem and node package versions do not match/)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it "raises exception on different minor version" do
|
|
55
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
|
56
|
+
|
|
57
|
+
expect { check_version(node_package_version, "6.2.0") }
|
|
58
|
+
.to raise_error(/\*\*ERROR\*\* Webpacker: Webpacker gem and node package versions do not match/)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it "raises exception on different patch version" do
|
|
62
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.1", major_minor_patch: ["6", "1", "1"])
|
|
63
|
+
|
|
64
|
+
expect { check_version(node_package_version, "6.1.2") }
|
|
65
|
+
.to raise_error(/\*\*ERROR\*\* Webpacker: Webpacker gem and node package versions do not match/)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it "raises exception on semver wildcard" do
|
|
69
|
+
node_package_version = NodePackageVersionDouble.new(raw: "^6.0.0", major_minor_patch: ["6", "0", "0"], semver_wildcard: true)
|
|
70
|
+
|
|
71
|
+
expect { check_version(node_package_version, "6.0.0") }
|
|
72
|
+
.to raise_error(/\*\*ERROR\*\* Webpacker: Your node package version for shakapacker contains a \^ or ~/)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it "doesn't raise exception on matching versions" do
|
|
76
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.0.0", major_minor_patch: ["6", "0", "0"])
|
|
77
|
+
|
|
78
|
+
expect { check_version(node_package_version, "6.0.0") }.to_not raise_error
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it "doesn't raise exception on matching versions beta" do
|
|
82
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.0.0-beta.1", major_minor_patch: ["6", "0", "0"])
|
|
83
|
+
|
|
84
|
+
expect { check_version(node_package_version, "6.0.0.beta.1") }.to_not raise_error
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "doesn't raise exception on no package" do
|
|
88
|
+
node_package_version = NodePackageVersionDouble.new(raw: nil, skip_processing: true)
|
|
89
|
+
|
|
90
|
+
expect { check_version(node_package_version, "6.0.0") }.to_not raise_error
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it "doesn't raise exception on skipped path" do
|
|
94
|
+
node_package_version = NodePackageVersionDouble.new(raw: "../..", skip_processing: true)
|
|
95
|
+
|
|
96
|
+
expect { check_version(node_package_version, "6.0.0") }.to_not raise_error
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
describe "VersionChecker::NodePackageVersion" do
|
|
101
|
+
context "with no yarn.lock file" do
|
|
102
|
+
def node_package_version(fixture_version:)
|
|
103
|
+
Webpacker::VersionChecker::NodePackageVersion.new(
|
|
104
|
+
File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
|
|
105
|
+
"file/does/not/exist",
|
|
106
|
+
"file/does/not/exist"
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
context "from exact semantic version" do
|
|
111
|
+
let(:node_package_version_from_semver_exact) { node_package_version(fixture_version: "semver_exact") }
|
|
112
|
+
|
|
113
|
+
it "#raw returns raw version" do
|
|
114
|
+
expect(node_package_version_from_semver_exact.raw).to eq "6.0.0"
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it "#major_minor_patch returns version array" do
|
|
118
|
+
expect(node_package_version_from_semver_exact.major_minor_patch).to eq ["6", "0", "0"]
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it "#skip_processing? returns false" do
|
|
122
|
+
expect(node_package_version_from_semver_exact.skip_processing?).to be false
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
it "#semver_wildcard returns false" do
|
|
126
|
+
expect(node_package_version_from_semver_exact.semver_wildcard?).to be false
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
context "from beta version" do
|
|
131
|
+
let(:node_package_version_from_beta) { node_package_version(fixture_version: "beta") }
|
|
132
|
+
|
|
133
|
+
it "#raw returns raw version" do
|
|
134
|
+
expect(node_package_version_from_beta.raw).to eq "6.1.0-beta.0"
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
it "#major_minor_patch returns version array" do
|
|
138
|
+
expect(node_package_version_from_beta.major_minor_patch).to eq ["6", "1", "0"]
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
it "#skip_processing? returns false" do
|
|
142
|
+
expect(node_package_version_from_beta.skip_processing?).to be false
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
it "#semver_wildcard? returns false" do
|
|
146
|
+
expect(node_package_version_from_beta.semver_wildcard?).to be false
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
context "from caret semantic version" do
|
|
151
|
+
let(:node_package_version_from_semver_caret) { node_package_version(fixture_version: "semver_caret") }
|
|
152
|
+
|
|
153
|
+
it "#raw returns version" do
|
|
154
|
+
expect(node_package_version_from_semver_caret.raw).to eq "^6.0.0"
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
it "#major_minor_patch returns version array" do
|
|
158
|
+
expect(node_package_version_from_semver_caret.major_minor_patch).to eq ["6", "0", "0"]
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
it "#skip_processing? returns false" do
|
|
162
|
+
expect(node_package_version_from_semver_caret.skip_processing?).to be false
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
it "#semver_wildcard? returns true" do
|
|
166
|
+
expect(node_package_version_from_semver_caret.semver_wildcard?).to be true
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
context "from tilde semantic version" do
|
|
171
|
+
let(:node_package_version_from_semver_tilde) { node_package_version(fixture_version: "semver_tilde") }
|
|
172
|
+
|
|
173
|
+
it "#raw returns version" do
|
|
174
|
+
expect(node_package_version_from_semver_tilde.raw).to eq "~6.0.0"
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
it "#major_minor_patch returns version" do
|
|
178
|
+
expect(node_package_version_from_semver_tilde.major_minor_patch).to eq ["6", "0", "0"]
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
it "#skip_processing? returns false" do
|
|
182
|
+
expect(node_package_version_from_semver_tilde.skip_processing?).to be false
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
it "#semver_wildcard? returns true" do
|
|
186
|
+
expect(node_package_version_from_semver_tilde.semver_wildcard?).to be true
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
context "from relative path" do
|
|
191
|
+
let(:node_package_version_from_relative_path) { node_package_version(fixture_version: "relative_path") }
|
|
192
|
+
|
|
193
|
+
it "#raw returns relative path" do
|
|
194
|
+
expect(node_package_version_from_relative_path.raw).to eq "../.."
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
it "#major_minor_patch returns nil" do
|
|
198
|
+
expect(node_package_version_from_relative_path.major_minor_patch).to be nil
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
it "#skip_processing? returns true" do
|
|
202
|
+
expect(node_package_version_from_relative_path.skip_processing?).to be true
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
it "#semver_wildcard? returns false" do
|
|
206
|
+
expect(node_package_version_from_relative_path.semver_wildcard?).to be false
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
context "from git url" do
|
|
211
|
+
let(:node_package_version_from_git_url) { node_package_version(fixture_version: "git_url") }
|
|
212
|
+
|
|
213
|
+
it "#raw returns git url" do
|
|
214
|
+
expect(node_package_version_from_git_url.raw).to eq "git@github.com:shakacode/shakapacker.git"
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
it "#major_minor_patch returns nil" do
|
|
218
|
+
expect(node_package_version_from_git_url.major_minor_patch).to be nil
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
it "#skip_processing? returns true" do
|
|
222
|
+
expect(node_package_version_from_git_url.skip_processing?).to be true
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
it "#semver_wildcard? returns false" do
|
|
226
|
+
expect(node_package_version_from_git_url.semver_wildcard?).to be false
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
context "from github url" do
|
|
231
|
+
let (:node_package_version_from_github_url) { node_package_version(fixture_version: "github_url") }
|
|
232
|
+
|
|
233
|
+
it "#raw returns GitHub repo address" do
|
|
234
|
+
expect(node_package_version_from_github_url.raw).to eq "shakacode/shakapacker#master"
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
it "#major_minor_patch returns nil" do
|
|
238
|
+
expect(node_package_version_from_github_url.major_minor_patch).to be nil
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
it "#skip_processing returns true" do
|
|
242
|
+
expect(node_package_version_from_github_url.skip_processing?).to be true
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
it "#semver_wildcard returns false" do
|
|
246
|
+
expect(node_package_version_from_github_url.semver_wildcard?).to be false
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
context "from package.json without shakapacker entry" do
|
|
251
|
+
let(:node_package_version_from_without) { node_package_version(fixture_version: "without") }
|
|
252
|
+
|
|
253
|
+
it "#raw returns empty string" do
|
|
254
|
+
expect(node_package_version_from_without.raw).to eq ""
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
it "#major_minor_patch returns nil" do
|
|
258
|
+
expect(node_package_version_from_without.major_minor_patch).to be nil
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
it "#skip_processing? returns true" do
|
|
262
|
+
expect(node_package_version_from_without.skip_processing?).to be true
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
it "#semver_wildcard? returns false" do
|
|
266
|
+
expect(node_package_version_from_without.semver_wildcard?).to be false
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
context "with yarn.lock v1" do
|
|
272
|
+
def node_package_version(fixture_version:)
|
|
273
|
+
Webpacker::VersionChecker::NodePackageVersion.new(
|
|
274
|
+
File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
|
|
275
|
+
File.expand_path("fixtures/#{fixture_version}_yarn.v1.lock", __dir__),
|
|
276
|
+
"file/does/not/exist"
|
|
277
|
+
)
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
context "from exact semantic version" do
|
|
281
|
+
let(:node_package_version_from_semver_exact) { node_package_version(fixture_version: "semver_exact") }
|
|
282
|
+
|
|
283
|
+
it "#raw returns version" do
|
|
284
|
+
expect(node_package_version_from_semver_exact.raw).to eq "6.0.0"
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
it "#major_minor_patch returns version array" do
|
|
288
|
+
expect(node_package_version_from_semver_exact.major_minor_patch).to eq ["6", "0", "0"]
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
it "#skip_processing? returns false" do
|
|
292
|
+
expect(node_package_version_from_semver_exact.skip_processing?).to be false
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
it "#semver_wildcard? returns false" do
|
|
296
|
+
expect(node_package_version_from_semver_exact.semver_wildcard?).to be false
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
context "from beta version" do
|
|
301
|
+
let(:node_package_version_from_beta) { node_package_version(fixture_version: "beta") }
|
|
302
|
+
|
|
303
|
+
it "#raw returns version" do
|
|
304
|
+
expect(node_package_version_from_beta.raw).to eq "6.1.0-beta.0"
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
it "#major_minor_patch returns version array" do
|
|
308
|
+
expect(node_package_version_from_beta.major_minor_patch).to eq ["6", "1", "0"]
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
it "#skip_processing? returns false" do
|
|
312
|
+
expect(node_package_version_from_beta.skip_processing?).to be false
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
it "#semver_wildcard? returns false" do
|
|
316
|
+
expect(node_package_version_from_beta.semver_wildcard?).to be false
|
|
317
|
+
end
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
context "from caret semantic version" do
|
|
321
|
+
let(:node_package_version_from_semver_caret) { node_package_version(fixture_version: "semver_caret") }
|
|
322
|
+
|
|
323
|
+
it "#raw returns version" do
|
|
324
|
+
expect(node_package_version_from_semver_caret.raw).to eq "6.5.0"
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
it "#major_minor_patch returns version array" do
|
|
328
|
+
expect(node_package_version_from_semver_caret.major_minor_patch).to eq ["6", "5", "0"]
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
it "#skip_processing? false" do
|
|
332
|
+
expect(node_package_version_from_semver_caret.skip_processing?).to be false
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
it "#semver_wildcard? false" do
|
|
336
|
+
expect(node_package_version_from_semver_caret.semver_wildcard?).to be false
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
context "from tilde semantic version" do
|
|
341
|
+
let(:node_package_version_from_semver_tilde) { node_package_version(fixture_version: "semver_tilde") }
|
|
342
|
+
|
|
343
|
+
it "#raw returns version" do
|
|
344
|
+
expect(node_package_version_from_semver_tilde.raw).to eq "6.0.2"
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
it "#major_minor_patch returns version array" do
|
|
348
|
+
expect(node_package_version_from_semver_tilde.major_minor_patch).to eq ["6", "0", "2"]
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
it "#skip_processing? returns false" do
|
|
352
|
+
expect(node_package_version_from_semver_tilde.skip_processing?).to be false
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
it "#semver_wildcard? returns false" do
|
|
356
|
+
expect(node_package_version_from_semver_tilde.semver_wildcard?).to be false
|
|
357
|
+
end
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
context "from relative path" do
|
|
361
|
+
let(:node_package_version_from_relative_path) { node_package_version(fixture_version: "relative_path") }
|
|
362
|
+
|
|
363
|
+
it "#raw returns version" do
|
|
364
|
+
expect(node_package_version_from_relative_path.raw).to eq "6.5.0"
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
it "#major_minor_patch returns version array" do
|
|
368
|
+
expect(node_package_version_from_relative_path.major_minor_patch).to eq ["6", "5", "0"]
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
it "#skip_processing? returns false" do
|
|
372
|
+
expect(node_package_version_from_relative_path.skip_processing?).to be false
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
it "#semver_wildcard? returns false" do
|
|
376
|
+
expect(node_package_version_from_relative_path.semver_wildcard?).to be false
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
context "from git url" do
|
|
381
|
+
let(:node_package_version_from_git_url) { node_package_version(fixture_version: "git_url") }
|
|
382
|
+
|
|
383
|
+
it "#raw returns version" do
|
|
384
|
+
expect(node_package_version_from_git_url.raw).to eq "6.5.0"
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
it "#major_minor_patch returns version array" do
|
|
388
|
+
expect(node_package_version_from_git_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
it "#skip_processing? returns false" do
|
|
392
|
+
expect(node_package_version_from_git_url.skip_processing?).to be false
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
it "#semver_wildcard? returns false" do
|
|
396
|
+
expect(node_package_version_from_git_url.semver_wildcard?).to be false
|
|
397
|
+
end
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
context "from GitHub url" do
|
|
401
|
+
let(:node_package_version_from_github_url) { node_package_version(fixture_version: "github_url") }
|
|
402
|
+
|
|
403
|
+
it "#raw returns version" do
|
|
404
|
+
expect(node_package_version_from_github_url.raw).to eq "6.5.0"
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
it "#major_minor_patch returns version array" do
|
|
408
|
+
expect(node_package_version_from_github_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
it "#skip_processing? returns false" do
|
|
412
|
+
expect(node_package_version_from_github_url.skip_processing?).to be false
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
it "#semver_wildcard? returns false" do
|
|
416
|
+
expect(node_package_version_from_github_url.semver_wildcard?).to be false
|
|
417
|
+
end
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
context "from package.json without shakapacker entry" do
|
|
421
|
+
let(:node_package_version_from_without) { node_package_version(fixture_version: "without") }
|
|
422
|
+
|
|
423
|
+
it "#raw returns empty string" do
|
|
424
|
+
expect(node_package_version_from_without.raw).to eq ""
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
it "#major_minor_patch returns nil" do
|
|
428
|
+
expect(node_package_version_from_without.major_minor_patch).to be nil
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
it "#skip_processing? returns true" do
|
|
432
|
+
expect(node_package_version_from_without.skip_processing?).to be true
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
it "#semver_wildcard? returns false" do
|
|
436
|
+
expect(node_package_version_from_without.semver_wildcard?).to be false
|
|
437
|
+
end
|
|
438
|
+
end
|
|
439
|
+
end
|
|
440
|
+
|
|
441
|
+
context "with yarn.lock v2" do
|
|
442
|
+
def node_package_version(fixture_version:)
|
|
443
|
+
Webpacker::VersionChecker::NodePackageVersion.new(
|
|
444
|
+
File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
|
|
445
|
+
File.expand_path("fixtures/#{fixture_version}_yarn.v2.lock", __dir__),
|
|
446
|
+
"file/does/not/exist"
|
|
447
|
+
)
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
context "from exact semantic version" do
|
|
451
|
+
let(:node_package_version_from_semver_exact) { node_package_version(fixture_version: "semver_exact") }
|
|
452
|
+
|
|
453
|
+
it "#raw retruns version" do
|
|
454
|
+
expect(node_package_version_from_semver_exact.raw).to eq "6.0.0"
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
it "#major_minor_patch retruns version array" do
|
|
458
|
+
expect(node_package_version_from_semver_exact.major_minor_patch).to eq ["6", "0", "0"]
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
it "#skip_processing? retruns false" do
|
|
462
|
+
expect(node_package_version_from_semver_exact.skip_processing?).to be false
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
it "#semver_wildcard? retruns false" do
|
|
466
|
+
expect(node_package_version_from_semver_exact.semver_wildcard?).to be false
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
context "from beta version" do
|
|
471
|
+
let(:node_package_version_from_beta) { node_package_version(fixture_version: "beta") }
|
|
472
|
+
|
|
473
|
+
it "#raw returns version" do
|
|
474
|
+
expect(node_package_version_from_beta.raw).to eq "6.1.0-beta.0"
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
it "#major_minor_patch returns version array" do
|
|
478
|
+
expect(node_package_version_from_beta.major_minor_patch).to eq ["6", "1", "0"]
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
it "#skip_processing? returns false" do
|
|
482
|
+
expect(node_package_version_from_beta.skip_processing?).to be false
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
it "#semver_wildcard? returns false" do
|
|
486
|
+
expect(node_package_version_from_beta.semver_wildcard?).to be false
|
|
487
|
+
end
|
|
488
|
+
end
|
|
489
|
+
|
|
490
|
+
context "from caret semantic version" do
|
|
491
|
+
let(:node_package_version_from_semver_caret) { node_package_version(fixture_version: "semver_caret") }
|
|
492
|
+
|
|
493
|
+
it "#raw returns version" do
|
|
494
|
+
expect(node_package_version_from_semver_caret.raw).to eq "6.5.0"
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
it "#major_minor_patch returns version array" do
|
|
498
|
+
expect(node_package_version_from_semver_caret.major_minor_patch).to eq ["6", "5", "0"]
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
it "#skip_processing? returns false" do
|
|
502
|
+
expect(node_package_version_from_semver_caret.skip_processing?).to be false
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
it "#semver_wildcard? returns false" do
|
|
506
|
+
expect(node_package_version_from_semver_caret.semver_wildcard?).to be false
|
|
507
|
+
end
|
|
508
|
+
end
|
|
509
|
+
|
|
510
|
+
context "from tilde semantic version" do
|
|
511
|
+
let(:node_package_version_from_semver_tilde) { node_package_version(fixture_version: "semver_tilde") }
|
|
512
|
+
|
|
513
|
+
it "#raw returns version" do
|
|
514
|
+
expect(node_package_version_from_semver_tilde.raw).to eq "6.0.2"
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
it "#major_minor_patch returns version array" do
|
|
518
|
+
expect(node_package_version_from_semver_tilde.major_minor_patch).to eq ["6", "0", "2"]
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
it "#skip_processing? returns false" do
|
|
522
|
+
expect(node_package_version_from_semver_tilde.skip_processing?).to be false
|
|
523
|
+
end
|
|
524
|
+
|
|
525
|
+
it "#semver_wildcard? returns false" do
|
|
526
|
+
expect(node_package_version_from_semver_tilde.semver_wildcard?).to be false
|
|
527
|
+
end
|
|
528
|
+
end
|
|
529
|
+
|
|
530
|
+
context "from relative path" do
|
|
531
|
+
let(:node_package_version_from_relative_path) { node_package_version(fixture_version: "relative_path") }
|
|
532
|
+
|
|
533
|
+
it "#raw returns version" do
|
|
534
|
+
expect(node_package_version_from_relative_path.raw).to eq "6.5.0"
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
it "#major_minor_patch returns version array" do
|
|
538
|
+
expect(node_package_version_from_relative_path.major_minor_patch).to eq ["6", "5", "0"]
|
|
539
|
+
end
|
|
540
|
+
|
|
541
|
+
it "#skip_processing? returns false" do
|
|
542
|
+
expect(node_package_version_from_relative_path.skip_processing?).to be false
|
|
543
|
+
end
|
|
544
|
+
|
|
545
|
+
it "#semver_wildcard? returns false" do
|
|
546
|
+
expect(node_package_version_from_relative_path.semver_wildcard?).to be false
|
|
547
|
+
end
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
context "from git url" do
|
|
551
|
+
let(:node_package_version_from_git_url) { node_package_version(fixture_version: "git_url") }
|
|
552
|
+
|
|
553
|
+
it "#raw returns version" do
|
|
554
|
+
expect(node_package_version_from_git_url.raw).to eq "6.5.0"
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
it "#major_minor_patch returns version array" do
|
|
558
|
+
expect(node_package_version_from_git_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
it "#skip_processing? returns false" do
|
|
562
|
+
expect(node_package_version_from_git_url.skip_processing?).to be false
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
it "#semver_wildcard? returns false" do
|
|
566
|
+
expect(node_package_version_from_git_url.semver_wildcard?).to be false
|
|
567
|
+
end
|
|
568
|
+
end
|
|
569
|
+
|
|
570
|
+
context "from github url" do
|
|
571
|
+
let (:node_package_version_from_github_url) { node_package_version(fixture_version: "github_url") }
|
|
572
|
+
|
|
573
|
+
it "#raw return version" do
|
|
574
|
+
expect(node_package_version_from_github_url.raw).to eq "6.5.0"
|
|
575
|
+
end
|
|
576
|
+
|
|
577
|
+
it "#major_minor_patch return version array" do
|
|
578
|
+
expect(node_package_version_from_github_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
579
|
+
end
|
|
580
|
+
|
|
581
|
+
it "#skip_processing? return false" do
|
|
582
|
+
expect(node_package_version_from_github_url.skip_processing?).to be false
|
|
583
|
+
end
|
|
584
|
+
|
|
585
|
+
it "#semver_wildcard? return false" do
|
|
586
|
+
expect(node_package_version_from_github_url.semver_wildcard?).to be false
|
|
587
|
+
end
|
|
588
|
+
end
|
|
589
|
+
|
|
590
|
+
context "from package.json without shakapacker entry" do
|
|
591
|
+
let(:node_package_version_from_without) { node_package_version(fixture_version: "without") }
|
|
592
|
+
|
|
593
|
+
it "#raw returns empty string" do
|
|
594
|
+
expect(node_package_version_from_without.raw).to eq ""
|
|
595
|
+
end
|
|
596
|
+
|
|
597
|
+
it "#major_minor_patch returns nil" do
|
|
598
|
+
expect(node_package_version_from_without.major_minor_patch).to be nil
|
|
599
|
+
end
|
|
600
|
+
|
|
601
|
+
it "#skip_processing? returns true" do
|
|
602
|
+
expect(node_package_version_from_without.skip_processing?).to be true
|
|
603
|
+
end
|
|
604
|
+
|
|
605
|
+
it "#semver_wildcard? returns false" do
|
|
606
|
+
expect(node_package_version_from_without.semver_wildcard?).to be false
|
|
607
|
+
end
|
|
608
|
+
end
|
|
609
|
+
end
|
|
610
|
+
|
|
611
|
+
context "with package-lock.json v1" do
|
|
612
|
+
def node_package_version(fixture_version:)
|
|
613
|
+
Webpacker::VersionChecker::NodePackageVersion.new(
|
|
614
|
+
File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
|
|
615
|
+
"file/does/not/exist",
|
|
616
|
+
File.expand_path("fixtures/#{fixture_version}_package-lock.v1.json", __dir__),
|
|
617
|
+
)
|
|
618
|
+
end
|
|
619
|
+
|
|
620
|
+
context "from exact semantic version" do
|
|
621
|
+
let(:node_package_version_from_semver_exact) { node_package_version(fixture_version: "semver_exact") }
|
|
622
|
+
|
|
623
|
+
it "#raw returns version" do
|
|
624
|
+
expect(node_package_version_from_semver_exact.raw).to eq "6.0.0"
|
|
625
|
+
end
|
|
626
|
+
|
|
627
|
+
it "#major_minor_patch returns version array" do
|
|
628
|
+
expect(node_package_version_from_semver_exact.major_minor_patch).to eq ["6", "0", "0"]
|
|
629
|
+
end
|
|
630
|
+
|
|
631
|
+
it "#skip_processing? returns false" do
|
|
632
|
+
expect(node_package_version_from_semver_exact.skip_processing?).to be false
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
it "#semver_wildcard? returns false" do
|
|
636
|
+
expect(node_package_version_from_semver_exact.semver_wildcard?).to be false
|
|
637
|
+
end
|
|
638
|
+
end
|
|
639
|
+
|
|
640
|
+
context "from beta version" do
|
|
641
|
+
let(:node_package_version_from_beta) { node_package_version(fixture_version: "beta") }
|
|
642
|
+
|
|
643
|
+
it "#raw returns version" do
|
|
644
|
+
expect(node_package_version_from_beta.raw).to eq "6.1.0-beta.0"
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
it "#major_minor_patch returns version array" do
|
|
648
|
+
expect(node_package_version_from_beta.major_minor_patch).to eq ["6", "1", "0"]
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
it "#skip_processing? returns false" do
|
|
652
|
+
expect(node_package_version_from_beta.skip_processing?).to be false
|
|
653
|
+
end
|
|
654
|
+
|
|
655
|
+
it "#semver_wildcard? returns false" do
|
|
656
|
+
expect(node_package_version_from_beta.semver_wildcard?).to be false
|
|
657
|
+
end
|
|
658
|
+
end
|
|
659
|
+
|
|
660
|
+
context "from caret semantic version" do
|
|
661
|
+
let(:node_package_version_from_semver_caret) { node_package_version(fixture_version: "semver_caret") }
|
|
662
|
+
|
|
663
|
+
it "#raw returns version" do
|
|
664
|
+
expect(node_package_version_from_semver_caret.raw).to eq "6.5.0"
|
|
665
|
+
end
|
|
666
|
+
|
|
667
|
+
it "#major_minor_patch returns version array" do
|
|
668
|
+
expect(node_package_version_from_semver_caret.major_minor_patch).to eq ["6", "5", "0"]
|
|
669
|
+
end
|
|
670
|
+
|
|
671
|
+
it "#skip_processing? returns false" do
|
|
672
|
+
expect(node_package_version_from_semver_caret.skip_processing?).to be false
|
|
673
|
+
end
|
|
674
|
+
|
|
675
|
+
it "#semver_wildcard? returns false" do
|
|
676
|
+
expect(node_package_version_from_semver_caret.semver_wildcard?).to be false
|
|
677
|
+
end
|
|
678
|
+
end
|
|
679
|
+
|
|
680
|
+
context "from tilde semantic version" do
|
|
681
|
+
let(:node_package_version_from_semver_tilde) { node_package_version(fixture_version: "semver_tilde") }
|
|
682
|
+
|
|
683
|
+
it "#raw returns version" do
|
|
684
|
+
expect(node_package_version_from_semver_tilde.raw).to eq "6.0.2"
|
|
685
|
+
end
|
|
686
|
+
|
|
687
|
+
it "#major_minor_patch returns version array" do
|
|
688
|
+
expect(node_package_version_from_semver_tilde.major_minor_patch).to eq ["6", "0", "2"]
|
|
689
|
+
end
|
|
690
|
+
|
|
691
|
+
it "#skip_processing? returns false" do
|
|
692
|
+
expect(node_package_version_from_semver_tilde.skip_processing?).to be false
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
it "#semver_wildcard? returns false" do
|
|
696
|
+
expect(node_package_version_from_semver_tilde.semver_wildcard?).to be false
|
|
697
|
+
end
|
|
698
|
+
end
|
|
699
|
+
|
|
700
|
+
context "from relative path" do
|
|
701
|
+
let(:node_package_version_from_relative_path) { node_package_version(fixture_version: "relative_path") }
|
|
702
|
+
|
|
703
|
+
it "#raw returns relative path" do
|
|
704
|
+
expect(node_package_version_from_relative_path.raw).to eq "file:../.."
|
|
705
|
+
end
|
|
706
|
+
|
|
707
|
+
it "#major_minor_patch returns nil" do
|
|
708
|
+
expect(node_package_version_from_relative_path.major_minor_patch).to be nil
|
|
709
|
+
end
|
|
710
|
+
|
|
711
|
+
it "#skip_processing? returns true" do
|
|
712
|
+
expect(node_package_version_from_relative_path.skip_processing?).to be true
|
|
713
|
+
end
|
|
714
|
+
|
|
715
|
+
it "#semver_wildcard? returns false" do
|
|
716
|
+
expect(node_package_version_from_relative_path.semver_wildcard?).to be false
|
|
717
|
+
end
|
|
718
|
+
end
|
|
719
|
+
|
|
720
|
+
context "from git url" do
|
|
721
|
+
let(:node_package_version_from_git_url) { node_package_version(fixture_version: "git_url") }
|
|
722
|
+
|
|
723
|
+
it "#raw returns git url" do
|
|
724
|
+
expect(node_package_version_from_git_url.raw).to eq "git+ssh://git@github.com/shakacode/shakapacker.git#31854a58be49f736f3486a946b72d7e4f334e2b2"
|
|
725
|
+
end
|
|
726
|
+
|
|
727
|
+
it "#major_minor_patch returns nil" do
|
|
728
|
+
expect(node_package_version_from_git_url.major_minor_patch).to be nil
|
|
729
|
+
end
|
|
730
|
+
|
|
731
|
+
it "#skip_processing? returns true" do
|
|
732
|
+
expect(node_package_version_from_git_url.skip_processing?).to be true
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
it "#semver_wildcard? returns false" do
|
|
736
|
+
expect(node_package_version_from_git_url.semver_wildcard?).to be false
|
|
737
|
+
end
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
context "from github url" do
|
|
741
|
+
let (:node_package_version_from_github_url) { node_package_version(fixture_version: "github_url") }
|
|
742
|
+
|
|
743
|
+
it "#raw returns GitHub address" do
|
|
744
|
+
expect(node_package_version_from_github_url.raw).to eq "github:shakacode/shakapacker#31854a58be49f736f3486a946b72d7e4f334e2b2"
|
|
745
|
+
end
|
|
746
|
+
|
|
747
|
+
it "#major_minor_patch returns nil" do
|
|
748
|
+
expect(node_package_version_from_github_url.major_minor_patch).to be nil
|
|
749
|
+
end
|
|
750
|
+
|
|
751
|
+
it "#skip_processing? returns true" do
|
|
752
|
+
expect(node_package_version_from_github_url.skip_processing?).to be true
|
|
753
|
+
end
|
|
754
|
+
|
|
755
|
+
it "#semver_wildcard? returns false" do
|
|
756
|
+
expect(node_package_version_from_github_url.semver_wildcard?).to be false
|
|
757
|
+
end
|
|
758
|
+
end
|
|
759
|
+
|
|
760
|
+
context "from package.json without shakapacker entry" do
|
|
761
|
+
let(:node_package_version_from_without) { node_package_version(fixture_version: "without") }
|
|
762
|
+
|
|
763
|
+
it "#raw returns empty string" do
|
|
764
|
+
expect(node_package_version_from_without.raw).to eq ""
|
|
765
|
+
end
|
|
766
|
+
|
|
767
|
+
it "#major_minor_patch returns nil" do
|
|
768
|
+
expect(node_package_version_from_without.major_minor_patch).to be nil
|
|
769
|
+
end
|
|
770
|
+
|
|
771
|
+
it "#skip_processing? returns true" do
|
|
772
|
+
expect(node_package_version_from_without.skip_processing?).to be true
|
|
773
|
+
end
|
|
774
|
+
|
|
775
|
+
it "#semver_wildcard? returns false" do
|
|
776
|
+
expect(node_package_version_from_without.semver_wildcard?).to be false
|
|
777
|
+
end
|
|
778
|
+
end
|
|
779
|
+
end
|
|
780
|
+
|
|
781
|
+
context "with package-lock.json v2" do
|
|
782
|
+
def node_package_version(fixture_version:)
|
|
783
|
+
Webpacker::VersionChecker::NodePackageVersion.new(
|
|
784
|
+
File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
|
|
785
|
+
"file/does/not/exist",
|
|
786
|
+
File.expand_path("fixtures/#{fixture_version}_package-lock.v2.json", __dir__),
|
|
787
|
+
)
|
|
788
|
+
end
|
|
789
|
+
|
|
790
|
+
context "from exact semantic version" do
|
|
791
|
+
let(:node_package_version_from_semver_exact) { node_package_version(fixture_version: "semver_exact") }
|
|
792
|
+
|
|
793
|
+
it "#raw returns version" do
|
|
794
|
+
expect(node_package_version_from_semver_exact.raw).to eq "6.0.0"
|
|
795
|
+
end
|
|
796
|
+
|
|
797
|
+
it "#major_minor_patch returns version array" do
|
|
798
|
+
expect(node_package_version_from_semver_exact.major_minor_patch).to eq ["6", "0", "0"]
|
|
799
|
+
end
|
|
800
|
+
|
|
801
|
+
it "#skip_processing? returns false" do
|
|
802
|
+
expect(node_package_version_from_semver_exact.skip_processing?).to be false
|
|
803
|
+
end
|
|
804
|
+
|
|
805
|
+
it "#semver_wildcard? returns false" do
|
|
806
|
+
expect(node_package_version_from_semver_exact.semver_wildcard?).to be false
|
|
807
|
+
end
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
context "from beta version" do
|
|
811
|
+
let(:node_package_version_from_beta) { node_package_version(fixture_version: "beta") }
|
|
812
|
+
|
|
813
|
+
it "#raw returns version" do
|
|
814
|
+
expect(node_package_version_from_beta.raw).to eq "6.1.0-beta.0"
|
|
815
|
+
end
|
|
816
|
+
|
|
817
|
+
it "#major_minor_patch returns version array" do
|
|
818
|
+
expect(node_package_version_from_beta.major_minor_patch).to eq ["6", "1", "0"]
|
|
819
|
+
end
|
|
820
|
+
|
|
821
|
+
it "#skip_processing? returns false" do
|
|
822
|
+
expect(node_package_version_from_beta.skip_processing?).to be false
|
|
823
|
+
end
|
|
824
|
+
|
|
825
|
+
it "#semver_wildcard? returns false" do
|
|
826
|
+
expect(node_package_version_from_beta.semver_wildcard?).to be false
|
|
827
|
+
end
|
|
828
|
+
end
|
|
829
|
+
|
|
830
|
+
context "from caret semantic version" do
|
|
831
|
+
let(:node_package_version_from_semver_caret) { node_package_version(fixture_version: "semver_caret") }
|
|
832
|
+
|
|
833
|
+
it "#raw returns version" do
|
|
834
|
+
expect(node_package_version(fixture_version: "semver_caret").raw).to eq "6.5.0"
|
|
835
|
+
end
|
|
836
|
+
|
|
837
|
+
it "#major_minor_patch returns version array" do
|
|
838
|
+
expect(node_package_version(fixture_version: "semver_caret").major_minor_patch).to eq ["6", "5", "0"]
|
|
839
|
+
end
|
|
840
|
+
|
|
841
|
+
it "#skip_processing? returns false" do
|
|
842
|
+
expect(node_package_version(fixture_version: "semver_caret").skip_processing?).to be false
|
|
843
|
+
end
|
|
844
|
+
|
|
845
|
+
it "#semver_wildcard? returns false" do
|
|
846
|
+
expect(node_package_version(fixture_version: "semver_caret").semver_wildcard?).to be false
|
|
847
|
+
end
|
|
848
|
+
end
|
|
849
|
+
|
|
850
|
+
context "from tilde semantic version" do
|
|
851
|
+
let(:node_package_version_from_semver_tilde) { node_package_version(fixture_version: "semver_tilde") }
|
|
852
|
+
|
|
853
|
+
it "#raw returns version" do
|
|
854
|
+
expect(node_package_version_from_semver_tilde.raw).to eq "6.0.2"
|
|
855
|
+
end
|
|
856
|
+
|
|
857
|
+
it "#major_minor_patch returns version array" do
|
|
858
|
+
expect(node_package_version_from_semver_tilde.major_minor_patch).to eq ["6", "0", "2"]
|
|
859
|
+
end
|
|
860
|
+
|
|
861
|
+
it "#skip_processing? returns false" do
|
|
862
|
+
expect(node_package_version_from_semver_tilde.skip_processing?).to be false
|
|
863
|
+
end
|
|
864
|
+
|
|
865
|
+
it "#semver_wildcard? returns false" do
|
|
866
|
+
expect(node_package_version_from_semver_tilde.semver_wildcard?).to be false
|
|
867
|
+
end
|
|
868
|
+
end
|
|
869
|
+
|
|
870
|
+
context "from relative path" do
|
|
871
|
+
let(:node_package_version_from_relative_path) { node_package_version(fixture_version: "relative_path") }
|
|
872
|
+
|
|
873
|
+
it "#raw returns relative path" do
|
|
874
|
+
expect(node_package_version_from_relative_path.raw).to eq "../.."
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
it "#major_minor_patch returns nil" do
|
|
878
|
+
expect(node_package_version_from_relative_path.major_minor_patch).to be nil
|
|
879
|
+
end
|
|
880
|
+
|
|
881
|
+
it "#skip_processing? returns true" do
|
|
882
|
+
expect(node_package_version_from_relative_path.skip_processing?).to be true
|
|
883
|
+
end
|
|
884
|
+
|
|
885
|
+
it "#semver_wildcard? returns false" do
|
|
886
|
+
expect(node_package_version_from_relative_path.semver_wildcard?).to be false
|
|
887
|
+
end
|
|
888
|
+
end
|
|
889
|
+
|
|
890
|
+
context "from git url" do
|
|
891
|
+
let(:node_package_version_from_git_url) { node_package_version(fixture_version: "git_url") }
|
|
892
|
+
|
|
893
|
+
it "#raw returns version" do
|
|
894
|
+
expect(node_package_version_from_git_url.raw).to eq "6.5.0"
|
|
895
|
+
end
|
|
896
|
+
|
|
897
|
+
it "#major_minor_patch returns version array" do
|
|
898
|
+
expect(node_package_version_from_git_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
899
|
+
end
|
|
900
|
+
|
|
901
|
+
it "#skip_processing? returns false" do
|
|
902
|
+
expect(node_package_version_from_git_url.skip_processing?).to be false
|
|
903
|
+
end
|
|
904
|
+
|
|
905
|
+
it "#semver_wildcard? returns false" do
|
|
906
|
+
expect(node_package_version_from_git_url.semver_wildcard?).to be false
|
|
907
|
+
end
|
|
908
|
+
end
|
|
909
|
+
|
|
910
|
+
context "from github url" do
|
|
911
|
+
let (:node_package_version_from_github_url) { node_package_version(fixture_version: "github_url") }
|
|
912
|
+
|
|
913
|
+
it "#raw returns version" do
|
|
914
|
+
expect(node_package_version_from_github_url.raw).to eq "6.5.0"
|
|
915
|
+
end
|
|
916
|
+
|
|
917
|
+
it "#major_minor_patch returns version array" do
|
|
918
|
+
expect(node_package_version_from_github_url.major_minor_patch).to eq ["6", "5", "0"]
|
|
919
|
+
end
|
|
920
|
+
|
|
921
|
+
it "#skip_processing? returns false" do
|
|
922
|
+
expect(node_package_version_from_github_url.skip_processing?).to be false
|
|
923
|
+
end
|
|
924
|
+
|
|
925
|
+
it "#semver_wildcard? returns false" do
|
|
926
|
+
expect(node_package_version_from_github_url.semver_wildcard?).to be false
|
|
927
|
+
end
|
|
928
|
+
end
|
|
929
|
+
|
|
930
|
+
context "from package.json without shakapacker entry" do
|
|
931
|
+
let(:node_package_version_from_without) { node_package_version(fixture_version: "without") }
|
|
932
|
+
|
|
933
|
+
it "#raw returns empty string" do
|
|
934
|
+
expect(node_package_version_from_without.raw).to eq ""
|
|
935
|
+
end
|
|
936
|
+
|
|
937
|
+
it "#major_minor_patch returns nil" do
|
|
938
|
+
expect(node_package_version_from_without.major_minor_patch).to be nil
|
|
939
|
+
end
|
|
940
|
+
|
|
941
|
+
it "#skip_processing? returns true" do
|
|
942
|
+
expect(node_package_version_from_without.skip_processing?).to be true
|
|
943
|
+
end
|
|
944
|
+
|
|
945
|
+
it "#semver_wildcard? returns false" do
|
|
946
|
+
expect(node_package_version_from_without.semver_wildcard?).to be false
|
|
947
|
+
end
|
|
948
|
+
end
|
|
949
|
+
end
|
|
950
|
+
end
|