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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 864eafb1a55d6472a520b956d7f209c5b936f9bc07dcb9d9755aa9e852e7f86c
4
- data.tar.gz: 609a7a60b4aec7a278fdd3020bb0c5f4e4882e5334d8ebf6474f8c5d44da29e8
3
+ metadata.gz: 4ffbf1cb222c3f823e32f6fbb4973df1a5be14bc8bbb091c9c429f74eef529ce
4
+ data.tar.gz: 0404b4f1b75204c1938776b19fbc6bf836245a115cb6ef45660a0572f160da83
5
5
  SHA512:
6
- metadata.gz: 0fa499e33391e28eb1e206d1da8110f919b8c769909e40baa84e25b5fa0565485858efdd49705a92487f6e5ab77d13e2edb338ecc3f606bb902b65bbc4d05220
7
- data.tar.gz: f5d8a1fec87d8f224ec8df22f2fc94d00cfd12d8742c66a11f50406afeec0c2770c1009405a498c6116958ccc02324d57f05b1de341d75085b4290aef6c5f356
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 '-' * 115
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 '-' * 100
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|
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.61.0'
5
+ VERSION = '0.63.0'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appydave-tools",
3
- "version": "0.61.0",
3
+ "version": "0.63.0",
4
4
  "description": "AppyDave YouTube Automation Tools",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appydave-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.61.0
4
+ version: 0.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys