browserify-rails 2.0.3 → 2.1.0
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 +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +15 -0
- data/lib/browserify-rails/browserify_processor.rb +8 -0
- data/lib/browserify-rails/version.rb +1 -1
- data/test/compilation_test.rb +4 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23f0a0342f7acba4c60dbb7e5d758713dad4edf9
|
4
|
+
data.tar.gz: 49f6c7c5d5f940270d34d0136039c8ecbfa8a2f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d670e6ee82fbb6af5dea6b966d6409f2598caf0f1347fc970d6be2445c9cb581930ba98d350ed4e8e91a57c1284a7ca20ad3f7b1bcd3e155895a2130666e990
|
7
|
+
data.tar.gz: 4e651ad7ab99cf329020a07be46824b016302235ea47febd7f60edac98238251e218937e7f3b2be9435332b43f8417ec31e8e2a6b94dc8ff168fcd7df2b4712a
|
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.1.0] - 2015-12-26
|
5
|
+
- fix some dependency issues (see PR #130)
|
6
|
+
|
4
7
|
## [2.0.3] - 2015-12-18
|
5
8
|
- detection of CommonJS (require(.*)) now more stringent
|
6
9
|
- update README about 2.x and react-rails
|
data/README.md
CHANGED
@@ -54,6 +54,21 @@ var foo = require('./foo');
|
|
54
54
|
console.log(foo(12));
|
55
55
|
```
|
56
56
|
|
57
|
+
#### Gotchas with `require` and `module.exports`
|
58
|
+
|
59
|
+
Do not put `module.exports` or `require()` in JavaScript comments or strings.
|
60
|
+
Doing so will certainly cause issues with compilation that are difficult to
|
61
|
+
track down.
|
62
|
+
|
63
|
+
This happens because browserify-rails works by parsing your JavaScript files for
|
64
|
+
these keywords that indicate whether it is a module, or is requiring a module.
|
65
|
+
If a file meets one of these criteria, browserify will compile the modules as
|
66
|
+
expected.
|
67
|
+
|
68
|
+
Because browserify-rails is working within the restraints of Ruby/Sprockets, the
|
69
|
+
parsing is done by Ruby and therefore does not know whether it is a JavaScript
|
70
|
+
string, comment, or function.
|
71
|
+
|
57
72
|
## CoffeeScript
|
58
73
|
|
59
74
|
For CoffeeScript support, make sure to follow the standard rails
|
@@ -34,6 +34,9 @@ module BrowserifyRails
|
|
34
34
|
# Signal dependencies to sprockets to ensure we track changes
|
35
35
|
evaluate_dependencies(input[:environment].paths).each do |path|
|
36
36
|
resolved = input[:environment].resolve(path)
|
37
|
+
if config.evaluate_node_modules && !resolved
|
38
|
+
resolved = path
|
39
|
+
end
|
37
40
|
dependencies << "file-digest://#{resolved}" if resolved
|
38
41
|
end
|
39
42
|
|
@@ -126,6 +129,11 @@ module BrowserifyRails
|
|
126
129
|
|
127
130
|
# @return [<String>] Paths of files, that this file depends on
|
128
131
|
def dependencies
|
132
|
+
if (@dependencies_source_file != file)
|
133
|
+
@dependencies = nil
|
134
|
+
@dependencies_source_file = file
|
135
|
+
end
|
136
|
+
|
129
137
|
@dependencies ||= begin
|
130
138
|
# We forcefully run browserify (avoiding browserifyinc) with the --list
|
131
139
|
# option to get a list of files.
|
data/test/compilation_test.rb
CHANGED
@@ -10,7 +10,7 @@ class BrowserifyTest < ActionDispatch::IntegrationTest
|
|
10
10
|
end
|
11
11
|
|
12
12
|
setup do
|
13
|
-
Rails.application.assets.cache =
|
13
|
+
Rails.application.assets.cache = Sprockets::Cache::MemoryStore.new
|
14
14
|
|
15
15
|
# Reset config on each run
|
16
16
|
Dummy::Application.config.browserify_rails.force = false
|
@@ -82,6 +82,9 @@ class BrowserifyTest < ActionDispatch::IntegrationTest
|
|
82
82
|
test "asset pipeline should regenerate application.js when foo.js changes" do
|
83
83
|
expected_output = fixture("application.out.js")
|
84
84
|
|
85
|
+
# get another js file before applciation.js to check that it appropriately clears the cached dependencies
|
86
|
+
get "/assets/main.js"
|
87
|
+
|
85
88
|
get "/assets/application.js"
|
86
89
|
|
87
90
|
assert_response :success
|
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.0
|
4
|
+
version: 2.1.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-
|
11
|
+
date: 2015-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -326,3 +326,4 @@ 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:
|