jscop 0.1.4 → 0.1.9

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
  SHA256:
3
- metadata.gz: 11a58c121a44379f5c4cf6117db6ae5034eb1ba3ce86ab5c60236ae572808136
4
- data.tar.gz: 43282861b0fb49e9dac054cb014e406d9ce164d0860229209b0ace26d7c1c0ed
3
+ metadata.gz: 3fec0bd785ae7f1ebe5987dc2264496988e81bc43b3b805311712b475410aa96
4
+ data.tar.gz: 37f0a68427d71ff1b6c11f2e587e7c037e8ed1a075b2aea02a9e162960614c3d
5
5
  SHA512:
6
- metadata.gz: 7296b4d12c6d2796cdb566e322c2bcee6bad26d3e5f0abd6d0ff6191744c56ed5800a47ba0a13b34ee2c59f5410332317acb081c49c0d7aa3fd2e3f12edc8759
7
- data.tar.gz: 777abcca2f151e8bbb955d241447763cc37ce9a1c0987cc7e863f8ab81b82886b6b8c51a975044dca235c27e4c55a34e82d8d227ae696bd5ec2396212bdaa3a2
6
+ metadata.gz: fa88e49442c7e9ccc77e58ae69bf595c023943c100d0de60ce45734cec48b92e3064f06c96c2c06e30fb1ca77be0a67a3207f2aba3874a8a377bca81c7d7fefa
7
+ data.tar.gz: e45bc88c103e67e4f714713ba9fbd96ad8606be59c08d4e3f750050f85385f716c5c1d0814adf14ad7c67a51e59bb43b6755c7d85a079a677aef68fd47e4fc51
@@ -1,10 +1,10 @@
1
1
  AllCops:
2
2
  Exclude:
3
3
  - "spec/spec_helper.rb"
4
+ - "lib/jscop/spacing_checker.rb"
4
5
  - "README.md"
5
6
  - "Guardfile"
6
7
  - "Rakefile"
7
- - "rof_work.rb"
8
8
  - "vendor/**/*"
9
9
  - "jscop.gemspec"
10
10
 
@@ -14,6 +14,8 @@ Lint/RaiseException:
14
14
  Enabled: false
15
15
  Lint/StructNewOverride:
16
16
  Enabled: false
17
+ Lint/UselessAssignment:
18
+ Enabled: false
17
19
 
18
20
  Layout/LineLength:
19
21
  Max: 120
@@ -6,9 +6,9 @@ linters:
6
6
  files:
7
7
  ignore:
8
8
  - "Guardfile"
9
+ - "lib/jscop/spacing_checker.rb"
9
10
  - "Rakefile"
10
11
  - "node_modules/**/*"
11
12
  - "spec/spec_helper.rb"
12
- - "rof_work.rb"
13
13
  - "vendor/**/*"
14
14
  - "jscop.gemspec"
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
5
5
  # Specify your gem's dependencies in jscop.gemspec
6
6
  gemspec
7
7
  gem 'colorize', '~> 0.8.1'
8
+ gem 'rake', '~> 12.3.3'
8
9
  gem 'rspec'
9
10
  gem 'rubocop'
10
11
  gem 'tty-font', '~> 0.5.0'
@@ -1,44 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jscop (0.1.4)
4
+ jscop (0.1.8)
5
5
  colorize (~> 0.8)
6
6
  tty-font (~> 0.5)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- ast (2.4.0)
11
+ ast (2.4.1)
12
12
  colorize (0.8.1)
13
- diff-lcs (1.3)
14
- jaro_winkler (1.5.4)
15
- parallel (1.19.1)
16
- parser (2.7.1.1)
17
- ast (~> 2.4.0)
13
+ diff-lcs (1.4.4)
14
+ parallel (1.19.2)
15
+ parser (2.7.1.4)
16
+ ast (~> 2.4.1)
18
17
  rainbow (3.0.0)
19
- rake (12.3.2)
18
+ rake (12.3.3)
19
+ regexp_parser (1.7.1)
20
20
  rexml (3.2.4)
21
21
  rspec (3.9.0)
22
22
  rspec-core (~> 3.9.0)
23
23
  rspec-expectations (~> 3.9.0)
