shakapacker 7.0.3 → 7.2.0.rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dummy.yml +3 -1
  3. data/.github/workflows/generator.yml +6 -1
  4. data/.github/workflows/jest.yml +4 -2
  5. data/.github/workflows/js-lint.yml +4 -2
  6. data/.github/workflows/rubocop.yml +3 -1
  7. data/.github/workflows/ruby-backward-compatibility.yml +9 -1
  8. data/.github/workflows/ruby.yml +11 -2
  9. data/CHANGELOG.md +16 -3
  10. data/README.md +58 -23
  11. data/docs/troubleshooting.md +4 -8
  12. data/docs/using_esbuild_loader.md +2 -4
  13. data/docs/v6_upgrade.md +1 -1
  14. data/lib/install/template.rb +58 -18
  15. data/lib/shakapacker/compiler.rb +5 -3
  16. data/lib/shakapacker/configuration.rb +8 -0
  17. data/lib/shakapacker/deprecation_helper.rb +1 -1
  18. data/lib/shakapacker/dev_server_runner.rb +13 -6
  19. data/lib/shakapacker/runner.rb +19 -1
  20. data/lib/shakapacker/utils/misc.rb +12 -0
  21. data/lib/shakapacker/version.rb +1 -1
  22. data/lib/shakapacker/version_checker.rb +35 -2
  23. data/lib/shakapacker/webpack_runner.rb +16 -8
  24. data/lib/tasks/shakapacker/binstubs.rake +1 -1
  25. data/lib/tasks/shakapacker/check_manager.rake +27 -0
  26. data/lib/tasks/shakapacker/check_yarn.rake +2 -1
  27. data/lib/tasks/shakapacker/info.rake +20 -3
  28. data/lib/tasks/shakapacker/install.rake +1 -1
  29. data/lib/tasks/shakapacker/verify_install.rake +1 -1
  30. data/lib/tasks/shakapacker.rake +2 -2
  31. data/lib/tasks/webpacker/check_yarn.rake +1 -1
  32. data/package/__tests__/index.js +24 -0
  33. data/package/index.d.ts +1 -1
  34. data/package/index.js +8 -2
  35. data/package.json +2 -2
  36. data/shakapacker.gemspec +1 -0
  37. data/spec/backward_compatibility_specs/compiler_strategy_spec.rb +5 -3
  38. data/spec/backward_compatibility_specs/configuration_spec.rb +12 -4
  39. data/spec/backward_compatibility_specs/dev_server_runner_spec.rb +103 -42
  40. data/spec/backward_compatibility_specs/dev_server_spec.rb +1 -1
  41. data/spec/backward_compatibility_specs/digest_strategy_spec.rb +2 -0
  42. data/spec/backward_compatibility_specs/engine_rake_tasks_spec.rb +30 -7
  43. data/spec/backward_compatibility_specs/helper_spec.rb +20 -20
  44. data/spec/backward_compatibility_specs/instance_spec.rb +3 -3
  45. data/spec/backward_compatibility_specs/manifest_spec.rb +12 -12
  46. data/spec/backward_compatibility_specs/mtime_strategy_spec.rb +3 -3
  47. data/spec/backward_compatibility_specs/rake_tasks_spec.rb +9 -5
  48. data/spec/backward_compatibility_specs/webpack_runner_spec.rb +55 -25
  49. data/spec/dummy/config/webpack/commonWebpackConfig.js +1 -1
  50. data/spec/fixtures/beta_pnpm-lock.v7.yaml +116 -0
  51. data/spec/fixtures/beta_pnpm-lock.v8.yaml +2537 -0
  52. data/spec/fixtures/git_url_pnpm-lock.v7.yaml +126 -0
  53. data/spec/fixtures/git_url_pnpm-lock.v8.yaml +3728 -0
  54. data/spec/fixtures/github_url_pnpm-lock.v7.yaml +126 -0
  55. data/spec/fixtures/github_url_pnpm-lock.v8.yaml +3728 -0
  56. data/spec/fixtures/relative_path_pnpm-lock.v7.yaml +18 -0
  57. data/spec/fixtures/relative_path_pnpm-lock.v8.yaml +22 -0
  58. data/spec/fixtures/semver_caret_pnpm-lock.v7.yaml +117 -0
  59. data/spec/fixtures/semver_caret_pnpm-lock.v8.yaml +2558 -0
  60. data/spec/fixtures/semver_exact_pnpm-lock.v7.yaml +117 -0
  61. data/spec/fixtures/semver_exact_pnpm-lock.v8.yaml +2558 -0
  62. data/spec/fixtures/semver_tilde_pnpm-lock.v7.yaml +116 -0
  63. data/spec/fixtures/semver_tilde_pnpm-lock.v8.yaml +2558 -0
  64. data/spec/fixtures/without_pnpm-lock.v7.yaml +23 -0
  65. data/spec/fixtures/without_pnpm-lock.v8.yaml +27 -0
  66. data/spec/generator_specs/e2e_template/template.rb +31 -10
  67. data/spec/generator_specs/fake-bin/bun +10 -0
  68. data/spec/generator_specs/fake-bin/npm +10 -0
  69. data/spec/generator_specs/fake-bin/pnpm +10 -0
  70. data/spec/generator_specs/fake-bin/yarn +10 -0
  71. data/spec/generator_specs/generator_spec.rb +172 -18
  72. data/spec/mounted_app/package.json +1 -0
  73. data/spec/shakapacker/compiler_spec.rb +9 -5
  74. data/spec/shakapacker/compiler_strategy_spec.rb +5 -3
  75. data/spec/shakapacker/configuration_spec.rb +60 -2
  76. data/spec/shakapacker/dev_server_runner_spec.rb +108 -43
  77. data/spec/shakapacker/dev_server_spec.rb +1 -1
  78. data/spec/shakapacker/digest_strategy_spec.rb +2 -0
  79. data/spec/shakapacker/engine_rake_tasks_spec.rb +28 -6
  80. data/spec/shakapacker/helper_spec.rb +20 -20
  81. data/spec/shakapacker/instance_spec.rb +2 -2
  82. data/spec/shakapacker/manifest_spec.rb +12 -12
  83. data/spec/shakapacker/mtime_strategy_spec.rb +3 -3
  84. data/spec/shakapacker/rake_tasks_spec.rb +10 -6
  85. data/spec/shakapacker/shakapacker_spec.rb +4 -4
  86. data/spec/shakapacker/spec_helper_initializer.rb +18 -0
  87. data/spec/shakapacker/version_checker_spec.rb +468 -121
  88. data/spec/shakapacker/webpack_runner_spec.rb +55 -25
  89. data/spec/spec_helper.rb +2 -0
  90. data/spec/support/package_json_helpers.rb +16 -0
  91. metadata +42 -5
