openc3 5.14.0 → 5.14.1
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.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/openc3/microservices/decom_microservice.rb +4 -2
- data/lib/openc3/microservices/log_microservice.rb +6 -1
- data/lib/openc3/microservices/microservice.rb +28 -0
- data/lib/openc3/models/microservice_model.rb +5 -1
- data/lib/openc3/models/plugin_model.rb +1 -1
- data/lib/openc3/models/target_model.rb +36 -4
- data/lib/openc3/operators/microservice_operator.rb +23 -21
- data/lib/openc3/packets/commands.rb +4 -0
- data/lib/openc3/packets/packet_config.rb +37 -7
- data/lib/openc3/packets/telemetry.rb +4 -0
- data/lib/openc3/system/system.rb +30 -0
- data/lib/openc3/version.rb +5 -5
- 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: 459b654a51a4d3b984681eb1b25165039e95d0a22c68e08973fc3539beee1b5c
|
4
|
+
data.tar.gz: cf6975c07ab38342228401d84a01f1ee672f4a74b7c2a697f2dc893aecfb4b3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8368bda2e80639021df632271a972a5a716a8db380eb23dd4375d3334d10ca3001a5a33d9017caeeff684804338d4ba36a2adc180d1656f843d20440560d47ab
|
7
|
+
data.tar.gz: 195a9f6a3e4dbbadb1ed219765f627e1dd3cf96f9fd14a21e7891ea24e5cef6847eefb644ae8cfcbd15a894a32f0c23fc10bf405b9b2c3011553411f14f58b42
|
@@ -45,6 +45,7 @@ module OpenC3
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def run
|
48
|
+
setup_microservice_topic()
|
48
49
|
while true
|
49
50
|
break if @cancel_thread
|
50
51
|
|
@@ -52,8 +53,9 @@ module OpenC3
|
|
52
53
|
OpenC3.in_span("read_topics") do
|
53
54
|
Topic.read_topics(@topics) do |topic, msg_id, msg_hash, redis|
|
54
55
|
break if @cancel_thread
|
55
|
-
|
56
|
-
|
56
|
+
if topic == @microservice_topic
|
57
|
+
microservice_cmd(topic, msg_id, msg_hash, redis)
|
58
|
+
elsif topic =~ /__DECOMINTERFACE/
|
57
59
|
if msg_hash.key?('inject_tlm')
|
58
60
|
handle_inject_tlm(msg_hash['inject_tlm'])
|
59
61
|
next
|
@@ -62,12 +62,17 @@ module OpenC3
|
|
62
62
|
|
63
63
|
def run
|
64
64
|
setup_plws()
|
65
|
+
setup_microservice_topic()
|
65
66
|
while true
|
66
67
|
break if @cancel_thread
|
67
68
|
|
68
69
|
Topic.read_topics(@topics) do |topic, msg_id, msg_hash, redis|
|
69
70
|
break if @cancel_thread
|
70
|
-
|
71
|
+
if topic == @microservice_topic
|
72
|
+
microservice_cmd(topic, msg_id, msg_hash, redis)
|
73
|
+
else
|
74
|
+
log_data(topic, msg_id, msg_hash, redis)
|
75
|
+
end
|
71
76
|
@count += 1
|
72
77
|
@metric.set(name: 'log_total', value: @count, type: 'counter')
|
73
78
|
end
|
@@ -116,6 +116,7 @@ module OpenC3
|
|
116
116
|
end
|
117
117
|
@logger.info("Microservice initialized with config:\n#{@config}")
|
118
118
|
@topics ||= []
|
119
|
+
@microservice_topic = "MICROSERVICE__#{@name}"
|
119
120
|
|
120
121
|
# Get configuration for any targets
|
121
122
|
@target_names = @config["target_names"]
|
@@ -210,5 +211,32 @@ module OpenC3
|
|
210
211
|
@logger.info("Shutting down microservice complete: #{@name}")
|
211
212
|
@shutdown_complete = true
|
212
213
|
end
|
214
|
+
|
215
|
+
def setup_microservice_topic
|
216
|
+
@topics.append(@microservice_topic)
|
217
|
+
Thread.current[:topic_offsets] ||= {}
|
218
|
+
topic_offsets = Thread.current[:topic_offsets]
|
219
|
+
topic_offsets[@microservice_topic] = "0-0" # Always get all available
|
220
|
+
end
|
221
|
+
|
222
|
+
# Returns if the command was handled
|
223
|
+
def microservice_cmd(topic, msg_id, msg_hash, redis)
|
224
|
+
command = msg_hash['command']
|
225
|
+
case command
|
226
|
+
when 'ADD_TOPICS'
|
227
|
+
topics = JSON.parse(msg_hash['topics'])
|
228
|
+
if topics and Array === topics
|
229
|
+
topics.each do |new_topic|
|
230
|
+
@topics << new_topic unless @topics.include?(new_topic)
|
231
|
+
end
|
232
|
+
else
|
233
|
+
raise "Invalid topics given to microservice_cmd: #{topics}"
|
234
|
+
end
|
235
|
+
Topic.trim_topic(topic, msg_id)
|
236
|
+
return true
|
237
|
+
end
|
238
|
+
Topic.trim_topic(topic, msg_id)
|
239
|
+
return false
|
240
|
+
end
|
213
241
|
end
|
214
242
|
end
|
@@ -43,6 +43,7 @@ module OpenC3
|
|
43
43
|
attr_accessor :secrets
|
44
44
|
attr_accessor :prefix
|
45
45
|
attr_accessor :disable_erb
|
46
|
+
attr_accessor :ignore_changes
|
46
47
|
|
47
48
|
# NOTE: The following three class methods are used by the ModelController
|
48
49
|
# and are reimplemented to enable various Model class methods to work
|
@@ -103,6 +104,7 @@ module OpenC3
|
|
103
104
|
secrets: [],
|
104
105
|
prefix: nil,
|
105
106
|
disable_erb: nil,
|
107
|
+
ignore_changes: nil,
|
106
108
|
scope:
|
107
109
|
)
|
108
110
|
parts = name.split("__")
|
@@ -128,6 +130,7 @@ module OpenC3
|
|
128
130
|
@secrets = secrets
|
129
131
|
@prefix = prefix
|
130
132
|
@disable_erb = disable_erb
|
133
|
+
@ignore_changes = ignore_changes
|
131
134
|
@bucket = Bucket.getClient()
|
132
135
|
end
|
133
136
|
|
@@ -149,7 +152,8 @@ module OpenC3
|
|
149
152
|
'needs_dependencies' => @needs_dependencies,
|
150
153
|
'secrets' => @secrets.as_json(*a),
|
151
154
|
'prefix' => @prefix,
|
152
|
-
'disable_erb' => @disable_erb
|
155
|
+
'disable_erb' => @disable_erb,
|
156
|
+
'ignore_changes' => @ignore_changes
|
153
157
|
}
|
154
158
|
end
|
155
159
|
|
@@ -342,7 +342,7 @@ module OpenC3
|
|
342
342
|
raise message
|
343
343
|
end
|
344
344
|
rescue Exception => error
|
345
|
-
Logger.error("Error undeploying plugin model #{@name} in scope #{@scope} due to: #{error}")
|
345
|
+
Logger.error("Error undeploying plugin model #{@name} in scope #{@scope} due to: #{error.formatted}")
|
346
346
|
ensure
|
347
347
|
# Double check everything is gone
|
348
348
|
found = []
|
@@ -869,6 +869,42 @@ module OpenC3
|
|
869
869
|
)
|
870
870
|
end
|
871
871
|
end
|
872
|
+
|
873
|
+
# Inform microservices of new topics
|
874
|
+
# Need to tell loggers to log, and decom to decom
|
875
|
+
# We do this for no downtime
|
876
|
+
raw_topics = []
|
877
|
+
decom_topics = []
|
878
|
+
packets.each do |packet|
|
879
|
+
if cmd_or_tlm == :TELEMETRY
|
880
|
+
raw_topics << "#{@scope}__TELEMETRY__{#{@name}}__#{packet.packet_name.upcase}"
|
881
|
+
decom_topics << "#{@scope}__DECOM__{#{@name}}__#{packet.packet_name.upcase}"
|
882
|
+
else
|
883
|
+
raw_topics << "#{@scope}__COMMAND__{#{@name}}__#{packet.packet_name.upcase}"
|
884
|
+
decom_topics << "#{@scope}__DECOMCMD__{#{@name}}__#{packet.packet_name.upcase}"
|
885
|
+
end
|
886
|
+
end
|
887
|
+
if cmd_or_tlm == :TELEMETRY
|
888
|
+
Topic.write_topic("MICROSERVICE__#{@scope}__PACKETLOG__#{@name}", {'command' => 'ADD_TOPICS', 'topics' => raw_topics.as_json.to_json})
|
889
|
+
add_topics_to_microservice("#{@scope}__PACKETLOG__#{@name}", raw_topics)
|
890
|
+
Topic.write_topic("MICROSERVICE__#{@scope}__DECOMLOG__#{@name}", {'command' => 'ADD_TOPICS', 'topics' => decom_topics.as_json.to_json})
|
891
|
+
add_topics_to_microservice("#{@scope}__DECOMLOG__#{@name}", decom_topics)
|
892
|
+
Topic.write_topic("MICROSERVICE__#{@scope}__DECOM__#{@name}", {'command' => 'ADD_TOPICS', 'topics' => raw_topics.as_json.to_json})
|
893
|
+
add_topics_to_microservice("#{@scope}__DECOM__#{@name}", raw_topics)
|
894
|
+
else
|
895
|
+
Topic.write_topic("MICROSERVICE__#{@scope}__COMMANDLOG__#{@name}", {'command' => 'ADD_TOPICS', 'topics' => raw_topics.as_json.to_json})
|
896
|
+
add_topics_to_microservice("#{@scope}__COMMANDLOG__#{@name}", raw_topics)
|
897
|
+
Topic.write_topic("MICROSERVICE__#{@scope}__DECOMCMDLOG__#{@name}", {'command' => 'ADD_TOPICS', 'topics' => decom_topics.as_json.to_json})
|
898
|
+
add_topics_to_microservice("#{@scope}__DECOMCMDLOG__#{@name}", decom_topics)
|
899
|
+
end
|
900
|
+
end
|
901
|
+
|
902
|
+
def add_topics_to_microservice(microservice_name, topics)
|
903
|
+
model = MicroserviceModel.get_model(name: microservice_name, scope: @scope)
|
904
|
+
model.topics.concat(topics)
|
905
|
+
model.topics.uniq!
|
906
|
+
model.ignore_changes = true # Don't restart the microservice right now
|
907
|
+
model.update
|
872
908
|
end
|
873
909
|
|
874
910
|
def deploy_commmandlog_microservice(gem_path, variables, topics, instance = nil, parent = nil)
|
@@ -1109,7 +1145,6 @@ module OpenC3
|
|
1109
1145
|
decom_command_topic_list = []
|
1110
1146
|
packet_topic_list = []
|
1111
1147
|
decom_topic_list = []
|
1112
|
-
reduced_topic_list = []
|
1113
1148
|
begin
|
1114
1149
|
system.commands.packets(@name).each do |packet_name, packet|
|
1115
1150
|
command_topic_list << "#{@scope}__COMMAND__{#{@name}}__#{packet_name}"
|
@@ -1122,9 +1157,6 @@ module OpenC3
|
|
1122
1157
|
system.telemetry.packets(@name).each do |packet_name, packet|
|
1123
1158
|
packet_topic_list << "#{@scope}__TELEMETRY__{#{@name}}__#{packet_name}"
|
1124
1159
|
decom_topic_list << "#{@scope}__DECOM__{#{@name}}__#{packet_name}"
|
1125
|
-
reduced_topic_list << "#{@scope}__REDUCED_MINUTE__{#{@name}}__#{packet_name}"
|
1126
|
-
reduced_topic_list << "#{@scope}__REDUCED_HOUR__{#{@name}}__#{packet_name}"
|
1127
|
-
reduced_topic_list << "#{@scope}__REDUCED_DAY__{#{@name}}__#{packet_name}"
|
1128
1160
|
end
|
1129
1161
|
rescue
|
1130
1162
|
# No telemetry packets for this target
|
@@ -98,28 +98,30 @@ module OpenC3
|
|
98
98
|
previous_parent = @previous_microservices[microservice_name]['parent']
|
99
99
|
if @previous_microservices[microservice_name] != microservice_config
|
100
100
|
# CHANGED
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
if parent
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
#
|
117
|
-
|
118
|
-
|
101
|
+
if not microservice_config['ignore_changes']
|
102
|
+
scope = microservice_name.split("__")[0]
|
103
|
+
Logger.info("Changed microservice detected: #{microservice_name}\nWas: #{@previous_microservices[microservice_name]}\nIs: #{microservice_config}", scope: scope)
|
104
|
+
if parent or previous_parent
|
105
|
+
if parent == previous_parent
|
106
|
+
# Same Parent - Respawn parent
|
107
|
+
@changed_microservices[parent] = @microservices[parent] if @microservices[parent] and @previous_microservices[parent]
|
108
|
+
elsif parent and previous_parent
|
109
|
+
# Parent changed - Respawn both parents
|
110
|
+
@changed_microservices[parent] = @microservices[parent] if @microservices[parent] and @previous_microservices[parent]
|
111
|
+
@changed_microservices[previous_parent] = @microservices[previous_parent] if @microservices[previous_parent] and @previous_microservices[previous_parent]
|
112
|
+
elsif parent
|
113
|
+
# Moved under a parent - Respawn parent and kill standalone
|
114
|
+
@changed_microservices[parent] = @microservices[parent] if @microservices[parent] and @previous_microservices[parent]
|
115
|
+
@removed_microservices[microservice_name] = microservice_config
|
116
|
+
else # previous_parent
|
117
|
+
# Moved to standalone - Respawn previous parent and make new
|
118
|
+
@changed_microservices[previous_parent] = @microservices[previous_parent] if @microservices[previous_parent] and @previous_microservices[previous_parent]
|
119
|
+
@new_microservices[microservice_name] = microservice_config
|
120
|
+
end
|
121
|
+
else
|
122
|
+
# Respawn regular microservice
|
123
|
+
@changed_microservices[microservice_name] = microservice_config
|
119
124
|
end
|
120
|
-
else
|
121
|
-
# Respawn regular microservice
|
122
|
-
@changed_microservices[microservice_name] = microservice_config
|
123
125
|
end
|
124
126
|
end
|
125
127
|
else
|
@@ -303,6 +303,10 @@ module OpenC3
|
|
303
303
|
@config.commands
|
304
304
|
end
|
305
305
|
|
306
|
+
def dynamic_add_packet(packet, affect_ids: false)
|
307
|
+
@config.dynamic_add_packet(packet, :COMMAND, affect_ids: affect_ids)
|
308
|
+
end
|
309
|
+
|
306
310
|
protected
|
307
311
|
|
308
312
|
def set_parameters(command, params, range_checking)
|
@@ -315,30 +315,60 @@ module OpenC3
|
|
315
315
|
hash = @cmd_id_value_hash[@current_packet.target_name]
|
316
316
|
hash = {} unless hash
|
317
317
|
@cmd_id_value_hash[@current_packet.target_name] = hash
|
318
|
-
update_id_value_hash(hash)
|
318
|
+
update_id_value_hash(@current_packet, hash)
|
319
319
|
else
|
320
320
|
@telemetry[@current_packet.target_name][@current_packet.packet_name] = @current_packet
|
321
321
|
hash = @tlm_id_value_hash[@current_packet.target_name]
|
322
322
|
hash = {} unless hash
|
323
323
|
@tlm_id_value_hash[@current_packet.target_name] = hash
|
324
|
-
update_id_value_hash(hash)
|
324
|
+
update_id_value_hash(@current_packet, hash)
|
325
325
|
end
|
326
326
|
@current_packet = nil
|
327
327
|
@current_item = nil
|
328
328
|
end
|
329
329
|
end
|
330
330
|
|
331
|
+
def dynamic_add_packet(packet, cmd_or_tlm = :TELEMETRY, affect_ids: false)
|
332
|
+
if cmd_or_tlm == :COMMAND
|
333
|
+
@commands[packet.target_name][packet.packet_name] = packet
|
334
|
+
|
335
|
+
if affect_ids
|
336
|
+
hash = @cmd_id_value_hash[packet.target_name]
|
337
|
+
hash = {} unless hash
|
338
|
+
@cmd_id_value_hash[packet.target_name] = hash
|
339
|
+
update_id_value_hash(packet, hash)
|
340
|
+
end
|
341
|
+
else
|
342
|
+
@telemetry[packet.target_name][packet.packet_name] = packet
|
343
|
+
|
344
|
+
# Update latest_data lookup for telemetry
|
345
|
+
packet.sorted_items.each do |item|
|
346
|
+
target_latest_data = @latest_data[packet.target_name]
|
347
|
+
target_latest_data[item.name] ||= []
|
348
|
+
latest_data_packets = target_latest_data[item.name]
|
349
|
+
latest_data_packets << packet unless latest_data_packets.include?(packet)
|
350
|
+
end
|
351
|
+
|
352
|
+
if affect_ids
|
353
|
+
hash = @tlm_id_value_hash[packet.target_name]
|
354
|
+
hash = {} unless hash
|
355
|
+
@tlm_id_value_hash[packet.target_name] = hash
|
356
|
+
update_id_value_hash(packet, hash)
|
357
|
+
end
|
358
|
+
end
|
359
|
+
end
|
360
|
+
|
331
361
|
protected
|
332
362
|
|
333
|
-
def update_id_value_hash(hash)
|
334
|
-
if
|
363
|
+
def update_id_value_hash(packet, hash)
|
364
|
+
if packet.id_items.length > 0
|
335
365
|
key = []
|
336
|
-
|
366
|
+
packet.id_items.each do |item|
|
337
367
|
key << item.id_value
|
338
368
|
end
|
339
|
-
hash[key] =
|
369
|
+
hash[key] = packet
|
340
370
|
else
|
341
|
-
hash['CATCHALL'.freeze] =
|
371
|
+
hash['CATCHALL'.freeze] = packet
|
342
372
|
end
|
343
373
|
end
|
344
374
|
|
data/lib/openc3/system/system.rb
CHANGED
@@ -60,6 +60,9 @@ module OpenC3
|
|
60
60
|
# The current limits set
|
61
61
|
@@limits_set = nil
|
62
62
|
|
63
|
+
# Callbacks to call once @@instance is created
|
64
|
+
@@post_instance_callbacks = []
|
65
|
+
|
63
66
|
# @return [Symbol] The current limits_set of the system returned from Redis
|
64
67
|
def self.limits_set
|
65
68
|
unless @@limits_set
|
@@ -72,6 +75,14 @@ module OpenC3
|
|
72
75
|
@@limits_set = value.to_s.intern
|
73
76
|
end
|
74
77
|
|
78
|
+
def self.add_post_instance_callback(callback)
|
79
|
+
if @@instance
|
80
|
+
callback.call()
|
81
|
+
else
|
82
|
+
@@post_instance_callbacks << callback
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
75
86
|
def self.setup_targets(target_names, base_dir, scope:)
|
76
87
|
# Nothing to do if there are no targets
|
77
88
|
return if target_names.nil? or target_names.length == 0
|
@@ -121,11 +132,30 @@ module OpenC3
|
|
121
132
|
raise "System.instance parameters are required on first call" unless target_names and target_config_dir
|
122
133
|
|
123
134
|
@@instance_mutex.synchronize do
|
135
|
+
return @@instance if @@instance
|
124
136
|
@@instance ||= self.new(target_names, target_config_dir)
|
137
|
+
@@post_instance_callbacks.each do |callback|
|
138
|
+
callback.call
|
139
|
+
end
|
125
140
|
return @@instance
|
126
141
|
end
|
127
142
|
end
|
128
143
|
|
144
|
+
# Dynamically add packets to the system instance
|
145
|
+
#
|
146
|
+
# @param dynamic_packets [Array of packets]
|
147
|
+
# @param cmd_or_tlm [Symbol] :COMMAND or :TELEMETRY
|
148
|
+
# @param affect_ids [Boolean] Whether to affect packet id lookup or not
|
149
|
+
def self.dynamic_update(dynamic_packets, cmd_or_tlm = :TELEMETRY, affect_ids: false)
|
150
|
+
dynamic_packets.each do |packet|
|
151
|
+
if cmd_or_tlm == :TELEMETRY
|
152
|
+
@@instance.telemetry.dynamic_add_packet(packet, affect_ids: affect_ids)
|
153
|
+
else
|
154
|
+
@@instance.commands.dynamic_add_packet(packet, affect_ids: affect_ids)
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
129
159
|
# Create a new System object.
|
130
160
|
#
|
131
161
|
# @param target_names [Array of target names]
|
data/lib/openc3/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
OPENC3_VERSION = '5.14.
|
3
|
+
OPENC3_VERSION = '5.14.1'
|
4
4
|
module OpenC3
|
5
5
|
module Version
|
6
6
|
MAJOR = '5'
|
7
7
|
MINOR = '14'
|
8
|
-
PATCH = '
|
8
|
+
PATCH = '1'
|
9
9
|
OTHER = ''
|
10
|
-
BUILD = '
|
10
|
+
BUILD = '902e54e502f6070c58183746a7db21a50e7b5263'
|
11
11
|
end
|
12
|
-
VERSION = '5.14.
|
13
|
-
GEM_VERSION = '5.14.
|
12
|
+
VERSION = '5.14.1'
|
13
|
+
GEM_VERSION = '5.14.1'
|
14
14
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.14.
|
3
|
+
"version": "5.14.1",
|
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.14.
|
15
|
+
"@openc3/tool-common": "5.14.1",
|
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.14.
|
14
|
+
"@openc3/tool-common": "5.14.1",
|
15
15
|
"@astrouxds/astro-web-components": "7.20.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.14.
|
3
|
+
"version": "5.14.1",
|
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.14.
|
14
|
+
"@openc3/tool-common": "5.14.1",
|
15
15
|
"@astrouxds/astro-web-components": "7.20.0",
|
16
16
|
"axios": "1.6.5",
|
17
17
|
"date-fns": "2.30.0",
|
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "widget",
|
3
|
-
"version": "5.14.
|
3
|
+
"version": "5.14.1",
|
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.14.
|
9
|
+
"@openc3/tool-common": "5.14.1",
|
10
10
|
"@astrouxds/astro-web-components": "7.20.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.14.
|
4
|
+
version: 5.14.1
|
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-01-
|
12
|
+
date: 2024-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|