@mediaproc/image 1.4.6 → 1.4.8

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 (45) hide show
  1. package/dist/commands/watermark.d.ts.map +1 -1
  2. package/dist/commands/watermark.js +23 -20
  3. package/dist/commands/watermark.js.map +1 -1
  4. package/dist/register.js +1 -1
  5. package/package.json +6 -6
  6. package/dist/commands/auto-enhance.d.ts +0 -3
  7. package/dist/commands/auto-enhance.d.ts.map +0 -1
  8. package/dist/commands/auto-enhance.js +0 -172
  9. package/dist/commands/auto-enhance.js.map +0 -1
  10. package/dist/commands/auto-orient.d.ts +0 -3
  11. package/dist/commands/auto-orient.d.ts.map +0 -1
  12. package/dist/commands/auto-orient.js +0 -131
  13. package/dist/commands/auto-orient.js.map +0 -1
  14. package/dist/commands/grid.d.ts +0 -3
  15. package/dist/commands/grid.d.ts.map +0 -1
  16. package/dist/commands/grid.js +0 -230
  17. package/dist/commands/grid.js.map +0 -1
  18. package/dist/commands/smart-crop.d.ts +0 -3
  19. package/dist/commands/smart-crop.d.ts.map +0 -1
  20. package/dist/commands/smart-crop.js +0 -158
  21. package/dist/commands/smart-crop.js.map +0 -1
  22. package/dist/commands/stack.d.ts +0 -3
  23. package/dist/commands/stack.d.ts.map +0 -1
  24. package/dist/commands/stack.js +0 -242
  25. package/dist/commands/stack.js.map +0 -1
  26. package/dist/utils/branding.d.ts +0 -6
  27. package/dist/utils/branding.d.ts.map +0 -1
  28. package/dist/utils/branding.js +0 -45
  29. package/dist/utils/branding.js.map +0 -1
  30. package/dist/utils/colorUtils.d.ts +0 -7
  31. package/dist/utils/colorUtils.d.ts.map +0 -1
  32. package/dist/utils/colorUtils.js +0 -82
  33. package/dist/utils/colorUtils.js.map +0 -1
  34. package/dist/utils/explainFormatter.d.ts +0 -2
  35. package/dist/utils/explainFormatter.d.ts.map +0 -1
  36. package/dist/utils/explainFormatter.js +0 -4
  37. package/dist/utils/explainFormatter.js.map +0 -1
  38. package/dist/utils/helpFormatter.d.ts +0 -63
  39. package/dist/utils/helpFormatter.d.ts.map +0 -1
  40. package/dist/utils/helpFormatter.js +0 -171
  41. package/dist/utils/helpFormatter.js.map +0 -1
  42. package/dist/utils/pathValidator.d.ts +0 -48
  43. package/dist/utils/pathValidator.d.ts.map +0 -1
  44. package/dist/utils/pathValidator.js +0 -183
  45. package/dist/utils/pathValidator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"watermark.d.ts","sourceRoot":"","sources":["../../src/commands/watermark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgTxD"}
