opal-rails 2.0.3 → 3.0.0

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +39 -4
  3. data/.gitignore +5 -0
  4. data/Appraisals +20 -21
  5. data/CHANGELOG.md +36 -0
  6. data/Gemfile +2 -2
  7. data/PORTING.md +140 -0
  8. data/README.md +151 -88
  9. data/Rakefile +16 -2
  10. data/app/helpers/opal_helper.rb +9 -28
  11. data/bin/sandbox +3 -2
  12. data/bin/sandbox-setup +2 -0
  13. data/gemfiles/{rails_7_0_opal_1_0.gemfile → rails_7_0_opal_1_8.gemfile} +2 -2
  14. data/gemfiles/{rails_7_0_opal_1_3.gemfile → rails_7_0_opal_master.gemfile} +2 -2
  15. data/gemfiles/{rails_6_0_opal_1_0.gemfile → rails_8_0_opal_1_8.gemfile} +3 -3
  16. data/gemfiles/rails_8_0_opal_master.gemfile +10 -0
  17. data/gemfiles/{rails_6_1_opal_1_0.gemfile → rails_8_1_opal_1_8.gemfile} +3 -3
  18. data/gemfiles/rails_8_1_opal_master.gemfile +10 -0
  19. data/lib/generators/opal/assets/assets_generator.rb +11 -1
  20. data/lib/generators/opal/assets/templates/{javascript.js.rb → asset.rb.tt} +3 -6
  21. data/lib/generators/opal/install/install_generator.rb +160 -9
  22. data/lib/generators/opal/install/templates/{application.js.rb → application.rb} +4 -4
  23. data/lib/generators/opal/install/templates/dev.tt +8 -0
  24. data/lib/generators/opal/install/templates/{initializer.rb → initializer.rb.tt} +8 -0
  25. data/lib/opal/rails/builder_runner.rb +126 -0
  26. data/lib/opal/rails/engine.rb +11 -9
  27. data/lib/opal/rails/entrypoints_resolver.rb +81 -0
  28. data/lib/opal/rails/errors.rb +11 -0
  29. data/lib/opal/rails/file_watcher.rb +58 -0
  30. data/lib/opal/rails/haml6_filter.rb +6 -6
  31. data/lib/opal/rails/haml_filter.rb +3 -6
  32. data/lib/opal/rails/legacy_upgrade_warning.rb +95 -0
  33. data/lib/opal/rails/outputs_manifest.rb +82 -0
  34. data/lib/opal/rails/path_setup.rb +28 -0
  35. data/lib/opal/rails/task_hooks.rb +49 -0
  36. data/lib/opal/rails/version.rb +1 -1
  37. data/lib/opal/rails/watch_runner.rb +173 -0
  38. data/lib/opal/rails.rb +7 -0
  39. data/lib/tasks/opal.rake +48 -0
  40. data/opal-rails.gemspec +23 -14
  41. data/spec/end_to_end/full_lifecycle_spec.rb +377 -0
  42. data/spec/helpers/opal_helper_spec.rb +27 -34
  43. data/spec/integration/source_map_spec.rb +6 -8
  44. data/spec/opal/assets_generator_spec.rb +31 -0
  45. data/spec/opal/install_generator_spec.rb +140 -0
  46. data/spec/opal/rails/build_task_spec.rb +116 -0
  47. data/spec/opal/rails/builder_runner_spec.rb +151 -0
  48. data/spec/opal/rails/clobber_task_spec.rb +55 -0
  49. data/spec/opal/rails/entrypoints_resolver_spec.rb +50 -0
  50. data/spec/opal/rails/haml_filter_spec.rb +41 -0
  51. data/spec/opal/rails/legacy_upgrade_warning_spec.rb +94 -0
  52. data/spec/opal/rails/outputs_manifest_spec.rb +44 -0
  53. data/spec/opal/rails/path_setup_spec.rb +71 -0
  54. data/spec/opal/rails/task_hooks_spec.rb +61 -0
  55. data/spec/opal/rails/watch_runner_spec.rb +283 -0
  56. data/spec/opal/rails/watch_task_spec.rb +23 -0
  57. data/spec/spec_helper.rb +16 -7
  58. data/spec/support/browser_support_spec.rb +36 -0
  59. data/spec/support/capybara.rb +61 -0
  60. data/spec/support/reset_assets_cache.rb +9 -1
  61. data/spec/support/test_app.rb +23 -2
  62. data/test_apps/app/application_controller.rb +23 -32
  63. data/test_apps/app/assets/builds/.keep +0 -0
  64. data/test_apps/app/assets/config/manifest.js +3 -1
  65. data/test_apps/app/assets/images/.keep +0 -0
  66. data/test_apps/app/opal/application.rb +5 -0
  67. data/test_apps/app/{assets/javascripts/source_map_example.js.rb → opal/source_map_example.rb} +1 -2
  68. data/test_apps/app/opal/with_assignments.js.rb +8 -0
  69. data/test_apps/rails.rb +19 -5
  70. metadata +196 -50
  71. data/gemfiles/rails_6_0_opal_1_1.gemfile +0 -9
  72. data/gemfiles/rails_6_0_opal_1_3.gemfile +0 -10
  73. data/gemfiles/rails_6_0_opal_1_7.gemfile +0 -10
  74. data/gemfiles/rails_6_1_opal_1_1.gemfile +0 -9
  75. data/gemfiles/rails_6_1_opal_1_3.gemfile +0 -10
  76. data/gemfiles/rails_6_1_opal_1_7.gemfile +0 -10
  77. data/gemfiles/rails_7_0_opal_1_7.gemfile +0 -10
  78. data/lib/opal/rails/haml5_filter.rb +0 -28
  79. data/test_apps/app/assets/javascripts/application.js.rb +0 -7
  80. data/test_apps/app/assets/javascripts/bar.rb +0 -3
  81. data/test_apps/app/assets/javascripts/foo.js.rb +0 -3
data/test_apps/rails.rb CHANGED
@@ -2,11 +2,14 @@
2
2
 
3
3
  require 'rails'
4
4
  require 'rails/all'
5
+ require 'sprockets/railtie'
5
6
  require 'action_view/testing/resolvers'
6
7
 
7
8
  require 'opal-rails' # our gem
8
9
  require 'opal/rails/haml_filter'
9
10
 
11
+ RAILS_VERSION_SERIES = Gem::Version.new(Rails.gem_version.segments.first(2).join('.'))
12
+
10
13
  module RailsApp
11
14
  class Application < Rails::Application
12
15
  config.root = __dir__
@@ -21,10 +24,15 @@ module RailsApp
21
24
  config.active_support.deprecation = :stderr
22
25
  config.secret_key_base = '49837489qkuweoiuoqwe'
23
26
 
24
- if config.active_record.sqlite3
25
- config.active_record.sqlite3.represent_boolean_as_integer = true
27
+ if RAILS_VERSION_SERIES < Gem::Version.new('8.0') && config.active_record.respond_to?(:legacy_connection_handling=)
28
+ config.active_record.legacy_connection_handling = false
29
+ end
30
+ if RAILS_VERSION_SERIES == Gem::Version.new('8.0') && config.active_support.respond_to?(:to_time_preserves_timezone=)
31
+ config.active_support.to_time_preserves_timezone = :zone
26
32
  end
27
33
 
34
+ config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3
35
+
28
36
  config.middleware.delete Rack::Lock
29
37
  config.middleware.delete ActionDispatch::Flash
30
38
 
@@ -34,14 +42,20 @@ module RailsApp
34
42
  get '/application/haml_filter' => 'application#haml_filter'
35
43
 
36
44
  # just to reduce noise
37
- get '/apple-touch-icon-precomposed.png' => proc { [404,{},[]] }
38
- get '/favicon.ico' => proc { [404,{},[]] }
45
+ get '/apple-touch-icon-precomposed.png' => proc { [404, {}, []] }
46
+ get '/favicon.ico' => proc { [404, {}, []] }
39
47
  end
40
48
 
41
- config.assets.debug = true
42
49
  config.assets.digest = true
43
50
 
44
51
  # Opal specific:
