webpacker_lite 0.0.5 → 1.0.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
  SHA1:
3
- metadata.gz: 2f0469eadde12c4a8d39d83f413319838a5f7f25
4
- data.tar.gz: d5acc328df7ff1453b85fe5ffd1eeee4cb543dc9
3
+ metadata.gz: b8639e91747db6f8fdcc978cb2ec8e454d0a01b7
4
+ data.tar.gz: 1b4a93698db3a570369886138c1adb58673c2f58
5
5
  SHA512:
6
- metadata.gz: 7387488ad990a6bb23b8598e3023ff68d398b08b7352fb276cb792b4528cfd4943b12400dd1af999d86bd1ca54a7fae6640cc8c0403039bdd088ec5b9690f222
7
- data.tar.gz: 04eaa505cc7645645c14b051002cdace7604dd227c2934979aadbe964449be8608e6ff2570efb6396026f2b85145bf4a3a5085e37de73c27630369dcb2551fe6
6
+ metadata.gz: 73409d286c0497e8086904233a8cf6301438983f890664c44c452f8114611c592ba64959e2e188ba332f17beedc28af62698e7d7ff98e8a844e98b660e805638
7
+ data.tar.gz: d8744e4cb8ea2626877f54e4cb49869a5185186af1a4d1f3e11717285dd17d3d7c244d9fe8dd19249e5d17f97e7915440ae0b96b38ca459a1b3d4f98212f3e5d
data/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Change Log
2
+ All notable changes to this project's source code will be documented in this file. Items under `Unreleased` is upcoming features that will be out in next version. NOTE: major versions of the npm module and the gem must be kept in sync.
3
+
4
+ Contributors: please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
5
+
6
+ ## [Unreleased]
7
+ *Please add entries here for your pull requests.*
8
+
9
+ ## [1.0.0] - 2017-05-03
10
+ Initial release
11
+
12
+ [Unreleased]: https://github.com/shakacode/webpacker_lite/compare/1.0.0...master
13
+ [1.0.0]: https://github.com/shakacode/react_on_rails/compare/0.0.5...1.0.0
data/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
  [![Gem](https://img.shields.io/gem/v/webpacker_lite.svg)](https://github.com/shakacode/webpacker_lite)
3
3
 
4
4
  Webpacker Lite provides the webpack enabled asset helpers from [Webpacker](https://github.com/rails/webpacker).
5
- [React on Rails](https://github.com/shakacode/react_on_rails) will soon support using Webpacker Lite.
5
+ [React on Rails](https://github.com/shakacode/react_on_rails) will soon support using Webpacker Lite,
6
+ including other optimizations for [React on Rails](https://github.com/shakacode/react_on_rails)
6
7
 
7
8
  # NEWS
8
9
  * 2017-04-09: React on Rails 7.0.0 beta work to include webpacker_lite gem has begun. See [#786](https://github.com/shakacode/react_on_rails/issues/786
@@ -17,6 +18,8 @@ Webpacker Lite provides the webpack enabled asset helpers from [Webpacker](https
17
18
  WebpackerLite is currently compatible with Rails 4.2+, but there's no guarantee it will still be
18
19
  in the future.
19
20
 
21
+ The best way to see the installation of webpacker_lite is to use the generator for React on Rails 7.1.0 or greater.
22
+
20
23
  ## Overview
21
24
 
22
25
  1. Configure the location of your Webpack output in the `config/webpack/paths.yml` file.
@@ -31,6 +34,23 @@ in the future.
31
34
  <%= stylesheet_pack_tag 'main' %>
32
35
  ```
33
36
 
37
+ ## Rake Tasks
38
+
39
+ ### Examples
40
+
41
+ To see available webpacker_lite rake tasks:
42
+
43
+ ```
44
+ rake webpacker_lite
45
+ ```
46
+
47
+ If you are using different directories for the output paths per RAILS_ENV, this is how you'd delete the files created for tests:
48
+ ```
49
+ RAILS_ENV=test rake webpacker_lite:clobber
50
+ ```
51
+
52
+
53
+
34
54
  ## Hot Reloading Config
35
55
  Similary, you can also control and configure `webpack-dev-server` settings from
36
56
  `config/webpack/development.server.yml` file
@@ -1,9 +1,8 @@
1
1
  tasks = {
2
- "webpacker_lite:install" => "Installs and setup webpack with yarn",
3
- "webpacker_lite:compile" => "Compiles webpack bundles based on environment",
2
+ "webpacker_lite:clobber" => "Remove the webpack compiled output directory as defined in config/webpack/paths.yml",
4
3
  "webpacker_lite:check_node" => "Verifies if Node.js is installed",
5
4
  "webpacker_lite:check_yarn" => "Verifies if yarn is installed",
6
- "webpacker_lite:verify_install" => "Verifies if webpacker is installed",
5
+ "webpacker_lite:verify_install" => "Verifies if webpacker is installed"
7
6
  }.freeze
8
7
 
9
8
  desc "Lists all available tasks in webpacker_lite"
@@ -0,0 +1,17 @@
1
+ require "webpacker_lite/configuration"
2
+
3
+ namespace :webpacker_lite do
4
+ desc "Remove the webpack compiled output directory as defined in config/webpack/paths.yml"
5
+ task clobber: ["webpacker_lite:verify_install", :environment] do
6
+ output_path = WebpackerLite::Configuration.output_path
7
+ FileUtils.rm_r(output_path) if File.exist?(output_path)
8
+ puts "Removed webpack output path directory #{output_path}"
9
+ end
10
+ end
11
+
12
+ # Run clobber if the assets:clobber is run
13
+ if Rake::Task.task_defined?("assets:clobber")
14
+ Rake::Task["assets:clobber"].enhance do
15
+ Rake::Task["webpacker:clobber"].invoke
16
+ end
17
+ end
@@ -16,7 +16,7 @@ class WebpackerLite::Manifest < WebpackerLite::FileLoader
16
16
  end
17
17
 
18
18
  def lookup(name)
19
- load if WebpackerLite::Env.development?
19
+ load if WebpackerLite::Env.development? || instance.data.empty?
20
20
  raise WebpackerLite::FileLoader::FileLoaderError.new("WebpackerLite::Manifest.load must be called first") unless instance
21
21
  instance.data[name.to_s] || raise(WebpackerLite::FileLoader::NotFoundError.new("Can't find #{name} in #{file_path}. Is webpack still compiling?"))
22
22
  end
@@ -8,6 +8,10 @@ class WebpackerLite::Engine < ::Rails::Engine
8
8
  ActionController::Base.helper WebpackerLite::Helper
9
9
  end
10
10
 
11
+ ActiveSupport.on_load :action_view do
12
+ include WebpackerLite::Helper
13
+ end
14
+
11
15
  WebpackerLite.bootstrap
12
16
  Spring.after_fork { WebpackerLite.bootstrap } if defined?(Spring)
13
17
  end
@@ -1,3 +1,3 @@
1
1
  module WebpackerLite
2
- VERSION = "0.0.5".freeze
2
+ VERSION = "1.0.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpacker_lite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson, Justin Gordon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-14 00:00:00.000000000 Z
11
+ date: 2017-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -75,18 +75,16 @@ files:
75
75
  - ".gitignore"
76
76
  - ".rubocop.yml"
77
77
  - ".travis.yml"
78
+ - CHANGELOG.md
78
79
  - Gemfile
79
80
  - Gemfile.lock
80
81
  - MIT-LICENSE
81
82
  - README.md
82
83
  - Rakefile
83
- - lib/install/config/webpack/development.server.yml
84
- - lib/install/config/webpack/paths.yml
85
- - lib/install/template.rb
86
84
  - lib/tasks/webpacker.rake
87
85
  - lib/tasks/webpacker_lite/check_node.rake
88
86
  - lib/tasks/webpacker_lite/check_yarn.rake
89
- - lib/tasks/webpacker_lite/install.rake
87
+ - lib/tasks/webpacker_lite/clobber.rake
90
88
  - lib/tasks/webpacker_lite/verify_install.rake
91
89
  - lib/webpacker_lite.rb
92
90
  - lib/webpacker_lite/configuration.rb
@@ -1,16 +0,0 @@
1
- # Restart webpack-dev-server if you make changes here
2
- default: &default
3
- enabled: true
4
- host: localhost
5
- port: 8080
6
-
7
- development:
8
- <<: *default
9
-
10
- test:
11
- <<: *default
12
- enabled: false
13
-
14
- production:
15
- <<: *default
16
- enabled: false
@@ -1,31 +0,0 @@
1
- # Restart webpack-watcher or webpack-dev-server if you make changes here
2
- default: &default
3
- config: config/webpack
4
- entry: packs
5
- output: public
6
- manifest: manifest.json
7
- node_modules: node_modules
8
- source: app/javascript
9
- extensions:
10
- - .coffee
11
- - .js
12
- - .jsx
13
- - .ts
14
- - .vue
15
- - .sass
16
- - .scss
17
- - .css
18
- - .png
19
- - .svg
20
- - .gif
21
- - .jpeg
22
-
23
- development:
24
- <<: *default
25
-
26
- test:
27
- <<: *default
28
- manifest: manifest-test.json
29
-
30
- production:
31
- <<: *default
@@ -1,10 +0,0 @@
1
- # Install webpacker
2
-
3
- puts "Copying webpack core config and loaders"
4
- directory "#{__dir__}/config/webpack", "config/webpack"
5
-
6
- append_to_file ".gitignore", <<-EOS
7
- /public/webpack
8
- EOS
9
-
10
- puts "Webpacker Lite successfully installed 🎉 🍰"
@@ -1,12 +0,0 @@
1
- WEBPACKER_APP_TEMPLATE_PATH = File.expand_path("../../install/template.rb", __dir__)
2
-
3
- namespace :webpacker_lite do
4
- desc "Install webpacker lite in this application"
5
- task install: [:check_node, :check_yarn] do
6
- if Rails::VERSION::MAJOR >= 5
7
- exec "./bin/rails app:template LOCATION=#{WEBPACKER_APP_TEMPLATE_PATH}"
8
- else
9
- exec "./bin/rake rails:template LOCATION=#{WEBPACKER_APP_TEMPLATE_PATH}"
10
- end
11
- end
12
- end