roger_jshint 0.1.0 → 1.0.0

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: 831b789d136a29882a93611f9b681b2969c1e4b7
4
- data.tar.gz: 18a9adf0b8b9f8a202235539116086b76fa7d88f
3
+ metadata.gz: 837f852c6ef0278395df76946e093ee4c52cea1f
4
+ data.tar.gz: 9c97f2e5133a029712a8c26fca0c21a96447d632
5
5
  SHA512:
6
- metadata.gz: 34f1c96665169c62f181330510cb51c4a28ab758ddde4f6d3aabefe0a5290cdae07330963a2d4cab5905f416f2c1363df1d7a10f6a37f89ecf64d0e5b586ce76
7
- data.tar.gz: bdc7d1e2ede0c399d3f41fa495485fffa19e77e09f171889ce6db3c5661b385a8c2443cf9183c9d8628854dec6320baccfba51500efcfca560b105c4c22f58f6
6
+ metadata.gz: eb42fd286eb3eeef32bbe615d53483847b2a30afbf7766b3d97833a60fa3753731bda7cf2b122b10fe2e824d3593b880853fb267f2ef915f47bb49bf9eb7cf2b
7
+ data.tar.gz: 714fabeb549664e72c04c40516acf1c233275e7302236b7a8323fb4bd3949ba9c83d447d1059a7ddc3d6dde257576e55b1649453171a2e991bcc1170d01b2064
data/.rubocop.yml CHANGED
@@ -1,6 +1,18 @@
1
1
  LineLength:
2
2
  Max: 100
3
3
 
4
+ Metrics/AbcSize:
5
+ Enabled:
6
+ False
7
+
4
8
  Style/HashSyntax:
5
9
  Enabled:
6
10
  False
11
+
12
+ Style/StringLiterals:
13
+ Enabled:
14
+ False
15
+
16
+ Metrics/MethodLength:
17
+ CountComments: false # count full line comments?
18
+ Max: 25
data/.ruby-version ADDED
File without changes
data/.travis.yml CHANGED
@@ -5,4 +5,3 @@ rvm:
5
5
  - 2.2.0
6
6
  before_script:
7
7
  - npm install jshint
8
- - cp ./test/jshintrc .jshintrc
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
- roger_jshint
1
+ Roger JSHint
2
2
  ============
3
- [![Build Status](https://travis-ci.org/hkrutzer/roger_jshint.svg?branch=master)](https://travis-ci.org/hkrutzer/roger_jshint)
3
+
4
+ [![Build Status](https://travis-ci.org/DigitPaint/roger_jshint.svg)](https://travis-ci.org/DigitPaint/roger_jshint)
5
+
4
6
 
5
7
  Lint JavaScript files from within Roger. This plugin uses [jshint](https://github.com/jshint/jshint). If present, .jshintrc in your project will be used. If not, jshint will walk the directory tree upwards until a .jshintrc file is found. As a last resort, [jshint's default configuration](https://raw.githubusercontent.com/jshint/jshint/master/examples/.jshintrc) is used.
6
8
 
@@ -16,13 +16,11 @@ module RogerJsHint
16
16
  :jshint => 'jshint'
17
17
  }
18
18
  @options.update(options) if options
19
-
20
- @jshint_command = "#{@options[:jshint]} --reporter=" +
21
- File.expand_path('jsonreporter.js', File.dirname(__FILE__)) + ' '
22
19
  end
23
20
 
24
21
  def detect_jshint
25
- detect = system(format('%s -v 2>/dev/null', Shellwords.escape(@options[:jshint])))
22
+ command = [@options[:jshint], "-v", "2>/dev/null"]
23
+ detect = system(Shellwords.join(command))
26
24
  fail 'Could not find jshint. Install jshint using npm.' unless detect
27
25
  end
28
26
 
@@ -44,13 +42,16 @@ module RogerJsHint
44
42
  # @option options [Array[Regexp]] :skip Array of regular expressions to skip files
45
43
  def call(test, options)
46
44
  options = {}.update(@options).update(options)
45
+ command = [
46
+ @options[:jshint],
47
+ "--reporter=" + File.expand_path('jsonreporter.js', File.dirname(__FILE__))
48
+ ]
47
49
 
48
50
  detect_jshint
49
51
  test.log(self, 'JS-linting files')
50
52
 
51
53
  test.get_files(options[:match], options[:skip]).each do |file_path|
52
- execute = @jshint_command + ' ' + Shellwords.escape(file_path)
53
- output = `#{execute}`
54
+ output = `#{Shellwords.join(command + [Shellwords.escape(file_path)])}`
54
55
  lint = JSON.parse output
55
56
  report(test, file_path, lint)
56
57
  end
data/roger_jshint.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.authors = ['Hans Krutzer']
5
- s.email = ['info@digitpaint.nl', 'hans@digitpaint.nl']
4
+ s.authors = ['Hans Krutzer', 'Flurin Egger']
5
+ s.email = ['info@digitpaint.nl', 'hans@digitpaint.nl', 'flurin@digitpaint.nl']
6
6
  s.name = 'roger_jshint'
7
- s.version = '0.1.0'
8
- s.homepage = 'https://github.com/hkrutzer/roger_scsslinter'
7
+ s.version = '1.0.0'
8
+ s.homepage = 'https://github.com/digitpaint/roger_jshint'
9
9
 
10
10
  s.summary = 'Lint JavaScript files within Roger'
11
11
  s.description = <<-EOF
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.files = `git ls-files`.split("\n")
20
20
  s.require_paths = ['lib']
21
21
 
22
- s.add_dependency 'roger', '~> 0.13', '>= 0.13.0'
22
+ s.add_dependency 'roger', '~> 1.1', '>= 0.13.0'
23
23
 
24
24
  s.add_development_dependency 'rubocop', ['>= 0']
25
25
  s.add_development_dependency 'rake', ['>= 0']
File without changes
File without changes
data/test/lint_test.rb CHANGED
@@ -14,12 +14,18 @@ class TesterStub
14
14
  end
15
15
 
16
16
  def get_files(_, _)
17
- ['test/test.js']
17
+ ['test/data/test.js']
18
18
  end
19
19
  end
20
20
 
21
21
  # Linting plugin unit test
22
22
  class LintTest < Test::Unit::TestCase
23
+ def setup
24
+ @file_name = ".jshintrc"
25
+ assert !File.exist?(@file_name), ".jshintrc file already exists."
26
+ FileUtils.cp("./test/data/jshintrc", "./.jshintrc")
27
+ end
28
+
23
29
  def test_lint
24
30
  faketester = TesterStub.new
25
31
 
@@ -30,9 +36,13 @@ class LintTest < Test::Unit::TestCase
30
36
  messages.shift
31
37
 
32
38
  assert_equal(messages,
33
- ["test/test.js:0 0: Bad option: 'subsub'.",
34
- "test/test.js:1 1: 'x' is not defined.",
35
- "test/test.js:2 1: 'alert' is not defined.",
36
- "test/test.js:2 7: 'x' is not defined."])
39
+ ["test/data/test.js:0 0: Bad option: 'subsub'.",
40
+ "test/data/test.js:1 1: 'x' is not defined.",
41
+ "test/data/test.js:2 1: 'alert' is not defined.",
42
+ "test/data/test.js:2 7: 'x' is not defined."])
43
+ end
44
+
45
+ def teardown
46
+ File.unlink @file_name
37
47
  end
38
48
  end
metadata CHANGED
@@ -1,75 +1,76 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roger_jshint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hans Krutzer
8
+ - Flurin Egger
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-01-19 00:00:00.000000000 Z
12
+ date: 2015-05-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: roger
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ~>
18
19
  - !ruby/object:Gem::Version
19
- version: '0.13'
20
- - - ">="
20
+ version: '1.1'
21
+ - - '>='
21
22
  - !ruby/object:Gem::Version
22
23
  version: 0.13.0
23
24
  type: :runtime
24
25
  prerelease: false
25
26
  version_requirements: !ruby/object:Gem::Requirement
26
27
  requirements:
27
- - - "~>"
28
+ - - ~>
28
29
  - !ruby/object:Gem::Version
29
- version: '0.13'
30
- - - ">="
30
+ version: '1.1'
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: 0.13.0
33
34
  - !ruby/object:Gem::Dependency
34
35
  name: rubocop
35
36
  requirement: !ruby/object:Gem::Requirement
36
37
  requirements:
37
- - - ">="
38
+ - - '>='
38
39
  - !ruby/object:Gem::Version
39
40
  version: '0'
40
41
  type: :development
41
42
  prerelease: false
42
43
  version_requirements: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - ">="
45
+ - - '>='
45
46
  - !ruby/object:Gem::Version
46
47
  version: '0'
47
48
  - !ruby/object:Gem::Dependency
48
49
  name: rake
49
50
  requirement: !ruby/object:Gem::Requirement
50
51
  requirements:
51
- - - ">="
52
+ - - '>='
52
53
  - !ruby/object:Gem::Version
53
54
  version: '0'
54
55
  type: :development
55
56
  prerelease: false
56
57
  version_requirements: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - ">="
59
+ - - '>='
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
62
  - !ruby/object:Gem::Dependency
62
63
  name: test-unit
63
64
  requirement: !ruby/object:Gem::Requirement
64
65
  requirements:
65
- - - ">="
66
+ - - '>='
66
67
  - !ruby/object:Gem::Version
67
68
  version: '0'
68
69
  type: :development
69
70
  prerelease: false
70
71
  version_requirements: !ruby/object:Gem::Requirement
71
72
  requirements:
72
- - - ">="
73
+ - - '>='
73
74
  - !ruby/object:Gem::Version
74
75
  version: '0'
75
76
  description: |2
@@ -78,13 +79,15 @@ description: |2
78
79
  email:
79
80
  - info@digitpaint.nl
80
81
  - hans@digitpaint.nl
82
+ - flurin@digitpaint.nl
81
83
  executables: []
82
84
  extensions: []
83
85
  extra_rdoc_files: []
84
86
  files:
85
- - ".gitignore"
86
- - ".rubocop.yml"
87
- - ".travis.yml"
87
+ - .gitignore
88
+ - .rubocop.yml
89
+ - .ruby-version
90
+ - .travis.yml
88
91
  - Gemfile
89
92
  - LICENSE
90
93
  - README.md
@@ -93,10 +96,10 @@ files:
93
96
  - lib/roger_jshint/jsonreporter.js
94
97
  - lib/roger_jshint/lint.rb
95
98
  - roger_jshint.gemspec
96
- - test/jshintrc
99
+ - test/data/jshintrc
100
+ - test/data/test.js
97
101
  - test/lint_test.rb
98
- - test/test.js
99
- homepage: https://github.com/hkrutzer/roger_scsslinter
102
+ homepage: https://github.com/digitpaint/roger_jshint
100
103
  licenses:
101
104
  - MIT
102
105
  metadata: {}
@@ -106,17 +109,17 @@ require_paths:
106
109
  - lib
107
110
  required_ruby_version: !ruby/object:Gem::Requirement
108
111
  requirements:
109
- - - ">="
112
+ - - '>='
110
113
  - !ruby/object:Gem::Version
111
114
  version: '0'
112
115
  required_rubygems_version: !ruby/object:Gem::Requirement
113
116
  requirements:
114
- - - ">="
117
+ - - '>='
115
118
  - !ruby/object:Gem::Version
116
119
  version: '0'
117
120
  requirements: []
118
121
  rubyforge_project:
119
- rubygems_version: 2.2.2
122
+ rubygems_version: 2.4.5
120
123
  signing_key:
121
124
  specification_version: 4
122
125
  summary: Lint JavaScript files within Roger