browserify-rails 2.1.0 → 2.2.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: 23f0a0342f7acba4c60dbb7e5d758713dad4edf9
4
- data.tar.gz: 49f6c7c5d5f940270d34d0136039c8ecbfa8a2f0
3
+ metadata.gz: 1456362e68e89aa18bc17a329fc87cd91d675e9b
4
+ data.tar.gz: 343f2a728f65649c3c0bf7c985b11b4c09d9af55
5
5
  SHA512:
6
- metadata.gz: 8d670e6ee82fbb6af5dea6b966d6409f2598caf0f1347fc970d6be2445c9cb581930ba98d350ed4e8e91a57c1284a7ca20ad3f7b1bcd3e155895a2130666e990
7
- data.tar.gz: 4e651ad7ab99cf329020a07be46824b016302235ea47febd7f60edac98238251e218937e7f3b2be9435332b43f8417ec31e8e2a6b94dc8ff168fcd7df2b4712a
6
+ metadata.gz: ace2902286d3ceefb7e4ab203749fd6dff9a3d78746106c0ca55b0a71c04f71955239464404354a892baa40b19b1ef7c5c9e0585823392db4f001b03a727e979
7
+ data.tar.gz: 5ca9d321b84f33e754839cd84621da22beffdf0345bd3190c5fd7ac8144d0a4565ee2d51de2c975081909f134711dbab07554dce43271f15291b2988f14adf9a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file going forward.
3
3
 
4
+ ## [2.2.0] - 2016-01-01
5
+ - fix another dependency issue impacting cache invalidation (see PR #131)
6
+
4
7
  ## [2.1.0] - 2015-12-26
5
8
  - fix some dependency issues (see PR #130)
6
9
 
@@ -23,6 +23,9 @@ module BrowserifyRails
23
23
  self.data = input[:data]
24
24
  self.file = input[:filename]
25
25
 
26
+ # Clear the cached dependencies because the source file changes
27
+ @dependencies = nil
28
+
26
29
  ensure_tmp_dir_exists!
27
30
  ensure_commands_exist!
28
31
 
@@ -129,11 +132,6 @@ module BrowserifyRails
129
132
 
130
133
  # @return [<String>] Paths of files, that this file depends on
131
134
  def dependencies
132
- if (@dependencies_source_file != file)
133
- @dependencies = nil
134
- @dependencies_source_file = file
135
- end
136
-
137
135
  @dependencies ||= begin
138
136
  # We forcefully run browserify (avoiding browserifyinc) with the --list
139
137
  # option to get a list of files.
@@ -1,3 +1,3 @@
1
1
  module BrowserifyRails
2
- VERSION = "2.1.0"
2
+ VERSION = "2.2.0"
3
3
  end
@@ -10,11 +10,12 @@ class BrowserifyTest < ActionDispatch::IntegrationTest
10
10
  end
11
11
 
12
12
  setup do
13
- Rails.application.assets.cache = Sprockets::Cache::MemoryStore.new
14
-
15
13
  # Reset config on each run
16
14
  Dummy::Application.config.browserify_rails.force = false
17
15
 
16
+ # Reset the cache
17
+ Rails.application.assets.cache = Sprockets::Cache::MemoryStore.new
18
+ BrowserifyRails::BrowserifyProcessor.instance.instance_variable_set(:@dependencies, nil)
18
19
  cache_file = File.join(Rails.root, "tmp/cache/browserify-rails/browserifyinc-cache.json")
19
20
  File.delete(cache_file) if File.exists?(cache_file)
20
21
 
@@ -130,6 +131,34 @@ class BrowserifyTest < ActionDispatch::IntegrationTest
130
131
  assert_equal expected_output, @response.body.strip
131
132
  end
132
133
 
134
+ test "asset pipeline should regenerate application.js when the dependencies change and the new required file updates" do
135
+
136
+ get "/assets/application.js"
137
+
138
+ # Ensure that Sprockets can detect the change to the file modification time
139
+ sleep 1
140
+
141
+ # The dependencies of application.js change
142
+ File.open(File.join(Rails.root, "app/assets/javascripts/application.js"), "w+") do |f|
143
+ f.puts "var library = require('./a_huge_library.js');"
144
+ end
145
+
146
+ get "/assets/application.js"
147
+
148
+ assert_response :success
149
+ assert_match "\"THIS IS A HUGE LIBRARY\"", @response.body.strip
150
+
151
+ # The new required js file updates
152
+ File.open(File.join(Rails.root, "app/assets/javascripts/a_huge_library.js"), "w+") do |f|
153
+ f.puts "module.exports = \"THIS IS A HUGE LIBRARY 2\""
154
+ end
155
+
156
+ get "/assets/application.js"
157
+
158
+ assert_response :success
159
+ assert_match "\"THIS IS A HUGE LIBRARY 2\"", @response.body.strip
160
+ end
161
+
133
162
  test "browserifies coffee files after they have been compiled to JS" do
134
163
  expected_output = fixture("mocha.js")
135
164
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browserify-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henry Hsu, Cymen Vig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-27 00:00:00.000000000 Z
11
+ date: 2016-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -326,4 +326,3 @@ test_files:
326
326
  - test/fixtures/require_in_a_comment.js
327
327
  - test/fixtures/secondary.out.js
328
328
  - test/test_helper.rb
329
- has_rdoc: