danger-app_size_report 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7ae19f7d03dad68a467738ede966441747a12a27a5a0b572de6c25de2bef082e
4
+ data.tar.gz: 5d9765041e4e3b4731d3263f397f1957995ad89fe09ce9e274119953d8255e54
5
+ SHA512:
6
+ metadata.gz: 7c90b189990e4d26379f21523a11c52525bc4a4f4dc3947c8a1f55cfb47758e23d6ea38f5c3cfd5f55a689fc356ebb7996d4fe86d8b7f0f87f336460cc79d340
7
+ data.tar.gz: 3751d8710bc6595d6b513726370e78e5f3b99474f54d21f0e79cb8f3ec5a5114b425b504ccf6581e2ef35e57c1e54d475630eeeb1d4aebf41c54d6105e609234
data/.gitignore ADDED
@@ -0,0 +1,56 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ # Ignore Byebug command history file.
17
+ .byebug_history
18
+
19
+ ## Specific to RubyMotion:
20
+ .dat*
21
+ .repl_history
22
+ build/
23
+ *.bridgesupport
24
+ build-iPhoneOS/
25
+ build-iPhoneSimulator/
26
+
27
+ ## Specific to RubyMotion (use of CocoaPods):
28
+ #
29
+ # We recommend against adding the Pods directory to your .gitignore. However
30
+ # you should judge for yourself, the pros and cons are mentioned at:
31
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
32
+ #
33
+ # vendor/Pods/
34
+
35
+ ## Documentation cache and generated files:
36
+ /.yardoc/
37
+ /_yardoc/
38
+ /doc/
39
+ /rdoc/
40
+
41
+ ## Environment normalization:
42
+ /.bundle/
43
+ /vendor/bundle
44
+ /lib/bundler/man/
45
+
46
+ # for a library or gem, you might want to ignore these files since the code is
47
+ # intended to run in multiple environments; otherwise, check them in:
48
+ # Gemfile.lock
49
+ # .ruby-version
50
+ # .ruby-gemset
51
+
52
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
53
+ .rvmrc
54
+
55
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
+ # .rubocop-https?--*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in danger-app_size_report.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,19 @@
1
+ # A guardfile for making Danger Plugins
2
+ # For more info see https://github.com/guard/guard#readme
3
+
4
+ # To run, use `bundle exec guard`.
5
+
6
+ guard :rspec, cmd: 'bundle exec rspec' do
7
+ require 'guard/rspec/dsl'
8
+ dsl = Guard::RSpec::Dsl.new(self)
9
+
10
+ # RSpec files
11
+ rspec = dsl.rspec
12
+ watch(rspec.spec_helper) { rspec.spec_dir }
13
+ watch(rspec.spec_support) { rspec.spec_dir }
14
+ watch(rspec.spec_files)
15
+
16
+ # Ruby files
17
+ ruby = dsl.ruby
18
+ dsl.watch_spec_files_for(ruby.lib_files)
19
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2021 Vido Shaweddy <vido.shaweddy@chargepoint.com>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # danger-app_size_report
2
+
3
+ Danger-app_size_report. A danger plugin for reporting app sizes.
4
+
5
+ ## Installation
6
+ put `$ gem danger-app_size_report` to your project 'Gemfile'
7
+
8
+ ## Usage
9
+
10
+ Simply add `app_size_report.report` to your `Dangerfile` passing the path to report JSON path and app size limit.
11
+
12
+ ```ruby
13
+ app_size_report.report(
14
+ "./report.json",
15
+ 10
16
+ )
17
+ ```
data/Rakefile ADDED
@@ -0,0 +1,23 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:specs)
6
+
7
+ task default: :specs
8
+
9
+ task :spec do
10
+ Rake::Task['specs'].invoke
11
+ Rake::Task['rubocop'].invoke
12
+ Rake::Task['spec_docs'].invoke
13
+ end
14
+
15
+ desc 'Run RuboCop on the lib/specs directory'
16
+ RuboCop::RakeTask.new(:rubocop) do |task|
17
+ task.patterns = ['lib/**/*.rb', 'spec/**/*.rb']
18
+ end
19
+
20
+ desc 'Ensure that the plugin passes `danger plugins lint`'
21
+ task :spec_docs do
22
+ sh 'bundle exec danger plugins lint'
23
+ end
@@ -0,0 +1,49 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'app_size_report/gem_version.rb'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'danger-app_size_report'
8
+ spec.version = AppSizeReport::VERSION
9
+ spec.authors = ['Vido Shaweddy']
10
+ spec.email = ['vido.shaweddy@chargepoint.com']
11
+ spec.description = %q{A danger plugin for reporting app sizes.}
12
+ spec.summary = %q{Validates variant sizes of app thinning report json within a Pull Request and generates a brief report.}
13
+ spec.homepage = 'https://github.com/ChargePoint/danger-app_size_report'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0'
22
+
23
+ # General ruby development
24
+ spec.add_development_dependency 'bundler', '~> 2.0'
25
+ spec.add_development_dependency 'rake', '~> 10.0'
26
+
27
+ # Testing support
28
+ spec.add_development_dependency 'rspec', '~> 3.4'
29
+
30
+ # Linting code and docs
31
+ spec.add_development_dependency "rubocop"
32
+ spec.add_development_dependency "yard"
33
+
34
+ # Makes testing easy via `bundle exec guard`
35
+ spec.add_development_dependency 'guard', '~> 2.14'
36
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
37
+
38
+ # If you want to work on older builds of ruby
39
+ spec.add_development_dependency 'listen', '3.0.7'
40
+
41
+ # This gives you the chance to run a REPL inside your tests
42
+ # via:
43
+ #
44
+ # require 'pry'
45
+ # binding.pry
46
+ #
47
+ # This will stop test execution and let you inspect the results
48
+ spec.add_development_dependency 'pry'
49
+ end
@@ -0,0 +1,3 @@
1
+ module AppSizeReport
2
+ VERSION = "0.0.1".freeze
3
+ end
@@ -0,0 +1,111 @@
1
+ require 'json'
2
+ require 'set'
3
+
4
+ module Danger
5
+ # Validates variant sizes of app thinning report json within a Pull Request and generates a brief report.
6
+ #
7
+ # @example Validating code coverage for app_th (easy-peasy.io)
8
+ #
9
+ # # Get the path to your app thinning report
10
+ #
11
+ # # The result is sent to the pull request with a markdown format and
12
+ # # notifies failure which variants is violating the size limit.
13
+ #
14
+ # app_size_report.report(
15
+ # [path_to_report],
16
+ # [app_size_limit]
17
+ # )
18
+ #
19
+ class DangerAppSizeReport < Plugin
20
+ # A method that create app thinning report
21
+ # @return [Array<Variant>]
22
+ #
23
+ def report(report_path, app_size_limit)
24
+ if File.exist?(report_path)
25
+ report = File.read(report_path)
26
+ json = JSON.parse(report)
27
+
28
+ flagged_variants = parse_json(*json, app_size_limit)
29
+
30
+ if flagged_variants.length > 0
31
+ failure "The App Clip size limit of 10 MB has been exceeded by one or more variants"
32
+ end
33
+
34
+ init_app_size_violation_table(*json, flagged_variants, app_size_limit)
35
+ init_supported_variant_descriptors(*json)
36
+ init_ads()
37
+ end
38
+ end
39
+
40
+ # A method that create an array of variants that violate app size limit
41
+ # @return [Array<Variant>]
42
+ #
43
+ def parse_json(*json, app_size_limit)
44
+ flagged_variants = Array.new
45
+
46
+ json.each do |variant, value|
47
+ app_size = variant["app_size"]["uncompressed"]["value"]
48
+ app_odr_size = variant["app_on_demand_resources_size"]["uncompressed"]["value"]
49
+ if app_size > app_size_limit || app_odr_size > app_size_limit
50
+ flagged_variants.append(variant)
51
+ end
52
+ end
53
+
54
+ if flagged_variants.length > 0
55
+ failure "The App Clip size limit of 10 MB has been exceeded by one or more variants"
56
+ end
57
+
58
+ return flagged_variants
59
+ end
60
+
61
+ # A method that create the violation table in Github
62
+ #
63
+ #
64
+ def init_app_size_violation_table(*json, flagged_variants, app_size_limit)
65
+ size_report = "# App Thinning Size Report\n"
66
+ size_report << "### Size limit = #{app_size_limit} MB\n\n"
67
+ size_report << "| Under Limit | Variant | App Size - Compressed | App Size - Uncompressed | ODR Size - Compressed | ODR Size - Uncompressed |\n"
68
+ size_report << "| ---------- | ------- | --------------------- | --------------------- | --------------------- | --------------------- |\n"
69
+ flagged_variants_set = flagged_variants.to_set
70
+ json.each do |variant, _|
71
+ isViolating = flagged_variants_set.include?(variant) ? "❌" : "✅"
72
+ app_size_compressed = "#{variant["app_size"]["compressed"]["value"]} #{variant["app_size"]["uncompressed"]["unit"]}"
73
+ app_size_uncompressed = "#{variant["app_size"]["uncompressed"]["value"]} #{variant["app_size"]["uncompressed"]["unit"]}"
74
+ odr_size_compressed = "#{variant["on_demand_resources_size"]["compressed"]["value"]} #{variant["app_size"]["uncompressed"]["unit"]}"
75
+ odr_size_uncompressed = "#{variant["on_demand_resources_size"]["uncompressed"]["value"]} #{variant["app_size"]["uncompressed"]["unit"]}"
76
+
77
+ size_report << "#{isViolating} | #{variant["variant"]} | #{app_size_compressed} | #{app_size_uncompressed} | #{odr_size_compressed} | #{odr_size_uncompressed} |\n"
78
+ end
79
+
80
+ markdown size_report
81
+ end
82
+
83
+ # A method that create the supported variant table in Github
84
+ #
85
+ #
86
+ def init_supported_variant_descriptors(*json)
87
+ variant_descriptor_report = "### Supported Variant Descriptors \n\n"
88
+ json.each do |variant, _|
89
+ variant_descriptor_report << "<details> \n"
90
+ variant_descriptor_report << "<summary> Variant #{variant["variant"]} </summary> \n\n"
91
+ variant_descriptor_report << "| Model | Operating System | \n"
92
+ variant_descriptor_report << "| ----- | ---------------- | \n"
93
+ variant["supported_variant_descriptors"].each do |model, _|
94
+ variant_descriptor_report << "#{model["device"]} | #{model["os_version"]} | \n"
95
+ end
96
+ variant_descriptor_report << "</details> \n\n"
97
+ end
98
+
99
+ markdown variant_descriptor_report
100
+ end
101
+
102
+ # A method that create the footnote label in Github
103
+ #
104
+ #
105
+ def init_ads
106
+ ads_label = "Powered by [danger-app_size_report](https://github.com/ChargePoint)"
107
+ markdown ads_label
108
+ end
109
+
110
+ end
111
+ end
@@ -0,0 +1 @@
1
+ require "app_size_report/gem_version"
@@ -0,0 +1 @@
1
+ require "app_size_report/plugin"
@@ -0,0 +1,46 @@
1
+ require File.expand_path("../spec_helper", __FILE__)
2
+
3
+ module Danger
4
+ describe Danger::DangerAppSizeReport do
5
+ it "should be a plugin" do
6
+ expect(Danger::DangerAppSizeReport.new(nil)).to be_a Danger::Plugin
7
+ end
8
+
9
+ #
10
+ # You should test your custom attributes and methods here
11
+ #
12
+ describe "with Dangerfile" do
13
+ before do
14
+ @dangerfile = testing_dangerfile
15
+ @my_plugin = @dangerfile.app_size_report
16
+
17
+ # mock the PR data
18
+ # you can then use this, eg. github.pr_author, later in the spec
19
+ json = File.read(File.dirname(__FILE__) + '/support/fixtures/github_pr.json') # example json: `curl https://api.github.com/repos/danger/danger-plugin-template/pulls/18 > github_pr.json`
20
+ allow(@my_plugin.github).to receive(:pr_json).and_return(json)
21
+ end
22
+
23
+ # Some examples for writing tests
24
+ # You should replace these with your own.
25
+
26
+ it "Warns on a monday" do
27
+ monday_date = Date.parse("2016-07-11")
28
+ allow(Date).to receive(:today).and_return monday_date
29
+
30
+ @my_plugin.warn_on_mondays
31
+
32
+ expect(@dangerfile.status_report[:warnings]).to eq(["Trying to merge code on a Monday"])
33
+ end
34
+
35
+ it "Does nothing on a tuesday" do
36
+ monday_date = Date.parse("2016-07-12")
37
+ allow(Date).to receive(:today).and_return monday_date
38
+
39
+ @my_plugin.warn_on_mondays
40
+
41
+ expect(@dangerfile.status_report[:warnings]).to eq([])
42
+ end
43
+
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,65 @@
1
+ require "pathname"
2
+ ROOT = Pathname.new(File.expand_path("../../", __FILE__))
3
+ $:.unshift((ROOT + "lib").to_s)
4
+ $:.unshift((ROOT + "spec").to_s)
5
+
6
+ require "bundler/setup"
7
+ require "pry"
8
+
9
+ require "rspec"
10
+ require "danger"
11
+
12
+ if `git remote -v` == ''
13
+ puts "You cannot run tests without setting a local git remote on this repo"
14
+ puts "It's a weird side-effect of Danger's internals."
15
+ exit(0)
16
+ end
17
+
18
+ # Use coloured output, it's the best.
19
+ RSpec.configure do |config|
20
+ config.filter_gems_from_backtrace "bundler"
21
+ config.color = true
22
+ config.tty = true
23
+ end
24
+
25
+ require "danger_plugin"
26
+
27
+ # These functions are a subset of https://github.com/danger/danger/blob/master/spec/spec_helper.rb
28
+ # If you are expanding these files, see if it's already been done ^.
29
+
30
+ # A silent version of the user interface,
31
+ # it comes with an extra function `.string` which will
32
+ # strip all ANSI colours from the string.
33
+
34
+ # rubocop:disable Lint/NestedMethodDefinition
35
+ def testing_ui
36
+ @output = StringIO.new
37
+ def @output.winsize
38
+ [20, 9999]
39
+ end
40
+
41
+ cork = Cork::Board.new(out: @output)
42
+ def cork.string
43
+ out.string.gsub(/\e\[([;\d]+)?m/, "")
44
+ end
45
+ cork
46
+ end
47
+ # rubocop:enable Lint/NestedMethodDefinition
48
+
49
+ # Example environment (ENV) that would come from
50
+ # running a PR on TravisCI
51
+ def testing_env
52
+ {
53
+ "HAS_JOSH_K_SEAL_OF_APPROVAL" => "true",
54
+ "TRAVIS_PULL_REQUEST" => "800",
55
+ "TRAVIS_REPO_SLUG" => "artsy/eigen",
56
+ "TRAVIS_COMMIT_RANGE" => "759adcbd0d8f...13c4dc8bb61d",
57
+ "DANGER_GITHUB_API_TOKEN" => "123sbdq54erfsd3422gdfio"
58
+ }
59
+ end
60
+
61
+ # A stubbed out Dangerfile for use in tests
62
+ def testing_dangerfile
63
+ env = Danger::EnvironmentManager.new(testing_env)
64
+ Danger::Dangerfile.new(env, testing_ui)
65
+ end
metadata ADDED
@@ -0,0 +1,199 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: danger-app_size_report
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Vido Shaweddy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-04-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: danger-plugin-api
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: yard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.14'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.14'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '4.7'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '4.7'
125
+ - !ruby/object:Gem::Dependency
126
+ name: listen
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 3.0.7
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 3.0.7
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: A danger plugin for reporting app sizes.
154
+ email:
155
+ - vido.shaweddy@chargepoint.com
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - ".gitignore"
161
+ - Gemfile
162
+ - Guardfile
163
+ - LICENSE.txt
164
+ - README.md
165
+ - Rakefile
166
+ - danger-app_size_report.gemspec
167
+ - lib/app_size_report/gem_version.rb
168
+ - lib/app_size_report/plugin.rb
169
+ - lib/danger_app_size_report.rb
170
+ - lib/danger_plugin.rb
171
+ - spec/app_size_report_spec.rb
172
+ - spec/spec_helper.rb
173
+ homepage: https://github.com/ChargePoint/danger-app_size_report
174
+ licenses:
175
+ - MIT
176
+ metadata: {}
177
+ post_install_message:
178
+ rdoc_options: []
179
+ require_paths:
180
+ - lib
181
+ required_ruby_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubygems_version: 3.2.3
193
+ signing_key:
194
+ specification_version: 4
195
+ summary: Validates variant sizes of app thinning report json within a Pull Request
196
+ and generates a brief report.
197
+ test_files:
198
+ - spec/app_size_report_spec.rb
199
+ - spec/spec_helper.rb