openc3 5.7.2 → 5.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/data/config/widgets.yaml +6 -6
  4. data/lib/openc3/api/cmd_api.rb +29 -0
  5. data/lib/openc3/api/limits_api.rb +31 -1
  6. data/lib/openc3/api/tlm_api.rb +5 -7
  7. data/lib/openc3/core_ext/faraday.rb +8 -0
  8. data/lib/openc3/core_ext.rb +1 -1
  9. data/lib/openc3/io/json_api_object.rb +24 -12
  10. data/lib/openc3/io/json_drb_object.rb +3 -7
  11. data/lib/openc3/logs/buffered_packet_log_writer.rb +20 -12
  12. data/lib/openc3/logs/log_writer.rb +12 -7
  13. data/lib/openc3/logs/packet_log_writer.rb +9 -6
  14. data/lib/openc3/microservices/decom_microservice.rb +4 -0
  15. data/lib/openc3/microservices/interface_decom_common.rb +32 -0
  16. data/lib/openc3/microservices/reducer_microservice.rb +15 -11
  17. data/lib/openc3/models/cvt_model.rb +10 -5
  18. data/lib/openc3/models/gem_model.rb +0 -1
  19. data/lib/openc3/models/scope_model.rb +0 -3
  20. data/lib/openc3/models/target_model.rb +7 -7
  21. data/lib/openc3/models/timeline_model.rb +0 -1
  22. data/lib/openc3/models/trigger_group_model.rb +0 -1
  23. data/lib/openc3/script/metadata.rb +7 -7
  24. data/lib/openc3/script/screen.rb +5 -5
  25. data/lib/openc3/script/script_runner.rb +17 -17
  26. data/lib/openc3/script/storage.rb +2 -2
  27. data/lib/openc3/topics/config_topic.rb +1 -6
  28. data/lib/openc3/topics/decom_interface_topic.rb +62 -0
  29. data/lib/openc3/topics/telemetry_decom_topic.rb +0 -9
  30. data/lib/openc3/topics/topic.rb +4 -11
  31. data/lib/openc3/utilities/authentication.rb +4 -4
  32. data/lib/openc3/utilities/bucket_require.rb +65 -0
  33. data/lib/openc3/utilities/bucket_utilities.rb +38 -5
  34. data/lib/openc3/utilities/open_telemetry.rb +4 -4
  35. data/lib/openc3/utilities/process_manager.rb +4 -2
  36. data/lib/openc3/utilities/ruby_lex_utils.rb +62 -36
  37. data/lib/openc3/utilities/store_autoload.rb +7 -28
  38. data/lib/openc3/version.rb +6 -6
  39. data/lib/openc3.rb +1 -1
  40. data/templates/widget/package.json +7 -7
  41. data/templates/widget/yarn.lock +46 -47
  42. metadata +55 -38
@@ -92,13 +92,15 @@ module OpenC3
92
92
  @processes.each do |process|
93
93
  # Check if the process is still alive
94
94
  if !process.alive?
95
+ output = process.extract_output
96
+ process.status.output = output
95
97
  if process.exit_code != 0
96
98
  process.status.state = "Crashed"
99
+ elsif output.include?('"severity":"ERROR"') || output.include?('"severity":"WARN"')
100
+ process.status.state = "Warning"
97
101
  else
98
102
  process.status.state = "Complete"
99
103
  end
100
- output = process.extract_output
101
- process.status.output = output
102
104
  process.hard_stop
103
105
  processes_to_delete << process
104
106
  elsif process.expires_at < current_time
@@ -20,6 +20,7 @@
20
20
  # This file may also be used under the terms of a commercial license
21
21
  # if purchased from OpenC3, Inc.
22
22
 
23
+ require 'irb'
23
24
  require 'irb/ruby-lex'
24
25
  require 'stringio'
25
26
 
@@ -40,6 +41,14 @@ class RubyLex
40
41
  @prompt = nil
41
42
  initialize_input()
42
43
  end
