shakapacker 6.1.1 → 6.3.0.pre.rc.1
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/.node-version +1 -1
- data/CHANGELOG.md +48 -4
- data/CONTRIBUTING.md +2 -2
- data/Gemfile.lock +1 -1
- data/README.md +60 -26
- data/docs/customizing_babel_config.md +2 -0
- data/docs/deployment.md +2 -2
- data/docs/style_loader_vs_mini_css.md +48 -0
- data/docs/troubleshooting.md +18 -0
- data/docs/using_esbuild_loader.md +1 -1
- data/docs/using_swc_loader.md +2 -2
- data/docs/v6_upgrade.md +72 -74
- data/lib/install/config/webpacker.yml +16 -0
- data/lib/install/template.rb +2 -2
- data/lib/tasks/webpacker/clean.rake +1 -3
- data/lib/tasks/webpacker/clobber.rake +1 -3
- data/lib/tasks/webpacker/compile.rake +1 -4
- data/lib/webpacker/commands.rb +2 -2
- data/lib/webpacker/compiler.rb +12 -30
- data/lib/webpacker/configuration.rb +22 -4
- data/lib/webpacker/dev_server.rb +11 -2
- data/lib/webpacker/helper.rb +26 -8
- data/lib/webpacker/instance.rb +1 -1
- data/lib/webpacker/manifest.rb +4 -4
- data/lib/webpacker/railtie.rb +7 -0
- data/lib/webpacker/version.rb +1 -1
- data/lib/webpacker/version_checker.rb +152 -0
- data/package/__tests__/config.js +11 -0
- data/package/babel/preset.js +0 -1
- data/package/config.js +6 -0
- data/package/environments/base.js +1 -1
- data/package/inliningCss.js +1 -1
- data/package/rules/__tests__/file.js +35 -0
- data/package/rules/__tests__/index.js +11 -0
- data/package/rules/__tests__/raw.js +18 -0
- data/package/rules/file.js +2 -17
- data/package/rules/raw.js +2 -2
- data/package/swc/index.js +3 -3
- data/package.json +12 -11
- data/test/compiler_test.rb +27 -32
- data/test/configuration_test.rb +48 -2
- data/test/fixtures/beta_package.json +13 -0
- data/test/fixtures/git_url_package.json +13 -0
- data/test/fixtures/github_url_package.json +13 -0
- data/test/fixtures/normal_package.json +13 -0
- data/test/fixtures/relative_path_package.json +13 -0
- data/test/fixtures/semver_caret_package.json +13 -0
- data/test/fixtures/semver_tilde_package.json +13 -0
- data/test/fixtures/without_package.json +13 -0
- data/test/helper_test.rb +34 -12
- data/test/manifest_test.rb +3 -3
- data/test/test_app/config/webpacker.yml +4 -0
- data/test/test_app/config/webpacker_manifest_path.yml +80 -0
- data/test/test_app/config/webpacker_no_precompile.yml +7 -0
- data/test/version_checker_test.rb +271 -0
- data/test/webpacker_test.rb +15 -0
- data/yarn.lock +917 -884
- metadata +32 -5
data/test/helper_test.rb
CHANGED
@@ -14,7 +14,6 @@ class HelperTest < ActionView::TestCase
|
|
14
14
|
end.new
|
15
15
|
|
16
16
|
@javascript_pack_tag_loaded = nil
|
17
|
-
@stylesheet_pack_tag_loaded = nil
|
18
17
|
end
|
19
18
|
|
20
19
|
def test_asset_pack_path
|
@@ -116,6 +115,28 @@ class HelperTest < ActionView::TestCase
|
|
116
115
|
javascript_pack_tag("application", "bootstrap", defer: false)
|
117
116
|
end
|
118
117
|
|
118
|
+
def test_javascript_pack_with_append
|
119
|
+
append_javascript_pack_tag("bootstrap", defer: false)
|
120
|
+
assert_equal \
|
121
|
+
%(<script src="/packs/vendors~application~bootstrap-c20632e7baf2c81200d3.chunk.js" defer="defer"></script>\n) +
|
122
|
+
%(<script src="/packs/vendors~application-e55f2aae30c07fb6d82a.chunk.js" defer="defer"></script>\n) +
|
123
|
+
%(<script src="/packs/application-k344a6d59eef8632c9d1.js" defer="defer"></script>\n) +
|
124
|
+
%(<script src="/packs/bootstrap-300631c4f0e0f9c865bc.js"></script>),
|
125
|
+
javascript_pack_tag("application")
|
126
|
+
end
|
127
|
+
|
128
|
+
def test_append_javascript_pack_tag_raises
|
129
|
+
error = assert_raises do
|
130
|
+
javascript_pack_tag("application")
|
131
|
+
append_javascript_pack_tag("bootstrap", defer: false)
|
132
|
+
end
|
133
|
+
|
134
|
+
assert_equal \
|
135
|
+
"You can only call append_javascript_pack_tag before javascript_pack_tag helper. " +
|
136
|
+
"Please refer to https://github.com/shakacode/shakapacker/blob/master/README.md#usage for the usage guide",
|
137
|
+
error.message
|
138
|
+
end
|
139
|
+
|
119
140
|
def test_javascript_pack_tag_splat
|
120
141
|
assert_equal \
|
121
142
|
%(<script src="/packs/vendors~application~bootstrap-c20632e7baf2c81200d3.chunk.js" defer="defer"></script>\n) +
|
@@ -149,19 +170,19 @@ class HelperTest < ActionView::TestCase
|
|
149
170
|
end
|
150
171
|
|
151
172
|
def hello_stimulus_stylesheet_chunks
|
152
|
-
%w[/packs/hello_stimulus-k344a6d59eef8632c9d1.chunk.css]
|
173
|
+
%w[/packs/1-c20632e7baf2c81200d3.chunk.css /packs/hello_stimulus-k344a6d59eef8632c9d1.chunk.css]
|
153
174
|
end
|
154
175
|
|
155
176
|
def test_stylesheet_pack_tag
|
156
177
|
assert_equal \
|
157
|
-
(application_stylesheet_chunks + hello_stimulus_stylesheet_chunks)
|
178
|
+
(application_stylesheet_chunks + hello_stimulus_stylesheet_chunks).uniq
|
158
179
|
.map { |chunk| stylesheet_link_tag(chunk) }.join("\n"),
|
159
180
|
stylesheet_pack_tag("application", "hello_stimulus")
|
160
181
|
end
|
161
182
|
|
162
183
|
def test_stylesheet_pack_tag_symbol
|
163
184
|
assert_equal \
|
164
|
-
(application_stylesheet_chunks + hello_stimulus_stylesheet_chunks)
|
185
|
+
(application_stylesheet_chunks + hello_stimulus_stylesheet_chunks).uniq
|
165
186
|
.map { |chunk| stylesheet_link_tag(chunk) }.join("\n"),
|
166
187
|
stylesheet_pack_tag(:application, :hello_stimulus)
|
167
188
|
end
|
@@ -172,15 +193,16 @@ class HelperTest < ActionView::TestCase
|
|
172
193
|
stylesheet_pack_tag("application", media: "all")
|
173
194
|
end
|
174
195
|
|
175
|
-
def
|
176
|
-
|
177
|
-
|
178
|
-
stylesheet_pack_tag(:hello_stimulus)
|
179
|
-
end
|
196
|
+
def test_stylesheet_pack_tag_multiple_invocations_are_allowed
|
197
|
+
app_style = stylesheet_pack_tag(:application)
|
198
|
+
stimulus_style = stylesheet_pack_tag(:hello_stimulus)
|
180
199
|
|
181
200
|
assert_equal \
|
182
|
-
|
183
|
-
|
184
|
-
|
201
|
+
application_stylesheet_chunks.map { |chunk| stylesheet_link_tag(chunk) }.join("\n"),
|
202
|
+
app_style
|
203
|
+
|
204
|
+
assert_equal \
|
205
|
+
hello_stimulus_stylesheet_chunks.map { |chunk| stylesheet_link_tag(chunk) }.join("\n"),
|
206
|
+
stimulus_style
|
185
207
|
end
|
186
208
|
end
|
data/test/manifest_test.rb
CHANGED
@@ -8,7 +8,7 @@ class ManifestTest < Minitest::Test
|
|
8
8
|
Webpacker.manifest.lookup!(asset_file)
|
9
9
|
end
|
10
10
|
|
11
|
-
assert_match "
|
11
|
+
assert_match "Shakapacker can't find #{asset_file} in #{manifest_path}", error.message
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_lookup_with_type_exception!
|
@@ -18,7 +18,7 @@ class ManifestTest < Minitest::Test
|
|
18
18
|
Webpacker.manifest.lookup!(asset_file, type: :javascript)
|
19
19
|
end
|
20
20
|
|
21
|
-
assert_match "
|
21
|
+
assert_match "Shakapacker can't find #{asset_file}.js in #{manifest_path}", error.message
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_lookup_success!
|
@@ -60,7 +60,7 @@ class ManifestTest < Minitest::Test
|
|
60
60
|
Webpacker.manifest.lookup_pack_with_chunks!(asset_file, type: :javascript)
|
61
61
|
end
|
62
62
|
|
63
|
-
assert_match "
|
63
|
+
assert_match "Shakapacker can't find #{asset_file}.js in #{manifest_path}", error.message
|
64
64
|
end
|
65
65
|
|
66
66
|
def test_lookup_entrypoint
|
@@ -9,6 +9,9 @@ default: &default
|
|
9
9
|
webpack_compile_output: false
|
10
10
|
webpack_loader: babel
|
11
11
|
|
12
|
+
# Location for manifest.json, defaults to {public_output_path}/manifest.json if unset
|
13
|
+
# manifest_path: public/packs/manifest.json
|
14
|
+
|
12
15
|
# Additional paths webpack should look up modules
|
13
16
|
# ['app/assets', 'engine/foo/app/assets']
|
14
17
|
additional_paths:
|
@@ -36,6 +39,7 @@ default: &default
|
|
36
39
|
development:
|
37
40
|
<<: *default
|
38
41
|
compile: true
|
42
|
+
ensure_consistent_versioning: true
|
39
43
|
|
40
44
|
# Reference: https://webpack.js.org/configuration/dev-server/
|
41
45
|
dev_server:
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# Note: You must restart bin/webpack-dev-server for changes to take effect
|
2
|
+
|
3
|
+
default: &default
|
4
|
+
source_path: app/packs
|
5
|
+
source_entry_path: entrypoints
|
6
|
+
public_root_path: public
|
7
|
+
public_output_path: packs
|
8
|
+
cache_path: tmp/webpacker
|
9
|
+
webpack_compile_output: false
|
10
|
+
|
11
|
+
# Location for manifest.json, defaults to {public_output_path}/manifest.json if unset
|
12
|
+
manifest_path: app/packs/manifest.json
|
13
|
+
|
14
|
+
# Additional paths webpack should look up modules
|
15
|
+
# ['app/assets', 'engine/foo/app/assets']
|
16
|
+
additional_paths:
|
17
|
+
- app/assets
|
18
|
+
- /etc/yarn
|
19
|
+
- some.config.js
|
20
|
+
- app/elm
|
21
|
+
|
22
|
+
# Reload manifest.json on all requests so we reload latest compiled packs
|
23
|
+
cache_manifest: false
|
24
|
+
|
25
|
+
static_assets_extensions:
|
26
|
+
- .jpg
|
27
|
+
- .jpeg
|
28
|
+
- .png
|
29
|
+
- .gif
|
30
|
+
- .tiff
|
31
|
+
- .ico
|
32
|
+
- .svg
|
33
|
+
|
34
|
+
extensions:
|
35
|
+
- .mjs
|
36
|
+
- .js
|
37
|
+
|
38
|
+
development:
|
39
|
+
<<: *default
|
40
|
+
compile: true
|
41
|
+
|
42
|
+
# Reference: https://webpack.js.org/configuration/dev-server/
|
43
|
+
dev_server:
|
44
|
+
https: false
|
45
|
+
host: localhost
|
46
|
+
port: 3035
|
47
|
+
public: localhost:3035
|
48
|
+
hmr: false
|
49
|
+
overlay: true
|
50
|
+
disable_host_check: true
|
51
|
+
use_local_ip: false
|
52
|
+
pretty: false
|
53
|
+
|
54
|
+
test:
|
55
|
+
<<: *default
|
56
|
+
compile: true
|
57
|
+
|
58
|
+
# Compile test packs to a separate directory
|
59
|
+
public_output_path: packs-test
|
60
|
+
|
61
|
+
production:
|
62
|
+
<<: *default
|
63
|
+
|
64
|
+
# Production depends on precompilation of packs prior to booting for performance.
|
65
|
+
compile: false
|
66
|
+
|
67
|
+
# Cache manifest.json for performance
|
68
|
+
cache_manifest: true
|
69
|
+
|
70
|
+
staging:
|
71
|
+
<<: *default
|
72
|
+
|
73
|
+
# Production depends on precompilation of packs prior to booting for performance.
|
74
|
+
compile: false
|
75
|
+
|
76
|
+
# Cache manifest.json for performance
|
77
|
+
cache_manifest: true
|
78
|
+
|
79
|
+
# Compile staging packs to a separate directory
|
80
|
+
public_output_path: packs-staging
|
@@ -0,0 +1,271 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "webpacker/version"
|
3
|
+
|
4
|
+
class NodePackageVersionDouble
|
5
|
+
attr_reader :raw, :major_minor_patch
|
6
|
+
|
7
|
+
def initialize(raw: nil, major_minor_patch: nil, semver_wildcard: false, skip_processing: false)
|
8
|
+
@raw = raw
|
9
|
+
@major_minor_patch = major_minor_patch
|
10
|
+
@semver_wildcard = semver_wildcard
|
11
|
+
@skip_processing = skip_processing
|
12
|
+
end
|
13
|
+
|
14
|
+
def semver_wildcard?
|
15
|
+
@semver_wildcard
|
16
|
+
end
|
17
|
+
|
18
|
+
def skip_processing?
|
19
|
+
@skip_processing
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class VersionCheckerTest < Minitest::Test
|
24
|
+
def check_version(node_package_version, stub_gem_version = Webpacker::VERSION, stub_config = true)
|
25
|
+
version_checker = Webpacker::VersionChecker.new(node_package_version)
|
26
|
+
version_checker.stub :gem_version, stub_gem_version do
|
27
|
+
Webpacker.config.stub :ensure_consistent_versioning?, stub_config do
|
28
|
+
version_checker.raise_if_gem_and_node_package_versions_differ
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_message_printed_if_consistency_check_disabled_and_mismatch
|
34
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
35
|
+
|
36
|
+
out, err = capture_io do
|
37
|
+
check_version(node_package_version, "6.0.0", false)
|
38
|
+
end
|
39
|
+
|
40
|
+
assert_match \
|
41
|
+
"Webpacker::VersionChecker - Version mismatch detected",
|
42
|
+
err
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_message_printed_if_consistency_check_disabled_and_semver
|
46
|
+
node_package_version = NodePackageVersionDouble.new(raw: "^6.1.0", major_minor_patch: ["6", "1", "0"], semver_wildcard: true)
|
47
|
+
|
48
|
+
out, err = capture_io do
|
49
|
+
check_version(node_package_version, "6.1.0", false)
|
50
|
+
end
|
51
|
+
|
52
|
+
assert_match \
|
53
|
+
"Webpacker::VersionChecker - Semver wildcard detected",
|
54
|
+
err
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_raise_on_different_major_version
|
58
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
59
|
+
|
60
|
+
error = assert_raises do
|
61
|
+
check_version(node_package_version, "7.0.0")
|
62
|
+
end
|
63
|
+
|
64
|
+
assert_match \
|
65
|
+
"**ERROR** Webpacker: Webpacker gem and node package versions do not match",
|
66
|
+
error.message
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_raise_on_different_minor_version
|
70
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.0", major_minor_patch: ["6", "1", "0"])
|
71
|
+
|
72
|
+
error = assert_raises do
|
73
|
+
check_version(node_package_version, "6.2.0")
|
74
|
+
end
|
75
|
+
|
76
|
+
assert_match \
|
77
|
+
"**ERROR** Webpacker: Webpacker gem and node package versions do not match",
|
78
|
+
error.message
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_raise_on_different_patch_version
|
82
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.1.1", major_minor_patch: ["6", "1", "1"])
|
83
|
+
|
84
|
+
error = assert_raises do
|
85
|
+
check_version(node_package_version, "6.1.2")
|
86
|
+
end
|
87
|
+
|
88
|
+
assert_match \
|
89
|
+
"**ERROR** Webpacker: Webpacker gem and node package versions do not match",
|
90
|
+
error.message
|
91
|
+
end
|
92
|
+
|
93
|
+
def test_raise_on_semver_wildcard
|
94
|
+
node_package_version = NodePackageVersionDouble.new(raw: "^6.0.0", major_minor_patch: ["6", "0", "0"], semver_wildcard: true)
|
95
|
+
|
96
|
+
error = assert_raises do
|
97
|
+
check_version(node_package_version, "6.0.0")
|
98
|
+
end
|
99
|
+
|
100
|
+
assert_match \
|
101
|
+
"**ERROR** Webpacker: Your node package version for shakapacker contains a ^ or ~",
|
102
|
+
error.message
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_no_raise_on_matching_versions
|
106
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.0.0", major_minor_patch: ["6", "0", "0"])
|
107
|
+
|
108
|
+
assert_silent do
|
109
|
+
check_version(node_package_version, "6.0.0")
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_no_raise_on_matching_versions_beta
|
114
|
+
node_package_version = NodePackageVersionDouble.new(raw: "6.0.0-beta.1", major_minor_patch: ["6", "0", "0"])
|
115
|
+
|
116
|
+
assert_silent do
|
117
|
+
check_version(node_package_version, "6.0.0.beta.1")
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_no_raise_on_no_package
|
122
|
+
node_package_version = NodePackageVersionDouble.new(raw: nil, skip_processing: true)
|
123
|
+
|
124
|
+
assert_silent do
|
125
|
+
check_version(node_package_version, "6.0.0")
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_no_raise_on_skipped_path
|
130
|
+
node_package_version = NodePackageVersionDouble.new(raw: "../shakapacker", skip_processing: true)
|
131
|
+
|
132
|
+
assert_silent do
|
133
|
+
check_version(node_package_version, "6.0.0")
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
class NodePackageVersionTest < Minitest::Test
|
139
|
+
def node_package_version(fixture_version: "normal")
|
140
|
+
file_path = File.expand_path("fixtures/#{fixture_version}_package.json", __dir__)
|
141
|
+
Webpacker::VersionChecker::NodePackageVersion.new(file_path)
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_normal_package_raw
|
145
|
+
assert_equal "6.0.0", node_package_version.raw
|
146
|
+
end
|
147
|
+
|
148
|
+
def test_normal_package_major_minor_patch
|
149
|
+
assert_equal ["6", "0", "0"], node_package_version.major_minor_patch
|
150
|
+
end
|
151
|
+
|
152
|
+
def test_normal_package_skip_processing
|
153
|
+
assert_equal false, node_package_version.skip_processing?
|
154
|
+
end
|
155
|
+
|
156
|
+
def test_normal_package_semver_wildcard
|
157
|
+
assert_equal false, node_package_version.semver_wildcard?
|
158
|
+
end
|
159
|
+
|
160
|
+
def test_beta_package_raw
|
161
|
+
assert_equal "6.0.0-beta.1", node_package_version(fixture_version: "beta").raw
|
162
|
+
end
|
163
|
+
|
164
|
+
def test_beta_package_major_minor_patch
|
165
|
+
assert_equal ["6", "0", "0"], node_package_version(fixture_version: "beta").major_minor_patch
|
166
|
+
end
|
167
|
+
|
168
|
+
def test_beta_package_skip_processing
|
169
|
+
assert_equal false, node_package_version(fixture_version: "beta").skip_processing?
|
170
|
+
end
|
171
|
+
|
172
|
+
def test_beta_package_semver_wildcard
|
173
|
+
assert_equal false, node_package_version(fixture_version: "beta").semver_wildcard?
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_semver_caret_package_raw
|
177
|
+
assert_equal "^6.0.0", node_package_version(fixture_version: "semver_caret").raw
|
178
|
+
end
|
179
|
+
|
180
|
+
def test_semver_caret_package_major_minor_patch
|
181
|
+
assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_caret").major_minor_patch
|
182
|
+
end
|
183
|
+
|
184
|
+
def test_semver_caret_package_skip_processing
|
185
|
+
assert_equal false, node_package_version(fixture_version: "semver_caret").skip_processing?
|
186
|
+
end
|
187
|
+
|
188
|
+
def test_semver_caret_package_semver_wildcard
|
189
|
+
assert_equal true, node_package_version(fixture_version: "semver_caret").semver_wildcard?
|
190
|
+
end
|
191
|
+
|
192
|
+
def test_semver_tilde_package_raw
|
193
|
+
assert_equal "~6.0.0", node_package_version(fixture_version: "semver_tilde").raw
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_semver_tilde_package_major_minor_patch
|
197
|
+
assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_tilde").major_minor_patch
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_semver_tilde_package_skip_processing
|
201
|
+
assert_equal false, node_package_version(fixture_version: "semver_tilde").skip_processing?
|
202
|
+
end
|
203
|
+
|
204
|
+
def test_semver_tilde_package_semver_wildcard
|
205
|
+
assert_equal true, node_package_version(fixture_version: "semver_tilde").semver_wildcard?
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_relative_path_package_raw
|
209
|
+
assert_equal "../shakapacker", node_package_version(fixture_version: "relative_path").raw
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_relative_path_package_major_minor_patch
|
213
|
+
assert_nil node_package_version(fixture_version: "relative_path").major_minor_patch
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_relative_path_package_skip_processing
|
217
|
+
assert_equal true, node_package_version(fixture_version: "relative_path").skip_processing?
|
218
|
+
end
|
219
|
+
|
220
|
+
def test_relative_path_package_semver_wildcard
|
221
|
+
assert_equal false, node_package_version(fixture_version: "relative_path").semver_wildcard?
|
222
|
+
end
|
223
|
+
|
224
|
+
def test_git_url_package_raw
|
225
|
+
assert_equal "git://github.com/shakapacker/shakapacker.git", node_package_version(fixture_version: "git_url").raw
|
226
|
+
end
|
227
|
+
|
228
|
+
def test_git_url_package_major_minor_patch
|
229
|
+
assert_nil node_package_version(fixture_version: "git_url").major_minor_patch
|
230
|
+
end
|
231
|
+
|
232
|
+
def test_git_url_package_skip_processing
|
233
|
+
assert_equal true, node_package_version(fixture_version: "git_url").skip_processing?
|
234
|
+
end
|
235
|
+
|
236
|
+
def test_git_url_package_semver_wildcard
|
237
|
+
assert_equal false, node_package_version(fixture_version: "git_url").semver_wildcard?
|
238
|
+
end
|
239
|
+
|
240
|
+
def test_github_url_package_raw
|
241
|
+
assert_equal "shakapacker/shakapacker#feature/branch", node_package_version(fixture_version: "github_url").raw
|
242
|
+
end
|
243
|
+
|
244
|
+
def test_github_url_package_major_minor_patch
|
245
|
+
assert_nil node_package_version(fixture_version: "github_url").major_minor_patch
|
246
|
+
end
|
247
|
+
|
248
|
+
def test_github_url_package_skip_processing
|
249
|
+
assert_equal true, node_package_version(fixture_version: "github_url").skip_processing?
|
250
|
+
end
|
251
|
+
|
252
|
+
def test_github_url_package_semver_wildcard
|
253
|
+
assert_equal false, node_package_version(fixture_version: "github_url").semver_wildcard?
|
254
|
+
end
|
255
|
+
|
256
|
+
def test_without_package_raw
|
257
|
+
assert_equal "", node_package_version(fixture_version: "without").raw
|
258
|
+
end
|
259
|
+
|
260
|
+
def test_without_package_major_minor_patch
|
261
|
+
assert_nil node_package_version(fixture_version: "without").major_minor_patch
|
262
|
+
end
|
263
|
+
|
264
|
+
def test_without_package_skip_processing
|
265
|
+
assert_equal true, node_package_version(fixture_version: "without").skip_processing?
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_without_package_semver_wildcard
|
269
|
+
assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
|
270
|
+
end
|
271
|
+
end
|
data/test/webpacker_test.rb
CHANGED
@@ -23,11 +23,26 @@ class WebpackerTest < Webpacker::Test
|
|
23
23
|
def dev_server.https?; true; end
|
24
24
|
def dev_server.hmr?; true; end
|
25
25
|
def dev_server.running?; true; end
|
26
|
+
def dev_server.inline_css?; true; end
|
26
27
|
Webpacker.instance.stub(:dev_server, dev_server) do
|
27
28
|
assert Webpacker.inlining_css?
|
28
29
|
end
|
29
30
|
end
|
30
31
|
|
32
|
+
def test_explicit_no_inline_css_with_hmr
|
33
|
+
dev_server = Webpacker::DevServer.new({})
|
34
|
+
def dev_server.host; "localhost"; end
|
35
|
+
def dev_server.port; "3035"; end
|
36
|
+
def dev_server.pretty?; false; end
|
37
|
+
def dev_server.https?; true; end
|
38
|
+
def dev_server.hmr?; true; end
|
39
|
+
def dev_server.running?; true; end
|
40
|
+
def dev_server.inline_css?; false; end
|
41
|
+
Webpacker.instance.stub(:dev_server, dev_server) do
|
42
|
+
assert !Webpacker.inlining_css?
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
31
46
|
def test_app_autoload_paths_cleanup
|
32
47
|
assert_empty $test_app_autoload_paths_in_initializer
|
33
48
|
end
|