npmdc 0.1.0 → 0.1.1
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 +4 -4
- data/.codeclimate.yml +25 -0
- data/.editorconfig +9 -0
- data/.rubocop.yml +1156 -0
- data/.travis.yml +4 -1
- data/CHANGELOG.md +5 -0
- data/README.md +12 -2
- data/Rakefile +2 -2
- data/bin/console +3 -3
- data/bin/npmdc +2 -2
- data/lib/npmdc/checker.rb +15 -15
- data/lib/npmdc/cli.rb +5 -5
- data/lib/npmdc/railtie.rb +2 -2
- data/lib/npmdc/version.rb +1 -1
- data/npmdc.gemspec +16 -17
- metadata +11 -8
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
|
-
|
1
|
+
[](https://travis-ci.org/lysyi3m/npmdc)
|
2
|
+
[](https://codeclimate.com/github/lysyi3m/npmdc)
|
3
|
+
[](https://badge.fury.io/rb/npmdc)
|
4
|
+
|
5
|
+
npmdc
|
6
|
+
=========
|
7
|
+
|
8
|
+
**NPM Dependency Checker** is a simple tool which can check for missed dependencies based on your `package.json` file.
|
9
|
+
|
10
|
+
<a href="https://evilmartians.com/?utm_source=npmdc">
|
11
|
+
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54">
|
12
|
+
</a>
|
2
13
|
|
3
|
-
*NPM Dependency Checker* is a simple tool which can check for missed dependencies based on your `package.json` file.
|
4
14
|
|
5
15
|
## Installation
|
6
16
|
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/bin/npmdc
CHANGED
data/lib/npmdc/checker.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'json'
|
2
|
+
require 'npmdc/helpers'
|
3
3
|
|
4
4
|
module Npmdc
|
5
5
|
class Checker
|
6
6
|
def initialize(options)
|
7
7
|
@options = {
|
8
|
-
:
|
9
|
-
:
|
8
|
+
path: options[:path] || Dir.pwd,
|
9
|
+
verbose: options[:verbose]
|
10
10
|
}
|
11
11
|
end
|
12
12
|
|
@@ -18,21 +18,21 @@ module Npmdc
|
|
18
18
|
@installed_modules = get_installed_modules
|
19
19
|
end
|
20
20
|
|
21
|
-
if package_json_data
|
22
|
-
dependencies = package_json_data[
|
21
|
+
if package_json_data && package_json_data.key?('dependencies')
|
22
|
+
dependencies = package_json_data['dependencies']
|
23
23
|
check_dependencies(dependencies)
|
24
24
|
end
|
25
25
|
|
26
|
-
if package_json_data
|
27
|
-
dev_dependencies = package_json_data[
|
28
|
-
check_dependencies(dev_dependencies,
|
26
|
+
if package_json_data && package_json_data.key?('devDependencies')
|
27
|
+
dev_dependencies = package_json_data['devDependencies']
|
28
|
+
check_dependencies(dev_dependencies, 'devDependencies')
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
32
|
private
|
33
33
|
|
34
34
|
def get_installed_modules
|
35
|
-
modules_directory = File.join(@options[:path],
|
35
|
+
modules_directory = File.join(@options[:path], 'node_modules')
|
36
36
|
|
37
37
|
if Dir.exists?(modules_directory)
|
38
38
|
modules = {}
|
@@ -47,7 +47,7 @@ module Npmdc
|
|
47
47
|
else
|
48
48
|
message = [
|
49
49
|
"Failed! Can't find `node_modules` folder inside '#{@options[:path]}' directory!",
|
50
|
-
|
50
|
+
'Try running `npm install` first.'
|
51
51
|
].join("\n")
|
52
52
|
|
53
53
|
puts message
|
@@ -56,7 +56,7 @@ module Npmdc
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def get_package_json(directory)
|
59
|
-
file_path = File.join(directory,
|
59
|
+
file_path = File.join(directory, 'package.json')
|
60
60
|
|
61
61
|
if File.file?(file_path)
|
62
62
|
File.read(file_path)
|
@@ -69,11 +69,11 @@ module Npmdc
|
|
69
69
|
begin
|
70
70
|
JSON.parse(json)
|
71
71
|
rescue JSON::ParserError => e
|
72
|
-
raise
|
72
|
+
raise 'Failed to parse package.json file.'
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
def check_dependencies(deps = {}, type =
|
76
|
+
def check_dependencies(deps = {}, type = 'dependencies')
|
77
77
|
puts "Check #{type}..." if @options[:verbose]
|
78
78
|
|
79
79
|
missed_dependencies = []
|
@@ -82,7 +82,7 @@ module Npmdc
|
|
82
82
|
if @installed_modules.key?(dep)
|
83
83
|
package_json = get_package_json(@installed_modules[dep])
|
84
84
|
package_json_data = parse_package_json(package_json)
|
85
|
-
missed_dependencies.push(dep) unless package_json_data[
|
85
|
+
missed_dependencies.push(dep) unless package_json_data && package_json_data['name'] == dep
|
86
86
|
else
|
87
87
|
missed_dependencies.push(dep)
|
88
88
|
end
|
data/lib/npmdc/cli.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'thor'
|
2
|
+
require 'npmdc'
|
3
3
|
|
4
4
|
module Npmdc
|
5
5
|
class Cli < Thor
|
6
|
-
class_option
|
6
|
+
class_option 'verbose', type: :boolean, desc: 'Enable verbose output mode', aliases: '-V'
|
7
7
|
default_task :check
|
8
8
|
|
9
|
-
desc
|
9
|
+
desc 'check', 'Run check'
|
10
10
|
option :path
|
11
11
|
def check
|
12
12
|
Npmdc::Checker.new(options).call
|
13
13
|
end
|
14
14
|
|
15
15
|
map %w[--version -v] => :__print_version
|
16
|
-
desc
|
16
|
+
desc '--version, -v', 'Print gem version'
|
17
17
|
def __print_version
|
18
18
|
puts Npmdc::VERSION
|
19
19
|
end
|
data/lib/npmdc/railtie.rb
CHANGED
@@ -6,8 +6,8 @@ module Npmdc
|
|
6
6
|
|
7
7
|
initializer 'npmdc' do |app|
|
8
8
|
options = {
|
9
|
-
:
|
10
|
-
:
|
9
|
+
path: app.config.npmdc[:path] || Rails.root,
|
10
|
+
verbose: app.config.npmdc[:verbose]
|
11
11
|
}
|
12
12
|
|
13
13
|
Npmdc.call(options)
|
data/lib/npmdc/version.rb
CHANGED
data/npmdc.gemspec
CHANGED
@@ -5,23 +5,22 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require 'npmdc/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name =
|
8
|
+
spec.name = 'npmdc'
|
9
9
|
spec.version = Npmdc::VERSION
|
10
10
|
spec.platform = Gem::Platform::RUBY
|
11
|
-
spec.authors = [
|
12
|
-
spec.email = [
|
13
|
-
spec.summary =
|
14
|
-
spec.description =
|
15
|
-
spec.homepage =
|
16
|
-
spec.license =
|
17
|
-
spec.files = `git ls-files -z`.split("\x0").reject
|
18
|
-
|
19
|
-
|
20
|
-
spec.
|
21
|
-
spec.
|
22
|
-
spec.
|
23
|
-
spec.
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
11
|
+
spec.authors = ['Emil Kashkevich']
|
12
|
+
spec.email = ['emil.kashkevich@gmail.com']
|
13
|
+
spec.summary = 'Check for missed dependencies of NPM packages.'
|
14
|
+
spec.description = 'Check for missed dependencies of NPM packages based on dependency list specified in package.json file.'
|
15
|
+
spec.homepage = 'https://github.com/lysyi3m/npmdc'
|
16
|
+
spec.license = 'MIT'
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = 'bin'
|
19
|
+
spec.executables = ['npmdc']
|
20
|
+
spec.require_paths = ['lib']
|
21
|
+
spec.required_ruby_version = '>= 2.2.0'
|
22
|
+
spec.add_dependency 'thor', '~> 0.19.4'
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.13'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
26
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: npmdc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emil Kashkevich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.19.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.19.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,8 +75,11 @@ executables:
|
|
75
75
|
extensions: []
|
76
76
|
extra_rdoc_files: []
|
77
77
|
files:
|
78
|
+
- ".codeclimate.yml"
|
79
|
+
- ".editorconfig"
|
78
80
|
- ".gitignore"
|
79
81
|
- ".rspec"
|
82
|
+
- ".rubocop.yml"
|
80
83
|
- ".travis.yml"
|
81
84
|
- CHANGELOG.md
|
82
85
|
- Gemfile
|
@@ -105,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
108
|
requirements:
|
106
109
|
- - ">="
|
107
110
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
111
|
+
version: 2.2.0
|
109
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
113
|
requirements:
|
111
114
|
- - ">="
|
@@ -113,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
116
|
version: '0'
|
114
117
|
requirements: []
|
115
118
|
rubyforge_project:
|
116
|
-
rubygems_version: 2.5.
|
119
|
+
rubygems_version: 2.5.2
|
117
120
|
signing_key:
|
118
121
|
specification_version: 4
|
119
122
|
summary: Check for missed dependencies of NPM packages.
|