@mediaproc/cli 0.1.0 → 0.3.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.
- package/README.md +381 -54
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +24 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +108 -39
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +86 -27
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/convert.d.ts +7 -0
- package/dist/commands/convert.d.ts.map +1 -0
- package/dist/commands/convert.js +96 -0
- package/dist/commands/convert.js.map +1 -0
- package/dist/commands/help.js +2 -2
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/info.d.ts +7 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +117 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +25 -47
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +90 -17
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/optimize.d.ts +7 -0
- package/dist/commands/optimize.d.ts.map +1 -0
- package/dist/commands/optimize.js +196 -0
- package/dist/commands/optimize.js.map +1 -0
- package/dist/commands/plugins.d.ts +4 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +79 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +92 -11
- package/dist/commands/remove.js.map +1 -1
- package/dist/config-manager.d.ts +110 -0
- package/dist/config-manager.d.ts.map +1 -0
- package/dist/config-manager.js +201 -0
- package/dist/config-manager.js.map +1 -0
- package/dist/plugin-manager.d.ts +31 -7
- package/dist/plugin-manager.d.ts.map +1 -1
- package/dist/plugin-manager.js +75 -44
- package/dist/plugin-manager.js.map +1 -1
- package/dist/plugin-registry.d.ts +9 -0
- package/dist/plugin-registry.d.ts.map +1 -1
- package/dist/plugin-registry.js +41 -6
- package/dist/plugin-registry.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/commands/add.js
CHANGED
|
@@ -1,28 +1,40 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import { execa } from 'execa';
|
|
4
|
-
import {
|
|
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
19
|
-
|
|
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(
|
|
72
|
-
if (installGlobally)
|
|
120
|
+
args.push('add');
|
|
121
|
+
if (installGlobally) {
|
|
73
122
|
args.push('-g');
|
|
74
|
-
|
|
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
|
-
|
|
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
|
-
|
|
139
|
+
const installOptions = {
|
|
87
140
|
stdio: 'pipe',
|
|
88
|
-
|
|
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
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
console.log(chalk.
|
|
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) {
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGhG;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjC,kDAAkD;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACnD,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACvD,iEAAiE;QACjE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC7D,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,CAAC,iBAAiB;QAChC,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,aAA4B;IACvE,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,2BAA2B,CAAC;SACnD,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,qCAAqC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAiE,EAAE,EAAE;QAClG,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;YAEzF,uDAAuD;YACvD,IAAI,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,4BAA4B;gBAC5B,IAAI,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7C,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,CAAC;oBAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClH,OAAO;gBACT,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACnE,IAAI,MAAM,EAAE,CAAC;4BACX,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,UAAU,sBAAsB,CAAC,CAAC,CAAC;4BACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxH,CAAC;oBACH,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC,CAAC;oBAC3F,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,qBAAqB;YACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;gBACpE,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;oBACxD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAErC,mBAAmB;YACnB,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEzD,+BAA+B;YAC/B,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,eAAe,GAAG,MAAM,eAAe,EAAE,CAAC;YAC5C,CAAC;YAED,2DAA2D;YAC3D,IAAI,cAAc,GAAG,MAAM,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtB,uBAAuB;YACvB,MAAM,cAAc,GAAQ;gBAC1B,KAAK,EAAE,MAAM;aACd,CAAC;YAEF,kCAAkC;YAClC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAElD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC,CAAC;YAEvE,qCAAqC;YACrC,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACvD,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE7C,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,UAAU,cAAc,EAAE,CAAC,CAAC,CAAC;YAEvE,gCAAgC;YAChC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;gBAEzD,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEnE,IAAI,MAAM,EAAE,CAAC;oBACX,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;oBAEzE,uCAAuC;oBACvC,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC3D,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjD,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CACzD,CAAC,MAAM,CAAC;wBACT,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;4BACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,YAAY,WAAW,CAAC,CAAC,CAAC;wBACpE,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;oBACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAEtH,wBAAwB;YACxB,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;gBAErC,kCAAkC;gBAClC,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC9B,KAAK,kBAAkB;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,0BAA0B,CAAC,CAAC,CAAC;wBAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,kCAAkC,CAAC,CAAC,CAAC;wBACnF,MAAM;oBACR,KAAK,kBAAkB;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,oCAAoC,CAAC,CAAC,CAAC;wBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,mCAAmC,CAAC,CAAC,CAAC;wBACpF,MAAM;oBACR,KAAK,kBAAkB;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,gCAAgC,CAAC,CAAC,CAAC;wBACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,sBAAsB,CAAC,CAAC,CAAC;wBACvE,MAAM;oBACR,KAAK,qBAAqB;wBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,sCAAsC,CAAC,CAAC,CAAC;wBACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,kBAAkB,CAAC,CAAC,CAAC;wBACnE,MAAM;oBACR,KAAK,sBAAsB;wBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,4BAA4B,CAAC,CAAC,CAAC;wBAC7E,MAAM;oBACR,KAAK,eAAe;wBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,qBAAqB,CAAC,CAAC,CAAC;wBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,qBAAqB,CAAC,CAAC,CAAC;wBACtE,MAAM;oBACR,KAAK,qBAAqB;wBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,oBAAoB,CAAC,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,2BAA2B,CAAC,CAAC,CAAC;wBAC5E,MAAM;oBACR,KAAK,mBAAmB;wBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,uBAAuB,CAAC,CAAC,CAAC;wBACxE,MAAM;oBACR,KAAK,eAAe;wBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,uBAAuB,CAAC,CAAC,CAAC;wBACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,oBAAoB,CAAC,CAAC,CAAC;wBACrE,MAAM;oBACR,KAAK,qBAAqB;wBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,oBAAoB,CAAC,CAAC,CAAC;wBACrE,MAAM;gBACV,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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;
|
|
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"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,50 +1,109 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
3
|
-
import { join } from 'path';
|
|
2
|
+
import { ConfigManager } from '../config-manager.js';
|
|
4
3
|
export function configCommand(program) {
|
|
5
4
|
const configCmd = program
|
|
6
5
|
.command('config')
|
|
7
|
-
.description('Manage
|
|
6
|
+
.description('Manage MediaProc configuration');
|
|
8
7
|
configCmd
|
|
9
8
|
.command('show')
|
|
10
9
|
.description('Show current configuration')
|
|
11
10
|
.action(() => {
|
|
12
|
-
const
|
|
13
|
-
if (!
|
|
14
|
-
console.log(chalk.yellow('No config file found. Run: mediaproc init'));
|
|
11
|
+
const configManager = new ConfigManager();
|
|
12
|
+
if (!configManager.exists()) {
|
|
13
|
+
console.log(chalk.yellow('No config file found. Run: ') + chalk.cyan('mediaproc init'));
|
|
15
14
|
return;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
try {
|
|
17
|
+
const config = configManager.get();
|
|
18
|
+
const configPath = ConfigManager.getConfigPath();
|
|
19
|
+
console.log('');
|
|
20
|
+
console.log(chalk.bold('MediaProc Configuration'));
|
|
21
|
+
console.log(chalk.dim(`Location: ${configPath}`));
|
|
22
|
+
console.log(chalk.dim('─'.repeat(50)));
|
|
23
|
+
console.log('');
|
|
24
|
+
console.log(chalk.cyan('Version: ') + config.version);
|
|
25
|
+
console.log(chalk.cyan('Last Updated: ') + (config.lastUpdated ? new Date(config.lastUpdated).toLocaleString() : 'Never'));
|
|
26
|
+
console.log('');
|
|
27
|
+
console.log(chalk.bold('Installed Plugins:'));
|
|
28
|
+
if (config.installedPlugins.length === 0) {
|
|
29
|
+
console.log(chalk.dim(' (none)'));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
config.installedPlugins.forEach(p => {
|
|
33
|
+
const isLoaded = config.loadedPlugins.includes(p);
|
|
34
|
+
const status = isLoaded ? chalk.green('✓ loaded') : chalk.yellow('not loaded');
|
|
35
|
+
console.log(` ${p} ${chalk.dim(`[${status}${chalk.dim(']')}`)}`);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
console.log('');
|
|
39
|
+
if (config.defaults && Object.keys(config.defaults).length > 0) {
|
|
40
|
+
console.log(chalk.bold('Defaults:'));
|
|
41
|
+
console.log(JSON.stringify(config.defaults, null, 2));
|
|
42
|
+
console.log('');
|
|
43
|
+
}
|
|
44
|
+
if (config.pipelines && Object.keys(config.pipelines).length > 0) {
|
|
45
|
+
console.log(chalk.bold('Pipelines:'));
|
|
46
|
+
console.log(JSON.stringify(config.pipelines, null, 2));
|
|
47
|
+
console.log('');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error(chalk.red('✗ Failed to read config file'));
|
|
52
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
53
|
+
console.error(chalk.dim(errorMessage));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
20
56
|
});
|
|
21
57
|
configCmd
|
|
22
58
|
.command('set <key> <value>')
|
|
23
59
|
.description('Set a configuration value')
|
|
24
60
|
.action((key, value) => {
|
|
25
|
-
const
|
|
26
|
-
if (!
|
|
27
|
-
console.log(chalk.yellow('No config file found. Run: mediaproc init'));
|
|
61
|
+
const configManager = new ConfigManager();
|
|
62
|
+
if (!configManager.exists()) {
|
|
63
|
+
console.log(chalk.yellow('No config file found. Run: ') + chalk.cyan('mediaproc init'));
|
|
28
64
|
return;
|
|
29
65
|
}
|
|
30
|
-
const config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
31
|
-
// Simple dot notation support
|
|
32
|
-
const keys = key.split('.');
|
|
33
|
-
let current = config;
|
|
34
|
-
for (let i = 0; i < keys.length - 1; i++) {
|
|
35
|
-
if (!current[keys[i]])
|
|
36
|
-
current[keys[i]] = {};
|
|
37
|
-
current = current[keys[i]];
|
|
38
|
-
}
|
|
39
|
-
// Try to parse value as JSON, fallback to string
|
|
40
66
|
try {
|
|
41
|
-
|
|
67
|
+
// Try to parse value as JSON, fallback to string
|
|
68
|
+
let parsedValue;
|
|
69
|
+
try {
|
|
70
|
+
parsedValue = JSON.parse(value);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
parsedValue = value;
|
|
74
|
+
}
|
|
75
|
+
configManager.set(key, parsedValue);
|
|
76
|
+
console.log(chalk.green(`✓ Set ${key} = ${JSON.stringify(parsedValue)}`));
|
|
42
77
|
}
|
|
43
|
-
catch {
|
|
44
|
-
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(chalk.red('✗ Failed to update config'));
|
|
80
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
81
|
+
console.error(chalk.dim(errorMessage));
|
|
82
|
+
process.exit(1);
|
|
45
83
|
}
|
|
46
|
-
|
|
47
|
-
|
|
84
|
+
});
|
|
85
|
+
configCmd
|
|
86
|
+
.command('get <key>')
|
|
87
|
+
.description('Get a configuration value')
|
|
88
|
+
.action((key) => {
|
|
89
|
+
const configManager = new ConfigManager();
|
|
90
|
+
if (!configManager.exists()) {
|
|
91
|
+
console.log(chalk.yellow('No config file found. Run: ') + chalk.cyan('mediaproc init'));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const value = configManager.getValue(key);
|
|
95
|
+
if (value === undefined) {
|
|
96
|
+
console.log(chalk.yellow(`Key '${key}' not found in config`));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log(JSON.stringify(value, null, 2));
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
configCmd
|
|
103
|
+
.command('path')
|
|
104
|
+
.description('Show configuration file path')
|
|
105
|
+
.action(() => {
|
|
106
|
+
console.log(ConfigManager.getConfigPath());
|
|
48
107
|
});
|
|
49
108
|
}
|
|
50
109
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import type { PluginManager } from '../plugin-manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* Universal file conversion command - shows suggestions based on detected file type
|
|
5
|
+
*/
|
|
6
|
+
export declare function convertCommand(program: Command, pluginManager?: PluginManager): void;
|
|
7
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAyFpF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { existsSync } from 'fs';
|
|
3
|
+
import { extname } from 'path';
|
|
4
|
+
/**
|
|
5
|
+
* Universal file conversion command - shows suggestions based on detected file type
|
|
6
|
+
*/
|
|
7
|
+
export function convertCommand(program, pluginManager) {
|
|
8
|
+
program
|
|
9
|
+
.command('convert <input> <output>')
|
|
10
|
+
.description('Universal file conversion - auto-detects and converts between formats')
|
|
11
|
+
.option('-q, --quality <number>', 'Output quality (for lossy formats)', '85')
|
|
12
|
+
.option('--preset <preset>', 'Conversion preset (fast, balanced, quality)')
|
|
13
|
+
.option('-v, --verbose', 'Verbose output')
|
|
14
|
+
.action((input, output, options) => {
|
|
15
|
+
if (!existsSync(input)) {
|
|
16
|
+
console.error(chalk.red(`✗ Input file not found: ${input}`));
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
const inputExt = extname(input).toLowerCase().slice(1);
|
|
20
|
+
const outputExt = extname(output).toLowerCase().slice(1);
|
|
21
|
+
// Detect media type and suggest appropriate plugin
|
|
22
|
+
const imageExts = ['jpg', 'jpeg', 'png', 'webp', 'gif', 'bmp', 'tiff', 'avif', 'heif'];
|
|
23
|
+
const videoExts = ['mp4', 'webm', 'mkv', 'avi', 'mov', 'flv', 'wmv', 'm4v'];
|
|
24
|
+
const audioExts = ['mp3', 'wav', 'ogg', 'flac', 'aac', 'm4a', 'wma', 'opus'];
|
|
25
|
+
const documentExts = ['pdf', 'docx', 'pptx', 'txt', 'md'];
|
|
26
|
+
const modelExts = ['gltf', 'glb', 'obj', 'fbx'];
|
|
27
|
+
let pluginName = '';
|
|
28
|
+
let mediaType = '';
|
|
29
|
+
let suggestedCommand = '';
|
|
30
|
+
if (imageExts.includes(inputExt)) {
|
|
31
|
+
pluginName = 'image';
|
|
32
|
+
mediaType = 'Image';
|
|
33
|
+
suggestedCommand = `mediaproc image convert ${input} ${output}`;
|
|
34
|
+
if (options.quality) {
|
|
35
|
+
suggestedCommand += ` --quality ${options.quality}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else if (videoExts.includes(inputExt)) {
|
|
39
|
+
pluginName = 'video';
|
|
40
|
+
mediaType = 'Video';
|
|
41
|
+
suggestedCommand = `mediaproc video convert ${input} ${output}`;
|
|
42
|
+
}
|
|
43
|
+
else if (audioExts.includes(inputExt)) {
|
|
44
|
+
pluginName = 'audio';
|
|
45
|
+
mediaType = 'Audio';
|
|
46
|
+
suggestedCommand = `mediaproc audio convert ${input} ${output}`;
|
|
47
|
+
}
|
|
48
|
+
else if (documentExts.includes(inputExt)) {
|
|
49
|
+
pluginName = 'document';
|
|
50
|
+
mediaType = 'Document';
|
|
51
|
+
suggestedCommand = `mediaproc document convert ${input} ${output}`;
|
|
52
|
+
}
|
|
53
|
+
else if (modelExts.includes(inputExt)) {
|
|
54
|
+
pluginName = '3d';
|
|
55
|
+
mediaType = '3D Model';
|
|
56
|
+
suggestedCommand = `mediaproc 3d convert ${input} ${output}`;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.error(chalk.red(`✗ Unsupported input format: .${inputExt}`));
|
|
60
|
+
console.log(chalk.yellow('\n💡 Supported formats:'));
|
|
61
|
+
console.log(chalk.dim(' Images: jpg, png, webp, gif, bmp, tiff, avif, heif'));
|
|
62
|
+
console.log(chalk.dim(' Videos: mp4, webm, mkv, avi, mov, flv, wmv'));
|
|
63
|
+
console.log(chalk.dim(' Audio: mp3, wav, ogg, flac, aac, m4a, wma, opus'));
|
|
64
|
+
console.log(chalk.dim(' Documents: pdf, docx, pptx, txt, md'));
|
|
65
|
+
console.log(chalk.dim(' 3D Models: gltf, glb, obj, fbx'));
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
console.log('');
|
|
69
|
+
console.log(chalk.blue(`🔄 ${mediaType} Conversion`));
|
|
70
|
+
console.log(chalk.dim('─'.repeat(50)));
|
|
71
|
+
console.log(chalk.cyan('Input: ') + input + chalk.dim(` (.${inputExt})`));
|
|
72
|
+
console.log(chalk.cyan('Output: ') + output + chalk.dim(` (.${outputExt})`));
|
|
73
|
+
console.log(chalk.cyan('Plugin: ') + chalk.yellow(pluginName));
|
|
74
|
+
console.log('');
|
|
75
|
+
// Check plugin status
|
|
76
|
+
const pluginPackage = `@mediaproc/${pluginName}`;
|
|
77
|
+
const isLoaded = pluginManager?.isPluginLoaded(pluginPackage);
|
|
78
|
+
const isInstalled = pluginManager?.isPluginInstalled(pluginPackage);
|
|
79
|
+
console.log(chalk.yellow('💡 Suggested command:'));
|
|
80
|
+
console.log(chalk.cyan(` ${suggestedCommand}`));
|
|
81
|
+
console.log('');
|
|
82
|
+
if (isLoaded) {
|
|
83
|
+
console.log(chalk.green(`✓ ${pluginName} plugin is loaded - command is ready`));
|
|
84
|
+
}
|
|
85
|
+
else if (isInstalled) {
|
|
86
|
+
console.log(chalk.yellow(`⚠️ ${pluginName} plugin is installed but not loaded`));
|
|
87
|
+
console.log(chalk.dim(` Load it: ${chalk.cyan(`mediaproc add ${pluginName}`)}`));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
console.log(chalk.red(`✗ ${pluginName} plugin not installed`));
|
|
91
|
+
console.log(chalk.dim(` Install: ${chalk.cyan(`mediaproc add ${pluginName}`)}`));
|
|
92
|
+
}
|
|
93
|
+
console.log('');
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/help.js
CHANGED
|
@@ -2,8 +2,8 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { getPluginsByCategory } from '../plugin-registry.js';
|
|
3
3
|
export function helpCommand(program) {
|
|
4
4
|
program
|
|
5
|
-
.command('
|
|
6
|
-
.description('Show
|
|
5
|
+
.command('help')
|
|
6
|
+
.description('Show plugin registry and installation guide')
|
|
7
7
|
.action(() => {
|
|
8
8
|
console.log(chalk.bold('\n📦 MediaProc Plugin Registry\n'));
|
|
9
9
|
const grouped = getPluginsByCategory();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import type { PluginManager } from '../plugin-manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* Universal info command - shows basic file information and suggests plugin for detailed info
|
|
5
|
+
*/
|
|
6
|
+
export declare function infoCommand(program: Command, pluginManager?: PluginManager): void;
|
|
7
|
+
//# sourceMappingURL=info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CA6GjF"}
|