shakapacker 8.0.0 → 8.0.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.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dummy.yml +1 -1
  3. data/.github/workflows/generator.yml +5 -1
  4. data/.github/workflows/node.yml +1 -1
  5. data/.github/workflows/ruby.yml +8 -2
  6. data/.gitignore +0 -1
  7. data/.node-version +1 -1
  8. data/CHANGELOG.md +21 -12
  9. data/Gemfile.lock +257 -0
  10. data/README.md +11 -12
  11. data/docs/customizing_babel_config.md +32 -4
  12. data/docs/react.md +3 -2
  13. data/docs/troubleshooting.md +1 -1
  14. data/docs/v8_upgrade.md +2 -2
  15. data/lib/shakapacker/version.rb +1 -1
  16. data/package.json +2 -2
  17. data/shakapacker.gemspec +5 -2
  18. metadata +5 -235
  19. data/lib/install/bin/yarn +0 -18
  20. data/rakelib/release.rake +0 -65
  21. data/spec/dummy/.browserslistrc +0 -1
  22. data/spec/dummy/.gitignore +0 -20
  23. data/spec/dummy/.prettierrc.yaml +0 -4
  24. data/spec/dummy/Gemfile +0 -61
  25. data/spec/dummy/Procfile.dev +0 -5
  26. data/spec/dummy/Procfile.dev-static +0 -9
  27. data/spec/dummy/README.md +0 -1
  28. data/spec/dummy/Rakefile +0 -6
  29. data/spec/dummy/app/assets/config/manifest.js +0 -2
  30. data/spec/dummy/app/assets/images/.keep +0 -0
  31. data/spec/dummy/app/assets/stylesheets/application.css +0 -15
  32. data/spec/dummy/app/channels/application_cable/channel.rb +0 -4
  33. data/spec/dummy/app/channels/application_cable/connection.rb +0 -4
  34. data/spec/dummy/app/controllers/application_controller.rb +0 -2
  35. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  36. data/spec/dummy/app/controllers/hello_world_controller.rb +0 -9
  37. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  38. data/spec/dummy/app/javascript/Globals.d.ts +0 -3
  39. data/spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css +0 -25
  40. data/spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx +0 -47
  41. data/spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorldServer.tsx +0 -5
  42. data/spec/dummy/app/javascript/bundles/HelloWorld/components/logo.svg +0 -7
  43. data/spec/dummy/app/javascript/packs/application.js +0 -17
  44. data/spec/dummy/app/javascript/packs/hello-world-bundle.ts +0 -8
  45. data/spec/dummy/app/javascript/packs/server-bundle.ts +0 -8
  46. data/spec/dummy/app/jobs/application_job.rb +0 -7
  47. data/spec/dummy/app/mailers/application_mailer.rb +0 -4
  48. data/spec/dummy/app/models/application_record.rb +0 -3
  49. data/spec/dummy/app/models/concerns/.keep +0 -0
  50. data/spec/dummy/app/views/hello_world/index.html.erb +0 -2
  51. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  52. data/spec/dummy/app/views/layouts/hello_world.html.erb +0 -13
  53. data/spec/dummy/app/views/layouts/mailer.html.erb +0 -13
  54. data/spec/dummy/app/views/layouts/mailer.text.erb +0 -1
  55. data/spec/dummy/babel.config.js +0 -30
  56. data/spec/dummy/bin/bundle +0 -114
  57. data/spec/dummy/bin/dev +0 -30
  58. data/spec/dummy/bin/dev-static +0 -30
  59. data/spec/dummy/bin/rails +0 -9
  60. data/spec/dummy/bin/rake +0 -9
  61. data/spec/dummy/bin/setup +0 -33
  62. data/spec/dummy/bin/shakapacker +0 -13
  63. data/spec/dummy/bin/shakapacker-dev-server +0 -13
  64. data/spec/dummy/bin/spring +0 -17
  65. data/spec/dummy/bin/yarn +0 -18
  66. data/spec/dummy/config/application.rb +0 -35
  67. data/spec/dummy/config/boot.rb +0 -4
  68. data/spec/dummy/config/cable.yml +0 -10
  69. data/spec/dummy/config/credentials.yml.enc +0 -1
  70. data/spec/dummy/config/database.yml +0 -25
  71. data/spec/dummy/config/environment.rb +0 -5
  72. data/spec/dummy/config/environments/development.rb +0 -54
  73. data/spec/dummy/config/environments/production.rb +0 -106
  74. data/spec/dummy/config/environments/test.rb +0 -49
  75. data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
  76. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  77. data/spec/dummy/config/initializers/content_security_policy.rb +0 -28
  78. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -5
  79. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  80. data/spec/dummy/config/initializers/inflections.rb +0 -16
  81. data/spec/dummy/config/initializers/mime_types.rb +0 -4
  82. data/spec/dummy/config/initializers/react_on_rails.rb +0 -58
  83. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  84. data/spec/dummy/config/locales/en.yml +0 -33
  85. data/spec/dummy/config/puma.rb +0 -38
  86. data/spec/dummy/config/routes.rb +0 -6
  87. data/spec/dummy/config/shakapacker.yml +0 -61
  88. data/spec/dummy/config/spring.rb +0 -6
  89. data/spec/dummy/config/storage.yml +0 -34
  90. data/spec/dummy/config/webpack/ServerClientOrBoth.js +0 -34
  91. data/spec/dummy/config/webpack/clientWebpackConfig.js +0 -15
  92. data/spec/dummy/config/webpack/commonWebpackConfig.js +0 -17
  93. data/spec/dummy/config/webpack/development.js +0 -32
  94. data/spec/dummy/config/webpack/production.js +0 -9
  95. data/spec/dummy/config/webpack/serverWebpackConfig.js +0 -116
  96. data/spec/dummy/config/webpack/test.js +0 -7
  97. data/spec/dummy/config/webpack/webpack.config.js +0 -24
  98. data/spec/dummy/config.ru +0 -5
  99. data/spec/dummy/db/seeds.rb +0 -7
  100. data/spec/dummy/lib/assets/.keep +0 -0
  101. data/spec/dummy/lib/tasks/.keep +0 -0
  102. data/spec/dummy/package.json +0 -44
  103. data/spec/dummy/postcss.config.js +0 -12
  104. data/spec/dummy/public/404.html +0 -67
  105. data/spec/dummy/public/422.html +0 -67
  106. data/spec/dummy/public/500.html +0 -66
  107. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  108. data/spec/dummy/public/apple-touch-icon.png +0 -0
  109. data/spec/dummy/public/favicon.ico +0 -0
  110. data/spec/dummy/public/robots.txt +0 -1
  111. data/spec/dummy/spec/rails_helper.rb +0 -118
  112. data/spec/dummy/spec/spec_helper.rb +0 -96
  113. data/spec/dummy/spec/system/hello_world_spec.rb +0 -19
  114. data/spec/dummy/tsconfig.json +0 -21
  115. data/spec/dummy/vendor/.keep +0 -0
  116. data/spec/dummy/yarn.lock +0 -4696
  117. data/spec/fixtures/beta_package-lock.v1.json +0 -119
  118. data/spec/fixtures/beta_package-lock.v2.json +0 -6777
  119. data/spec/fixtures/beta_package.json +0 -13
  120. data/spec/fixtures/beta_pnpm-lock.v7.yaml +0 -116
  121. data/spec/fixtures/beta_pnpm-lock.v8.yaml +0 -2537
  122. data/spec/fixtures/beta_pnpm-lock.v9.yaml +0 -2885
  123. data/spec/fixtures/beta_yarn.v1.lock +0 -106
  124. data/spec/fixtures/beta_yarn.v2.lock +0 -164
  125. data/spec/fixtures/git_url_package-lock.v1.json +0 -118
  126. data/spec/fixtures/git_url_package-lock.v2.json +0 -10263
  127. data/spec/fixtures/git_url_package.json +0 -13
  128. data/spec/fixtures/git_url_pnpm-lock.v7.yaml +0 -126
  129. data/spec/fixtures/git_url_pnpm-lock.v8.yaml +0 -3728
  130. data/spec/fixtures/git_url_pnpm-lock.v9.yaml +0 -4544
  131. data/spec/fixtures/git_url_yarn.v1.lock +0 -106
  132. data/spec/fixtures/git_url_yarn.v2.lock +0 -165
  133. data/spec/fixtures/github_url_package-lock.v1.json +0 -118
  134. data/spec/fixtures/github_url_package-lock.v2.json +0 -10263
  135. data/spec/fixtures/github_url_package.json +0 -13
  136. data/spec/fixtures/github_url_pnpm-lock.v7.yaml +0 -126
  137. data/spec/fixtures/github_url_pnpm-lock.v8.yaml +0 -3728
  138. data/spec/fixtures/github_url_pnpm-lock.v9.yaml +0 -4544
  139. data/spec/fixtures/github_url_yarn.v1.lock +0 -105
  140. data/spec/fixtures/github_url_yarn.v2.lock +0 -165
  141. data/spec/fixtures/relative_path_package-lock.v1.json +0 -3468
  142. data/spec/fixtures/relative_path_package-lock.v2.json +0 -105
  143. data/spec/fixtures/relative_path_package.json +0 -13
  144. data/spec/fixtures/relative_path_pnpm-lock.v7.yaml +0 -18
  145. data/spec/fixtures/relative_path_pnpm-lock.v8.yaml +0 -22
  146. data/spec/fixtures/relative_path_pnpm-lock.v9.yaml +0 -28
  147. data/spec/fixtures/relative_path_yarn.v1.lock +0 -104
  148. data/spec/fixtures/relative_path_yarn.v2.lock +0 -165
  149. data/spec/fixtures/semver_caret_package-lock.v1.json +0 -119
  150. data/spec/fixtures/semver_caret_package-lock.v2.json +0 -10264
  151. data/spec/fixtures/semver_caret_package.json +0 -13
  152. data/spec/fixtures/semver_caret_pnpm-lock.v7.yaml +0 -117
  153. data/spec/fixtures/semver_caret_pnpm-lock.v8.yaml +0 -2558
  154. data/spec/fixtures/semver_caret_pnpm-lock.v9.yaml +0 -4285
  155. data/spec/fixtures/semver_caret_yarn.v1.lock +0 -106
  156. data/spec/fixtures/semver_caret_yarn.v2.lock +0 -165
  157. data/spec/fixtures/semver_exact_package-lock.v1.json +0 -119
  158. data/spec/fixtures/semver_exact_package-lock.v2.json +0 -6819
  159. data/spec/fixtures/semver_exact_package.json +0 -13
  160. data/spec/fixtures/semver_exact_pnpm-lock.v7.yaml +0 -117
  161. data/spec/fixtures/semver_exact_pnpm-lock.v8.yaml +0 -2558
  162. data/spec/fixtures/semver_exact_pnpm-lock.v9.yaml +0 -2908
  163. data/spec/fixtures/semver_exact_yarn.v1.lock +0 -106
  164. data/spec/fixtures/semver_exact_yarn.v2.lock +0 -165
  165. data/spec/fixtures/semver_tilde_package-lock.v1.json +0 -119
  166. data/spec/fixtures/semver_tilde_package-lock.v2.json +0 -6777
  167. data/spec/fixtures/semver_tilde_package.json +0 -13
  168. data/spec/fixtures/semver_tilde_pnpm-lock.v7.yaml +0 -116
  169. data/spec/fixtures/semver_tilde_pnpm-lock.v8.yaml +0 -2558
  170. data/spec/fixtures/semver_tilde_pnpm-lock.v9.yaml +0 -2885
  171. data/spec/fixtures/semver_tilde_yarn.v1.lock +0 -106
  172. data/spec/fixtures/semver_tilde_yarn.v2.lock +0 -164
  173. data/spec/fixtures/without_package-lock.v1.json +0 -19
  174. data/spec/fixtures/without_package-lock.v2.json +0 -47
  175. data/spec/fixtures/without_package.json +0 -13
  176. data/spec/fixtures/without_pnpm-lock.v7.yaml +0 -23
  177. data/spec/fixtures/without_pnpm-lock.v8.yaml +0 -27
  178. data/spec/fixtures/without_pnpm-lock.v9.yaml +0 -34
  179. data/spec/fixtures/without_yarn.v1.lock +0 -13
  180. data/spec/fixtures/without_yarn.v2.lock +0 -29
  181. data/spec/generator_specs/e2e_template/files/app/controllers/home_controller.rb +0 -4
  182. data/spec/generator_specs/e2e_template/files/app/javascript/components/App.js +0 -12
  183. data/spec/generator_specs/e2e_template/files/app/javascript/packs/application.js +0 -10
  184. data/spec/generator_specs/e2e_template/files/app/views/home/index.html.erb +0 -2
  185. data/spec/generator_specs/e2e_template/files/app/views/layouts/application.html.erb +0 -17
  186. data/spec/generator_specs/e2e_template/files/config/routes.rb +0 -3
  187. data/spec/generator_specs/e2e_template/files/spec/system/test_react_component_renders_spec.rb +0 -13
  188. data/spec/generator_specs/e2e_template/template.rb +0 -29
  189. data/spec/generator_specs/fake-bin/bun +0 -10
  190. data/spec/generator_specs/fake-bin/npm +0 -10
  191. data/spec/generator_specs/fake-bin/pnpm +0 -10
  192. data/spec/generator_specs/fake-bin/yarn +0 -10
  193. data/spec/generator_specs/generator_spec.rb +0 -193
  194. data/spec/mounted_app/Rakefile +0 -4
  195. data/spec/mounted_app/package.json +0 -1
  196. data/spec/mounted_app/test/dummy/Rakefile +0 -3
  197. data/spec/mounted_app/test/dummy/bin/rails +0 -3
  198. data/spec/mounted_app/test/dummy/bin/rake +0 -3
  199. data/spec/mounted_app/test/dummy/config/application.rb +0 -10
  200. data/spec/mounted_app/test/dummy/config/environment.rb +0 -3
  201. data/spec/mounted_app/test/dummy/config/webpacker.yml +0 -81
  202. data/spec/mounted_app/test/dummy/config.ru +0 -5
  203. data/spec/mounted_app/test/dummy/package.json +0 -7
  204. data/spec/shakapacker/command_spec.rb +0 -134
  205. data/spec/shakapacker/compiler_spec.rb +0 -57
  206. data/spec/shakapacker/compiler_strategy_spec.rb +0 -24
  207. data/spec/shakapacker/configuration_spec.rb +0 -377
  208. data/spec/shakapacker/dev_server_runner_spec.rb +0 -136
  209. data/spec/shakapacker/dev_server_spec.rb +0 -118
  210. data/spec/shakapacker/digest_strategy_spec.rb +0 -59
  211. data/spec/shakapacker/engine_rake_tasks_spec.rb +0 -50
  212. data/spec/shakapacker/env_spec.rb +0 -23
  213. data/spec/shakapacker/helper_spec.rb +0 -243
  214. data/spec/shakapacker/instance_spec.rb +0 -29
  215. data/spec/shakapacker/manifest_spec.rb +0 -100
  216. data/spec/shakapacker/mtime_strategy_spec.rb +0 -55
  217. data/spec/shakapacker/rake_tasks_spec.rb +0 -85
  218. data/spec/shakapacker/shakapacker_spec.rb +0 -40
  219. data/spec/shakapacker/spec_helper_initializer.rb +0 -24
  220. data/spec/shakapacker/test_app/.gitignore +0 -2
  221. data/spec/shakapacker/test_app/Rakefile +0 -3
  222. data/spec/shakapacker/test_app/app/javascript/entrypoints/application.js +0 -10
  223. data/spec/shakapacker/test_app/app/javascript/entrypoints/generated/something.js +0 -2
  224. data/spec/shakapacker/test_app/app/javascript/entrypoints/multi_entry.css +0 -4
  225. data/spec/shakapacker/test_app/app/javascript/entrypoints/multi_entry.js +0 -4
  226. data/spec/shakapacker/test_app/bin/shakapacker +0 -14
  227. data/spec/shakapacker/test_app/bin/shakapacker-dev-server +0 -14
  228. data/spec/shakapacker/test_app/config/application.rb +0 -11
  229. data/spec/shakapacker/test_app/config/environment.rb +0 -4
  230. data/spec/shakapacker/test_app/config/initializers/inspect_autoload_paths.rb +0 -1
  231. data/spec/shakapacker/test_app/config/shakapacker.yml +0 -82
  232. data/spec/shakapacker/test_app/config/shakapacker_css_extract_ignore_order_warnings.yml +0 -83
  233. data/spec/shakapacker/test_app/config/shakapacker_defaults_fallback.yml +0 -11
  234. data/spec/shakapacker/test_app/config/shakapacker_manifest_path.yml +0 -79
  235. data/spec/shakapacker/test_app/config/shakapacker_nested_entries.yml +0 -82
  236. data/spec/shakapacker/test_app/config/shakapacker_no_precompile.yml +0 -7
  237. data/spec/shakapacker/test_app/config/shakapacker_other_location.yml +0 -84
  238. data/spec/shakapacker/test_app/config/shakapacker_public_root.yml +0 -18
  239. data/spec/shakapacker/test_app/config/webpack/webpack.config.js +0 -0
  240. data/spec/shakapacker/test_app/config.ru +0 -5
  241. data/spec/shakapacker/test_app/package.json +0 -14
  242. data/spec/shakapacker/test_app/public/packs/manifest.json +0 -58
  243. data/spec/shakapacker/test_app/some.config.js +0 -0
  244. data/spec/shakapacker/test_app/yarn.lock +0 -11
  245. data/spec/shakapacker/utils_manager_spec.rb +0 -125
  246. data/spec/shakapacker/version_checker_spec.rb +0 -1469
  247. data/spec/shakapacker/webpack_runner_spec.rb +0 -76
  248. data/spec/spec_helper.rb +0 -100
  249. data/spec/support/package_json_helpers.rb +0 -19
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shakapacker
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-05-18 00:00:00.000000000 Z
13
+ date: 2024-07-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -151,6 +151,7 @@ files:
151
151
  - CONTRIBUTING.md
