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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ffbf1cb222c3f823e32f6fbb4973df1a5be14bc8bbb091c9c429f74eef529ce
4
- data.tar.gz: 0404b4f1b75204c1938776b19fbc6bf836245a115cb6ef45660a0572f160da83
3
+ metadata.gz: '018d3a90eaad36f1ac6089615800619b751ad7a398e3f29ceebb3690b8fec7e4'
4
+ data.tar.gz: b8b5920c74e273724d5a5750d63f9b09f4ffc637e5af21f8fded09da8cce55d2
5
5
  SHA512:
6
- metadata.gz: 42103e93dc4df198799ad9803b43bd7d185180410512ad90cd5406143f6d07aff7ae152bc6ee5f9c4e78d072fc8e00949f69030ec6be8a8a66490bdadd841b4d
7
- data.tar.gz: f9bbaf72fb235ffe21c7c5786553074fbcca5ed82c9b0f3f8773b2e8b8dac66738e24ce8abb6645c8b395cd1b1b6fe05cf6b2fbac40ef26d0da70d5536e351e6
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 '-' * 115
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.63.0'
5
+ VERSION = '0.65.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.63.0",
3
+ "version": "0.65.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.63.0
4
+ version: 0.65.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys