openc3 5.16.1 → 5.16.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/openc3cli +1 -1
- data/lib/openc3/config/config_parser.rb +16 -10
- data/lib/openc3/models/plugin_model.rb +26 -20
- data/lib/openc3/models/target_model.rb +3 -3
- data/lib/openc3/packets/packet.rb +2 -2
- data/lib/openc3/packets/packet_config.rb +2 -2
- data/lib/openc3/packets/parsers/limits_response_parser.rb +0 -2
- data/lib/openc3/packets/parsers/packet_item_parser.rb +6 -9
- data/lib/openc3/packets/parsers/processor_parser.rb +0 -2
- data/lib/openc3/system/system.rb +1 -1
- data/lib/openc3/system/target.rb +3 -3
- data/lib/openc3/tools/table_manager/table_item_parser.rb +1 -3
- data/lib/openc3/utilities/local_mode.rb +8 -7
- data/lib/openc3/version.rb +5 -5
- data/templates/conversion/conversion.py +3 -0
- data/templates/limits_response/response.py +1 -1
- data/templates/tool_angular/package.json +2 -2
- data/templates/tool_svelte/package.json +1 -1
- data/templates/tool_vue/package.json +2 -2
- data/templates/widget/package.json +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 178d5ecd9984ee77cc79a3f4e6b84f793a863aa01dc1da87cb318ddff90f0397
|
4
|
+
data.tar.gz: cab3009043a7f423cd11f882f8639790d890588fae5ada6aa7dae868bf78b3ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3197aabb417f5a467b4cbcdbb48c9a7523002ecf9b58930aa37a31d521abf5ce132b66c27a77ca14cb0676badeb42a8d689991e226be50577ddddccfced0a58
|
7
|
+
data.tar.gz: aa8749e4a08c4891a7aa4aa72d46474d5b4bfa17da047ef8f537b727fda31e9225dba24121e7680b6458fa5abfcdafdf6221d86b06d0adb9362f8bead3691496
|
data/bin/openc3cli
CHANGED
@@ -316,7 +316,7 @@ def validate_plugin(plugin_file_path, scope:, variables_file: nil)
|
|
316
316
|
puts "Successfully validated #{File.basename(plugin_file_path)}"
|
317
317
|
result = 0 # bash and Windows consider 0 success
|
318
318
|
rescue => e
|
319
|
-
puts
|
319
|
+
puts e.message
|
320
320
|
result = ERROR_CODE
|
321
321
|
ensure
|
322
322
|
exit(result)
|
@@ -125,10 +125,10 @@ module OpenC3
|
|
125
125
|
# default this gets constructed to point to the generic configuration
|
126
126
|
# Guide on the OpenC3 Wiki.
|
127
127
|
def initialize(config_parser, message = "Configuration Error", usage = "", url = "")
|
128
|
-
if Error
|
128
|
+
if Error === message
|
129
129
|
super(message.message)
|
130
|
-
elsif Exception
|
131
|
-
super("#{message.class}
|
130
|
+
elsif Exception === message
|
131
|
+
super("#{message.class}: #{message.message}")
|
132
132
|
else
|
133
133
|
super(message)
|
134
134
|
end
|
@@ -449,18 +449,24 @@ module OpenC3
|
|
449
449
|
return if errors.empty?
|
450
450
|
message = ''
|
451
451
|
errors.each do |error|
|
452
|
+
# Once we have a message we want to ignore errors about bad items, packets, and targets
|
453
|
+
# because the real error is probably in a previous definition
|
454
|
+
next if message != '' && error.message.include?('No current item')
|
455
|
+
next if message != '' && error.message.include?('No current packet')
|
456
|
+
next if message != '' && error.message.include?('Unknown keyword and parameters for Target')
|
457
|
+
|
452
458
|
if error.is_a? OpenC3::ConfigParser::Error
|
453
|
-
message += "\n#{File.basename(error.filename)}:#{error.line_number}: #{error.line}"
|
459
|
+
message += "\n#{File.basename(error.filename)}:#{error.line_number}: #{error.line}" if error.filename
|
454
460
|
message += "\nError: #{error.message}"
|
455
461
|
message += "\nUsage: #{error.usage}" unless error.usage.empty?
|
456
|
-
message += "\
|
457
|
-
|
458
|
-
|
459
|
-
|
462
|
+
message += "\n"
|
463
|
+
# Only capture the first non-ConfigParser::Error which is typically
|
464
|
+
# a RuntimeError generated from a raise during parsing
|
465
|
+
elsif message == ''
|
466
|
+
message += "\n#{error.formatted}\n"
|
460
467
|
end
|
461
|
-
message += "\n"
|
462
468
|
end
|
463
|
-
raise message
|
469
|
+
raise Error.new(self, message)
|
464
470
|
end
|
465
471
|
|
466
472
|
if RUBY_ENGINE != 'ruby' or ENV['OPENC3_NO_EXT']
|
@@ -245,13 +245,19 @@ module OpenC3
|
|
245
245
|
when 'VARIABLE', 'NEEDS_DEPENDENCIES'
|
246
246
|
# Ignore during phase 2
|
247
247
|
when 'TARGET', 'INTERFACE', 'ROUTER', 'MICROSERVICE', 'TOOL', 'WIDGET'
|
248
|
-
|
249
|
-
current_model
|
250
|
-
|
248
|
+
begin
|
249
|
+
if current_model
|
250
|
+
current_model.create unless validate_only
|
251
|
+
current_model.deploy(gem_path, variables, validate_only: validate_only)
|
252
|
+
end
|
253
|
+
# If something goes wrong in create, or more likely in deploy,
|
254
|
+
# we want to clear the current_model and try to instantiate the next
|
255
|
+
# Otherwise we're stuck constantly iterating on the last model
|
256
|
+
ensure
|
251
257
|
current_model = nil
|
258
|
+
current_model = OpenC3.const_get((keyword.capitalize + 'Model').intern).handle_config(parser,
|
259
|
+
keyword, params, plugin: plugin_model.name, needs_dependencies: needs_dependencies, scope: scope)
|
252
260
|
end
|
253
|
-
current_model = OpenC3.const_get((keyword.capitalize + 'Model').intern).handle_config(parser,
|
254
|
-
keyword, params, plugin: plugin_model.name, needs_dependencies: needs_dependencies, scope: scope)
|
255
261
|
else
|
256
262
|
if current_model
|
257
263
|
current_model.handle_config(parser, keyword, params)
|
@@ -271,10 +277,10 @@ module OpenC3
|
|
271
277
|
$LOAD_PATH.delete(load_dir)
|
272
278
|
end
|
273
279
|
end
|
274
|
-
rescue =>
|
280
|
+
rescue => e
|
275
281
|
# Install failed - need to cleanup
|
276
282
|
plugin_model.destroy unless validate_only
|
277
|
-
raise
|
283
|
+
raise e
|
278
284
|
ensure
|
279
285
|
FileUtils.remove_entry(temp_dir) if temp_dir and File.exist?(temp_dir)
|
280
286
|
tf.unlink if tf
|
@@ -301,7 +307,7 @@ module OpenC3
|
|
301
307
|
super(update: update, force: force, queued: queued)
|
302
308
|
end
|
303
309
|
|
304
|
-
def as_json(*
|
310
|
+
def as_json(*_a)
|
305
311
|
{
|
306
312
|
'name' => @name,
|
307
313
|
'variables' => @variables,
|
@@ -316,11 +322,11 @@ module OpenC3
|
|
316
322
|
errors = []
|
317
323
|
microservice_count = 0
|
318
324
|
microservices = MicroserviceModel.find_all_by_plugin(plugin: @name, scope: @scope)
|
319
|
-
microservices.each do |
|
325
|
+
microservices.each do |_name, model_instance|
|
320
326
|
begin
|
321
327
|
model_instance.destroy
|
322
|
-
rescue Exception =>
|
323
|
-
errors <<
|
328
|
+
rescue Exception => e
|
329
|
+
errors << e
|
324
330
|
end
|
325
331
|
microservice_count += 1
|
326
332
|
end
|
@@ -329,20 +335,20 @@ module OpenC3
|
|
329
335
|
# Remove all the other models now that the processes have stopped
|
330
336
|
# Save TargetModel for last as it has the most to cleanup
|
331
337
|
[InterfaceModel, RouterModel, ToolModel, WidgetModel, TargetModel].each do |model|
|
332
|
-
model.find_all_by_plugin(plugin: @name, scope: @scope).each do |
|
338
|
+
model.find_all_by_plugin(plugin: @name, scope: @scope).each do |_name, model_instance|
|
333
339
|
begin
|
334
340
|
model_instance.destroy
|
335
|
-
rescue Exception =>
|
336
|
-
errors <<
|
341
|
+
rescue Exception => e
|
342
|
+
errors << e
|
337
343
|
end
|
338
344
|
end
|
339
345
|
end
|
340
346
|
# Cleanup Redis stuff that might have been left by microservices
|
341
|
-
microservices.each do |
|
347
|
+
microservices.each do |_name, model_instance|
|
342
348
|
begin
|
343
349
|
model_instance.cleanup
|
344
|
-
rescue Exception =>
|
345
|
-
errors <<
|
350
|
+
rescue Exception => e
|
351
|
+
errors << e
|
346
352
|
end
|
347
353
|
end
|
348
354
|
# Raise all the errors at once
|
@@ -353,13 +359,13 @@ module OpenC3
|
|
353
359
|
end
|
354
360
|
raise message
|
355
361
|
end
|
356
|
-
rescue Exception =>
|
357
|
-
Logger.error("Error undeploying plugin model #{@name} in scope #{@scope} due to: #{
|
362
|
+
rescue Exception => e
|
363
|
+
Logger.error("Error undeploying plugin model #{@name} in scope #{@scope} due to: #{e.formatted}")
|
358
364
|
ensure
|
359
365
|
# Double check everything is gone
|
360
366
|
found = []
|
361
367
|
[MicroserviceModel, InterfaceModel, RouterModel, ToolModel, WidgetModel, TargetModel].each do |model|
|
362
|
-
model.find_all_by_plugin(plugin: @name, scope: @scope).each do |
|
368
|
+
model.find_all_by_plugin(plugin: @name, scope: @scope).each do |_name, model_instance|
|
363
369
|
found << model_instance
|
364
370
|
end
|
365
371
|
end
|
@@ -14,7 +14,7 @@
|
|
14
14
|
# GNU Affero General Public License for more details.
|
15
15
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
|
-
# All changes Copyright
|
17
|
+
# All changes Copyright 2024, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
19
|
#
|
20
20
|
# This file may also be used under the terms of a commercial license
|
@@ -753,7 +753,7 @@ module OpenC3
|
|
753
753
|
packet_hash.each do |target_name, packets|
|
754
754
|
Store.del("#{@scope}__openc3tlm__#{target_name}") if clear_old
|
755
755
|
packets.each do |packet_name, packet|
|
756
|
-
Logger.
|
756
|
+
Logger.debug "Configuring tlm packet: #{target_name} #{packet_name}"
|
757
757
|
begin
|
758
758
|
Store.hset("#{@scope}__openc3tlm__#{target_name}", packet_name, JSON.generate(packet.as_json(:allow_nan => true)))
|
759
759
|
rescue JSON::GeneratorError => e
|
@@ -773,7 +773,7 @@ module OpenC3
|
|
773
773
|
packet_hash.each do |target_name, packets|
|
774
774
|
Store.del("#{@scope}__openc3cmd__#{target_name}") if clear_old
|
775
775
|
packets.each do |packet_name, packet|
|
776
|
-
Logger.
|
776
|
+
Logger.debug "Configuring cmd packet: #{target_name} #{packet_name}"
|
777
777
|
begin
|
778
778
|
Store.hset("#{@scope}__openc3cmd__#{target_name}", packet_name, JSON.generate(packet.as_json(:allow_nan => true)))
|
779
779
|
rescue JSON::GeneratorError => e
|
@@ -14,7 +14,7 @@
|
|
14
14
|
# GNU Affero General Public License for more details.
|
15
15
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
|
-
# All changes Copyright
|
17
|
+
# All changes Copyright 2024, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
19
|
#
|
20
20
|
# This file may also be used under the terms of a commercial license
|
@@ -396,7 +396,7 @@ module OpenC3
|
|
396
396
|
# @return [Array<String>] Warning messages for big definition overlaps
|
397
397
|
def check_bit_offsets
|
398
398
|
if @ignore_overlap
|
399
|
-
Logger.instance.
|
399
|
+
Logger.instance.debug("#{@target_name} #{@packet_name} has IGNORE_OVERLAP so bit overlaps ignored")
|
400
400
|
return []
|
401
401
|
end
|
402
402
|
expected_next_offset = nil
|
@@ -488,7 +488,7 @@ module OpenC3
|
|
488
488
|
end
|
489
489
|
end
|
490
490
|
rescue Exception => e
|
491
|
-
raise parser.error(e)
|
491
|
+
raise parser.error(e.formatted)
|
492
492
|
end
|
493
493
|
|
494
494
|
when 'TEMPLATE'
|
@@ -503,7 +503,7 @@ module OpenC3
|
|
503
503
|
begin
|
504
504
|
@current_packet.template = parser.read_file(params[0])
|
505
505
|
rescue Exception => e
|
506
|
-
raise parser.error(e)
|
506
|
+
raise parser.error(e.formatted)
|
507
507
|
end
|
508
508
|
|
509
509
|
when 'RESPONSE'
|
@@ -88,8 +88,6 @@ module OpenC3
|
|
88
88
|
item = packet.define(item)
|
89
89
|
end
|
90
90
|
item
|
91
|
-
rescue => err
|
92
|
-
raise @parser.error(err, @usage)
|
93
91
|
end
|
94
92
|
|
95
93
|
private
|
@@ -105,17 +103,16 @@ module OpenC3
|
|
105
103
|
|
106
104
|
def get_bit_offset
|
107
105
|
return 0 if append?
|
108
|
-
|
109
106
|
Integer(@parser.parameters[1])
|
110
|
-
rescue =>
|
111
|
-
raise @parser.error(
|
107
|
+
rescue => e
|
108
|
+
raise @parser.error(e, @usage)
|
112
109
|
end
|
113
110
|
|
114
111
|
def get_bit_size
|
115
112
|
index = append? ? 1 : 2
|
116
113
|
Integer(@parser.parameters[index])
|
117
|
-
rescue =>
|
118
|
-
raise @parser.error(
|
114
|
+
rescue => e
|
115
|
+
raise @parser.error(e, @usage)
|
119
116
|
end
|
120
117
|
|
121
118
|
def get_array_size
|
@@ -133,8 +130,8 @@ module OpenC3
|
|
133
130
|
@warnings << warning
|
134
131
|
end
|
135
132
|
array_bit_size
|
136
|
-
rescue =>
|
137
|
-
raise @parser.error(
|
133
|
+
rescue => e
|
134
|
+
raise @parser.error(e, @usage)
|
138
135
|
end
|
139
136
|
|
140
137
|
def get_endianness(packet)
|
data/lib/openc3/system/system.rb
CHANGED
data/lib/openc3/system/target.rb
CHANGED
@@ -140,11 +140,11 @@ module OpenC3
|
|
140
140
|
filename = parameters[0]
|
141
141
|
OpenC3.require_file(parameters[0])
|
142
142
|
end
|
143
|
-
rescue Exception =>
|
144
|
-
raise parser.error(
|
143
|
+
rescue Exception => e
|
144
|
+
raise parser.error(e.formatted)
|
145
145
|
end
|
146
146
|
rescue Exception => e
|
147
|
-
raise parser.error(e.
|
147
|
+
raise parser.error(e.formatted)
|
148
148
|
end
|
149
149
|
|
150
150
|
# This code resolves any relative paths to absolute before putting into the @requires array
|
@@ -17,7 +17,7 @@
|
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
19
|
#
|
20
|
-
# This file may also be used under the terms of a commercial license
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
21
|
# if purchased from OpenC3, Inc.
|
22
22
|
|
23
23
|
require 'openc3/packets/packet_config'
|
@@ -62,8 +62,6 @@ module OpenC3
|
|
62
62
|
item = table.define(item)
|
63
63
|
end
|
64
64
|
item
|
65
|
-
rescue => err
|
66
|
-
raise @parser.error(err, @usage)
|
67
65
|
end
|
68
66
|
end
|
69
67
|
end
|
@@ -47,6 +47,7 @@ module OpenC3
|
|
47
47
|
'openc3-enterprise-tool-base',
|
48
48
|
'openc3-cosmos-tool-autonomic',
|
49
49
|
'openc3-cosmos-tool-calendar',
|
50
|
+
'openc3-cosmos-tool-grafana',
|
50
51
|
'openc3-tool-base',
|
51
52
|
]
|
52
53
|
|
@@ -168,7 +169,7 @@ module OpenC3
|
|
168
169
|
json = JSON.parse(data, :allow_nan => true, :create_additions => true)
|
169
170
|
|
170
171
|
found = false
|
171
|
-
found_models.each do |name,
|
172
|
+
found_models.each do |name, _model_details|
|
172
173
|
if json["name"] == name
|
173
174
|
# Matched pair
|
174
175
|
found = true
|
@@ -339,7 +340,7 @@ module OpenC3
|
|
339
340
|
def self.modified_targets(scope:)
|
340
341
|
targets = {}
|
341
342
|
local_catalog = build_local_catalog(scope: scope)
|
342
|
-
local_catalog.each do |key,
|
343
|
+
local_catalog.each do |key, _size|
|
343
344
|
split_key = key.split('/') # scope/targets_modified/target_name/*
|
344
345
|
target_name = split_key[2]
|
345
346
|
if target_name
|
@@ -352,7 +353,7 @@ module OpenC3
|
|
352
353
|
def self.modified_files(target_name, scope:)
|
353
354
|
modified = []
|
354
355
|
local_catalog = build_local_catalog(scope: scope)
|
355
|
-
local_catalog.each do |key,
|
356
|
+
local_catalog.each do |key, _size|
|
356
357
|
split_key = key.split('/') # scope/targets_modified/target_name/*
|
357
358
|
local_target_name = split_key[2]
|
358
359
|
if target_name == local_target_name
|
@@ -399,7 +400,7 @@ module OpenC3
|
|
399
400
|
def self.local_target_files(scope:, path_matchers:, include_temp: false)
|
400
401
|
files = []
|
401
402
|
local_catalog = build_local_catalog(scope: scope)
|
402
|
-
local_catalog.each do |key,
|
403
|
+
local_catalog.each do |key, _size|
|
403
404
|
split_key = key.split('/')
|
404
405
|
# DEFAULT/targets_modified/__TEMP__/YYYY_MM_DD_HH_MM_SS_mmm_temp.rb
|
405
406
|
# See target_file.rb TEMP_FOLDER
|
@@ -434,8 +435,8 @@ module OpenC3
|
|
434
435
|
JSON.parse(data, :allow_nan => true, :create_additions => true)
|
435
436
|
# Only save if the parse was successful
|
436
437
|
ToolConfigModel.save_config(parts[-2], File.basename(config, '.json'), data, scope: scope, local_mode: false)
|
437
|
-
rescue JSON::ParserError =>
|
438
|
-
puts "Unable to initialize tool config due to #{
|
438
|
+
rescue JSON::ParserError => e
|
439
|
+
puts "Unable to initialize tool config due to #{e.message}"
|
439
440
|
end
|
440
441
|
end
|
441
442
|
end
|
@@ -555,7 +556,7 @@ module OpenC3
|
|
555
556
|
end
|
556
557
|
end
|
557
558
|
|
558
|
-
remote_catalog.each do |key,
|
559
|
+
remote_catalog.each do |key, _size|
|
559
560
|
local_size = local_catalog[key]
|
560
561
|
if local_size
|
561
562
|
# Both files exist - Handled earlier
|
data/lib/openc3/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
OPENC3_VERSION = '5.16.
|
3
|
+
OPENC3_VERSION = '5.16.2'
|
4
4
|
module OpenC3
|
5
5
|
module Version
|
6
6
|
MAJOR = '5'
|
7
7
|
MINOR = '16'
|
8
|
-
PATCH = '
|
8
|
+
PATCH = '2'
|
9
9
|
OTHER = ''
|
10
|
-
BUILD = '
|
10
|
+
BUILD = '91e39a71be955ef5d20c474b73d8bc9a3f895284'
|
11
11
|
end
|
12
|
-
VERSION = '5.16.
|
13
|
-
GEM_VERSION = '5.16.
|
12
|
+
VERSION = '5.16.2'
|
13
|
+
GEM_VERSION = '5.16.2'
|
14
14
|
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
from openc3.conversions.conversion import Conversion
|
2
|
+
# Using tlm() requires the following:
|
3
|
+
# from openc3.api.tlm_api import tlm
|
2
4
|
|
3
5
|
# Custom conversion class
|
4
6
|
# See https://docs.openc3.com/docs/configuration/telemetry#read_conversion
|
@@ -26,3 +28,4 @@ class <%= conversion_class %>(Conversion):
|
|
26
28
|
# Used when conversion is applied to a regular (not DERIVED) item
|
27
29
|
# NOTE: You can also use packet.read("ITEM") to get additional values
|
28
30
|
# return value / 2 * packet.read("OTHER_ITEM")
|
31
|
+
return value
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.16.
|
3
|
+
"version": "5.16.2",
|
4
4
|
"scripts": {
|
5
5
|
"ng": "ng",
|
6
6
|
"start": "ng serve",
|
@@ -12,7 +12,7 @@
|
|
12
12
|
},
|
13
13
|
"private": true,
|
14
14
|
"dependencies": {
|
15
|
-
"@openc3/tool-common": "5.16.
|
15
|
+
"@openc3/tool-common": "5.16.2",
|
16
16
|
"@angular/animations": "^17.0.8",
|
17
17
|
"@angular/cdk": "^17.0.4",
|
18
18
|
"@angular/common": "^17.0.8",
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"smui-theme": "smui-theme compile build/smui.css -i src/theme"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
|
-
"@openc3/tool-common": "5.16.
|
14
|
+
"@openc3/tool-common": "5.16.2",
|
15
15
|
"@astrouxds/astro-web-components": "7.22.0",
|
16
16
|
"@smui/button": "^7.0.0-beta.16",
|
17
17
|
"@smui/card": "^7.0.0-beta.16",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.16.
|
3
|
+
"version": "5.16.2",
|
4
4
|
"private": true,
|
5
5
|
"scripts": {
|
6
6
|
"serve": "vue-cli-service serve",
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"test:components": "vue-cli-service test:components"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
|
-
"@openc3/tool-common": "5.16.
|
14
|
+
"@openc3/tool-common": "5.16.2",
|
15
15
|
"@astrouxds/astro-web-components": "7.22.0",
|
16
16
|
"axios": "1.6.8",
|
17
17
|
"date-fns": "3.6.0",
|
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "widget",
|
3
|
-
"version": "5.16.
|
3
|
+
"version": "5.16.2",
|
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.16.
|
9
|
+
"@openc3/tool-common": "5.16.2",
|
10
10
|
"@astrouxds/astro-web-components": "7.22.0",
|
11
11
|
"vue": "2.7.16",
|
12
12
|
"vuetify": "2.7.1"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openc3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.16.
|
4
|
+
version: 5.16.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Melton
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-05-
|
12
|
+
date: 2024-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|