appydave-tools 0.73.0 → 0.74.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: 53447fe92cfd604234875affe143a083bc07b267ccf92ad11782e6640e440fa6
4
- data.tar.gz: 74ed454547b2f4a3a5d859ca1bc41228b7efc340dc31c8f3a174b6ff4e1774dd
3
+ metadata.gz: 44ca2e425677ffd01f35cbad749a7cf026321e30e8133b2db75b08d3062407e6
4
+ data.tar.gz: e6555b956b2d404689761382faecf83458eefdb9453fbdfbc7fdb1406f37b585
5
5
  SHA512:
6
- metadata.gz: 61ab02e5529f5a95be3aeeb85674e2f92d9db9d13571aafefc6569cec9f30f967a5d79b48885ad2f636816b50380c39ecdaf67d05b3d403c25ce06517efb8761
7
- data.tar.gz: db15735eb6b14e5060a9f533231067222402edff360e5034e997c03483b8755692751ce54e95628eea2893e2f649c75a7f9af6e625c7c1be661c8f392d2908e9
6
+ metadata.gz: 88a430612add3c650c890797874ad17332bbd8c4507bfa2e847e310cbec6b659f719fdfa7db47f2a672e22080ad070cc026fb1fbf66b028b740babac7261502a
7
+ data.tar.gz: ab498bebd3971c75d7bc222af0c1c5405568c78e2d6fbec47a9d64818f78df8504c720cbd8c25a3ac48356e2e7ba586520f345074d157799d974e789b8a48c8b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [0.73.0](https://github.com/appydave/appydave-tools/compare/v0.72.0...v0.73.0) (2025-12-18)
2
+
3
+
4
+ ### Features
5
+
6
+ * add smart grouping and auto-backup to jump generate aliases ([aedc533](https://github.com/appydave/appydave-tools/commit/aedc533f9a9fd158de806830f7c495dd4d1b011b))
7
+
1
8
  # [0.72.0](https://github.com/appydave/appydave-tools/compare/v0.71.1...v0.72.0) (2025-12-18)
2
9
 
3
10
 
@@ -2,5 +2,6 @@
2
2
  "video-projects-root": "/Users/YOUR_USERNAME/dev/video-projects",
3
3
  "ecamm-recording-folder": "/Users/YOUR_USERNAME/ecamm",
4
4
  "download-folder": "/Users/YOUR_USERNAME/Downloads",
5
- "download-image-folder": "/Users/YOUR_USERNAME/Downloads/images"
5
+ "download-image-folder": "/Users/YOUR_USERNAME/Downloads/images",
6
+ "aliases-output-path": "~/.oh-my-zsh/custom/aliases-jump.zsh"
6
7
  }
@@ -32,6 +32,12 @@ module Appydave
32
32
  get('download-image-folder') || download_folder
33
33
  end
34
34
 
35
+ # Default output path for jump generate aliases command
36
+ # Used by auto-regenerate after CRUD operations
37
+ def aliases_output_path
38
+ get('aliases-output-path')
39
+ end
40
+
35
41
  def current_user
36
42
  get('current_user')
37
43
  end
@@ -158,6 +158,7 @@ module Appydave
158
158
 
159
159
  def run_add(args)
160
160
  format = format_option(args)
161
+ no_generate = args.delete('--no-generate')
161
162
  attrs = parse_location_args(args)
162
163
 
163
164
  if attrs[:key].nil?
@@ -169,11 +170,19 @@ module Appydave
169
170
  result = cmd.run
170
171
 
171
172
  format_output(result, format)
173
+
174
+ # Auto-regenerate aliases after successful add
175
+ if result[:success] && !no_generate
176
+ regenerate_result = auto_regenerate_aliases
177
+ output_regenerate_result(regenerate_result) if regenerate_result
178
+ end
179
+
172
180
  exit_code_for(result)
173
181
  end
174
182
 
175
183
  def run_update(args)
176
184
  format = format_option(args)
185
+ no_generate = args.delete('--no-generate')
177
186
  key = args.shift
178
187
  attrs = parse_location_args(args)
179
188
 
@@ -186,11 +195,19 @@ module Appydave
186
195
  result = cmd.run
187
196
 
188
197
  format_output(result, format)
198
+
199
+ # Auto-regenerate aliases after successful update
200
+ if result[:success] && !no_generate
201
+ regenerate_result = auto_regenerate_aliases
202
+ output_regenerate_result(regenerate_result) if regenerate_result
203
+ end
204
+
189
205
  exit_code_for(result)
190
206
  end
191
207
 
192
208
  def run_remove(args)
193
209
  format = format_option(args)
210
+ no_generate = args.delete('--no-generate')
194
211
  force = args.delete('--force')
195
212
  key = args.first
196
213
 
@@ -203,6 +220,13 @@ module Appydave
203
220
  result = cmd.run
204
221
 
205
222
  format_output(result, format)
223
+
224
+ # Auto-regenerate aliases after successful remove
225
+ if result[:success] && !no_generate
226
+ regenerate_result = auto_regenerate_aliases
227
+ output_regenerate_result(regenerate_result) if regenerate_result
228
+ end
229
+
206
230
  exit_code_for(result)
207
231
  end
208
232
 
@@ -331,6 +355,36 @@ module Appydave
331
355
  value
332
356
  end
333
357
 
358
+ # Auto-regenerate helpers
359
+
360
+ def auto_regenerate_aliases
361
+ output_path = aliases_output_path
362
+ return nil unless output_path
363
+
364
+ cmd = Commands::Generate.new(
365
+ load_config,
366
+ 'aliases',
367
+ output_path: output_path,
368
+ path_validator: path_validator
369
+ )
370
+ cmd.run
371
+ end
372
+
373
+ def aliases_output_path
374
+ Configuration::Config.configure
375
+ Configuration::Config.settings.aliases_output_path
376
+ rescue StandardError
377
+ nil
378
+ end
379
+
380
+ def output_regenerate_result(result)
381
+ return unless result[:success]
382
+
383
+ output.puts ''
384
+ output.puts "Backed up: #{result[:backup]}" if result[:backup]
385
+ output.puts "Regenerated: #{result[:path]} (#{result[:lines]} lines)"
386
+ end
387
+
334
388
  # Help display methods
335
389
 
336
390
  def show_version
@@ -451,10 +505,16 @@ module Appydave
451
505
  --type, -t <type> Location type (tool, gem, brand, etc.)
452
506
  --tags <t1,t2> Comma-separated tags
453
507
  --description, -d Human description
508
+ --no-generate Skip auto-regenerating aliases file
509
+
510
+ Auto-Regeneration:
511
+ After a successful add, the aliases file is automatically regenerated
512
+ if 'aliases-output-path' is set in settings.json.
454
513
 
455
514
  Examples:
456
515
  jump add --key my-project --path ~/dev/my-project
457
- jump add -k ad-tools -p ~/dev/ad/appydave-tools --brand appydave --type tool --tags ruby,cli
516
+ jump add -k ad-tools -p ~/dev/ad/appydave-tools --brand appydave --type tool
517
+ jump add --key temp-proj --path ~/tmp/proj --no-generate
458
518
  HELP
459
519
  end
460
520
 
@@ -472,10 +532,16 @@ module Appydave
472
532
  --type, -t <type> New type
473
533
  --tags <t1,t2> New tags (replaces existing)
474
534
  --description, -d New description
535
+ --no-generate Skip auto-regenerating aliases file
536
+
537
+ Auto-Regeneration:
538
+ After a successful update, the aliases file is automatically regenerated
539
+ if 'aliases-output-path' is set in settings.json.
475
540
 
476
541
  Examples:
477
542
  jump update my-project --description "Updated description"
478
543
  jump update ad-tools --tags ruby,cli,youtube
544
+ jump update my-project --path ~/new/path --no-generate
479
545
  HELP
480
546
  end
481
547
 
@@ -483,12 +549,19 @@ module Appydave
483
549
  output.puts <<~HELP
484
550
  jump remove - Remove a location
485
551
 
486
- Usage: jump remove <key> --force
552
+ Usage: jump remove <key> --force [--no-generate]
553
+
554
+ Options:
555
+ --force Required to confirm deletion
556
+ --no-generate Skip auto-regenerating aliases file
487
557
 
488
- The --force flag is required to prevent accidental deletions.
558
+ Auto-Regeneration:
559
+ After a successful remove, the aliases file is automatically regenerated
560
+ if 'aliases-output-path' is set in settings.json.
489
561
 
490
562
  Examples:
491
563
  jump remove old-project --force
564
+ jump remove temp-project --force --no-generate
492
565
  HELP
493
566
  end
494
567
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.73.0'
5
+ VERSION = '0.74.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.73.0",
3
+ "version": "0.74.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.73.0
4
+ version: 0.74.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys