appydave-tools 0.32.5 â 0.33.0
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/CHANGELOG.md +7 -0
- data/bin/dam +38 -6
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- 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: 7dae60a45e72f5c3a8b551750c4728a037ee8584b436989dd700daa78f3ee8a1
|
|
4
|
+
data.tar.gz: 7b26dbf29f2d47524832504a2ef5fd2a021efd9a458a61477a19dccd22a56fb0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 36090c84bffcf2e1e0dc581b8af16d3adc2e2a89eaf2a0c47a264479006d7365b8099ee1998ec6b15e360797108bb42632b09edeadef84479f2c1d8734f401d8
|
|
7
|
+
data.tar.gz: 84e6011c4bc9ad9d4ec692b147d82542df34413a4faccd7056964bf6c5b2ae394328368db6a4b7a9f7c12f10503fd3a56f30476212f06733a6fbe70dc9f359ea
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [0.32.5](https://github.com/appydave/appydave-tools/compare/v0.32.4...v0.32.5) (2025-11-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* use original brand key in Config.project_path calls for projects_subfolder support - ensures correct path construction for brands with subfolder setting ([3966f16](https://github.com/appydave/appydave-tools/commit/3966f16a0465b9508bf899fa77a619ae6c0ea94a))
|
|
7
|
+
|
|
1
8
|
## [0.32.4](https://github.com/appydave/appydave-tools/compare/v0.32.3...v0.32.4) (2025-11-21)
|
|
2
9
|
|
|
3
10
|
|
data/bin/dam
CHANGED
|
@@ -1125,7 +1125,7 @@ class VatCLI
|
|
|
1125
1125
|
exit 1
|
|
1126
1126
|
end
|
|
1127
1127
|
|
|
1128
|
-
# rubocop:disable Metrics/MethodLength
|
|
1128
|
+
# rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
1129
1129
|
def scan_single_brand_s3(brand_arg)
|
|
1130
1130
|
puts "đ Scanning S3 for #{brand_arg}..."
|
|
1131
1131
|
puts ''
|
|
@@ -1161,7 +1161,12 @@ class VatCLI
|
|
|
1161
1161
|
|
|
1162
1162
|
manifest = JSON.parse(File.read(manifest_path), symbolize_names: true)
|
|
1163
1163
|
|
|
1164
|
-
#
|
|
1164
|
+
# Identify matched and orphaned S3 projects
|
|
1165
|
+
local_project_ids = manifest[:projects].map { |p| p[:id] }
|
|
1166
|
+
matched_s3_projects = results.keys.select { |project_id| local_project_ids.include?(project_id) }
|
|
1167
|
+
orphaned_s3_projects = results.keys.reject { |project_id| local_project_ids.include?(project_id) }
|
|
1168
|
+
|
|
1169
|
+
# Merge S3 scan data into manifest for matched projects
|
|
1165
1170
|
updated_count = 0
|
|
1166
1171
|
manifest[:projects].each do |project|
|
|
1167
1172
|
project_id = project[:id]
|
|
@@ -1186,10 +1191,24 @@ class VatCLI
|
|
|
1186
1191
|
puts " Projects in S3: #{results.size}"
|
|
1187
1192
|
puts " Projects in manifest: #{total_manifest_projects}"
|
|
1188
1193
|
puts " Updated #{updated_count} projects in manifest"
|
|
1189
|
-
|
|
1194
|
+
|
|
1195
|
+
if orphaned_s3_projects.any?
|
|
1190
1196
|
puts ''
|
|
1191
|
-
puts
|
|
1192
|
-
|
|
1197
|
+
puts ' â ī¸ Orphaned S3 folders (no local project):'
|
|
1198
|
+
orphaned_s3_projects.each do |project_id|
|
|
1199
|
+
s3_data = results[project_id]
|
|
1200
|
+
size = format_bytes(s3_data[:total_bytes])
|
|
1201
|
+
puts " - #{project_id} (#{s3_data[:file_count]} files, #{size})"
|
|
1202
|
+
end
|
|
1203
|
+
puts ''
|
|
1204
|
+
puts ' These folders exist in S3 but have no corresponding local project.'
|
|
1205
|
+
puts ' Consider cleaning them up with: dam s3-cleanup'
|
|
1206
|
+
end
|
|
1207
|
+
|
|
1208
|
+
if matched_s3_projects.size < total_manifest_projects
|
|
1209
|
+
missing_count = total_manifest_projects - matched_s3_projects.size
|
|
1210
|
+
puts ''
|
|
1211
|
+
puts " âšī¸ #{missing_count} local project(s) not yet uploaded to S3"
|
|
1193
1212
|
end
|
|
1194
1213
|
puts ''
|
|
1195
1214
|
end
|
|
@@ -1236,7 +1255,20 @@ class VatCLI
|
|
|
1236
1255
|
puts ''
|
|
1237
1256
|
puts "Total brands scanned: #{successful.size}/#{results.size}"
|
|
1238
1257
|
end
|
|
1239
|
-
# rubocop:enable Metrics/MethodLength
|
|
1258
|
+
# rubocop:enable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
1259
|
+
|
|
1260
|
+
# Format bytes in human-readable format
|
|
1261
|
+
# rubocop:disable Style/FormatStringToken
|
|
1262
|
+
def format_bytes(bytes)
|
|
1263
|
+
return '0 B' if bytes.zero?
|
|
1264
|
+
|
|
1265
|
+
units = %w[B KB MB GB TB]
|
|
1266
|
+
exp = (Math.log(bytes) / Math.log(1024)).to_i
|
|
1267
|
+
exp = [exp, units.length - 1].min
|
|
1268
|
+
|
|
1269
|
+
format('%.1f %s', bytes.to_f / (1024**exp), units[exp])
|
|
1270
|
+
end
|
|
1271
|
+
# rubocop:enable Style/FormatStringToken
|
|
1240
1272
|
end
|
|
1241
1273
|
|
|
1242
1274
|
# Run CLI
|
data/package.json
CHANGED