package-audit 0.5.1 → 0.6.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/package/audit/cli.rb +11 -9
  3. data/lib/package/audit/const/cmd.rb +2 -2
  4. data/lib/package/audit/enum/format.rb +14 -0
  5. data/lib/package/audit/enum/option.rb +1 -1
  6. data/lib/package/audit/enum/technology.rb +1 -1
  7. data/lib/package/audit/models/package.rb +2 -2
  8. data/lib/package/audit/npm/node_collection.rb +17 -0
  9. data/lib/package/audit/npm/npm_meta_data.rb +24 -2
  10. data/lib/package/audit/npm/vulnerability_finder.rb +7 -1
  11. data/lib/package/audit/ruby/bundler_specs.rb +16 -1
  12. data/lib/package/audit/services/command_parser.rb +56 -15
  13. data/lib/package/audit/services/config_cleaner.rb +221 -0
  14. data/lib/package/audit/services/package_filter.rb +24 -4
  15. data/lib/package/audit/services/package_finder.rb +1 -1
  16. data/lib/package/audit/services/package_printer.rb +65 -56
  17. data/lib/package/audit/technology/validator.rb +7 -14
  18. data/lib/package/audit/util/risk_legend.rb +49 -0
  19. data/lib/package/audit/util/spinner.rb +1 -1
  20. data/lib/package/audit/util/summary_printer.rb +58 -45
  21. data/lib/package/audit/version.rb +1 -1
  22. metadata +12 -52
  23. data/sig/package/audit/cli.rbs +0 -33
  24. data/sig/package/audit/const/cmd.rbs +0 -14
  25. data/sig/package/audit/const/fields.rbs +0 -11
  26. data/sig/package/audit/const/file.rbs +0 -14
  27. data/sig/package/audit/const/time.rbs +0 -11
  28. data/sig/package/audit/const/yaml.rbs +0 -13
  29. data/sig/package/audit/enum/group.rbs +0 -15
  30. data/sig/package/audit/enum/option.rbs +0 -14
  31. data/sig/package/audit/enum/report.rbs +0 -12
  32. data/sig/package/audit/enum/risk_explanation.rbs +0 -12
  33. data/sig/package/audit/enum/risk_type.rbs +0 -12
  34. data/sig/package/audit/enum/technology.rbs +0 -12
  35. data/sig/package/audit/enum/vulnerability_type.rbs +0 -15
  36. data/sig/package/audit/formatter/base.rbs +0 -9
  37. data/sig/package/audit/formatter/risk_printer.rbs +0 -13
  38. data/sig/package/audit/formatter/version_date.rbs +0 -13
  39. data/sig/package/audit/formatter/version_printer.rbs +0 -14
  40. data/sig/package/audit/formatter/vulnerability.rbs +0 -13
  41. data/sig/package/audit/models/package.rbs +0 -47
  42. data/sig/package/audit/models/risk.rbs +0 -12
  43. data/sig/package/audit/npm/node_collection.rbs +0 -28
  44. data/sig/package/audit/npm/npm_meta_data.rbs +0 -19
  45. data/sig/package/audit/npm/vulnerability_finder.rbs +0 -21
  46. data/sig/package/audit/npm/yarn_lock_parser.rbs +0 -22
  47. data/sig/package/audit/ruby/bundler_specs.rbs +0 -11
  48. data/sig/package/audit/ruby/gem_collection.rbs +0 -22
  49. data/sig/package/audit/ruby/gem_meta_data.rbs +0 -23
  50. data/sig/package/audit/ruby/vulnerability_finder.rbs +0 -18
  51. data/sig/package/audit/services/command_parser.rbs +0 -31
  52. data/sig/package/audit/services/duplicate_package_merger.rbs +0 -11
  53. data/sig/package/audit/services/package_filter.rbs +0 -19
  54. data/sig/package/audit/services/package_finder.rbs +0 -26
  55. data/sig/package/audit/services/package_printer.rbs +0 -24
  56. data/sig/package/audit/services/risk_calculator.rbs +0 -21
  57. data/sig/package/audit/technology/detector.rbs +0 -19
  58. data/sig/package/audit/technology/validator.rbs +0 -19
  59. data/sig/package/audit/util/bash_color.rbs +0 -21
  60. data/sig/package/audit/util/spinner.rbs +0 -24
  61. data/sig/package/audit/util/summary_printer.rbs +0 -19
  62. data/sig/package/audit/version.rbs +0 -5
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module Report
5
- ALL: Symbol
6
- DEPRECATED: Symbol
7
- OUTDATED: Symbol
8
- VULNERABLE: Symbol
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module RiskExplanation
5
- OUTDATED: String
6
- OUTDATED_BY_MAJOR_VERSION: String
7
- POTENTIAL_DEPRECATION: String
8
- VULNERABILITY: String
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module RiskType
5
- HIGH: String
6
- LOW: String
7
- MEDIUM: String
8
- NONE: String
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module Technology
5
- NODE: String
6
- RUBY: String
7
-
8
- def self.all: -> Array[String]
9
- end
10
- end
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module VulnerabilityType
5
- CRITICAL: String
6
- HIGH: String
7
- LOW: String
8
- MEDIUM: String
9
- MODERATE: String
10
- NONE: String
11
- UNKNOWN: String
12
- end
13
- end
14
- end
15
- end
@@ -1,9 +0,0 @@
1
- module Package
2
- module Audit
3
- module Formatter
4
- class Base
5
- def format: -> String
6
- end
7
- end
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- module Package
2
- module Audit
3
- module Formatter
4
- class Risk
5
- @risk_type: String
6
-
7
- def initialize: (String) -> void
8
-
9
- def format: -> String
10
- end
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- module Package
2
- module Audit
3
- module Formatter
4
- class VersionDate
5
- @date: String
6
-
7
- def initialize: (String) -> void
8
-
9
- def format: -> void
10
- end
11
- end
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- module Package
2
- module Audit
3
- module Formatter
4
- class Version
5
- @curr: String
6
- @target: String
7
-
8
- def initialize: (String, String) -> void
9
-
10
- def format: -> String
11
- end
12
- end
13
- end
14
- end
@@ -1,13 +0,0 @@
1
- module Package
2
- module Audit
3
- module Formatter
4
- class Vulnerability
5
- @vulnerabilities: Array[String]
6
-
7
- def initialize: (Array[String]) -> void
8
-
9
- def format: -> String
10
- end
11
- end
12
- end
13
- end
@@ -1,47 +0,0 @@
1
- module Package
2
- module Audit
3
- class Package
4
- @groups: Array[String]
5
- @risks: Array[Risk]
6
- @technology: String
7
- @vulnerabilities: Array[String]
8
-
9
- attr_accessor groups: Array[String]
10
- attr_accessor latest_version: String
11
- attr_accessor latest_version_date: String
12
- attr_reader name: String
13
- attr_reader technology: String
14
- attr_reader version: String
15
- attr_accessor version_date: String
16
- attr_accessor vulnerabilities: Array[String]
17
-
18
- def initialize: (String, String, String, **untyped) -> void
19
-
20
- def deprecated?: -> bool
21
-
22
- def full_name: -> String
23
-
24
- def group_list: -> String
25
-
26
- def outdated?: -> bool
27
-
28
- def risk: -> Risk
29
-
30
- def risk?: -> bool
31
-
32
- def risks: -> Array[Risk]
33
-
34
- def risk_explanation: -> String?
35
-
36
- def risk_type: -> String
37
-
38
- def to_csv: (Array[Symbol]) -> String
39
-
40
- def update: (**untyped) -> void
41
-
42
- def vulnerabilities_grouped: -> String
43
-
44
- def vulnerable?: -> bool
45
- end
46
- end
47
- end
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- class Risk
4
- attr_reader explanation: String?
5
- attr_reader type: String
6
-
7
- def initialize: (String, ?String?) -> void
8
-
9
- def <=>: (Risk) -> Integer?
10
- end
11
- end
12
- end
@@ -1,28 +0,0 @@
1
- module Package
2
- module Audit
3
- module Npm
4
- class NodeCollection
5
- @dir: String
6
- @report: Symbol
7
-
8
- def initialize: (String, Symbol) -> void
9
-
10
- def all: -> Array[Package]
11
-
12
- def deprecated: -> Array[Package]
13
-
14
- def fetch: -> Array[Package]
15
-
16
- def outdated: -> Array[Package]
17
-
18
- def vulnerable: -> Array[Package]
19
-
20
- private
21
-
22
- def fetch_from_lock_file: -> Array[Package]
23
-
24
- def fetch_from_package_json: -> Array[Hash[Symbol, untyped]]
25
- end
26
- end
27
- end
28
- end
@@ -1,19 +0,0 @@
1
- module Package
2
- module Audit
3
- module Npm
4
- class NpmMetaData
5
- REGISTRY_URL: String
6
-
7
- @packages: Array[Package]
8
-
9
- def initialize: (Array[Package]) -> void
10
-
11
- def fetch: -> Array[Package]
12
-
13
- private
14
-
15
- def update_meta_data: (Package, Hash[Symbol, untyped]) -> void
16
- end
17
- end
18
- end
19
- end
@@ -1,21 +0,0 @@
1
- module Package
2
- module Audit
3
- module Npm
4
- class VulnerabilityFinder
5
- AUDIT_ADVISORY_REGEX: Regexp
6
-
7
- @dir: String
8
- @pkg_hash: Hash[String, Package]
9
- @vuln_hash: Hash[String?, Package]
10
-
11
- def initialize: (String, Array[Package]) -> void
12
-
13
- def run: -> Array[Package]
14
-
15
- private
16
-
17
- def update_meta_data: (Hash[Symbol, untyped]) -> void
18
- end
19
- end
20
- end
21
- end
@@ -1,22 +0,0 @@
1
- module Package
2
- module Audit
3
- module Npm
4
- class YarnLockParser
5
- @yarn_lock_file: String
6
- @yarn_lock_path: String
7
-
8
- def initialize: (String) -> void
9
-
10
- def fetch: (Hash[Symbol, untyped], Hash[Symbol, untyped]) -> Array[Package]
11
-
12
- private
13
-
14
- def fetch_package_block: (Symbol, String) -> String
15
-
16
- def fetch_package_version: (Symbol, String) -> String
17
-
18
- def regex_pattern_for_package: (Symbol, String) -> Regexp
19
- end
20
- end
21
- end
22
- end
@@ -1,11 +0,0 @@
1
- module Package
2
- module Audit
3
- module Ruby
4
- class BundlerSpecs
5
- def self.all: (String) -> untyped
6
-
7
- def self.gemfile: (String) -> untyped
8
- end
9
- end
10
- end
11
- end
@@ -1,22 +0,0 @@
1
- module Package
2
- module Audit
3
- module Ruby
4
- class GemCollection
5
- @dir: String
6
- @report: Symbol
7
-
8
- def initialize: (String, Symbol) -> void
9
-
10
- def all: -> Array[Package]
11
-
12
- def deprecated: -> Array[Package]
13
-
14
- def fetch: -> Array[Package]
15
-
16
- def outdated: (?include_implicit: bool) -> Array[Package]
17
-
18
- def vulnerable: -> Array[Package]
19
- end
20
- end
21
- end
22
- end
@@ -1,23 +0,0 @@
1
- module Package
2
- module Audit
3
- module Ruby
4
- class GemMetaData
5
- @dir: String
6
- @gem_hash: Hash[String, Package]
7
- @pkgs: Array[Package]
8
-
9
- def initialize: (String, Array[Package]) -> void
10
-
11
- def fetch: -> Array[Package]
12
-
13
- def find: -> Array[Package]
14
-
15
- private
16
-
17
- def assign_groups: -> Array[Package]
18
-
19
- def find_rubygems_metadata: -> Array[Package]
20
- end
21
- end
22
- end
23
- end
@@ -1,18 +0,0 @@
1
- module Package
2
- module Audit
3
- module Ruby
4
- class VulnerabilityFinder
5
- @dir: String
6
- @vuln_hash: Hash[String?, Package]
7
-
8
- def initialize: (String) -> void
9
-
10
- def run: -> Array[Package]
11
-
12
- private
13
-
14
- def update_meta_data: (Hash[Symbol, untyped]) -> void
15
- end
16
- end
17
- end
18
- end
@@ -1,31 +0,0 @@
1
- module Package
2
- module Audit
3
- class CommandParser
4
- @config: Hash[String, untyped]?
5
- @dir: String
6
- @groups: Array[String]
7
- @spinner: Util::Spinner
8
- @options: Hash[String, untyped]
9
- @report: Symbol
10
- @technologies: Array[String]
11
-
12
- def initialize: (String, Hash[String, untyped], Symbol) -> void
13
-
14
- def run: -> int
15
-
16
- private
17
-
18
- def learn_more_command: (String) -> String?
19
-
20
- def parse_config_file: -> Hash[String, untyped]?
21
-
22
- def parse_technologies: -> Array[String]
23
-
24
- def print_disclaimer: (String) -> void
25
-
26
- def print_results: (String, Array[Package], Array[Package]) -> void
27
-
28
- def print_summary: (String, Array[Package], Array[Package]) -> void
29
- end
30
- end
31
- end
@@ -1,11 +0,0 @@
1
- module Package
2
- module Audit
3
- class DuplicatePackageMerger
4
- @pkgs: Array[Package]
5
-
6
- def initialize: (Array[Package]) -> void
7
-
8
- def run: -> Array[Package]
9
- end
10
- end
11
- end
@@ -1,19 +0,0 @@
1
- module Package
2
- module Audit
3
- class PackageFilter
4
- @config: Hash[String, untyped]?
5
-
6
- def initialize: (Hash[String, untyped]?) -> void
7
-
8
- def ignored?: (Package) -> bool
9
-
10
- private
11
-
12
- def ignore_package?: (Package, Hash[String, untyped]?) -> bool
13
-
14
- def pkg_version_in_config?: (Package, Hash[String, untyped]?) -> bool
15
-
16
- def pkg_yaml_from_config: (Package) -> Hash[String, untyped]?
17
- end
18
- end
19
- end
@@ -1,26 +0,0 @@
1
- module Package
2
- module Audit
3
- class PackageFinder
4
- @config: Hash[String, untyped]?
5
- @dir: String
6
- @report: Symbol
7
- @groups: Array[String]
8
-
9
- def initialize: (Hash[String, untyped]?, String, Symbol, Array[String]) -> void
10
-
11
- def run: (String) -> Array[Array[Package]]
12
-
13
- private
14
-
15
- def filter_pkgs_based_on_config: (Array[Package]) -> Array[Package]
16
-
17
- def filter_pkgs_based_on_group: (Array[Package]) -> Array[Package]
18
-
19
- def find_by_technology: (String) -> Array[Package]
20
-
21
- def find_node: -> Array[Package]
22
-
23
- def find_ruby: -> Array[Package]
24
- end
25
- end
26
- end
@@ -1,24 +0,0 @@
1
- module Package
2
- module Audit
3
- class PackagePrinter
4
- BASH_FORMATTING_REGEX: Regexp
5
- COLUMN_GAP: Integer
6
- CSV_HEADERS: Hash[Symbol, String]
7
-
8
- @pkgs: Array[Package]
9
- @options: Hash[String, untyped]
10
-
11
- def initialize: (Hash[String, untyped], Array[Package]) -> void
12
-
13
- def print: (Array[Symbol]) -> void
14
-
15
- private
16
-
17
- def check_fields: (Array[Symbol]) -> void
18
-
19
- def csv: (Array[Symbol], ?exclude_headers: bool) -> void
20
-
21
- def pretty: (?Array[Symbol]) -> void
22
- end
23
- end
24
- end
@@ -1,21 +0,0 @@
1
- module Package
2
- module Audit
3
- class RiskCalculator
4
- @pkg: Package
5
-
6
- def initialize: (Package) -> void
7
-
8
- def find: -> Array[Risk]
9
-
10
- private
11
-
12
- def assess_deprecation_risks: -> Array[Risk]
13
-
14
- def assess_version_risks: -> Array[Risk]
15
-
16
- def assess_vulnerability_risks: -> Array[Risk]
17
-
18
- def production_dependency?: -> bool
19
- end
20
- end
21
- end
@@ -1,19 +0,0 @@
1
- module Package
2
- module Audit
3
- module Technology
4
- class Detector
5
- @dir: String
6
-
7
- def initialize: (String) -> void
8
-
9
- def detect: -> Array[String]
10
-
11
- private
12
-
13
- def node?: -> bool
14
-
15
- def ruby?: -> bool
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Package
2
- module Audit
3
- module Technology
4
- class Validator
5
- @dir: String
6
-
7
- def initialize: (String) -> void
8
-
9
- def validate!: (String) -> void
10
-
11
- private
12
-
13
- def validate_node!: -> void
14
-
15
- def validate_ruby!: -> void
16
- end
17
- end
18
- end
19
- end
@@ -1,21 +0,0 @@
1
- module Package
2
- module Audit
3
- module Util
4
- module BashColor
5
- def self.blue: (String?) -> String
6
-
7
- def self.green: (String?) -> String
8
-
9
- def self.magenta: (String?) -> String
10
-
11
- def self.orange: (String?) -> String
12
-
13
- def self.red: (String?) -> String
14
-
15
- def self.yellow: (String?) -> String
16
-
17
- def self.cyan: (String?) -> String
18
- end
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- module Package
2
- module Audit
3
- module Util
4
- class Spinner
5
- ANIMATION_SPEED: Float
6
- STATES: Array[String]
7
-
8
- @message: String
9
- @running: bool
10
- @thread: Thread?
11
-
12
- def initialize: (?String) -> void
13
-
14
- def start: -> void
15
-
16
- def stop: -> void
17
-
18
- private
19
-
20
- def clear_console_line: -> void
21
- end
22
- end
23
- end
24
- end
@@ -1,19 +0,0 @@
1
- module Package
2
- module Audit
3
- module Util
4
- module SummaryPrinter
5
- def self.all: -> void
6
-
7
- def self.deprecated: -> void
8
-
9
- def self.risk: -> void
10
-
11
- def self.statistics: (String, Symbol, Array[Package], Array[Package]) -> void
12
-
13
- def self.total: (String, Symbol, Array[Package], Array[Package]) -> void
14
-
15
- def self.vulnerable: (String, String?) -> void
16
- end
17
- end
18
- end
19
- end
@@ -1,5 +0,0 @@
1
- module Package
2
- module Audit
3
- VERSION: String
4
- end
5
- end