package-audit 0.6.0 → 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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/lib/package/audit/npm/node_collection.rb +17 -0
  3. data/lib/package/audit/npm/npm_meta_data.rb +24 -2
  4. data/lib/package/audit/npm/vulnerability_finder.rb +7 -1
  5. data/lib/package/audit/ruby/bundler_specs.rb +15 -1
  6. data/lib/package/audit/services/command_parser.rb +28 -6
  7. data/lib/package/audit/services/config_cleaner.rb +221 -0
  8. data/lib/package/audit/util/spinner.rb +1 -1
  9. data/lib/package/audit/util/summary_printer.rb +7 -6
  10. data/lib/package/audit/version.rb +1 -1
  11. metadata +9 -53
  12. data/sig/package/audit/cli.rbs +0 -35
  13. data/sig/package/audit/const/cmd.rbs +0 -14
  14. data/sig/package/audit/const/fields.rbs +0 -11
  15. data/sig/package/audit/const/file.rbs +0 -14
  16. data/sig/package/audit/const/time.rbs +0 -11
  17. data/sig/package/audit/const/yaml.rbs +0 -13
  18. data/sig/package/audit/enum/format.rbs +0 -12
  19. data/sig/package/audit/enum/group.rbs +0 -15
  20. data/sig/package/audit/enum/option.rbs +0 -14
  21. data/sig/package/audit/enum/report.rbs +0 -12
  22. data/sig/package/audit/enum/risk_explanation.rbs +0 -12
  23. data/sig/package/audit/enum/risk_type.rbs +0 -12
  24. data/sig/package/audit/enum/technology.rbs +0 -12
  25. data/sig/package/audit/enum/vulnerability_type.rbs +0 -15
  26. data/sig/package/audit/formatter/base.rbs +0 -9
  27. data/sig/package/audit/formatter/risk_printer.rbs +0 -13
  28. data/sig/package/audit/formatter/version_date.rbs +0 -13
  29. data/sig/package/audit/formatter/version_printer.rbs +0 -14
  30. data/sig/package/audit/formatter/vulnerability.rbs +0 -13
  31. data/sig/package/audit/models/package.rbs +0 -47
  32. data/sig/package/audit/models/risk.rbs +0 -12
  33. data/sig/package/audit/npm/node_collection.rbs +0 -28
  34. data/sig/package/audit/npm/npm_meta_data.rbs +0 -19
  35. data/sig/package/audit/npm/vulnerability_finder.rbs +0 -21
  36. data/sig/package/audit/npm/yarn_lock_parser.rbs +0 -22
  37. data/sig/package/audit/ruby/bundler_specs.rbs +0 -11
  38. data/sig/package/audit/ruby/gem_collection.rbs +0 -22
  39. data/sig/package/audit/ruby/gem_meta_data.rbs +0 -23
  40. data/sig/package/audit/ruby/vulnerability_finder.rbs +0 -18
  41. data/sig/package/audit/services/command_parser.rbs +0 -37
  42. data/sig/package/audit/services/duplicate_package_merger.rbs +0 -11
  43. data/sig/package/audit/services/package_filter.rbs +0 -26
  44. data/sig/package/audit/services/package_finder.rbs +0 -26
  45. data/sig/package/audit/services/package_printer.rbs +0 -30
  46. data/sig/package/audit/services/risk_calculator.rbs +0 -21
  47. data/sig/package/audit/technology/detector.rbs +0 -19
  48. data/sig/package/audit/technology/validator.rbs +0 -19
  49. data/sig/package/audit/util/bash_color.rbs +0 -21
  50. data/sig/package/audit/util/risk_legend.rbs +0 -9
  51. data/sig/package/audit/util/spinner.rbs +0 -24
  52. data/sig/package/audit/util/summary_printer.rbs +0 -33
  53. data/sig/package/audit/version.rbs +0 -5
@@ -1,14 +0,0 @@
1
- module Package
2
- module Audit
3
- module Const
4
- module File
5
- CONFIG: String
6
- GEMFILE: String
7
- GEMFILE_LOCK: String
8
- PACKAGE_JSON: String
9
- PACKAGE_LOCK_JSON: String
10
- YARN_LOCK: String
11
- end
12
- end
13
- end
14
- end
@@ -1,11 +0,0 @@
1
- module Package
2
- module Audit
3
- module Const
4
- module Time
5
- SECONDS_ELAPSED_TO_BE_OUTDATED: Integer
6
- SECONDS_PER_YEAR: Integer
7
- YEARS_ELAPSED_TO_BE_OUTDATED: Integer
8
- end
9
- end
10
- end
11
- end
@@ -1,13 +0,0 @@
1
- module Package
2
- module Audit
3
- module Const
4
- module YAML
5
- DEPRECATED: String
6
- OUTDATED: String
7
- TECHNOLOGY: String
8
- VERSION: String
9
- VULNERABLE: String
10
- end
11
- end
12
- end
13
- end
@@ -1,12 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module Format
5
- CSV: String
6
- MARKDOWN: 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 Group
5
- DEFAULT: String
6
- DEV: String
7
- PRODUCTION: String
8
- STAGING: String
9
- TEST: String
10
-
11
- def self.all: -> Array[String]
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Package
2
- module Audit
3
- module Enum
4
- module Option
5
- CONFIG: String
6
- FORMAT: String
7
- CSV_EXCLUDE_HEADERS: String
8
- GROUP: String
9
- INCLUDE_IGNORED: String
10
- TECHNOLOGY: String
11
- end
12
- end
13
- end
14
- end
@@ -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: -> String
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,37 +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 parse_technologies!: -> Array[String]
25
-
26
- def print_disclaimer: (String) -> void
27
-
28
- def print_results: (String, Array[Package], Array[Package]) -> void
29
-
30
- def print_summary: (String, Array[Package], Array[Package]) -> void
31
-
32
- def process_technologies: -> int
33
-
34
- def validate_format!: -> void
35
- end
36
- end
37
- 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,26 +0,0 @@
1
- module Package
2
- module Audit
3
- class PackageFilter
4
- @config: Hash[String, untyped]?
5
- @report: Symbol
6
-
7
- def initialize: (Symbol, Hash[String, untyped]?) -> void
8
-
9
- def ignored?: (Package) -> bool
10
-
11
- private
12
-
13
- def ignore_deprecated?: (Package, Hash[String, untyped]?) -> bool
14
-
15
- def ignore_outdated?: (Package, Hash[String, untyped]?) -> bool
16
-
17
- def ignore_package?: (Package, Hash[String, untyped]?) -> bool
18
-
19
- def ignore_vulnerable?: (Package, Hash[String, untyped]?) -> bool
20
-
21
- def pkg_version_in_config?: (Package, Hash[String, untyped]?) -> bool
22
-
23
- def pkg_yaml_from_config: (Package) -> Hash[String, untyped]?
24
- end
25
- end
26
- 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,30 +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 get_field_max_widths: (Array[Symbol]) -> Array[Integer]
22
-
23
- def get_field_value: (Package, Symbol) -> String
24
-
25
- def markdown: (Array[Symbol]) -> void
26
-
27
- def pretty: (Array[Symbol]) -> void
28
- end
29
- end
30
- 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