44
+
45
+ major, minor, _ = RUBY_VERSION.split('.')
46
+ if major == '3' and minor.to_i < 2
47
+ alias orig_lex lex
48
+ def lex(context)
49
+ orig_lex()
50
+ end
51
+ end
43
52
  end
44
53
  $VERBOSE = old_verbose
45
54
 
@@ -80,18 +89,21 @@ class RubyLexUtils
80
89
 
81
90
  # Create a new RubyLex and StringIO to hold the text to operate on
82
91
  def initialize
92
+ # Taken from https://github.com/ruby/ruby/blob/master/test/irb/test_ruby_lex.rb#L827
93
+ IRB.init_config(nil)
94
+ IRB.conf[:VERBOSE] = false
95
+ # IRB.setup doesn't work because the command line options are passed
96
+ # and it doesn't recognize --warnings when we run rspec (see spec.rake)
97
+ # IRB.setup(__FILE__)
98
+ workspace = IRB::WorkSpace.new(binding)
99
+ @context = IRB::Context.new(nil, workspace)
100
+
83
101
  @lex = RubyLex.new
84
102
  @lex_io = StringIO.new('')
85
103
  end
86
104
 
87
- if RUBY_VERSION >= "3.0"
88
- def ripper_lex_without_warning(code)
89
- RubyLex.ripper_lex_without_warning(code)
90
- end
91
- else
92
- def ripper_lex_without_warning(code)
93
- @lex.ripper_lex_without_warning(code)
94
- end
105
+ def ripper_lex_without_warning(code)
106
+ RubyLex.ripper_lex_without_warning(code)
95
107
  end
96
108
 
97
109
  # @param text [String]
@@ -99,7 +111,7 @@ class RubyLexUtils
99
111
  def contains_begin?(text)
100
112
  @lex.reinitialize
101
113
  @lex_io.string = text
102
- @lex.set_input(@lex_io)
114
+ @lex.set_input(@lex_io, context: @context)
103
115
  tokens = ripper_lex_without_warning(text)
104
116
  tokens.each do |token|
105
117
  if token[1] == :on_kw and token[2] == 'begin'
@@ -114,7 +126,7 @@ class RubyLexUtils
114
126
  def contains_end?(text)
115
127
  @lex.reinitialize
116
128
  @lex_io.string = text
117
- @lex.set_input(@lex_io)
129
+ @lex.set_input(@lex_io, context: @context)
118
130
  tokens = ripper_lex_without_warning(text)
119
131
  tokens.each do |token|
120
132
  if token[1] == :on_kw and token[2] == 'end'
@@ -129,7 +141,7 @@ class RubyLexUtils
129
141
  def contains_keyword?(text)
130
142
  @lex.reinitialize
131
143
  @lex_io.string = text
132
- @lex.set_input(@lex_io)
144
+ @lex.set_input(@lex_io, context: @context)
133
145
  tokens = ripper_lex_without_warning(text)
134
146
  tokens.each do |token|
135
147
  if token[1] == :on_kw
@@ -149,7 +161,7 @@ class RubyLexUtils
149
161
  def contains_block_beginning?(text)
150
162
  @lex.reinitialize
151
163
  @lex_io.string = text
152
- @lex.set_input(@lex_io)
164
+ @lex.set_input(@lex_io, context: @context)
153
165
  tokens = ripper_lex_without_warning(text)
154
166
  tokens.each do |token|
155
167
  if token[1] == :on_kw
@@ -166,7 +178,7 @@ class RubyLexUtils
166
178
  def continue_block?(text)
167
179
  @lex.reinitialize
168
180
  @lex_io.string = text
169
- @lex.set_input(@lex_io)
181
+ @lex.set_input(@lex_io, context: @context)
170
182
  tokens = RubyLex.ripper_lex_without_warning(text)
171
183
  index = tokens.length - 1
172
184
  while index > 0
@@ -184,7 +196,7 @@ class RubyLexUtils
184
196
  def remove_comments(text, progress_dialog = nil)
185
197
  @lex.reinitialize
