jslint-v8 1.1.2 → 1.1.3
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 +8 -8
- data/bin/jslint-v8 +8 -3
- data/lib/jslint-v8.rb +7 -6
- data/lib/jslint-v8/json.rb +39 -0
- data/lib/jslint-v8/option_parser.rb +4 -0
- data/lib/jslint-v8/version.rb +1 -1
- data/test/helper.rb +8 -0
- data/test/test_json.rb +34 -0
- data/test/test_task.rb +6 -6
- metadata +11 -8
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OWIyMDg4ODBiODUwNTYyNmE3Nzg3YmRlYTI5MjE3OTdiZTg4Y2QzOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YjYzNGQ1OThlOGQ1ODZjZTQ2ZWZiYTgyYzlmMmFiNWE2NjkxODJhOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTJmMDcwNDdhZmJhMzY5MGFhNDRiMmJhNmYxYzQwMzZhZjQ0ODMxOThkM2Q3
|
10
|
+
YmIyZTllMTE5ZTljMWI2OWVlODQ4OTI0Yjc5YWVlOWQ4NDgwYjFlZTc1ZTNj
|
11
|
+
YmRjYjA5MmU2MjcyNTdhZmJiMTA5MmVmZGE0NTdmY2RlMTg0NjI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YWQ1N2ViNzE0MTIxODUyMjNjNzc0Y2RkNjk0OTY5MDE4YzlmN2IwMWUzZDky
|
14
|
+
OTUzYjFmYTE2YzJiMDNhMmRmMTNkYWI4OTMyMGE1YjdlN2ZjMWM2N2RiNTA5
|
15
|
+
OWNhZDk2MTY2NmVhMzkwZTJiMGY5OTYyMzJkNjhlYTBjODYwMmU=
|
data/bin/jslint-v8
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
|
2
|
+
$LOAD_PATH.unshift File.expand_path("../lib", File.dirname(__FILE__))
|
3
|
+
|
4
|
+
require "jslint-v8"
|
4
5
|
|
5
6
|
def print_usage
|
6
7
|
STDERR.puts JSLintV8::OptionParser.new.help
|
@@ -27,7 +28,11 @@ end
|
|
27
28
|
print_usage if ARGV.empty?
|
28
29
|
|
29
30
|
# set up a formatter for standard output
|
30
|
-
|
31
|
+
if (!parser.options[:json])
|
32
|
+
formatter = JSLintV8::Formatter.new(STDOUT)
|
33
|
+
else
|
34
|
+
formatter = JSLintV8::Json.new(STDOUT)
|
35
|
+
end
|
31
36
|
|
32
37
|
# set up a runner
|
33
38
|
runner = JSLintV8::Runner.new(ARGV)
|
data/lib/jslint-v8.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
module JSLintV8 end
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
3
|
+
require 'jslint-v8/runner'
|
4
|
+
require 'jslint-v8/rake_task'
|
5
|
+
require 'jslint-v8/lint_error'
|
6
|
+
require 'jslint-v8/formatter'
|
7
|
+
require 'jslint-v8/json'
|
8
|
+
require 'jslint-v8/option_parser'
|
9
|
+
require 'jslint-v8/version'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module JSLintV8
|
4
|
+
class Json
|
5
|
+
attr_reader :output_stream
|
6
|
+
|
7
|
+
def initialize(stream)
|
8
|
+
@output_stream = stream
|
9
|
+
end
|
10
|
+
|
11
|
+
def tick(errors)
|
12
|
+
end
|
13
|
+
|
14
|
+
def summary(tested_files, lint_result)
|
15
|
+
if lint_result.keys.any?
|
16
|
+
output = lint_result.map do |file_errors|
|
17
|
+
{ file_errors[0] =>
|
18
|
+
file_errors[1].map do |errors|
|
19
|
+
{ "line" => errors.line_number,
|
20
|
+
"column" => errors.character,
|
21
|
+
"reason" => errors.reason,
|
22
|
+
"evidence" => errors.evidence
|
23
|
+
}
|
24
|
+
end
|
25
|
+
}
|
26
|
+
end
|
27
|
+
print_error_summary(output)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def print_error_summary(result)
|
34
|
+
out = output_stream
|
35
|
+
out.print JSON.dump(result)
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
data/lib/jslint-v8/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -9,6 +9,10 @@ def erb_fixture(basename)
|
|
9
9
|
::ERB.new(File.read(erb_filename(basename))).result
|
10
10
|
end
|
11
11
|
|
12
|
+
def json_fixture(basename)
|
13
|
+
File.read(json_filename(basename))
|
14
|
+
end
|
15
|
+
|
12
16
|
def erb_filename(basename)
|
13
17
|
File.expand_path("fixtures/#{basename}.txt.erb", File.dirname(__FILE__))
|
14
18
|
end
|
@@ -16,3 +20,7 @@ end
|
|
16
20
|
def js_filename(basename)
|
17
21
|
File.expand_path("fixtures/#{basename}.js", File.dirname(__FILE__))
|
18
22
|
end
|
23
|
+
|
24
|
+
def json_filename(basename)
|
25
|
+
File.expand_path("fixtures/#{basename}.json", File.dirname(__FILE__))
|
26
|
+
end
|
data/test/test_json.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path('helper', File.dirname(__FILE__))
|
2
|
+
require 'erb'
|
3
|
+
require 'stringio'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
class TestJsonFormatter < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@output = String.new
|
10
|
+
@output_stream = StringIO.new(@output, "w+")
|
11
|
+
|
12
|
+
@formatter = JSLintV8::Json.new(@output_stream)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_summary_with_errors
|
16
|
+
error_1 = JSLintV8::LintError.new("line" => 42, "character" => 10, "reason" => "because i can")
|
17
|
+
error_2 = JSLintV8::LintError.new("line" => 43, "character" => 3, "reason" => "a proof is not a proof")
|
18
|
+
error_3 = JSLintV8::LintError.new("line" => 139, "character" => 12, "reason" => "undefined global 'foo'")
|
19
|
+
result = {
|
20
|
+
"foo" => [error_1, error_2],
|
21
|
+
"bar" => [error_3]
|
22
|
+
}
|
23
|
+
|
24
|
+
@formatter.summary(%w(foo bar baz one two three), result)
|
25
|
+
|
26
|
+
assert_equal json_fixture("json-formatter-summary-errors").strip, @output
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_summary_with_no_errors
|
30
|
+
@formatter.summary(%w(foo bar), {})
|
31
|
+
|
32
|
+
assert_equal json_fixture("json-formatter-summary-noerrors"), @output
|
33
|
+
end
|
34
|
+
end
|
data/test/test_task.rb
CHANGED
@@ -27,7 +27,7 @@ class TestTask < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def test_default_description
|
30
|
-
JSLintV8::RakeTask.new
|
30
|
+
JSLintV8::RakeTask.new
|
31
31
|
|
32
32
|
task = Rake.application.lookup("lint")
|
33
33
|
|
@@ -35,7 +35,7 @@ class TestTask < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_default_include_pattern
|
38
|
-
task = JSLintV8::RakeTask.new
|
38
|
+
task = JSLintV8::RakeTask.new
|
39
39
|
|
40
40
|
assert_equal "app/javascripts/**/*.js", task.include_pattern
|
41
41
|
end
|
@@ -63,9 +63,9 @@ class TestTask < Test::Unit::TestCase
|
|
63
63
|
|
64
64
|
task = JSLintV8::RakeTask.new do |task|
|
65
65
|
task.name = "foo"
|
66
|
-
|
66
|
+
|
67
67
|
task.description = "Points out the bad codezzzz"
|
68
|
-
|
68
|
+
|
69
69
|
task.include_pattern = "js/**/*.js"
|
70
70
|
task.exclude_pattern = "js/**/*.txt"
|
71
71
|
|
@@ -93,7 +93,7 @@ class TestTask < Test::Unit::TestCase
|
|
93
93
|
task.exclude_pattern = File.expand_path("fixtures/*.erb", File.dirname(__FILE__))
|
94
94
|
end
|
95
95
|
|
96
|
-
expected_files = Dir.glob(File.expand_path("fixtures/*.js", File.dirname(__FILE__))).sort
|
96
|
+
expected_files = Dir.glob(File.expand_path("fixtures/*.{js,json}", File.dirname(__FILE__))).sort
|
97
97
|
|
98
98
|
assert_equal expected_files, task.files_to_run
|
99
99
|
end
|
@@ -151,4 +151,4 @@ class TestTask < Test::Unit::TestCase
|
|
151
151
|
|
152
152
|
assert_equal erb_fixture("cli-suite-expected-output"), result
|
153
153
|
end
|
154
|
-
end
|
154
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jslint-v8
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Howard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: therubyracer
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/jslint-v8.rb
|
69
69
|
- lib/jslint-v8/formatter.rb
|
70
70
|
- lib/jslint-v8/js/jslint.js
|
71
|
+
- lib/jslint-v8/json.rb
|
71
72
|
- lib/jslint-v8/lint_error.rb
|
72
73
|
- lib/jslint-v8/option_parser.rb
|
73
74
|
- lib/jslint-v8/rake_task.rb
|
@@ -77,6 +78,7 @@ files:
|
|
77
78
|
- test/suite.rb
|
78
79
|
- test/test_cli.rb
|
79
80
|
- test/test_formatter.rb
|
81
|
+
- test/test_json.rb
|
80
82
|
- test/test_lint_error.rb
|
81
83
|
- test/test_runner.rb
|
82
84
|
- test/test_task.rb
|
@@ -99,15 +101,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
101
|
version: '0'
|
100
102
|
requirements: []
|
101
103
|
rubyforge_project:
|
102
|
-
rubygems_version: 2.
|
104
|
+
rubygems_version: 2.4.3
|
103
105
|
signing_key:
|
104
106
|
specification_version: 4
|
105
107
|
summary: JSLint CLI and rake tasks via therubyracer (JavaScript V8 gem)
|
106
108
|
test_files:
|
107
|
-
- test/
|
108
|
-
- test/helper.rb
|
109
|
-
- test/test_cli.rb
|
110
|
-
- test/test_lint_error.rb
|
109
|
+
- test/suite.rb
|
111
110
|
- test/test_runner.rb
|
111
|
+
- test/helper.rb
|
112
112
|
- test/test_task.rb
|
113
|
-
- test/
|
113
|
+
- test/test_lint_error.rb
|
114
|
+
- test/test_formatter.rb
|
115
|
+
- test/test_cli.rb
|
116
|
+
- test/test_json.rb
|