opal_stimulus 0.1.6 → 0.1.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 669d38bd3eaad485f44b8347ca5008ee6d6001a7d622f305ad78a413f2fbee43
4
- data.tar.gz: 36bd60dc686ef27c23e1db07a3359679f1b6de0fc9ef28e11ef79f891bc79303
3
+ metadata.gz: e71677302b86e4d6f248a98170efd0dd24478c852b53f97747bb840d071cfccf
4
+ data.tar.gz: 47241b7d3e38b2cefae139cab2f1fb8d4461cd6d591c4303c4eadf0ac84b1dbf
5
5
  SHA512:
6
- metadata.gz: 5ff23a23826bb81e640c712da250e950053376312a5af7bd6dc10e5175ab2480257ec859868e8c24dc8f7ba7d343f9147bf119852e9475d927e44fd893a3da90
7
- data.tar.gz: 422ab1172b497502b34b1369118ed10669e59b8a830ae9539fc7a7c289ae743bc9ed68919fab0eb666a3a88c679a13dbe43a9c8f6c3514e462e58607f07e629f
6
+ metadata.gz: 0211e443ec8b5a3b214276882807f1f58bd56624a14f345a30a5789783ceb2aca6dd71dd7838d39b4771d89b40d1bd552a0a18a7013b502d5efa98c43b117e19
7
+ data.tar.gz: 7805082cfc93be9f1906dc4e51e1dea39c6c3872b6646c85a0990d986a27a8dd0183ef35d15ae35e8416ca42f90da46a6c3cf38a09532cb82d78e3baed8757fb
data/CHANGELOG.md CHANGED
@@ -38,3 +38,8 @@
38
38
  - Simplify installation importing `application` and `Controller` with ESM
39
39
  Now `app/javascript/controllers/application.js` will be not modified,
40
40
  and only compiled code will be imported inside application layout.
41
+
42
+ ## [0.1.7] - 2025-08-20
43
+
44
+ - Add installation on Rails tests
45
+ - Make it production ready enhancing `assets:precompile` with `opal_stimulus:build`
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Opal Stimulus for Rails
2
2
 
3
- **Opal Stimulus** is a Stimulus wrapper made with Opal (a source-to-source Ruby to JavaScript compiler) that allows you to write Stimulus controllers in Ruby instead of JavaScript (It works only with Rails).
3
+ **Opal Stimulus** is a Stimulus wrapper made with Opal (a source-to-source Ruby to JavaScript compiler) that allows you to write Stimulus controllers in Ruby instead of JavaScript (It works only with Rails >= 7.2 and < 8.0.3).
4
4
 
5
5
  [![Ruby](https://github.com/josephschito/opal_stimulus/actions/workflows/main.yml/badge.svg)](https://github.com/josephschito/opal_stimulus/actions/workflows/main.yml)
6
6
 
@@ -28,7 +28,7 @@ bin/dev
28
28
  Create a new controller:
29
29
 
30
30
  ```bash
31
- bin/rails opal_stimulus hello
31
+ bin/rails generate opal_stimulus hello
32
32
  ```
33
33
  This command will create `app/opal/controllers/hello_controller.rb`
34
34
 
@@ -22,6 +22,11 @@ if File.exist? APPLICATION_LAYOUT_PATH
22
22
  say "Ensure foreman is installed"
23
23
  run "gem install foreman"
24
24
  end
25
+
26
+ manifest = Rails.root.join("app/assets/config/manifest.js")
27
+ if manifest.exist?
28
+ append_to_file manifest, "//= link opal.js"
29
+ end
25
30
  append_to_file ".gitignore", "/.opal-cache\n"
26
31
  append_to_file ".gitignore", "app/assets/builds/opal.js\n"
27
32
  append_to_file ".gitignore", "app/assets/builds/opal.js.map\n"
@@ -0,0 +1,9 @@
1
+ module OpalStimulus
2
+ class Railtie < Rails::Railtie
3
+ initializer "opal_stimulus.ignore_opal_dir" do
4
+ Rails.autoloaders.each do |autoloader|
5
+ autoloader.ignore(Rails.root.join("app/opal"))
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpalStimulus
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.7"
5
5
  end
data/lib/opal_stimulus.rb CHANGED
@@ -7,6 +7,7 @@ if RUBY_ENGINE == 'opal'
7
7
  else
8
8
  require "opal"
9
9
  require_relative "opal_stimulus/version"
10
+ require "opal_stimulus/railtie" if defined?(Rails)
10
11
 
11
12
  Opal.append_path File.expand_path('lib', __dir__)
12
13
  end
data/lib/tasks/build.rake CHANGED
@@ -56,3 +56,6 @@ namespace :opal_stimulus do
56
56
  sleep
57
57
  end
58
58
  end
59
+
60
+ Rake::Task.define_task("assets:precompile") unless Rake::Task.task_defined?("assets:precompile")
61
+ Rake::Task["assets:precompile"].enhance(["opal_stimulus:build"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal_stimulus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Schito
@@ -51,6 +51,40 @@ dependencies:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: 0.1.1
54
+ - !ruby/object:Gem::Dependency
55
+ name: rails
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '7.2'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: 8.0.3
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '7.2'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: 8.0.3
74
+ - !ruby/object:Gem::Dependency
75
+ name: propshaft
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.2'
81
+ type: :development
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.2'
54
88
  description: Opal Stimulus provides a way to write Stimulus controllers in Ruby, leveraging
55
89
  the Opal compiler to convert Ruby code into JavaScript. This allows developers familiar
56
90
  with Ruby to use the Stimulus framework without needing to write JavaScript directly.
@@ -74,6 +108,7 @@ files:
74
108
  - lib/install/dev
75
109
  - lib/install/install_opal_stimulus.rb
76
110
  - lib/opal_stimulus.rb
111
+ - lib/opal_stimulus/railtie.rb
77
112
  - lib/opal_stimulus/stimulus_controller.rb
78
113
  - lib/opal_stimulus/version.rb
79
114
  - lib/tasks/build.rake