186
198
  @lex_io.string = text
187
- @lex.set_input(@lex_io)
199
+ @lex.set_input(@lex_io, context: @context)
188
200
  comments_removed = ""
189
201
  token_count = 0
190
202
  progress = 0.0
@@ -218,44 +230,64 @@ class RubyLexUtils
218
230
  inside_begin = false
219
231
  lex = RubyLex.new
220
232
  lex_io = StringIO.new(text)
221
- lex.set_input(lex_io)
233
+ lex.set_input(lex_io, context: @context)
222
234
  lex.line = ''
223
235
  line = ''
236
+ indent = 0
224
237
  continue_indent = nil
225
238
  begin_indent = nil
226
- previous_indent = 0
239
+ previous_line_indent = 0
227
240
 
228
- while lexed = lex.lex
229
- #puts "lexed = #{lexed.chomp}, indent = #{lex.indent}, continue = #{lex.continue}, ltype = #{lex.ltype.inspect}, code_block_open = #{lex.code_block_open}"
241
+ while lexed = lex.lex(@context)
230
242
  lex.line_no += lexed.count("\n")
231
243
  lex.line.concat lexed
232
244
  line.concat lexed
245
+
246
+ if continue_indent
247
+ indent = previous_line_indent + lex.indent
248
+ else
249
+ indent += lex.indent
250
+ lex.indent = 0
251
+ end
252
+
253
+ if inside_begin and indent < begin_indent
254
+ begin_indent = nil
255
+ inside_begin = false
256
+ end
257
+
258
+ # Uncomment the following to help with debugging
259
+ #puts
260
+ #puts '*' * 80
261
+ #puts lex.line
262
+ #puts "lexed = #{lexed.chomp}, indent (of next line) = #{indent}, actual lex.indent = #{lex.indent}, continue = #{lex.continue}, ltype = #{lex.ltype.inspect}, code_block_open = #{lex.code_block_open}, continue_indent = #{continue_indent.inspect}, begin_indent = #{begin_indent.inspect}"
263
+
264
+ # These lines put multiple lines together that are really one line
233
265
  if lex.continue or lex.ltype
234
266
  if not continue_block?(lexed)
267
+ # Set the indent we should stop at
235
268
  unless continue_indent
236
- if (lex.indent - previous_indent) > 1
237
- continue_indent = lex.indent - 1
269
+ if (indent - previous_line_indent) > 1
270
+ continue_indent = indent - 1
238
271
  else
239
- continue_indent = previous_indent
272
+ continue_indent = previous_line_indent
240
273
  end
241
274
  end
242
- #puts "continue_indent = #{continue_indent}"
243
275
  next
244
276
  end
245
277
  elsif continue_indent
246
- if lex.indent > continue_indent
278
+ if indent > continue_indent
279
+ # Still have more content
247
280
  next
248
281
  else
282
+ # Ready to yield this combined line
249
283
  yield line, !contains_keyword?(line), inside_begin, lex.exp_line_no
250
284
  line = ''
251
285
  lex.exp_line_no = lex.line_no
252
- if lex.indent == 0
253
- lex.line = ''
254
- end
286
+ lex.line = ''
255
287
  next
256
288
  end
257
289
  end
258
- previous_indent = lex.indent
290
+ previous_line_indent = indent
259
291
  continue_indent = nil
260
292
 
261
293
  # Detect the beginning and end of begin blocks so we can not catch exceptions there
@@ -265,14 +297,11 @@ class RubyLexUtils
265
297
  # Ignore
266
298
  else
267
299
  inside_begin = true
268
- begin_indent = lex.indent unless begin_indent # Don't restart for nested begins
300
+ begin_indent = indent unless begin_indent # Don't restart for nested begins
269
301
  end
270
302
  end
271
303
 
272
- if inside_begin and lex.indent < begin_indent
273
- begin_indent = nil
274
- inside_begin = false
275
- end
304
+ # The following code does not care about indent
276
305
 
277
306
  loop do # loop to allow restarting for nested conditions
