@mediaproc/cli 0.2.0 → 0.4.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.
Files changed (54) hide show
  1. package/README.md +204 -18
  2. package/dist/__tests__/plugin-manager.test.d.ts +2 -0
  3. package/dist/__tests__/plugin-manager.test.d.ts.map +1 -0
  4. package/dist/__tests__/plugin-manager.test.js +7 -0
  5. package/dist/__tests__/plugin-manager.test.js.map +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +13 -12
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/add.d.ts.map +1 -1
  10. package/dist/commands/add.js +108 -39
  11. package/dist/commands/add.js.map +1 -1
  12. package/dist/commands/config.d.ts.map +1 -1
  13. package/dist/commands/config.js +70 -27
  14. package/dist/commands/config.js.map +1 -1
  15. package/dist/commands/convert.d.ts +3 -2
  16. package/dist/commands/convert.d.ts.map +1 -1
  17. package/dist/commands/convert.js +59 -37
  18. package/dist/commands/convert.js.map +1 -1
  19. package/dist/commands/help.js +2 -2
  20. package/dist/commands/help.js.map +1 -1
  21. package/dist/commands/info.d.ts +3 -2
  22. package/dist/commands/info.d.ts.map +1 -1
  23. package/dist/commands/info.js +17 -3
  24. package/dist/commands/info.js.map +1 -1
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +25 -47
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/list.d.ts.map +1 -1
  29. package/dist/commands/list.js +60 -13
  30. package/dist/commands/list.js.map +1 -1
  31. package/dist/commands/optimize.d.ts +3 -2
  32. package/dist/commands/optimize.d.ts.map +1 -1
  33. package/dist/commands/optimize.js +25 -19
  34. package/dist/commands/optimize.js.map +1 -1
  35. package/dist/commands/plugins.d.ts +4 -0
  36. package/dist/commands/plugins.d.ts.map +1 -0
  37. package/dist/commands/plugins.js +79 -0
  38. package/dist/commands/plugins.js.map +1 -0
  39. package/dist/commands/remove.d.ts.map +1 -1
  40. package/dist/commands/remove.js +73 -10
  41. package/dist/commands/remove.js.map +1 -1
  42. package/dist/config-manager.d.ts +110 -0
  43. package/dist/config-manager.d.ts.map +1 -0
  44. package/dist/config-manager.js +201 -0
  45. package/dist/config-manager.js.map +1 -0
  46. package/dist/plugin-manager.d.ts +25 -10
  47. package/dist/plugin-manager.d.ts.map +1 -1
  48. package/dist/plugin-manager.js +51 -49
  49. package/dist/plugin-manager.js.map +1 -1
  50. package/dist/plugin-registry.d.ts +9 -0
  51. package/dist/plugin-registry.d.ts.map +1 -1
  52. package/dist/plugin-registry.js +41 -6
  53. package/dist/plugin-registry.js.map +1 -1
  54. package/package.json +10 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MediaProc
2
2
 
3
- > ✨ **v0.2.0 Released!** - Image Plugin with 40 commands + Universal convert/info/optimize commands
3
+ > ✨ **v0.3.0 Released!** - Config System + Auto-Init + Enhanced Plugin Management
4
4
 
5
5
  Universal media processing CLI with an extensible plugin architecture. One tool to process all your media - images, videos, audio, documents, and more.
6
6
 
@@ -12,6 +12,41 @@ Universal media processing CLI with an extensible plugin architecture. One tool
12
12
 
13
13
  ---
14
14
 
