mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-12 16:57:26 +00:00
Upgrade commander to v7
This commit is contained in:
6
cli/package-lock.json
generated
6
cli/package-lock.json
generated
@@ -89,9 +89,9 @@
|
|||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
},
|
},
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "6.2.1",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
|
||||||
},
|
},
|
||||||
"defaults": {
|
"defaults": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@squoosh/api": "0.1.0",
|
"@squoosh/api": "0.1.0",
|
||||||
"commander": "^6.2.1",
|
"commander": "^7.2.0",
|
||||||
"json5": "^2.2.0",
|
"json5": "^2.2.0",
|
||||||
"kleur": "^4.1.4",
|
"kleur": "^4.1.4",
|
||||||
"ora": "^5.4.0"
|
"ora": "^5.4.0"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
import { program } from 'commander';
|
import { program } from 'commander/esm.mjs';
|
||||||
import JSON5 from 'json5';
|
import JSON5 from 'json5';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { promises as fsp } from 'fs';
|
import { promises as fsp } from 'fs';
|
||||||
@@ -112,7 +112,7 @@ async function processFiles(files) {
|
|||||||
progress.setProgress(0, files.length);
|
progress.setProgress(0, files.length);
|
||||||
|
|
||||||
// Create output directory
|
// Create output directory
|
||||||
await fsp.mkdir(program.outputDir, { recursive: true });
|
await fsp.mkdir(program.opts().outputDir, { recursive: true });
|
||||||
|
|
||||||
let decoded = 0;
|
let decoded = 0;
|
||||||
let decodedFiles = await Promise.all(
|
let decodedFiles = await Promise.all(
|
||||||
@@ -132,10 +132,10 @@ async function processFiles(files) {
|
|||||||
const preprocessOptions = {};
|
const preprocessOptions = {};
|
||||||
|
|
||||||
for (const preprocessorName of Object.keys(preprocessors)) {
|
for (const preprocessorName of Object.keys(preprocessors)) {
|
||||||
if (!program[preprocessorName]) {
|
if (!program.opts()[preprocessorName]) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
preprocessOptions[preprocessorName] = JSON5.parse(program[preprocessorName]);
|
preprocessOptions[preprocessorName] = JSON5.parse(program.opts()[preprocessorName]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(const image of decodedFiles){
|
for(const image of decodedFiles){
|
||||||
@@ -155,14 +155,14 @@ async function processFiles(files) {
|
|||||||
const originalFile = results.get(image).file;
|
const originalFile = results.get(image).file;
|
||||||
|
|
||||||
const encodeOptions = {
|
const encodeOptions = {
|
||||||
optimizerButteraugliTarget: Number(program.optimizerButteraugliTarget),
|
optimizerButteraugliTarget: Number(program.opts().optimizerButteraugliTarget),
|
||||||
maxOptimizerRounds: Number(program.maxOptimizerRounds),
|
maxOptimizerRounds: Number(program.opts().maxOptimizerRounds),
|
||||||
}
|
}
|
||||||
for (const encName of Object.keys(encoders)) {
|
for (const encName of Object.keys(encoders)) {
|
||||||
if (!program[encName]) {
|
if (!program.opts()[encName]) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const encParam = program[encName];
|
const encParam = program.opts()[encName];
|
||||||
const encConfig = encParam.toLowerCase() === 'auto' ? 'auto' : JSON5.parse(encParam);
|
const encConfig = encParam.toLowerCase() === 'auto' ? 'auto' : JSON5.parse(encParam);
|
||||||
encodeOptions[encName] = encConfig;
|
encodeOptions[encName] = encConfig;
|
||||||
}
|
}
|
||||||
@@ -170,7 +170,7 @@ async function processFiles(files) {
|
|||||||
const job = image.encode(encodeOptions)
|
const job = image.encode(encodeOptions)
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
jobsFinished++;
|
jobsFinished++;
|
||||||
const outputPath = path.join(program.outputDir, program.suffix + path.basename(originalFile, path.extname(originalFile)));
|
const outputPath = path.join(program.opts().outputDir, program.opts().suffix + path.basename(originalFile, path.extname(originalFile)));
|
||||||
for(const [extension, output] of Object.entries(image.encodedAs)){
|
for(const [extension, output] of Object.entries(image.encodedAs)){
|
||||||
const outputFile = `${outputPath}.${extension}`;
|
const outputFile = `${outputPath}.${extension}`;
|
||||||
await fsp.writeFile(outputFile, (await output).binary);
|
await fsp.writeFile(outputFile, (await output).binary);
|
||||||
|
|||||||
Reference in New Issue
Block a user