152
152
  - Gemfile
153
153
  - Gemfile.development_dependencies
154
+ - Gemfile.lock
154
155
  - MIT-LICENSE
155
156
  - README.md
156
157
  - Rakefile
@@ -177,7 +178,6 @@ files:
177
178
  - lib/install/application.js
178
179
  - lib/install/bin/shakapacker
179
180
  - lib/install/bin/shakapacker-dev-server
180
- - lib/install/bin/yarn
181
181
  - lib/install/binstubs.rb
182
182
  - lib/install/config/shakapacker.yml
183
183
  - lib/install/config/webpack/webpack.config.js
@@ -252,237 +252,7 @@ files:
252
252
  - package/utils/snakeToCamelCase.js
253
253
  - package/webpackDevServerConfig.js
254
254
  - prettier.config.js
255
- - rakelib/release.rake
256
255
  - shakapacker.gemspec
257
- - spec/dummy/.browserslistrc
258
- - spec/dummy/.gitignore
259
- - spec/dummy/.prettierrc.yaml
260
- - spec/dummy/Gemfile
261
- - spec/dummy/Procfile.dev
262
- - spec/dummy/Procfile.dev-static
263
- - spec/dummy/README.md
264
- - spec/dummy/Rakefile
265
- - spec/dummy/app/assets/config/manifest.js
266
- - spec/dummy/app/assets/images/.keep
267
- - spec/dummy/app/assets/stylesheets/application.css
268
- - spec/dummy/app/channels/application_cable/channel.rb
269
- - spec/dummy/app/channels/application_cable/connection.rb
270
- - spec/dummy/app/controllers/application_controller.rb
271
- - spec/dummy/app/controllers/concerns/.keep
272
- - spec/dummy/app/controllers/hello_world_controller.rb
273
- - spec/dummy/app/helpers/application_helper.rb
274
- - spec/dummy/app/javascript/Globals.d.ts
275
- - spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css
276
- - spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorld.tsx
277
- - spec/dummy/app/javascript/bundles/HelloWorld/components/HelloWorldServer.tsx
278
- - spec/dummy/app/javascript/bundles/HelloWorld/components/logo.svg
279
- - spec/dummy/app/javascript/packs/application.js
280
- - spec/dummy/app/javascript/packs/hello-world-bundle.ts
281
- - spec/dummy/app/javascript/packs/server-bundle.ts
282
- - spec/dummy/app/jobs/application_job.rb
283
- - spec/dummy/app/mailers/application_mailer.rb
284
- - spec/dummy/app/models/application_record.rb
285
- - spec/dummy/app/models/concerns/.keep
286
- - spec/dummy/app/views/hello_world/index.html.erb
287
- - spec/dummy/app/views/layouts/application.html.erb
288
- - spec/dummy/app/views/layouts/hello_world.html.erb
289
- - spec/dummy/app/views/layouts/mailer.html.erb
290
- - spec/dummy/app/views/layouts/mailer.text.erb
291
- - spec/dummy/babel.config.js
292
- - spec/dummy/bin/bundle
293
- - spec/dummy/bin/dev
294
- - spec/dummy/bin/dev-static
295
- - spec/dummy/bin/rails
296
- - spec/dummy/bin/rake
297
- - spec/dummy/bin/setup
298
- - spec/dummy/bin/shakapacker
299
- - spec/dummy/bin/shakapacker-dev-server
300
- - spec/dummy/bin/spring
301
- - spec/dummy/bin/yarn
302
- - spec/dummy/config.ru
303
- - spec/dummy/config/application.rb
304
- - spec/dummy/config/boot.rb
305
- - spec/dummy/config/cable.yml
306
- - spec/dummy/config/credentials.yml.enc
307
- - spec/dummy/config/database.yml
308
- - spec/dummy/config/environment.rb
309
- - spec/dummy/config/environments/development.rb
310
- - spec/dummy/config/environments/production.rb
311
- - spec/dummy/config/environments/test.rb
312
- - spec/dummy/config/initializers/application_controller_renderer.rb
313
- - spec/dummy/config/initializers/backtrace_silencers.rb
314
- - spec/dummy/config/initializers/content_security_policy.rb
315
- - spec/dummy/config/initializers/cookies_serializer.rb
316
- - spec/dummy/config/initializers/filter_parameter_logging.rb
317
- - spec/dummy/config/initializers/inflections.rb
318
- - spec/dummy/config/initializers/mime_types.rb
319
- - spec/dummy/config/initializers/react_on_rails.rb
320
- - spec/dummy/config/initializers/wrap_parameters.rb
321
- - spec/dummy/config/locales/en.yml
322
- - spec/dummy/config/puma.rb
323
- - spec/dummy/config/routes.rb
324
- - spec/dummy/config/shakapacker.yml
325
- - spec/dummy/config/spring.rb
326
- - spec/dummy/config/storage.yml
327
- - spec/dummy/config/webpack/ServerClientOrBoth.js
328
- - spec/dummy/config/webpack/clientWebpackConfig.js
329
- - spec/dummy/config/webpack/commonWebpackConfig.js
330
- - spec/dummy/config/webpack/development.js
331
- - spec/dummy/config/webpack/production.js
332
- - spec/dummy/config/webpack/serverWebpackConfig.js
333
- - spec/dummy/config/webpack/test.js
334
- - spec/dummy/config/webpack/webpack.config.js
335
- - spec/dummy/db/seeds.rb
336
- - spec/dummy/lib/assets/.keep
337
- - spec/dummy/lib/tasks/.keep
338
- - spec/dummy/package.json
339
- - spec/dummy/postcss.config.js
340
- - spec/dummy/public/404.html
341
- - spec/dummy/public/422.html
342
- - spec/dummy/public/500.html
343
- - spec/dummy/public/apple-touch-icon-precomposed.png
344
- - spec/dummy/public/apple-touch-icon.png
345
- - spec/dummy/public/favicon.ico
346
- - spec/dummy/public/robots.txt
347
- - spec/dummy/spec/rails_helper.rb
348
- - spec/dummy/spec/spec_helper.rb
349
- - spec/dummy/spec/system/hello_world_spec.rb
350
- - spec/dummy/tsconfig.json
351
- - spec/dummy/vendor/.keep
352
- - spec/dummy/yarn.lock
353
- - spec/fixtures/beta_package-lock.v1.json
354
- - spec/fixtures/beta_package-lock.v2.json
355
- - spec/fixtures/beta_package.json
356
- - spec/fixtures/beta_pnpm-lock.v7.yaml
357
- - spec/fixtures/beta_pnpm-lock.v8.yaml
358
- - spec/fixtures/beta_pnpm-lock.v9.yaml
359
- - spec/fixtures/beta_yarn.v1.lock
360
- - spec/fixtures/beta_yarn.v2.lock
361
- - spec/fixtures/git_url_package-lock.v1.json
362
- - spec/fixtures/git_url_package-lock.v2.json
363
- - spec/fixtures/git_url_package.json
364
- - spec/fixtures/git_url_pnpm-lock.v7.yaml
365
- - spec/fixtures/git_url_pnpm-lock.v8.yaml
366
- - spec/fixtures/git_url_pnpm-lock.v9.yaml
367
- - spec/fixtures/git_url_yarn.v1.lock
368
- - spec/fixtures/git_url_yarn.v2.lock
369
- - spec/fixtures/github_url_package-lock.v1.json
370
- - spec/fixtures/github_url_package-lock.v2.json
371
- - spec/fixtures/github_url_package.json
372
- - spec/fixtures/github_url_pnpm-lock.v7.yaml
373
- - spec/fixtures/github_url_pnpm-lock.v8.yaml
374
- - spec/fixtures/github_url_pnpm-lock.v9.yaml
375
- - spec/fixtures/github_url_yarn.v1.lock
376
- - spec/fixtures/github_url_yarn.v2.lock
377
- - spec/fixtures/relative_path_package-lock.v1.json
378
- - spec/fixtures/relative_path_package-lock.v2.json
379
- - spec/fixtures/relative_path_package.json
380
- - spec/fixtures/relative_path_pnpm-lock.v7.yaml
381
- - spec/fixtures/relative_path_pnpm-lock.v8.yaml
382
- - spec/fixtures/relative_path_pnpm-lock.v9.yaml
383
- - spec/fixtures/relative_path_yarn.v1.lock
384
- - spec/fixtures/relative_path_yarn.v2.lock
385
- - spec/fixtures/semver_caret_package-lock.v1.json
386
- - spec/fixtures/semver_caret_package-lock.v2.json
387
- - spec/fixtures/semver_caret_package.json
388
- - spec/fixtures/semver_caret_pnpm-lock.v7.yaml
389
- - spec/fixtures/semver_caret_pnpm-lock.v8.yaml
390
- - spec/fixtures/semver_caret_pnpm-lock.v9.yaml
391
- - spec/fixtures/semver_caret_yarn.v1.lock
392
- - spec/fixtures/semver_caret_yarn.v2.lock
393
- - spec/fixtures/semver_exact_package-lock.v1.json
394
- - spec/fixtures/semver_exact_package-lock.v2.json
395
- - spec/fixtures/semver_exact_package.json
396
- - spec/fixtures/semver_exact_pnpm-lock.v7.yaml
397
- - spec/fixtures/semver_exact_pnpm-lock.v8.yaml
398
- - spec/fixtures/semver_exact_pnpm-lock.v9.yaml
399
- - spec/fixtures/semver_exact_yarn.v1.lock
400
- - spec/fixtures/semver_exact_yarn.v2.lock
401
- - spec/fixtures/semver_tilde_package-lock.v1.json
402
- - spec/fixtures/semver_tilde_package-lock.v2.json
403
- - spec/fixtures/semver_tilde_package.json
404
- - spec/fixtures/semver_tilde_pnpm-lock.v7.yaml
405
- - spec/fixtures/semver_tilde_pnpm-lock.v8.yaml
406
- - spec/fixtures/semver_tilde_pnpm-lock.v9.yaml
407
- - spec/fixtures/semver_tilde_yarn.v1.lock
408
- - spec/fixtures/semver_tilde_yarn.v2.lock
409
- - spec/fixtures/without_package-lock.v1.json
410
- - spec/fixtures/without_package-lock.v2.json
411
- - spec/fixtures/without_package.json
412
- - spec/fixtures/without_pnpm-lock.v7.yaml
413
- - spec/fixtures/without_pnpm-lock.v8.yaml
414
- - spec/fixtures/without_pnpm-lock.v9.yaml
415
- - spec/fixtures/without_yarn.v1.lock
416
- - spec/fixtures/without_yarn.v2.lock
417
- - spec/generator_specs/e2e_template/files/app/controllers/home_controller.rb
418
- - spec/generator_specs/e2e_template/files/app/javascript/components/App.js
419
- - spec/generator_specs/e2e_template/files/app/javascript/packs/application.js
420
- - spec/generator_specs/e2e_template/files/app/views/home/index.html.erb
421
- - spec/generator_specs/e2e_template/files/app/views/layouts/application.html.erb
422
- - spec/generator_specs/e2e_template/files/config/routes.rb
423
- - spec/generator_specs/e2e_template/files/spec/system/test_react_component_renders_spec.rb
424
- - spec/generator_specs/e2e_template/template.rb
425
- - spec/generator_specs/fake-bin/bun
426
- - spec/generator_specs/fake-bin/npm
427
- - spec/generator_specs/fake-bin/pnpm
428
- - spec/generator_specs/fake-bin/yarn
429
- - spec/generator_specs/generator_spec.rb
430
- - spec/mounted_app/Rakefile
431
- - spec/mounted_app/package.json
432
- - spec/mounted_app/test/dummy/Rakefile
433
- - spec/mounted_app/test/dummy/bin/rails
434
- - spec/mounted_app/test/dummy/bin/rake
435
- - spec/mounted_app/test/dummy/config.ru
436
- - spec/mounted_app/test/dummy/config/application.rb
437
- - spec/mounted_app/test/dummy/config/environment.rb
438
- - spec/mounted_app/test/dummy/config/webpacker.yml
439
- - spec/mounted_app/test/dummy/package.json
440
- - spec/shakapacker/command_spec.rb
441
- - spec/shakapacker/compiler_spec.rb
442
- - spec/shakapacker/compiler_strategy_spec.rb
443
- - spec/shakapacker/configuration_spec.rb
444
- - spec/shakapacker/dev_server_runner_spec.rb
445
- - spec/shakapacker/dev_server_spec.rb
446
- - spec/shakapacker/digest_strategy_spec.rb
447
- - spec/shakapacker/engine_rake_tasks_spec.rb
448
- - spec/shakapacker/env_spec.rb
449
- - spec/shakapacker/helper_spec.rb
450
- - spec/shakapacker/instance_spec.rb
451
- - spec/shakapacker/manifest_spec.rb
452
- - spec/shakapacker/mtime_strategy_spec.rb
453
- - spec/shakapacker/rake_tasks_spec.rb
454
- - spec/shakapacker/shakapacker_spec.rb
455
- - spec/shakapacker/spec_helper_initializer.rb
456
- - spec/shakapacker/test_app/.gitignore
457
- - spec/shakapacker/test_app/Rakefile
458
- - spec/shakapacker/test_app/app/javascript/entrypoints/application.js
459
- - spec/shakapacker/test_app/app/javascript/entrypoints/generated/something.js
460
- - spec/shakapacker/test_app/app/javascript/entrypoints/multi_entry.css
461
- - spec/shakapacker/test_app/app/javascript/entrypoints/multi_entry.js
462
- - spec/shakapacker/test_app/bin/shakapacker
463
- - spec/shakapacker/test_app/bin/shakapacker-dev-server
464
- - spec/shakapacker/test_app/config.ru
465
- - spec/shakapacker/test_app/config/application.rb
466
- - spec/shakapacker/test_app/config/environment.rb
467
- - spec/shakapacker/test_app/config/initializers/inspect_autoload_paths.rb
468
- - spec/shakapacker/test_app/config/shakapacker.yml
469
- - spec/shakapacker/test_app/config/shakapacker_css_extract_ignore_order_warnings.yml
470
- - spec/shakapacker/test_app/config/shakapacker_defaults_fallback.yml
471
- - spec/shakapacker/test_app/config/shakapacker_manifest_path.yml
472
- - spec/shakapacker/test_app/config/shakapacker_nested_entries.yml
473
- - spec/shakapacker/test_app/config/shakapacker_no_precompile.yml
474
- - spec/shakapacker/test_app/config/shakapacker_other_location.yml
475
- - spec/shakapacker/test_app/config/shakapacker_public_root.yml
476
- - spec/shakapacker/test_app/config/webpack/webpack.config.js
477
- - spec/shakapacker/test_app/package.json
478
- - spec/shakapacker/test_app/public/packs/manifest.json
479
- - spec/shakapacker/test_app/some.config.js
480
- - spec/shakapacker/test_app/yarn.lock
481
- - spec/shakapacker/utils_manager_spec.rb
482
- - spec/shakapacker/version_checker_spec.rb
483
- - spec/shakapacker/webpack_runner_spec.rb
484
- - spec/spec_helper.rb
485
- - spec/support/package_json_helpers.rb
486
256
  - test/helpers.js