24
24
  rspec-mocks (~> 3.9.0)
25
- rspec-core (3.9.1)
26
- rspec-support (~> 3.9.1)
27
- rspec-expectations (3.9.1)
25
+ rspec-core (3.9.2)
26
+ rspec-support (~> 3.9.3)
27
+ rspec-expectations (3.9.2)
28
28
  diff-lcs (>= 1.2.0, < 2.0)
29
29
  rspec-support (~> 3.9.0)
30
30
  rspec-mocks (3.9.1)
31
31
  diff-lcs (>= 1.2.0, < 2.0)
32
32
  rspec-support (~> 3.9.0)
33
- rspec-support (3.9.2)
34
- rubocop (0.82.0)
35
- jaro_winkler (~> 1.5.1)
33
+ rspec-support (3.9.3)
34
+ rubocop (0.89.1)
36
35
  parallel (~> 1.10)
37
- parser (>= 2.7.0.1)
36
+ parser (>= 2.7.1.1)
38
37
  rainbow (>= 2.2.2, < 4.0)
38
+ regexp_parser (>= 1.7)
39
39
  rexml
40
+ rubocop-ast (>= 0.3.0, < 1.0)
40
41
  ruby-progressbar (~> 1.7)
41
42
  unicode-display_width (>= 1.4.0, < 2.0)
43
+ rubocop-ast (0.3.0)
44
+ parser (>= 2.7.1.4)
42
45
  ruby-progressbar (1.10.1)
43
46
  tty-font (0.5.0)
44
47
  unicode-display_width (1.7.0)
@@ -47,13 +50,13 @@ PLATFORMS
47
50
  ruby
48
51
 
49
52
  DEPENDENCIES
50
- bundler (~> 1.17)
53
+ bundler (~> 2.1.0)
51
54
  colorize (~> 0.8.1)
52
55
  jscop!
53
- rake (~> 12.3)
56
+ rake (~> 12.3.3)
54
57
  rspec
55
58
  rubocop
56
59
  tty-font (~> 0.5.0)
57
60
 
58
61
  BUNDLED WITH
59
- 1.17.2
62
+ 2.1.4
data/README.md CHANGED
@@ -1,9 +1,25 @@
1
- [![Gem Version](https://badge.fury.io/rb/jscop.svg)](https://badge.fury.io/rb/jscop) [![Run on Repl.it](https://repl.it/badge/github/codecell/js-companion)](https://repl.it/github/codecell/js-companion)
1
+ [![Gem Version](https://badge.fury.io/rb/jscop.svg)](https://badge.fury.io/rb/jscop) [![Build Status](https://travis-ci.org/codecell/jscop.svg?branch=development)](https://travis-ci.org/codecell/jscop)
2
2
 
3
3
  # Jscop
4
4
 
5
5
  This is a Linter for checking errors in Javascript code, built with Ruby.
6
6
 
7
+ ## Outline
8
+ - [Installation](#Installation)
9
+ - [Usage](#Usage)
10
+ - [Errors currently detectable by jscop](#ERRORS)
11
+ - Variable naming errors
12
+ - Class naming errors
13
+ - Extra or redundant spacing errors
14
+ - Multiple declaration of classes in a file (class count) errors
15
+ - Unused variables are detected
16
+ - [More about usage](#More-About-Usage)
17
+ - [Testing this repo](#Testing-This-Repo)
18
+ - [Built With](#Built-With)
19
+ - [Contributing](#contributing)
20
+ - [Code of conduct](#Code-of-Conduct)
21
+ - [Licence](#License)
22
+
7
23
  ## Installation
8
24
 
9
25
  Add this line to your application's Gemfile:
@@ -24,76 +40,60 @@ Or install it yourself as:
24
40
  - once in desired path in the terminal/console, RUN
25
41
 
26
42
  ```ruby
27
- a. jscop # To lint all *.js files in the current Path.
43
+ a. jscop # To lint all *.js files in the current $Path.
28
44
  b. jscop ./**/path_to_file.js # To lint JUST a specific file.
29
45
  c. jscop foldername # To lint all *.js files in a specific folder.
30
46
  ```
31
47
 
32
- ## Outline
33
- - Title, Description, Installation, Usage Above
34
- - Errors currently detectable by jscop
35
- - variable naming errors
36
- - class naming errors
37
- - Extra or redundant spacing errors
38
- - Multiple declaration of classes in a file (class count) errors
39
- - Unused variables are detected
40
- - Arguments supported to initiate linting
41
- - Testing Javascript files with Js-Companion
42
- - cloning Locally to local machine
43
- - Unit Tests
44
- - Tools used
45
- - Code of conduct
46
- - Contributing
47
-
48
- ## ERRORS that can currently be detected include
48
+ ## ERRORS
49
+ The following erros are currently detectable by Jscop:
49
50
 
50
51
  ### VARIABLE NAMING ERRORS
51
- - if capital letters or numbers is used to start a variable name, e.g
52
+ - if capital letters or numbers are used to start a variable name, e.g
52
53
  - `*Bad practice* let 8owngoal = 4 or const Capvar = 9`
53
- - `*Good Practice* let meka = 4 or const mEeka = 9`
54
+ - `*Good practice* let owngoal = 4 or const capVar = 9`
54
55
 
55
56
  ### CLASS NAME ERRORS
56
- - if class names begin With small letters and/or
57
- - if class names is Snake-Cased or both e.g
57
+ - if class names begin with small letters and/or
58
+ - if class names are snake-cased or both e.g
58
59
  - `*Bad practice* class badclass {} or class Bad-class {}`
59
- - `*Good Practice* class GoodClass {} or class Good_Class {}`
60
+ - `*Good practice* class GoodClass {} or class Good_Class {}`
60
61
  - Or if underscores and hyphen are mixed
61
62
  `*Bad practice* class Bad_class-Name {}`
62
63
 
63
64
  ### SPACING ERRORS
64
- - if Spaces are found at beginning of lines
65
+ - if spaces are found at beginning of lines
65
66
  - if extra spaces are found around variables e.g
66
- - `*Bad practice* let| | vacuuuum = 4 or var hollow| | = 9`
67
- - `*Good Practice* let meka = 4 or const mEeka = 9`
67
+ - `*Bad practice* let| | vacuum = 4 or var hollow| | = 9`
68
+ - `*Good practice* let vacuum = 4 or const hollow = 9`
68
69
 
69
70
  ### CLASS COUNT ERROR
70
- - if more than one class is defined in a Module,
71
+ - if more than one class is defined in a module,
71
72
 
72
73
  ### UNUSED VARIABLE ERROR
73
74
  - if a variable (var, let, const) is defined and never used.
74
- - A lot of edge cases is covered here.
75
+ - A lot of edge cases are covered here.
75
76
 
76
- ## Arguments Supported By Js-Companion to check Javascript code
77
+ ## More About Usage
78
+ Arguments Supported By jscop to Check Javascript Code
77
79
  - You can pass in file(s) or a folder in any of the following cases in your terminal
78
- - `Youn can pass in a specific file Path to test just the file`
79
- - `You can pass in a Folder and all Javascript files in it will be checked and finally`
80
- - `Everything Js can be linted all at once (both files and Folders)`
81
-
82
- ## Testing This Repo
83
- - Once in the Path you intend to keep this project in the terminal of your machine
84
- - Clone with this command git clone [repo](https://github.com/codecell/jscop.git)
85
- - change directory into the folder cd jscop
86
- - Install project dependencies with the command bundle install
87
- - You can make the exe/jscop executable with the command chmod a+x exe/jscop if permission is not granted
88
-
89
- ## Unit Tests
90
- - Ensure you have `rspec` installed, or ensure the `gem 'rspec` is listed among the gems in the `Gemfile` => then run `bundle install`
91
- - in your console, run `rspec` or `rake` to run all the unit tests written for this project
80
+ - `You can pass in a specific file $Path to test just the file`
81
+ - `You can pass in a folder and all javascript files in it will be checked and finally`
82
+ - `Everything Js can be linted all at once (both files and folders)`
83
+
84
+ ## Testing this Repo
85
+ - Once in the $Path you intend to keep this project in the terminal of your machine
86
+ - Clone with this command `git clone [repo](https://github.com/codecell/jscop.git)`
87
+ - Change directory into the folder `cd jscop`
88
+ - Install project dependencies with the command `bundle install`
89
+ - You can make the `exe/jscop` file executable with the command `chmod a+x exe/jscop` if permission is not granted
90
+ - Ensure you have `rspec` installed, or ensure that `gem rspec` is listed among the gems in the `Gemfile` => then run `bundle install`
91
+ - In the console, run `rspec` or `rake` to run all the unit tests written for this project
92
92
 
93
93
  ## Built With
94
94
  - Ruby
95
- - [Rubular](https://rubular.com/) Was used to craft and test the regular expressions
96
- - Rubocop Linter
95
+ - [Rubular](https://rubular.com/) was used to craft and test the regular expressions
96
+ - Rubocop linter
97
97
  - Stickler CI
98
98
 
99
99
  ## Contributing
data/exe/jscop CHANGED
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
- require 'jscop/version'
3
- require_relative '../lib/helpers/lint_ware'
4
2
  require 'tty-font'
5
3
  require 'colorize'
6
4
 
5
+ require 'jscop/version'
6
+ require_relative '../lib/helpers/lint_ware'
7
+
7
8
  def show_title
8
9
  font = TTY::Font.new
9
10
  font_messge = font.write('Jscop', letter_spacing: 1)
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_runtime_dependency 'colorize', '~> 0.8'
24
24
  spec.add_runtime_dependency 'tty-font', '~> 0.5'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.17'
26
+ spec.add_development_dependency 'bundler', '~> 2.1.0'
27
27
  spec.add_development_dependency 'rake', '~> 12.3'
28
28
  spec.add_development_dependency 'rspec', '~> 3.0'
29
29
  end
@@ -11,10 +11,15 @@ class JsParser
11
11
 
12
12
  def set_lines
13
13
  file = File.open(@filename)
14
+ config_dirs = File.dirname(@filename).match?(/(node_modules|config|babel|channels|vendor)/)
15
+
16
+ files_for_escape = file if config_dirs == true
17
+ files_for_escape.to_a && config_dirs
14
18
 
15
19
  all_lines = file.readlines.map(&:chomp)
16
20
  init_lines = lambda { |val, index|
17
21
  line = Line.new(index + 1, val, @filename)
22
+
18
23
  @lines << line
19
24
  }
20
25
 
@@ -15,27 +15,81 @@ module SpacingChecker
15
15
  end
16
16
 
17
17
  def self.found_spaces(cont)
18
- spaces_before = /[\s]+(const|let|var|function|class|[\}$])[\s]+[\w]*/
19
- spaces_after = /(const|let|var|function|class)[\s]{2,}[\w]+[\s]*[\=]/
20
- spaced_console = /[\s]+(function|(console.log)[\(][\w]*[\)])[\s]*/
21
- closing_line = /[\s]+[\}][\s]*/
18
+ /(?<lhs>\w+[\W]*)\s{2,}(?<rhs>\w+[\W]*)/ =~ cont
19
+ vsf = !Regexp.last_match.nil?
20
+
21
+ /(?<lhs>\w+\W*)\s{2,}=\s*(?<rhs>\w+\W*)/ =~ cont
22
+ beq = !Regexp.last_match.nil?
23
+
24
+ /(?<lhs>\w+\W*)\s*=\s{2,}(?<rhs>\w+\W*)/ =~ cont
25
+ aeq = !Regexp.last_match.nil?
26
+
27
+ spaced_console = /(console.log)[\s+][\(][\w\W]+[\)]/
28
+ spc = spaced_console.match?(cont)
29
+ commented_line = cont.match?(%r{^\W+[\/\/]})
30
+
31
+ !commented_line && (vsf || beq || aeq || spc)
32
+ end
33
+
34
+ def self.spc_around_fn(cont)
35
+ around_funcs = /[\)][\s]{2,}[\{]/.match?(cont)
36
+ around_classes = /[\w+\-*]*[\s]{2,}[\{]/.match?(cont)
22
37
 
23
38
  commented_line = cont.match?(%r{^\W+[\/\/]})
24
39
 
25
- a = spaces_before.match?(cont)
26
- b = spaces_after.match?(cont)
27
- c = spaced_console.match?(cont)
40
+ !commented_line && (around_funcs || around_classes)
41
+ end
42
+
43
+ def self.closing_curly_spacing(cont)
44
+ spaced_closing_curly = /[\s]+[\}][\s]*/
45
+ c = spaced_closing_curly.match(cont)
46
+
47
+ commented_line = cont.match?(%r{^\W+[\/\/]})
28
48
 
29
- !commented_line && (a || b || c || closing_line.match?(cont))
49
+ c && !commented_line
50
+ end
51
+
52
+ def self.closed_curly(cont)
53
+ cont.match?(/}/)
54
+ end
55
+
56
+ def self.open_curly(cont)
57
+ cont.match?(/{/)
58
+ end
59
+
60
+ def self.line_beginining_spaces(line)
61
+ /^[\s+][\w\W]*/.match?(line)
30
62
  end
31
63
 
32
64
  def self.check_spaces(file)
65
+ seen_open = false
66
+ counter = 0
33
67
  lines_with_spaces = []
34
- check_line = lambda { |line|
35
- lines_with_spaces << line.number if found_spaces(line.content) && !lines_with_spaces.nil?
36
- }
68
+
69
+ opening_tracker = 0
70
+ closing_tracker = 0
71
+
72
+ arr = file.lines
37
73
  err_type = 'SPACING_ERR'
38
- file.lines.each(&check_line)
74
+
75
+ while counter < arr.length
76
+ line = arr[counter]
77
+
78
+ seen_open = true if open_curly(line.content)
79
+
80
+ opening_tracker += 1 if line.content.match?(/{/)
81
+ closing_tracker += 1 if line.content.match?(/}/) && !line.content.match?(/[\}][\s]*[\)]/)
82
+
83
+ lines_with_spaces << line.number if line_beginining_spaces(line.content) unless seen_open
84
+ opt = (opening_tracker == closing_tracker)
85
+ seen_open = false if closed_curly(line.content) && opt
86
+
87
+ lines_with_spaces << line.number if closing_curly_spacing(line.content) && opt
88
+ lines_with_spaces << line.number if found_spaces(line.content) && !lines_with_spaces.nil?
89
+ lines_with_spaces << line.number if spc_around_fn(line.content)
90
+
91
+ counter += 1
92
+ end
39
93
 
40
94
  lines_with_spaces.each { |line| raise_err(line, err_type, file.filename) if !lines_with_spaces.empty? }
41
95
  end
@@ -14,29 +14,53 @@ module UnusedVarChecker
14
14
  unused_var_err
15
15
  end
16
16
 
17
- def self.extract_from_parentesis(expresn)
18
- /([\(][\w\W]+[\)])/ =~ expresn
19
- vars_match_data = Regexp.last_match
17
+ def self.check_escapable(elem)
18
+ escapables = [
19
+ '', 'var', 'let', 'const', 'constructor', 'class', 'super', 'function', 'static', 'console',
20
+ 'prototype', 'get', 'set', 'this', 'alert', 'prompt', 'return', 'export', 'import', 'default',
21
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
22
+ ]
23
+
24
+ escapables.include?(elem)
25
+ end
20
26
 
21
- vars_match_data_str_arr = vars_match_data.to_s.split
27
+ def self.vars_parentesis(paramz)
28
+ /(?<lhs>[\(])(?<rhs>[^\{]*[\w\-]+)/ =~ paramz
29
+ vars = Regexp.last_match(:rhs)
30
+ vars = vars.to_s.split if vars
31
+ vars_match_data = vars.to_s.split
22
32
 
23
- vars_match_data_str_arr.collect { |var|
33
+ each_var = vars_match_data.collect { |var|
24
34
  /([\w\-]+)/ =~ var
25
- wanted = Regexp.last_match
35
+ wanted = Regexp.last_match(0)
26
36
  wanted = wanted.to_s
27
-
28
- all_params << wanted.to_s if !wanted.empty?
37
+ wanted
29
38
  }
39
+ each_var[0] if each_var[0] && !each_var.nil?
40
+ end
41
+
42
+ def self.match_accessd_var(vari)
43
+ /(?<lhs>[\w+\-*]+)[\[](?<rhs>[\w+\-*]+)/ =~ vari
44
+ sqad = Regexp.last_match(:rhs)
45
+
46
+ /(?<lhs>[\w+\-*]+)\.(?<rhs>[\w+\-*]+)/ =~ vari
47
+ awda = Regexp.last_match(:rhs)
48
+
49
+ sqad || awda
30
50
  end
31
- # /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ " x = y " <= From: https://ruby-doc.org/core-2.6.4/Regexp.html
32
51
 
33
- # rubocop:disable Lint/UselessAssignment
34
52
  def self.match_variable(contents)
35
53
  /(?<lhs>\w+)\s*=\s*(?<rhs>\w*\W*)/ =~ contents
54
+ equals_var = Regexp.last_match(:lhs)
55
+
56
+ /(?<lhs>(let|var|const))\s{1,}(?<rhs>[\w\-]*)/ =~ contents
57
+ lazy_init_var = Regexp.last_match(:rhs)
36
58
 
37
- lhs
59
+ /(?<lhs>\w+)\s*(?<rhs>[\(\w+\)]*)/ =~ contents
60
+ func_call_var = Regexp.last_match(:lhs)
61
+
62
+ lazy_init_var || func_call_var || equals_var
38
63
  end
39
- # rubocop:enable Lint/UselessAssignment
40
64
 
41
65
  def self.create_variables_check_info(count_vs_var, lines_vs_var, filename)
42
66
  err_type = 'UNUSED_VAR_ERR'
@@ -59,31 +83,23 @@ module UnusedVarChecker
59
83
  lines_variables_hash = {}
60
84
 
61
85
  line_check = lambda { |line|
62
- /([\(][\w\W]+[\)])/ =~ line.content.to_s
63
- vars_match_data = Regexp.last_match
64
-
65
- vars_match_data = vars_match_data if !vars_match_data.nil?
66
- vars_match_data_str_arr = vars_match_data.to_s.split
86
+ commented_line = line.content.to_s.match?(%r{^\W+[\/\/]})
67
87
 
68
- escapables = ['var', 'let', '', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
88
+ from_parentsis = vars_parentesis(line.content.to_s) if !commented_line
89
+ lines_variables_hash[line.number] = from_parentsis if from_parentsis
90
+ variable_instances << from_parentsis if !check_escapable(from_parentsis) && !from_parentsis.nil?
69
91
 
70
- vars_match_data_str_arr.collect { |var|
71
- /([\w\-]+)/ =~ var
72
- wanted = Regexp.last_match
73
- wanted = wanted.to_s
74
- lines_variables_hash[line.number] = wanted if wanted
75
- variable_instances << wanted if !escapables.include?(wanted)
76
- }
92
+ detected_var = match_variable(line.content.to_s) if !commented_line
93
+ detected_accessd_var = match_accessd_var(line.content.to_s) if !commented_line
77
94
 
78
- commented_line = line.content.to_s.match?(%r{^\W+[\/\/]})
95
+ lines_variables_hash[line.number] = detected_var if detected_var
96
+ lines_variables_hash[line.number] = detected_accessd_var if detected_accessd_var
79
97
 
80
- detected_variable = match_variable(line.content.to_s) if !commented_line
81
- lines_variables_hash[line.number] = detected_variable if detected_variable
82
- variable_instances << detected_variable if detected_variable
98
+ variable_instances << detected_var if !check_escapable(detected_var) && !detected_var.nil?
99
+ variable_instances << detected_accessd_var if !check_escapable(detected_accessd_var) && !detected_accessd_var.nil?
83
100
  }
84
101
 
85
102
  file.lines.each(&line_check)
86
-
87
103
  variable_instances.map { |el|
88
104
  var_instances_count_hash[el] = var_instances_count_hash[el] ? var_instances_count_hash[el] += 1 : 1
89
105
  }
@@ -1,3 +1,3 @@
1
1
  module Jscop
2
- VERSION = '0.1.4'.freeze
2
+ VERSION = '0.1.9'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jscop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezaka Alfred
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-27 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.17'
47
+ version: 2.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.17'
54
+ version: 2.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  requirements: []
139
- rubygems_version: 3.0.3
139
+ rubygems_version: 3.1.4
140
140
  signing_key:
141
141
  specification_version: 4
142
142
  summary: A linter for checking errors in javascript code