1
+ {"version":3,"file":"watermark.d.ts","sourceRoot":"","sources":["../../src/commands/watermark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAoTxD"}
@@ -6,9 +6,10 @@ import { createSharpInstance, sharp } from '../utils/sharp.js';
6
6
  import path from 'path';
7
7
  export function watermarkCommand(imageCmd) {
8
8
  imageCmd
9
- .command('watermark [input] [watermark]')
9
+ .command('watermark [input]')
10
10
  .description('Add image or text watermark to image')
11
11
  .option('-o, --output <path>', 'Output file path')
12
+ .option('-w, --watermark <value>', 'Text or image path to use as watermark')
12
13
  .option('--position <position>', 'Position: center, top-left, top-right, bottom-left, bottom-right', 'bottom-right')
13
14
  .option('--opacity <opacity>', 'Watermark opacity (0-1, default: 0.5)', parseFloat, 0.5)
14
15
  .option('--scale <scale>', 'Scale: for images (0.1-1 of width, default: 0.2), for text (multiplier, default: 1.0)', parseFloat)
@@ -20,7 +21,7 @@ export function watermarkCommand(imageCmd) {
20
21
  .option('-v, --verbose', 'Verbose output')
21
22
  .option('--explain [mode]', 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.')
22
23
  .option('--help', 'Display help for watermark command')
23
- .action(async (input, watermark, options) => {
24
+ .action(async (input, options) => {
24
25
  if (options.help || !input) {
25
26
  createStandardHelp({
26
27
  pluginName: 'image',
@@ -28,13 +29,14 @@ export function watermarkCommand(imageCmd) {
28
29
  emoji: '©️',
29
30
  description: 'Add image or text watermark to images for copyright protection, branding, or attribution. Automatically detects if watermark is a file or text.',
30
31
  usage: [
31
- 'watermark <input> <watermark>',
32
- 'watermark <input> logo.png --position center',
33
- 'watermark <input> "Powered by MediaProc" --font-size 64',
34
- 'watermark <input> "© 2026" --position bottom-right --opacity 0.7'
32
+ 'watermark <input> -w <watermark>',
33
+ 'watermark <input> -w logo.png --position center',
34
+ 'watermark <input> -w "Powered by MediaProc" --font-size 64',
35
+ 'watermark <input> -w "© 2026" --position bottom-right --opacity 0.7'
35
36
  ],
36
37
  options: [
37
38
  { flag: '-o, --output <path>', description: 'Output file path (default: <input>-watermarked.<ext>)' },
39
+ { flag: '-w, --watermark <value>', description: 'Text or image path to use as watermark' },
38
40
  { flag: '--position <position>', description: 'Position: center, top-left, top-right, bottom-left, bottom-right (default: bottom-right)' },
39
41
  { flag: '--opacity <opacity>', description: 'Watermark opacity 0-1 (default: 0.5)' },
40
42
  { flag: '--scale <scale>', description: 'Scale factor - Image: 0.1-1 of image width (default: 0.2), Text: size multiplier (default: 1.0)' },
@@ -47,11 +49,11 @@ export function watermarkCommand(imageCmd) {
47
49
  { flag: '-v, --verbose', description: 'Show detailed output' }
48
50
  ],
49
51
  examples: [
50
- { command: 'watermark photo.jpg logo.png', description: 'Add image watermark from file' },
51
- { command: 'watermark image.jpg "© 2026 Company"', description: 'Add text watermark' },
52
- { command: 'watermark pic.jpg "Powered by MediaProc" --scale 1.5', description: 'Larger text watermark (1.5x)' },
53
- { command: 'watermark photo.jpg brand.png --scale 0.3 --position top-right', description: 'Larger image watermark (30% of width)' },
54
- { command: 'watermark *.jpg "DRAFT" --font-color red --scale 2', description: 'Batch large text watermark in red' }
52
+ { command: 'watermark photo.jpg -w logo.png', description: 'Add image watermark from file' },
53
+ { command: 'watermark image.jpg -w "© 2026 Company"', description: 'Add text watermark' },
54
+ { command: 'watermark pic.jpg -w "Powered by MediaProc" --scale 1.5', description: 'Larger text watermark (1.5x)' },
55
+ { command: 'watermark photo.jpg -w brand.png --scale 0.3 --position top-right', description: 'Larger image watermark (30% of width)' },
56
+ { command: 'watermark *.jpg -w "DRAFT" --font-color red --scale 2', description: 'Batch large text watermark in red' }
55
57
  ],
56
58
  additionalSections: [
57
59
  {
@@ -81,19 +83,20 @@ export function watermarkCommand(imageCmd) {
81
83
  });
82
84
  process.exit(0);
83
85
  }
84
- if (!input || !watermark) {
85
- console.error(chalk.red('Error: both input and watermark arguments are required'));
86
+ const watermarkValue = options.watermark?.trim();
87
+ if (!input || !watermarkValue) {
88
+ console.error(chalk.red('Error: input and watermark are required (use -w, --watermark <value>)'));
86
89
  process.exit(1);
87
90
  }
88
91
  const spinner = ora('Processing image...').start();
89
92
  try {
90
93
  // Detect if watermark is a file or text
91
- const isWatermarkFile = fs.existsSync(watermark);
94
+ const isWatermarkFile = fs.existsSync(watermarkValue);
92
95
  const watermarkType = isWatermarkFile ? 'image' : 'text';
93
96
  if (options.verbose) {
94
97
  spinner.info(chalk.blue(`Watermark type: ${watermarkType}`));
95
98
  if (!isWatermarkFile) {
96
- spinner.info(chalk.dim(`Text: "${watermark}"`));
99
+ spinner.info(chalk.dim(`Text: "${watermarkValue}"`));
97
100
  }
98
101
  }
99
102
  // Validate input paths (can be multiple)
@@ -118,7 +121,7 @@ export function watermarkCommand(imageCmd) {
118
121
  spinner.info(chalk.blue('Configuration:'));
119
122
  console.log(chalk.dim(` Found ${inputFiles.length} file(s)`));
120
123
  console.log(chalk.dim(` Watermark type: ${watermarkType}`));
121
- console.log(chalk.dim(` Watermark: ${watermark}`));
124
+ console.log(chalk.dim(` Watermark: ${watermarkValue}`));
122
125
  console.log(chalk.dim(` Position: ${options.position || 'bottom-right'}`));
123
126
  console.log(chalk.dim(` Opacity: ${options.opacity || 0.5}`));
124
127
  if (watermarkType === 'image') {
@@ -136,7 +139,7 @@ export function watermarkCommand(imageCmd) {
136
139
  spinner.info(chalk.yellow('Dry run mode - no changes will be made'));
137
140
  console.log(chalk.green(`✓ Would add ${watermarkType} watermark to ${inputFiles.length} file(s):`));
138
141
  inputFiles.forEach(f => console.log(chalk.dim(` - ${f}`)));
139
- console.log(chalk.dim(` Watermark: ${watermark}`));
142
+ console.log(chalk.dim(` Watermark: ${watermarkValue}`));
140
143
  if (watermarkType === 'text') {
141
144
  console.log(chalk.dim(` Text watermark with font size: ${options.fontSize || 48}px`));
142
145
  }
@@ -160,7 +163,7 @@ export function watermarkCommand(imageCmd) {
160
163
  if (watermarkType === 'image') {
161
164
  // For image watermarks, preload the watermark
162
165
  // We'll scale it per image based on each image's dimensions
163
- watermarkBuffer = await createSharpInstance(watermark).toBuffer();
166
+ watermarkBuffer = await createSharpInstance(watermarkValue).toBuffer();
164
167
  }
165
168
  // For text watermarks, we create them dynamically per image
166
169
  // Process all files
@@ -199,7 +202,7 @@ export function watermarkCommand(imageCmd) {
199
202
  const fontColor = options.fontColor || 'white';
200
203
  const fontFamily = options.fontFamily || 'Arial';
201
204
  // Estimate text dimensions
202
- const textWidth = watermark.length * fontSize * 0.6;
205
+ const textWidth = watermarkValue.length * fontSize * 0.6;
203
206
  const textHeight = fontSize * 1.5;
204
207
  const padding = 20;
205
208
  const svgText = `
@@ -211,7 +214,7 @@ export function watermarkCommand(imageCmd) {
211
214
  font-size="${fontSize}"
212
215
  fill="${fontColor}"
213
216
  font-weight="bold"
214
- >${watermark}</text>
217
+ >${watermarkValue}</text>
215
218
  </svg>
216
219
  `;
217
220
  const textBuffer = Buffer.from(svgText);
@@ -1 +1 @@
1
- {"version":3,"file":"watermark.js","sourceRoot":"","sources":["../../src/commands/watermark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watermark.js","sourceRoot":"","sources":["../../src/commands/watermark.ts"],"names":[],"mappings":"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"}
package/dist/register.js CHANGED
@@ -69,7 +69,7 @@ export function register(program) {
69
69
  const imageCmd = program
70
70
  .command('image')
71
71
  .description('Image processing commands (powered by Sharp)')
72
- .version(currentVersion, '-v, --version', 'Output the image plugin version')
72
+ .version(currentVersion, '-V, --version', 'Output the image plugin version')
73
73
  .helpOption('-h, --help', 'Display help for image plugin');
74
74
  // Transform operations
75
75
  resizeCommand(imageCmd);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediaproc/image",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "description": "Image processing plugin for mediaproc - powered by Sharp",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "node": ">=22.0.0"
31
31
  },
32
32
  "scripts": {
33
- "build": "tsc",
33
+ "build": "rm -rf dist/ && tsc",
34
34
  "dev": "tsx src/cli.ts",
35
35
  "watch": "tsc --watch",
36
36
  "clean": "rm -rf dist",
@@ -40,14 +40,14 @@
40
40
  "@mediaproc/core": "^1.11.0",
41
41
  "boxen": "^8.0.1",
42
42
  "chalk": "^5.6.2",
43
- "commander": "^14.0.2",
43
+ "commander": "^14.0.3",
44
44
  "execa": "^9.6.1",
45
45
  "sharp": "^0.34.5",
46
- "ora": "^9.1.0"
46
+ "ora": "^9.3.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@types/node": "^25.0.10",
49
+ "@types/node": "^25.5.0",
50
50
  "ts-node": "^10.9.2",
51
- "typescript": "^5.9.3"
51
+ "typescript": "^6.0.2"
52
52
  }
53
53
  }
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function autoEnhanceCommand(imageCmd: Command): void;
3
- //# sourceMappingURL=auto-enhance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-enhance.d.ts","sourceRoot":"","sources":["../../src/commands/auto-enhance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAsL1D"}
@@ -1,172 +0,0 @@
1
- import chalk from 'chalk';
2
- import ora from 'ora';
3
- import { validatePaths, resolveOutputPaths, IMAGE_EXTENSIONS, getFileName, showPluginBranding, createStandardHelp } from '@mediaproc/core';
4
- import { createSharpInstance } from '../utils/sharp.js';
5
- export function autoEnhanceCommand(imageCmd) {
6
- imageCmd
7
- .command('auto-enhance <input>')
8
- .description('Automatically enhance image with intelligent adjustments')
9
- .option('-l, --level <level>', 'Enhancement level: low, medium, high (default: medium)', 'medium')
10
- .option('-o, --output <path>', 'Output file path')
11
- .option('--dry-run', 'Show what would be done without executing')
12
- .option('-v, --verbose', 'Verbose output')
13
- .option('--explain [mode]', 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.')
14
- .option('--help', 'Display help for auto-enhance command')
15
- .action(async (input, options) => {
16
- if (options.help || !input) {
17
- createStandardHelp({
18
- commandName: 'auto-enhance',
19
- emoji: '✨',
20
- description: 'Automatically enhance images with intelligent adjustments. Applies normalization, sharpening, and contrast optimization in one command.',
21
- usage: ['auto-enhance <input>', 'auto-enhance <input> --level high', 'auto-enhance <input> -l low -o enhanced.jpg'],
22
- options: [
23
- { flag: '-l, --level <level>', description: 'Enhancement level: low, medium, high (default: medium)' },
24
- { flag: '-o, --output <path>', description: 'Output file path' },
25
- { flag: '--dry-run', description: 'Preview changes without executing' },
26
- { flag: '--explain [mode]', description: 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.' },
27
- { flag: '-v, --verbose', description: 'Show detailed output' }
28
- ],
29
- examples: [
30
- { command: 'auto-enhance photo.jpg', description: 'Apply medium enhancement' },
31
- { command: 'auto-enhance dark.jpg --level high', description: 'Strong enhancement for poor lighting' },
32
- { command: 'auto-enhance image.png -l low', description: 'Subtle enhancement' },
33
- { command: 'auto-enhance pic.jpg -o enhanced.jpg', description: 'Save enhanced version' }
34
- ],
35
- additionalSections: [
36
- {
37
- title: 'Enhancement Levels',
38
- items: [
39
- 'low - Subtle: Normalize + Light sharpen',
40
- 'medium - Balanced: Normalize + Moderate sharpen + Contrast (recommended)',
41
- 'high - Aggressive: Normalize + Strong sharpen + High contrast + CLAHE'
42
- ]
43
- },
44
- {
45
- title: 'What Gets Enhanced',
46
- items: [
47
- 'Color normalization - Balance histogram',
48
- 'Sharpness - Enhance edge definition',
49
- 'Contrast - Improve dynamic range',
50
- 'Brightness - Auto-level exposure',
51
- 'Clarity - Reduce dullness',
52
- 'Detail - Enhance fine features'
53
- ]
54
- },
55
- {
56
- title: 'Use Cases',
57
- items: [
58
- 'Quick photo fixes for social media',
59
- 'Old/faded photo restoration',
60
- 'Low-light image improvement',
61
- 'Batch processing automation',
62
- 'Smartphone photo enhancement',
63
- 'Scan cleanup and improvement'
64
- ]
65
- }
66
- ],
67
- tips: [
68
- 'Start with medium and adjust if needed',
69
- 'High level great for dark/dull images',
70
- 'Low level for already good photos',
71
- 'Combine with other commands for custom workflows'
72
- ]
73
- });
74
- process.exit(0);
75
- }
76
- const spinner = ora('Validating inputs...').start();
77
- try {
78
- const { inputFiles, outputPath, errors } = validatePaths(input, options.output, {
79
- allowedExtensions: IMAGE_EXTENSIONS,
80
- });
81
- if (errors.length > 0) {
82
- spinner.fail(chalk.red('Validation failed:'));
83
- errors.forEach(err => console.log(chalk.red(` ✗ ${err}`)));
84
- process.exit(1);
85
- }
86
- if (inputFiles.length === 0) {
87
- spinner.fail(chalk.red('No valid image files found'));
88
- process.exit(1);
89
- }
90
- const outputPaths = resolveOutputPaths(inputFiles, outputPath, {
91
- suffix: '-enhanced',
92
- });
93
- spinner.succeed(chalk.green(`Found ${inputFiles.length} image(s) to process`));
94
- const level = ['low', 'medium', 'high'].includes(options.level || 'medium') ? options.level : 'medium';
95
- if (options.verbose) {
96
- console.log(chalk.blue('\nConfiguration:'));
97
- console.log(chalk.dim(` Enhancement level: ${level}`));
98
- }
99
- if (options.dryRun) {
100
- console.log(chalk.yellow('\nDry run mode - no changes will be made\n'));
101
- console.log(chalk.green(`Would process ${inputFiles.length} image(s):`));
102
- inputFiles.forEach((inputFile, index) => {
103
- const outputPath = outputPaths.get(inputFile);
104
- console.log(chalk.dim(` ${index + 1}. ${getFileName(inputFile)} → ${getFileName(outputPath)}`));
105
- });
106
- showPluginBranding('Image', '../../package.json');
107
- return;
108
- }
109
- let successCount = 0;
110
- let failCount = 0;
111
- for (const [index, inputFile] of inputFiles.entries()) {
112
- const outputPath = outputPaths.get(inputFile);
113
- const fileName = getFileName(inputFile);
114
- spinner.start(`Processing ${index + 1}/${inputFiles.length}: ${fileName}...`);
115
- try {
116
- let pipeline = createSharpInstance(inputFile);
117
- // Apply enhancements based on level
118
- switch (level) {
119
- case 'low':
120
- // Subtle enhancement
121
- pipeline = pipeline
122
- .normalize() // Histogram normalization
123
- .sharpen({ sigma: 0.5 }); // Light sharpen
124
- break;
125
- case 'medium':
126
- // Balanced enhancement (default)
127
- pipeline = pipeline
128
- .normalize() // Histogram normalization
129
- .modulate({ brightness: 1.05, saturation: 1.1 }) // Slight boost
130
- .sharpen({ sigma: 1.0 }); // Moderate sharpen
131
- break;
132
- case 'high':
133
- // Aggressive enhancement
134
- pipeline = pipeline
135
- .normalize() // Histogram normalization
136
- .clahe({ width: 3, height: 3, maxSlope: 3 }) // Local contrast
137
- .modulate({ brightness: 1.1, saturation: 1.2, hue: 0 }) // Boost colors
138
- .sharpen({ sigma: 1.5 }); // Strong sharpen
139
- break;
140
- }
141
- await pipeline.toFile(outputPath);
142
- spinner.succeed(chalk.green(`✓ ${fileName} processed`));
143
- successCount++;
144
- }
145
- catch (error) {
146
- spinner.fail(chalk.red(`✗ Failed: ${fileName}`));
147
- if (options.verbose && error instanceof Error) {
148
- console.log(chalk.red(` Error: ${error.message}`));
149
- }
150
- failCount++;
151
- }
152
- }
153
- console.log(chalk.bold('\nSummary:'));
154
- console.log(chalk.green(` ✓ Success: ${successCount}`));
155
- if (failCount > 0) {
156
- console.log(chalk.red(` ✗ Failed: ${failCount}`));
157
- }
158
- showPluginBranding('Image', '../../package.json');
159
- }
160
- catch (error) {
161
- spinner.fail(chalk.red('Auto-enhancement failed'));
162
- if (options.verbose) {
163
- console.error(chalk.red('Error details:'), error);
164
- }
165
- else {
166
- console.error(chalk.red(error.message));
167
- }
168
- process.exit(1);
169
- }
170
- });
171
- }
172
- //# sourceMappingURL=auto-enhance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-enhance.js","sourceRoot":"","sources":["../../src/commands/auto-enhance.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function autoOrientCommand(imageCmd: Command): void;
3
- //# sourceMappingURL=auto-orient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-orient.d.ts","sourceRoot":"","sources":["../../src/commands/auto-orient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyIzD"}
@@ -1,131 +0,0 @@
1
- import chalk from 'chalk';
2
- import ora from 'ora';
3
- import { validatePaths, resolveOutputPaths, IMAGE_EXTENSIONS, getFileName, createStandardHelp, showPluginBranding } from '@mediaproc/core';
4
- import { createSharpInstance } from '../utils/sharp.js';
5
- import path from 'node:path';
6
- export function autoOrientCommand(imageCmd) {
7
- const cmd = imageCmd
8
- .command('auto-orient <input>')
9
- .alias('rotate-auto')
10
- .description('Auto-rotate image based on EXIF orientation')
11
- .option('-o, --output <path>', 'Output file path')
12
- .option('-q, --quality <quality>', 'Quality (1-100)', parseInt, 90)
13
- .option('--dry-run', 'Show what would be done without executing')
14
- .option('-v, --verbose', 'Verbose output')
15
- .option('--explain [mode]', 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.');
16
- cmd.addHelpText('after', () => {
17
- return '\n' + createStandardHelp({
18
- commandName: 'auto-orient',
19
- emoji: '🧭',
20
- description: 'Automatically rotate image based on EXIF orientation metadata. Corrects photos taken with rotated cameras.',
21
- usage: ['auto-orient <input>', 'rotate-auto <input>'],
22
- options: [
23
- { flag: '-o, --output <path>', description: 'Output file path (default: <input>-oriented.<ext>)' },
24
- { flag: '-q, --quality <quality>', description: 'Output quality 1-100 (default: 90)' },
25
- { flag: '--dry-run', description: 'Preview changes without executing' },
26
- { flag: '--explain [mode]', description: 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.' },
27
- { flag: '-v, --verbose', description: 'Show detailed output' }
28
- ],
29
- examples: [
30
- { command: 'auto-orient photo.jpg', description: 'Auto-correct orientation' },
31
- { command: 'rotate-auto image.jpg', description: 'Fix camera rotation (using alias)' },
32
- { command: 'auto-orient *.jpg', description: 'Batch fix orientation for all JPGs' }
33
- ],
34
- additionalSections: [
35
- {
36
- title: 'EXIF Orientation',
37
- items: [
38
- '1: No rotation needed',
39
- '3: 180° rotation',
40
- '6: 90° clockwise (vertical photo)',
41
- '8: 90° counter-clockwise',
42
- 'Also handles horizontal/vertical flips'
43
- ]
44
- }
45
- ],
46
- tips: [
47
- 'Essential for photos from cameras/phones',
48
- 'Removes EXIF orientation tag after correction',
49
- 'Safe to run on already-oriented images'
50
- ]
51
- });
52
- });
53
- cmd.action(async (input, options) => {
54
- const spinner = ora('Validating inputs...').start();
55
- try {
56
- const { inputFiles, outputPath, errors } = validatePaths(input, options.output, {
57
- allowedExtensions: IMAGE_EXTENSIONS,
58
- });
59
- if (errors.length > 0) {
60
- spinner.fail(chalk.red('Validation failed:'));
61
- errors.forEach(err => console.log(chalk.red(` ✗ ${err}`)));
62
- process.exit(1);
63
- }
64
- if (inputFiles.length === 0) {
65
- spinner.fail(chalk.red('No valid image files found'));
66
- process.exit(1);
67
- }
68
- const outputPaths = resolveOutputPaths(inputFiles, outputPath, {
69
- suffix: '-oriented',
70
- });
71
- spinner.succeed(chalk.green(`Found ${inputFiles.length} image(s) to process`));
72
- if (options.verbose) {
73
- console.log(chalk.blue('\nConfiguration:'));
74
- console.log(chalk.dim(` Quality: ${options.quality || 90}`));
75
- }
76
- if (options.dryRun) {
77
- console.log(chalk.yellow('\nDry run mode - no changes will be made\n'));
78
- console.log(chalk.green(`Would process ${inputFiles.length} image(s):`));
79
- inputFiles.forEach((inputFile, index) => {
80
- const outputPath = outputPaths.get(inputFile);
81
- console.log(chalk.dim(` ${index + 1}. ${getFileName(inputFile)} → ${getFileName(outputPath)}`));
82
- });
83
- showPluginBranding('Image', '../../package.json');
84
- return;
85
- }
86
- let successCount = 0;
87
- let failCount = 0;
88
- for (const [index, inputFile] of inputFiles.entries()) {
89
- const outputPath = outputPaths.get(inputFile);
90
- const fileName = getFileName(inputFile);
91
- spinner.start(`Processing ${index + 1}/${inputFiles.length}: ${fileName}...`);
92
- try {
93
- const pipeline = createSharpInstance(inputFile).rotate(); // rotate() with no args uses EXIF
94
- const outputExt = path.extname(outputPath).toLowerCase();
95
- if (outputExt === '.jpg' || outputExt === '.jpeg') {
96
- pipeline.jpeg({ quality: options.quality || 90 });
97
- }
98
- else if (outputExt === '.png') {
99
- pipeline.png({ quality: options.quality || 90 });
100
- }
101
- else if (outputExt === '.webp') {
102
- pipeline.webp({ quality: options.quality || 90 });
103
- }
104
- await pipeline.toFile(outputPath);
105
- spinner.succeed(chalk.green(`✓ ${fileName} processed`));
106
- successCount++;
107
- }
108
- catch (error) {
109
- spinner.fail(chalk.red(`✗ Failed: ${fileName}`));
110
- if (options.verbose && error instanceof Error) {
111
- console.log(chalk.red(` Error: ${error.message}`));
112
- }
113
- failCount++;
114
- }
115
- }
116
- console.log(chalk.bold('\nSummary:'));
117
- console.log(chalk.green(` ✓ Success: ${successCount}`));
118
- if (failCount > 0) {
119
- console.log(chalk.red(` ✗ Failed: ${failCount}`));
120
- }
121
- showPluginBranding('Image', '../../package.json');
122
- }
123
- catch (error) {
124
- spinner.fail(chalk.red('Failed to auto-orient image'));
125
- const errorMessage = error instanceof Error ? error.message : String(error);
126
- console.error(chalk.red(errorMessage));
127
- process.exit(1);
128
- }
129
- });
130
- }
131
- //# sourceMappingURL=auto-orient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-orient.js","sourceRoot":"","sources":["../../src/commands/auto-orient.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function gridCommand(imageCmd: Command): void;
3
- //# sourceMappingURL=grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/commands/grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CA6OnD"}