jshint 1.2.0 → 1.3.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.
- data/CHANGELOG.md +6 -0
- data/README.md +9 -1
- data/Rakefile +8 -0
- data/bin/jshint +12 -0
- data/lib/jshint/cli.rb +24 -0
- data/lib/jshint/tasks/jshint.rake +4 -18
- data/lib/jshint/version.rb +1 -1
- metadata +43 -16
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.3.0
|
4
|
+
|
5
|
+
* Fixes [#18](https://github.com/damian/jshint/pull/18) - Ensure the default Rake task runs the test suite
|
6
|
+
* Fixes [#17](https://github.com/damian/jshint/pull/17) - Fail the Rake task if there are linting errors
|
7
|
+
* Fixes [#7](https://github.com/damian/jshint/pull/7) - Ensure JSHint can be used standalone
|
8
|
+
|
3
9
|
## 1.2.0
|
4
10
|
|
5
11
|
* Fixes [#14](https://github.com/damian/jshint/issues/14) - Upgraded to JSHint v2.5.11 from v2.1.4
|
data/README.md
CHANGED
@@ -72,6 +72,15 @@ exclude_paths: ['vendor/assets/javascripts']
|
|
72
72
|
...
|
73
73
|
````
|
74
74
|
|
75
|
+
## Rake integration
|
76
|
+
To use jshint in your default Rake config, just add it to the list of default tasks. For example, this configuration will run jshint in development or test environments.
|
77
|
+
````ruby
|
78
|
+
# your-rails-project/Rakefile
|
79
|
+
if %w(development test).include? Rails.env
|
80
|
+
task default: :jshint
|
81
|
+
endif
|
82
|
+
````
|
83
|
+
|
75
84
|
## Changelog
|
76
85
|
|
77
86
|
You can view the [changelog here](https://github.com/damian/jshint/blob/master/CHANGELOG.md).
|
@@ -83,4 +92,3 @@ You can view the [changelog here](https://github.com/damian/jshint/blob/master/C
|
|
83
92
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
84
93
|
4. Push to the branch (`git push origin my-new-feature`)
|
85
94
|
5. Create new Pull Request
|
86
|
-
|
data/Rakefile
CHANGED
data/bin/jshint
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
$LOAD_PATH.unshift(File.dirname(File.realpath(__FILE__)) + '/../lib')
|
4
|
+
|
5
|
+
require 'jshint'
|
6
|
+
require 'jshint/reporters'
|
7
|
+
require 'jshint/cli'
|
8
|
+
|
9
|
+
reporter_name = ARGV[0] || :Default
|
10
|
+
result_file = ARGV[1]
|
11
|
+
|
12
|
+
Jshint::Cli::run(reporter_name, result_file)
|
data/lib/jshint/cli.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Jshint
|
2
|
+
module Cli
|
3
|
+
def self.run(reporter_name = :Default, result_file = nil)
|
4
|
+
linter = Jshint::Lint.new
|
5
|
+
linter.lint
|
6
|
+
reporter = Jshint::Reporters.const_get(reporter_name).new(linter.errors)
|
7
|
+
|
8
|
+
printer = lambda do |stream|
|
9
|
+
stream.puts reporter.report
|
10
|
+
end
|
11
|
+
|
12
|
+
if result_file
|
13
|
+
Dir.mkdir(File.dirname(result_file))
|
14
|
+
File.open(result_file, 'w') do |stream|
|
15
|
+
printer.call(stream)
|
16
|
+
end
|
17
|
+
else
|
18
|
+
printer.call($stdout)
|
19
|
+
end
|
20
|
+
|
21
|
+
linter
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,30 +1,16 @@
|
|
1
1
|
require 'jshint'
|
2
2
|
require 'jshint/reporters'
|
3
|
+
require 'jshint/cli'
|
3
4
|
|
4
5
|
namespace :jshint do
|
5
6
|
desc "Runs JSHint, the JavaScript lint tool over this project's JavaScript assets"
|
6
7
|
task :lint => :environment do |_, args|
|
7
8
|
# Our own argument parsing, since rake jshint will push extra nil's.
|
8
|
-
reporter_name = :Default
|
9
|
-
file = nil
|
10
9
|
reporter_name = args.extras[0] if args.extras.length >= 1
|
11
|
-
|
10
|
+
result_file = args.extras[1] if args.extras.length >= 2
|
12
11
|
|
13
|
-
linter = Jshint::
|
14
|
-
linter.
|
15
|
-
reporter = Jshint::Reporters.const_get(reporter_name).new(linter.errors)
|
16
|
-
|
17
|
-
printer = lambda do |stream|
|
18
|
-
stream.puts reporter.report
|
19
|
-
end
|
20
|
-
if file
|
21
|
-
Dir.mkdir(File.dirname(file))
|
22
|
-
File.open(file, 'w') do |stream|
|
23
|
-
printer.call(stream)
|
24
|
-
end
|
25
|
-
else
|
26
|
-
printer.call($stdout)
|
27
|
-
end
|
12
|
+
linter = Jshint::Cli::run(reporter_name, result_file)
|
13
|
+
fail if linter.errors.any? { |_, errors| errors.any? }
|
28
14
|
end
|
29
15
|
|
30
16
|
desc "Copies the default JSHint options to your Rails application"
|
data/lib/jshint/version.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jshint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Damian Nicholson
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2015-01-15 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: therubyracer
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,20 +30,23 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: execjs
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: 1.4.0
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: 1.4.0
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: multi_json
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: bundler
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,34 +78,39 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: railties
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- - '>='
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 3.2.0
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- - '>='
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: 3.2.0
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: rake
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- - '>='
|
99
|
+
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: '0'
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- - '>='
|
107
|
+
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: '0'
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: rspec
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ~>
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,22 +126,25 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: yard
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
|
-
- - '>='
|
131
|
+
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: '0'
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
|
-
- - '>='
|
139
|
+
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
124
141
|
version: '0'
|
125
142
|
description: It achieves this by linting your code through a library called JSHint
|
126
143
|
which catches most code smells, and ensures code consistency
|
127
144
|
email:
|
128
145
|
- damian.nicholson21@gmail.com
|
129
|
-
executables:
|
146
|
+
executables:
|
147
|
+
- jshint
|
130
148
|
extensions: []
|
131
149
|
extra_rdoc_files: []
|
132
150
|
files:
|
@@ -138,9 +156,11 @@ files:
|
|
138
156
|
- LICENSE.txt
|
139
157
|
- README.md
|
140
158
|
- Rakefile
|
159
|
+
- bin/jshint
|
141
160
|
- config/jshint.yml
|
142
161
|
- jshint.gemspec
|
143
162
|
- lib/jshint.rb
|
163
|
+
- lib/jshint/cli.rb
|
144
164
|
- lib/jshint/configuration.rb
|
145
165
|
- lib/jshint/lint.rb
|
146
166
|
- lib/jshint/railtie.rb
|
@@ -159,26 +179,33 @@ files:
|
|
159
179
|
homepage: http://damiannicholson.com
|
160
180
|
licenses:
|
161
181
|
- MIT
|
162
|
-
metadata: {}
|
163
182
|
post_install_message:
|
164
183
|
rdoc_options: []
|
165
184
|
require_paths:
|
166
185
|
- lib
|
167
186
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
168
188
|
requirements:
|
169
|
-
- - '>='
|
189
|
+
- - ! '>='
|
170
190
|
- !ruby/object:Gem::Version
|
171
191
|
version: '0'
|
192
|
+
segments:
|
193
|
+
- 0
|
194
|
+
hash: 326365264524046677
|
172
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
173
197
|
requirements:
|
174
|
-
- - '>='
|
198
|
+
- - ! '>='
|
175
199
|
- !ruby/object:Gem::Version
|
176
200
|
version: '0'
|
201
|
+
segments:
|
202
|
+
- 0
|
203
|
+
hash: 326365264524046677
|
177
204
|
requirements: []
|
178
205
|
rubyforge_project:
|
179
|
-
rubygems_version:
|
206
|
+
rubygems_version: 1.8.23
|
180
207
|
signing_key:
|
181
|
-
specification_version:
|
208
|
+
specification_version: 3
|
182
209
|
summary: Ensures your JavaScript code adheres to best practices
|
183
210
|
test_files:
|
184
211
|
- spec/fixtures/jshint.yml
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 3ffe5bc5846c375d3644a14502fee44889955764
|
4
|
-
data.tar.gz: 97d1e006301fa44d243bf5fbc657863c17961d2a
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 1b7ad5faa8772865d1ede15c1f6dd919265c8fb6904940d31deacbc6c44411c08a704724e04c420cddbb60dc07c3b96507ab6695b3712faf9375e364ab6fc7f4
|
7
|
-
data.tar.gz: e035f16e72e40eec0a6e983b9d70f94d78d328096dd04df993655f2f772b67b588e0673f8198e81b03941c386ef39094699232a5127af014e03270a71a78f98c
|