shakapacker 8.0.0 → 8.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,17 +0,0 @@
1
- /* eslint no-console:0 */
2
- // This file is automatically compiled by Webpack, along with any other files
3
- // present in this directory. You're encouraged to place your actual application logic in
4
- // a relevant structure within app/javascript and only use these pack files to reference
5
- // that code so it'll be compiled.
6
- //
7
- // To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
8
- // layout file, like app/views/layouts/application.html.erb
9
-
10
- // Uncomment to copy all static images under ../images to the output folder and reference
11
- // them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)
12
- // or the `imagePath` JavaScript helper below.
13
- //
14
- // const images = require.context('../images', true)
15
- // const imagePath = (name) => images(name, true)
16
-
17
- console.log('Hello World from Shakapacker')
@@ -1,8 +0,0 @@
1
- import ReactOnRails from 'react-on-rails'
2
-
3
- import HelloWorld from '../bundles/HelloWorld/components/HelloWorld'
4
-
5
- // This is how react_on_rails can see the HelloWorld in the browser.
6
- ReactOnRails.register({
7
- HelloWorld
8
- })
@@ -1,8 +0,0 @@
1
- import ReactOnRails from 'react-on-rails'
2
-
3
- import HelloWorld from '../bundles/HelloWorld/components/HelloWorldServer'
4
-
5
- // This is how react_on_rails can see the HelloWorld in the browser.
6
- ReactOnRails.register({
7
- HelloWorld
8
- })
@@ -1,7 +0,0 @@
1
- class ApplicationJob < ActiveJob::Base
2
- # Automatically retry jobs that encountered a deadlock
3
- # retry_on ActiveRecord::Deadlocked
4
-
5
- # Most jobs are safe to ignore if the underlying records are no longer available
6
- # discard_on ActiveJob::DeserializationError
7
- end
@@ -1,4 +0,0 @@
1
- class ApplicationMailer < ActionMailer::Base
2
- default from: "from@example.com"
3
- layout "mailer"
4
- end
@@ -1,3 +0,0 @@
1
- class ApplicationRecord < ActiveRecord::Base
2
- self.abstract_class = true
3
- end
File without changes
@@ -1,2 +0,0 @@
1
- <h1>Hello, World!</h1>
2
- <%= react_component("HelloWorld", props: @hello_world_props, prerender: true) %>
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>TestReactOnRailsV12SsrV2</title>
5
- <%= csrf_meta_tags %>
6
- <%= csp_meta_tag %>
7
-
8
- <%= stylesheet_link_tag 'application', media: 'all' %>
9
- </head>
10
-
11
- <body>
12
- <%= yield %>
13
- </body>
14
- </html>
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>ReactOnRailsWithShakapacker</title>
5
- <%= csrf_meta_tags %>
6
- <%= javascript_pack_tag 'hello-world-bundle' %>
7
- <%= stylesheet_pack_tag 'hello-world-bundle' %>
8
- </head>
9
-
10
- <body>
11
- <%= yield %>
12
- </body>
13
- </html>
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
- <style>
6
- /* Email styles need to be inline */
7
- </style>
8
- </head>
9
-
10
- <body>
11
- <%= yield %>
12
- </body>
13
- </html>
@@ -1 +0,0 @@
1
- <%= yield %>
@@ -1,30 +0,0 @@
1
- module.exports = function (api) {
2
- const defaultConfigFunc = require('shakapacker/package/babel/preset.js')
3
- const resultConfig = defaultConfigFunc(api)
4
- const isProductionEnv = api.env('production')
5
-
6
- const changesOnDefault = {
7
- presets: [
8
- [
9
- '@babel/preset-react',
10
- {
11
- development: !isProductionEnv,
12
- useBuiltIns: true
13
- }
14
- ]
15
- ].filter(Boolean),
16
- plugins: [
17
- process.env.WEBPACK_SERVE && 'react-refresh/babel',
18
- isProductionEnv && ['babel-plugin-transform-react-remove-prop-types',
19
- {
20
- removeImport: true
21
- }
22
- ]
23
- ].filter(Boolean),
24
- }
25
-
26
- resultConfig.presets = [...resultConfig.presets, ...changesOnDefault.presets]
27
- resultConfig.plugins = [...resultConfig.plugins, ...changesOnDefault.plugins ]
28
-
29
- return resultConfig
30
- }
@@ -1,114 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundle' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "rubygems"
12
-
13
- m = Module.new do
14
- module_function
15
-
16
- def invoked_as_script?
17
- File.expand_path($0) == File.expand_path(__FILE__)
18
- end
19
-
20
- def env_var_version
21
- ENV["BUNDLER_VERSION"]
22
- end
23
-
24
- def cli_arg_version
25
- return unless invoked_as_script? # don't want to hijack other binstubs
26
- return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27
- bundler_version = nil
28
- update_index = nil
29
- ARGV.each_with_index do |a, i|
30
- if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31
- bundler_version = a
32
- end
33
- next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34
- bundler_version = $1
35
- update_index = i
36
- end
37
- bundler_version
38
- end
39
-
40
- def gemfile
41
- gemfile = ENV["BUNDLE_GEMFILE"]
42
- return gemfile if gemfile && !gemfile.empty?
43
-
44
- File.expand_path("../../Gemfile", __FILE__)
45
- end
46
-
47
- def lockfile
48
- lockfile =
49
- case File.basename(gemfile)
50
- when "gems.rb" then gemfile.sub(/\.rb$/, gemfile)
51
- else "#{gemfile}.lock"
52
- end
53
- File.expand_path(lockfile)
54
- end
55
-
56
- def lockfile_version
57
- return unless File.file?(lockfile)
58
- lockfile_contents = File.read(lockfile)
59
- return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60
- Regexp.last_match(1)
61
- end
62
-
63
- def bundler_requirement
64
- @bundler_requirement ||=
65
- env_var_version || cli_arg_version ||
66
- bundler_requirement_for(lockfile_version)
67
- end
68
-
69
- def bundler_requirement_for(version)
70
- return "#{Gem::Requirement.default}.a" unless version
71
-
72
- bundler_gem_version = Gem::Version.new(version)
73
-
74
- requirement = bundler_gem_version.approximate_recommendation
75
-
76
- return requirement unless Gem.rubygems_version < Gem::Version.new("2.7.0")
77
-
78
- requirement += ".a" if bundler_gem_version.prerelease?
79
-
80
- requirement
81
- end
82
-
83
- def load_bundler!
84
- ENV["BUNDLE_GEMFILE"] ||= gemfile
85
-
86
- activate_bundler
87
- end
88
-
89
- def activate_bundler
90
- gem_error = activation_error_handling do
91
- gem "bundler", bundler_requirement
92
- end
93
- return if gem_error.nil?
94
- require_error = activation_error_handling do
95
- require "bundler/version"
96
- end
97
- return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
98
- warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
99
- exit 42
100
- end
101
-
102
- def activation_error_handling
103
- yield
104
- nil
105
- rescue StandardError, LoadError => e
106
- e
107
- end
108
- end
109
-
110
- m.load_bundler!
111
-
112
- if m.invoked_as_script?
113
- load Gem.bin_path("bundler", "bundle")
114
- end
data/spec/dummy/bin/dev DELETED
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- def installed?(process)
5
- IO.popen "#{process} -v"
6
- rescue Errno::ENOENT
7
- false
8
- end
9
-
10
- def run(process)
11
- system "#{process} start -f Procfile.dev"
12
- rescue Errno::ENOENT
13
- warn <<~MSG
14
- ERROR:
15
- Please ensure `Procfile.dev` exists in your project!
16
- MSG
17
- exit!
18
- end
19
-
20
- if installed? "overmind"
21
- run "overmind"
22
- elsif installed? "foreman"
23
- run "foreman"
24
- else
25
- warn <<~MSG
26
- NOTICE:
27
- For this script to run, you need either 'overmind' or 'foreman' installed on your machine. Please try this script after installing one of them.
28
- MSG
29
- exit!
30
- end
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- def installed?(process)
5
- IO.popen "#{process} -v"
6
- rescue Errno::ENOENT
7
- false
8
- end
9
-
10
- def run(process)
11
- system "#{process} start -f Procfile.dev-static"
12
- rescue Errno::ENOENT
13
- warn <<~MSG
14
- ERROR:
15
- Please ensure `Procfile.dev-static` exists in your project!
16
- MSG
17
- exit!
18
- end
19
-
20
- if installed? "overmind"
21
- run "overmind"
22
- elsif installed? "foreman"
23
- run "foreman"
24
- else
25
- warn <<~MSG
26
- NOTICE:
27
- For this script to run, you need either 'overmind' or 'foreman' installed on your machine. Please try this script after installing one of them.
28
- MSG
29
- exit!
30
- end
data/spec/dummy/bin/rails DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
- begin
3
- load File.expand_path("../spring", __FILE__)
4
- rescue LoadError => e
5
- raise unless e.message.include?("spring")
6
- end
7
- APP_PATH = File.expand_path("../config/application", __dir__)
8
- require_relative "../config/boot"
9
- require "rails/commands"
data/spec/dummy/bin/rake DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
- begin
3
- load File.expand_path("../spring", __FILE__)
4
- rescue LoadError => e
5
- raise unless e.message.include?("spring")
6
- end
7
- require_relative "../config/boot"
8
- require "rake"
9
- Rake.application.run
data/spec/dummy/bin/setup DELETED
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require "fileutils"
3
-
4
- # path to your application root.
5
- APP_ROOT = File.expand_path("..", __dir__)
6
-
7
- def system!(*args)
8
- system(*args) || abort("\n== Command #{args} failed ==")
9
- end
10
-
11
- FileUtils.chdir APP_ROOT do
12
- # This script is a way to setup or update your development environment automatically.
13
- # This script is idempotent, so that you can run it at anytime and get an expectable outcome.
14
- # Add necessary setup steps to this file.
15
-
16
- puts "== Installing dependencies =="
17
- system! "gem install bundler --conservative"
18
- system("bundle check") || system!("bundle install")
19
-
20
- # puts "\n== Copying sample files =="
21
- # unless File.exist?('config/database.yml')
22
- # FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
23
- # end
24
-
25
- puts "\n== Preparing database =="
26
- system! "bin/rails db:prepare"
27
-
28
- puts "\n== Removing old logs and tempfiles =="
29
- system! "bin/rails log:clear tmp:clear"
30
-
31
- puts "\n== Restarting application server =="
32
- system! "bin/rails restart"
33
- end
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- ENV["RAILS_ENV"] ||= "development"
4
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
5
-
6
- require "bundler/setup"
7
- require "shakapacker"
8
- require "shakapacker/webpack_runner"
9
-
10
- APP_ROOT = File.expand_path("..", __dir__)
11
- Dir.chdir(APP_ROOT) do
12
- Shakapacker::WebpackRunner.run(ARGV)
13
- end
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- ENV["RAILS_ENV"] ||= "development"
4
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
5
-
6
- require "bundler/setup"
7
- require "shakapacker"
8
- require "shakapacker/dev_server_runner"
9
-
10
- APP_ROOT = File.expand_path("..", __dir__)
11
- Dir.chdir(APP_ROOT) do
12
- Shakapacker::DevServerRunner.run(ARGV)
13
- end
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # This file loads Spring without using Bundler, in order to be fast.
4
- # It gets overwritten when you run the `spring binstub` command.
5
-
6
- unless defined?(Spring)
7
- require "rubygems"
8
- require "bundler"
9
-
10
- lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
11
- spring = lockfile.specs.detect { |spec| spec.name == "spring" }
12
- if spring
13
- Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
14
- gem "spring", spring.version
15
- require "spring/binstub"
16
- end
17
- end
data/spec/dummy/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
@@ -1,35 +0,0 @@
1
- require_relative "boot"
2
-
3
- require "rails"
4
- # Pick the frameworks you want:
5
- require "active_model/railtie"
6
- require "active_job/railtie"
7
- require "active_record/railtie"
8
- require "active_storage/engine"
9
- require "action_controller/railtie"
10
- require "action_mailer/railtie"
11
- require "action_mailbox/engine"
12
- require "action_text/engine"
13
- require "action_view/railtie"
14
- require "action_cable/engine"
15
- # require "sprockets/railtie"
16
- require "rails/test_unit/railtie"
17
-
18
- # Require the gems listed in Gemfile, including any gems
19
- # you've limited to :test, :development, or :production.
20
- Bundler.require(*Rails.groups)
21
-
22
- # Temp patch for dummy specs
23
- Webpacker = Shakapacker
24
-
25
- module TestReactOnRailsV12SsrV2
26
- class Application < Rails::Application
27
- # Initialize configuration defaults for originally generated Rails version.
28
- config.load_defaults 6.0
29
-
30
- # Settings in config/environments/* take precedence over those specified here.
31
- # Application configuration can go into files in config/initializers
32
- # -- all .rb files in that directory are automatically loaded after loading
33
- # the framework and any gems in your application.
34
- end
35
- end
@@ -1,4 +0,0 @@
1
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
2
-
3
- require "bundler/setup" # Set up gems listed in the Gemfile.
4
- require "bootsnap/setup" # Speed up boot time by caching expensive operations.
@@ -1,10 +0,0 @@
1
- development:
2
- adapter: async
3
-
4
- test:
5
- adapter: test
6
-
7
- production:
8
- adapter: redis
9
- url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
10
- channel_prefix: test_react_on_rails_v12_ssr_v2_production
@@ -1 +0,0 @@
1
- 8PZY1LVGqpHC5No5f/ki/TLf/IcIrjTr6JdDJ4i+DXmlXrq2nIMrZmFvB3AnKDFxTEAP2exz74XMcJKWaT1i9Q8zAD/+AsFfjlPBej7uzv19T8zOMnEbDawQng2FHwHRtrEQlLa45V+qXjpFz52aBK+tiUgwc6C+aokQBibUs84LpYI3GHcrAXHEuZeYC72YDjJN/r3kDlRyJWTNIAEWGyKRxmIecSGYihmLpStLTqbn6QGCB85usriXx9oSBG2CtQbVDDnfL1H8QmU3VC7YzFaF3SREchDGB29TXeqHACvke9hMiEO8k4met+xwgBW6USX7gBAVofVmFyJa0DCelsiDfTeLI/qUpbkK5+XSGDSFXQTBC6SiipODgu1ZKP2G6yZiXEOlXUuCA/OR99JaT944qLqd2H6LdGFw--RqILZtg0csYBK/g/--vlbHBLNZBD64UMHC16MEGQ==
@@ -1,25 +0,0 @@
1
- # SQLite. Versions 3.8.0 and up are supported.
2
- # gem install sqlite3
3
- #
4
- # Ensure the SQLite 3 gem is defined in your Gemfile
5
- # gem 'sqlite3'
6
- #
7
- default: &default
8
- adapter: sqlite3
9
- pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
10
- timeout: 5000
11
-
12
- development:
13
- <<: *default
14
- database: db/development.sqlite3
15
-
16
- # Warning: The database defined as "test" will be erased and
17
- # re-generated from your development database when you run "rake".
18
- # Do not set this db to the same as development or production.
19
- test:
20
- <<: *default
21
- database: db/test.sqlite3
22
-
23
- production:
24
- <<: *default
25
- database: db/production.sqlite3
@@ -1,5 +0,0 @@
1
- # Load the Rails application.
2
- require_relative "application"
3
-
4
- # Initialize the Rails application.
5
- Rails.application.initialize!
@@ -1,54 +0,0 @@
1
- Rails.application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb.
3
-
4
- # In the development environment your application's code is reloaded on
5
- # every request. This slows down response time but is perfect for development
6
- # since you don't have to restart the web server when you make code changes.
7
- config.cache_classes = false
8
-
9
- # Do not eager load code on boot.
10
- config.eager_load = false
11
-
12
- # Show full error reports.
13
- config.consider_all_requests_local = true
14
-
15
- # Enable/disable caching. By default caching is disabled.
16
- # Run rails dev:cache to toggle caching.
17
- if Rails.root.join("tmp", "caching-dev.txt").exist?
18
- config.action_controller.perform_caching = true
19
- config.action_controller.enable_fragment_cache_logging = true
20
-
21
- config.cache_store = :memory_store
22
- config.public_file_server.headers = {
23
- "Cache-Control" => "public, max-age=#{2.days.to_i}"
24
- }
25
- else
26
- config.action_controller.perform_caching = false
27
-
28
- config.cache_store = :null_store
29
- end
30
-
31
- # Store uploaded files on the local file system (see config/storage.yml for options).
32
- config.active_storage.service = :local
33
-
34
- # Don't care if the mailer can't send.
35
- config.action_mailer.raise_delivery_errors = false
36
-
37
- config.action_mailer.perform_caching = false
38
-
39
- # Print deprecation notices to the Rails logger.
40
- config.active_support.deprecation = :log
41
-
42
- # Raise an error on page load if there are pending migrations.
43
- config.active_record.migration_error = :page_load
44
-
45
- # Highlight code that triggered database queries in logs.
46
- config.active_record.verbose_query_logs = true
47
-
48
- # Raises error for missing translations.
49
- # config.action_view.raise_on_missing_translations = true
50
-
51
- # Use an evented file watcher to asynchronously detect changes in source code,
52
- # routes, locales, etc. This feature depends on the listen gem.
53
- config.file_watcher = ActiveSupport::EventedFileUpdateChecker
54
- end