278
307
  # Yield blank lines and lonely else lines before the actual line
@@ -298,12 +327,9 @@ class RubyLexUtils
298
327
  end
299
328
  line = ''
300
329
  lex.exp_line_no = lex.line_no
330
+ lex.line = ''
301
331
  break
302
332
  end # loop do
303
-
304
- if lex.indent == 0
305
- lex.line = ''
306
- end
307
333
  end # while lexed
308
334
  end # def each_lexed_segment
309
335
  end
@@ -53,26 +53,14 @@ module OpenC3
53
53
  end
54
54
  end
55
55
 
56
- if RUBY_VERSION < "3"
57
- # Delegate all unknown class methods to delegate to the instance
58
- def self.method_missing(message, *args, &block)
59
- self.instance.public_send(message, *args, &block)
60
- end
61
-
62
- # Delegate all unknown methods to redis through the @redis_pool
63
- def method_missing(message, *args, &block)
64
- @redis_pool.with { |redis| redis.public_send(message, *args, &block) }
65
- end
66
- else
67
- # Delegate all unknown class methods to delegate to the instance
68
- def self.method_missing(message, *args, **kwargs, &block)
69
- self.instance.public_send(message, *args, **kwargs, &block)
70
- end
56
+ # Delegate all unknown class methods to delegate to the instance
57
+ def self.method_missing(message, *args, **kwargs, &block)
58
+ self.instance.public_send(message, *args, **kwargs, &block)
59
+ end
71
60
 
72
- # Delegate all unknown methods to redis through the @redis_pool
73
- def method_missing(message, *args, **kwargs, &block)
74
- @redis_pool.with { |redis| redis.public_send(message, *args, **kwargs, &block) }
75
- end
61
+ # Delegate all unknown methods to redis through the @redis_pool
62
+ def method_missing(message, *args, **kwargs, &block)
63
+ @redis_pool.with { |redis| redis.public_send(message, *args, **kwargs, &block) }
76
64
  end
77
65
 
78
66
  def initialize(pool_size = 10)
@@ -92,15 +80,6 @@ module OpenC3
92
80
  # Stream APIs
93
81
  ###########################################################################
94
82
 
95
- def initialize_streams(topics)
96
- @redis_pool.with do |redis|
97
- topics.each do |topic|
98
- # Create empty stream with maxlen 0
99
- redis.xadd(topic, { a: 'b' }, maxlen: 0)
100
- end
101
- end
102
- end
103
-
104
83
  def get_oldest_message(topic)
105
84
  @redis_pool.with do |redis|
106
85
  result = redis.xrange(topic, count: 1)
@@ -1,14 +1,14 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
- OPENC3_VERSION = '5.7.2'
3
+ OPENC3_VERSION = '5.8.0'
4
4
  module OpenC3
5
5
  module Version
6
6
  MAJOR = '5'
7
- MINOR = '7'
8
- PATCH = '2'
7
+ MINOR = '8'
8
+ PATCH = '0'
9
9
  OTHER = ''
10
- BUILD = '30e36d6a89cd0b8609559c117cd902f2e8551de9'
10
+ BUILD = '598259d532882002dfa6b0ba226e4696d31fbbfd'
11
11
  end
12
- VERSION = '5.7.2'
13
- GEM_VERSION = '5.7.2'
12
+ VERSION = '5.8.0'
13
+ GEM_VERSION = '5.8.0'
14
14
  end
data/lib/openc3.rb CHANGED
@@ -54,4 +54,4 @@ require 'openc3/system'
54
54
  # OpenC3 services need to die if something goes wrong so they can be restarted
55
55
  require 'thread'
56
56
  Thread.abort_on_exception = true
57
- Thread.report_on_exception = true
57
+ Thread.report_on_exception = true
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "widget",
3
- "version": "5.7.2",
3
+ "version": "5.8.0",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "build": "vue-cli-service build --target lib --dest tools/widgets/<%= widget_name %> --formats umd-min <%= widget_path %> --name <%= widget_name %>"
7
7
  },
8
8
  "dependencies": {
9
- "@openc3/tool-common": "5.7.2",
9
+ "@openc3/tool-common": "5.8.0",
10
10
  "vue": "2.7.14",
11
11
  "vuetify": "2.6.14"
12
12
  },
13
13
  "devDependencies": {
14
14
  "@babel/eslint-parser": "7.21.8",
15
- "@rushstack/eslint-patch": "1.2.0",
15
+ "@rushstack/eslint-patch": "1.3.0",
16
16
  "@vue/babel-preset-app": "5.0.8",
17
17
  "@vue/cli": "5.0.8",
18
18
  "@vue/cli-plugin-babel": "5.0.8",
@@ -21,15 +21,15 @@
21
21
  "@vue/eslint-config-prettier": "7.1.0",
22
22
  "babel-loader": "9.1.2",
23
23
  "babel-plugin-istanbul": "6.1.1",
24
- "eslint": "8.40.0",
24
+ "eslint": "8.41.0",
25
25
  "eslint-config-prettier": "8.8.0",
26
26
  "eslint-plugin-prettier": "4.2.1",
27
- "eslint-plugin-vue": "9.11.1",
27
+ "eslint-plugin-vue": "9.14.1",
28
28
  "prettier": "2.8.8",
29
29
  "sass": "1.62.1",
30
- "sass-loader": "13.2.2",
30
+ "sass-loader": "13.3.0",
31
31
  "vue-cli-plugin-vuetify": "2.5.8",
32
32
  "vue-template-compiler": "2.7.14",
33
- "webpack": "5.82.0"
33
+ "webpack": "5.84.1"
34
34
  }
35
35
  }
@@ -1180,10 +1180,10 @@
1180
1180
  minimatch "^3.1.2"
1181
1181
  strip-json-comments "^3.1.1"
1182
1182
 
1183
- "@eslint/js@8.40.0":
1184
- version "8.40.0"
1185
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec"
1186
- integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==
1183
+ "@eslint/js@8.41.0":
1184
+ version "8.41.0"
1185
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.41.0.tgz#080321c3b68253522f7646b55b577dd99d2950b3"
1186
+ integrity sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==
1187
1187
 
1188
1188
  "@graphql-tools/merge@8.3.1":
1189
1189
  version "8.3.1"
@@ -1449,10 +1449,10 @@
1449
1449
  resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
1450
1450
  integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
1451
1451
 
1452
- "@rushstack/eslint-patch@1.2.0":
1453
- version "1.2.0"
1454
- resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728"
1455
- integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==
1452
+ "@rushstack/eslint-patch@1.3.0":
1453
+ version "1.3.0"
1454
+ resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.0.tgz#f5635b36fc0dad96ef1e542a302cd914230188c0"
1455
+ integrity sha512-IthPJsJR85GhOkp3Hvp8zFOPK5ynKn6STyHa/WZpioK7E1aYDiBzpqQPrngc14DszIUkIrdd3k9Iu0XSzlP/1w==
1456
1456
 
1457
1457
  "@sideway/address@^4.1.3":
1458
1458
  version "4.1.4"
@@ -2390,6 +2390,11 @@ acorn-import-assertions@^1.7.6:
2390
2390
  resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
2391
2391
  integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
2392
2392
 
2393
+ acorn-import-assertions@^1.9.0:
2394
+ version "1.9.0"
2395
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
2396
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
2397
+
2393
2398
  acorn-jsx@^5.3.2:
2394
2399
  version "5.3.2"
2395
2400
  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@@ -3977,10 +3982,10 @@ enhanced-resolve@^5.10.0:
3977
3982
  graceful-fs "^4.2.4"
3978
3983
  tapable "^2.2.0"
3979
3984
 
3980
- enhanced-resolve@^5.13.0:
3981
- version "5.14.0"
3982
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz#0b6c676c8a3266c99fa281e4433a706f5c0c61c4"
3983
- integrity sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==
3985
+ enhanced-resolve@^5.14.1:
3986
+ version "5.14.1"
3987
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz#de684b6803724477a4af5d74ccae5de52c25f6b3"
3988
+ integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==
3984
3989
  dependencies:
3985
3990
  graceful-fs "^4.2.4"
3986
3991
  tapable "^2.2.0"
@@ -4051,17 +4056,17 @@ eslint-plugin-prettier@4.2.1, eslint-plugin-prettier@^4.0.0:
4051
4056
  dependencies:
4052
4057
  prettier-linter-helpers "^1.0.0"
4053
4058
 
4054
- eslint-plugin-vue@9.11.1:
4055
- version "9.11.1"
4056
- resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.11.1.tgz#71e37cc74ac0a9bca07d2e8c471a047b8ac254fb"
4057
- integrity sha512-SNtBGDrRkPUFsREswPceqdvZ7YVdWY+iCYiDC+RoxwVieeQ7GJU1FLDlkcaYTOD2os/YuVgI1Fdu8YGM7fmoow==
4059
+ eslint-plugin-vue@9.14.1:
4060
+ version "9.14.1"
4061
+ resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.14.1.tgz#3b0c9857642dac547c7564031cfb09d283eafdd4"
4062
+ integrity sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==
4058
4063
  dependencies:
4059
4064
  "@eslint-community/eslint-utils" "^4.3.0"
4060
4065
  natural-compare "^1.4.0"
4061
4066
  nth-check "^2.0.1"
4062
4067
  postcss-selector-parser "^6.0.9"
4063
4068
  semver "^7.3.5"
4064
- vue-eslint-parser "^9.0.1"
4069
+ vue-eslint-parser "^9.3.0"
4065
4070
  xml-name-validator "^4.0.0"
4066
4071
 
4067
4072
  eslint-scope@5.1.1:
@@ -4114,15 +4119,15 @@ eslint-webpack-plugin@^3.1.0:
4114
4119
  normalize-path "^3.0.0"
4115
4120
  schema-utils "^4.0.0"
4116
4121
 
4117
- eslint@8.40.0:
4118
- version "8.40.0"
4119
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4"
4120
- integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==
4122
+ eslint@8.41.0:
4123
+ version "8.41.0"
4124
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.41.0.tgz#3062ca73363b4714b16dbc1e60f035e6134b6f1c"
4125
+ integrity sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==
4121
4126
  dependencies:
4122
4127
  "@eslint-community/eslint-utils" "^4.2.0"
4123
4128
  "@eslint-community/regexpp" "^4.4.0"
4124
4129
  "@eslint/eslintrc" "^2.0.3"
4125
- "@eslint/js" "8.40.0"
4130
+ "@eslint/js" "8.41.0"
4126
4131
  "@humanwhocodes/config-array" "^0.11.8"
4127
4132
  "@humanwhocodes/module-importer" "^1.0.1"
4128
4133
  "@nodelib/fs.walk" "^1.2.8"
@@ -4142,13 +4147,12 @@ eslint@8.40.0:
4142
4147
  find-up "^5.0.0"
4143
4148
  glob-parent "^6.0.2"
4144
4149
  globals "^13.19.0"
4145
- grapheme-splitter "^1.0.4"
4150
+ graphemer "^1.4.0"
4146
4151
  ignore "^5.2.0"
4147
4152
  import-fresh "^3.0.0"
4148
4153
  imurmurhash "^0.1.4"
4149
4154
  is-glob "^4.0.0"
4150
4155
  is-path-inside "^3.0.3"
4151
- js-sdsl "^4.1.4"
4152
4156
  js-yaml "^4.1.0"
4153
4157
  json-stable-stringify-without-jsonify "^1.0.1"
4154
4158
  levn "^0.4.1"
@@ -4876,10 +4880,10 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3
4876
4880
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
4877
4881
  integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
4878
4882
 