52
+ config.opal.source_path = root.join('app/opal')
53
+ config.opal.entrypoints_path = config.opal.source_path
54
+ config.opal.build_path = root.join('app/assets/builds')
55
+ config.opal.entrypoints = {
56
+ 'application' => 'application.rb',
57
+ 'source_map_example' => 'source_map_example.rb'
58
+ }
45
59
  config.opal.source_map_enabled = true
46
60
  end
47
61
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elia Schito
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2023-06-02 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -16,22 +15,36 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '6.0'
18
+ version: '7.0'
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
- version: '7.1'
21
+ version: '8.2'
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: '6.0'
28
+ version: '7.0'
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
- version: '7.1'
31
+ version: '8.2'
33
32
  - !ruby/object:Gem::Dependency
34
- name: sprockets-rails
33
+ name: opal
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: 1.7.0
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.7.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: listen
35
48
  requirement: !ruby/object:Gem::Requirement
36
49
  requirements:
37
50
  - - ">="
@@ -45,35 +58,35 @@ dependencies:
45
58
  - !ruby/object:Gem::Version
46
59
  version: '3.0'
47
60
  - !ruby/object:Gem::Dependency
48
- name: opal
61
+ name: haml
49
62
  requirement: !ruby/object:Gem::Requirement
50
63
  requirements:
51
- - - "~>"
64
+ - - ">="
52
65
  - !ruby/object:Gem::Version
53
- version: '1.0'
54
- type: :runtime
66
+ version: '6'
67
+ type: :development
55
68
  prerelease: false
56
69
  version_requirements: !ruby/object:Gem::Requirement
57
70
  requirements:
58
- - - "~>"
71
+ - - ">="
59
72
  - !ruby/object:Gem::Version
60
- version: '1.0'
73
+ version: '6'
61
74
  - !ruby/object:Gem::Dependency
62
- name: opal-sprockets
75
+ name: appraisal
63
76
  requirement: !ruby/object:Gem::Requirement
64
77
  requirements:
65
78
  - - "~>"
66
79
  - !ruby/object:Gem::Version
67
- version: '1.0'
68
- type: :runtime
80
+ version: '2.1'
81
+ type: :development
69
82
  prerelease: false
70
83
  version_requirements: !ruby/object:Gem::Requirement
71
84
  requirements:
72
85
  - - "~>"
73
86
  - !ruby/object:Gem::Version
74
- version: '1.0'
87
+ version: '2.1'
75
88
  - !ruby/object:Gem::Dependency
76
- name: haml
89
+ name: base64
77
90
  requirement: !ruby/object:Gem::Requirement
78
91
  requirements:
79
92
  - - ">="
@@ -87,7 +100,7 @@ dependencies:
87
100
  - !ruby/object:Gem::Version
88
101
  version: '0'
89
102
  - !ruby/object:Gem::Dependency
90
- name: execjs
103
+ name: benchmark
91
104
  requirement: !ruby/object:Gem::Requirement
92
105
  requirements:
93
106
  - - ">="
@@ -101,7 +114,7 @@ dependencies:
101
114
  - !ruby/object:Gem::Version
102
115
  version: '0'
103
116
  - !ruby/object:Gem::Dependency
104
- name: launchy
117
+ name: bigdecimal
105
118
  requirement: !ruby/object:Gem::Requirement
106
119
  requirements:
107
120
  - - ">="
@@ -128,6 +141,20 @@ dependencies:
128
141
  - - "~>"
129
142
  - !ruby/object:Gem::Version
130
143
  version: '3.25'
144
+ - !ruby/object:Gem::Dependency
145
+ name: cgi
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
131
158
  - !ruby/object:Gem::Dependency
132
159
  name: cuprite
133
160
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +169,90 @@ dependencies:
142
169
  - - ">="
143
170
  - !ruby/object:Gem::Version
144
171
  version: '0'
172
+ - !ruby/object:Gem::Dependency
173
+ name: execjs
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ - !ruby/object:Gem::Dependency
187
+ name: launchy
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ - !ruby/object:Gem::Dependency
201
+ name: logger
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ - !ruby/object:Gem::Dependency
215
+ name: mutex_m
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ - !ruby/object:Gem::Dependency
229
+ name: ostruct
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ - !ruby/object:Gem::Dependency
243
+ name: puma
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ type: :development
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
145
256
  - !ruby/object:Gem::Dependency