15
+ ## 🎉 What's New in v0.3.0
16
+
17
+ **Major improvements to configuration and plugin management:**
18
+
19
+ ### 🏗️ Configuration System
20
+ - **Global Config**: Configuration now lives in `~/.mediaproc/config.json` (not project-specific)
21
+ - **Auto-initialization**: Config is automatically created on first run
22
+ - **Plugin Tracking**: System now tracks installed and loaded plugins separately
23
+ - **Better State Management**: No more manual package.json scanning
24
+
25
+ ### 🔧 Enhanced Commands
26
+ - **`mediaproc init`**: Initialize or reset configuration with `--reset` flag
27
+ - **`mediaproc config show`**: Beautiful display of config with plugin status
28
+ - **`mediaproc config path`**: Quickly find your config file location
29
+ - **`mediaproc config get <key>`**: Get specific config values
30
+
31
+ ### 🎯 Improved Plugin Management
32
+ - **Smart Detection**: System automatically detects plugin installation/loading status
33
+ - **Config Integration**: Add/remove commands update config state automatically
34
+ - **Status Indicators**: Universal commands show plugin status (loaded/installed/not installed)
35
+ - **Cleaner Architecture**: Removed redundant plugin discovery logic
36
+
37
+ ### 🐛 Bug Fixes
38
+ - Fixed unused variable warnings in plugin-manager
39
+ - Improved plugin prefix detection
40
+ - Better error handling in config operations
41
+ - Cleaner import statements
42
+
43
+ ### 📝 Breaking Changes
44
+ - Config file moved from `./mediaproc.config.json` to `~/.mediaproc/config.json`
45
+ - Run `mediaproc init` to create new config structure
46
+ - Old project-level configs need manual migration (or just reinstall plugins)
47
+
48
+ ---
49
+
15
50
  ## 📋 Table of Contents
16
51
 
17
52
  - [The Problem](#-the-problem)
@@ -20,6 +55,7 @@ Universal media processing CLI with an extensible plugin architecture. One tool
20
55
  - [Features](#-features)
21
56
  - [Quick Start](#-quick-start)
22
57
  - [Available Plugins](#-available-plugins)
58
+ - [Plugin Terminology](#-plugin-terminology)
23
59
  - [Documentation](#-documentation)
24
60
  - [Examples](#-examples)
25
61
  - [Development](#-development)
@@ -129,25 +165,114 @@ mediaproc document compress input.pdf --quality high
129
165
  ## 📊 Current Status
130
166
 
131
167
  **Version**: 0.2.0 (Alpha - Feature Complete Image Plugin!)
132
- **Status**: ✅ Image plugin with 40 commands + Universal CLI commands
168
+ **Status**: ✅ Image plugin with 49 commands + Universal CLI commands
133
169
  **Next Release**: Video & Audio plugins (Q1 2026)
134
170
  **Expected v1.0**: Q2 2026
135
171
 
136
- ### 🎉 Released & Ready to Use (v0.2.0)
172
+ ### Plugin Management
173
+
174
+ - `mediaproc list` - List all plugins (built-in and installed)
175
+ - `mediaproc add <plugin>` - Install add-on plugins from npm
176
+ - `mediaproc remove <plugin>` - Uninstall add-on plugins
177
+ - `mediaproc plugins` - Show available plugins
178
+ - `mediaproc init` - Initialize configuration
179
+ - `mediaproc config` - Manage settings
180
+
181
+ ### Universal Commands (Work Without Plugins)
182
+
183
+ - `mediaproc convert <input> <output>` - Auto-detect and convert any media file
184
+ - `mediaproc info <file>` - Show file information for any media type
185
+ - `mediaproc optimize <file>` - Suggest optimization strategy based on file type
186
+
187
+ ### Image Processing (@mediaproc/image)
188
+
189
+ **Install:** `mediaproc add image`
190
+
191
+ **49 Professional Commands Available:**
192
+
193
+ **Transform & Resize** (10 commands)
194
+
195
+ - `resize` - Resize with fit modes (cover, contain, fill, inside, outside)
196
+ - `crop` - Extract rectangular regions with positioning
197
+ - `rotate` - Any angle rotation with background control
198
+ - `flip` - Vertical mirroring (top-bottom)
199
+ - `flop` - Horizontal mirroring (left-right)
200
+ - `auto-orient` - Auto-rotate based on EXIF orientation
201
+ - `affine` - Apply affine transformation matrix (scale, shear, reflect)
202
+ - `trim` - Auto-remove uniform borders
203
+ - `extend` - Add padding/borders with custom colors
204
+ - `thumbnail` - Generate thumbnails (64px to 512px)
205
+
206
+ **Color & Tone** (10 commands)
137
207
 
138
- **Universal CLI Commands** - Work out-of-the-box without plugins
139
- - `convert` - Auto-detect file type and suggest conversion
140
- - `info` - Show file details for any media type
141
- - `optimize` - Auto-optimize with intelligent strategy suggestions
208
+ - `modulate` - Adjust brightness, saturation, hue
209
+ - `gamma` - Gamma correction for midtones (0.1-3.0)
210
+ - `tint` - Apply color tint overlays (RGB hex)
211
+ - `grayscale` - Convert to black & white
212
+ - `negate` - Create negative/inverted images
213
+ - `normalize` - Auto-enhance contrast and brightness
214
+ - `linear` - Apply linear formula: output = (a \* input) + b
215
+ - `recomb` - Recombine RGB channels using matrix
216
+ - `flatten` - Remove alpha transparency with background color
217
+ - `unflatten` - Add alpha channel (RGB→RGBA)
142
218
 
143
- **@mediaproc/image Plugin** - 40 professional image processing commands
144
- - **Transform** (7): resize, crop, rotate, flip, trim, extend, thumbnail
145
- - **Color & Tone** (6): modulate, gamma, tint, grayscale, negate, normalize
146
- - **Effects & Filters** (6): blur, sharpen, median, sepia, vignette, pixelate
147
- - **Advanced Operations** (5): composite, extract, border, clahe, convolve
148
- - **Smart/AI Operations** (6): smart-crop, auto-enhance, palette, dominant-color, grid, batch
149
- - **Utility** (10): convert, optimize, compress, watermark, info, stats, split, stack, mirror, metadata
150
- - Full documentation with 200+ examples and 10 real-world workflows
219
+ **Effects & Filters** (9 commands)
220
+
221
+ - `blur` - Gaussian blur (0.3-1000 sigma)
222
+ - `sharpen` - Enhance details and edges (flat/jagged modes)
223
+ - `median` - Noise reduction filter (1-50 size)
224
+ - `sepia` - Vintage sepia tone effect
225
+ - `vignette` - Darken edges for artistic focus
226
+ - `pixelate` - Retro pixel art effect (custom pixel size)
227
+ - `threshold` - Binary black/white conversion (0-255)
228
+ - `dilate` - Morphological dilation (expand bright regions)
229
+ - `erode` - Morphological erosion (expand dark regions)
230
+
231
+ **Advanced Operations** (6 commands)
232
+
233
+ - `composite` - Layer images with blend modes (overlay, multiply, screen)
234
+ - `extract` - Extract color channels (red, green, blue, alpha)
235
+ - `border` - Add decorative frames with custom colors
236
+ - `clahe` - Contrast-limited adaptive histogram equalization
237
+ - `convolve` - Apply custom convolution kernels (sharpen, emboss, edge)
238
+ - `boolean` - Perform boolean operations between images (AND, OR, XOR)
239
+
240
+ **Smart/AI Operations** (6 commands)
241
+
242
+ - `smart-crop` - Intelligent content-aware cropping (attention/entropy)
243
+ - `auto-enhance` - Automatic color and contrast enhancement
244
+ - `palette` - Extract dominant color palettes (2-256 colors)
245
+ - `dominant-color` - Quick dominant color extraction
246
+ - `grid` - Combine images into collage layouts
247
+ - `batch` - Process multiple images at once with any operation
248
+
249
+ **Utility** (10 commands)
250
+
251
+ - `convert` - Format conversion (JPG, PNG, WebP, AVIF, TIFF, GIF)
252
+ - `optimize` - Size optimization (up to 70% reduction, lossless/lossy)
253
+ - `compress` - Advanced compression with quality control
254
+ - `watermark` - Add watermarks with positioning and opacity
255
+ - `info` - Display detailed image metadata
256
+ - `stats` - Technical image statistics (channels, depth, color space)
257
+ - `split` - Split image into grid tiles
258
+ - `stack` - Stack images horizontally/vertically
259
+ - `mirror` - Create mirror/kaleidoscope effects
260
+ - `metadata` - View, export, or remove EXIF data
261
+
262
+ **Format Support:**
263
+
264
+ - Input: JPG, PNG, WebP, AVIF, TIFF, GIF, SVG, HEIF
265
+ - Output: JPG, PNG, WebP, AVIF, TIFF, GIF
266
+ - Modern formats: WebP (25-35% smaller), AVIF (50% smaller)
267
+
268
+ **Professional Features:**
269
+
270
+ - Quality control (1-100)
271
+ - Dry-run mode (preview before executing)
272
+ - Verbose logging
273
+ - Built-in help for every command
274
+ - Comprehensive error handling
275
+ - File size reporting
151
276
 
152
277
  ✅ **Architecture** - Plugin system designed and implemented
153
278
  ✅ **Core CLI** - Command framework with plugin discovery
@@ -183,7 +308,7 @@ See [Upcoming Features](docs/upcoming-features.md) for detailed roadmap.
183
308
 
184
309
  MediaProc ships with essential plugins pre-installed, giving you immediate productivity:
185
310
 
186
- - **@mediaproc/image** - Professional image processing (19 commands)
311
+ - **@mediaproc/image** - Professional image processing (40 commands)
187
312
  - Resize, crop, rotate, flip, convert formats
188
313
  - Filters: blur, sharpen, tint, grayscale, median
189
314
  - Color adjustments: modulate, gamma, normalize
@@ -233,7 +358,7 @@ npm install -g @mediaproc/image
233
358
  mediaproc-image resize photo.jpg -w 1920
234
359
  ```
235
360
 
236
- ### Current Features (v0.1.0)
361
+ ### Current Features (v0.2.0)
237
362
 
238
363
  #### Core CLI
239
364
 
@@ -512,12 +637,73 @@ _Coming soon: Browse community plugins at https://plugins.mediaproc.dev_
512
637
 
513
638
  ---
514
639
 
515
- ## 📚 Documentation
640
+ ## Plugin Terminology
641
+
642
+ ### Important: No Plugins Are Pre-Installed!
643
+
644
+ MediaProc CLI is lightweight and contains **NO plugin code**. All plugins must be explicitly installed.
645
+
646
+ ### Plugin Types
647
+
648
+ 1. **Official Plugins** (`@mediaproc/*`) - Maintained by MediaProc team
649
+ - Example: `@mediaproc/image`, `@mediaproc/video`
650
+ - High quality, regularly updated
651
+ - Install: `mediaproc add image`
652
+
653
+ 2. **Community Plugins** (`mediaproc-*`) - Community-maintained
654
+ - Example: `mediaproc-custom-filter`
655
+ - Follow community standards
656
+ - Install: `mediaproc add mediaproc-custom-filter`
657
+
658
+ 3. **Third-Party Plugins** - Any compatible npm package
659
+ - No naming convention required
660
+ - Must implement MediaProc plugin interface
661
+ - Install: `mediaproc add package-name`
662
+
663
+ ### Quick Reference
664
+
665
+ ```bash
666
+ # Install CLI (no plugins included)
667
+ npm install -g @mediaproc/cli
668
+
669
+ # Browse available plugins
670
+ mediaproc plugins
671
+
672
+ # Install official plugins
673
+ mediaproc add image # Image processing
674
+ mediaproc add video # Video processing
675
+
676
+ # Check what's installed
677
+ mediaproc list
678
+
679
+ # Use installed plugins
680
+ mediaproc image resize photo.jpg -w 800
681
+ ```
682
+
683
+ **📘 Full Guide:** See [Plugin Terminology Guide](docs/plugin-terminology.md) for detailed explanations.
684
+
685
+ ---
686
+
687
+ ## �📚 Documentation
516
688
 
517
689
  Comprehensive documentation is available in the [docs/](docs/) folder:
518
690
 
519
691
  ### Core Documentation
520
692
 
693
+ - **[Plugin Terminology](docs/plugin-terminology.md)** - **START HERE!** Clear definitions and common misconceptions
694
+
695
+ - Official vs Community vs Third-Party plugins
696
+ - No plugins are pre-installed (explained)
697
+ - Installation workflow and plugin states
698
+ - Best practices and FAQ
699
+
700
+ - **[Plugin Architecture](docs/plugin-architecture.md)** - How the plugin system works
701
+
702
+ - On-demand loading architecture
703
+ - Plugin discovery and lifecycle
704
+ - Why no auto-loading
705
+ - Technical implementation
706
+
521
707
  - **[Plugin System](docs/plugin-system.md)** - Complete guide to the plugin architecture
522
708
 
523
709
  - How plugins work
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/plugin-manager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { describe, test, expect } from '@jest/globals';
2
+ describe('Plugin Manager', () => {
3
+ test('placeholder test', () => {
4
+ expect(true).toBe(true);
5
+ });
6
+ });
7
+ //# sourceMappingURL=plugin-manager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.test.js","sourceRoot":"","sources":["../../src/__tests__/plugin-manager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA4BA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCzC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAkCA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCzC"}
package/dist/cli.js CHANGED
@@ -5,9 +5,11 @@ import { readFileSync } from 'fs';
5
5
  import { join, dirname } from 'path';
6
6
  import { fileURLToPath } from 'url';
7
7
  import { PluginManager } from './plugin-manager.js';
8
+ import { ConfigManager } from './config-manager.js';
8
9
  import { addCommand } from './commands/add.js';
9
10
  import { removeCommand } from './commands/remove.js';
10
11
  import { listCommand } from './commands/list.js';
12
+ import { pluginsCommand } from './commands/plugins.js';
11
13
  import { helpCommand } from './commands/help.js';
12
14
  import { initCommand } from './commands/init.js';
13
15
  import { configCommand } from './commands/config.js';
@@ -18,6 +20,9 @@ import { infoCommand } from './commands/info.js';
18
20
  import { optimizeCommand } from './commands/optimize.js';
19
21
  const program = new Command();
20
22
  const pluginManager = new PluginManager();
23
+ // Initialize config on startup (creates default if not exists)
24
+ const configManager = new ConfigManager();
25
+ configManager.load();
21
26
  // Get version from package.json
22
27
  const __filename = fileURLToPath(import.meta.url);
23
28
  const __dirname = dirname(__filename);
@@ -31,25 +36,21 @@ export async function cli() {
31
36
  addCommand(program, pluginManager);
32
37
  removeCommand(program, pluginManager);
33
38
  listCommand(program, pluginManager);
39
+ pluginsCommand(program, pluginManager);
34
40
  helpCommand(program);
35
41
  // Project management commands
36
42
  initCommand(program);
37
43
  configCommand(program);
38
- // Universal commands (work without plugins)
39
- convertCommand(program);
40
- infoCommand(program);
41
- optimizeCommand(program);
44
+ // Universal commands (auto-install plugins if needed)
45
+ convertCommand(program, pluginManager);
46
+ infoCommand(program, pluginManager);
47
+ optimizeCommand(program, pluginManager);
42
48
  // Utility commands
43
49
  runCommand(program);
44
50
  validateCommand(program);
45
- // Load and register all installed plugins
46
- try {
47
- await pluginManager.loadPlugins(program);
48
- }
49
- catch (error) {
50
- const errorMessage = error instanceof Error ? error.message : String(error);
51
- console.error(chalk.red('Error loading plugins:'), errorMessage);
52
- }
51
+ // Plugins are NOT loaded at startup
52
+ // Users must explicitly install plugins using: mediaproc add <plugin>
53
+ // This gives users full control over which plugins they want
53
54
  // Parse arguments
54
55
  program.parse(process.argv);
55
56
  // Show help if no command provided
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2B1D,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAiJ/E"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAwC1D,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAmN/E"}
@@ -1,28 +1,40 @@
1
1
  import chalk from 'chalk';
2
2
  import ora from 'ora';
3
3
  import { execa } from 'execa';
4
- import { join } from 'path';
5
- import { resolvePluginPackage, PLUGIN_REGISTRY } from '../plugin-registry.js';
4
+ import { resolvePluginPackage, PLUGIN_REGISTRY, detectPluginType } from '../plugin-registry.js';
6
5
  /**
7
6
  * Detect if mediaproc core is installed globally or locally
8
7
  */
9
- function isGlobalInstall() {
10
- // Check if we're running from global node_modules
11
- const globalPaths = process.env.NODE_PATH?.split(':') || [];
8
+ async function isGlobalInstall() {
12
9
  const execPath = process.argv[1];
13
- for (const globalPath of globalPaths) {
14
- if (execPath.includes(globalPath)) {
10
+ // Check if we're running from global node_modules
11
+ if (execPath.includes('/node_modules/@mediaproc/cli') ||
12
+ execPath.includes('\\node_modules\\@mediaproc\\cli')) {
13
+ // Check if it's under a project's node_modules (local) or global
14
+ const hasLocalPackageJson = execPath.includes('/node_modules/') &&
15
+ !execPath.includes('/usr/') &&
16
+ !execPath.includes('/.nvm/') &&
17
+ !execPath.includes('/.npm-global/');
18
+ if (!hasLocalPackageJson) {
19
+ return true; // Global install
20
+ }
21
+ }
22
+ // Check npm/pnpm global root
23
+ try {
24
+ const { stdout: npmRoot } = await execa('npm', ['root', '-g'], { stdio: 'pipe' });
25
+ if (execPath.includes(npmRoot.trim())) {
26
+ return true;
27
+ }
28
+ }
29
+ catch { }
30
+ try {
31
+ const { stdout: pnpmRoot } = await execa('pnpm', ['root', '-g'], { stdio: 'pipe' });
32
+ if (execPath.includes(pnpmRoot.trim())) {
15
33
  return true;
16
34
  }
17
35
  }
18
- // Check common global installation paths
19
- const globalDirs = [
20
- '/usr/local/lib/node_modules',
21
- '/usr/lib/node_modules',
22
- join(process.env.HOME || '', '.nvm'),
23
- join(process.env.HOME || '', '.npm-global'),
24
- ];
25
- return globalDirs.some(dir => execPath.includes(dir));
36
+ catch { }
37
+ return false;
26
38
  }
27
39
  export function addCommand(program, pluginManager) {
28
40
  program
@@ -33,18 +45,55 @@ export function addCommand(program, pluginManager) {
33
45
  .option('--save-dev', 'Save as dev dependency (local only)')
34
46
  .action(async (plugin, options) => {
35
47
  try {
36
- // Resolve plugin name using registry
48
+ // Resolve plugin name using registry (official or third-party)
37
49
  const pluginName = resolvePluginPackage(plugin);
38
50
  const registryEntry = Object.values(PLUGIN_REGISTRY).find(e => e.package === pluginName);
51
+ // Check if plugin is already installed in package.json
52
+ if (pluginManager.isPluginInstalled(pluginName)) {
53
+ // Check if it's also loaded
54
+ if (pluginManager.isPluginLoaded(pluginName)) {
55
+ ora().info(chalk.blue(`Plugin ${chalk.cyan(pluginName)} is already installed and loaded`));
56
+ console.log(chalk.dim(`You can use: ${chalk.white(`mediaproc ${plugin.replace('@mediaproc/', '')} <command>`)}`));
57
+ return;
58
+ }
59
+ else {
60
+ // Installed but not loaded - load it
61
+ ora().info(chalk.blue(`Plugin ${chalk.cyan(pluginName)} is already installed, loading...`));
62
+ try {
63
+ const loaded = await pluginManager.loadPlugin(pluginName, program);
64
+ if (loaded) {
65
+ ora().succeed(chalk.green(`✓ Plugin ${pluginName} loaded successfully`));
66
+ console.log(chalk.dim(`You can now use: ${chalk.white(`mediaproc ${plugin.replace('@mediaproc/', '')} <command>`)}`));
67
+ }
68
+ }
69
+ catch (loadError) {
70
+ ora().fail(chalk.yellow(`Plugin installed but failed to load. Try restarting the CLI.`));
71
+ }
72
+ return;
73
+ }
74
+ }
39
75
  const spinner = ora(`Installing ${chalk.cyan(pluginName)}...`).start();
76
+ // Detect plugin type
77
+ const pluginType = detectPluginType(pluginName);
78
+ const typeLabel = pluginType === 'official' ? chalk.blue('★ OFFICIAL')
79
+ : pluginType === 'community' ? chalk.green('🌐 COMMUNITY')
80
+ : chalk.yellow('📦 THIRD-PARTY');
40
81
  // Show plugin info
41
82
  if (registryEntry) {
83
+ spinner.info(chalk.dim(`Type: ${typeLabel}`));
42
84
  spinner.info(chalk.dim(`Description: ${registryEntry.description}`));
43
85
  if (registryEntry.systemRequirements && registryEntry.systemRequirements.length > 0) {
44
86
  spinner.info(chalk.yellow(`System requirements: ${registryEntry.systemRequirements.join(', ')}`));
45
87
  }
46
- spinner.start(`Installing ${chalk.cyan(pluginName)}...`);
47
88
  }
89
+ else {
90
+ // Not in registry - show type
91
+ spinner.info(chalk.dim(`Type: ${typeLabel}`));
92
+ if (pluginType === 'third-party') {
93
+ spinner.info(chalk.yellow(`Warning: Third-party plugin not in official registry`));
94
+ }
95
+ }
96
+ spinner.start(`Installing ${chalk.cyan(pluginName)}...`);
48
97
  // Determine installation scope
49
98
  let installGlobally = false;
50
99
  if (options.global) {
@@ -55,7 +104,7 @@ export function addCommand(program, pluginManager) {
55
104
  }
56
105
  else {
57
106
  // Auto-detect based on how core was installed
58
- installGlobally = isGlobalInstall();
107
+ installGlobally = await isGlobalInstall();
59
108
  }
60
109
  // Determine package manager (prefer pnpm, fallback to npm)
61
110
  let packageManager = 'pnpm';
@@ -68,45 +117,65 @@ export function addCommand(program, pluginManager) {
68
117
  // Build install command
69
118
  const args = [];
70
119
  if (packageManager === 'pnpm') {
71
- args.push(installGlobally ? 'add' : 'add');
72
- if (installGlobally)
120
+ args.push('add');
121
+ if (installGlobally) {
73
122
  args.push('-g');
74
- if (options.saveDev)
123
+ }
124
+ else if (options.saveDev) {
75
125
  args.push('-D');
126
+ }
76
127
  }
77
128
  else {
78
129
  args.push('install');
79
- if (installGlobally)
130
+ if (installGlobally) {
80
131
  args.push('-g');
81
- if (options.saveDev)
132
+ }
133
+ else if (options.saveDev) {
82
134
  args.push('--save-dev');
135
+ }
83
136
  }
84
137
  args.push(pluginName);
85
138
  // Execute installation
86
- await execa(packageManager, args, {
139
+ const installOptions = {
87
140
  stdio: 'pipe',
88
- cwd: installGlobally ? undefined : process.cwd(),
89
- });
141
+ };
142
+ // Only set cwd for local installs
143
+ if (!installGlobally) {
144
+ installOptions.cwd = process.cwd();
145
+ }
146
+ await execa(packageManager, args, installOptions);
90
147
  spinner.succeed(chalk.green(`✓ Successfully installed ${pluginName}`));
148
+ // Update config to mark as installed
149
+ const configManager = pluginManager.getConfigManager();
150
+ configManager.addInstalledPlugin(pluginName);
91
151
  const scope = installGlobally ? 'globally' : 'locally';
92
152
  console.log(chalk.dim(`\nInstalled ${scope} using ${packageManager}`));
93
- // Try to load the plugin immediately if installed locally
94
- if (!installGlobally) {
95
- try {
96
- const loadSpinner = ora('Loading plugin...').start();
97
- const loaded = await pluginManager.loadPlugin(pluginName, program);
98
- if (loaded) {
99
- loadSpinner.succeed(chalk.green('Plugin loaded and ready to use'));
100
- }
101
- else {
102
- loadSpinner.info(chalk.yellow('Plugin installed but requires restart to use'));
153
+ // Configure and load the plugin
154
+ try {
155
+ const loadSpinner = ora('Configuring plugin...').start();
156
+ // Try to load the plugin to verify it works
157
+ const loaded = await pluginManager.loadPlugin(pluginName, program);
158
+ if (loaded) {
159
+ loadSpinner.succeed(chalk.green('Plugin configured and ready to use'));
160
+ // Verify plugin commands are available
161
+ const pluginInstance = pluginManager.getPlugin(pluginName);
162
+ if (pluginInstance) {
163
+ const commandCount = program.commands.filter(cmd => cmd.name().startsWith(plugin.replace('@mediaproc/', ''))).length;
164
+ if (commandCount > 0) {
165
+ console.log(chalk.green(`✓ Registered ${commandCount} commands`));
166
+ }
103
167
  }
104
168
  }
105
- catch (loadError) {
106
- // Not critical if loading fails - user can restart CLI
107
- console.log(chalk.yellow('Note: Restart the CLI to use the new plugin'));
169
+ else {
170
+ loadSpinner.warn(chalk.yellow('Plugin installed but requires CLI restart to use'));
171
+ console.log(chalk.dim('Run your command again to use the plugin'));
108
172
  }
109
173
  }
174
+ catch (loadError) {
175
+ const errorMsg = loadError instanceof Error ? loadError.message : String(loadError);
176
+ console.log(chalk.yellow(`⚠ Plugin installed but configuration failed: ${errorMsg}`));
177
+ console.log(chalk.dim(`Restart the CLI to use the plugin ${installGlobally ? '(global install)' : '(local install)'}`));
178
+ }
110
179
  console.log(chalk.dim(`You can now use: ${chalk.white(`mediaproc ${plugin.replace('@mediaproc/', '')} <command>`)}`));
111
180
  // Show example commands
112
181
  if (registryEntry) {
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmEpD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmHpD"}