487
257
  - test/package/config.test.js
488
258
  - test/package/dev_server.test.js
@@ -506,7 +276,7 @@ homepage: https://github.com/shakacode/shakapacker
506
276
  licenses:
507
277
  - MIT
508
278
  metadata:
509
- source_code_uri: https://github.com/shakacode/shakapacker/tree/v8.0.0
279
+ source_code_uri: https://github.com/shakacode/shakapacker/tree/v8.0.1
510
280
  post_install_message:
511
281
  rdoc_options: []
512
282
  require_paths:
@@ -522,7 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
522
292
  - !ruby/object:Gem::Version
523
293
  version: '0'
524
294
  requirements: []
525
- rubygems_version: 3.4.12
295
+ rubygems_version: 3.5.3
526
296
  signing_key:
527
297
  specification_version: 4
528
298
  summary: Use webpack to manage app-like JavaScript modules in Rails
data/lib/install/bin/yarn DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- APP_ROOT = File.expand_path("..", __dir__)
4
- Dir.chdir(APP_ROOT) do
5
- yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
6
- select { |dir| File.expand_path(dir) != __dir__ }.
7
- product(["yarn", "yarnpkg", "yarn.cmd", "yarn.ps1"]).
8
- map { |dir, file| File.expand_path(file, dir) }.
9
- find { |file| File.executable?(file) }
10
-
11
- if yarn
12
- exec yarn, *ARGV
13
- else
14
- $stderr.puts "Yarn executable was not detected in the system."
15
- $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
16
- exit 1
17
- end
18
- end
data/rakelib/release.rake DELETED
@@ -1,65 +0,0 @@
1
- require_relative File.join("..", "lib", "shakapacker", "utils", "version_syntax_converter")
2
- require_relative File.join("..", "lib", "shakapacker", "utils", "misc")
3
-
4
- class RaisingMessageHandler
5
- def add_error(error)
6
- raise error
7
- end
8
- end
9
-
10
- desc("Releases both the gem and node package using the given version.
11
-
12
- IMPORTANT: the gem version must be in valid rubygem format (no dashes).
13
- It will be automatically converted to a valid yarn semver by the rake task
14
- for the node package version. This only makes a difference for pre-release
15
- versions such as `3.0.0.beta.1` (yarn version would be `3.0.0-beta.1`).
16
-
17
- This task depends on the gem-release (ruby gem) and release-it (node package)
18
- which are installed via `bundle install` and `yarn global add release-it`
19
-
20
- 1st argument: The new version in rubygem format (no dashes). Pass no argument to
21
- automatically perform a patch version bump.
22
- 2nd argument: Perform a dry run by passing 'true' as a second argument.
23
-
24
- Note, accept defaults for npmjs options. Script will pause to get 2FA tokens.
25
-
26
- Example: `rake release[2.1.0,false]`")
27
- task :create_release, %i[gem_version dry_run] do |_t, args|
28
- # Check if there are uncommitted changes
29
- Shakapacker::Utils::Misc.uncommitted_changes?(RaisingMessageHandler.new)
30
- args_hash = args.to_hash
31
-
32
- is_dry_run = Shakapacker::Utils::Misc.object_to_boolean(args_hash[:dry_run])
33
-
34
- gem_version = args_hash.fetch(:gem_version, "")
35
-
36
- gem_root = File.expand_path("..", __dir__)
37
-
38
- npm_version = if gem_version.strip.empty?
39
- ""
40
- else
41
- Shakapacker::Utils::VersionSyntaxConverter.new.rubygem_to_npm(gem_version)
42
- end
43
-
44
- # See https://github.com/svenfuchs/gem-release
45
- Shakapacker::Utils::Misc.sh_in_dir(gem_root, "git pull --rebase")
46
- Shakapacker::Utils::Misc.sh_in_dir(gem_root, "gem bump --no-commit #{gem_version.strip.empty? ? '' : %(--version #{gem_version})}")
47
- Shakapacker::Utils::Misc.sh_in_dir(gem_root, "bundle install")
48
-
49
- # Will bump the yarn version, commit, tag the commit, push to repo, and release on yarn
50
- release_it_command = +"release-it"
51
- release_it_command << " #{npm_version}" unless npm_version.strip.empty?
52
- release_it_command << " --npm.publish --no-git.requireCleanWorkingDir"
53
- release_it_command << " --dry-run --verbose" if is_dry_run
54
- puts "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
55
- puts "Use the OTP for NPM!"
56
- puts "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
57
- Shakapacker::Utils::Misc.sh_in_dir(gem_root, release_it_command)
58
-
59
- # Release the new gem version
60
- puts "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
61
- puts "Use the OTP for RubyGems!"
62
- puts "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
63
-
64
- Shakapacker::Utils::Misc.sh_in_dir(gem_root, "gem release") unless is_dry_run
65
- end
@@ -1 +0,0 @@
1
- defaults
@@ -1,20 +0,0 @@
1
- # Ignore the default SQLite database.
2
- /db/*.sqlite3
3
- /db/*.sqlite3-journal
4
- /db/*.sqlite3-*
5
-
6
- # Ignore all logfiles and tempfiles.
7
- /log
8
- /tmp
9
-
10
- /storage
11
-
12
- /public/assets
13
- .byebug_history
14
-
15
- # Ignore master key for decrypting credentials and more.
16
- /config/master.key
17
-
18
- /public/packs
19
- /public/packs-test
20
- /node_modules
@@ -1,4 +0,0 @@
1
- trailingComma: none
2
- tabWidth: 2
3
- semi: false
4
- singleQuote: true
data/spec/dummy/Gemfile DELETED
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
- git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
-
6
- # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
7
- gem "rails", "~> 6.1"
8
- # Use sqlite3 as the database for Active Record
9
- gem "sqlite3", "~> 1.4"
10
- # Use Puma as the app server
11
- gem "puma", "~> 4.1"
12
- # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
13
- gem "jbuilder", "~> 2.7"
14
- # Use Redis adapter to run Action Cable in production
15
- # gem 'redis', '~> 4.0'
16
- # Use Active Model has_secure_password
17
- # gem 'bcrypt', '~> 3.1.7'
18
-
19
- # Use Active Storage variant
20
- # gem 'image_processing', '~> 1.2'
21
-
22
- # Reduces boot times through caching; required in config/boot.rb
23
- gem "bootsnap", ">= 1.4.2", require: false
24
-
25
- group :development, :test, :production do
26
- # Call 'byebug' anywhere in the code to stop execution and get a debugger console
27
- gem "byebug", platforms: [:mri, :mingw, :x64_mingw]
28
- end
29
-
30
- group :development, :test do
31
- gem "rspec-rails", "~> 6.0.0"
32
- end
33
-
34
- group :development do
35
- # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
36
- gem "web-console", ">= 3.3.0"
37
- gem "listen", "~> 3.2"
38
- # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
39
- gem "spring"
40
- gem "spring-watcher-listen", "~> 2.0.0"
41
- end
42
-
43
- group :test do
44
- # Adds support for Capybara system testing and selenium driver
45
- # There is an important fix in 3.39.1.
46
- gem "capybara", "~> 3.39.1"
47
- # gem 'capybara-webkit'
48
- gem "selenium-webdriver", ">= 4.9"
49
- end
50
-
51
- # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
52
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
53
-
54
- gem "shakapacker", path: "../.."
55
- gem "react_on_rails", "13.3.3"
56
-
57
- gem "net-smtp", "~> 0.3.3"
58
-
59
- # Psych 4+ comes with breakibg changes in Ruby 3.1.0. Though the issue are
60
- # addressed in Rails 7. So remove this the next line in Rails 7.
61
- gem "psych", "< 4"
@@ -1,5 +0,0 @@
1
- # Procfile for development using HMR
2
- # You can run these commands in separate shells
3
- rails: bundle exec rails s -p 3000
4
- wp-client: bin/shakapacker-dev-server
5
- wp-server: SERVER_BUNDLE_ONLY=yes bin/shakapacker --watch
@@ -1,9 +0,0 @@
1
- # You can run these commands in separate shells
2
- web: rails s -p 3000
3
-
4
- # Next line runs a watch process with webpack to compile the changed files.
5
- # When making frequent changes to client side assets, you will prefer building webpack assets
6
- # upon saving rather than when you refresh your browser page.
7
- # Note, if using React on Rails localization you will need to run
8
- # `bundle exec rake react_on_rails:locale` before you run bin/shakapacker
9
- webpack: sh -c 'rm -rf public/packs/* || true && bin/shakapacker -w'
data/spec/dummy/README.md DELETED
@@ -1 +0,0 @@
1
- This dummy project is based on [React on Rails Demo With SSR, HMR fast refresh, and TypeScript](https://github.com/shakacode/react_on_rails_demo_ssr_hmr) project.
data/spec/dummy/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require_relative "config/application"
5
-
6
- Rails.application.load_tasks
@@ -1,2 +0,0 @@
1
- //= link_tree ../images
2
- //= link_directory ../stylesheets .css
File without changes
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
- * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
- * files in this directory. Styles in this file should be added after the last require_* statement.
11
- * It is generally better to create a new file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Channel < ActionCable::Channel::Base
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Connection < ActionCable::Connection::Base
3
- end
4
- end
@@ -1,2 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- end
File without changes
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class HelloWorldController < ApplicationController
4
- layout "hello_world"
5
-
6
- def index
7
- @hello_world_props = { name: "Stranger" }
8
- end
9
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,3 +0,0 @@
1
- declare module "*.module.css";
2
- declare module "*.module.scss";
3
- declare module "*.svg";
@@ -1,25 +0,0 @@
1
- .bright {
2
- color: green;
3
- font-weight: bold;
4
- }
5
-
6
- .logo {
7
- height: 10vmin;
8
- pointer-events: none;
9
- }
10
-
11
-
12
- @media (prefers-reduced-motion: no-preference) {
13
- .logo {
14
- animation: logo-spin infinite 20s linear;
15
- }
16
- }
17
-
18
- @keyframes logo-spin {
19
- from {
20
- transform: rotate(0deg);
21
- }
22
- to {
23
- transform: rotate(360deg);
24
- }
25
- }
@@ -1,47 +0,0 @@
1
- import * as React from 'react'
2
- import { useState, useEffect } from 'react'
3
- import type { FunctionComponent } from 'react'
4
-
5
- import style from './HelloWorld.module.css'
6
- import logo from './logo.svg'
7
-
8
- export interface Props {
9
- readonly name: string
10
- }
11
-
12
- // Note, you need to declare the `FunctionComponent` type so that it complies
13
- // with `ReactOnRails.register` type.
14
- const HelloWorld: FunctionComponent<Props> = (props: Props) => {
15
- const [name, setName] = useState(props.name)
16
-
17
- useEffect(() => {
18
- console.log(
19
- '%c%s%c%s',
20
- 'color: green; background-color: lightgreen; font-weight: bold;',
21
- 'ShakaCode is hiring!',
22
- 'color: green; background-color: lightgreen; font-weight: normal;',
23
- 'Check out our open positions: https://www.shakacode.com/career/',
24
- );
25
- }, [])
26
-
27
- return (
28
- <>
29
- <img src={logo} className={style.logo} alt="logo" />
30
- <h3>Hello, {name || 'World'}!</h3>
31
- <hr />
32
- <form>
33
- <label className={style.bright} htmlFor="name">
34
- Say hello to:{' '}
35
- <input
36
- id="name"
37
- type="text"
38
- value={name}
39
- onChange={(e) => setName(e.target.value)}
40
- />
41
- </label>
42
- </form>
43
- </>
44
- )
45
- }
46
-
47
- export default HelloWorld
@@ -1,5 +0,0 @@
1
- import HelloWorld from './HelloWorld'
2
- // This could be specialized for server rendering
3
- // For example, if using React-Router, we'd have the SSR setup here.
4
-
5
- export default HelloWorld
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
2
- <g fill="#61DAFB">
3
- <path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
4
- <circle cx="420.9" cy="296.5" r="45.7"/>
5
- <path d="M520.5 78.1z"/>
6
- </g>
7
- </svg>