appydave-tools 0.63.0 → 0.65.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 +19 -0
- data/lib/appydave/tools/dam/project_listing.rb +14 -5
- data/lib/appydave/tools/dam/status.rb +35 -0
- 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: '018d3a90eaad36f1ac6089615800619b751ad7a398e3f29ceebb3690b8fec7e4'
|
|
4
|
+
data.tar.gz: b8b5920c74e273724d5a5750d63f9b09f4ffc637e5af21f8fded09da8cce55d2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9b61ce6b01dc9c7b865f4a0af340c49e3d537f45eb43bf61e420c4f1d7df6aead0bc210390b18bdb479a4d197a7b7d274558180ebb66070b5353e444bb33112a
|
|
7
|
+
data.tar.gz: 42e60c347dcd50fcc1714e046b228271e1363b868566f58b09cf3a0c317d65a51a47de5dce5adebe2e42a5c2281d346afc3a43a10e5c68500ba0ecd726a4d67a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
# [0.64.0](https://github.com/appydave/appydave-tools/compare/v0.63.0...v0.64.0) (2025-11-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add S3 SYNC column to project list showing if project has s3-staging folder ([03c8780](https://github.com/appydave/appydave-tools/commit/03c8780070df1cee3ec432cf2798c10d30bb1890))
|
|
7
|
+
|
|
8
|
+
# [0.63.0](https://github.com/appydave/appydave-tools/compare/v0.62.0...v0.63.0) (2025-11-22)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* rename project_has_changes? to calculate_project_git_status to follow rubocop naming convention ([f8f63fc](https://github.com/appydave/appydave-tools/commit/f8f63fc2c54e7a4b1d15ff418e038ee3a6a3b3c0))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* add GIT column to project list showing uncommitted changes status per project ([3da9b8d](https://github.com/appydave/appydave-tools/commit/3da9b8df089548fbc71248fabc061ad47f9ee83f))
|
|
19
|
+
|
|
1
20
|
# [0.62.0](https://github.com/appydave/appydave-tools/compare/v0.61.0...v0.62.0) (2025-11-22)
|
|
2
21
|
|
|
3
22
|
|
|
@@ -90,6 +90,13 @@ module Appydave
|
|
|
90
90
|
'N/A'
|
|
91
91
|
end
|
|
92
92
|
|
|
93
|
+
# Check if project has s3-staging folder
|
|
94
|
+
s3_sync = if Dir.exist?(File.join(project_path, 's3-staging'))
|
|
95
|
+
'✓ staged'
|
|
96
|
+
else
|
|
97
|
+
'none'
|
|
98
|
+
end
|
|
99
|
+
|
|
93
100
|
{
|
|
94
101
|
name: project,
|
|
95
102
|
path: project_path,
|
|
@@ -97,7 +104,8 @@ module Appydave
|
|
|
97
104
|
modified: modified,
|
|
98
105
|
age: format_age(modified),
|
|
99
106
|
stale: stale?(modified),
|
|
100
|
-
git_status: git_status
|
|
107
|
+
git_status: git_status,
|
|
108
|
+
s3_sync: s3_sync
|
|
101
109
|
}
|
|
102
110
|
end
|
|
103
111
|
|
|
@@ -106,18 +114,19 @@ module Appydave
|
|
|
106
114
|
puts ''
|
|
107
115
|
puts 'ℹ️ Note: Lists only projects with files, not empty directories'
|
|
108
116
|
puts ''
|
|
109
|
-
puts 'PROJECT SIZE AGE GIT'
|
|
110
|
-
puts '-' *
|
|
117
|
+
puts 'PROJECT SIZE AGE GIT S3'
|
|
118
|
+
puts '-' * 130
|
|
111
119
|
|
|
112
120
|
# Print table rows
|
|
113
121
|
project_data.each do |data|
|
|
114
122
|
age_display = data[:stale] ? "#{data[:age]} ⚠️" : data[:age]
|
|
115
123
|
puts format(
|
|
116
|
-
'%-45s %12s %15s %-15s',
|
|
124
|
+
'%-45s %12s %15s %-15s %-10s',
|
|
117
125
|
data[:name],
|
|
118
126
|
format_size(data[:size]),
|
|
119
127
|
age_display,
|
|
120
|
-
data[:git_status]
|
|
128
|
+
data[:git_status],
|
|
129
|
+
data[:s3_sync]
|
|
121
130
|
)
|
|
122
131
|
end
|
|
123
132
|
|
|
@@ -232,6 +232,10 @@ module Appydave
|
|
|
232
232
|
|
|
233
233
|
puts " Local: #{local_count}"
|
|
234
234
|
puts " S3 staging: #{s3_count}"
|
|
235
|
+
|
|
236
|
+
# Show last S3 sync time if S3 is configured
|
|
237
|
+
show_last_s3_sync_time if s3_configured?
|
|
238
|
+
|
|
235
239
|
puts " SSD backup: #{ssd_count}"
|
|
236
240
|
|
|
237
241
|
# Project types
|
|
@@ -436,6 +440,37 @@ module Appydave
|
|
|
436
440
|
puts '💡 Suggestions:'
|
|
437
441
|
suggestions.each { |s| puts " #{s}" }
|
|
438
442
|
end
|
|
443
|
+
|
|
444
|
+
# Check if S3 is configured for this brand
|
|
445
|
+
def s3_configured?
|
|
446
|
+
s3_bucket = brand_info.aws.s3_bucket
|
|
447
|
+
s3_bucket && !s3_bucket.empty? && s3_bucket != 'NOT-SET'
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
# Show last S3 sync time for the brand
|
|
451
|
+
def show_last_s3_sync_time
|
|
452
|
+
# Find most recent S3 file across all projects with s3-staging
|
|
453
|
+
projects = ProjectResolver.list_projects(brand)
|
|
454
|
+
latest_sync = nil
|
|
455
|
+
|
|
456
|
+
projects.each do |project|
|
|
457
|
+
project_path = Config.project_path(brand, project)
|
|
458
|
+
staging_dir = File.join(project_path, 's3-staging')
|
|
459
|
+
next unless Dir.exist?(staging_dir)
|
|
460
|
+
|
|
461
|
+
# Get most recent file modification time in s3-staging
|
|
462
|
+
files = Dir.glob(File.join(staging_dir, '*')).select { |f| File.file?(f) }
|
|
463
|
+
next if files.empty?
|
|
464
|
+
|
|
465
|
+
project_latest = files.map { |f| File.mtime(f) }.max
|
|
466
|
+
latest_sync = project_latest if latest_sync.nil? || project_latest > latest_sync
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
return unless latest_sync
|
|
470
|
+
|
|
471
|
+
age = format_age(latest_sync)
|
|
472
|
+
puts " Last S3 sync: #{age} ago"
|
|
473
|
+
end
|
|
439
474
|
end
|
|
440
475
|
end
|
|
441
476
|
end
|
data/package.json
CHANGED