browserify-rails 0.9.3 → 1.0.0b

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: 7f9e37a33cb04145996240865debf9ea327d1feb
4
- data.tar.gz: bcee606ba1195f4147ee10d698063cb3d926c919
3
+ metadata.gz: 7c8103ff1e727b4eee4db86c1ae36f900e548d20
4
+ data.tar.gz: d2653f2f4c937bee245287349e9fa9f90bf03649
5
5
  SHA512:
6
- metadata.gz: aaa4a37b369a164fd6db990c0a57b1ae8e39cbaddf182f19b42551dee0a9a6b18f8acb9aeba457ef325a22c4efbb584519300cecf29ece3368fecf66f8f92128
7
- data.tar.gz: 5a198d7ea6c81f0f053c039929a88db67522c0816943701016538e7b7466485e46db96fc6ed5d69fe436c1d69fe3552d0b7973a28ad420e8e2a4056220c05b5c
6
+ metadata.gz: 3ec483f2f43910396a4540b14097cecbf698fe01234205e2154aa60782dea6778e5e4beecce3c3579ae725f9a7ae5529ce5d5bb85f666004f8c13c47d253f8ce
7
+ data.tar.gz: e966c041ea4b9eb93feeaf5ebb66ef81b81064db1f1635787d0c5f9fa50b9cb1aafeffa6648584dd0f242f826387c75f0b67b3c5c3ae86ec52e4b3d1587febfe
@@ -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
+ ## [1.0.0b] - 2015-06-03
5
+ - update dependencies to be compatible with sass-rails and more...
6
+
4
7
  ## [0.9.3] - 2015-06-03
5
8
  - allow parentheses in path names
6
9
  - support for piping output through Exorcist to extract sourcemaps
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # browserify-rails
2
2
 
