svelte-on-rails 17.2.2 → 17.2.4
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/generators/svelte_on_rails/install/install_generator.rb +43 -34
- 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: 71dde680681ad196d29e079cdc24d784fea2a5e910ff05bfca97c2b0ff77f9a4
|
|
4
|
+
data.tar.gz: 5582a99e4104a01ab951e9c07fc4e30864ba428f9793ef4eeeb64bfff701bf37
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 49bccd39476d531c43dd8295ed83c9900bbd8032dc73c32960046eaeb357e0e9242f1eeddb5c90a097f763be8782c6bc9b1184ea312eae067bdb62fc3bfe1bd2
|
|
7
|
+
data.tar.gz: dc279a3b11158bad2b754d31e389778795cbe6740ece18c0385d9020b040c52f3766f9bebdc4594ffbec2bccd9279ce7d2a322409a3ad22ed39437cc20525c63
|
|
@@ -102,75 +102,89 @@ module SvelteOnRails
|
|
|
102
102
|
end
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
+
# Candidate sets:
|
|
106
|
+
# The most critical point is passing the installation of the vite-plugin-svelte.
|
|
107
|
+
# So, we always have it after Vite and Svelte.
|
|
108
|
+
|
|
105
109
|
candidate_sets = [
|
|
106
110
|
{
|
|
107
111
|
key: :minimal,
|
|
108
112
|
title: 'Install missing packages only',
|
|
109
113
|
set: [
|
|
114
|
+
'typescript@latest',
|
|
115
|
+
'@types/node@latest',
|
|
110
116
|
('svelte@latest' unless svelte),
|
|
111
117
|
('vite@latest' unless vite),
|
|
112
118
|
('@sveltejs/vite-plugin-svelte@latest' unless vite_plugin_svelte),
|
|
113
119
|
'@csedl/svelte-on-rails@latest',
|
|
114
|
-
'typescript@latest',
|
|
115
|
-
'@types/node@latest'
|
|
116
120
|
].compact
|
|
117
121
|
},
|
|
118
122
|
{
|
|
119
123
|
key: :latest,
|
|
120
124
|
title: 'Force latest package versions',
|
|
121
125
|
set: [
|
|
126
|
+
'typescript@latest',
|
|
127
|
+
'@types/node@latest',
|
|
122
128
|
'svelte@latest',
|
|
123
129
|
'vite@latest',
|
|
124
130
|
'@sveltejs/vite-plugin-svelte@latest',
|
|
125
131
|
'@csedl/svelte-on-rails@latest',
|
|
126
|
-
'typescript@latest',
|
|
127
|
-
'@types/node@latest'
|
|
128
132
|
]
|
|
129
133
|
},
|
|
130
134
|
{
|
|
131
135
|
key: :pinned,
|
|
132
136
|
title: 'Use pinned compatible versions',
|
|
133
137
|
set: [
|
|
138
|
+
'typescript@~6.0.2',
|
|
139
|
+
'@types/node@~25.6.0',
|
|
134
140
|
'svelte@~5.55.4',
|
|
135
141
|
'vite@~8.0.8',
|
|
136
142
|
'@sveltejs/vite-plugin-svelte@~7.0.0',
|
|
137
143
|
'@csedl/svelte-on-rails@latest',
|
|
138
|
-
'typescript@~6.0.2',
|
|
139
|
-
'@types/node@~25.6.0'
|
|
140
144
|
]
|
|
141
145
|
}
|
|
142
146
|
]
|
|
143
147
|
|
|
144
148
|
# test install
|
|
145
149
|
|
|
150
|
+
dependencies_checked = false
|
|
146
151
|
failed_packages = []
|
|
147
|
-
puts "[Sandbox test] Running dependency checks in a isolated Sandbox within App-root/tmp"
|
|
148
152
|
set_keys = candidate_sets.map { |s| s[:key] }
|
|
149
153
|
if @package_set && !set_keys.include?(@package_set)
|
|
150
154
|
raise Thor::Error, "Invalid value for --package-set option: #{@package_set}, valid options are: #{set_keys.join(', ')}"
|
|
151
155
|
end
|
|
152
156
|
index = 0
|
|
157
|
+
unless @package_set && @installation_type == :force
|
|
158
|
+
puts "[Sandbox test] Running dependency checks in a isolated Sandbox within App-root/tmp"
|
|
159
|
+
end
|
|
153
160
|
passing_set = candidate_sets.find do |set_to_try|
|
|
154
161
|
title_suffix = (index == 0) ? ' (default)' : " (FALLBACK)"
|
|
155
162
|
index += 1
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
project_root: Rails.root.to_s,
|
|
160
|
-
sandboxes_root: @sandboxes_dir,
|
|
161
|
-
title: set_to_try[:title] + title_suffix
|
|
162
|
-
)
|
|
163
|
-
@tmpdirs.push(r[:tmpdir])
|
|
164
|
-
if r[:success] || @package_set && set_to_try[:key] == @package_set
|
|
163
|
+
if @package_set && set_to_try[:key] != @package_set
|
|
164
|
+
next
|
|
165
|
+
elsif @package_set && set_to_try[:key] == @package_set && @installation_type == :force
|
|
165
166
|
true
|
|
166
167
|
else
|
|
167
|
-
|
|
168
|
-
|
|
168
|
+
|
|
169
|
+
r = SvelteOnRails::Installer::NpmSandbox.dry_run(
|
|
170
|
+
set_to_try[:set],
|
|
171
|
+
project_root: Rails.root.to_s,
|
|
172
|
+
sandboxes_root: @sandboxes_dir,
|
|
173
|
+
title: set_to_try[:title] + title_suffix
|
|
174
|
+
)
|
|
175
|
+
@tmpdirs.push(r[:tmpdir])
|
|
176
|
+
if r[:success] || @package_set && set_to_try[:key] == @package_set
|
|
177
|
+
dependencies_checked = true
|
|
178
|
+
true
|
|
179
|
+
else
|
|
180
|
+
failed_packages.push(set_to_try)
|
|
181
|
+
false
|
|
182
|
+
end
|
|
169
183
|
end
|
|
170
184
|
end
|
|
171
185
|
|
|
172
186
|
if passing_set.present?
|
|
173
|
-
say "✓ Dependency check passed", :green
|
|
187
|
+
say "✓ Dependency check passed", :green if dependencies_checked
|
|
174
188
|
else
|
|
175
189
|
say '-' * 80
|
|
176
190
|
say "ERROR: Unable to fix dependency issues", :red
|
|
@@ -186,22 +200,17 @@ module SvelteOnRails
|
|
|
186
200
|
|
|
187
201
|
# prompt developer
|
|
188
202
|
|
|
189
|
-
if passing_set.
|
|
190
|
-
|
|
191
|
-
say "
|
|
203
|
+
say "Using Package-set: #{passing_set[:title]}", :yellow if passing_set.present?
|
|
204
|
+
if passing_set.any? && @installation_type != :force
|
|
205
|
+
say "Ready to install:", :yellow
|
|
192
206
|
loop do
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
exit(0)
|
|
201
|
-
elsif answer == "y" || answer == "yes"
|
|
202
|
-
break
|
|
203
|
-
end
|
|
204
|
-
else
|
|
207
|
+
say "Continue? (Y/n)", :yellow
|
|
208
|
+
input = STDIN.gets
|
|
209
|
+
answer = input.strip.downcase
|
|
210
|
+
if answer == "n" || answer == "no"
|
|
211
|
+
say "Installation aborted.", :red
|
|
212
|
+
exit(0)
|
|
213
|
+
elsif answer == "y" || answer == "yes"
|
|
205
214
|
break
|
|
206
215
|
end
|
|
207
216
|
end
|