opal-webpack-loader 0.11.0 → 0.11.4

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: 75cfc2e9527b252335ad359e1eb5c7aa476cec879ed76c4501b686a50f39b1f2
4
- data.tar.gz: b6d13eac5c5eaa0e3c46dfd15b8f59d01d59124f92608c741e93952c87bb04f6
3
+ metadata.gz: 6e7e5f3b220d06e291ef7a5805237d73c53b27313766b7891e0bc18a8b00ccc8
4
+ data.tar.gz: 5d1078190a7c4b286de96c8114e9692728b87f6063c558c7de5737e3513f4b0d
5
5
  SHA512:
6
- metadata.gz: c9edddd5f0a21625c5376dbf609e594a35bfe36ab84ca2fb804fa7f011093e8a45aa516530bb0dceceec4dcc069619dc0e7c31ceecfd3f68a5ad0c6caf39699f
7
- data.tar.gz: f21627293c524a6db7f7c53f89e83f13f77519597133c05dd992173b7d2cff05f0ab915cfe7eb8e52f036ce448f3905e572d75a2d345cefe93990ece36ad342b
6
+ metadata.gz: e4bd10876231791a4a9368212950c81e1b8f007daa895db6ae95d0c01571a3ea3672650e35bda7765c74b06e02000a1164deb264dc22980e413d290bae9cc3e4
7
+ data.tar.gz: 70ba5421ca317f15126577d6990d30d9b354ee1c6864b28518756d07d99b9df13a25912331fe67a8e6034a1d4f9fc40da5e8941cc2aa7402d21b5f540bedfefd
data/README.md CHANGED
@@ -23,7 +23,7 @@ At the [Isomorfeus Framework Project](http://isomorfeus.com)
23
23
  opal-webpack-loader-0.7.1 compiles all of opal, a bunch of gems and over 19000SLC on a
24
24
  Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8, with 8 workers in around 1850ms
25
25
  - support for memcached or redis as compiler cache
26
- - fast builds on windows too, parallel when building multiple assets with parallel webpack
26
+ - fast builds on windows too, parallel when building multiple assets with parallel-webpack
27
27
  - opal modules are packaged as es6 modules
28
28
  - support for rails with webpacker
29
29
  - other webpack features become available, like:
@@ -36,6 +36,7 @@ Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8, with 8 workers in around 1850ms
36
36
  - everything else webpack can do, like loading stylesheets, etc.
37
37
 
38
38
  ### Requirements
39
+ - npm or yarn
39
40
  - opal-webpack-loader consists of 2 parts, the npm package and the gem, both are required and must be the same version.
40
41
  - webpack ^4.46
41
42
  - webpack-dev-server ^3.11.0
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'digest'
3
3
  require 'oj'
4
- require 'c_lexer'
5
4
  require 'optparse'
6
5
  require 'opal/paths'
7
6
  require 'opal/source_map'
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'digest'
3
3
  require 'oj'
4
- require 'c_lexer'
5
4
  require 'optparse'
6
5
  require 'opal/paths'
7
6
  require 'opal/source_map'
@@ -64,6 +63,10 @@ modules_to_require.each do |mod|
64
63
  require mod
65
64
  end
66
65
 
66
+ def compiler_options_digest(compiler_options)
67
+ @compiler_options_digest ||= Digest::SHA1.hexdigest(Oj.dump(compiler_options, mode: :strict))
68
+ end
69
+
67
70
  def compile(request, cache, compiler_options)
68
71
  begin
69
72
  request_json = Oj.load(request.chop!, mode: :strict)
@@ -73,7 +76,7 @@ def compile(request, cache, compiler_options)
73
76
  source = File.read(filename)
74
77
  if cache
75
78
  source_digest = Digest::SHA1.hexdigest(source)
76
- key = "owl_#{compiler_options_digest}_#{source_digest}_#{compile_source_map}"
79
+ key = "owl_#{compiler_options_digest(compiler_options)}_#{source_digest}_#{compile_source_map}"
77
80
  result_json = cache.get(key)
78
81
  return result_json if result_json
79
82
  end
@@ -95,6 +98,7 @@ end
95
98
  if ARGV[0] == 'start'
96
99
  number_of_instances = ARGV[1].to_i
97
100
  number_of_instances == 4 if number_of_instances == 0
101
+ number_of_instances == 16 if number_of_instances > 16
98
102
  else
99
103
  raise 'arguments must be either "stop" or "start number_of_instances"'
100
104
  exit(1)
@@ -112,8 +116,7 @@ begin
112
116
  STDERR.puts "Exiting with drama."
113
117
  exit(0)
114
118
  else
115
- result = compile(request, cache, compiler_options)
116
- result
119
+ compile(request, cache, compiler_options)
117
120
  end
118
121
  end
119
122
  end.run
data/bin/owl-compiler CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'digest'
3
3
  require 'oj'
4
- require 'c_lexer'
5
4
  require 'optparse'
6
5
  require 'opal/paths'
7
6
  require 'opal/source_map'
@@ -73,19 +72,23 @@ compile_source_map = compile_server_options[:source_map]
73
72
  filename = compile_server_options[:source_file]
74
73
  source = File.read(filename)
75
74
  compiler_options.merge!(es6_modules: true)
76
- compiler_options.merge!(file: filename)
75
+
76
+ def compiler_options_digest(compiler_options)
77
+ @compiler_options_digest ||= Digest::SHA1.hexdigest(Oj.dump(compiler_options, mode: :strict))
78
+ end
77
79
 
78
80
  begin
79
81
  if compile_server_options[:cache]
80
82
  source_digest = Digest::SHA1.hexdigest(source)
81
- key = "owl_#{compiler_options_digest}_#{source_digest}_#{compile_source_map}"
83
+ key = "owl_#{compiler_options_digest(compiler_options)}_#{source_digest}_#{compile_source_map}"
82
84
  result_json = compile_server_options[:cache].get(key)
83
85
  if result_json
84
86
  STDOUT.puts result_json
85
87
  exit 0
86
88
  end
87
89
  end
88
- c = Opal::Compiler.new(source, compiler_options)
90
+
91
+ c = Opal::Compiler.new(source, compiler_options.merge(file: filename))
89
92
  result = { 'javascript' => c.compile }
90
93
  if compile_source_map
91
94
  result['source_map'] = c.source_map.as_json
@@ -38,27 +38,31 @@ OpalWebpackLoader.manifest_path = File.join(Dir.getwd, 'public', 'assets', 'mani
38
38
  OpalWebpackLoader.client_asset_path = 'http://localhost:3035/assets/'
39
39
  OpalWebpackLoader.use_manifest = false
40
40
 
41
- # TODO require yarn instead of npm
42
- npm = if Gem.win_platform?
43
- `where npm`.chop.lines.last
44
- else
45
- `which npm`.chop
46
- end
41
+ owl_npm_version = nil
42
+ begin
43
+ yarn = if Gem.win_platform?
44
+ `where yarn`.chop.lines.last.include?('yarn')
45
+ else
46
+ `which yarn`.chop.include?('yarn')
47
+ end
48
+ owl_npm_version = `yarn run -s opal-webpack-loader-npm-version`.chop if yarn
47
49
 
48
- if !npm.nil? && !npm.empty?
49
- bin_dir = `npm bin`.chop
50
- begin
51
- owl_npm_version = `#{File.join(bin_dir, 'opal-webpack-loader-npm-version')}`.chop
52
- rescue
53
- owl_npm_version = nil
50
+ unless owl_npm_version
51
+ npm = if Gem.win_platform?
52
+ `where npm`.chop.lines.last.include?('npm')
53
+ else
54
+ `which npm`.chop.include?('npm')
55
+ end
56
+ owl_npm_version = `npm exec opal-webpack-loader-npm-version`.chop if npm
54
57
  end
58
+ rescue
59
+ owl_npm_version = nil
60
+ end
55
61
 
56
- if owl_npm_version != OpalWebpackLoader::VERSION
57
- STDERR.puts "opal-webpack-loader: Incorrect version of npm package found or npm package not installed.\n" +
58
- "Please install the npm package for opal-webpack-loader:\n" +
59
- "\twith npm:\tnpm install opal-webpack-loader@#{OpalWebpackLoader::VERSION}\n" +
60
- "\tor with yarn:\tyarn add opal-webpack-loader@#{OpalWebpackLoader::VERSION}\n"
61
- end
62
- else
63
- STDERR.puts "opal-webpack-loader: Unable to check npm package version. Please check your npm installation."
62
+ if owl_npm_version != OpalWebpackLoader::VERSION
63
+ STDERR.puts "opal-webpack-loader: Incorrect version of npm package found or npm package not installed.\n" +
64
+ "Please install the npm package for opal-webpack-loader:\n" +
65
+ "\twith npm:\tnpm install opal-webpack-loader@#{OpalWebpackLoader::VERSION}\n" +
66
+ "\tor with yarn:\tyarn add opal-webpack-loader@#{OpalWebpackLoader::VERSION}\n"
64
67
  end
68
+
@@ -99,26 +99,25 @@ const common_config = {
99
99
  devServer: {
100
100
  <%= dev_server_before %>
101
101
  open: false,
102
- lazy: false,
103
102
  port: 3035,
104
103
  hot: true,
105
- // hotOnly: true,
106
- inline: true,
107
104
  https: false,
108
- disableHostCheck: true,
105
+ allowedHosts: 'all',
109
106
  headers: {
110
107
  "Access-Control-Allow-Origin": "*",
111
108
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
112
109
  "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
113
110
  },
114
- watchOptions: {
115
- // in case of problems with hot reloading uncomment the following two lines:
116
- // aggregateTimeout: 250,
117
- // poll: 50,
111
+ static: {
112
+ directory: path.resolve(__dirname, 'public'),
113
+ watch: {
114
+ // in case of problems with hot reloading uncomment the following two lines:
115
+ // aggregateTimeout: 250,
116
+ // poll: 50,
118
117
  ignored: /\bnode_modules\b/
118
+ }
119
119
  },
120
- contentBase: path.resolve(__dirname, 'public'),
121
- useLocalIp: false
120
+ host: 'local-ip'
122
121
  }
123
122
  };
124
123
 
@@ -84,26 +84,25 @@ const common_config = {
84
84
  devServer: {
85
85
  <%= dev_server_before %>
86
86
  open: false,
87
- lazy: false,
88
87
  port: 3035,
89
- hot: true,
90
- // hotOnly: true,
91
- inline: true,
88
+ hot: false,
92
89
  https: false,
93
- disableHostCheck: true,
90
+ allowedHosts: 'all',
94
91
  headers: {
95
92
  "Access-Control-Allow-Origin": "*",
96
93
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
97
94
  "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
98
95
  },
99
- watchOptions: {
100
- // in case of problems with hot reloading uncomment the following two lines:
101
- // aggregateTimeout: 250,
102
- // poll: 50,
96
+ static: {
97
+ directory: path.resolve(__dirname, 'public'),
98
+ watch: {
99
+ // in case of problems with hot reloading uncomment the following two lines:
100
+ // aggregateTimeout: 250,
101
+ // poll: 50,
103
102
  ignored: /\bnode_modules\b/
103
+ }
104
104
  },
105
- contentBase: path.resolve(__dirname, 'public'),
106
- useLocalIp: false
105
+ host: 'local-ip'
107
106
  }
108
107
  };
109
108
 
@@ -21,6 +21,6 @@
21
21
  "webpack": "^4.46.0",
22
22
  "webpack-assets-manifest": "^4.0.6",
23
23
  "webpack-cli": "^4.7.0",
24
- "webpack-dev-server": "^3.11.2"
24
+ "webpack-dev-server": "^4.0.0-rc.0"
25
25
  }
26
26
  }
@@ -1,3 +1,3 @@
1
1
  module OpalWebpackLoader
2
- VERSION="0.11.0"
2
+ VERSION="0.11.4"
3
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.11.0
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-25 00:00:00.000000000 Z
11
+ date: 2021-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: c_lexer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: dalli
43
29
  requirement: !ruby/object:Gem::Requirement