shakapacker 6.5.5 → 6.5.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -1,30 +1,29 @@
|
|
1
|
-
require "test_helper"
|
2
1
|
require "webpacker/webpack_runner"
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
describe "WebpackRunner" do
|
4
|
+
before :all do
|
6
5
|
@original_node_env, ENV["NODE_ENV"] = ENV["NODE_ENV"], "development"
|
7
6
|
@original_rails_env, ENV["RAILS_ENV"] = ENV["RAILS_ENV"], "development"
|
8
7
|
end
|
9
8
|
|
10
|
-
|
9
|
+
after :all do
|
11
10
|
ENV["NODE_ENV"] = @original_node_env
|
12
11
|
ENV["RAILS_ENV"] = @original_rails_env
|
13
12
|
end
|
14
13
|
|
15
|
-
|
14
|
+
it "runs cmd via node_modules" do
|
16
15
|
cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
|
17
16
|
|
18
17
|
verify_command(cmd, use_node_modules: true)
|
19
18
|
end
|
20
19
|
|
21
|
-
|
20
|
+
it "runs cmd via yarn" do
|
22
21
|
cmd = ["yarn", "webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js"]
|
23
22
|
|
24
23
|
verify_command(cmd, use_node_modules: false)
|
25
24
|
end
|
26
25
|
|
27
|
-
|
26
|
+
it "runs cmd argv" do
|
28
27
|
cmd = ["#{test_app_path}/node_modules/.bin/webpack", "--config", "#{test_app_path}/config/webpack/webpack.config.js", "--watch"]
|
29
28
|
|
30
29
|
verify_command(cmd, argv: ["--watch"])
|
@@ -41,16 +40,14 @@ class WebpackRunnerTest < Webpacker::Test
|
|
41
40
|
|
42
41
|
klass = Webpacker::WebpackRunner
|
43
42
|
instance = klass.new(argv)
|
44
|
-
mock = Minitest::Mock.new
|
45
|
-
mock.expect(:call, nil, [Webpacker::Compiler.env, *cmd])
|
46
43
|
|
47
|
-
klass.
|
48
|
-
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
44
|
+
allow(klass).to receive(:new).and_return(instance)
|
45
|
+
allow(instance).to receive(:node_modules_bin_exist?).and_return(use_node_modules)
|
46
|
+
allow(Kernel).to receive(:exec)
|
52
47
|
|
53
|
-
|
48
|
+
klass.run(argv)
|
49
|
+
|
50
|
+
expect(Kernel).to have_received(:exec).with(Webpacker::Compiler.env, *cmd)
|
54
51
|
ensure
|
55
52
|
Dir.chdir(cwd)
|
56
53
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
describe "Webpacker" do
|
2
|
+
describe "#inline_css?" do
|
3
|
+
let(:dev_server) { instance_double("Webpacker::DevServer") }
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
allow(dev_server).to receive(:host).and_return("localhost")
|
7
|
+
allow(dev_server).to receive(:port).and_return("3035")
|
8
|
+
allow(dev_server).to receive(:pretty?).and_return(false)
|
9
|
+
allow(dev_server).to receive(:https?).and_return(true)
|
10
|
+
allow(dev_server).to receive(:running?).and_return(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "returns nil with disabled dev_server" do
|
14
|
+
expect(Webpacker.inlining_css?).to be nil
|
15
|
+
end
|
16
|
+
|
17
|
+
it "returns true with enabled hmr" do
|
18
|
+
allow(dev_server).to receive(:hmr?).and_return(true)
|
19
|
+
allow(dev_server).to receive(:inline_css?).and_return(true)
|
20
|
+
|
21
|
+
allow(Webpacker.instance).to receive(:dev_server).and_return(dev_server)
|
22
|
+
|
23
|
+
expect(Webpacker.inlining_css?).to be true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false with enabled hmr and explicitly setting inline_css to false" do
|
27
|
+
allow(dev_server).to receive(:hmr?).and_return(true)
|
28
|
+
allow(dev_server).to receive(:inline_css?).and_return(false)
|
29
|
+
|
30
|
+
allow(Webpacker.instance).to receive(:dev_server).and_return(dev_server)
|
31
|
+
|
32
|
+
expect(Webpacker.inlining_css?).to be false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "has app_autoload_paths cleanup" do
|
37
|
+
expect($test_app_autoload_paths_in_initializer).to eq []
|
38
|
+
end
|
39
|
+
end
|