3
3
  [![Join the chat at https://gitter.im/browserify-rails/browserify-rails](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/browserify-rails/browserify-rails?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
- [![Build Status](https://travis-ci.org/browserify-rails/browserify-rails.svg?branch=master)](https://travis-ci.org/browserify-rails/browserify-rails)
5
4
  [![Gem Version](https://badge.fury.io/rb/browserify-rails.svg)](http://badge.fury.io/rb/browserify-rails)
6
5
 
7
6
  This library adds CommonJS module support to Sprockets (via Browserify).
@@ -18,13 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "sprockets", "~> 2.2"
22
21
 
23
- spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_runtime_dependency "railties", ">= 4.0.0", "< 5.0"
23
+
24
+ spec.add_development_dependency "bundler", ">= 1.3"
24
25
  spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rails", "~> 3.2"
26
+ spec.add_development_dependency "rails"
26
27
  spec.add_development_dependency "coffee-rails"
27
28
  spec.add_development_dependency "mocha"
28
29
  spec.add_development_dependency "pry"
29
30
  spec.add_development_dependency "test-unit"
31
+ spec.add_development_dependency "tilt"
30
32
  end
@@ -1,3 +1,4 @@
1
+ require "tilt"
1
2
  require "open3"
2
3
  require "fileutils"
3
4
  require "tempfile"
@@ -5,6 +6,13 @@ require "shellwords"
5
6
 
6
7
  module BrowserifyRails
7
8
  class BrowserifyProcessor < Tilt::Template
9
+ attr_accessor :config
10
+
11
+ def initialize(template)
12
+ self.config = Rails.application.config.browserify_rails
13
+ super(template)
14
+ end
15
+
8
16
  def prepare
9
17
  ensure_tmp_dir_exists!
10
18
  ensure_commands_exist!
@@ -24,10 +32,6 @@ module BrowserifyRails
24
32
 
25
33
  private
26
34
 
27
- def config
28
- Rails.application.config.browserify_rails
29
- end
30
-
31
35
  def tmp_path
32
36
  @tmp_path ||= Rails.root.join("tmp", "cache", "browserify-rails").freeze
33
37
  end
@@ -1,3 +1,5 @@
1
+ require "yaml"
2
+
1
3
  module BrowserifyRails
2
4
  class Railtie < Rails::Engine
3
5
  config.browserify_rails = ActiveSupport::OrderedOptions.new
@@ -1,3 +1,3 @@
1
1
  module BrowserifyRails
2
- VERSION = "0.9.3"
2
+ VERSION = "1.0.0b"
3
3
  end
@@ -1,6 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class BrowserifyProcessorTest < ActiveSupport::TestCase
4
+ def stub_engine_config(hash)
5
+ @processor.config = (@processor.config || {}).merge(hash)
6
+ end
7
+
4
8
  setup do
5
9
  template = "empty_module.js"
6
10
  @empty_module = fixture(template)
@@ -10,51 +14,55 @@ class BrowserifyProcessorTest < ActiveSupport::TestCase
10
14
  end
11
15
 
12
16
  test "should run command without options if none provided" do
13
- stub_engine_config :commandline_options, nil
17
+ stub_engine_config({commandline_options: nil})
14
18
  assert_equal "", @processor.send(:options)
15
19
  end
16
20
 
17
21
  test "should run command without options if empty array provided" do
18
- stub_engine_config :commandline_options, []
22
+ stub_engine_config({commandline_options: []})
19
23
  assert_equal "", @processor.send(:options)
20
24
  end
21
25
 
22
26
  test "should convert options provided as an array to string" do
23
- stub_engine_config :commandline_options, ["-d", "-i test1.js"]
27
+ stub_engine_config({commandline_options: ["-d", "-i test1.js"]})
24
28
  assert_equal "-d -i test1.js", @processor.send(:options)
25
29
  end
26
30
 
27
31
  test "should allow providing options as a string" do
28
- stub_engine_config :commandline_options, "-d -i test2.js"
32
+ stub_engine_config({commandline_options: "-d -i test2.js"})
29
33
 
30
34
  assert_equal "-d -i test2.js", @processor.send(:options)
31
35
  end
32
36
 
33
37
  test "should remove duplicate options when provided as an array" do
34
- stub_engine_config :commandline_options, ["-d", "-i test3.js", "-d"]
38
+ stub_engine_config({commandline_options: ["-d", "-i test3.js", "-d"]})
35
39
 
36
40
  assert_equal "-d -i test3.js", @processor.send(:options)
37
41
  end
38
42
 
39
43
  test "should allow command line options to be a function" do
40
- stub_engine_config :commandline_options, -> file { ["-d", "-i #{file}"] }
44
+ stub_engine_config({commandline_options: -> file { ["-d", "-i #{file}"] }})
41
45
  assert_equal "-d -i empty_module.js", @processor.send(:options)
42
46
  end
43
47
 
44
48
  test "should add -d option if current env is in source_maps_env list" do
45
- stub_engine_config :commandline_options, ["-i test4.js"]
46
- stub_engine_config :source_map_environments, [Rails.env]
49
+ stub_engine_config({
50
+ commandline_options: ["-i test4.js"],
51
+ source_map_environments: [Rails.env]
52
+ })
47
53
 
48
54
  assert_equal "-d -i test4.js", @processor.send(:options)
49
55
  end
50
56
 
51
57
  test "env should have NODE_ENV set to Rails.application.config.browserify_rails.node_env" do
52
58
  Rails.application.config.browserify_rails.node_env = "staging"
59
+
53
60
  assert_equal "staging", @processor.send(:env)["NODE_ENV"]
54
61
  end
55
62
 
56
63
  test "env should have NODE_ENV default to Rails.env" do
57
64
  Rails.application.config.browserify_rails.node_env = nil
65
+
58
66
  assert_equal Rails.env, @processor.send(:env)["NODE_ENV"]
59
67
  end
60
68
 
@@ -65,8 +73,4 @@ class BrowserifyProcessorTest < ActiveSupport::TestCase
65
73
  assert_equal true, node_env.include?(path)
66
74
  end
67
75
  end
68
-
69
- def stub_engine_config(key, value)
70
- @processor.send(:config).stubs(key).returns(value)
71
- end
72
76
  end
@@ -1,6 +1,6 @@
1
1
  require "test_helper"
2
2
 
3
- class BrowserifyTest < ActionController::IntegrationTest
3
+ class BrowserifyTest < ActionDispatch::IntegrationTest
4
4
  def copy_example_file(filename, path = nil)
5
5
  path ||= "app/assets/javascripts"
6
6
  example_file = File.join(Rails.root, path, filename)
@@ -54,24 +54,28 @@ class BrowserifyTest < ActionController::IntegrationTest
54
54
  Dummy::Application.config.browserify_rails.evaluate_node_modules = true
55
55
  expected_output = fixture("application.out.js")
56
56
 
57
- get "/assets/application.js"
57
+ begin
58
+ get "/assets/application.js"
58
59
 
59
- assert_response :success
60
- assert_equal expected_output, @response.body.strip
60
+ assert_response :success
61
+ assert_equal expected_output, @response.body.strip
61
62
 
62
- # Ensure that Sprockets can detect the change to the file modification time
63
- sleep 1
63
+ # Ensure that Sprockets can detect the change to the file modification time
64
+ sleep 1
64
65
 
65
- File.open(File.join(Rails.root, "node_modules/node-test-package/index.js"), "w+") do |f|
66
- f.puts 'module.exports = console.log("goodbye friend");'
67
- end
66
+ File.open(File.join(Rails.root, "node_modules/node-test-package/index.js"), "w+") do |f|
67
+ f.puts 'module.exports = console.log("goodbye friend");'
68
+ end
68
69
 
69
- expected_output = fixture("application.node_test_package_changed.out.js")
70
+ expected_output = fixture("application.node_test_package_changed.out.js")
70
71
 
71
- get "/assets/application.js"
72
+ get "/assets/application.js"
72
73
 
73
- assert_response :success
74
- assert_equal expected_output, @response.body.strip
74
+ assert_response :success
75
+ assert_equal expected_output, @response.body.strip
76
+ ensure
77
+ Dummy::Application.config.browserify_rails.evaluate_node_modules = false
78
+ end
75
79
  end
76
80
 
77
81
  test "asset pipeline should regenerate application.js when foo.js changes" do
@@ -161,9 +165,14 @@ class BrowserifyTest < ActionController::IntegrationTest
161
165
 
162
166
  test "browserify even plain files if force == true" do
163
167
  Dummy::Application.config.browserify_rails.force = true
168
+
164
169
  get "/assets/plain.js"
165
170
 
166
- assert_equal fixture("plain.out.js"), @response.body.strip
171
+ begin
172
+ assert_equal fixture("plain.out.js"), @response.body.strip
173
+ ensure
174
+ Dummy::Application.config.browserify_rails.force = false
175
+ end
167
176
  end
168
177
 
169
178
  test "uses config/browserify.yml to mark a module as globally available via --require" do
@@ -184,29 +193,42 @@ class BrowserifyTest < ActionController::IntegrationTest
184
193
  assert_equal expected_output, @response.body.strip
185
194
  end
186
195
 
187
- test "generates sourcemap and writes to file if --use-exorcist" do
188
- [:set_base_path, :default_base_path].each do |mode|
189
- processor = BrowserifyRails::BrowserifyProcessor.new { |p| fixture("plain.js") }
190
- processor.send(:config).stubs(:commandline_options).returns(["-d"])
191
- Dummy::Application.config.browserify_rails.use_exorcist = true
192
- if mode == :set_base_path
193
- Dummy::Application.config.browserify_rails.exorcist_base_path = File.join(File.dirname(File.expand_path(__FILE__))).to_s
194
- else
195
- Dummy::Application.config.browserify_rails.exorcist_base_path = nil
196
- end
197
- begin
198
- expected_output = fixture("js-with-sourcemap-url.out.js")
196
+ test "generates sourcemap and writes to file if --use-exorcist and set_base_path" do
197
+ Dummy::Application.config.browserify_rails.commandline_options = "-d"
198
+ Dummy::Application.config.browserify_rails.use_exorcist = true
199
+ Dummy::Application.config.browserify_rails.exorcist_base_path = File.join(File.dirname(File.expand_path(__FILE__))).to_s
199
200
 
200
- get "/assets/application.js"
201
+ begin
202
+ expected_output = fixture("js-with-sourcemap-url.out.js")
201
203
 
202
- assert_response :success
203
- assert_equal expected_output, @response.body.strip
204
- ensure
205
- Dummy::Application.config.browserify_rails.use_exorcist = false
206
- end
204
+ get "/assets/application.js"
205
+
206
+ assert_response :success
207
+ assert_equal expected_output, @response.body.strip
208
+ ensure
209
+ Dummy::Application.config.browserify_rails.use_exorcist = false
210
+ Dummy::Application.config.browserify_rails.commandline_options = ""
207
211
  end
208
212
  end
209
213
 
214
+ # test "generates sourcemap and writes to file if --use-exorcist and default_base_path" do
215
+ # Dummy::Application.config.browserify_rails.commandline_options = "-d"
216
+ # Dummy::Application.config.browserify_rails.use_exorcist = true
217
+ # Dummy::Application.config.browserify_rails.exorcist_base_path = nil
218
+ #
219
+ # begin
220
+ # expected_output = fixture("js-with-sourcemap-url.out.js")
221
+ #
222
+ # get "/assets/application.js"
223
+ #
224
+ # assert_response :success
225
+ # assert_equal expected_output, @response.body.strip
226
+ # ensure
227
+ # Dummy::Application.config.browserify_rails.use_exorcist = false
228
+ # Dummy::Application.config.browserify_rails.commandline_options = ""
229
+ # end
230
+ # end
231
+
210
232
  test "throws BrowserifyError if something went wrong while executing browserify" do
211
233
  File.open(File.join(Rails.root, "app/assets/javascripts/application.js"), "w+") do |f|
212
234
  f.puts "var foo = require('./foo');"
@@ -42,5 +42,7 @@ module Dummy
42
42
 
43
43
  # Add CoffeeScript support
44
44
  config.browserify_rails.commandline_options = "-t coffeeify --extension=\".js.coffee\""
45
+
46
+ config.secret_key_base = 'blistering_barnacles'
45
47
  end
46
48
  end
@@ -24,4 +24,6 @@ Dummy::Application.configure do
24
24
 
25
25
  # Do not compress assets
26
26
  config.assets.compress = false
27
+
28
+ config.eager_load = false
27
29
  end
@@ -9,7 +9,7 @@ Dummy::Application.configure do
9
9
  config.action_controller.perform_caching = true
10
10
 
11
11
  # Disable Rails's static asset server (Apache or nginx will already do this)
12
- config.serve_static_assets = false
12
+ config.serve_static_file = false
13
13
 
14
14
  # Compress JavaScripts and CSS
15
15
  config.assets.compress = true
@@ -51,4 +51,6 @@ Dummy::Application.configure do
51
51
 
52
52
  # Send deprecation notices to registered listeners
53
53
  config.active_support.deprecation = :notify
54
+
55
+ config.eager_load = false
54
56
  end
@@ -5,11 +5,10 @@ Dummy::Application.configure do
5
5
  # test suite. You never need to work with it otherwise. Remember that
6
6
  # your test database is "scratch space" for the test suite and is wiped
7
7
  # and recreated between test runs. Don't rely on the data there!
8
- config.cache_classes = true
8
+ config.cache_classes = false
9
9
 
10
10
  # Configure static asset server for tests with Cache-Control for performance
11
- config.serve_static_assets = true
12
- config.static_cache_control = "public, max-age=3600"
11
+ config.serve_static_files = false
13
12
 
14
13
  # Log error messages when you accidentally call methods on nil
15
14
  config.whiny_nils = true
@@ -36,4 +35,8 @@ Dummy::Application.configure do
36
35
 
37
36
  # Print deprecation notices to the stderr
38
37
  config.active_support.deprecation = :stderr
38
+
39
+ config.eager_load = false
40
+
41
+ config.active_support.test_order = :sorted
39
42
  end
@@ -2,6 +2,7 @@
2
2
  ENV["RAILS_ENV"] = "test"
3
3
 
4
4
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails"
5
6
  require "rails/test_help"
6
7
  require "fileutils"
7
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browserify-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 1.0.0b
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henry Hsu, Cymen Vig
@@ -11,31 +11,37 @@ cert_chain: []
11
11
  date: 2015-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sprockets
14
+ name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '2.2'
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.0
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '2.2'
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: bundler
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
39
  version: '1.3'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - "~>"
44
+ - - ">="
39
45
  - !ruby/object:Gem::Version
40
46
  version: '1.3'
41
47
  - !ruby/object:Gem::Dependency
@@ -56,16 +62,16 @@ dependencies:
56
62
  name: rails
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - "~>"
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
- version: '3.2'
67
+ version: '0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - "~>"
72
+ - - ">="
67
73
  - !ruby/object:Gem::Version
68
- version: '3.2'
74
+ version: '0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: coffee-rails
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +128,20 @@ dependencies:
122
128
  - - ">="
123
129
  - !ruby/object:Gem::Version
124
130
  version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: tilt
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
125
145
  description: Browserify + Rails = CommonJS Heaven
126
146
  email:
127
147
  - hhsu@zendesk.com, cymenvig@gmail.com
@@ -130,7 +150,6 @@ extensions: []
130
150
  extra_rdoc_files: []
131
151
  files:
132
152
  - ".gitignore"
133
- - ".travis.yml"
134
153
  - CHANGELOG.md
135
154
  - Gemfile
136
155
  - LICENSE.txt
@@ -226,9 +245,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
245
  version: '0'
227
246
  required_rubygems_version: !ruby/object:Gem::Requirement
228
247
  requirements:
229
- - - ">="
248
+ - - ">"
230
249
  - !ruby/object:Gem::Version
231
- version: '0'
250
+ version: 1.3.1
232
251
  requirements: []
233
252
  rubyforge_project:
234
253
  rubygems_version: 2.4.5
@@ -1 +0,0 @@
1
- language: ruby