percy-cli 1.2.7 → 1.2.8
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 +4 -4
- data/.rubocop.yml +79 -0
- data/.rubocop_todo.yml +63 -0
- data/.travis.yml +6 -1
- data/Gemfile +6 -1
- data/Rakefile +1 -2
- data/lib/percy/cli.rb +7 -8
- data/lib/percy/cli/snapshot.rb +45 -50
- data/lib/percy/cli/version.rb +1 -1
- data/percy-cli.gemspec +2 -1
- data/spec/percy/cli/snapshot_spec.rb +26 -19
- data/spec/percy/cli/testdata/images/large-file-skipped.png +0 -0
- data/spec/spec_helper.rb +6 -4
- metadata +9 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6db66b9860cd6126388ee95fb61d4fe3467ed9af
|
4
|
+
data.tar.gz: ca3ea469e64d7f93f71c5845bfb598e1fd8f20c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 811bd7fc706dd7cce1cc5aee82b42fb17f094812210155419553c9998632267227cffb93049a515fc0a02675be9fcf631fbc50ea7efc325bd104810dc203d2e5
|
7
|
+
data.tar.gz: c148eacd3898e0ab43d9aa9b5703d8b4b3c9336fbe1f48b83120fd1c90880a708dd3dcde04d15474f0b5e618d09c046ef22a006a648459dc6041c2ddbab5ec19
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
require: rubocop-rspec
|
2
|
+
inherit_from: .rubocop_todo.yml
|
3
|
+
AllCops:
|
4
|
+
Include:
|
5
|
+
- Rakefile
|
6
|
+
- lib/**/*.rake
|
7
|
+
Exclude:
|
8
|
+
- 'vendor/**/*'
|
9
|
+
- '*.gemspec'
|
10
|
+
|
11
|
+
Lint/EndAlignment:
|
12
|
+
EnforcedStyleAlignWith: variable
|
13
|
+
|
14
|
+
Metrics/LineLength:
|
15
|
+
Max: 100
|
16
|
+
|
17
|
+
Metrics/BlockLength:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
Style/AlignParameters:
|
21
|
+
EnforcedStyle: with_fixed_indentation
|
22
|
+
|
23
|
+
Style/CaseIndentation:
|
24
|
+
EnforcedStyle: end
|
25
|
+
|
26
|
+
Style/Documentation:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
Style/DoubleNegation:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
Style/IndentArray:
|
33
|
+
EnforcedStyle: consistent
|
34
|
+
|
35
|
+
Style/MultilineMethodCallIndentation:
|
36
|
+
EnforcedStyle: indented
|
37
|
+
|
38
|
+
Style/MultilineOperationIndentation:
|
39
|
+
EnforcedStyle: indented
|
40
|
+
|
41
|
+
# Disable Style/NumericLiterals so numbers don't need underscores
|
42
|
+
Style/NumericLiterals:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
Style/FileName:
|
46
|
+
Enabled: false
|
47
|
+
|
48
|
+
Style/SymbolArray:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
Style/NumericPredicate:
|
52
|
+
EnforcedStyle: comparison
|
53
|
+
|
54
|
+
Style/RedundantBegin:
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
Style/RegexpLiteral:
|
58
|
+
EnforcedStyle: slashes
|
59
|
+
AllowInnerSlashes: true
|
60
|
+
|
61
|
+
Style/SpaceInsideHashLiteralBraces:
|
62
|
+
EnforcedStyle: no_space
|
63
|
+
|
64
|
+
Style/TrailingCommaInArguments:
|
65
|
+
EnforcedStyleForMultiline: consistent_comma
|
66
|
+
|
67
|
+
Style/TrailingCommaInLiteral:
|
68
|
+
EnforcedStyleForMultiline: consistent_comma
|
69
|
+
|
70
|
+
RSpec/MessageSpies:
|
71
|
+
EnforcedStyle: receive
|
72
|
+
|
73
|
+
RSpec/NotToNot:
|
74
|
+
Enabled: false
|
75
|
+
|
76
|
+
|
77
|
+
# Will be able to do this in >= v1.11
|
78
|
+
# RSpec/DescribedClass:
|
79
|
+
# EnforcedStyle: explicit
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2017-02-09 21:30:53 -0800 using RuboCop version 0.47.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
Lint/AmbiguousOperator:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/percy/cli.rb'
|
13
|
+
|
14
|
+
# Offense count: 4
|
15
|
+
Metrics/AbcSize:
|
16
|
+
Max: 81
|
17
|
+
|
18
|
+
# Offense count: 4
|
19
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
20
|
+
Metrics/BlockLength:
|
21
|
+
Max: 139
|
22
|
+
|
23
|
+
# Offense count: 1
|
24
|
+
Metrics/CyclomaticComplexity:
|
25
|
+
Max: 12
|
26
|
+
|
27
|
+
# Offense count: 5
|
28
|
+
# Configuration parameters: CountComments.
|
29
|
+
Metrics/MethodLength:
|
30
|
+
Max: 61
|
31
|
+
|
32
|
+
# Offense count: 1
|
33
|
+
# Configuration parameters: CountComments.
|
34
|
+
Metrics/ModuleLength:
|
35
|
+
Max: 159
|
36
|
+
|
37
|
+
# Offense count: 1
|
38
|
+
Metrics/PerceivedComplexity:
|
39
|
+
Max: 12
|
40
|
+
|
41
|
+
# Offense count: 6
|
42
|
+
# Configuration parameters: Max.
|
43
|
+
RSpec/ExampleLength:
|
44
|
+
Exclude:
|
45
|
+
- 'spec/percy/cli/snapshot_spec.rb'
|
46
|
+
|
47
|
+
# Offense count: 11
|
48
|
+
RSpec/MultipleExpectations:
|
49
|
+
Max: 6
|
50
|
+
|
51
|
+
# Offense count: 1
|
52
|
+
# Configuration parameters: AllowedVariables.
|
53
|
+
Style/GlobalVars:
|
54
|
+
Exclude:
|
55
|
+
- 'lib/percy/cli.rb'
|
56
|
+
|
57
|
+
# Offense count: 2
|
58
|
+
# Cop supports --auto-correct.
|
59
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
|
60
|
+
# SupportedStyles: slashes, percent_r, mixed
|
61
|
+
Style/RegexpLiteral:
|
62
|
+
Exclude:
|
63
|
+
- 'lib/percy/cli/snapshot.rb'
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require 'bundler/gem_tasks'
|
data/lib/percy/cli.rb
CHANGED
@@ -32,8 +32,8 @@ module Percy
|
|
32
32
|
c.option \
|
33
33
|
'--baseurl PATH',
|
34
34
|
String,
|
35
|
-
'The live URL base path. Defaults to "/". Set this if your site is hosted in '
|
36
|
-
'a subdirectory in production that does not exist locally. If using Jekyll, this '
|
35
|
+
'The live URL base path. Defaults to "/". Set this if your site is hosted in ' \
|
36
|
+
'a subdirectory in production that does not exist locally. If using Jekyll, this ' \
|
37
37
|
'should be the same as your "baseurl" config.'
|
38
38
|
c.option \
|
39
39
|
'--strip_prefix PATH',
|
@@ -54,17 +54,18 @@ module Percy
|
|
54
54
|
c.option \
|
55
55
|
'--snapshot_limit NUM',
|
56
56
|
Integer,
|
57
|
-
|
57
|
+
'Max number of snapshots to upload, useful for testing. Default is unlimited.'
|
58
58
|
c.option \
|
59
59
|
'--[no-]enable_javascript',
|
60
|
-
|
60
|
+
'Whether or not to enable JavaScript when rendering all snapshots. Default false.'
|
61
61
|
c.option \
|
62
62
|
'--include_all',
|
63
|
-
"Whether to include all files in the directory as resources. By default only common
|
63
|
+
"Whether to include all files in the directory as resources. By default only common ' +
|
64
|
+
'website related file types are included."
|
64
65
|
c.option \
|
65
66
|
'--threads NUM',
|
66
67
|
Integer,
|
67
|
-
|
68
|
+
'Number of threads in pools for snapshot and resource uploads. ' \
|
68
69
|
"Defaults to #{DEFAULT_NUM_THREADS}, max #{MAX_NUM_THREADS}."
|
69
70
|
|
70
71
|
c.action do |args, options|
|
@@ -88,5 +89,3 @@ module Percy
|
|
88
89
|
end
|
89
90
|
end
|
90
91
|
end
|
91
|
-
|
92
|
-
|
data/lib/percy/cli/snapshot.rb
CHANGED
@@ -11,11 +11,12 @@ module Percy
|
|
11
11
|
module Snapshot
|
12
12
|
# Static resource types that an HTML file might load and that we want to upload for rendering.
|
13
13
|
STATIC_RESOURCE_EXTENSIONS = [
|
14
|
-
'.css', '.js', '.jpg', '.jpeg', '.gif', '.ico', '.png', '.bmp', '.pict', '.tif', '.tiff',
|
15
|
-
'.eot', '.woff', '.otf', '.svg', '.svgz', '.webp', '.ps',
|
14
|
+
'.css', '.js', '.jpg', '.jpeg', '.gif', '.ico', '.png', '.bmp', '.pict', '.tif', '.tiff',
|
15
|
+
'.ttf', '.eot', '.woff', '.otf', '.svg', '.svgz', '.webp', '.ps',
|
16
16
|
].freeze
|
17
17
|
|
18
18
|
DEFAULT_SNAPSHOTS_REGEX = /\.(html|htm)$/
|
19
|
+
MAX_FILESIZE_BYTES = 15 * 1024**2 # 15 MB.
|
19
20
|
|
20
21
|
def run_snapshot(root_dir, options = {})
|
21
22
|
repo = options[:repo] || Percy.config.repo
|
@@ -27,7 +28,7 @@ module Percy
|
|
27
28
|
enable_javascript = !!options[:enable_javascript]
|
28
29
|
include_all = !!options[:include_all]
|
29
30
|
widths = options[:widths].map { |w| Integer(w) }
|
30
|
-
raise ArgumentError
|
31
|
+
raise ArgumentError, 'baseurl must start with /' if baseurl[0] != '/'
|
31
32
|
|
32
33
|
base_resource_options = {strip_prefix: strip_prefix, baseurl: baseurl}
|
33
34
|
|
@@ -39,7 +40,7 @@ module Percy
|
|
39
40
|
all_resources = root_resources + build_resources
|
40
41
|
|
41
42
|
if root_resources.empty?
|
42
|
-
say
|
43
|
+
say 'No root resource files found. Are there HTML files in the given directory?'
|
43
44
|
exit(-1)
|
44
45
|
end
|
45
46
|
|
@@ -52,7 +53,7 @@ module Percy
|
|
52
53
|
build = Percy.create_build(repo, resources: build_resources)
|
53
54
|
|
54
55
|
say 'Uploading build resources...'
|
55
|
-
upload_missing_resources(build, build, all_resources,
|
56
|
+
upload_missing_resources(build, build, all_resources, num_threads: num_threads)
|
56
57
|
|
57
58
|
build
|
58
59
|
end
|
@@ -66,7 +67,7 @@ module Percy
|
|
66
67
|
break if snapshot_limit && i + 1 > snapshot_limit
|
67
68
|
snapshot_thread_pool.process do
|
68
69
|
output_lock.synchronize do
|
69
|
-
say "Uploading snapshot (#{i+1}/#{total}): #{root_resource.resource_url}"
|
70
|
+
say "Uploading snapshot (#{i + 1}/#{total}): #{root_resource.resource_url}"
|
70
71
|
end
|
71
72
|
rescue_connection_failures do
|
72
73
|
snapshot = Percy.create_snapshot(
|
@@ -75,7 +76,7 @@ module Percy
|
|
75
76
|
enable_javascript: enable_javascript,
|
76
77
|
widths: widths,
|
77
78
|
)
|
78
|
-
upload_missing_resources(build, snapshot, all_resources,
|
79
|
+
upload_missing_resources(build, snapshot, all_resources, num_threads: num_threads)
|
79
80
|
Percy.finalize_snapshot(snapshot['data']['id'])
|
80
81
|
end
|
81
82
|
end
|
@@ -87,7 +88,7 @@ module Percy
|
|
87
88
|
say 'Finalizing build...'
|
88
89
|
rescue_connection_failures { Percy.finalize_build(build['data']['id']) }
|
89
90
|
return if failed?
|
90
|
-
say
|
91
|
+
say 'Done! Percy is now processing, you can view the visual diffs here:'
|
91
92
|
say build['data']['attributes']['web-url']
|
92
93
|
end
|
93
94
|
|
@@ -97,16 +98,16 @@ module Percy
|
|
97
98
|
!!@failed
|
98
99
|
end
|
99
100
|
|
100
|
-
def rescue_connection_failures
|
101
|
-
raise ArgumentError
|
101
|
+
def rescue_connection_failures
|
102
|
+
raise ArgumentError, 'block is requried' unless block_given?
|
102
103
|
begin
|
103
|
-
|
104
|
-
rescue Percy::Client::ServerError,
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
104
|
+
yield
|
105
|
+
rescue Percy::Client::ServerError, # Rescue server errors.
|
106
|
+
Percy::Client::UnauthorizedError, # Rescue unauthorized errors (no auth creds setup).
|
107
|
+
Percy::Client::PaymentRequiredError, # Rescue quota exceeded errors.
|
108
|
+
Percy::Client::ConflictError, # Rescue project disabled errors and others.
|
109
|
+
Percy::Client::ConnectionFailed, # Rescue some networking errors.
|
110
|
+
Percy::Client::TimeoutError => e
|
110
111
|
Percy.logger.error(e)
|
111
112
|
@failed = true
|
112
113
|
nil
|
@@ -114,33 +115,11 @@ module Percy
|
|
114
115
|
end
|
115
116
|
|
116
117
|
def find_root_paths(dir_path, options = {})
|
117
|
-
|
118
|
-
|
119
|
-
file_paths = []
|
120
|
-
_find_files(dir_path).each do |path|
|
121
|
-
# Skip git files.
|
122
|
-
next if path.match(/\/\.git\//)
|
123
|
-
# Skip files that don't match the snapshots_regex.
|
124
|
-
next if !path.match(snapshots_regex)
|
125
|
-
file_paths << path
|
126
|
-
end
|
127
|
-
file_paths
|
118
|
+
find_files(dir_path).select { |path| include_root_path?(path, options) }
|
128
119
|
end
|
129
120
|
|
130
121
|
def find_resource_paths(dir_path, options = {})
|
131
|
-
|
132
|
-
_find_files(dir_path).each do |path|
|
133
|
-
# Skip git files.
|
134
|
-
next if path.match(/\/\.git\//)
|
135
|
-
|
136
|
-
if !options[:include_all]
|
137
|
-
# Only include files with the above static extensions.
|
138
|
-
next if !Percy::Cli::STATIC_RESOURCE_EXTENSIONS.include?(File.extname(path))
|
139
|
-
end
|
140
|
-
|
141
|
-
file_paths << path
|
142
|
-
end
|
143
|
-
file_paths
|
122
|
+
find_files(dir_path).select { |path| include_resource_path?(path, options) }
|
144
123
|
end
|
145
124
|
|
146
125
|
def maybe_add_protocol(url)
|
@@ -157,10 +136,12 @@ module Percy
|
|
157
136
|
|
158
137
|
paths.each do |path|
|
159
138
|
sha = Digest::SHA256.hexdigest(File.read(path))
|
139
|
+
next if File.size(path) > MAX_FILESIZE_BYTES
|
160
140
|
resource_url = URI.escape(File.join(baseurl, path.sub(strip_prefix, '')))
|
161
141
|
|
162
142
|
resources << Percy::Client::Resource.new(
|
163
|
-
resource_url, sha: sha, is_root: options[:is_root], path: path
|
143
|
+
resource_url, sha: sha, is_root: options[:is_root], path: path,
|
144
|
+
)
|
164
145
|
end
|
165
146
|
resources
|
166
147
|
end
|
@@ -182,13 +163,13 @@ module Percy
|
|
182
163
|
uploader_thread_pool.process do
|
183
164
|
missing_resource_sha = missing_resource['id']
|
184
165
|
resource = potential_resources.find { |r| r.sha == missing_resource_sha }
|
185
|
-
path = resource.resource_url
|
186
166
|
output_lock.synchronize do
|
187
167
|
bar.increment resource_url: resource.resource_url
|
188
168
|
end
|
189
169
|
|
190
|
-
# Remote resources are stored in 'content', local resources are
|
191
|
-
|
170
|
+
# Remote resources are stored in 'content', local resources are
|
171
|
+
# read from the filesystem.
|
172
|
+
content = resource.content || File.read(resource.path.to_s)
|
192
173
|
|
193
174
|
Percy.upload_resource(build['data']['id'], content)
|
194
175
|
end
|
@@ -198,16 +179,30 @@ module Percy
|
|
198
179
|
end
|
199
180
|
|
200
181
|
# A file find method that follows directory and file symlinks.
|
201
|
-
def
|
182
|
+
def find_files(*paths)
|
202
183
|
paths.flatten!
|
203
184
|
paths.map! { |p| Pathname.new(p) }
|
204
|
-
files = paths.select
|
185
|
+
files = paths.select(&:file?)
|
205
186
|
(paths - files).each do |dir|
|
206
|
-
files <<
|
187
|
+
files << find_files(dir.children)
|
207
188
|
end
|
208
|
-
files.flatten.map
|
189
|
+
files.flatten.map(&:to_s)
|
190
|
+
end
|
191
|
+
|
192
|
+
def include_resource_path?(path, options)
|
193
|
+
# Skip git files.
|
194
|
+
return false if path =~ /\/\.git\//
|
195
|
+
return true if options[:include_all]
|
196
|
+
Percy::Cli::STATIC_RESOURCE_EXTENSIONS.include?(File.extname(path))
|
197
|
+
end
|
198
|
+
|
199
|
+
def include_root_path?(path, options)
|
200
|
+
# Skip git files.
|
201
|
+
return false if path =~ /\/\.git\//
|
202
|
+
# Skip files that don't match the snapshots_regex.
|
203
|
+
snapshots_regex = options[:snapshots_regex] || DEFAULT_SNAPSHOTS_REGEX
|
204
|
+
path.match(snapshots_regex)
|
209
205
|
end
|
210
|
-
private :_find_files
|
211
206
|
end
|
212
207
|
end
|
213
208
|
end
|
data/lib/percy/cli/version.rb
CHANGED
data/percy-cli.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'percy/cli/version'
|
@@ -19,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.require_paths = ['lib']
|
20
21
|
|
21
22
|
spec.add_dependency 'commander', '~> 4.3'
|
22
|
-
spec.add_dependency 'percy-client', '~> 1.
|
23
|
+
spec.add_dependency 'percy-client', '~> 1.12'
|
23
24
|
spec.add_dependency 'thread', '~> 0.2'
|
24
25
|
|
25
26
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
@@ -13,6 +13,7 @@ RSpec.describe Percy::Cli::Snapshot do
|
|
13
13
|
end
|
14
14
|
describe '#rescue_connection_failures' do
|
15
15
|
let(:cli) { Percy::Cli.new }
|
16
|
+
|
16
17
|
it 'returns block result on success' do
|
17
18
|
result = cli.send(:rescue_connection_failures) do
|
18
19
|
true
|
@@ -62,30 +63,36 @@ RSpec.describe Percy::Cli::Snapshot do
|
|
62
63
|
describe '#find_root_paths' do
|
63
64
|
it 'returns only the HTML files in the directory' do
|
64
65
|
paths = Percy::Cli.new.send(:find_root_paths, root_dir)
|
65
|
-
expect(paths).to match_array(
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
66
|
+
expect(paths).to match_array(
|
67
|
+
[
|
68
|
+
File.join(root_dir, 'index.html'),
|
69
|
+
File.join(root_dir, 'subdir/test.html'),
|
70
|
+
# Make sure file symlinks are followed.
|
71
|
+
File.join(root_dir, 'subdir/test_symlink.html'),
|
72
|
+
# Make sure directory symlinks are followed.
|
73
|
+
File.join(root_dir, 'subdir_symlink/test.html'),
|
74
|
+
File.join(root_dir, 'subdir_symlink/test_symlink.html'),
|
75
|
+
],
|
76
|
+
)
|
74
77
|
end
|
75
78
|
end
|
76
79
|
describe '#find_resource_paths' do
|
77
80
|
it 'returns only the related static files in the directory' do
|
78
81
|
paths = Percy::Cli.new.send(:find_resource_paths, root_dir)
|
79
|
-
expect(paths).to match_array(
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
82
|
+
expect(paths).to match_array(
|
83
|
+
[
|
84
|
+
File.join(root_dir, 'css/base.css'),
|
85
|
+
File.join(root_dir, 'css/test with spaces.css'),
|
86
|
+
File.join(root_dir, 'images/jellybeans.png'),
|
87
|
+
File.join(root_dir, 'images/large-file-skipped.png'),
|
88
|
+
# Make sure file symlinks are followed.
|
89
|
+
File.join(root_dir, 'images/jellybeans-symlink.png'),
|
90
|
+
# Make sure directory symlinks are followed.
|
91
|
+
File.join(root_dir, 'images_symlink/jellybeans.png'),
|
92
|
+
File.join(root_dir, 'images_symlink/large-file-skipped.png'),
|
93
|
+
File.join(root_dir, 'images_symlink/jellybeans-symlink.png'),
|
94
|
+
],
|
95
|
+
)
|
89
96
|
end
|
90
97
|
end
|
91
98
|
describe '#list_resources' do
|
Binary file
|
data/spec/spec_helper.rb
CHANGED
@@ -26,9 +26,11 @@ RSpec.configure do |config|
|
|
26
26
|
Kernel.srand config.seed
|
27
27
|
|
28
28
|
config.before(:each) do
|
29
|
-
WebMock.disable_net_connect!(
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
WebMock.disable_net_connect!(
|
30
|
+
allow: [
|
31
|
+
'maxcdn.bootstrapcdn.com',
|
32
|
+
'ajax.googleapis.com',
|
33
|
+
],
|
34
|
+
)
|
33
35
|
end
|
34
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: percy-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Perceptual Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.12'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.12'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: thread
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,6 +118,8 @@ extra_rdoc_files: []
|
|
118
118
|
files:
|
119
119
|
- ".gitignore"
|
120
120
|
- ".rspec"
|
121
|
+
- ".rubocop.yml"
|
122
|
+
- ".rubocop_todo.yml"
|
121
123
|
- ".travis.yml"
|
122
124
|
- Gemfile
|
123
125
|
- LICENSE
|
@@ -134,6 +136,7 @@ files:
|
|
134
136
|
- spec/percy/cli/testdata/css/unrelated-no-extension
|
135
137
|
- spec/percy/cli/testdata/images/jellybeans-symlink.png
|
136
138
|
- spec/percy/cli/testdata/images/jellybeans.png
|
139
|
+
- spec/percy/cli/testdata/images/large-file-skipped.png
|
137
140
|
- spec/percy/cli/testdata/images_symlink
|
138
141
|
- spec/percy/cli/testdata/index.html
|
139
142
|
- spec/percy/cli/testdata/subdir/test.html
|
@@ -160,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
163
|
version: '0'
|
161
164
|
requirements: []
|
162
165
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.6.
|
166
|
+
rubygems_version: 2.6.12
|
164
167
|
signing_key:
|
165
168
|
specification_version: 4
|
166
169
|
summary: Percy command-line interface
|
@@ -171,6 +174,7 @@ test_files:
|
|
171
174
|
- spec/percy/cli/testdata/css/unrelated-no-extension
|
172
175
|
- spec/percy/cli/testdata/images/jellybeans-symlink.png
|
173
176
|
- spec/percy/cli/testdata/images/jellybeans.png
|
177
|
+
- spec/percy/cli/testdata/images/large-file-skipped.png
|
174
178
|
- spec/percy/cli/testdata/images_symlink
|
175
179
|
- spec/percy/cli/testdata/index.html
|
176
180
|
- spec/percy/cli/testdata/subdir/test.html
|