146
257
  name: rspec-rails
147
258
  requirement: !ruby/object:Gem::Requirement
@@ -157,19 +268,19 @@ dependencies:
157
268
  - !ruby/object:Gem::Version
158
269
  version: '0'
159
270
  - !ruby/object:Gem::Dependency
160
- name: appraisal
271
+ name: sprockets-rails
161
272
  requirement: !ruby/object:Gem::Requirement
162
273
  requirements:
163
- - - "~>"
274
+ - - ">="
164
275
  - !ruby/object:Gem::Version
165
- version: '2.1'
276
+ version: '3.0'
166
277
  type: :development
167
278
  prerelease: false
168
279
  version_requirements: !ruby/object:Gem::Requirement
169
280
  requirements:
170
- - - "~>"
281
+ - - ">="
171
282
  - !ruby/object:Gem::Version
172
- version: '2.1'
283
+ version: '3.0'
173
284
  - !ruby/object:Gem::Dependency
174
285
  name: sqlite3
175
286
  requirement: !ruby/object:Gem::Requirement
@@ -185,7 +296,7 @@ dependencies:
185
296
  - !ruby/object:Gem::Version
186
297
  version: '0'
187
298
  - !ruby/object:Gem::Dependency
188
- name: puma
299
+ name: tsort
189
300
  requirement: !ruby/object:Gem::Requirement
190
301
  requirements:
191
302
  - - ">="
@@ -212,6 +323,7 @@ files:
212
323
  - Appraisals
213
324
  - CHANGELOG.md
214
325
  - Gemfile
326
+ - PORTING.md
215
327
  - README.md
216
328
  - Rakefile
217
329
  - app/helpers/opal_helper.rb
@@ -225,51 +337,72 @@ files:
225
337
  - bin/sandbox-setup
226
338
  - bin/setup
227
339
  - config.ru
228
- - gemfiles/rails_6_0_opal_1_0.gemfile
229
- - gemfiles/rails_6_0_opal_1_1.gemfile
230
- - gemfiles/rails_6_0_opal_1_3.gemfile
231
- - gemfiles/rails_6_0_opal_1_7.gemfile
232
- - gemfiles/rails_6_1_opal_1_0.gemfile
233
- - gemfiles/rails_6_1_opal_1_1.gemfile
234
- - gemfiles/rails_6_1_opal_1_3.gemfile
235
- - gemfiles/rails_6_1_opal_1_7.gemfile
236
- - gemfiles/rails_7_0_opal_1_0.gemfile
237
- - gemfiles/rails_7_0_opal_1_3.gemfile
238
- - gemfiles/rails_7_0_opal_1_7.gemfile
340
+ - gemfiles/rails_7_0_opal_1_8.gemfile
341
+ - gemfiles/rails_7_0_opal_master.gemfile
342
+ - gemfiles/rails_8_0_opal_1_8.gemfile
343
+ - gemfiles/rails_8_0_opal_master.gemfile
344
+ - gemfiles/rails_8_1_opal_1_8.gemfile
345
+ - gemfiles/rails_8_1_opal_master.gemfile
239
346
  - lib/assets/javascripts/opal_ujs.js.rb
240
347
  - lib/generators/opal/assets/assets_generator.rb
241
- - lib/generators/opal/assets/templates/javascript.js.rb
348
+ - lib/generators/opal/assets/templates/asset.rb.tt
242
349
  - lib/generators/opal/install/USAGE
243
350
  - lib/generators/opal/install/install_generator.rb
244
- - lib/generators/opal/install/templates/application.js.rb
245
- - lib/generators/opal/install/templates/initializer.rb
351
+ - lib/generators/opal/install/templates/application.rb
352
+ - lib/generators/opal/install/templates/dev.tt
353
+ - lib/generators/opal/install/templates/initializer.rb.tt
246
354
  - lib/opal-rails.rb
247
355
  - lib/opal/rails.rb
356
+ - lib/opal/rails/builder_runner.rb
248
357
  - lib/opal/rails/engine.rb
249
- - lib/opal/rails/haml5_filter.rb
358
+ - lib/opal/rails/entrypoints_resolver.rb
359
+ - lib/opal/rails/errors.rb
360
+ - lib/opal/rails/file_watcher.rb
250
361
  - lib/opal/rails/haml6_filter.rb
251
362
  - lib/opal/rails/haml_filter.rb
363
+ - lib/opal/rails/legacy_upgrade_warning.rb
364
+ - lib/opal/rails/outputs_manifest.rb
365
+ - lib/opal/rails/path_setup.rb
252
366
  - lib/opal/rails/slim_filter.rb
367
+ - lib/opal/rails/task_hooks.rb
253
368
  - lib/opal/rails/template_handler.rb
254
369
  - lib/opal/rails/version.rb
370
+ - lib/opal/rails/watch_runner.rb
371
+ - lib/tasks/opal.rake
255
372
  - opal-rails.gemspec
373
+ - spec/end_to_end/full_lifecycle_spec.rb
256
374
  - spec/helpers/opal_helper_spec.rb
257
375
  - spec/integration/assigns_spec.rb
258
376
  - spec/integration/haml_filter_spec.rb
259
377
  - spec/integration/js_spec.rb
260
378
  - spec/integration/source_map_spec.rb
379
+ - spec/opal/assets_generator_spec.rb
380
+ - spec/opal/install_generator_spec.rb
381
+ - spec/opal/rails/build_task_spec.rb
382
+ - spec/opal/rails/builder_runner_spec.rb
383
+ - spec/opal/rails/clobber_task_spec.rb
384
+ - spec/opal/rails/entrypoints_resolver_spec.rb
385
+ - spec/opal/rails/haml_filter_spec.rb
386
+ - spec/opal/rails/legacy_upgrade_warning_spec.rb
387
+ - spec/opal/rails/outputs_manifest_spec.rb
388
+ - spec/opal/rails/path_setup_spec.rb
389
+ - spec/opal/rails/task_hooks_spec.rb
390
+ - spec/opal/rails/watch_runner_spec.rb
391
+ - spec/opal/rails/watch_task_spec.rb
261
392
  - spec/spec_helper.rb
393
+ - spec/support/browser_support_spec.rb
262
394
  - spec/support/capybara.rb
263
395
  - spec/support/reset_assets_cache.rb
264
396
  - spec/support/reset_config.rb
265
397
  - spec/support/test_app.rb
266
398
  - test_apps/app/application_controller.rb
399
+ - test_apps/app/assets/builds/.keep
267
400
  - test_apps/app/assets/config/manifest.js
268
- - test_apps/app/assets/javascripts/application.js.rb
269
- - test_apps/app/assets/javascripts/bar.rb
270
- - test_apps/app/assets/javascripts/foo.js.rb
271
- - test_apps/app/assets/javascripts/source_map_example.js.rb
401
+ - test_apps/app/assets/images/.keep
272
402
  - test_apps/app/assets/javascripts/with_assignments.js.rb
403
+ - test_apps/app/opal/application.rb
404
+ - test_apps/app/opal/source_map_example.rb
405
+ - test_apps/app/opal/with_assignments.js.rb
273
406
  - test_apps/rails.rb
274
407
  homepage: https://github.com/opal/opal-rails#readme
275
408
  licenses:
@@ -278,7 +411,6 @@ metadata:
278
411
  homepage_uri: https://github.com/opal/opal-rails#readme
279
412
  source_code_uri: https://github.com/opal/opal-rails#readme
280
413
  changelog_uri: https://github.com/opal/opal-rails/blob/master/CHANGELOG.md
281
- post_install_message:
282
414
  rdoc_options: []
283
415
  require_paths:
284
416
  - lib
@@ -286,24 +418,38 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
418
  requirements:
287
419
  - - ">="
288
420
  - !ruby/object:Gem::Version
289
- version: '2.5'
421
+ version: '2.7'
290
422
  required_rubygems_version: !ruby/object:Gem::Requirement
291
423
  requirements:
292
424
  - - ">="
