jshintrb 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,5 +1,5 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- /.project
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ /.project
data/.gitmodules CHANGED
File without changes
data/.travis.yml CHANGED
@@ -1,19 +1,19 @@
1
- rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - 1.9.3
5
- - jruby
6
- before_script: "git submodule update --init --recursive"
7
- env:
8
- - EXECJS_RUNTIME=RubyRacer
9
- - EXECJS_RUNTIME=RubyRhino
10
- matrix:
11
- exclude:
12
- - rvm: 1.8.7
13
- env: EXECJS_RUNTIME=RubyRhino
14
- - rvm: 1.9.2
15
- env: EXECJS_RUNTIME=RubyRhino
16
- - rvm: 1.9.3
17
- env: EXECJS_RUNTIME=RubyRhino
18
- - rvm: jruby
19
- env: EXECJS_RUNTIME=RubyRacer
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby
6
+ before_script: "git submodule update --init --recursive"
7
+ env:
8
+ - EXECJS_RUNTIME=RubyRacer
9
+ - EXECJS_RUNTIME=RubyRhino
10
+ matrix:
11
+ exclude:
12
+ - rvm: 1.8.7
13
+ env: EXECJS_RUNTIME=RubyRhino
14
+ - rvm: 1.9.2
15
+ env: EXECJS_RUNTIME=RubyRhino
16
+ - rvm: 1.9.3
17
+ env: EXECJS_RUNTIME=RubyRhino
18
+ - rvm: jruby
19
+ env: EXECJS_RUNTIME=RubyRacer
data/Gemfile CHANGED
File without changes
data/README.md CHANGED
@@ -1,73 +1,73 @@
1
- # jshintrb
2
- [![Build Status](https://secure.travis-ci.org/stereobooster/jshintrb.png?branch=master)](http://travis-ci.org/stereobooster/jshintrb)
3
-
4
- Ruby wrapper for [JSHint](https://github.com/jshint/jshint/). The main difference from [jshint](https://github.com/liquid/jshint_on_rails) it does not depend on Java. Instead it uses [ExecJS](https://github.com/sstephenson/execjs).
5
-
6
- ## Installation
7
-
8
- jshintrb is available as ruby gem.
9
-
10
- $ gem install jshintrb
11
-
12
- Ensure that your environment has a JavaScript interpreter supported by [ExecJS](https://github.com/sstephenson/execjs). Usually, installing therubyracer gem is the best alternative.
13
-
14
- ## Usage
15
-
16
- ```ruby
17
- require 'jshintrb'
18
-
19
- Jshintrb.lint(File.read("source.js"))
20
- # => array of warnings
21
-
22
- Jshintrb.report(File.read("source.js"))
23
- # => string
24
- ```
25
-
26
- Or you can use it with rake
27
-
28
- ```ruby
29
- require "jshintrb/jshinttask"
30
- Jshintrb::JshintTask.new :jshint do |t|
31
- t.pattern = 'javascript/**/*.js'
32
- t.options = :defaults
33
- end
34
- ```
35
-
36
- When initializing `Jshintrb`, you can pass options
37
-
38
- ```ruby
39
- Jshintrb.new(:undef => true).compile(source)
40
- # Or
41
- Jshintrb.compile(source, :undef => true)
42
- ```
43
-
44
- [List of all available options](http://www.jshint.com/options/)
45
-
46
- If you pass `:defaults` as option, it is the same as if you pass following
47
-
48
- ```
49
- {
50
- :bitwise => true,
51
- :curly => true,
52
- :eqeqeq => true,
53
- :forin => true,
54
- :immed => true,
55
- :latedef => true,
56
- :newcap => true,
57
- :noarg => true,
58
- :noempty => true,
59
- :nonew => true,
60
- :plusplus => true,
61
- :regexp => true,
62
- :undef => true,
63
- :strict => true,
64
- :trailing => true,
65
- :browser => true
66
- }
67
- ```
68
-
69
- ## TODO
70
-
71
- - add more tests
72
- - add color reporter. Maybe [colorize](https://github.com/fazibear/colorize)
73
- - add cli. Support same options as [jshint/node-jshint](https://github.com/jshint/node-jshint/blob/master/lib/cli.js)
1
+ # jshintrb
2
+ [![Build Status](https://secure.travis-ci.org/stereobooster/jshintrb.png?branch=master)](http://travis-ci.org/stereobooster/jshintrb)
3
+
4
+ Ruby wrapper for [JSHint](https://github.com/jshint/jshint/). The main difference from [jshint](https://github.com/liquid/jshint_on_rails) it does not depend on Java. Instead it uses [ExecJS](https://github.com/sstephenson/execjs).
5
+
6
+ ## Installation
7
+
8
+ jshintrb is available as ruby gem.
9
+
10
+ $ gem install jshintrb
11
+
12
+ Ensure that your environment has a JavaScript interpreter supported by [ExecJS](https://github.com/sstephenson/execjs). Usually, installing therubyracer gem is the best alternative.
13
+
14
+ ## Usage
15
+
16
+ ```ruby
17
+ require 'jshintrb'
18
+
19
+ Jshintrb.lint(File.read("source.js"))
20
+ # => array of warnings
21
+
22
+ Jshintrb.report(File.read("source.js"))
23
+ # => string
24
+ ```
25
+
26
+ Or you can use it with rake
27
+
28
+ ```ruby
29
+ require "jshintrb/jshinttask"
30
+ Jshintrb::JshintTask.new :jshint do |t|
31
+ t.pattern = 'javascript/**/*.js'
32
+ t.options = :defaults
33
+ end
34
+ ```
35
+
36
+ When initializing `Jshintrb`, you can pass options
37
+
38
+ ```ruby
39
+ Jshintrb.new(:undef => true).compile(source)
40
+ # Or
41
+ Jshintrb.compile(source, :undef => true)
42
+ ```
43
+
44
+ [List of all available options](http://www.jshint.com/options/)
45
+
46
+ If you pass `:defaults` as option, it is the same as if you pass following
47
+
48
+ ```
49
+ {
50
+ :bitwise => true,
51
+ :curly => true,
52
+ :eqeqeq => true,
53
+ :forin => true,
54
+ :immed => true,
55
+ :latedef => true,
56
+ :newcap => true,
57
+ :noarg => true,
58
+ :noempty => true,
59
+ :nonew => true,
60
+ :plusplus => true,
61
+ :regexp => true,
62
+ :undef => true,
63
+ :strict => true,
64
+ :trailing => true,
65
+ :browser => true
66
+ }
67
+ ```
68
+
69
+ ## TODO
70
+
71
+ - add more tests
72
+ - add color reporter. Maybe [colorize](https://github.com/fazibear/colorize)
73
+ - add cli. Support same options as [jshint/node-jshint](https://github.com/jshint/node-jshint/blob/master/lib/cli.js)
data/Rakefile CHANGED
@@ -4,11 +4,23 @@ require "bundler/gem_tasks"
4
4
  Rake::Task[task_name].prerequisites << :spec
5
5
  end
6
6
 
7
- desc "Update git submodules"
8
- task :git do
9
- sh "git submodule update --init --recursive"
10
- cp "vendor/jshint/jshint.js", "lib/js/jshint.js"
7
+ require 'submodule'
8
+ class JshintSubmodule < Submodule::Task
9
+ def test
10
+ # sudo apt-get update
11
+ # sudo apt-get install npm
12
+ # sudo npm -g install expresso
13
+ expresso = "/usr/bin/expresso"
14
+ sh "#{expresso} tests/unit/*.js"
15
+ sh "#{expresso} tests/regression/*.js"
16
+ end
17
+
18
+ def after_pull
19
+ cp "vendor/jshint/jshint.js", "lib/js/jshint.js"
20
+ sh "git add lib/js/jshint.js"
21
+ end
11
22
  end
23
+ JshintSubmodule.new
12
24
 
13
25
  require "rspec/core/rake_task"
14
26
  RSpec::Core::RakeTask.new
@@ -20,9 +32,3 @@ task :default => :spec
20
32
  # t.rcov = true
21
33
  # t.rcov_opts = ["--exclude", "spec"]
22
34
  # end
23
-
24
- require "./lib/jshintrb/jshinttask"
25
- Jshintrb::JshintTask.new :jshint do |t|
26
- t.pattern = 'vendor/jshint/tests/unit/fixtures/*.js'
27
- t.options = :defaults
28
- end
data/jshintrb.gemspec CHANGED
@@ -1,27 +1,26 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "jshintrb/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "jshintrb"
7
- s.version = Jshintrb::VERSION
8
- s.authors = ["stereobooster"]
9
- s.email = ["stereobooster@gmail.com"]
10
- s.homepage = "https://github.com/stereobooster/jshintrb"
11
- s.summary = %q{Ruby wrapper for JSHint}
12
- s.description = %q{Ruby wrapper for JSHint. The main difference from jshint gem it does not depend on Java. Instead, it uses ExecJS}
13
-
14
- s.rubyforge_project = "jshintrb"
15
-
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
20
-
21
- # specify any dependencies here; for example:
22
- s.add_development_dependency "rspec"
23
- s.add_runtime_dependency "rake"
24
-
25
- s.add_dependency "multi_json", ">= 1.3"
26
- s.add_dependency "execjs"
27
- end
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "jshintrb/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "jshintrb"
7
+ s.version = Jshintrb::VERSION
8
+ s.authors = ["stereobooster"]
9
+ s.email = ["stereobooster@gmail.com"]
10
+ s.homepage = "https://github.com/stereobooster/jshintrb"
11
+ s.summary = %q{Ruby wrapper for JSHint}
12
+ s.description = %q{Ruby wrapper for JSHint. The main difference from jshint gem it does not depend on Java. Instead, it uses ExecJS}
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+
19
+ # specify any dependencies here; for example:
20
+ s.add_development_dependency "rspec"
21
+ s.add_development_dependency "submodule"
22
+ s.add_runtime_dependency "rake"
23
+
24
+ s.add_dependency "multi_json", ">= 1.3"
25
+ s.add_dependency "execjs"
26
+ end