appydave-tools 0.61.0 → 0.63.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 +14 -0
- data/lib/appydave/tools/dam/project_listing.rb +54 -10
- 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: 4ffbf1cb222c3f823e32f6fbb4973df1a5be14bc8bbb091c9c429f74eef529ce
|
|
4
|
+
data.tar.gz: 0404b4f1b75204c1938776b19fbc6bf836245a115cb6ef45660a0572f160da83
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42103e93dc4df198799ad9803b43bd7d185180410512ad90cd5406143f6d07aff7ae152bc6ee5f9c4e78d072fc8e00949f69030ec6be8a8a66490bdadd841b4d
|
|
7
|
+
data.tar.gz: f9bbaf72fb235ffe21c7c5786553074fbcca5ed82c9b0f3f8773b2e8b8dac66738e24ce8abb6645c8b395cd1b1b6fe05cf6b2fbac40ef26d0da70d5536e351e6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [0.62.0](https://github.com/appydave/appydave-tools/compare/v0.61.0...v0.62.0) (2025-11-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add S3 SYNC column to brand list showing count of projects with s3-staging folders ([23ceff2](https://github.com/appydave/appydave-tools/commit/23ceff2feda3d2f792c85b7af6a2b04f71d9ccdf))
|
|
7
|
+
|
|
8
|
+
# [0.61.0](https://github.com/appydave/appydave-tools/compare/v0.60.0...v0.61.0) (2025-11-22)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add GIT STATUS column to brand list showing clean/changes indicator ([8159990](https://github.com/appydave/appydave-tools/commit/8159990abe1f0fa8eeabaac022cf8ba0736486bb))
|
|
14
|
+
|
|
1
15
|
# [0.60.0](https://github.com/appydave/appydave-tools/compare/v0.59.0...v0.60.0) (2025-11-22)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -22,8 +22,8 @@ module Appydave
|
|
|
22
22
|
brand_data = brands.map { |brand| collect_brand_data(brand) }
|
|
23
23
|
|
|
24
24
|
# Print table header
|
|
25
|
-
puts 'BRAND KEY PROJECTS SIZE LAST MODIFIED GIT'
|
|
26
|
-
puts '-' *
|
|
25
|
+
puts 'BRAND KEY PROJECTS SIZE LAST MODIFIED GIT S3 SYNC'
|
|
26
|
+
puts '-' * 130
|
|
27
27
|
|
|
28
28
|
# Print table rows
|
|
29
29
|
brand_data.each do |data|
|
|
@@ -31,13 +31,14 @@ module Appydave
|
|
|
31
31
|
brand_display = "#{data[:shortcut]} - #{data[:name]}"
|
|
32
32
|
|
|
33
33
|
puts format(
|
|
34
|
-
'%-30s %-12s %10d %12s %20s %-15s',
|
|
34
|
+
'%-30s %-12s %10d %12s %20s %-15s %-10s',
|
|
35
35
|
brand_display,
|
|
36
36
|
data[:key],
|
|
37
37
|
data[:count],
|
|
38
38
|
format_size(data[:size]),
|
|
39
39
|
format_date(data[:modified]),
|
|
40
|
-
data[:git_status]
|
|
40
|
+
data[:git_status],
|
|
41
|
+
data[:s3_sync]
|
|
41
42
|
)
|
|
42
43
|
end
|
|
43
44
|
|
|
@@ -74,18 +75,29 @@ module Appydave
|
|
|
74
75
|
end
|
|
75
76
|
|
|
76
77
|
# Gather project data
|
|
78
|
+
brand_path = Config.brand_path(brand_arg)
|
|
79
|
+
is_git_repo = Dir.exist?(File.join(brand_path, '.git'))
|
|
80
|
+
|
|
77
81
|
project_data = projects.map do |project|
|
|
78
82
|
project_path = Config.project_path(brand_arg, project)
|
|
79
83
|
size = FileHelper.calculate_directory_size(project_path)
|
|
80
84
|
modified = File.mtime(project_path)
|
|
81
85
|
|
|
86
|
+
# Check if project has uncommitted changes (if brand is git repo)
|
|
87
|
+
git_status = if is_git_repo
|
|
88
|
+
calculate_project_git_status(brand_path, project)
|
|
89
|
+
else
|
|
90
|
+
'N/A'
|
|
91
|
+
end
|
|
92
|
+
|
|
82
93
|
{
|
|
83
94
|
name: project,
|
|
84
95
|
path: project_path,
|
|
85
96
|
size: size,
|
|
86
97
|
modified: modified,
|
|
87
98
|
age: format_age(modified),
|
|
88
|
-
stale: stale?(modified)
|
|
99
|
+
stale: stale?(modified),
|
|
100
|
+
git_status: git_status
|
|
89
101
|
}
|
|
90
102
|
end
|
|
91
103
|
|
|
@@ -94,17 +106,18 @@ module Appydave
|
|
|
94
106
|
puts ''
|
|
95
107
|
puts 'ℹ️ Note: Lists only projects with files, not empty directories'
|
|
96
108
|
puts ''
|
|
97
|
-
puts 'PROJECT SIZE AGE'
|
|
98
|
-
puts '-' *
|
|
109
|
+
puts 'PROJECT SIZE AGE GIT'
|
|
110
|
+
puts '-' * 115
|
|
99
111
|
|
|
100
112
|
# Print table rows
|
|
101
113
|
project_data.each do |data|
|
|
102
114
|
age_display = data[:stale] ? "#{data[:age]} ⚠️" : data[:age]
|
|
103
115
|
puts format(
|
|
104
|
-
'%-45s %12s %15s',
|
|
116
|
+
'%-45s %12s %15s %-15s',
|
|
105
117
|
data[:name],
|
|
106
118
|
format_size(data[:size]),
|
|
107
|
-
age_display
|
|
119
|
+
age_display,
|
|
120
|
+
data[:git_status]
|
|
108
121
|
)
|
|
109
122
|
end
|
|
110
123
|
|
|
@@ -237,6 +250,9 @@ module Appydave
|
|
|
237
250
|
# Get git status
|
|
238
251
|
git_status = calculate_git_status(brand_path)
|
|
239
252
|
|
|
253
|
+
# Get S3 sync status (count of projects with s3-staging)
|
|
254
|
+
s3_sync_status = calculate_s3_sync_status(brand, projects)
|
|
255
|
+
|
|
240
256
|
{
|
|
241
257
|
shortcut: shortcut || key,
|
|
242
258
|
key: key,
|
|
@@ -245,7 +261,8 @@ module Appydave
|
|
|
245
261
|
count: projects.size,
|
|
246
262
|
size: total_size,
|
|
247
263
|
modified: last_modified,
|
|
248
|
-
git_status: git_status
|
|
264
|
+
git_status: git_status,
|
|
265
|
+
s3_sync: s3_sync_status
|
|
249
266
|
}
|
|
250
267
|
end
|
|
251
268
|
|
|
@@ -264,6 +281,33 @@ module Appydave
|
|
|
264
281
|
end
|
|
265
282
|
end
|
|
266
283
|
|
|
284
|
+
# Calculate S3 sync status for a brand
|
|
285
|
+
def self.calculate_s3_sync_status(brand, projects)
|
|
286
|
+
return 'N/A' if projects.empty?
|
|
287
|
+
|
|
288
|
+
s3_count = projects.count do |project|
|
|
289
|
+
project_path = Config.project_path(brand, project)
|
|
290
|
+
Dir.exist?(File.join(project_path, 's3-staging'))
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
if s3_count.zero?
|
|
294
|
+
'none'
|
|
295
|
+
else
|
|
296
|
+
"#{s3_count}/#{projects.size}"
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Calculate git status for a specific project
|
|
301
|
+
def self.calculate_project_git_status(brand_path, project)
|
|
302
|
+
# Use git status --short to check for changes in project folder
|
|
303
|
+
result = `cd "#{brand_path}" && git status --short "#{project}" 2>/dev/null`
|
|
304
|
+
if result.empty?
|
|
305
|
+
'✓ clean'
|
|
306
|
+
else
|
|
307
|
+
'⚠️ changes'
|
|
308
|
+
end
|
|
309
|
+
end
|
|
310
|
+
|
|
267
311
|
# Calculate total size of all projects in a brand
|
|
268
312
|
def self.calculate_total_size(brand, projects)
|
|
269
313
|
projects.sum do |project|
|
data/package.json
CHANGED