293
425
  - !ruby/object:Gem::Version
294
426
  version: '0'
295
427
  requirements: []
296
- rubygems_version: 3.4.10
297
- signing_key:
428
+ rubygems_version: 4.0.6
298
429
  specification_version: 4
299
430
  summary: Rails bindings for opal JS engine
300
431
  test_files:
432
+ - spec/end_to_end/full_lifecycle_spec.rb
301
433
  - spec/helpers/opal_helper_spec.rb
302
434
  - spec/integration/assigns_spec.rb
303
435
  - spec/integration/haml_filter_spec.rb
304
436
  - spec/integration/js_spec.rb
305
437
  - spec/integration/source_map_spec.rb
438
+ - spec/opal/assets_generator_spec.rb
439
+ - spec/opal/install_generator_spec.rb
440
+ - spec/opal/rails/build_task_spec.rb
441
+ - spec/opal/rails/builder_runner_spec.rb
442
+ - spec/opal/rails/clobber_task_spec.rb
443
+ - spec/opal/rails/entrypoints_resolver_spec.rb
444
+ - spec/opal/rails/haml_filter_spec.rb
445
+ - spec/opal/rails/legacy_upgrade_warning_spec.rb
446
+ - spec/opal/rails/outputs_manifest_spec.rb
447
+ - spec/opal/rails/path_setup_spec.rb
448
+ - spec/opal/rails/task_hooks_spec.rb
449
+ - spec/opal/rails/watch_runner_spec.rb
450
+ - spec/opal/rails/watch_task_spec.rb
306
451
  - spec/spec_helper.rb
452
+ - spec/support/browser_support_spec.rb
307
453
  - spec/support/capybara.rb
308
454
  - spec/support/reset_assets_cache.rb
309
455
  - spec/support/reset_config.rb
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 6.0.0"
6
- gem "opal", "~> 1.1.0"
7
- gem "opal-sprockets"
8
-
9
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "net-smtp"
6
- gem "rails", "~> 6.0.0"
7
- gem "opal", "~> 1.3.0"
8
- gem "opal-sprockets"
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "net-smtp"
6
- gem "rails", "~> 6.0.0"
7
- gem "opal", "~> 1.7.0"
8
- gem "opal-sprockets"
9
-
10
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 6.1.0"
6
- gem "opal", "~> 1.1.0"
7
- gem "opal-sprockets"
8
-
9
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "net-smtp"
6
- gem "rails", "~> 6.1.0"
7
- gem "opal", "~> 1.3.0"
8
- gem "opal-sprockets"
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "net-smtp"
6
- gem "rails", "~> 6.1.0"
7
- gem "opal", "~> 1.7.0"
8
- gem "opal-sprockets"
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "net-smtp"
6
- gem "rails", "~> 7.0.0"
7
- gem "opal", "~> 1.7.0"
8
- gem "opal-sprockets"
9
-
10
- gemspec path: "../"
@@ -1,28 +0,0 @@
1
- module Haml::Filters::Opal
2
- include Haml::Filters::Base
3
-
4
- def mime_type
5
- ::Opal::Config.esm ? 'module' : 'text/javascript'
6
- end
7
-
8
- def render_with_options ruby, options
9
- text = ::Opal.compile(ruby)
10
-
11
- if options[:format] == :html5
12
- type = ''
13
- else
14
- type = " type=#{options[:attr_wrapper]}#{mime_type}#{options[:attr_wrapper]}"
15
- end
16
-
17
- text.rstrip!
18
- text.gsub!("\n", "\n ")
19
-
20
- <<HTML
21
- <script#{type}>
22
- //<![CDATA[
23
- #{text}
24
- //]]>
25
- </script>
26
- HTML
27
- end
28
- end
@@ -1,7 +0,0 @@
1
- require 'opal'
2
- require 'opal_ujs'
3
- require 'opal-parser'
4
- require 'json'
5
-
6
- require_tree '.'
7
- `window.opal_loaded = true`
@@ -1,3 +0,0 @@
1
- require 'native'
2
-
3
- puts __FILE__
@@ -1,3 +0,0 @@
1
- require 'native'
2
-
3
- puts __FILE__