fitting 2.16.0 → 2.18.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +34 -3
- data/CHANGELOG.md +19 -0
- data/README.md +37 -4
- data/fitting.gemspec +9 -9
- data/images/example.png +0 -0
- data/images/example2.png +0 -0
- data/images/logo.png +0 -0
- data/lib/fitting/configuration/legacy.rb +6 -5
- data/lib/fitting/configuration/yaml.rb +2 -2
- data/lib/fitting/cover/json_schema.rb +3 -2
- data/lib/fitting/cover/json_schema_enum.rb +1 -1
- data/lib/fitting/cover/json_schema_one_of.rb +1 -1
- data/lib/fitting/cover/response.rb +1 -5
- data/lib/fitting/documentation.rb +0 -2
- data/lib/fitting/matchers/response_matcher.rb +2 -1
- data/lib/fitting/records/documented/request.rb +1 -0
- data/lib/fitting/records/realized_unit.rb +13 -15
- data/lib/fitting/records/spherical/request.rb +1 -1
- data/lib/fitting/records/spherical/requests.rb +2 -1
- data/lib/fitting/records/spherical/response.rb +2 -2
- data/lib/fitting/records/test_unit/request.rb +4 -0
- data/lib/fitting/records/tested/request.rb +4 -4
- data/lib/fitting/records/unit/combination.rb +5 -6
- data/lib/fitting/records/unit/json_schema.rb +38 -33
- data/lib/fitting/records/unit/request.rb +1 -0
- data/lib/fitting/records/unit/response.rb +1 -0
- data/lib/fitting/report/action.rb +6 -9
- data/lib/fitting/report/actions.rb +7 -5
- data/lib/fitting/report/combination.rb +1 -15
- data/lib/fitting/report/combinations.rb +4 -5
- data/lib/fitting/report/console.rb +1 -0
- data/lib/fitting/report/prefix.rb +42 -51
- data/lib/fitting/report/prefixes.rb +6 -4
- data/lib/fitting/report/response.rb +17 -18
- data/lib/fitting/report/responses.rb +9 -8
- data/lib/fitting/report/test.rb +9 -11
- data/lib/fitting/report/tests.rb +10 -13
- data/lib/fitting/request.rb +0 -1
- data/lib/fitting/response.rb +4 -3
- data/lib/fitting/statistics/cover_error.rb +2 -0
- data/lib/fitting/statistics/cover_error_enum.rb +2 -0
- data/lib/fitting/statistics/cover_error_one_of.rb +2 -0
- data/lib/fitting/statistics/list.rb +5 -4
- data/lib/fitting/statistics/not_covered_responses.rb +1 -1
- data/lib/fitting/statistics/percent.rb +2 -1
- data/lib/fitting/statistics/template.rb +10 -8
- data/lib/fitting/storage/responses.rb +2 -2
- data/lib/fitting/storage/white_list.rb +7 -0
- data/lib/fitting/templates/realized_template.rb +2 -0
- data/lib/fitting/tests.rb +1 -1
- data/lib/fitting/version.rb +1 -1
- data/lib/fitting.rb +9 -6
- data/lib/tasks/fitting.rake +62 -54
- data/lib/templates/bomboniere/package-lock.json +82 -67
- data/lib/templates/bomboniere/src/components/HelloWorld.vue +3 -0
- metadata +30 -55
- data/example.png +0 -0
- data/example2.png +0 -0
@@ -17,6 +17,7 @@ module Fitting
|
|
17
17
|
return nil if @white_list == nil && @resource_white_list == nil && @include_resources == nil && @include_actions == nil
|
18
18
|
return @white_list if @white_list
|
19
19
|
return @white_list = transformation if @resource_white_list
|
20
|
+
|
20
21
|
@white_list = {}
|
21
22
|
@white_list.merge!(new_transformation) if @include_resources
|
22
23
|
@white_list.merge!(postnew_transformation) if @include_actions
|
@@ -25,6 +26,7 @@ module Fitting
|
|
25
26
|
|
26
27
|
def without_group
|
27
28
|
return @without_group_list if @without_group_list
|
29
|
+
|
28
30
|
@without_group_list = @resource_white_list.inject([]) do |all_requests, resource|
|
29
31
|
resource_selection(resource, all_requests)
|
30
32
|
end.flatten.uniq
|
@@ -43,6 +45,7 @@ module Fitting
|
|
43
45
|
|
44
46
|
def find_warnings(resource)
|
45
47
|
return nil if @resources[resource]
|
48
|
+
|
46
49
|
@warnings.push(
|
47
50
|
"FITTING WARNING: In the documentation there isn't resource from the resource_white_list #{resource}"
|
48
51
|
)
|
@@ -50,6 +53,7 @@ module Fitting
|
|
50
53
|
|
51
54
|
def puts_warnings
|
52
55
|
return nil if @warnings == []
|
56
|
+
|
53
57
|
warnings_string = @warnings.join("\n")
|
54
58
|
puts "\n#{warnings_string}"
|
55
59
|
end
|
@@ -93,6 +97,7 @@ module Fitting
|
|
93
97
|
|
94
98
|
def new_without_group
|
95
99
|
return @newwithout_group_list if @newwithout_group_list
|
100
|
+
|
96
101
|
@newwithout_group_list = @include_resources.inject([]) do |all_requests, resource|
|
97
102
|
if resource[0] == '/'
|
98
103
|
new_resource_selection(resource, all_requests)
|
@@ -120,6 +125,7 @@ module Fitting
|
|
120
125
|
|
121
126
|
def new_find_warnings(resource)
|
122
127
|
return nil if @new_resources[resource]
|
128
|
+
|
123
129
|
@warnings.push(
|
124
130
|
"FITTING WARNING: In the documentation there isn't resource from the resource_white_list #{resource}"
|
125
131
|
)
|
@@ -135,6 +141,7 @@ module Fitting
|
|
135
141
|
|
136
142
|
def postnew_without_group
|
137
143
|
return @postnewwithout_group_list if @postnewwithout_group_list
|
144
|
+
|
138
145
|
@postnewwithout_group_list = @include_actions.inject([]) do |all_requests, resource|
|
139
146
|
method, path = resource.split(' ')
|
140
147
|
if path[0] == '/'
|
@@ -27,8 +27,10 @@ module Fitting
|
|
27
27
|
all_good = requests.all?(&:valid_json_schemas?)
|
28
28
|
res += "path: #{key} #{all_good ? '✔' : '✖'}\n"
|
29
29
|
next if all_good
|
30
|
+
|
30
31
|
requests.map do |request|
|
31
32
|
next if request.valid_json_schemas?
|
33
|
+
|
32
34
|
res += " full path: #{request.test_path} ✖\n"
|
33
35
|
res += " request.method #{request.method}\n"
|
34
36
|
res += " request.path #{request.path}\n"
|
data/lib/fitting/tests.rb
CHANGED
@@ -13,7 +13,7 @@ module Fitting
|
|
13
13
|
end
|
14
14
|
json = JSON.dump(array)
|
15
15
|
|
16
|
-
File.open("fitting_tests/test#{ENV[
|
16
|
+
File.open("fitting_tests/test#{ENV['TEST_ENV_NUMBER']}.json", 'w') { |file| file.write(json) }
|
17
17
|
end
|
18
18
|
|
19
19
|
def make_dir(dir_name)
|
data/lib/fitting/version.rb
CHANGED
data/lib/fitting.rb
CHANGED
@@ -16,7 +16,6 @@ module Fitting
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def statistics
|
19
|
-
puts 'DEPRECATED: deprecated method statistics, use new method save_test_data'
|
20
19
|
responses = Fitting::Storage::Responses.new
|
21
20
|
|
22
21
|
RSpec.configure do |config|
|
@@ -30,18 +29,21 @@ module Fitting
|
|
30
29
|
end
|
31
30
|
end
|
32
31
|
|
32
|
+
extend Gem::Deprecate
|
33
|
+
deprecate :statistics, :save_test_data, 2022, 1
|
34
|
+
|
33
35
|
def save_test_data
|
34
36
|
responses = Fitting::Storage::Responses.new
|
35
37
|
|
36
|
-
FileUtils.rm_r Dir.glob(
|
38
|
+
FileUtils.rm_r Dir.glob('fitting_tests/*'), force: true
|
37
39
|
|
38
40
|
RSpec.configure do |config|
|
39
|
-
config.after(:each, type: :request) do
|
40
|
-
responses.add(response,
|
41
|
+
config.after(:each, type: :request) do |example|
|
42
|
+
responses.add(response, example.metadata)
|
41
43
|
end
|
42
44
|
|
43
|
-
config.after(:each, type: :controller) do
|
44
|
-
responses.add(response,
|
45
|
+
config.after(:each, type: :controller) do |example|
|
46
|
+
responses.add(response, example.metadata)
|
45
47
|
end
|
46
48
|
|
47
49
|
config.after(:suite) do
|
@@ -61,6 +63,7 @@ module Fitting
|
|
61
63
|
|
62
64
|
def self.load_tasks
|
63
65
|
return if loaded_tasks
|
66
|
+
|
64
67
|
self.loaded_tasks = true
|
65
68
|
|
66
69
|
Dir[File.join(File.dirname(__FILE__), 'tasks', '**/*.rake')].each do |rake|
|
data/lib/tasks/fitting.rake
CHANGED
@@ -22,29 +22,33 @@ namespace :fitting do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
prefixes.to_a.map do |prefix|
|
25
|
+
next if prefix.skip?
|
26
|
+
|
25
27
|
prefix.actions.to_a.map do |action|
|
26
28
|
action.responses.join(action.tests)
|
27
|
-
end
|
29
|
+
end
|
28
30
|
end
|
29
31
|
|
30
32
|
prefixes.to_a.map do |prefix|
|
33
|
+
next if prefix.skip?
|
34
|
+
|
31
35
|
prefix.actions.to_a.map do |action|
|
32
36
|
action.responses.to_a.map do |response|
|
33
37
|
response.combinations.join(response.tests)
|
34
38
|
end
|
35
|
-
end
|
39
|
+
end
|
36
40
|
end
|
37
41
|
|
38
42
|
report = JSON.pretty_generate(
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
+
{
|
44
|
+
tests_without_prefixes: tests.without_prefixes,
|
45
|
+
prefixes_details: prefixes.to_a.map(&:details)
|
46
|
+
}
|
43
47
|
)
|
44
48
|
|
45
49
|
destination = 'fitting'
|
46
50
|
FileUtils.mkdir_p(destination)
|
47
|
-
FileUtils.rm_r Dir.glob("#{destination}/*"), :
|
51
|
+
FileUtils.rm_r Dir.glob("#{destination}/*"), force: true
|
48
52
|
File.open('fitting/report.json', 'w') { |file| file.write(report) }
|
49
53
|
|
50
54
|
gem_path = $LOAD_PATH.find { |i| i.include?('fitting') }
|
@@ -54,6 +58,8 @@ namespace :fitting do
|
|
54
58
|
json_schemas = {}
|
55
59
|
combinations = {}
|
56
60
|
prefixes.to_a.map do |prefix|
|
61
|
+
next if prefix.skip?
|
62
|
+
|
57
63
|
prefix.actions.to_a.map do |action|
|
58
64
|
action.responses.to_a.map do |response|
|
59
65
|
json_schemas.merge!(response.id => response.body)
|
@@ -61,24 +67,24 @@ namespace :fitting do
|
|
61
67
|
combinations.merge!(combination.id => combination.json_schema)
|
62
68
|
end
|
63
69
|
end
|
64
|
-
end
|
70
|
+
end
|
65
71
|
end
|
66
72
|
File.open('fitting/json_schemas.json', 'w') { |file| file.write(JSON.pretty_generate(json_schemas)) }
|
67
73
|
File.open('fitting/combinations.json', 'w') { |file| file.write(JSON.pretty_generate(combinations)) }
|
68
74
|
File.open('fitting/tests.json', 'w') { |file| file.write(JSON.pretty_generate(tests.to_h)) }
|
69
75
|
|
70
|
-
js_path = Dir["#{destination}/js/*"].find { |f| f[0..14] == 'fitting/js/app.' and f[-3
|
76
|
+
js_path = Dir["#{destination}/js/*"].find { |f| f[0..14] == 'fitting/js/app.' and f[-3..] == '.js' }
|
71
77
|
js_file = File.read(js_path)
|
72
|
-
new_js_file = js_file.gsub(
|
73
|
-
new_js_file = new_js_file.gsub(
|
74
|
-
new_js_file = new_js_file.gsub(
|
75
|
-
new_js_file = new_js_file.gsub(
|
76
|
-
new_js_file = new_js_file.gsub(
|
78
|
+
new_js_file = js_file.gsub('{stub:"prefixes report"}', report)
|
79
|
+
new_js_file = new_js_file.gsub('{stub:"for action page"}', report)
|
80
|
+
new_js_file = new_js_file.gsub('{stub:"json-schemas"}', JSON.pretty_generate(json_schemas))
|
81
|
+
new_js_file = new_js_file.gsub('{stub:"combinations"}', JSON.pretty_generate(combinations))
|
82
|
+
new_js_file = new_js_file.gsub('{stub:"tests"}', JSON.pretty_generate(tests.to_h))
|
77
83
|
File.open(js_path, 'w') { |file| file.write(new_js_file) }
|
78
84
|
|
79
85
|
console = Fitting::Report::Console.new(
|
80
|
-
|
81
|
-
|
86
|
+
tests.without_prefixes,
|
87
|
+
prefixes.to_a.map(&:details)
|
82
88
|
)
|
83
89
|
|
84
90
|
puts console.output
|
@@ -88,53 +94,53 @@ namespace :fitting do
|
|
88
94
|
exit 0
|
89
95
|
|
90
96
|
actions.map do |action|
|
91
|
-
action.to_hash[
|
97
|
+
action.to_hash['responses'].map do |response|
|
92
98
|
response['combination'] ||= []
|
93
|
-
combinations = Fitting::Cover::JSONSchema.new(response['body']).combi +
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
99
|
+
combinations = Fitting::Cover::JSONSchema.new(response['body']).combi +
|
100
|
+
Fitting::Cover::JSONSchemaEnum.new(response['body']).combi +
|
101
|
+
Fitting::Cover::JSONSchemaOneOf.new(response['body']).combi
|
102
|
+
next unless combinations != []
|
103
|
+
|
104
|
+
combinations.map do |combination|
|
105
|
+
response['combination'].push(
|
106
|
+
{
|
107
|
+
'json_schema' => combination[0],
|
108
|
+
'type' => combination[1][0],
|
109
|
+
'combination' => combination[1][1],
|
110
|
+
'tests' => [],
|
111
|
+
'error' => []
|
112
|
+
}
|
113
|
+
)
|
106
114
|
end
|
107
115
|
end
|
108
116
|
end
|
109
117
|
|
110
118
|
actions.map do |action|
|
111
|
-
action.to_hash[
|
119
|
+
action.to_hash['responses'].map do |response|
|
112
120
|
response['tests'] ||= []
|
113
121
|
response['tests'].map do |test|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
end
|
125
|
-
rescue JSON::Schema::SchemaError => error
|
126
|
-
combination['error'].push({test: test, error: error})
|
127
|
-
end
|
122
|
+
next unless response['combination'][0]
|
123
|
+
|
124
|
+
response['combination'].map do |combination|
|
125
|
+
res = JSON::Validator.fully_validate(combination['json_schema'], test['response']['body'])
|
126
|
+
if res == []
|
127
|
+
combination['tests'].push(test)
|
128
|
+
response['tests'] = response['tests'] - [test]
|
129
|
+
next
|
130
|
+
else
|
131
|
+
combination['error'].push({ test: test, error: res })
|
128
132
|
end
|
133
|
+
rescue JSON::Schema::SchemaError => e
|
134
|
+
combination['error'].push({ test: test, error: e })
|
129
135
|
end
|
130
136
|
end
|
131
137
|
end
|
132
138
|
end
|
133
139
|
|
134
|
-
actions_test = {actions: actions, tests: tests}
|
140
|
+
actions_test = { actions: actions, tests: tests }
|
135
141
|
|
136
142
|
makedirs('fitting')
|
137
|
-
File.open('fitting/old_report.json', 'w') { |file| file.write(
|
143
|
+
File.open('fitting/old_report.json', 'w') { |file| file.write(JSON.dump(actions_test)) }
|
138
144
|
end
|
139
145
|
|
140
146
|
# deprecated
|
@@ -154,7 +160,8 @@ namespace :fitting do
|
|
154
160
|
|
155
161
|
desc 'Fitting documentation responses cover'
|
156
162
|
task :documentation_responses, [:size] => :environment do |_, args|
|
157
|
-
|
163
|
+
case args.size
|
164
|
+
when 'xs'
|
158
165
|
documented_unit = Fitting::Statistics::Template.new(
|
159
166
|
Fitting::Records::Spherical::Requests.new,
|
160
167
|
Fitting.configuration
|
@@ -165,7 +172,7 @@ namespace :fitting do
|
|
165
172
|
puts 'Not all responses from the whitelist are covered!'
|
166
173
|
exit 1
|
167
174
|
end
|
168
|
-
|
175
|
+
when 's'
|
169
176
|
documented_unit = Fitting::Statistics::Template.new(
|
170
177
|
Fitting::Records::Spherical::Requests.new,
|
171
178
|
Fitting.configuration,
|
@@ -177,7 +184,7 @@ namespace :fitting do
|
|
177
184
|
puts 'Not all responses from the whitelist are covered!'
|
178
185
|
exit 1
|
179
186
|
end
|
180
|
-
|
187
|
+
when 'm'
|
181
188
|
documented_unit = Fitting::Statistics::Template.new(
|
182
189
|
Fitting::Records::Spherical::Requests.new,
|
183
190
|
Fitting.configuration,
|
@@ -189,7 +196,7 @@ namespace :fitting do
|
|
189
196
|
puts 'Not all responses from the whitelist are covered!'
|
190
197
|
exit 1
|
191
198
|
end
|
192
|
-
|
199
|
+
when 'l'
|
193
200
|
documented_unit = Fitting::Statistics::Template.new(
|
194
201
|
Fitting::Records::Spherical::Requests.new,
|
195
202
|
Fitting.configuration,
|
@@ -208,19 +215,20 @@ namespace :fitting do
|
|
208
215
|
|
209
216
|
desc 'Fitting documentation responses cover error'
|
210
217
|
task :documentation_responses_error, [:size] => :environment do |_, args|
|
211
|
-
|
218
|
+
case args.size
|
219
|
+
when 's'
|
212
220
|
documented_unit = Fitting::Statistics::TemplateCoverError.new(
|
213
221
|
Fitting::Records::Spherical::Requests.new,
|
214
222
|
Fitting.configuration
|
215
223
|
)
|
216
224
|
puts documented_unit.stats
|
217
|
-
|
225
|
+
when 'm'
|
218
226
|
documented_unit = Fitting::Statistics::TemplateCoverErrorEnum.new(
|
219
227
|
Fitting::Records::Spherical::Requests.new,
|
220
228
|
Fitting.configuration
|
221
229
|
)
|
222
230
|
puts documented_unit.stats
|
223
|
-
|
231
|
+
when 'l'
|
224
232
|
documented_unit = Fitting::Statistics::TemplateCoverErrorOneOf.new(
|
225
233
|
Fitting::Records::Spherical::Requests.new,
|
226
234
|
Fitting.configuration
|
@@ -1185,15 +1185,48 @@
|
|
1185
1185
|
}
|
1186
1186
|
},
|
1187
1187
|
"browserslist": {
|
1188
|
-
"version": "4.
|
1189
|
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.
|
1190
|
-
"integrity": "sha512-
|
1188
|
+
"version": "4.16.6",
|
1189
|
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
|
1190
|
+
"integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
|
1191
1191
|
"dev": true,
|
1192
1192
|
"requires": {
|
1193
|
-
"caniuse-lite": "^1.0.
|
1194
|
-
"
|
1195
|
-
"
|
1196
|
-
"
|
1193
|
+
"caniuse-lite": "^1.0.30001219",
|
1194
|
+
"colorette": "^1.2.2",
|
1195
|
+
"electron-to-chromium": "^1.3.723",
|
1196
|
+
"escalade": "^3.1.1",
|
1197
|
+
"node-releases": "^1.1.71"
|
1198
|
+
},
|
1199
|
+
"dependencies": {
|
1200
|
+
"caniuse-lite": {
|
1201
|
+
"version": "1.0.30001230",
|
1202
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz",
|
1203
|
+
"integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==",
|
1204
|
+
"dev": true
|
1205
|
+
},
|
1206
|
+
"colorette": {
|
1207
|
+
"version": "1.2.2",
|
1208
|
+
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
|
1209
|
+
"integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
|
1210
|
+
"dev": true
|
1211
|
+
},
|
1212
|
+
"electron-to-chromium": {
|
1213
|
+
"version": "1.3.739",
|
1214
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz",
|
1215
|
+
"integrity": "sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A==",
|
1216
|
+
"dev": true
|
1217
|
+
},
|
1218
|
+
"escalade": {
|
1219
|
+
"version": "3.1.1",
|
1220
|
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
1221
|
+
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
1222
|
+
"dev": true
|
1223
|
+
},
|
1224
|
+
"node-releases": {
|
1225
|
+
"version": "1.1.72",
|
1226
|
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz",
|
1227
|
+
"integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==",
|
1228
|
+
"dev": true
|
1229
|
+
}
|
1197
1230
|
}
|
1198
1231
|
},
|
1199
1232
|
"buffer": {
|
@@ -1267,9 +1300,9 @@
|
|
1267
1300
|
},
|
1268
1301
|
"dependencies": {
|
1269
1302
|
"ssri": {
|
1270
|
-
"version": "6.0.
|
1271
|
-
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.
|
1272
|
-
"integrity": "sha512-
|
1303
|
+
"version": "6.0.2",
|
1304
|
+
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
|
1305
|
+
"integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
|
1273
1306
|
"dev": true,
|
1274
1307
|
"requires": {
|
1275
1308
|
"figgy-pudding": "^3.5.1"
|
@@ -1722,9 +1755,9 @@
|
|
1722
1755
|
"dev": true
|
1723
1756
|
},
|
1724
1757
|
"color-string": {
|
1725
|
-
"version": "1.
|
1726
|
-
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.
|
1727
|
-
"integrity": "sha512-
|
1758
|
+
"version": "1.6.0",
|
1759
|
+
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
|
1760
|
+
"integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
|
1728
1761
|
"dev": true,
|
1729
1762
|
"requires": {
|
1730
1763
|
"color-name": "^1.0.0",
|
@@ -2693,9 +2726,9 @@
|
|
2693
2726
|
"dev": true
|
2694
2727
|
},
|
2695
2728
|
"dns-packet": {
|
2696
|
-
"version": "1.3.
|
2697
|
-
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.
|
2698
|
-
"integrity": "sha512-
|
2729
|
+
"version": "1.3.4",
|
2730
|
+
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
|
2731
|
+
"integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
|
2699
2732
|
"dev": true,
|
2700
2733
|
"requires": {
|
2701
2734
|
"ip": "^1.1.0",
|
@@ -2836,31 +2869,25 @@
|
|
2836
2869
|
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
|
2837
2870
|
"dev": true
|
2838
2871
|
},
|
2839
|
-
"electron-to-chromium": {
|
2840
|
-
"version": "1.3.483",
|
2841
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.483.tgz",
|
2842
|
-
"integrity": "sha512-+05RF8S9rk8S0G8eBCqBRBaRq7+UN3lDs2DAvnG8SBSgQO3hjy0+qt4CmRk5eiuGbTcaicgXfPmBi31a+BD3lg==",
|
2843
|
-
"dev": true
|
2844
|
-
},
|
2845
2872
|
"elliptic": {
|
2846
|
-
"version": "6.5.
|
2847
|
-
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.
|
2848
|
-
"integrity": "sha512-
|
2873
|
+
"version": "6.5.4",
|
2874
|
+
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
|
2875
|
+
"integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
|
2849
2876
|
"dev": true,
|
2850
2877
|
"requires": {
|
2851
|
-
"bn.js": "^4.
|
2852
|
-
"brorand": "^1.0
|
2878
|
+
"bn.js": "^4.11.9",
|
2879
|
+
"brorand": "^1.1.0",
|
2853
2880
|
"hash.js": "^1.0.0",
|
2854
|
-
"hmac-drbg": "^1.0.
|
2855
|
-
"inherits": "^2.0.
|
2856
|
-
"minimalistic-assert": "^1.0.
|
2857
|
-
"minimalistic-crypto-utils": "^1.0.
|
2881
|
+
"hmac-drbg": "^1.0.1",
|
2882
|
+
"inherits": "^2.0.4",
|
2883
|
+
"minimalistic-assert": "^1.0.1",
|
2884
|
+
"minimalistic-crypto-utils": "^1.0.1"
|
2858
2885
|
},
|
2859
2886
|
"dependencies": {
|
2860
2887
|
"bn.js": {
|
2861
|
-
"version": "4.
|
2862
|
-
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.
|
2863
|
-
"integrity": "sha512-
|
2888
|
+
"version": "4.12.0",
|
2889
|
+
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
|
2890
|
+
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
2864
2891
|
"dev": true
|
2865
2892
|
}
|
2866
2893
|
}
|
@@ -2978,12 +3005,6 @@
|
|
2978
3005
|
"is-symbol": "^1.0.2"
|
2979
3006
|
}
|
2980
3007
|
},
|
2981
|
-
"escalade": {
|
2982
|
-
"version": "3.0.1",
|
2983
|
-
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz",
|
2984
|
-
"integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==",
|
2985
|
-
"dev": true
|
2986
|
-
},
|
2987
3008
|
"escape-html": {
|
2988
3009
|
"version": "1.0.3",
|
2989
3010
|
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
@@ -3846,9 +3867,9 @@
|
|
3846
3867
|
"dev": true
|
3847
3868
|
},
|
3848
3869
|
"hosted-git-info": {
|
3849
|
-
"version": "2.8.
|
3850
|
-
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.
|
3851
|
-
"integrity": "sha512-
|
3870
|
+
"version": "2.8.9",
|
3871
|
+
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
|
3872
|
+
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
|
3852
3873
|
"dev": true
|
3853
3874
|
},
|
3854
3875
|
"hpack.js": {
|
@@ -4762,9 +4783,9 @@
|
|
4762
4783
|
}
|
4763
4784
|
},
|
4764
4785
|
"lodash": {
|
4765
|
-
"version": "4.17.
|
4766
|
-
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.
|
4767
|
-
"integrity": "sha512-
|
4786
|
+
"version": "4.17.21",
|
4787
|
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
4788
|
+
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
4768
4789
|
"dev": true
|
4769
4790
|
},
|
4770
4791
|
"lodash.defaultsdeep": {
|
@@ -5295,12 +5316,6 @@
|
|
5295
5316
|
}
|
5296
5317
|
}
|
5297
5318
|
},
|
5298
|
-
"node-releases": {
|
5299
|
-
"version": "1.1.58",
|
5300
|
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
|
5301
|
-
"integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
|
5302
|
-
"dev": true
|
5303
|
-
},
|
5304
5319
|
"normalize-package-data": {
|
5305
5320
|
"version": "2.5.0",
|
5306
5321
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
@@ -5747,9 +5762,9 @@
|
|
5747
5762
|
"dev": true
|
5748
5763
|
},
|
5749
5764
|
"path-parse": {
|
5750
|
-
"version": "1.0.
|
5751
|
-
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.
|
5752
|
-
"integrity": "sha512-
|
5765
|
+
"version": "1.0.7",
|
5766
|
+
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
5767
|
+
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
5753
5768
|
"dev": true
|
5754
5769
|
},
|
5755
5770
|
"path-to-regexp": {
|
@@ -5869,9 +5884,9 @@
|
|
5869
5884
|
"dev": true
|
5870
5885
|
},
|
5871
5886
|
"postcss": {
|
5872
|
-
"version": "7.0.
|
5873
|
-
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.
|
5874
|
-
"integrity": "sha512-
|
5887
|
+
"version": "7.0.36",
|
5888
|
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
|
5889
|
+
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
|
5875
5890
|
"dev": true,
|
5876
5891
|
"requires": {
|
5877
5892
|
"chalk": "^2.4.2",
|
@@ -8248,9 +8263,9 @@
|
|
8248
8263
|
}
|
8249
8264
|
},
|
8250
8265
|
"url-parse": {
|
8251
|
-
"version": "1.
|
8252
|
-
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.
|
8253
|
-
"integrity": "sha512-
|
8266
|
+
"version": "1.5.3",
|
8267
|
+
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz",
|
8268
|
+
"integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==",
|
8254
8269
|
"dev": true,
|
8255
8270
|
"requires": {
|
8256
8271
|
"querystringify": "^2.1.1",
|
@@ -9199,9 +9214,9 @@
|
|
9199
9214
|
"dev": true
|
9200
9215
|
},
|
9201
9216
|
"ws": {
|
9202
|
-
"version": "6.2.
|
9203
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.
|
9204
|
-
"integrity": "sha512-
|
9217
|
+
"version": "6.2.2",
|
9218
|
+
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
|
9219
|
+
"integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
|
9205
9220
|
"dev": true,
|
9206
9221
|
"requires": {
|
9207
9222
|
"async-limiter": "~1.0.0"
|
@@ -9214,9 +9229,9 @@
|
|
9214
9229
|
"dev": true
|
9215
9230
|
},
|
9216
9231
|
"y18n": {
|
9217
|
-
"version": "4.0.
|
9218
|
-
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.
|
9219
|
-
"integrity": "sha512-
|
9232
|
+
"version": "4.0.1",
|
9233
|
+
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
|
9234
|
+
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
|
9220
9235
|
"dev": true
|
9221
9236
|
},
|
9222
9237
|
"yallist": {
|