incr 0.7.1 → 1.1.0

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: beae18538716cd3443ecea4076ee9d05c0192c97cbbcf92e8c2b9e775b70bbf9
4
- data.tar.gz: 8e02e3fe88c0b370bc48091efb75f15e0e288e8f11635bf7c036bc0d7b06ea81
3
+ metadata.gz: 0f794ed99e6baff884b2fdd079ae1334033be211256cd9503454be27370d9833
4
+ data.tar.gz: f1e68068b5466c44aad7203846cb25c009101282565debe53129e684a8c2dd22
5
5
  SHA512:
6
- metadata.gz: 75ebb280db2da0b09bcbb9f0e73fb806f05386af61ac2d76b8c907a256576e024b99b97844ffbf5a5d42a68857f647f071a92b587bd8cc43815e86e461a53fd0
7
- data.tar.gz: f1a1d70c6159aafbec950b02220a4af567675d8c270c7dfc973c2a1a6da498af6e2163ce40d1607452b2f712205b4eaa1bb058f893489b80821d8ff85d34a7b5
6
+ metadata.gz: aeb104c81ddd8ec4894a510bc848972cd96bb6e58ab4e533a61adec1de7dfa2c8dd86dc3d6a3ba89601c36a9ef994391223612040b72e7825691fd2b2c0269dd
7
+ data.tar.gz: ca773d11bc8758a98ead0cb9f43278f2c6923992c7ba9c33920aa68aa9bdbef1b473bc8e153a5592bb0d149215875747c6da8c3c9f0be8827179798e0e3713a1
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
@@ -0,0 +1,25 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - '**'
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ ci:
16
+ runs-on: ubuntu-22.04
17
+
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: .tool-versions
23
+ bundler-cache: true
24
+
25
+ - run: bundle exec rake
@@ -0,0 +1,39 @@
1
+ name: Publish RubyGem
2
+
3
+ on: workflow_dispatch
4
+
5
+ permissions:
6
+ contents: read
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-22.04
11
+
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '2.7'
17
+ bundler-cache: true
18
+
19
+ - run: bundle exec rake
20
+
21
+ publish:
22
+ runs-on: ubuntu-22.04
23
+
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+ - uses: ruby/setup-ruby@v1
27
+ with:
28
+ ruby-version: '2.7'
29
+ bundler-cache: true
30
+
31
+ - run: |
32
+ mkdir -p $HOME/.gem
33
+ touch $HOME/.gem/credentials
34
+ chmod 0600 $HOME/.gem/credentials
35
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
36
+ gem build *.gemspec
37
+ gem push *.gem
38
+ env:
39
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,8 @@
1
+ # To use the MeowCop gem.
2
+ inherit_gem:
3
+ meowcop:
4
+ - config/rubocop.yml
5
+
6
+ AllCops:
7
+ NewCops: disable
8
+ SuggestExtensions: false
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.2.2
data/Gemfile.lock CHANGED
@@ -1,23 +1,78 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- incr (0.7.1)
5
- git (= 1.3.0)
6
- gli (= 2.17.1)
4
+ incr (1.0.0)
5
+ git (= 1.19.1)
6
+ gli (= 2.21.1)
7
7
  sem_version (= 2.0.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- git (1.3.0)
13
- gli (2.17.1)
12
+ addressable (2.8.6)
13
+ public_suffix (>= 2.0.2, < 6.0)
14
+ ast (2.4.2)
15
+ diff-lcs (1.5.1)
16
+ git (1.19.1)
17
+ addressable (~> 2.8)
18
+ rchardet (~> 1.8)
19
+ gli (2.21.1)
20
+ json (2.7.2)
21
+ language_server-protocol (3.17.0.3)
22
+ meowcop (3.2.0)
23
+ rubocop (>= 1.13.0, < 2.0.0)
24
+ parallel (1.24.0)
25
+ parser (3.3.1.0)
26
+ ast (~> 2.4.1)
27
+ racc
28
+ public_suffix (5.0.5)
29
+ racc (1.8.0)
30
+ rainbow (3.1.1)
31
+ rake (13.2.1)
32
+ rchardet (1.8.0)
33
+ regexp_parser (2.9.2)
34
+ rexml (3.2.8)
35
+ strscan (>= 3.0.9)
36
+ rspec (3.13.0)
37
+ rspec-core (~> 3.13.0)
38
+ rspec-expectations (~> 3.13.0)
39
+ rspec-mocks (~> 3.13.0)
40
+ rspec-core (3.13.0)
41
+ rspec-support (~> 3.13.0)
42
+ rspec-expectations (3.13.0)
43
+ diff-lcs (>= 1.2.0, < 2.0)
44
+ rspec-support (~> 3.13.0)
45
+ rspec-mocks (3.13.1)
46
+ diff-lcs (>= 1.2.0, < 2.0)
47
+ rspec-support (~> 3.13.0)
48
+ rspec-support (3.13.1)
49
+ rubocop (1.63.5)
50
+ json (~> 2.3)
51
+ language_server-protocol (>= 3.17.0)
52
+ parallel (~> 1.10)
53
+ parser (>= 3.3.0.2)
54
+ rainbow (>= 2.2.2, < 4.0)
55
+ regexp_parser (>= 1.8, < 3.0)
56
+ rexml (>= 3.2.5, < 4.0)
57
+ rubocop-ast (>= 1.31.1, < 2.0)
58
+ ruby-progressbar (~> 1.7)
59
+ unicode-display_width (>= 2.4.0, < 3.0)
60
+ rubocop-ast (1.31.3)
61
+ parser (>= 3.3.1.0)
62
+ ruby-progressbar (1.13.0)
14
63
  sem_version (2.0.1)
64
+ strscan (3.1.0)
65
+ unicode-display_width (2.5.0)
15
66
 
16
67
  PLATFORMS
17
68
  ruby
18
69
 
19
70
  DEPENDENCIES
20
71
  incr!
72
+ meowcop (= 3.2.0)
73
+ rake (= 13.2.1)
74
+ rspec (= 3.13.0)
75
+ rubocop (= 1.63.5)
21
76
 
22
77
  BUNDLED WITH
23
- 1.16.6
78
+ 2.4.21
data/README.md CHANGED
@@ -1,13 +1,11 @@
1
1
  <p align="center">
2
2
  <a href="https://github.com/jcouture/incr">
3
- <img src="https://i.imgur.com/cHimJRm.png" alt="incr" />
3
+ <img src="https://user-images.githubusercontent.com/5007/160249855-dc0eb32f-f77d-4c5a-a995-93ac46408a68.png" alt="incr" />
4
4
  </a>
5
5
  <br />
6
- Incr is a tool to help you easily increment the version number of your NPM or Mix packages.
6
+ incr is a tool to help you easily increment the version number of your NPM or Mix packages.
7
7
  <br /><br />
8
8
  <a href="https://rubygems.org/gems/incr"><img src="http://img.shields.io/gem/v/incr.svg" /></a>
9
-
10
- <a href="https://travis-ci.org/jcouture/incr"><img src="http://img.shields.io/travis/jcouture/incr.svg" /></a>
11
9
  </p>
12
10
 
13
11
  ## What does `incr` do?
@@ -19,7 +17,7 @@ The process is detailed as follow:
19
17
  * Increment the specified segment. If you increment the minor segment, the patch segment is set to 0 and the same goes for the major segment, the minor and patch segments are set to 0.
20
18
  * Write the newly incremented version number in the relevant file(s).
21
19
  * Create a new `git commit` with the relevant file with the version number as the default message (e.g.: 0.2.1).
22
- * Create a new `git tag` pointing to the new `git commit` with the version number prefixed by a 'v' as the name (e.g.: v0.2.1).
20
+ * Create a new annotated `git tag` pointing to the new `git commit` with the version number prefixed by a 'v' as the name (e.g.: v0.2.1).
23
21
  * 💥
24
22
 
25
23
  ## Installation
@@ -31,31 +29,38 @@ The process is detailed as follow:
31
29
  ```
32
30
 
33
31
  ## Usage
32
+
34
33
  To increment the patch segment of your NPM package version number:
34
+
35
35
  ```shell
36
36
  ~> incr npm patch
37
37
  ```
38
38
 
39
39
  To increment the minor segment of your Mix package version number:
40
+
40
41
  ```shell
41
42
  ~> incr mix minor
42
43
  ```
43
44
 
44
45
  ### Arguments
46
+
45
47
  Here are some arguments that can be used with `incr`:
48
+
46
49
  - `-d` : Directory where to search for the version files (default: `.`)
47
50
  - `-t` : Tag name pattern, where `%s` will be replaced with the new version (default: `v%s`)
48
51
  - `--[no-]commit` : Commit changes. (default: enabled)
49
52
  - `--[no-]tag` : Create a git tag. (default: enabled)
50
53
 
51
54
  Example:
55
+
52
56
  ```shell
53
- ~> incr --no-tag -d ./subprojects/web/ -t MyCustomTagPrefix/%s npm patch
57
+ ~> incr --no-tag -d ./subprojects/web/ -t my-custom-tag-prefix/%s npm patch
54
58
  ```
55
59
 
56
60
  This will :
61
+
57
62
  - Search for `package.json` and `package-lock.json` files inside `./subprojects/web/` and update the patch version
58
- - Commit the changes under the message `MyCustomTagPrefix/2.3.4`
63
+ - Commit the changes under the message `my-custom-tag-prefix/2.3.4`
59
64
  - Not create a tag with the new version
60
65
 
61
66
  ## Contributing
@@ -65,5 +70,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/jcoutu
65
70
  ## License
66
71
 
67
72
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
68
-
69
- The incr shield logo is based on [this icon](https://thenounproject.com/term/increment/621415/) by [blackspike](https://thenounproject.com/blackspike/), from the Noun Project. Used under a [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/) license.
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rubocop/rake_task'
3
+ require 'rspec/core/rake_task'
4
+
5
+ RuboCop::RakeTask.new(:rubocop)
6
+
7
+ RSpec::Core::RakeTask.new(:test)
8
+
9
+ task default: %i(rubocop test)
data/bin/incr CHANGED
@@ -10,15 +10,15 @@ include GLI::App
10
10
  program_desc('Tasteful utility to increment the version number and create a corresponding git tag.')
11
11
  version(Incr::VERSION)
12
12
 
13
- flag [:d, :versionFileDirectory], :default_value => '.', :desc => 'Directory where to search for version file'
14
- flag [:t, :tagNamePattern], :default_value => 'v%s', :desc => 'Pattern for the tag name'
13
+ flag([:d, :version_file_dir], default_value: '.', desc: 'Directory where to search for version file')
14
+ flag([:t, :tag_name_pattern], default_value: 'v%s', desc: 'Pattern for the tag name')
15
15
 
16
- switch :commit, :default_value => true, :desc => 'Commit changes'
17
- switch :tag, :default_value => true, :desc => 'Create a git tag'
16
+ switch(:commit, default_value: true, desc: 'Commit changes')
17
+ switch(:tag, default_value: true, desc: 'Create a git tag')
18
18
 
19
19
  pre do |global, command, options, args|
20
20
  if args.length != 1 || !['major', 'minor', 'patch'].any? {|segment| args.include?(segment)}
21
- STDERR.puts('Expecting a single argument: major, minor or patch.')
21
+ warn('expecting a single argument: major, minor or patch.')
22
22
  return false
23
23
  end
24
24
  true
@@ -42,4 +42,13 @@ command :mix do |cmd|
42
42
  end
43
43
  end
44
44
 
45
+ # Laravel Support
46
+ desc('Increment the version of your config/app.php.')
47
+ command :laravel do |cmd|
48
+ cmd.action do |global_options, options, args|
49
+ mix = Incr::Command::Laravel.new(args, global_options)
50
+ mix.execute
51
+ end
52
+ end
53
+
45
54
  exit(run(ARGV))
data/incr.gemspec CHANGED
@@ -18,7 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.executables << 'incr'
19
19
  spec.require_paths << 'lib'
20
20
 
21
- spec.add_runtime_dependency('gli', '2.17.1')
21
+ spec.required_ruby_version = '>= 3.2'
22
+
23
+ spec.add_runtime_dependency('gli', '2.21.1')
22
24
  spec.add_runtime_dependency('sem_version', '2.0.1')
23
- spec.add_runtime_dependency('git', '1.3.0')
25
+ spec.add_runtime_dependency('git', '1.19.1')
26
+
27
+ spec.add_development_dependency('rake', '13.2.1')
28
+ spec.add_development_dependency('rspec', '3.13.0')
29
+ spec.add_development_dependency('rubocop', '1.63.5')
30
+ spec.add_development_dependency('meowcop', '3.2.0')
24
31
  end
@@ -0,0 +1,58 @@
1
+ module Incr
2
+ module Command
3
+ class Laravel
4
+ VERSION_REGEX = /'version' => '(\d*.\d*.\d*)'/
5
+ VERSION_REPLACEMENT_PATTERNS = [
6
+ "'version' => '%s",
7
+ ]
8
+
9
+ def initialize(args, global_options)
10
+ @segment = args[0]
11
+ @config_file_filename = File.join('.', global_options[:version_file_dir], 'config', 'app.php')
12
+ @tag_pattern = global_options[:tag_name_pattern]
13
+ @commit = global_options[:commit]
14
+ @tag = global_options[:tag]
15
+ @noop = global_options[:noop]
16
+ end
17
+
18
+ def execute
19
+ if !File.exist?(@config_file_filename)
20
+ warn("'#{@config_file_filename}': file not found.")
21
+ return
22
+ end
23
+
24
+ file_content = IO.read(@config_file_filename)
25
+ if file_content == nil
26
+ return
27
+ end
28
+
29
+ file_version = file_content.match(VERSION_REGEX)[1]
30
+ old_version = SemVersion.new(file_version)
31
+ new_version = Incr::Service::Version.increment_segment(old_version, @segment)
32
+ replace_file_version(old_version, new_version)
33
+
34
+ new_tag = @tag_pattern % new_version.to_s
35
+
36
+ puts new_tag
37
+
38
+ if not @noop
39
+ repository = Incr::Service::Repository.new('.')
40
+ repository.add(@config_file_filename)
41
+ repository.commit(new_tag) if @commit
42
+ repository.tag(new_tag) if @tag
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def replace_file_version(old_version, new_version)
49
+ VERSION_REPLACEMENT_PATTERNS.each do |pattern|
50
+ old_version_pattern = format(pattern, old_version.to_s)
51
+ new_version_pattern = format(pattern, new_version.to_s)
52
+
53
+ Incr::Service::FileHelper.replace(@config_file_filename, old_version_pattern, new_version_pattern)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -9,14 +9,20 @@ module Incr
9
9
 
10
10
  def initialize(args, global_options)
11
11
  @segment = args[0]
12
- @mix_file_filename = File.join('.', global_options[:versionFileDirectory], 'mix.exs')
13
- @tag_pattern = global_options[:tagNamePattern]
12
+ @mix_file_filename = File.join('.', global_options[:version_file_dir], 'mix.exs')
13
+ @tag_pattern = global_options[:tag_name_pattern]
14
14
  @commit = global_options[:commit]
15
15
  @tag = global_options[:tag]
16
+ @noop = global_options[:noop]
16
17
  end
17
18
 
18
19
  def execute
19
- file_content = parse_content(@mix_file_filename)
20
+ if !File.exist?(@mix_file_filename)
21
+ warn("'#{@mix_file_filename}': file not found.")
22
+ return
23
+ end
24
+
25
+ file_content = IO.read(@mix_file_filename)
20
26
  if file_content == nil
21
27
  return
22
28
  end
@@ -30,29 +36,22 @@ module Incr
30
36
 
31
37
  puts new_tag
32
38
 
33
- repository = Incr::Service::Repository.new('.')
34
- repository.add(@mix_file_filename)
35
- repository.commit(new_tag) if @commit
36
- repository.tag(new_tag) if @tag
39
+ if not @noop
40
+ repository = Incr::Service::Repository.new('.')
41
+ repository.add(@mix_file_filename)
42
+ repository.commit(new_tag) if @commit
43
+ repository.tag(new_tag) if @tag
44
+ end
37
45
  end
38
46
 
39
47
  private
40
48
 
41
- def parse_content(filename)
42
- if !File.exist?(filename)
43
- STDERR.puts("[Err] '#{filename}' not found.")
44
- return nil
45
- end
46
-
47
- IO.read(filename)
48
- end
49
-
50
49
  def replace_file_version(old_version, new_version)
51
50
  VERSION_REPLACEMENT_PATTERNS.each do |pattern|
52
51
  old_version_pattern = format(pattern, old_version.to_s)
53
52
  new_version_pattern = format(pattern, new_version.to_s)
54
53
 
55
- Incr::Service::FileHelper.replace_string_once(@mix_file_filename, old_version_pattern, new_version_pattern)
54
+ Incr::Service::FileHelper.replace(@mix_file_filename, old_version_pattern, new_version_pattern)
56
55
  end
57
56
  end
58
57
  end
@@ -16,15 +16,26 @@ module Incr
16
16
  def initialize(args, global_options)
17
17
  @segment = args[0]
18
18
 
19
- @package_json_filename = File.join('.', global_options[:versionFileDirectory], 'package.json')
20
- @package_json_lock_filename = File.join('.', global_options[:versionFileDirectory], 'package-lock.json')
21
- @tag_pattern = global_options[:tagNamePattern]
19
+ @package_json_filename = File.join('.', global_options[:version_file_dir], 'package.json')
20
+ @package_json_lock_filename = File.join('.', global_options[:version_file_dir], 'package-lock.json')
21
+ @tag_pattern = global_options[:tag_name_pattern]
22
22
  @commit = global_options[:commit]
23
23
  @tag = global_options[:tag]
24
+ @noop = global_options[:noop]
24
25
  end
25
26
 
26
27
  def execute
27
- package_json = parse_content(@package_json_filename)
28
+ if !File.exist?(@package_json_filename)
29
+ warn("'#{@package_json_filename}': file not found.")
30
+ return
31
+ end
32
+
33
+ if !File.exist?(@package_json_lock_filename)
34
+ warn("'#{@package_json_lock_filename}': file not found.")
35
+ return
36
+ end
37
+
38
+ package_json = JSON.parse(IO.read(@package_json_filename))
28
39
  if package_json == nil
29
40
  return
30
41
  end
@@ -40,28 +51,21 @@ module Incr
40
51
 
41
52
  puts new_tag
42
53
 
43
- repository = Incr::Service::Repository.new('.')
44
- repository.add(@package_json_filename)
45
- repository.add(@package_json_lock_filename)
46
- repository.commit(new_tag) if @commit
47
- repository.tag(new_tag) if @tag
54
+ if not @noop
55
+ repository = Incr::Service::Repository.new('.')
56
+ repository.add(@package_json_filename)
57
+ repository.add(@package_json_lock_filename)
58
+ repository.commit(new_tag) if @commit
59
+ repository.tag(new_tag) if @tag
60
+ end
48
61
  end
49
62
 
50
63
  private
51
64
 
52
- def parse_content(filename)
53
- if !File.exist?(filename)
54
- STDERR.puts("[Err] '#{filename}' not found.")
55
- return nil
56
- end
57
-
58
- JSON.parse(IO.read(filename))
59
- end
60
-
61
65
  def replace_file_version(filename, new_version)
62
66
  LOOKBEHIND_PATTERNS.each do |lookbehind_pattern|
63
67
  pattern = /#{lookbehind_pattern}#{VERSION_PATTERN}/
64
- Incr::Service::FileHelper.replace_regexp_once(filename, pattern, new_version)
68
+ Incr::Service::FileHelper.replace(filename, pattern, new_version)
65
69
  end
66
70
  end
67
71
  end
@@ -1,11 +1,7 @@
1
1
  module Incr
2
2
  module Service
3
3
  class FileHelper
4
- def self.replace_string_once(filename, old_text, new_text)
5
- replace_regexp_once(filename, /#{Regexp.escape(old_text)}/, new_text)
6
- end
7
-
8
- def self.replace_regexp_once(filename, pattern, replacement_text)
4
+ def self.replace(filename, pattern, replacement_text)
9
5
  old_content = File.read(filename)
10
6
  new_content = old_content.sub(pattern, replacement_text)
11
7
  File.open(filename, 'w') { |file| file << new_content }
@@ -16,7 +16,7 @@ module Incr
16
16
  end
17
17
 
18
18
  def tag(name)
19
- @git.add_tag(name)
19
+ @git.add_tag(name, annotate: true, message: name)
20
20
  end
21
21
  end
22
22
  end
data/lib/incr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Incr
2
- VERSION = '0.7.1'
2
+ VERSION = '1.1.0'
3
3
  end
data/lib/incr.rb CHANGED
@@ -3,4 +3,5 @@ require 'incr/service/version'
3
3
  require 'incr/service/file_helper'
4
4
  require 'incr/command/npm'
5
5
  require 'incr/command/mix'
6
+ require 'incr/command/laravel'
6
7
  require 'incr/version'
@@ -0,0 +1,6 @@
1
+ <?php
2
+
3
+ return [
4
+ 'name' => env('APP_NAME', 'Laravel'),
5
+ 'version' => '1.0.0',
6
+ ]
@@ -0,0 +1,30 @@
1
+ defmodule Foobar.MixProject do
2
+ use Mix.Project
3
+
4
+ @version "1.0.0"
5
+
6
+ def project do
7
+ [
8
+ app: :foobar,
9
+ version: @version,
10
+ elixir: "~> 1.13",
11
+ start_permanent: Mix.env() == :prod,
12
+ deps: deps()
13
+ ]
14
+ end
15
+
16
+ # Run "mix help compile.app" to learn about applications.
17
+ def application do
18
+ [
19
+ extra_applications: [:logger]
20
+ ]
21
+ end
22
+
23
+ # Run "mix help deps" to learn about dependencies.
24
+ defp deps do
25
+ [
26
+ # {:dep_from_hexpm, "~> 0.3.0"},
27
+ # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
28
+ ]
29
+ end
30
+ end
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "foobar",
3
+ "version": "7.0.0",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "is-number": {
8
+ "version": "7.0.0",
9
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
10
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "foobar",
3
+ "version": "7.0.0",
4
+ "dependencies": {
5
+ "is-number": "^7.0.0"
6
+ }
7
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "foobar",
3
+ "version": "7.0.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "foobar",
9
+ "version": "7.0.0",
10
+ "dependencies": {
11
+ "is-number": "^7.0.0"
12
+ }
13
+ },
14
+ "node_modules/is-number": {
15
+ "version": "7.0.0",
16
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
17
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
18
+ "engines": {
19
+ "node": ">=0.12.0"
20
+ }
21
+ }
22
+ },
23
+ "dependencies": {
24
+ "is-number": {
25
+ "version": "7.0.0",
26
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
27
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "foobar",
3
+ "version": "7.0.0",
4
+ "dependencies": {
5
+ "is-number": "^7.0.0"
6
+ }
7
+ }