4879
- grapheme-splitter@^1.0.4:
4880
- version "1.0.4"
4881
- resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
4882
- integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
4883
+ graphemer@^1.4.0:
4884
+ version "1.4.0"
4885
+ resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
4886
+ integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
4883
4887
 
4884
4888
  graphql-subscriptions@^1.2.0:
4885
4889
  version "1.2.1"
@@ -5601,11 +5605,6 @@ js-message@1.0.7:
5601
5605
  resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47"
5602
5606
  integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==
5603
5607
 
5604
- js-sdsl@^4.1.4:
5605
- version "4.3.0"
5606
- resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711"
5607
- integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==
5608
-
5609
5608
  js-tokens@^4.0.0:
5610
5609
  version "4.0.0"
5611
5610
  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -7511,10 +7510,10 @@ safe-regex@^1.1.0:
7511
7510
  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
7512
7511
  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
7513
7512
 
7514
- sass-loader@13.2.2:
7515
- version "13.2.2"
7516
- resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.2.2.tgz#f97e803993b24012c10d7ba9676548bf7a6b18b9"
7517
- integrity sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==
7513
+ sass-loader@13.3.0:
7514
+ version "13.3.0"
7515
+ resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.0.tgz#ed4a2d555aa10fc99f4daaab425d8d451336bb65"
7516
+ integrity sha512-LeWNswSEujsZnwdn9AuA+Q5wZEAFlU+eORQsDKp35OtGAfFxYxpfk/Ylon+TGGkazSqxi2EHDTqdr3di8r7nCg==
7518
7517
  dependencies:
7519
7518
  klona "^2.0.6"
7520
7519
  neo-async "^2.6.2"
@@ -8537,10 +8536,10 @@ vue-codemod@^0.0.5:
8537
8536
  source-map "^0.6.1"
8538
8537
  yargs "^16.2.0"
8539
8538
 
8540
- vue-eslint-parser@^9.0.1:
8541
- version "9.1.0"
8542
- resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz#0e121d1bb29bd10763c83e3cc583ee03434a9dd5"
8543
- integrity sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==
8539
+ vue-eslint-parser@^9.3.0:
8540
+ version "9.3.0"
8541
+ resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.0.tgz#775a974a0603c9a73d85fed8958ed9e814a4a816"
8542
+ integrity sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==
8544
8543
  dependencies:
8545
8544
  debug "^4.3.4"
8546
8545
  eslint-scope "^7.1.1"
@@ -8714,10 +8713,10 @@ webpack-virtual-modules@^0.4.2:
8714
8713
  resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45"
8715
8714
  integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
8716
8715
 
8717
- webpack@5.82.0:
8718
- version "5.82.0"
8719
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d"
8720
- integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg==
8716
+ webpack@5.84.1:
8717
+ version "5.84.1"
8718
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.84.1.tgz#d4493acdeca46b26ffc99d86d784cabfeb925a15"
8719
+ integrity sha512-ZP4qaZ7vVn/K8WN/p990SGATmrL1qg4heP/MrVneczYtpDGJWlrgZv55vxaV2ul885Kz+25MP2kSXkPe3LZfmg==
8721
8720
  dependencies:
8722
8721
  "@types/eslint-scope" "^3.7.3"
8723
8722
  "@types/estree" "^1.0.0"
@@ -8725,10 +8724,10 @@ webpack@5.82.0:
8725
8724
  "@webassemblyjs/wasm-edit" "^1.11.5"
8726
8725
  "@webassemblyjs/wasm-parser" "^1.11.5"
8727
8726
  acorn "^8.7.1"
8728
- acorn-import-assertions "^1.7.6"
8727
+ acorn-import-assertions "^1.9.0"
8729
8728
  browserslist "^4.14.5"
8730
8729
  chrome-trace-event "^1.0.2"
8731
- enhanced-resolve "^5.13.0"
8730
+ enhanced-resolve "^5.14.1"
8732
8731
  es-module-lexer "^1.2.1"
8733
8732
  eslint-scope "5.1.1"
8734
8733
  events "^3.2.0"