opal-webpack-loader 0.9.11 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df7daa4166a459e2bbd8942eb051e176718b2f0f2b3e0a8eec03d4c3c7232607
4
- data.tar.gz: e4ca6d4e0a2f3ccb8696d1d6d4cfa6f0812e9342511ca888d26a725a98370701
3
+ metadata.gz: 47e73212d646dde8e4fbad0d525e3146564bde7ca2e5518d644f972a5a908860
4
+ data.tar.gz: cb1243d2b4bf3158ec87c9815d07333ddeae470c1f838e6f51c5ee4df082f5d9
5
5
  SHA512:
6
- metadata.gz: df26e49ff98da208b57f55e253b6c4c9f5a25ac3dba28b7d9485882f8e207069e24acbaf730368a2da543e2d57030e4c36c230350bfb025aed6c3b50f0ebfcc9
7
- data.tar.gz: 2367ec570bc9ca4fcb28b1829c992ab3ee2365e3119b90040696b0bf2da55427ddafb0ff0ec128c645b4c1a7d701a5cc3bb87be03d841006f236a532dd91e1df
6
+ metadata.gz: 22b303793fb6845b9277530f06d0f194975d2ca7475e7e6434efaebf9a990af904e2f7b1887d42a3fe7967ecfc615271b128a374e6d2b9043db7d2ed7e2dedee
7
+ data.tar.gz: 7232d4066bbd4ef90fdd852dfef6f08ad7fdbd8e139051a7a62e16b4b9345f06ecb38435ef19220e0657f4eb815bf232e530fe3b67ebcc72acf19d9bda3c441b
data/README.md ADDED
@@ -0,0 +1,214 @@
1
+ <h1 align="center">
2
+ <img src="https://raw.githubusercontent.com/isomorfeus/opal-webpack-loader/master/docs/owl.png"
3
+ align="center" title="Opal logo by Elia Schito combined with Webpack Logo" width="111" height="125" />
4
+ <br/>
5
+ opal-webpack-loader<br/>
6
+ <img src="https://img.shields.io/badge/Opal-Ruby%20💛%20JavaScript%20💛%20Webpack-yellow.svg?logo=ruby&style=social&logoColor=777"/>
7
+ </h1>
8
+
9
+ Bundle assets with webpack, resolve and compile opal ruby files and import them in the bundle, without sprockets or the webpacker gem
10
+ (but can be used with both of them too).
11
+ Includes a loader and resolver plugin for webpack.
12
+
13
+ ### Community and Support
14
+ At the [Isomorfeus Framework Project](http://isomorfeus.com)
15
+
16
+ ### Tested
17
+ [TravisCI](https://travis-ci.org): [![Build Status](https://travis-ci.org/isomorfeus/opal-webpack-loader.svg?branch=master)](https://travis-ci.org/isomorfeus/opal-webpack-loader)
18
+
19
+ ### Features
20
+ - comes with a installer for rails and other frameworks
21
+ - webpack based build process
22
+ - very fast, asynchronous and parallel builds of opal code:
23
+ opal-webpack-loader-0.7.1 compiles all of opal, a bunch of gems and over 19000SLC on a
24
+ Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8, with 8 workers in around 1850ms
25
+ - support for memcached or redis as compiler cache
26
+ - opal modules are packaged as es6 modules
27
+ - support for rails with webpacker
28
+ - other webpack features become available, like:
29
+ - source maps
30
+ - multiple targets: web (for browsers), node (for server side rendering) and webworker (for Web Workers)
31
+ - hot module reloading for opal ruby code and stylesheets and html views
32
+ - tree shaking
33
+ - code splitting
34
+ - lazy loading
35
+ - everything else webpack can do, like loading stylesheets, etc.
36
+
37
+ ### Requirements
38
+ - opal-webpack-loader consists of 2 parts, the npm package and the gem, both are required and must be the same version.
39
+ - webpack ^4.41
40
+ - webpack-dev-server ^3.9.0
41
+ - one of the ES6 modules branches of opal
42
+ - [PR#1973](https://github.com/opal/opal/pull/1973), (experimental) implementing ES6 modules and changes for 'strict' mode,
43
+ based on Opal master 1.0.0 using javascript string objects "mutable strings" by default for all strings
44
+
45
+ `gem 'opal', github: 'janbiedermann/opal', branch: 'es6_modules_string'`
46
+
47
+ - [PR#1976](https://github.com/opal/opal/pull/1976), (recommended) implementing ES6 modules and changes for 'strict' mode,
48
+ based on Opal master 1.1.0 using javascript string primitives and providing nice features like `require_lazy 'my_module'`
49
+
50
+ `gem 'opal', github: 'janbiedermann/opal', branch: 'es6_modules_1_1'`
51
+
52
+ - if you have the webpacker gem installed somewhere, it should be a version supporting webpack 4
53
+ - ruby, version 2.5 or higher recommended
54
+ - bundler, latest version recommended
55
+
56
+ ### Installation
57
+
58
+ #### Using the installer
59
+ First install the gem:
60
+ ```
61
+ gem install 'opal-webpack-loader'
62
+ ```
63
+
64
+ Continue here:
65
+ - [Install for Rails like projects](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/installation_rails.md)
66
+ - [Install for Cuba, Roda, Sinatra and other projects with a flat structure](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/installation_flat.md)
67
+ - [Manual Installation](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/installation_manual.md)
68
+
69
+ ### Example applications
70
+ - [Are here](https://github.com/isomorfeus/opal-webpack-loader/tree/master/example_apps/)
71
+ - A minimal webpack only example from @sunrick is [here](https://github.com/sunrick/opal-hello-world-webpack).
72
+
73
+ ### General Usage without Webpacker
74
+
75
+ After installing owl with the installer, three scripts are provided in package.json:
76
+ - `development` - runs the webpack-dev-server, use for general development, provides fast reloads, entry is application.js
77
+ - `debug` - runs the webpack-dev-server, use for debugging, provides source maps, entry is application_debug.js. Additional debugging tools may be added there.
78
+ - `production_build` - runs webpack to build assets for production, entry is application.js
79
+
80
+ These scripts can for example be run with:
81
+ `yarn run debug` or `npm run debug`
82
+
83
+ The default config provides several targets and entries:
84
+
85
+ - **Browser**: the webpack target is 'web' and the javascript entry file for imports is `application.js` - general use for the application with all
86
+ browser features, the opal ruby entry file is `opal_loader.rb` in the opal or app/opal directory of the app.
87
+ - **Server Side Rendering**: the webpack target is `node` and the javascript entry file for imports is `application_ssr.js` - general use for the
88
+ application server side rendering, several Browser features are unavailable, no `window`, no `document`, some node features are available,
89
+ like `Buffer`, the opal ruby entry file is `opal_loader.rb` in the opal or app/opal directory of the app.
90
+ (meant to be used with isomorfeus-speednode, standard ExecJS limitations prevent certain webpack features)
91
+ - **Web Worker**: the webpack target is 'webworker' and the javascript entry file for imports is `application_webworker.js` - used to initialize Web
92
+ Workers in the browser, the opal ruby entry file is `opal_webworker_loader.rb` in the opal or app/opal directory of the app.
93
+
94
+ Only the browser target is build by default. To builds the other target, just add the needed targets to the last line of the webpack config,
95
+ for example to `development.js`:
96
+ default config:
97
+ ```javascript
98
+ module.exports = [ browser ];
99
+ ```
100
+ modified config with ssr and web_worker targets enabled:
101
+ ```javascript
102
+ module.exports = [ browser, ssr, web_worker ];
103
+ ```
104
+ Same works for the `debug.js` and `production.js` webpack config files.
105
+
106
+ Also a Procfile has been installed, for rails its easy to startup rails and webpack with foreman:
107
+ `foreman start` (`gem install foreman` if you dont have it already). It will start rails and webpack-dev-server with the development script.
108
+
109
+ For non rails installation check the Procfile and add a starter for your app.
110
+
111
+ #### Opal Ruby Application Files
112
+ For rails installations with the installer they all go into: `app/opal`, for flat installations in the `opal` directory.
113
+ In this directory there already is a `opal_loader.rb` which is the entry point for your app.
114
+
115
+ #### Stylesheets
116
+ Stylesheets are hot reloaded too with the default config installed by the installer. Also they are imported into application.js by default.
117
+ For rails like applications stylesheets are in `app/assets/stylesheets/application.css`, for flat applications they are in `styles/application.css`.
118
+ SCSS is supported too by the default config.
119
+
120
+ #### Views
121
+ For rails like applications a watcher for `app/views` is installed by default. The watcher will trigger a page reload when views are changed.
122
+ For flat applications nothing is configured by default, as there are to many ways to generate views, they are not even needed with
123
+ frameworks like isomorfeus. Instead the section for configuring a view watcher is included in the development.js and debug.js webpack
124
+ config, but it is commented out. Please see those files and adjust to your liking.
125
+
126
+ #### Parallel compilation for speed
127
+
128
+ Since version 0.8.0 the number of CPUs is automatically determined and a appropriate number of of compile server workers is started automatically.
129
+
130
+ ### Source Maps
131
+
132
+ [Source Maps](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/source_maps.md)
133
+
134
+ ### Hot Module Reloading
135
+ [Hot Module Reloading](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/hot_module_reloading.md)
136
+
137
+ ### Opal Load Path
138
+ The projects directory for opal ruby files must be in the opal load path. This is done in the initializer for rails apps in
139
+ config/initializers/opal_webpack_loader.rb or in 'owl_init.rb' for non rails apps, for example:
140
+ ```ruby
141
+ Opal.append_path(File.realdirpath('app/opal'))
142
+ ```
143
+
144
+ ### View Helper
145
+ In Rails or frameworks that support `javscript_include_tag`, add to the app/helpers/application_helper.rb
146
+ ```ruby
147
+ module ApplicationHelper
148
+ include OpalWebpackLoader::RailsViewHelper
149
+ ```
150
+ in other frameworks that dont have a `javascript_include_tag`:
151
+ ```ruby
152
+ module MyProjectsViewThings
153
+ include OpalWebpackLoader::ViewHelper
154
+ ```
155
+
156
+ Then you can use in your views:
157
+ ```ruby
158
+ owl_script_tag('application.js')
159
+ ```
160
+ #### Compile Server and app_loader.rb
161
+ For non rails projects, determining Opal load paths, for the resolver and compile server to work properly, may not be obvious. For these cases
162
+ a file `app_loader.rb` in the projects root can be created which just loads all requirements without starting anything.
163
+ Usually it would just setup bundler with the appropriate options, for example:
164
+ ```ruby
165
+ require 'bundler/setup'
166
+ if ENV['RACK_ENV'] && ENV['RACK_ENV'] == 'test'
167
+ Bundler.require(:default, :test)
168
+ elsif ENV['RACK_ENV'] && ENV['RACK_ENV'] == 'production'
169
+ Bundler.require(:default, :production)
170
+ else
171
+ Bundler.require(:default, :development)
172
+ end
173
+ Opal.append_path(File.realdirpath('opal')) # this is a good place to add the directory with opal files to the opal load path
174
+ ```
175
+ When this file exists, the compile server will load it and generate Opal load paths accordingly for the resolver.
176
+
177
+ #### Project configuration options for the view helper
178
+ These setting are in the initializer in config/initializers/opal_webpack_loader.rb for rails like apps, or owl_init.rb for others.
179
+ ```ruby
180
+ OpalWebpackLoader.use_manifest = false
181
+ ```
182
+ If the manifest file should be used, use_manifest should be true.
183
+ ```ruby
184
+ OpalWebpackLoader.manifest_path = File.join(Dir.getwd, 'public', 'assets', 'manifest.json')
185
+ ```
186
+ Sets the path to the webpack (with the [webpack-manifest-plugin](https://www.npmjs.com/package/webpack-manifest-plugin)) generated manifest.json to look up assets.
187
+ ```ruby
188
+ OpalWebpackLoader.client_asset_path = 'http://localhost:3035/assets/'
189
+ ```
190
+ The path to prepend to the assets as configured in the webpack config 'publicPath'.
191
+ In the config example below its `publicPath: 'http://localhost:3025/assets'` so
192
+ client_asset_path should be set to the same.
193
+
194
+ For **production** use with readily precompiled and compressed assets which contain a fingerprint in the name (webpacks [chunkhash]),
195
+ and if the path in the manifest is the full path to the asset as configured in webpack,
196
+ these settings would work:
197
+ ```ruby
198
+ OpalWebpackLoader.use_manifest = true
199
+ OpalWebpackLoader.manifest_path = File.join(Dir.getwd, 'public', 'assets', 'manifest.json')
200
+ OpalWebpackLoader.client_asset_path = ''
201
+ ```
202
+
203
+ For **development** use with webpack-dev-server, with no manifest, these settings would work:
204
+ ```ruby
205
+ OpalWebpackLoader.use_manifest = false
206
+ OpalWebpackLoader.manifest_path = File.join(Dir.getwd, 'public', 'assets', 'manifest.json') # doesn't matter, not used
207
+ OpalWebpackLoader.client_asset_path = 'http://localhost:3035/assets/'
208
+ ```
209
+ ### Advanced Options
210
+ [Advanced Options](https://github.com/isomorfeus/opal-webpack-loader/blob/master/docs/advanced_options.md)
211
+ ### Tests
212
+ - clone the repo
213
+ - `bundle install`
214
+ - `bundle exec rspec`
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'digest'
3
- require 'open3'
4
3
  require 'oj'
5
4
  require 'c_lexer'
6
5
  require 'optparse'
data/bin/owl-compiler ADDED
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env ruby
2
+ require 'digest'
3
+ require 'oj'
4
+ require 'c_lexer'
5
+ require 'optparse'
6
+ require 'opal/paths'
7
+ require 'opal/source_map'
8
+ require 'opal/compiler'
9
+ require 'opal-webpack-loader/load_path_manager'
10
+
11
+ modules_to_require = []
12
+ compiler_options = {}
13
+ compile_server_options = {}
14
+
15
+ OptionParser.new do |opts|
16
+ opts.on('-r', '--require MODULE', 'Require the module before starting the compile server.') do |m|
17
+ modules_to_require << m
18
+ end
19
+
20
+ opts.on('-I', '--include DIR', 'Append a load path (may be used more than once)') do |i|
21
+ $:.unshift(File.expand_path(i))
22
+ end
23
+
24
+ opts.on('-d', '--dynamic-require-severity SEVERITY', 'Compiler option, one of: error, warning, ignore.') do |s|
25
+ if %w[error warning ignore].include?(s)
26
+ compiler_options[:dynamic_require_severity] = s.to_sym
27
+ end
28
+ end
29
+
30
+ opts.on('-t', '--true FLAG', 'Set compiler flag to true.' ) do |f|
31
+ compiler_options[f.to_sym] = true
32
+ end
33
+
34
+ opts.on('-f', '--false FLAG', 'Set compiler flag to false.' ) do |f|
35
+ compiler_options[f.to_sym] = false
36
+ end
37
+
38
+ opts.on('-l', '--load-paths-cache PATH', 'Path to load path cache json') do |l|
39
+ compile_server_options[:load_paths_cache] = l
40
+ end
41
+
42
+ opts.on('-s', '--source-file PATH', 'Path of the file to compile.') do |s|
43
+ compile_server_options[:source_file] = s
44
+ end
45
+
46
+ opts.on('-c', '--create-map', 'Create source map.') do
47
+ compiler_server_options[:source_map] = true
48
+ end
49
+
50
+ opts.on('-m', '--memcached URL', 'URL of memcached server. Will enable use of memcached for caching compiler results.') do |m|
51
+ require 'dalli'
52
+ compile_server_options[:memcached] = m
53
+ compile_server_options[:cache] = Dalli::Client.new(compile_server_options[:memchached])
54
+ end
55
+
56
+ opts.on('-e', '--redis URL', 'URL of redis server. Will enable use of redis for caching compiler results.') do |e|
57
+ require 'redis'
58
+ compile_server_options[:redis] = e
59
+ compile_server_options[:cache] = Redis.new(url: other_options[:redis])
60
+ end
61
+ end.parse!
62
+
63
+ modules_to_require.each do |mod|
64
+ require mod
65
+ end
66
+
67
+ load_paths = OpalWebpackLoader::LoadPathManager.read_load_paths_cache(compile_server_options[:load_paths_cache])
68
+ if load_paths
69
+ Opal.append_paths(*load_paths)
70
+ end
71
+
72
+ compile_source_map = compile_server_options[:source_map]
73
+ filename = compile_server_options[:source_file]
74
+ source = File.read(filename)
75
+ compiler_options.merge!(es6_modules: true)
76
+ compiler_options.merge!(file: filename)
77
+
78
+ begin
79
+ if compile_server_options[:cache]
80
+ source_digest = Digest::SHA1.hexdigest(source)
81
+ key = "owl_#{compiler_options_digest}_#{source_digest}_#{compile_source_map}"
82
+ result_json = compile_server_options[:cache].get(key)
83
+ STDOUT.puts result_json if result_json
84
+ end
85
+ c = Opal::Compiler.new(source, compiler_options)
86
+ result = { 'javascript' => c.compile }
87
+ if compile_source_map
88
+ result['source_map'] = c.source_map.as_json
89
+ result['source_map']['file'] = filename
90
+ end
91
+ result['required_trees'] = c.required_trees
92
+ result_json = Oj.dump(result, mode: :strict)
93
+ compile_server_options[:cache].set(key, result_json) if compile_server_options[:cache]
94
+ STDOUT.puts result_json
95
+ rescue Exception => e
96
+ STDOUT.puts Oj.dump({ 'error' => { 'name' => e.class.to_s, 'message' => e.message, 'backtrace' => e.backtrace.join("\n") } }, mode: :strict)
97
+ end
98
+
99
+
100
+
File without changes
data/bin/owl-install CHANGED
File without changes
@@ -39,10 +39,13 @@ OpalWebpackLoader.client_asset_path = 'http://localhost:3035/assets/'
39
39
  OpalWebpackLoader.use_manifest = false
40
40
 
41
41
  # TODO require yarn instead of npm
42
- # TODO don't depend on which for non unixes
43
- npm = `which npm`.chop
42
+ npm = if Gem.win_platform?
43
+ `where npm`.chop.lines.last
44
+ else
45
+ `which npm`.chop
46
+ end
44
47
 
45
- if npm != ''
48
+ if !npm.nil? && !npm.empty?
46
49
  bin_dir = `npm bin`.chop
47
50
  begin
48
51
  owl_npm_version = `#{File.join(bin_dir, 'opal-webpack-loader-npm-version')}`.chop
@@ -9,4 +9,6 @@ else
9
9
  OpalWebpackLoader.manifest_path = nil
10
10
  OpalWebpackLoader.use_manifest = false
11
11
  end
12
- <%= opal_load_path %>
12
+ <%= opal_load_path %>
13
+
14
+ Rails.autoloaders.main.ignore "#{__dir__}/../../app/opal" if Dir.exist? "#{__dir__}/../../app/opal"
@@ -9,18 +9,18 @@
9
9
  "production_build": "<%= production_script %>"
10
10
  },
11
11
  "devDependencies": {
12
- "compression-webpack-plugin": "^3.0.0",
13
- "css-loader": "^3.2.0",
12
+ "compression-webpack-plugin": "^5.0.2",
13
+ "css-loader": "^5.2.4",
14
14
  "extra-watch-webpack-plugin": "^1.0.3",
15
- "file-loader": "^5.0.2",
16
- "node-sass": "^4.13.0",
17
- "parallel-webpack": "^2.4.0",
18
- "sass-loader": "^8.0.0",
19
- "style-loader": "^1.0.0",
20
- "terser-webpack-plugin": "^2.2.1",
21
- "webpack": "^4.41.2",
22
- "webpack-assets-manifest": "^3.1.1",
23
- "webpack-cli": "^3.3.10",
24
- "webpack-dev-server": "^3.9.0"
15
+ "file-loader": "^6.2.0",
16
+ "node-sass": "^6.0.0",
17
+ "parallel-webpack": "^2.6.0",
18
+ "sass-loader": "^10.0.5",
19
+ "style-loader": "^2.0.0",
20
+ "terser-webpack-plugin": "^4.2.3",
21
+ "webpack": "^4.46.0",
22
+ "webpack-assets-manifest": "^4.0.6",
23
+ "webpack-cli": "^4.7.0",
24
+ "webpack-dev-server": "^3.11.2"
25
25
  }
26
26
  }
@@ -9,7 +9,7 @@ const common_config = {
9
9
  mode: "production",
10
10
  optimization: {
11
11
  minimize: true, // minimize
12
- minimizer: [new TerserPlugin({ parallel: true, cache: true })]
12
+ minimizer: [new TerserPlugin({ parallel: true })]
13
13
  },
14
14
  performance: {
15
15
  maxAssetSize: 20000000,
@@ -26,8 +26,8 @@ const common_config = {
26
26
  ]
27
27
  },
28
28
  plugins: [
29
- new CompressionPlugin({ test: /^((?!application_ssr).)*$/, cache: true }), // gzip compress, exclude application_ssr.js
30
- new WebpackAssetsManifest({ publicPath: true, merge: true }) // generate manifest
29
+ new CompressionPlugin({ test: /^((?!application_ssr).)*$/ }), // gzip compress, exclude application_ssr.js
30
+ new WebpackAssetsManifest({ publicPath: true, merge: true, output: 'manifest.json' }) // generate manifest
31
31
  ],
32
32
  module: {
33
33
  rules: [
@@ -1,3 +1,3 @@
1
- module OpalWebpackLoader
2
- VERSION="0.9.11"
3
- end
1
+ module OpalWebpackLoader
2
+ VERSION="0.10.0"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-webpack-loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-01 00:00:00.000000000 Z
11
+ date: 2021-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 3.7.0
61
+ version: 3.11.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 3.7.0
68
+ version: 3.11.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: redis
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 4.1.0
75
+ version: 4.2.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 4.1.0
82
+ version: 4.2.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: thor
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -142,28 +142,28 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 5.2.3
145
+ version: 6.1.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 5.2.3
152
+ version: 6.1.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: roda
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 3.19.0
159
+ version: 3.43.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 3.19.0
166
+ version: 3.43.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rspec
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 4.0.0
187
+ version: 5.3.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: 4.0.0
194
+ version: 5.3.0
195
195
  description: "Bundle assets with webpack, resolve and compile opal ruby files\nand
196
196
  import them in the bundle, without sprockets or the webpacker gem\n(but can be used
197
197
  with both of them too). \nComes with a installer for rails and other frameworks.\n"
@@ -200,11 +200,14 @@ executables:
200
200
  - opal-webpack-compile-server
201
201
  - owl-install
202
202
  - owl-gen-loadpath-cache
203
+ - owl-compiler
203
204
  extensions: []
204
205
  extra_rdoc_files: []
205
206
  files:
206
207
  - LICENSE
208
+ - README.md
207
209
  - bin/opal-webpack-compile-server
210
+ - bin/owl-compiler
208
211
  - bin/owl-gen-loadpath-cache
209
212
  - bin/owl-install
210
213
  - lib/opal-webpack-loader.rb
@@ -237,7 +240,7 @@ licenses:
237
240
  - MIT
238
241
  metadata:
239
242
  github_repo: ssh://github.com/isomorfeus/gems
240
- post_install_message:
243
+ post_install_message:
241
244
  rdoc_options: []
242
245
  require_paths:
243
246
  - lib
@@ -252,8 +255,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
252
255
  - !ruby/object:Gem::Version
253
256
  version: '0'
254
257
  requirements: []
255
- rubygems_version: 3.0.6
256
- signing_key:
258
+ rubygems_version: 3.2.15
259
+ signing_key:
257
260
  specification_version: 4
258
261
  summary: Bundle assets with webpack, resolve and compile opal ruby files and import
259
262
  them in the bundle.