openc3 5.15.1 → 5.16.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Rakefile +1 -0
- data/bin/openc3cli +20 -0
- data/bin/pipinstall +3 -0
- data/data/config/interface_modifiers.yaml +4 -1
- data/data/config/telemetry_modifiers.yaml +6 -1
- data/data/config/widgets.yaml +1 -1
- data/ext/openc3/ext/burst_protocol/burst_protocol.c +317 -0
- data/ext/openc3/ext/burst_protocol/extconf.rb +13 -0
- data/lib/openc3/accessors/accessor.rb +1 -1
- data/lib/openc3/accessors/json_accessor.rb +11 -3
- data/lib/openc3/api/tlm_api.rb +1 -1
- data/lib/openc3/interfaces/http_client_interface.rb +8 -4
- data/lib/openc3/interfaces/http_server_interface.rb +22 -6
- data/lib/openc3/interfaces/interface.rb +6 -0
- data/lib/openc3/interfaces/linc_interface.rb +5 -3
- data/lib/openc3/interfaces/mqtt_interface.rb +7 -3
- data/lib/openc3/interfaces/mqtt_stream_interface.rb +8 -1
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +104 -100
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +11 -3
- data/lib/openc3/interfaces/serial_interface.rb +16 -1
- data/lib/openc3/interfaces/simulated_target_interface.rb +7 -3
- data/lib/openc3/interfaces/tcpip_client_interface.rb +18 -1
- data/lib/openc3/interfaces/tcpip_server_interface.rb +24 -15
- data/lib/openc3/interfaces/udp_interface.rb +11 -1
- data/lib/openc3/io/posix_serial_driver.rb +20 -5
- data/lib/openc3/logs/packet_log_writer.rb +1 -1
- data/lib/openc3/microservices/decom_microservice.rb +3 -2
- data/lib/openc3/microservices/interface_microservice.rb +5 -5
- data/lib/openc3/models/activity_model.rb +104 -40
- data/lib/openc3/models/gem_model.rb +1 -1
- data/lib/openc3/models/plugin_model.rb +5 -3
- data/lib/openc3/models/python_package_model.rb +15 -5
- data/lib/openc3/models/scope_model.rb +1 -1
- data/lib/openc3/models/target_model.rb +1 -1
- data/lib/openc3/packets/packet.rb +27 -24
- data/lib/openc3/packets/packet_config.rb +18 -1
- data/lib/openc3/packets/parsers/packet_item_parser.rb +10 -6
- data/lib/openc3/packets/structure.rb +7 -7
- data/lib/openc3/packets/structure_item.rb +4 -2
- data/lib/openc3/script/api_shared.rb +33 -29
- data/lib/openc3/script/plugins.rb +13 -13
- data/lib/openc3/script/storage.rb +3 -4
- data/lib/openc3/script/web_socket_api.rb +10 -0
- data/lib/openc3/version.rb +6 -6
- data/templates/target/targets/TARGET/lib/target.py +2 -0
- data/templates/tool_angular/package.json +8 -8
- data/templates/tool_react/package.json +2 -2
- data/templates/tool_svelte/build/smui.css +1 -5
- data/templates/tool_svelte/package.json +3 -3
- data/templates/tool_vue/package.json +12 -12
- data/templates/widget/package.json +11 -11
- metadata +21 -18
@@ -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
|
@@ -106,7 +106,7 @@ module OpenC3
|
|
106
106
|
# @param buffer [String] The binary buffer to read the item from
|
107
107
|
# @return Value based on the item definition. This could be a string, integer,
|
108
108
|
# float, or array of values.
|
109
|
-
def read_item(item,
|
109
|
+
def read_item(item, _value_type = :RAW, buffer = @buffer)
|
110
110
|
buffer = allocate_buffer_if_needed() unless buffer
|
111
111
|
return @accessor.read_item(item, buffer)
|
112
112
|
end
|
@@ -139,10 +139,10 @@ module OpenC3
|
|
139
139
|
# @param accessor [Accessor] The class to use as an accessor
|
140
140
|
def accessor=(accessor)
|
141
141
|
@accessor = accessor
|
142
|
-
|
142
|
+
# Check for Accessor because sometimes we use PythonProxy
|
143
|
+
if @accessor.is_a? Accessor and @accessor.enforce_short_buffer_allowed
|
143
144
|
@short_buffer_allowed = true
|
144
145
|
end
|
145
|
-
return accessor
|
146
146
|
end
|
147
147
|
|
148
148
|
# Read a list of items in the structure
|
@@ -152,7 +152,7 @@ module OpenC3
|
|
152
152
|
# parameter to check whether to perform conversions on the item.
|
153
153
|
# @param buffer [String] The binary buffer to read the item from
|
154
154
|
# @return Hash of read names and values
|
155
|
-
def read_items(items,
|
155
|
+
def read_items(items, _value_type = :RAW, buffer = @buffer)
|
156
156
|
buffer = allocate_buffer_if_needed() unless buffer
|
157
157
|
return @accessor.read_items(items, buffer)
|
158
158
|
end
|
@@ -367,7 +367,7 @@ module OpenC3
|
|
367
367
|
# @param value_type [Symbol] Not used. Subclasses should overload this
|
368
368
|
# parameter to check whether to perform conversions on the item.
|
369
369
|
# @param buffer [String] The binary buffer to write the value to
|
370
|
-
def write_item(item, value,
|
370
|
+
def write_item(item, value, _value_type = :RAW, buffer = @buffer)
|
371
371
|
buffer = allocate_buffer_if_needed() unless buffer
|
372
372
|
return @accessor.write_item(item, value, buffer)
|
373
373
|
end
|
@@ -379,7 +379,7 @@ module OpenC3
|
|
379
379
|
# @param value_type [Symbol] Not used. Subclasses should overload this
|
380
380
|
# parameter to check whether to perform conversions on the item.
|
381
381
|
# @param buffer [String] The binary buffer to write the values to
|
382
|
-
def write_items(items, values,
|
382
|
+
def write_items(items, values, _value_type = :RAW, buffer = @buffer)
|
383
383
|
buffer = allocate_buffer_if_needed() unless buffer
|
384
384
|
return @accessor.write_items(items, values, buffer)
|
385
385
|
end
|
@@ -30,8 +30,8 @@ module OpenC3
|
|
30
30
|
|
31
31
|
@@create_index = 0
|
32
32
|
|
33
|
-
# Valid data types adds :DERIVED to those defined by BinaryAccessor
|
34
|
-
DATA_TYPES = BinaryAccessor::DATA_TYPES << :DERIVED
|
33
|
+
# Valid data types adds :DERIVED, :ARRAY, :OBJECT to those defined by BinaryAccessor
|
34
|
+
DATA_TYPES = BinaryAccessor::DATA_TYPES << :DERIVED << :ARRAY << :OBJECT
|
35
35
|
|
36
36
|
# Name is used by higher level classes to access the StructureItem.
|
37
37
|
# @return [String] Name of the item
|
@@ -54,6 +54,8 @@ module OpenC3
|
|
54
54
|
# numbers (Ruby Float). :STRING is turned into an ASCII string (Ruby
|
55
55
|
# String). :BLOCK is turned into a binary buffer (Ruby String). :DERIVED is
|
56
56
|
# interpreted by the subclass and can result in any type.
|
57
|
+
# :ARRAY is an array of unknown types
|
58
|
+
# :OBJECT is a Hash type object
|
57
59
|
# @return [Symbol] {DATA_TYPES}
|
58
60
|
attr_reader :data_type
|
59
61
|
|
@@ -68,8 +68,8 @@ module OpenC3
|
|
68
68
|
method = "#{method_name}(#{args.join(", ")}"
|
69
69
|
method += ", #{orig_kwargs}" unless orig_kwargs.empty?
|
70
70
|
method += ")"
|
71
|
-
rescue Exception =>
|
72
|
-
puts "CHECK: #{method} raised #{
|
71
|
+
rescue Exception => e
|
72
|
+
puts "CHECK: #{method} raised #{e.class}:#{e.message}"
|
73
73
|
else
|
74
74
|
raise(CheckError, "#{method} should have raised an exception but did not.")
|
75
75
|
end
|
@@ -172,6 +172,7 @@ module OpenC3
|
|
172
172
|
openc3_script_sleep()
|
173
173
|
time_diff = Time.now.sys - start_time
|
174
174
|
puts "WAIT: Indefinite for actual time of #{time_diff} seconds" unless quiet
|
175
|
+
return time_diff
|
175
176
|
|
176
177
|
# wait(5) # absolute wait time
|
177
178
|
when 1
|
@@ -180,6 +181,7 @@ module OpenC3
|
|
180
181
|
openc3_script_sleep(args[0])
|
181
182
|
time_diff = Time.now.sys - start_time
|
182
183
|
puts "WAIT: #{args[0]} seconds with actual time of #{time_diff} seconds" unless quiet
|
184
|
+
return time_diff
|
183
185
|
else
|
184
186
|
raise "Non-numeric wait time specified"
|
185
187
|
end
|
@@ -193,7 +195,7 @@ module OpenC3
|
|
193
195
|
else
|
194
196
|
polling_rate = DEFAULT_TLM_POLLING_RATE
|
195
197
|
end
|
196
|
-
_execute_wait(target_name, packet_name, item_name, type, comparison_to_eval, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
198
|
+
return _execute_wait(target_name, packet_name, item_name, type, comparison_to_eval, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
197
199
|
|
198
200
|
# wait('target_name', 'packet_name', 'item_name', comparison_to_eval, timeout, polling_rate) # polling_rate is optional
|
199
201
|
when 5, 6
|
@@ -207,13 +209,12 @@ module OpenC3
|
|
207
209
|
else
|
208
210
|
polling_rate = DEFAULT_TLM_POLLING_RATE
|
209
211
|
end
|
210
|
-
_execute_wait(target_name, packet_name, item_name, type, comparison_to_eval, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
212
|
+
return _execute_wait(target_name, packet_name, item_name, type, comparison_to_eval, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
211
213
|
|
212
214
|
else
|
213
215
|
# Invalid number of arguments
|
214
216
|
raise "ERROR: Invalid number of arguments (#{args.length}) passed to wait()"
|
215
217
|
end
|
216
|
-
time_diff
|
217
218
|
end
|
218
219
|
|
219
220
|
# @deprecated Use wait with type: :RAW
|
@@ -270,7 +271,7 @@ module OpenC3
|
|
270
271
|
puts "WARN: #{wait_str} failed to be within #{range_str}" unless quiet
|
271
272
|
end
|
272
273
|
end
|
273
|
-
|
274
|
+
return success
|
274
275
|
end
|
275
276
|
|
276
277
|
# @deprecated Use wait_tolerance with type: :RAW
|
@@ -288,7 +289,7 @@ module OpenC3
|
|
288
289
|
else
|
289
290
|
puts "WARN: WAIT: #{exp_to_eval} is FALSE after waiting #{time_diff} seconds" unless quiet
|
290
291
|
end
|
291
|
-
|
292
|
+
return success
|
292
293
|
end
|
293
294
|
|
294
295
|
# Wait for the converted value of a telmetry item against a condition or for a timeout
|
@@ -321,7 +322,7 @@ module OpenC3
|
|
321
322
|
raise CheckError, message
|
322
323
|
end
|
323
324
|
end
|
324
|
-
time_diff
|
325
|
+
return time_diff
|
325
326
|
end
|
326
327
|
|
327
328
|
# @deprecated use wait_check with type: :RAW
|
@@ -388,7 +389,7 @@ module OpenC3
|
|
388
389
|
end
|
389
390
|
end
|
390
391
|
end
|
391
|
-
time_diff
|
392
|
+
return time_diff
|
392
393
|
end
|
393
394
|
|
394
395
|
# @deprecated Use wait_check_tolerance with type: :RAW
|
@@ -418,7 +419,7 @@ module OpenC3
|
|
418
419
|
raise CheckError, message
|
419
420
|
end
|
420
421
|
end
|
421
|
-
time_diff
|
422
|
+
return time_diff
|
422
423
|
end
|
423
424
|
alias wait_expression_stop_on_timeout wait_check_expression
|
424
425
|
|
@@ -429,7 +430,8 @@ module OpenC3
|
|
429
430
|
polling_rate = DEFAULT_TLM_POLLING_RATE,
|
430
431
|
quiet: false,
|
431
432
|
scope: $openc3_scope, token: $openc3_token)
|
432
|
-
_wait_packet(false, target_name, packet_name, num_packets, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
433
|
+
success, _ = _wait_packet(false, target_name, packet_name, num_packets, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
434
|
+
return success
|
433
435
|
end
|
434
436
|
|
435
437
|
# Wait for a telemetry packet to be received a certain number of times or timeout and raise an error
|
@@ -440,7 +442,8 @@ module OpenC3
|
|
440
442
|
polling_rate = DEFAULT_TLM_POLLING_RATE,
|
441
443
|
quiet: false,
|
442
444
|
scope: $openc3_scope, token: $openc3_token)
|
443
|
-
_wait_packet(true, target_name, packet_name, num_packets, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
445
|
+
_, time_diff = _wait_packet(true, target_name, packet_name, num_packets, timeout, polling_rate, quiet: quiet, scope: scope, token: token)
|
446
|
+
return time_diff
|
444
447
|
end
|
445
448
|
|
446
449
|
def disable_instrumentation
|
@@ -491,8 +494,8 @@ module OpenC3
|
|
491
494
|
cached = false
|
492
495
|
begin
|
493
496
|
Kernel::load(procedure_name)
|
494
|
-
rescue LoadError =>
|
495
|
-
raise LoadError, "Error loading -- #{procedure_name}\n#{
|
497
|
+
rescue LoadError => e
|
498
|
+
raise LoadError, "Error loading -- #{procedure_name}\n#{e.message}"
|
496
499
|
end
|
497
500
|
# Return whether we had to load and instrument this file, i.e. it was not cached
|
498
501
|
!cached
|
@@ -645,7 +648,7 @@ module OpenC3
|
|
645
648
|
puts "WARN: #{message}" unless quiet
|
646
649
|
end
|
647
650
|
end
|
648
|
-
time_diff
|
651
|
+
return success, time_diff
|
649
652
|
end
|
650
653
|
|
651
654
|
def _execute_wait(target_name, packet_name, item_name, value_type, comparison_to_eval, timeout, polling_rate, quiet: false, scope: $openc3_scope, token: $openc3_token)
|
@@ -660,6 +663,7 @@ module OpenC3
|
|
660
663
|
else
|
661
664
|
puts "WARN: #{wait_str} failed #{value_str}" unless quiet
|
662
665
|
end
|
666
|
+
return success
|
663
667
|
end
|
664
668
|
|
665
669
|
def _wait_tolerance_process_args(args)
|
@@ -805,13 +809,13 @@ module OpenC3
|
|
805
809
|
end
|
806
810
|
|
807
811
|
return false, value
|
808
|
-
rescue NameError =>
|
809
|
-
if
|
812
|
+
rescue NameError => e
|
813
|
+
if e.message =~ /uninitialized constant OpenC3::ApiShared::(\w+)/
|
810
814
|
new_error = NameError.new("Uninitialized constant #{$1}. Did you mean '#{$1}' as a string?")
|
811
|
-
new_error.set_backtrace(
|
815
|
+
new_error.set_backtrace(e.backtrace)
|
812
816
|
raise new_error
|
813
817
|
else
|
814
|
-
raise
|
818
|
+
raise e
|
815
819
|
end
|
816
820
|
end
|
817
821
|
|
@@ -860,19 +864,19 @@ module OpenC3
|
|
860
864
|
if eval(exp_to_eval, context)
|
861
865
|
return true
|
862
866
|
else
|
863
|
-
return
|
867
|
+
return false
|
864
868
|
end
|
865
869
|
end
|
866
870
|
end
|
867
871
|
|
868
|
-
return
|
869
|
-
rescue NameError =>
|
870
|
-
if
|
872
|
+
return false
|
873
|
+
rescue NameError => e
|
874
|
+
if e.message =~ /uninitialized constant OpenC3::ApiShared::(\w+)/
|
871
875
|
new_error = NameError.new("Uninitialized constant #{$1}. Did you mean '#{$1}' as a string?")
|
872
|
-
new_error.set_backtrace(
|
876
|
+
new_error.set_backtrace(e.backtrace)
|
873
877
|
raise new_error
|
874
878
|
else
|
875
|
-
raise
|
879
|
+
raise e
|
876
880
|
end
|
877
881
|
end
|
878
882
|
|
@@ -893,13 +897,13 @@ module OpenC3
|
|
893
897
|
raise CheckError, message
|
894
898
|
end
|
895
899
|
end
|
896
|
-
rescue NameError =>
|
897
|
-
if
|
900
|
+
rescue NameError => e
|
901
|
+
if e.message =~ /uninitialized constant OpenC3::ApiShared::(\w+)/
|
898
902
|
new_error = NameError.new("Uninitialized constant #{$1}. Did you mean '#{$1}' as a string?")
|
899
|
-
new_error.set_backtrace(
|
903
|
+
new_error.set_backtrace(e.backtrace)
|
900
904
|
raise new_error
|
901
905
|
else
|
902
|
-
raise
|
906
|
+
raise e
|
903
907
|
end
|
904
908
|
end
|
905
909
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
# Copyright
|
3
|
+
# Copyright 2024 OpenC3, Inc.
|
4
4
|
# All Rights Reserved.
|
5
5
|
#
|
6
6
|
# This program is free software; you can modify and/or redistribute it
|
@@ -38,8 +38,8 @@ module OpenC3
|
|
38
38
|
return JSON.parse(response.body, allow_nan: true, create_additions: true)
|
39
39
|
end
|
40
40
|
end
|
41
|
-
rescue =>
|
42
|
-
raise "get_plugin_list failed due to #{
|
41
|
+
rescue => e
|
42
|
+
raise "get_plugin_list failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -61,8 +61,8 @@ module OpenC3
|
|
61
61
|
return JSON.parse(response.body, allow_nan: true, create_additions: true)
|
62
62
|
end
|
63
63
|
end
|
64
|
-
rescue =>
|
65
|
-
raise "get_plugin failed due to #{
|
64
|
+
rescue => e
|
65
|
+
raise "get_plugin failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -95,8 +95,8 @@ module OpenC3
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
98
|
-
rescue =>
|
99
|
-
raise "plugin_install_phase1 failed due to #{
|
98
|
+
rescue => e
|
99
|
+
raise "plugin_install_phase1 failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
@@ -129,8 +129,8 @@ module OpenC3
|
|
129
129
|
return response_body.remove_quotes
|
130
130
|
end
|
131
131
|
end
|
132
|
-
rescue =>
|
133
|
-
raise "plugin_install_phase2 failed due to #{
|
132
|
+
rescue => e
|
133
|
+
raise "plugin_install_phase2 failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
@@ -154,8 +154,8 @@ module OpenC3
|
|
154
154
|
return response_body.remove_quotes
|
155
155
|
end
|
156
156
|
end
|
157
|
-
rescue =>
|
158
|
-
raise "plugin_uninstall failed due to #{
|
157
|
+
rescue => e
|
158
|
+
raise "plugin_uninstall failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
@@ -177,8 +177,8 @@ module OpenC3
|
|
177
177
|
return JSON.parse(response.body, allow_nan: true, create_additions: true)
|
178
178
|
end
|
179
179
|
end
|
180
|
-
rescue =>
|
181
|
-
raise "plugin_status failed due to #{
|
180
|
+
rescue => e
|
181
|
+
raise "plugin_status failed due to #{e.formatted}\nURI:#{uri}\nResponse:\n#{response_body}"
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
@@ -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
|
@@ -175,9 +175,8 @@ module OpenC3
|
|
175
175
|
if $openc3_in_cluster
|
176
176
|
case ENV['OPENC3_CLOUD']
|
177
177
|
when 'local'
|
178
|
-
bucket_url = ENV["OPENC3_BUCKET_URL"] || "openc3-minio:9000"
|
179
|
-
#
|
180
|
-
URI.parse("http://#{bucket_url}#{url}")
|
178
|
+
bucket_url = ENV["OPENC3_BUCKET_URL"] || "http://openc3-minio:9000"
|
179
|
+
URI.parse("#{bucket_url}#{url}")
|
181
180
|
when 'aws'
|
182
181
|
URI.parse("https://s3.#{ENV['AWS_REGION']}.amazonaws.com" + url)
|
183
182
|
when 'gcp'
|
@@ -215,6 +215,16 @@ module OpenC3
|
|
215
215
|
end
|
216
216
|
end
|
217
217
|
|
218
|
+
# All Scripts WebSocket
|
219
|
+
class AllScriptsWebSocketApi < ScriptWebSocketApi
|
220
|
+
def initialize(url: nil, write_timeout: 10.0, read_timeout: 10.0, connect_timeout: 5.0, authentication: nil, scope: $openc3_scope)
|
221
|
+
@identifier = {
|
222
|
+
channel: "AllScriptsChannel",
|
223
|
+
}
|
224
|
+
super(url: url, write_timeout: write_timeout, read_timeout: read_timeout, connect_timeout: connect_timeout, authentication: authentication, scope: scope)
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
218
228
|
# Log Messages WebSocket
|
219
229
|
class MessagesWebSocketApi < CmdTlmWebSocketApi
|
220
230
|
def initialize(history_count: 0, start_time: nil, end_time: nil, level: nil, types: nil, url: nil, write_timeout: 10.0, read_timeout: 10.0, connect_timeout: 5.0, authentication: nil, scope: $openc3_scope)
|
data/lib/openc3/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: ascii-8bit
|
2
2
|
|
3
|
-
OPENC3_VERSION = '5.
|
3
|
+
OPENC3_VERSION = '5.16.0'
|
4
4
|
module OpenC3
|
5
5
|
module Version
|
6
6
|
MAJOR = '5'
|
7
|
-
MINOR = '
|
8
|
-
PATCH = '
|
7
|
+
MINOR = '16'
|
8
|
+
PATCH = '0'
|
9
9
|
OTHER = ''
|
10
|
-
BUILD = '
|
10
|
+
BUILD = 'bbe7a70f0e976ed4ecb939a83633e4dee9a094bd'
|
11
11
|
end
|
12
|
-
VERSION = '5.
|
13
|
-
GEM_VERSION = '5.
|
12
|
+
VERSION = '5.16.0'
|
13
|
+
GEM_VERSION = '5.16.0'
|
14
14
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "<%= tool_name %>",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.16.0",
|
4
4
|
"scripts": {
|
5
5
|
"ng": "ng",
|
6
6
|
"start": "ng serve",
|
@@ -12,18 +12,18 @@
|
|
12
12
|
},
|
13
13
|
"private": true,
|
14
14
|
"dependencies": {
|
15
|
-
"@openc3/tool-common": "5.
|
15
|
+
"@openc3/tool-common": "5.16.0",
|
16
16
|
"@angular/animations": "^17.0.8",
|
17
17
|
"@angular/cdk": "^17.0.4",
|
18
18
|
"@angular/common": "^17.0.8",
|
19
19
|
"@angular/compiler": "^17.0.8",
|
20
20
|
"@angular/core": "^17.0.8",
|
21
21
|
"@angular/forms": "^17.0.8",
|
22
|
-
"@angular/material": "17.
|
22
|
+
"@angular/material": "17.3.6",
|
23
23
|
"@angular/platform-browser": "^17.0.8",
|
24
24
|
"@angular/platform-browser-dynamic": "^17.0.8",
|
25
25
|
"@angular/router": "^17.0.8",
|
26
|
-
"@astrouxds/astro-web-components": "7.
|
26
|
+
"@astrouxds/astro-web-components": "7.22.0",
|
27
27
|
"rxjs": "~7.8.0",
|
28
28
|
"single-spa": "5.9.5",
|
29
29
|
"single-spa-angular": "^9.0.1",
|
@@ -31,9 +31,9 @@
|
|
31
31
|
"zone.js": "~0.14.3"
|
32
32
|
},
|
33
33
|
"devDependencies": {
|
34
|
-
"@angular-builders/custom-webpack": "17.0.
|
34
|
+
"@angular-builders/custom-webpack": "17.0.2",
|
35
35
|
"@angular-devkit/build-angular": "^17.0.6",
|
36
|
-
"@angular/cli": "~17.
|
36
|
+
"@angular/cli": "~17.3.6",
|
37
37
|
"@angular/compiler-cli": "^17.0.6",
|
38
38
|
"@types/jasmine": "~5.1.4",
|
39
39
|
"jasmine-core": "~5.1.1",
|
@@ -42,7 +42,7 @@
|
|
42
42
|
"karma-coverage": "~2.2.0",
|
43
43
|
"karma-jasmine": "~5.1.0",
|
44
44
|
"karma-jasmine-html-reporter": "~2.1.0",
|
45
|
-
"style-loader": "^
|
46
|
-
"typescript": "~5.
|
45
|
+
"style-loader": "^4.0.0",
|
46
|
+
"typescript": "~5.4.5"
|
47
47
|
}
|
48
48
|
}
|
@@ -41,11 +41,11 @@
|
|
41
41
|
"jest": "^29.7.0",
|
42
42
|
"jest-cli": "^29.7.0",
|
43
43
|
"prettier": "^3.1.1",
|
44
|
-
"pretty-quick": "^
|
44
|
+
"pretty-quick": "^4.0.0",
|
45
45
|
"webpack": "^5.89.0",
|
46
46
|
"webpack-cli": "^5.1.4",
|
47
47
|
"webpack-config-single-spa-react": "^4.0.5",
|
48
|
-
"webpack-dev-server": "^
|
48
|
+
"webpack-dev-server": "^5.0.4",
|
49
49
|
"webpack-merge": "^5.10.0"
|
50
50
|
}
|
51
51
|
}
|