svelte-on-rails 22.4.1 → 22.4.3
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.
- checksums.yaml +4 -4
- data/lib/svelte_on_rails/lib/utils.rb +2 -1
- data/lib/svelte_on_rails/ssr_client.rb +1 -0
- data/lib/tasks/svelte_on_rails_tasks.rake +36 -88
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1b8bd4010aba17f12d8f78b7066f4aaf4ea60673302bd4f9473211ee9fe9fb5a
|
|
4
|
+
data.tar.gz: c20bb9f2639d4633f9716d7e417a2be1776d08341fe08362323466786c9d9f19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 58104ed4039aa24c2465782c200927ac4d32420c456dc2d48cac3de852d0de7c3fa791345a505f1a37dac694e57d7f10a9920b2f090c25dd55d57954c7e3575f
|
|
7
|
+
data.tar.gz: 2675e7072ebca48162cc744b59378c72f9c9ab52948c559087c2049631b89062dd1da8b820e3eed389ba7abb74e72d7cd8704d8dd0a065766eb5c12adb70f536
|
|
@@ -171,11 +171,12 @@ module SvelteOnRails
|
|
|
171
171
|
Rails.root.join("log", "svelte-ssr-server.log")
|
|
172
172
|
end
|
|
173
173
|
|
|
174
|
-
def self.ssr_server_log(msg)
|
|
174
|
+
def self.ssr_server_log(msg, ssr_logfile_only: false)
|
|
175
175
|
File.open(ssr_server_logfile, 'a') do |f|
|
|
176
176
|
f.sync = true
|
|
177
177
|
f.puts("[#{Time.now.utc.iso8601(3)} ppid:#{Process.ppid} pid:#{Process.pid}] #{msg}")
|
|
178
178
|
end
|
|
179
|
+
return if ssr_logfile_only
|
|
179
180
|
puts "[SOR] #{msg}"
|
|
180
181
|
$stdout.flush
|
|
181
182
|
end
|
|
@@ -408,6 +408,7 @@ module SvelteOnRails
|
|
|
408
408
|
|
|
409
409
|
processes.group_by(&:socket_path).values.flat_map { |g| g.sort_by(&:pid) }.each do |p|
|
|
410
410
|
Process.kill("SIGINT", p.pid) rescue Errno::ESRCH || Errno::EPERM
|
|
411
|
+
SvelteOnRails::Lib::Utils.ssr_server_log(" Killed #{label} unix-pid: #{p.pid}, rails-ppid: #{p.ppid}, socket-path: #{p.socket_path}")
|
|
411
412
|
end
|
|
412
413
|
|
|
413
414
|
SvelteOnRails::Lib::Utils.ssr_server_log("Killed #{processes.length} #{label} process#{'es' if processes.length != 1}")
|
|
@@ -13,6 +13,21 @@ namespace :svelte_on_rails do
|
|
|
13
13
|
ppid = (ppid_file.exist? ? File.read(ppid_file).chomp : nil)
|
|
14
14
|
server_helpers = SvelteOnRails::SsrServerHelpers.new
|
|
15
15
|
socket_path = server_helpers.socket_path(ppid: ppid)
|
|
16
|
+
|
|
17
|
+
unless File.socket?(socket_path)
|
|
18
|
+
puts "*" * 80
|
|
19
|
+
puts "ERROR: socket_path does not exist or is not a socket: #{socket_path}"
|
|
20
|
+
puts "Do you have set RAILS_ENV correctly?"
|
|
21
|
+
puts "*" * 80
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
unless ppid_file.exist?
|
|
25
|
+
puts "*" * 80
|
|
26
|
+
puts "ERROR: PPID File does not exist: #{ppid_file}"
|
|
27
|
+
puts "Is the app running?"
|
|
28
|
+
puts "*" * 80
|
|
29
|
+
end
|
|
30
|
+
|
|
16
31
|
curl_installed = system('which curl > /dev/null 2>&1')
|
|
17
32
|
if curl_installed
|
|
18
33
|
curl_cmd = "curl --unix-socket #{socket_path} http://localhost"
|
|
@@ -20,12 +35,10 @@ namespace :svelte_on_rails do
|
|
|
20
35
|
srv_details = (JSON.parse(stdout) rescue {})
|
|
21
36
|
end
|
|
22
37
|
|
|
23
|
-
env_check = rails_env_check(socket_path)
|
|
24
|
-
|
|
25
38
|
puts
|
|
26
39
|
puts '=' * line_width
|
|
27
40
|
puts "Svelte on Rails SSR Server Status:"
|
|
28
|
-
puts " Rails env: #{Rails.env
|
|
41
|
+
puts " Rails env: #{Rails.env}"
|
|
29
42
|
if srv_details['uptime']
|
|
30
43
|
puts " Uptime: #{srv_details['uptime'].round(0)}sec"
|
|
31
44
|
else
|
|
@@ -40,14 +53,8 @@ namespace :svelte_on_rails do
|
|
|
40
53
|
puts label('SSR Server version') + configs.npm_package_version_test.to_s
|
|
41
54
|
puts
|
|
42
55
|
puts 'Rails instance'
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
elsif env_check == :clearly_correct
|
|
46
|
-
puts label('Process.ppid') + ppid.to_s
|
|
47
|
-
puts label('Socket') + socket_path.to_s
|
|
48
|
-
else
|
|
49
|
-
puts 'Rails env could not be determinated, compared to the socket path, so, no socket path could be determined.'
|
|
50
|
-
end
|
|
56
|
+
puts label('Process.ppid') + ppid.to_s
|
|
57
|
+
puts label('Socket') + socket_path.to_s
|
|
51
58
|
puts
|
|
52
59
|
puts '=' * line_width
|
|
53
60
|
puts
|
|
@@ -67,72 +74,28 @@ namespace :svelte_on_rails do
|
|
|
67
74
|
puts " • kill #{srv_details['pid']}" if srv_details['pid']
|
|
68
75
|
end
|
|
69
76
|
puts
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
else
|
|
82
|
-
puts "curl exited with status #{status.exitstatus}"
|
|
83
|
-
puts stderr unless stderr.to_s.strip.empty?
|
|
84
|
-
end
|
|
77
|
+
|
|
78
|
+
puts '=' * line_width
|
|
79
|
+
puts
|
|
80
|
+
puts 'NODE INSTANCE INFO:'
|
|
81
|
+
puts ' (output of the above mentioned curl command)'
|
|
82
|
+
puts
|
|
83
|
+
puts '-' * line_width
|
|
84
|
+
if curl_installed
|
|
85
|
+
stdout, stderr, status = Open3.capture3(curl_cmd)
|
|
86
|
+
if status.success?
|
|
87
|
+
puts stdout
|
|
85
88
|
else
|
|
86
|
-
puts "curl
|
|
89
|
+
puts "curl exited with status #{status.exitstatus}"
|
|
90
|
+
puts stderr unless stderr.to_s.strip.empty?
|
|
87
91
|
end
|
|
88
|
-
puts
|
|
89
|
-
puts '=' * line_width
|
|
90
|
-
puts
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def rails_env_check(socket_path)
|
|
96
|
-
|
|
97
|
-
line_width = 100
|
|
98
|
-
|
|
99
|
-
envs = guessed_rails_envs(socket_path.dirname)
|
|
100
|
-
|
|
101
|
-
if envs == [Rails.env]
|
|
102
|
-
|
|
103
|
-
:clearly_correct
|
|
104
|
-
|
|
105
|
-
elsif envs.empty?
|
|
106
|
-
|
|
107
|
-
puts
|
|
108
|
-
puts '*' * line_width
|
|
109
|
-
puts "WARNING: This Rails app seems not to run."
|
|
110
|
-
puts '*' * line_width
|
|
111
|
-
puts
|
|
112
|
-
:possible_correct
|
|
113
|
-
|
|
114
|
-
elsif envs.include?(Rails.env)
|
|
115
|
-
|
|
116
|
-
puts
|
|
117
|
-
puts '*' * line_width
|
|
118
|
-
puts "INFO: Based on the socket paths #{socket_path.dirname},"
|
|
119
|
-
puts "this Rails app may run in #{envs.join(' or ')}."
|
|
120
|
-
puts "You are running as #{Rails.env} (Rails.env) which may be right."
|
|
121
|
-
puts '*' * line_width
|
|
122
|
-
puts
|
|
123
|
-
:possible_correct
|
|
124
|
-
|
|
125
92
|
else
|
|
126
|
-
|
|
127
|
-
puts
|
|
128
|
-
puts '*' * line_width
|
|
129
|
-
puts "WARNING: You are running as #{Rails.env} (Rails.env)"
|
|
130
|
-
puts "But the rails app seems to run in #{envs.join(' or ')}"
|
|
131
|
-
puts '*' * line_width
|
|
132
|
-
puts
|
|
133
|
-
:possible_wrong
|
|
134
|
-
|
|
93
|
+
puts "curl is not installed on this machine, skipping execution."
|
|
135
94
|
end
|
|
95
|
+
puts
|
|
96
|
+
puts '=' * line_width
|
|
97
|
+
puts
|
|
98
|
+
|
|
136
99
|
end
|
|
137
100
|
|
|
138
101
|
def label(msg)
|
|
@@ -140,21 +103,6 @@ namespace :svelte_on_rails do
|
|
|
140
103
|
" #{msg}:"[0..20] + (msg.length > 22 ? ':' : '') + ' ' * (20 - l)
|
|
141
104
|
end
|
|
142
105
|
|
|
143
|
-
def guessed_rails_envs(dir)
|
|
144
|
-
envs_dir = Rails.root.join('config', 'environments')
|
|
145
|
-
return [] unless File.directory?(envs_dir) && File.directory?(dir)
|
|
146
|
-
|
|
147
|
-
possible_envs = Dir.children(envs_dir)
|
|
148
|
-
.select { |f| f.end_with?('.rb') }
|
|
149
|
-
.map { |f| File.basename(f, '.rb') }
|
|
150
|
-
|
|
151
|
-
entries = Dir.children(dir)
|
|
152
|
-
|
|
153
|
-
possible_envs.select do |env|
|
|
154
|
-
entries.any? { |entry| entry.include?("-#{env}-") }
|
|
155
|
-
end
|
|
156
|
-
end
|
|
157
|
-
|
|
158
106
|
end
|
|
159
107
|
|
|
160
108
|
Rake::Task["assets:precompile"].enhance ["svelte_on_rails:precompile"]
|