@@ -0,0 +1,116 @@
1
+ lockfileVersion: 5.4
2
+
3
+ specifiers:
4
+ right-pad: ^1.0.1
5
+ shakapacker: ~6.0.0
6
+
7
+ dependencies:
8
+ shakapacker: 6.0.2
9
+
10
+ devDependencies:
11
+ right-pad: 1.0.1
12
+
13
+ packages:
14
+
15
+ /argparse/2.0.1:
16
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
17
+ dev: false
18
+
19
+ /balanced-match/1.0.2:
20
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
21
+ dev: false
22
+
23
+ /brace-expansion/1.1.11:
24
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
25
+ dependencies:
26
+ balanced-match: 1.0.2
27
+ concat-map: 0.0.1
28
+ dev: false
29
+
30
+ /concat-map/0.0.1:
31
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
32
+ dev: false
33
+
34
+ /fs.realpath/1.0.0:
35
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
36
+ dev: false
37
+
38
+ /glob/7.2.3:
39
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
40
+ dependencies:
41
+ fs.realpath: 1.0.0
42
+ inflight: 1.0.6
43
+ inherits: 2.0.4
44
+ minimatch: 3.1.2
45
+ once: 1.4.0
46
+ path-is-absolute: 1.0.1
47
+ dev: false
48
+
49
+ /inflight/1.0.6:
50
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
51
+ dependencies:
52
+ once: 1.4.0
53
+ wrappy: 1.0.2
54
+ dev: false
55
+
56
+ /inherits/2.0.4:
57
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
58
+ dev: false
59
+
60
+ /js-yaml/4.1.0:
61
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
62
+ hasBin: true
63
+ dependencies:
64
+ argparse: 2.0.1
65
+ dev: false
66
+
67
+ /minimatch/3.1.2:
68
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
69
+ dependencies:
70
+ brace-expansion: 1.1.11
71
+ dev: false
72
+
73
+ /once/1.4.0:
74
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
75
+ dependencies:
76
+ wrappy: 1.0.2
77
+ dev: false
78
+
79
+ /path-complete-extname/1.0.0:
80
+ resolution: {integrity: sha512-CVjiWcMRdGU8ubs08YQVzhutOR5DEfO97ipRIlOGMK5Bek5nQySknBpuxVAVJ36hseTNs+vdIcv57ZrWxH7zvg==}
81
+ dev: false
82
+
83
+ /path-is-absolute/1.0.1:
84
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
85
+ engines: {node: '>=0.10.0'}
86
+ dev: false
87
+
88
+ /right-pad/1.0.1:
89
+ resolution: {integrity: sha512-bYBjgxmkvTAfgIYy328fmkwhp39v8lwVgWhhrzxPV3yHtcSqyYKe9/XOhvW48UFjATg3VuJbpsp5822ACNvkmw==}
90
+ engines: {node: '>= 0.10'}
91
+ dev: true
92
+
93
+ /shakapacker/6.0.2:
94
+ resolution: {integrity: sha512-gCNBjwcy/+WA4At1YP+pKgNzG8UsIDtLZiJ+Ezipm6quONfXyFS8C4yj/cMU7A1mt2ejosYO7pwRZG1Z0t9EfA==}
95
+ engines: {node: ^12.13.0 || ^14 || >=16, yarn: '>=1 <4'}
96
+ peerDependencies:
97
+ '@babel/core': ^7.15.5
98
+ '@babel/plugin-transform-runtime': ^7.15.0
99
+ '@babel/preset-env': ^7.15.6
100
+ '@babel/runtime': ^7.15.4
101
+ babel-loader: ^8.2.2
102
+ compression-webpack-plugin: ^9.0.0
103
+ terser-webpack-plugin: ^5.2.4
104
+ webpack: ^5.53.0
105
+ webpack-assets-manifest: ^5.0.6
106
+ webpack-cli: ^4.8.0
107
+ webpack-merge: ^5.8.0
108
+ dependencies:
109
+ glob: 7.2.3
110
+ js-yaml: 4.1.0
111
+ path-complete-extname: 1.0.0
112
+ dev: false
113
+
114
+ /wrappy/1.0.2:
115
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
116
+ dev: false