diff --git a/cli/package-lock.json b/cli/package-lock.json index bd3c17ca..407a1a0b 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -89,9 +89,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, "defaults": { "version": "1.0.3", diff --git a/cli/package.json b/cli/package.json index 8c1cf606..44bf1341 100644 --- a/cli/package.json +++ b/cli/package.json @@ -16,7 +16,7 @@ "license": "Apache-2.0", "dependencies": { "@squoosh/api": "0.1.0", - "commander": "^6.2.1", + "commander": "^7.2.0", "json5": "^2.2.0", "kleur": "^4.1.4", "ora": "^5.4.0" diff --git a/cli/src/index.js b/cli/src/index.js index b58d64ff..26651120 100755 --- a/cli/src/index.js +++ b/cli/src/index.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { program } from 'commander'; +import { program } from 'commander/esm.mjs'; import JSON5 from 'json5'; import path from 'path'; import { promises as fsp } from 'fs'; @@ -112,7 +112,7 @@ async function processFiles(files) { progress.setProgress(0, files.length); // Create output directory - await fsp.mkdir(program.outputDir, { recursive: true }); + await fsp.mkdir(program.opts().outputDir, { recursive: true }); let decoded = 0; let decodedFiles = await Promise.all( @@ -132,10 +132,10 @@ async function processFiles(files) { const preprocessOptions = {}; for (const preprocessorName of Object.keys(preprocessors)) { - if (!program[preprocessorName]) { + if (!program.opts()[preprocessorName]) { continue; } - preprocessOptions[preprocessorName] = JSON5.parse(program[preprocessorName]); + preprocessOptions[preprocessorName] = JSON5.parse(program.opts()[preprocessorName]); } for(const image of decodedFiles){ @@ -155,14 +155,14 @@ async function processFiles(files) { const originalFile = results.get(image).file; const encodeOptions = { - optimizerButteraugliTarget: Number(program.optimizerButteraugliTarget), - maxOptimizerRounds: Number(program.maxOptimizerRounds), + optimizerButteraugliTarget: Number(program.opts().optimizerButteraugliTarget), + maxOptimizerRounds: Number(program.opts().maxOptimizerRounds), } for (const encName of Object.keys(encoders)) { - if (!program[encName]) { + if (!program.opts()[encName]) { continue; } - const encParam = program[encName]; + const encParam = program.opts()[encName]; const encConfig = encParam.toLowerCase() === 'auto' ? 'auto' : JSON5.parse(encParam); encodeOptions[encName] = encConfig; } @@ -170,7 +170,7 @@ async function processFiles(files) { const job = image.encode(encodeOptions) .then(async () => { 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)){ const outputFile = `${outputPath}.${extension}`; await fsp.writeFile(outputFile, (await output).binary);