webpack-rails 0.9.9 → 0.9.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -1
- data/example/package.json +3 -3
- data/lib/generators/webpack_rails/install_generator.rb +2 -2
- data/lib/tasks/webpack.rake +1 -1
- data/lib/webpack/rails/manifest.rb +6 -2
- data/lib/webpack/rails/version.rb +1 -1
- data/lib/webpack/railtie.rb +4 -2
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d76732ad3ef23985457b10deac1256897b760c1c
|
4
|
+
data.tar.gz: 210e16a7fbac05a2ae55d1b65429d6b815d8d469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6699ca844fd6634ba50bfef7503e7356133f4bd43b8ea9e1b5e938eb6c8ef7a25f5a53ed0ed44d019192ba9bffa3033e3596e190728201550b5cfe876da68a0e
|
7
|
+
data.tar.gz: baa696f3ad7da465eae27ae318c8ef5a08f9bf463c0af5c11ec1c501fc3013de0f69566df92f2b7c5f61513f909cf0599d920b4ad496d13b889f7dc43091c442
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
**webpack-rails** gives you tools to integrate Webpack in to an existing Ruby on Rails application.
|
6
6
|
|
7
|
-
It will happily co-exist with sprockets but does not use it for production fingerprinting or asset serving. **webpack-rails** is designed with the assumption that if you're using Webpack you treat Javascript as a first-class citizen. This means that you control the webpack config, package.json, and use
|
7
|
+
It will happily co-exist with sprockets but does not use it for production fingerprinting or asset serving. **webpack-rails** is designed with the assumption that if you're using Webpack you treat Javascript as a first-class citizen. This means that you control the webpack config, package.json, and use yarn to install Webpack & its plugins.
|
8
8
|
|
9
9
|
In development mode [webpack-dev-server](http://webpack.github.io/docs/webpack-dev-server.html) is used to serve webpacked entry points and offer hot module reloading. In production entry points are built in to `public/webpack`. **webpack-rails** uses [stats-webpack-plugin](https://www.npmjs.com/package/stats-webpack-plugin) to translate entry points in to asset paths.
|
10
10
|
|
@@ -20,6 +20,7 @@ This gem has been tested against Rails 4.2 and Ruby 2.2. Earlier versions of Rai
|
|
20
20
|
|
21
21
|
### Installation
|
22
22
|
|
23
|
+
1. Install [yarn](https://yarnpkg.com/en/docs/install) if you haven't already
|
23
24
|
1. Add `webpack-rails` to your gemfile
|
24
25
|
1. Run `bundle install` to install the gem
|
25
26
|
1. Run `bundle exec rails generate webpack_rails:install` to copy across example files
|
data/example/package.json
CHANGED
@@ -40,8 +40,8 @@ module WebpackRails
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
44
|
-
run "
|
43
|
+
def run_yarn_install
|
44
|
+
run "yarn install" if yes?("Would you like us to run 'yarn install' for you?")
|
45
45
|
end
|
46
46
|
|
47
47
|
def run_bundle_install
|
data/lib/tasks/webpack.rake
CHANGED
@@ -2,7 +2,7 @@ namespace :webpack do
|
|
2
2
|
desc "Compile webpack bundles"
|
3
3
|
task compile: :environment do
|
4
4
|
ENV["TARGET"] = 'production' # TODO: Deprecated, use NODE_ENV instead
|
5
|
-
ENV["NODE_ENV"]
|
5
|
+
ENV["NODE_ENV"] ||= 'production'
|
6
6
|
webpack_bin = ::Rails.root.join(::Rails.configuration.webpack.binary)
|
7
7
|
config_file = ::Rails.root.join(::Rails.configuration.webpack.config_file)
|
8
8
|
|
@@ -26,7 +26,7 @@ module Webpack
|
|
26
26
|
class << self
|
27
27
|
# :nodoc:
|
28
28
|
def asset_paths(source)
|
29
|
-
raise WebpackError, manifest["errors"]
|
29
|
+
raise WebpackError, manifest["errors"] unless manifest_bundled?
|
30
30
|
|
31
31
|
paths = manifest["assetsByChunkName"][source]
|
32
32
|
if paths
|
@@ -42,6 +42,10 @@ module Webpack
|
|
42
42
|
|
43
43
|
private
|
44
44
|
|
45
|
+
def manifest_bundled?
|
46
|
+
!manifest["errors"].any? { |error| error.include? "Module build failed" }
|
47
|
+
end
|
48
|
+
|
45
49
|
def manifest
|
46
50
|
if ::Rails.configuration.webpack.dev_server.enabled
|
47
51
|
# Don't cache if we're in dev server mode, manifest may change ...
|
@@ -66,7 +70,7 @@ module Webpack
|
|
66
70
|
port = ::Rails.configuration.webpack.dev_server.manifest_port
|
67
71
|
http = Net::HTTP.new(host, port)
|
68
72
|
http.use_ssl = ::Rails.configuration.webpack.dev_server.https
|
69
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
73
|
+
http.verify_mode = ::Rails.configuration.webpack.dev_server.https_verify_peer ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE
|
70
74
|
http.get(dev_server_path).body
|
71
75
|
rescue => e
|
72
76
|
raise ManifestLoadError.new("Could not load manifest from webpack-dev-server at http://#{host}:#{port}#{dev_server_path} - is it running, and is stats-webpack-plugin loaded?", e)
|
data/lib/webpack/railtie.rb
CHANGED
@@ -30,9 +30,11 @@ module Webpack
|
|
30
30
|
config.webpack.dev_server.manifest_host = 'localhost'
|
31
31
|
config.webpack.dev_server.manifest_port = 3808
|
32
32
|
|
33
|
-
config.webpack.dev_server.https = false
|
33
|
+
config.webpack.dev_server.https = false
|
34
|
+
# Below will default to 'true' in 1.0 release
|
35
|
+
config.webpack.dev_server.https_verify_peer = false
|
34
36
|
config.webpack.dev_server.binary = 'node_modules/.bin/webpack-dev-server'
|
35
|
-
config.webpack.dev_server.enabled =
|
37
|
+
config.webpack.dev_server.enabled = ::Rails.env.development? || ::Rails.env.test?
|
36
38
|
|
37
39
|
config.webpack.output_dir = "public/webpack"
|
38
40
|
config.webpack.public_path = "webpack"
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webpack-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Pearson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: railties
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.2.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.2.0
|
27
41
|
description: Production-tested, JavaScript-first tooling to use webpack within your
|
28
42
|
Rails application
|
29
43
|
email:
|