dependency-timeline-audit 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b9e17ee55c32c28cf3b8217bbf7ddab45ceafbc611046361ab649b5ede37d42
4
- data.tar.gz: 0a9e935a6e14de9350d1cf9036774da6d5a0e2a8d71967c3d57f581ab3c22bf1
3
+ metadata.gz: d4fb437a64c2b990372ff5137b6deb79d5405f5522e81b02830108cc43596155
4
+ data.tar.gz: 9edf8bfe737bb3991802e93c01d272aa786b4bd1dd8a6733c6de17099175b013
5
5
  SHA512:
6
- metadata.gz: fe745f2316cd6df1ec6022898fd5a6ccb45baf22bfe1f088430a330bd40f58e73b5656515b150ebec40c12423cf829b18b3a9ef8181eec0ddbc592fa9b161f3d
7
- data.tar.gz: f2e7b8e9524a8e9caac06d708e25bdc07c3d90a625a45be93bd0c79d8d3c5446614814a53247c7da6b63628dd7fbc9296033e7753120999b50fdb866c1933839
6
+ metadata.gz: 9e19239773413b37e23d54c21dd22cbbc65f65102f778d5437676da683fb76a202bf197f7b01e6ce874f8ce6761e53ccd7d9e2d9985a4096d46e9a86ae63e769
7
+ data.tar.gz: e52bc4921722fc2be009aed94f7009917d4034ccc48c4f130c4fac5651af46e482d58765fd0171c87ecdd2abb2431d479926de3be4b6dc9d8c08684cabf37374
@@ -1,5 +1,34 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'dependency-timeline-audit'
4
+ require 'optparse'
4
5
 
5
- DependencyTimelineAudit::Check.check
6
+ # See: https://docs.ruby-lang.org/en/master/OptionParser.html
7
+
8
+ begin
9
+ options = {}
10
+ OptionParser.new do |opts|
11
+ opts.banner = "Usage: dependency-timeline-audit [options]\n"
12
+
13
+ opts.on('-i', '--interactive-ignore', 'Allows interactively generating an ignore file')
14
+ opts.on('-v', '--verbose', 'Provides more verbose output')
15
+ opts.on('--lockfile=LOCKFILE', 'Allows overwriting where the lockfile is located (default: "Gemfile.lock")')
16
+ opts.on('--outdated-threshold=YEARS', Integer, 'Allows overwriting the number of years before a gem is considered outdated (default: 1)')
17
+ opts.on_tail('-h', '--help', 'Prints this help') do
18
+ puts opts
19
+ exit
20
+ end
21
+ opts.on('-V', '--version', 'Prints the version of dependency-timeline-audit') do
22
+ puts "Dependency Timeline Audit (Ruby) - version: #{DependencyTimelineAudit.gem_version}"
23
+ exit
24
+ end
25
+ end.parse!(into: options)
26
+ rescue OptionParser::InvalidOption, OptionParser::MissingArgument => e
27
+ puts e.message
28
+ exit(1)
29
+ end
30
+
31
+ DependencyTimelineAudit::Check.check(
32
+ lockfile: options[:lockfile],
33
+ verbose: options[:verbose]
34
+ )
@@ -8,24 +8,26 @@ module DependencyTimelineAudit
8
8
  1.year.ago
9
9
  end
10
10
 
11
- def self.check(lockfile = 'Gemfile.lock')
11
+ def self.check(lockfile: 'Gemfile.lock', verbose: true)
12
12
  outdated_versions = []
13
13
  locked_gems.each do |gem|
14
14
  lock_released_at = GemInfo.version_created_at(gem[:name], gem[:locked_version])
15
15
  latest_version = GemInfo.latest_version(gem[:name])
16
16
  outdated_versions.push(gem[:name]) if gem_outdated?(lock_released_at)
17
- print_info(gem, lock_released_at, latest_version)
17
+ print_info(gem, lock_released_at, latest_version) if verbose
18
18
  end
19
19
 
20
+ print "\n" if verbose
21
+
20
22
  if outdated_versions.any?
21
23
  set_text_color_red
22
- puts "\nOutdated gems detected!"
24
+ puts "Outdated gems detected!"
23
25
  puts " - #{outdated_versions.join(', ')}"
24
26
 
25
27
  exit(1) # Failure
26
28
  else
27
29
  reset_text_style
28
- puts "\nAll gems are within the accepted threshold!"
30
+ puts "All gems are within the accepted threshold!"
29
31
 
30
32
  exit(0) # Success
31
33
  end
@@ -35,7 +35,7 @@ module DependencyTimelineAudit
35
35
  # Find the version that matches the requested version string
36
36
  version_info = versions.find { |v| v['number'] == version }
37
37
 
38
- version_info['created_at']
38
+ version_info.present? ? version_info['created_at'] : nil
39
39
  end
40
40
  end
41
41
  end
@@ -2,7 +2,7 @@ module DependencyTimelineAudit
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 1
5
+ PATCH = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].join('.')
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependency-timeline-audit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Buker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2024-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport