@mediaproc/image 1.3.6 → 1.4.1
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 +4 -9
- package/dist/cli.js +9 -14
- package/dist/cli.js.map +1 -1
- package/dist/commands/affine.d.ts +1 -1
- package/dist/commands/affine.d.ts.map +1 -1
- package/dist/commands/affine.js +79 -84
- package/dist/commands/affine.js.map +1 -1
- package/dist/commands/auto-enhance.d.ts.map +1 -1
- package/dist/commands/auto-enhance.js +3 -7
- package/dist/commands/auto-enhance.js.map +1 -1
- package/dist/commands/auto-orient.d.ts.map +1 -1
- package/dist/commands/auto-orient.js +2 -6
- package/dist/commands/auto-orient.js.map +1 -1
- package/dist/commands/batch.d.ts.map +1 -1
- package/dist/commands/batch.js +8 -13
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/blur.d.ts.map +1 -1
- package/dist/commands/blur.js +37 -18
- package/dist/commands/blur.js.map +1 -1
- package/dist/commands/boolean.d.ts.map +1 -1
- package/dist/commands/boolean.js +25 -16
- package/dist/commands/boolean.js.map +1 -1
- package/dist/commands/border.d.ts.map +1 -1
- package/dist/commands/border.js +21 -14
- package/dist/commands/border.js.map +1 -1
- package/dist/commands/clahe.d.ts.map +1 -1
- package/dist/commands/clahe.js +27 -13
- package/dist/commands/clahe.js.map +1 -1
- package/dist/commands/composite.d.ts.map +1 -1
- package/dist/commands/composite.js +26 -11
- package/dist/commands/composite.js.map +1 -1
- package/dist/commands/compress.d.ts.map +1 -1
- package/dist/commands/compress.js +57 -37
- package/dist/commands/compress.js.map +1 -1
- package/dist/commands/convert.d.ts.map +1 -1
- package/dist/commands/convert.js +41 -21
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/convolve.d.ts.map +1 -1
- package/dist/commands/convolve.js +38 -16
- package/dist/commands/convolve.js.map +1 -1
- package/dist/commands/crop.d.ts.map +1 -1
- package/dist/commands/crop.js +9 -15
- package/dist/commands/crop.js.map +1 -1
- package/dist/commands/dilate.d.ts.map +1 -1
- package/dist/commands/dilate.js +9 -15
- package/dist/commands/dilate.js.map +1 -1
- package/dist/commands/dominant-color.d.ts.map +1 -1
- package/dist/commands/dominant-color.js +4 -11
- package/dist/commands/dominant-color.js.map +1 -1
- package/dist/commands/erode.d.ts.map +1 -1
- package/dist/commands/erode.js +24 -16
- package/dist/commands/erode.js.map +1 -1
- package/dist/commands/extend.d.ts.map +1 -1
- package/dist/commands/extend.js +9 -15
- package/dist/commands/extend.js.map +1 -1
- package/dist/commands/extract.d.ts.map +1 -1
- package/dist/commands/extract.js +23 -10
- package/dist/commands/extract.js.map +1 -1
- package/dist/commands/flatten.d.ts.map +1 -1
- package/dist/commands/flatten.js +36 -17
- package/dist/commands/flatten.js.map +1 -1
- package/dist/commands/flip.d.ts.map +1 -1
- package/dist/commands/flip.js +10 -16
- package/dist/commands/flip.js.map +1 -1
- package/dist/commands/flop.d.ts.map +1 -1
- package/dist/commands/flop.js +9 -15
- package/dist/commands/flop.js.map +1 -1
- package/dist/commands/gamma.d.ts.map +1 -1
- package/dist/commands/gamma.js +10 -16
- package/dist/commands/gamma.js.map +1 -1
- package/dist/commands/grayscale.d.ts.map +1 -1
- package/dist/commands/grayscale.js +10 -16
- package/dist/commands/grayscale.js.map +1 -1
- package/dist/commands/grid.d.ts.map +1 -1
- package/dist/commands/grid.js +45 -19
- package/dist/commands/grid.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +4 -9
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/linear.d.ts.map +1 -1
- package/dist/commands/linear.js +9 -14
- package/dist/commands/linear.js.map +1 -1
- package/dist/commands/median.d.ts.map +1 -1
- package/dist/commands/median.js +41 -20
- package/dist/commands/median.js.map +1 -1
- package/dist/commands/metadata-cmd.d.ts.map +1 -1
- package/dist/commands/metadata-cmd.js +4 -10
- package/dist/commands/metadata-cmd.js.map +1 -1
- package/dist/commands/mirror.d.ts.map +1 -1
- package/dist/commands/mirror.js +26 -11
- package/dist/commands/mirror.js.map +1 -1
- package/dist/commands/modulate.d.ts.map +1 -1
- package/dist/commands/modulate.js +10 -16
- package/dist/commands/modulate.js.map +1 -1
- package/dist/commands/negate.d.ts.map +1 -1
- package/dist/commands/negate.js +10 -16
- package/dist/commands/negate.js.map +1 -1
- package/dist/commands/normalize.d.ts.map +1 -1
- package/dist/commands/normalize.js +10 -16
- package/dist/commands/normalize.js.map +1 -1
- package/dist/commands/optimize.d.ts.map +1 -1
- package/dist/commands/optimize.js +62 -24
- package/dist/commands/optimize.js.map +1 -1
- package/dist/commands/palette.d.ts.map +1 -1
- package/dist/commands/palette.js +59 -18
- package/dist/commands/palette.js.map +1 -1
- package/dist/commands/pixelate.d.ts.map +1 -1
- package/dist/commands/pixelate.js +27 -18
- package/dist/commands/pixelate.js.map +1 -1
- package/dist/commands/recomb.d.ts.map +1 -1
- package/dist/commands/recomb.js +39 -19
- package/dist/commands/recomb.js.map +1 -1
- package/dist/commands/resize.d.ts.map +1 -1
- package/dist/commands/resize.js +32 -18
- package/dist/commands/resize.js.map +1 -1
- package/dist/commands/rotate.d.ts.map +1 -1
- package/dist/commands/rotate.js +40 -20
- package/dist/commands/rotate.js.map +1 -1
- package/dist/commands/sepia.d.ts.map +1 -1
- package/dist/commands/sepia.js +46 -13
- package/dist/commands/sepia.js.map +1 -1
- package/dist/commands/sharpen.d.ts.map +1 -1
- package/dist/commands/sharpen.js +39 -19
- package/dist/commands/sharpen.js.map +1 -1
- package/dist/commands/smart-crop.d.ts.map +1 -1
- package/dist/commands/smart-crop.js +4 -9
- package/dist/commands/smart-crop.js.map +1 -1
- package/dist/commands/split.d.ts.map +1 -1
- package/dist/commands/split.js +44 -13
- package/dist/commands/split.js.map +1 -1
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +48 -33
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +4 -10
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/threshold.d.ts.map +1 -1
- package/dist/commands/threshold.js +21 -17
- package/dist/commands/threshold.js.map +1 -1
- package/dist/commands/thumbnail.d.ts.map +1 -1
- package/dist/commands/thumbnail.js +38 -19
- package/dist/commands/thumbnail.js.map +1 -1
- package/dist/commands/tint.d.ts.map +1 -1
- package/dist/commands/tint.js +37 -19
- package/dist/commands/tint.js.map +1 -1
- package/dist/commands/trim.d.ts.map +1 -1
- package/dist/commands/trim.js +22 -18
- package/dist/commands/trim.js.map +1 -1
- package/dist/commands/unflatten.d.ts.map +1 -1
- package/dist/commands/unflatten.js +23 -19
- package/dist/commands/unflatten.js.map +1 -1
- package/dist/commands/vignette.d.ts.map +1 -1
- package/dist/commands/vignette.js +30 -13
- package/dist/commands/vignette.js.map +1 -1
- package/dist/commands/watermark.d.ts.map +1 -1
- package/dist/commands/watermark.js +34 -17
- package/dist/commands/watermark.js.map +1 -1
- package/dist/register.d.ts +1 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +3 -12
- package/dist/register.js.map +1 -1
- package/dist/utils/colorUtils.js +1 -1
- package/dist/utils/colorUtils.js.map +1 -1
- package/package.json +1 -21
package/README.md
CHANGED
|
@@ -310,16 +310,15 @@ done
|
|
|
310
310
|
|
|
311
311
|
## 📋 Commands Overview
|
|
312
312
|
|
|
313
|
-
All **
|
|
313
|
+
All **46 commands** organized by category:
|
|
314
314
|
|
|
315
|
-
### 🔄 Transform & Resize (
|
|
315
|
+
### 🔄 Transform & Resize (9 commands)
|
|
316
316
|
|
|
317
317
|
- **resize** - Resize images with advanced fit modes (cover, contain, fill, inside, outside)
|
|
318
318
|
- **crop** - Extract rectangular regions with positioning options
|
|
319
319
|
- **rotate** - Rotate by any angle with background control
|
|
320
320
|
- **flip** - Vertical mirroring (top-to-bottom flip)
|
|
321
321
|
- **flop** - Horizontal mirroring (left-to-right flip)
|
|
322
|
-
- **auto-orient** - Auto-rotate based on EXIF orientation data
|
|
323
322
|
- **affine** - Apply affine transformation matrix (scale, shear, reflect)
|
|
324
323
|
- **trim** - Auto-remove uniform borders from edges
|
|
325
324
|
- **extend** - Add padding/borders with custom colors
|
|
@@ -333,7 +332,7 @@ All **49 commands** organized by category:
|
|
|
333
332
|
- **grayscale** - Convert to black & white
|
|
334
333
|
- **negate** - Create negative/inverted image
|
|
335
334
|
- **normalize** - Auto-enhance contrast and brightness
|
|
336
|
-
- **linear** - Apply linear formula: output = (a
|
|
335
|
+
- **linear** - Apply linear formula: output = (a \* input) + b
|
|
337
336
|
- **recomb** - Recombine RGB channels using transformation matrix
|
|
338
337
|
- **flatten** - Remove alpha transparency with background color
|
|
339
338
|
- **unflatten** - Add alpha channel (RGB→RGBA)
|
|
@@ -359,13 +358,10 @@ All **49 commands** organized by category:
|
|
|
359
358
|
- **convolve** - Apply custom convolution kernels (sharpen, emboss, edge)
|
|
360
359
|
- **boolean** - Perform boolean operations between images (AND, OR, XOR)
|
|
361
360
|
|
|
362
|
-
### 🤖 Smart/AI Operations (
|
|
361
|
+
### 🤖 Smart/AI Operations (4 commands)
|
|
363
362
|
|
|
364
|
-
- **smart-crop** - Intelligent content-aware cropping (attention/entropy)
|
|
365
|
-
- **auto-enhance** - Automatic color and contrast enhancement
|
|
366
363
|
- **palette** - Extract dominant color palettes (2-256 colors)
|
|
367
364
|
- **dominant-color** - Quick dominant color extraction
|
|
368
|
-
- **grid** - Combine images into collage layouts
|
|
369
365
|
- **batch** - Process multiple images at once with any operation
|
|
370
366
|
|
|
371
367
|
### 🔧 Utility (10 commands)
|
|
@@ -377,7 +373,6 @@ All **49 commands** organized by category:
|
|
|
377
373
|
- **info** - Display comprehensive image information
|
|
378
374
|
- **stats** - Detailed technical image statistics
|
|
379
375
|
- **split** - Split image into grid tiles
|
|
380
|
-
- **stack** - Stack images horizontally/vertically
|
|
381
376
|
- **mirror** - Create mirror/kaleidoscope effects (horizontal, vertical, quad)
|
|
382
377
|
- **metadata** - View, export, or remove EXIF data
|
|
383
378
|
|
package/dist/cli.js
CHANGED
|
@@ -28,18 +28,13 @@ import { claheCommand } from './commands/clahe.js';
|
|
|
28
28
|
import { convolveCommand } from './commands/convolve.js';
|
|
29
29
|
import { vignetteCommand } from './commands/vignette.js';
|
|
30
30
|
import { batchCommand } from './commands/batch.js';
|
|
31
|
-
import { smartCropCommand } from './commands/smart-crop.js';
|
|
32
31
|
import { pixelateCommand } from './commands/pixelate.js';
|
|
33
32
|
import { paletteCommand } from './commands/palette.js';
|
|
34
|
-
import { autoEnhanceCommand } from './commands/auto-enhance.js';
|
|
35
|
-
import { gridCommand } from './commands/grid.js';
|
|
36
33
|
import { splitCommand } from './commands/split.js';
|
|
37
34
|
import { metadataCommand } from './commands/metadata-cmd.js';
|
|
38
|
-
import { stackCommand } from './commands/stack.js';
|
|
39
35
|
import { mirrorCommand } from './commands/mirror.js';
|
|
40
36
|
import { dominantColorCommand } from './commands/dominant-color.js';
|
|
41
37
|
import { flopCommand } from './commands/flop.js';
|
|
42
|
-
import { autoOrientCommand } from './commands/auto-orient.js';
|
|
43
38
|
import { affineCommand } from './commands/affine.js';
|
|
44
39
|
import { thresholdCommand } from './commands/threshold.js';
|
|
45
40
|
import { flattenCommand } from './commands/flatten.js';
|
|
@@ -51,11 +46,12 @@ import { linearCommand } from './commands/linear.js';
|
|
|
51
46
|
import { recombCommand } from './commands/recomb.js';
|
|
52
47
|
import { compressCommand } from './commands/compress.js';
|
|
53
48
|
import { infoCommand } from './commands/info.js';
|
|
49
|
+
import { explainPreActionHook, showPluginBranding } from '@mediaproc/core';
|
|
54
50
|
const program = new Command();
|
|
55
51
|
program
|
|
56
52
|
.name('mediaproc-image')
|
|
57
53
|
.description(`
|
|
58
|
-
🌄 Image Processing Plugin
|
|
54
|
+
🌄 Image Processing Plugin
|
|
59
55
|
|
|
60
56
|
Professional image processing powered by Sharp. Transform, optimize, and enhance images with 49+ commands.
|
|
61
57
|
|
|
@@ -64,8 +60,8 @@ Professional image processing powered by Sharp. Transform, optimize, and enhance
|
|
|
64
60
|
• Color & Tone (6 commands): modulate, gamma, tint, grayscale, negate, normalize
|
|
65
61
|
• Effects & Filters (9 commands): blur, sharpen, median, sepia, vignette, pixelate, threshold, dilate, erode
|
|
66
62
|
• Advanced Operations (6 commands): composite, extract, border, clahe, convolve, boolean
|
|
67
|
-
• Smart/AI Operations (6 commands):
|
|
68
|
-
• Utility (10 commands): compress, convert, optimize, info, watermark, stats, split,
|
|
63
|
+
• Smart/AI Operations (6 commands): palette, dominant-color, batch
|
|
64
|
+
• Utility (10 commands): compress, convert, optimize, info, watermark, stats, split, mirror, metadata
|
|
69
65
|
|
|
70
66
|
📂 Format Support:
|
|
71
67
|
Input: JPG, PNG, WebP, AVIF, TIFF, GIF, SVG, HEIF
|
|
@@ -80,7 +76,7 @@ Professional image processing powered by Sharp. Transform, optimize, and enhance
|
|
|
80
76
|
|
|
81
77
|
📚 Use 'mediaproc-image <command> --help' for detailed command documentation.
|
|
82
78
|
`)
|
|
83
|
-
.version('1.
|
|
79
|
+
.version('1.4.0');
|
|
84
80
|
// Register all commands directly (no "image" prefix in standalone mode)
|
|
85
81
|
resizeCommand(program);
|
|
86
82
|
convertCommand(program);
|
|
@@ -110,18 +106,13 @@ claheCommand(program);
|
|
|
110
106
|
convolveCommand(program);
|
|
111
107
|
vignetteCommand(program);
|
|
112
108
|
batchCommand(program);
|
|
113
|
-
smartCropCommand(program);
|
|
114
109
|
pixelateCommand(program);
|
|
115
110
|
paletteCommand(program);
|
|
116
|
-
autoEnhanceCommand(program);
|
|
117
|
-
gridCommand(program);
|
|
118
111
|
splitCommand(program);
|
|
119
112
|
metadataCommand(program);
|
|
120
|
-
stackCommand(program);
|
|
121
113
|
mirrorCommand(program);
|
|
122
114
|
dominantColorCommand(program);
|
|
123
115
|
flopCommand(program);
|
|
124
|
-
autoOrientCommand(program);
|
|
125
116
|
affineCommand(program);
|
|
126
117
|
thresholdCommand(program);
|
|
127
118
|
flattenCommand(program);
|
|
@@ -133,6 +124,10 @@ linearCommand(program);
|
|
|
133
124
|
recombCommand(program);
|
|
134
125
|
compressCommand(program);
|
|
135
126
|
infoCommand(program);
|
|
127
|
+
program.hook('preAction', explainPreActionHook);
|
|
128
|
+
program.hook('postAction', () => {
|
|
129
|
+
showPluginBranding('Image');
|
|
130
|
+
});
|
|
136
131
|
program.parse(process.argv);
|
|
137
132
|
if (!process.argv.slice(2).length) {
|
|
138
133
|
program.outputHelp();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../src/commands/affine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../src/commands/affine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyLrD"}
|
package/dist/commands/affine.js
CHANGED
|
@@ -1,89 +1,90 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
|
-
import { validatePaths, resolveOutputPaths, IMAGE_EXTENSIONS, getFileName, createStandardHelp
|
|
3
|
+
import { validatePaths, resolveOutputPaths, IMAGE_EXTENSIONS, getFileName, createStandardHelp } from '@mediaproc/core';
|
|
4
4
|
import { createSharpInstance } from '../utils/sharp.js';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
export function affineCommand(imageCmd) {
|
|
7
|
-
|
|
7
|
+
imageCmd
|
|
8
8
|
.command('affine <input>')
|
|
9
9
|
.description('Apply affine transformation matrix')
|
|
10
10
|
.option('--matrix <values>', 'Affine matrix [a,b,c,d] or 6 values', '[1,0,0,1]')
|
|
11
11
|
.option('--background <color>', 'Background color (default: transparent)', 'transparent')
|
|
12
12
|
.option('--interpolator <type>', 'Interpolator: nearest, bilinear, bicubic, nohalo, lbb, vsqbs (default: bilinear)', 'bilinear')
|
|
13
13
|
.option('-o, --output <path>', 'Output file path')
|
|
14
|
-
.option('-q, --quality <quality>', 'Quality (1-100)', parseInt
|
|
14
|
+
.option('-q, --quality <quality>', 'Quality (1-100)', parseInt)
|
|
15
15
|
.option('--dry-run', 'Show what would be done without executing')
|
|
16
|
-
.option('--explain', '
|
|
17
|
-
.option('-v, --verbose', 'Verbose output')
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
16
|
+
.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.')
|
|
17
|
+
.option('-v, --verbose', 'Verbose output')
|
|
18
|
+
.action(async (input, options) => {
|
|
19
|
+
if (options.help || !input) {
|
|
20
|
+
createStandardHelp({
|
|
21
|
+
commandName: 'affine',
|
|
22
|
+
emoji: '🔢',
|
|
23
|
+
description: 'Apply affine transformation using a 2x2 matrix. Enables custom scaling, rotation, shearing, and reflection transformations.',
|
|
24
|
+
usage: [
|
|
25
|
+
'affine <input> --matrix "[1,0,0,1]"',
|
|
26
|
+
'affine <input> --matrix "[2,0,0,2]" (2x scale)',
|
|
27
|
+
'affine <input> --matrix "[1,0.5,0,1]" (shear)'
|
|
28
|
+
],
|
|
29
|
+
options: [
|
|
30
|
+
{ flag: '--matrix <values>', description: 'Affine matrix [a,b,c,d] as JSON array' },
|
|
31
|
+
{ flag: '--background <color>', description: 'Background color for empty areas' },
|
|
32
|
+
{ flag: '--interpolator <type>', description: 'Interpolation method (default: bilinear)' },
|
|
33
|
+
{ flag: '-o, --output <path>', description: 'Output file path (default: <input>-affine.<ext>)' },
|
|
34
|
+
{ flag: '-q, --quality <quality>', description: 'Output quality (1-100). Optional. Applies to JPEG/WEBP/AVIF. For PNG, maps to compression level (higher quality = lower compression). Ignored for other formats.' },
|
|
35
|
+
{ flag: '--dry-run', description: 'Preview changes without executing' },
|
|
36
|
+
{ 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.' },
|
|
37
|
+
{ flag: '-v, --verbose', description: 'Show detailed output' }
|
|
38
|
+
],
|
|
39
|
+
examples: [
|
|
40
|
+
{ command: 'affine image.jpg --matrix "[2,0,0,2]"', description: 'Scale 2x in both directions' },
|
|
41
|
+
{ command: 'affine photo.jpg --matrix "[1,0.5,0,1]"', description: 'Horizontal shear' },
|
|
42
|
+
{ command: 'affine pic.jpg --matrix "[1,0,0,-1]"', description: 'Vertical flip via matrix' },
|
|
43
|
+
{ command: 'affine image.jpg --matrix "[0.5,0,0,0.5]" --interpolator bicubic', description: 'Downscale 0.5x with quality' }
|
|
44
|
+
],
|
|
45
|
+
additionalSections: [
|
|
46
|
+
{
|
|
47
|
+
title: 'Matrix Format',
|
|
48
|
+
items: [
|
|
49
|
+
'[a, b, c, d] where:',
|
|
50
|
+
'a: horizontal scaling',
|
|
51
|
+
'b: horizontal shearing',
|
|
52
|
+
'c: vertical shearing',
|
|
53
|
+
'd: vertical scaling',
|
|
54
|
+
'Identity matrix [1,0,0,1] = no change'
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Common Transformations',
|
|
59
|
+
items: [
|
|
60
|
+
'Scale 2x: [2,0,0,2]',
|
|
61
|
+
'Scale 0.5x: [0.5,0,0,0.5]',
|
|
62
|
+
'Horizontal flip: [-1,0,0,1]',
|
|
63
|
+
'Vertical flip: [1,0,0,-1]',
|
|
64
|
+
'Horizontal shear: [1,0.5,0,1]',
|
|
65
|
+
'Vertical shear: [1,0,0.5,1]'
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
title: 'Interpolators',
|
|
70
|
+
items: [
|
|
71
|
+
'nearest: Fastest, lowest quality',
|
|
72
|
+
'bilinear: Good balance (default)',
|
|
73
|
+
'bicubic: Higher quality, slower',
|
|
74
|
+
'nohalo: Excellent quality',
|
|
75
|
+
'lbb: Lanczos-based best',
|
|
76
|
+
'vsqbs: Very high quality'
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
tips: [
|
|
81
|
+
'For simple rotation, use rotate command instead',
|
|
82
|
+
'Use bicubic or nohalo for high-quality transforms',
|
|
83
|
+
'Background color matters for rotations/shears'
|
|
84
|
+
]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
;
|
|
87
88
|
const spinner = ora('Validating inputs...').start();
|
|
88
89
|
try {
|
|
89
90
|
// Parse matrix
|
|
@@ -119,7 +120,7 @@ export function affineCommand(imageCmd) {
|
|
|
119
120
|
console.log(chalk.blue('\nConfiguration:'));
|
|
120
121
|
console.log(chalk.dim(` Matrix: [${matrix.join(', ')}]`));
|
|
121
122
|
console.log(chalk.dim(` Interpolator: ${options.interpolator || 'bilinear'}`));
|
|
122
|
-
console.log(chalk.dim(` Quality: ${options.quality
|
|
123
|
+
console.log(chalk.dim(` Quality: ${options.quality}`));
|
|
123
124
|
}
|
|
124
125
|
if (options.dryRun) {
|
|
125
126
|
console.log(chalk.yellow('\nDry run mode - no changes will be made\n'));
|
|
@@ -128,13 +129,8 @@ export function affineCommand(imageCmd) {
|
|
|
128
129
|
const outputPath = outputPaths.get(inputFile);
|
|
129
130
|
console.log(chalk.dim(` ${index + 1}. ${getFileName(inputFile)} → ${getFileName(outputPath)}`));
|
|
130
131
|
});
|
|
131
|
-
showPluginBranding('Image', '../../package.json');
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
if (options.explain) {
|
|
135
|
-
console.log(chalk.gray('Explain mode is not yet available.'));
|
|
136
|
-
console.log(chalk.cyan('Planned for v0.8.x.'));
|
|
137
|
-
}
|
|
138
134
|
let successCount = 0;
|
|
139
135
|
let failCount = 0;
|
|
140
136
|
for (const [index, inputFile] of inputFiles.entries()) {
|
|
@@ -148,13 +144,13 @@ export function affineCommand(imageCmd) {
|
|
|
148
144
|
});
|
|
149
145
|
const outputExt = path.extname(outputPath).toLowerCase();
|
|
150
146
|
if (outputExt === '.jpg' || outputExt === '.jpeg') {
|
|
151
|
-
pipeline.jpeg({ quality: options.quality
|
|
147
|
+
pipeline.jpeg({ quality: options.quality });
|
|
152
148
|
}
|
|
153
149
|
else if (outputExt === '.png') {
|
|
154
|
-
pipeline.png({ quality: options.quality
|
|
150
|
+
pipeline.png({ quality: options.quality });
|
|
155
151
|
}
|
|
156
152
|
else if (outputExt === '.webp') {
|
|
157
|
-
pipeline.webp({ quality: options.quality
|
|
153
|
+
pipeline.webp({ quality: options.quality });
|
|
158
154
|
}
|
|
159
155
|
await pipeline.toFile(outputPath);
|
|
160
156
|
spinner.succeed(chalk.green(`✓ ${fileName} processed`));
|
|
@@ -173,7 +169,6 @@ export function affineCommand(imageCmd) {
|
|
|
173
169
|
if (failCount > 0) {
|
|
174
170
|
console.log(chalk.red(` ✗ Failed: ${failCount}`));
|
|
175
171
|
}
|
|
176
|
-
showPluginBranding('Image', '../../package.json');
|
|
177
172
|
}
|
|
178
173
|
catch (error) {
|
|
179
174
|
spinner.fail(chalk.red('Failed to apply affine transformation'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affine.js","sourceRoot":"","sources":["../../src/commands/affine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"affine.js","sourceRoot":"","sources":["../../src/commands/affine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -10,10 +10,10 @@ export function autoEnhanceCommand(imageCmd) {
|
|
|
10
10
|
.option('-o, --output <path>', 'Output file path')
|
|
11
11
|
.option('--dry-run', 'Show what would be done without executing')
|
|
12
12
|
.option('-v, --verbose', 'Verbose output')
|
|
13
|
-
.option('--explain', '
|
|
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
14
|
.option('--help', 'Display help for auto-enhance command')
|
|
15
15
|
.action(async (input, options) => {
|
|
16
|
-
if (options.help) {
|
|
16
|
+
if (options.help || !input) {
|
|
17
17
|
createStandardHelp({
|
|
18
18
|
commandName: 'auto-enhance',
|
|
19
19
|
emoji: '✨',
|
|
@@ -23,7 +23,7 @@ export function autoEnhanceCommand(imageCmd) {
|
|
|
23
23
|
{ flag: '-l, --level <level>', description: 'Enhancement level: low, medium, high (default: medium)' },
|
|
24
24
|
{ flag: '-o, --output <path>', description: 'Output file path' },
|
|
25
25
|
{ flag: '--dry-run', description: 'Preview changes without executing' },
|
|
26
|
-
{ flag: '--explain', description: '
|
|
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
27
|
{ flag: '-v, --verbose', description: 'Show detailed output' }
|
|
28
28
|
],
|
|
29
29
|
examples: [
|
|
@@ -106,10 +106,6 @@ export function autoEnhanceCommand(imageCmd) {
|
|
|
106
106
|
showPluginBranding('Image', '../../package.json');
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
if (options.explain) {
|
|
110
|
-
console.log(chalk.gray('Explain mode is not yet available.'));
|
|
111
|
-
console.log(chalk.cyan('Planned for v0.8.x.'));
|
|
112
|
-
}
|
|
113
109
|
let successCount = 0;
|
|
114
110
|
let failCount = 0;
|
|
115
111
|
for (const [index, inputFile] of inputFiles.entries()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-enhance.js","sourceRoot":"","sources":["../../src/commands/auto-enhance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYxD,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,QAAQ;SACL,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,EAAE,QAAQ,CAAC;SACjG,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"auto-enhance.js","sourceRoot":"","sources":["../../src/commands/auto-enhance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -12,7 +12,7 @@ export function autoOrientCommand(imageCmd) {
|
|
|
12
12
|
.option('-q, --quality <quality>', 'Quality (1-100)', parseInt, 90)
|
|
13
13
|
.option('--dry-run', 'Show what would be done without executing')
|
|
14
14
|
.option('-v, --verbose', 'Verbose output')
|
|
15
|
-
.option('--explain', '
|
|
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
16
|
cmd.addHelpText('after', () => {
|
|
17
17
|
return '\n' + createStandardHelp({
|
|
18
18
|
commandName: 'auto-orient',
|
|
@@ -23,7 +23,7 @@ export function autoOrientCommand(imageCmd) {
|
|
|
23
23
|
{ flag: '-o, --output <path>', description: 'Output file path (default: <input>-oriented.<ext>)' },
|
|
24
24
|
{ flag: '-q, --quality <quality>', description: 'Output quality 1-100 (default: 90)' },
|
|
25
25
|
{ flag: '--dry-run', description: 'Preview changes without executing' },
|
|
26
|
-
{ flag: '--explain', description: '
|
|
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
27
|
{ flag: '-v, --verbose', description: 'Show detailed output' }
|
|
28
28
|
],
|
|
29
29
|
examples: [
|
|
@@ -83,10 +83,6 @@ export function autoOrientCommand(imageCmd) {
|
|
|
83
83
|
showPluginBranding('Image', '../../package.json');
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
if (options.explain) {
|
|
87
|
-
console.log(chalk.gray('Explain mode is not yet available.'));
|
|
88
|
-
console.log(chalk.cyan('Planned for v0.8.x.'));
|
|
89
|
-
}
|
|
90
86
|
let successCount = 0;
|
|
91
87
|
let failCount = 0;
|
|
92
88
|
for (const [index, inputFile] of inputFiles.entries()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-orient.js","sourceRoot":"","sources":["../../src/commands/auto-orient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,GAAG,GAAG,QAAQ;SACjB,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,CAAC,aAAa,CAAC;SACpB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC;SAClE,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"auto-orient.js","sourceRoot":"","sources":["../../src/commands/auto-orient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,GAAG,GAAG,QAAQ;SACjB,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,CAAC,aAAa,CAAC;SACpB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC;SAClE,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,kBAAkB,EAAE,wLAAwL,CAAC,CAAC;IAExN,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;QAC5B,OAAO,IAAI,GAAG,kBAAkB,CAAC;YAC/B,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,4GAA4G;YACzH,KAAK,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;YACrD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,oDAAoD,EAAE;gBAClG,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBACtF,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBACvE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wLAAwL,EAAE;gBACnO,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,EAAE;aAC/D;YACD,QAAQ,EAAE;gBACR,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBAC7E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBACtF,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACpF;YACD,kBAAkB,EAAE;gBAClB;oBACE,KAAK,EAAE,kBAAkB;oBACzB,KAAK,EAAE;wBACL,uBAAuB;wBACvB,kBAAkB;wBAClB,mCAAmC;wBACnC,0BAA0B;wBAC1B,wCAAwC;qBACzC;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,0CAA0C;gBAC1C,+CAA+C;gBAC/C,wCAAwC;aACzC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAA0B,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC9E,iBAAiB,EAAE,gBAAgB;aACpC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE;gBAC7D,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;YAE/E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC;gBACzE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBACtC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,MAAM,WAAW,CAAC,UAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpG,CAAC,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBAExC,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;gBAE9E,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,kCAAkC;oBAE5F,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;oBACzD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;oBACpD,CAAC;yBAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;wBAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnD,CAAC;yBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;oBACpD,CAAC;oBAED,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAElC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,YAAY,CAAC,CAAC,CAAC;oBACxD,YAAY,EAAE,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACjD,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;wBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACxD,CAAC;oBACD,SAAS,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAuOpD"}
|