codify-images 1.4.1 → 1.4.2

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Devon Powell
3
+ Copyright (c) 2022 Devon Powell
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![Release][Release Badge]][Release Workflow]
7
7
  [![Coverage][Coverage Badge]][Coverage Report]
8
8
  [![Vulnerabilities][Vulnerabilities Badge]][Vulnerabilities Report]
9
- [![Node Version][Node Version Badge]](package.json#L43)
9
+ [![Node Version][Node Version Badge]](package.json#L45)
10
10
 
11
11
  Quick and easy tool for converting a set of images into inline JavaScript.
12
12
 
package/dist/coa.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setUpProgram=void 0;var _package=require("../package.json");var _commander=require("commander");var _fs=require("fs");var _chalk=_interopRequireDefault(require("chalk"));var _codifyImages=require("./codify-images.js");var _mkdirp=require("mkdirp");var _path=require("path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const{blue,green,red,yellow}=_chalk.default;const generateStart=options=>{let output=options.banner===true?"// auto-generated\n":"";if(options.es===5){output+="module.exports = {\n"}return output};const generateLine=(name,data,options)=>{const adjustedData=options.doubleQuotes!==true?`'${data.replace(/'/g,"\\'")}'`:`"${data}"`;const indentType=options.indentType==="tab"?"\t":" ";const indent=indentType.repeat(options.indentCount);return options.es===6?`export const ${name} = ${adjustedData};`:`${indent}${name}: ${adjustedData}`};const generateLineEnding=(options,last)=>{return options.es!==6&&!last?",\n":"\n"};const generateEnd=options=>{return options.es!==6?"};\n":""};const writeOutput=(outputPath,output,options)=>{(0,_mkdirp.nativeSync)(options.output);(0,_fs.writeFileSync)(outputPath,output,{encoding:"utf-8"})};const logStart=message=>{console.log(yellow(message));console.group()};const logInfo=message=>{console.log(blue(message))};const logError=message=>{console.groupEnd();console.log(red(`error: ${message}`))};const logProcessed=(path,name)=>{logInfo(`processed image (${path} => ${name})`)};const logEnd=message=>{console.groupEnd();console.log(green(message))};const generate=options=>{logStart(yellow(`generating exports (${options.input}) ...`));let output=generateStart(options);const images=(0,_codifyImages.codifyImagesSync)(options.input,{log:logProcessed,svgMode:options.svgMode});if(Object.keys(images).length===0){throw new Error("no images available at input path.")}const keys=Object.keys(images);for(const index in keys){const key=keys[index];const data=images[key];output+=generateLine(key,data,options);output+=generateLineEnding(options,index===keys.length-1);logInfo(`writing export (${key})`)}output+=generateEnd(options);const outputPath=(0,_path.resolve)(options.output,"images.js");writeOutput(outputPath,output,options);logEnd(`exports generated (${outputPath})`)};const customParseInt=value=>{const parsedValue=parseInt(value,10);if(isNaN(parsedValue)){throw new _commander.InvalidArgumentError("Must be valid integer.")}else if(parsedValue<=0){throw new _commander.InvalidArgumentError("Must be positive integer.")}return parsedValue};const setUpProgram=program=>{program.name(_package.name).version(_package.version).showHelpAfterError().configureOutput({outputError:(message,write)=>write(red(message))}).argument("<input path>","path to where image files reside",value=>{try{const path=(0,_path.resolve)(value);const stat=(0,_fs.statSync)(path);if(!stat.isDirectory()){throw new _commander.InvalidArgumentError("Must be directory.")}return path}catch(_){throw new _commander.InvalidArgumentError("Must exist.")}}).option("-d, --double-quotes","Use double quotes for output instead of single quotes",false).option("-o, --output <path>","path to write generated files",value=>(0,_path.resolve)(value),"generated").option("-e, --es <version>","version of ESM to generate",value=>{const parsedValue=customParseInt(value);const choicesEs=[5,6];if(!choicesEs.includes(parsedValue)){const choices=choicesEs.join(", ");throw new _commander.InvalidArgumentError(`Allowed choices are ${choices}.`)}return parsedValue},6).option("-c, --indent-count <count>","number of indent elements to output",value=>customParseInt(value),1).option("-B, --no-banner","do not include banner comment at top of generated file",false).addOption(new _commander.Option("-t, --indent-type <type>","type of indent to output").choices(["tab","space"]).default("tab")).addOption(new _commander.Option("-s, --svg-mode <mode>","output mode to use for SVG images").choices(["base64","uri","mini","mini-srcset"]).default("base64")).action((input,opts)=>{if(opts.output==="generated"){opts.output=(0,_path.resolve)(opts.output)}try{generate({input,...opts})}catch(err){logError(err.message);throw err}})};exports.setUpProgram=setUpProgram;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2EuanMiXSwibmFtZXMiOlsiYmx1ZSIsImdyZWVuIiwicmVkIiwieWVsbG93IiwiY2hhbGsiLCJnZW5lcmF0ZVN0YXJ0Iiwib3B0aW9ucyIsIm91dHB1dCIsImJhbm5lciIsImVzIiwiZ2VuZXJhdGVMaW5lIiwibmFtZSIsImRhdGEiLCJhZGp1c3RlZERhdGEiLCJkb3VibGVRdW90ZXMiLCJyZXBsYWNlIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwiZW5jb2RpbmciLCJsb2dTdGFydCIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZ3JvdXAiLCJsb2dJbmZvIiwibG9nRXJyb3IiLCJncm91cEVuZCIsImxvZ1Byb2Nlc3NlZCIsInBhdGgiLCJsb2dFbmQiLCJnZW5lcmF0ZSIsImlucHV0IiwiaW1hZ2VzIiwic3ZnTW9kZSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImluZGV4Iiwia2V5IiwiY3VzdG9tUGFyc2VJbnQiLCJ2YWx1ZSIsInBhcnNlZFZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsIkludmFsaWRBcmd1bWVudEVycm9yIiwic2V0VXBQcm9ncmFtIiwicHJvZ3JhbSIsImNsaU5hbWUiLCJ2ZXJzaW9uIiwiY2xpVmVyc2lvbiIsInNob3dIZWxwQWZ0ZXJFcnJvciIsImNvbmZpZ3VyZU91dHB1dCIsIm91dHB1dEVycm9yIiwid3JpdGUiLCJhcmd1bWVudCIsInN0YXQiLCJpc0RpcmVjdG9yeSIsIl8iLCJvcHRpb24iLCJjaG9pY2VzRXMiLCJpbmNsdWRlcyIsImNob2ljZXMiLCJqb2luIiwiYWRkT3B0aW9uIiwiT3B0aW9uIiwiZGVmYXVsdCIsImFjdGlvbiIsIm9wdHMiLCJlcnIiXSwibWFwcGluZ3MiOiJrR0FBQSx3Q0FDQSxvQ0FDQSxzQkFDQSxv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QyxtQ0FBcEMsRUFDR0gsT0FESCxDQUNXLENBQUMsUUFBRCxDQUFXLEtBQVgsQ0FBa0IsTUFBbEIsQ0FBMEIsYUFBMUIsQ0FEWCxFQUVHSSxPQUZILENBRVcsUUFGWCxDQXJFSixFQXlFR0MsTUF6RUgsQ0F5RVUsQ0FBQ3BDLEtBQUQsQ0FBUXFDLElBQVIsR0FBaUIsQ0FDdkIsR0FBSUEsSUFBSSxDQUFDcEUsTUFBTCxHQUFnQixXQUFwQixDQUFpQyxDQUMvQm9FLElBQUksQ0FBQ3BFLE1BQUwsQ0FBYyxrQkFBUW9FLElBQUksQ0FBQ3BFLE1BQWIsQ0FDZixDQUVELEdBQUksQ0FDRjhCLFFBQVEsQ0FBQyxDQUFFQyxLQUFGLENBQVMsR0FBR3FDLElBQVosQ0FBRCxDQUNULENBQUMsTUFBT0MsR0FBUCxDQUFZLENBQ1o1QyxRQUFRLENBQUM0QyxHQUFHLENBQUNqRCxPQUFMLENBQVIsQ0FFQSxLQUFNaUQsQ0FBQUEsR0FDUCxDQUNGLENBckZILENBc0ZELENBdkZNLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBuYW1lIGFzIGNsaU5hbWUsIHZlcnNpb24gYXMgY2xpVmVyc2lvbiB9IGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgeyBJbnZhbGlkQXJndW1lbnRFcnJvciwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IHN0YXRTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IGNvZGlmeUltYWdlc1N5bmMgfSBmcm9tICcuL2NvZGlmeS1pbWFnZXMuanMnO1xuaW1wb3J0IHsgbmF0aXZlU3luYyBhcyBta2RpcnBTeW5jIH0gZnJvbSAnbWtkaXJwJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJztcblxuY29uc3QgeyBibHVlLCBncmVlbiwgcmVkLCB5ZWxsb3cgfSA9IGNoYWxrO1xuXG5jb25zdCBnZW5lcmF0ZVN0YXJ0ID0gb3B0aW9ucyA9PiB7XG4gIGxldCBvdXRwdXQgPSBvcHRpb25zLmJhbm5lciA9PT0gdHJ1ZSA/ICcvLyBhdXRvLWdlbmVyYXRlZFxcbicgOiAnJztcblxuICBpZiAob3B0aW9ucy5lcyA9PT0gNSkge1xuICAgIG91dHB1dCArPSAnbW9kdWxlLmV4cG9ydHMgPSB7XFxuJztcbiAgfVxuXG4gIHJldHVybiBvdXRwdXQ7XG59O1xuXG5jb25zdCBnZW5lcmF0ZUxpbmUgPSAobmFtZSwgZGF0YSwgb3B0aW9ucykgPT4ge1xuICBjb25zdCBhZGp1c3RlZERhdGEgPSBvcHRpb25zLmRvdWJsZVF1b3RlcyAhPT0gdHJ1ZSA/XG4gICAgYCcke2RhdGEucmVwbGFjZSgvJy9nLCAnXFxcXFxcJycpfSdgIDpcbiAgICBgXCIke2RhdGF9XCJgO1xuICBjb25zdCBpbmRlbnRUeXBlID0gb3B0aW9ucy5pbmRlbnRUeXBlID09PSAndGFiJyA/ICdcXHQnIDogJyAnO1xuICBjb25zdCBpbmRlbnQgPSBpbmRlbnRUeXBlLnJlcGVhdChvcHRpb25zLmluZGVudENvdW50KTtcblxuICByZXR1cm4gb3B0aW9ucy5lcyA9PT0gNiA/XG4gICAgYGV4cG9ydCBjb25zdCAke25hbWV9ID0gJHthZGp1c3RlZERhdGF9O2AgOlxuICAgIGAke2luZGVudH0ke25hbWV9OiAke2FkanVzdGVkRGF0YX1gO1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lRW5kaW5nID0gKG9wdGlvbnMsIGxhc3QpID0+IHtcbiAgcmV0dXJuIG9wdGlvbnMuZXMgIT09IDYgJiYgIWxhc3QgPyAnLFxcbicgOiAnXFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlRW5kID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ID8gJ307XFxuJyA6ICcnO1xufTtcblxuY29uc3Qgd3JpdGVPdXRwdXQgPSAob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKSA9PiB7XG4gIG1rZGlycFN5bmMob3B0aW9ucy5vdXRwdXQpO1xuICB3cml0ZUZpbGVTeW5jKG91dHB1dFBhdGgsIG91dHB1dCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbn07XG5cbmNvbnN0IGxvZ1N0YXJ0ID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKHllbGxvdyhtZXNzYWdlKSk7XG4gIGNvbnNvbGUuZ3JvdXAoKTtcbn07XG5cbmNvbnN0IGxvZ0luZm8gPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5sb2coYmx1ZShtZXNzYWdlKSk7XG59O1xuXG5jb25zdCBsb2dFcnJvciA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKHJlZChgZXJyb3I6ICR7bWVzc2FnZX1gKSk7XG59O1xuXG5jb25zdCBsb2dQcm9jZXNzZWQgPSAocGF0aCwgbmFtZSkgPT4ge1xuICBsb2dJbmZvKGBwcm9jZXNzZWQgaW1hZ2UgKCR7cGF0aH0gPT4gJHtuYW1lfSlgKTtcbn07XG5cbmNvbnN0IGxvZ0VuZCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKGdyZWVuKG1lc3NhZ2UpKTtcbn07XG5cbmNvbnN0IGdlbmVyYXRlID0gb3B0aW9ucyA9PiB7XG4gIGxvZ1N0YXJ0KHllbGxvdyhgZ2VuZXJhdGluZyBleHBvcnRzICgke29wdGlvbnMuaW5wdXR9KSAuLi5gKSk7XG5cbiAgbGV0IG91dHB1dCA9IGdlbmVyYXRlU3RhcnQob3B0aW9ucyk7XG4gIGNvbnN0IGltYWdlcyA9IGNvZGlmeUltYWdlc1N5bmMoXG4gICAgb3B0aW9ucy5pbnB1dCxcbiAgICB7IGxvZzogbG9nUHJvY2Vzc2VkLCBzdmdNb2RlOiBvcHRpb25zLnN2Z01vZGUgfVxuICApO1xuXG4gIGlmIChPYmplY3Qua2V5cyhpbWFnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm8gaW1hZ2VzIGF2YWlsYWJsZSBhdCBpbnB1dCBwYXRoLicpO1xuICB9XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGltYWdlcyk7XG5cbiAgZm9yIChjb25zdCBpbmRleCBpbiBrZXlzKSB7XG4gICAgY29uc3Qga2V5ID0ga2V5c1tpbmRleF07XG4gICAgY29uc3QgZGF0YSA9IGltYWdlc1trZXldO1xuXG4gICAgb3V0cHV0ICs9IGdlbmVyYXRlTGluZShrZXksIGRhdGEsIG9wdGlvbnMpO1xuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmVFbmRpbmcob3B0aW9ucywgaW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSk7XG5cbiAgICBsb2dJbmZvKGB3cml0aW5nIGV4cG9ydCAoJHtrZXl9KWApO1xuICB9XG5cbiAgb3V0cHV0ICs9IGdlbmVyYXRlRW5kKG9wdGlvbnMpO1xuXG4gIGNvbnN0IG91dHB1dFBhdGggPSByZXNvbHZlKG9wdGlvbnMub3V0cHV0LCAnaW1hZ2VzLmpzJyk7XG5cbiAgd3JpdGVPdXRwdXQob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKTtcbiAgbG9nRW5kKGBleHBvcnRzIGdlbmVyYXRlZCAoJHtvdXRwdXRQYXRofSlgKTtcbn07XG5cbmNvbnN0IGN1c3RvbVBhcnNlSW50ID0gdmFsdWUgPT4ge1xuICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBiZSB2YWxpZCBpbnRlZ2VyLicpO1xuICB9IGVsc2UgaWYgKHBhcnNlZFZhbHVlIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgcG9zaXRpdmUgaW50ZWdlci4nKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWRWYWx1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRVcFByb2dyYW0gPSBwcm9ncmFtID0+IHtcbiAgcHJvZ3JhbVxuICAgIC5uYW1lKGNsaU5hbWUpXG4gICAgLnZlcnNpb24oY2xpVmVyc2lvbilcbiAgICAuc2hvd0hlbHBBZnRlckVycm9yKClcbiAgICAuY29uZmlndXJlT3V0cHV0KHsgb3V0cHV0RXJyb3I6IChtZXNzYWdlLCB3cml0ZSkgPT4gd3JpdGUocmVkKG1lc3NhZ2UpKSB9KVxuICAgIC5hcmd1bWVudChcbiAgICAgICc8aW5wdXQgcGF0aD4nLFxuICAgICAgJ3BhdGggdG8gd2hlcmUgaW1hZ2UgZmlsZXMgcmVzaWRlJyxcbiAgICAgIHZhbHVlID0+IHtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICBjb25zdCBzdGF0ID0gc3RhdFN5bmMocGF0aCk7XG5cbiAgICAgICAgICBpZiAoIXN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIGRpcmVjdG9yeS4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBleGlzdC4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1kLCAtLWRvdWJsZS1xdW90ZXMnLFxuICAgICAgJ1VzZSBkb3VibGUgcXVvdGVzIGZvciBvdXRwdXQgaW5zdGVhZCBvZiBzaW5nbGUgcXVvdGVzJyxcbiAgICAgIGZhbHNlXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLW8sIC0tb3V0cHV0IDxwYXRoPicsXG4gICAgICAncGF0aCB0byB3cml0ZSBnZW5lcmF0ZWQgZmlsZXMnLFxuICAgICAgdmFsdWUgPT4gcmVzb2x2ZSh2YWx1ZSksXG4gICAgICAnZ2VuZXJhdGVkJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1lLCAtLWVzIDx2ZXJzaW9uPicsXG4gICAgICAndmVyc2lvbiBvZiBFU00gdG8gZ2VuZXJhdGUnLFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGN1c3RvbVBhcnNlSW50KHZhbHVlKTtcbiAgICAgICAgY29uc3QgY2hvaWNlc0VzID0gWzUsIDZdO1xuXG4gICAgICAgIGlmICghY2hvaWNlc0VzLmluY2x1ZGVzKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGNob2ljZXMgPSBjaG9pY2VzRXMuam9pbignLCAnKTtcblxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgQWxsb3dlZCBjaG9pY2VzIGFyZSAke2Nob2ljZXN9LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcnNlZFZhbHVlO1xuICAgICAgfSxcbiAgICAgIDZcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctYywgLS1pbmRlbnQtY291bnQgPGNvdW50PicsXG4gICAgICAnbnVtYmVyIG9mIGluZGVudCBlbGVtZW50cyB0byBvdXRwdXQnLFxuICAgICAgdmFsdWUgPT4gY3VzdG9tUGFyc2VJbnQodmFsdWUpLFxuICAgICAgMVxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1CLCAtLW5vLWJhbm5lcicsXG4gICAgICAnZG8gbm90IGluY2x1ZGUgYmFubmVyIGNvbW1lbnQgYXQgdG9wIG9mIGdlbmVyYXRlZCBmaWxlJyxcbiAgICAgIGZhbHNlXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctdCwgLS1pbmRlbnQtdHlwZSA8dHlwZT4nLCAndHlwZSBvZiBpbmRlbnQgdG8gb3V0cHV0JylcbiAgICAgICAgLmNob2ljZXMoWyd0YWInLCAnc3BhY2UnXSlcbiAgICAgICAgLmRlZmF1bHQoJ3RhYicpXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctcywgLS1zdmctbW9kZSA8bW9kZT4nLCAnb3V0cHV0IG1vZGUgdG8gdXNlIGZvciBTVkcgaW1hZ2VzJylcbiAgICAgICAgLmNob2ljZXMoWydiYXNlNjQnLCAndXJpJywgJ21pbmknLCAnbWluaS1zcmNzZXQnXSlcbiAgICAgICAgLmRlZmF1bHQoJ2Jhc2U2NCcpXG4gICAgKVxuICAgIC5hY3Rpb24oKGlucHV0LCBvcHRzKSA9PiB7XG4gICAgICBpZiAob3B0cy5vdXRwdXQgPT09ICdnZW5lcmF0ZWQnKSB7XG4gICAgICAgIG9wdHMub3V0cHV0ID0gcmVzb2x2ZShvcHRzLm91dHB1dCk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGdlbmVyYXRlKHsgaW5wdXQsIC4uLm9wdHMgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nRXJyb3IoZXJyLm1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9KTtcbn07XG4iXX0=
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setUpProgram=void 0;var _package=require("../package.json");var _commander=require("commander");var _fs=require("fs");var _chalk=_interopRequireDefault(require("chalk"));var _codifyImages=require("./codify-images.js");var _mkdirp=require("mkdirp");var _path=require("path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const{blue,green,red,yellow}=_chalk.default;const generateStart=options=>{let output=options.banner===true?"// auto-generated\n":"";if(options.es===5){output+="module.exports = {\n"}return output};const generateLine=(name,data,options)=>{const adjustedData=options.doubleQuotes!==true?`'${data.replace(/'/g,"\\'")}'`:`"${data}"`;const indentType=options.indentType==="tab"?"\t":" ";const indent=indentType.repeat(options.indentCount);return options.es===6?`export const ${name} = ${adjustedData};`:`${indent}${name}: ${adjustedData}`};const generateLineEnding=(options,last)=>{return options.es!==6&&!last?",\n":"\n"};const generateEnd=options=>{return options.es!==6?"};\n":""};const writeOutput=(outputPath,output,options)=>{(0,_mkdirp.nativeSync)(options.output);(0,_fs.writeFileSync)(outputPath,output,{encoding:"utf-8"})};const logStart=message=>{console.log(yellow(message));console.group()};const logInfo=message=>{console.log(blue(message))};const logError=message=>{console.groupEnd();console.log(red(`error: ${message}`))};const logProcessed=(path,name)=>{logInfo(`processed image (${path} => ${name})`)};const logEnd=message=>{console.groupEnd();console.log(green(message))};const generate=options=>{logStart(yellow(`generating exports (${options.input}) ...`));let output=generateStart(options);const images=(0,_codifyImages.codifyImagesSync)(options.input,{log:logProcessed,svgMode:options.svgMode});if(Object.keys(images).length===0){throw new Error("no images available at input path.")}const keys=Object.keys(images);for(const index in keys){const key=keys[index];const data=images[key];output+=generateLine(key,data,options);output+=generateLineEnding(options,index===keys.length-1);logInfo(`writing export (${key})`)}output+=generateEnd(options);const outputPath=(0,_path.resolve)(options.output,"images.js");writeOutput(outputPath,output,options);logEnd(`exports generated (${outputPath})`)};const customParseInt=value=>{const parsedValue=parseInt(value,10);if(isNaN(parsedValue)){throw new _commander.InvalidArgumentError("Must be valid integer.")}else if(parsedValue<=0){throw new _commander.InvalidArgumentError("Must be positive integer.")}return parsedValue};const setUpProgram=program=>{program.name(_package.name).version(_package.version).showHelpAfterError().configureOutput({outputError:(message,write)=>write(red(message))}).argument("<input path>","path to where image files reside",value=>{try{const path=(0,_path.resolve)(value);const stat=(0,_fs.statSync)(path);if(!stat.isDirectory()){throw new _commander.InvalidArgumentError("Must be directory.")}return path}catch(_){throw new _commander.InvalidArgumentError("Must exist.")}}).option("-d, --double-quotes","Use double quotes for output instead of single quotes",false).option("-o, --output <path>","path to write generated files",value=>(0,_path.resolve)(value),"generated").option("-e, --es <version>","version of ESM to generate",value=>{const parsedValue=customParseInt(value);const choicesEs=[5,6];if(!choicesEs.includes(parsedValue)){const choices=choicesEs.join(", ");throw new _commander.InvalidArgumentError(`Allowed choices are ${choices}.`)}return parsedValue},6).option("-c, --indent-count <count>","number of indent elements to output",value=>customParseInt(value),1).option("-B, --no-banner","do not include banner comment at top of generated file").addOption(new _commander.Option("-t, --indent-type <type>","type of indent to output").choices(["tab","space"]).default("tab")).addOption(new _commander.Option("-s, --svg-mode <mode>","output mode to use for SVG images").choices(["base64","uri","mini","mini-srcset"]).default("base64")).action((input,opts)=>{if(opts.output==="generated"){opts.output=(0,_path.resolve)(opts.output)}try{generate({input,...opts})}catch(err){logError(err.message);throw err}})};exports.setUpProgram=setUpProgram;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2EuanMiXSwibmFtZXMiOlsiYmx1ZSIsImdyZWVuIiwicmVkIiwieWVsbG93IiwiY2hhbGsiLCJnZW5lcmF0ZVN0YXJ0Iiwib3B0aW9ucyIsIm91dHB1dCIsImJhbm5lciIsImVzIiwiZ2VuZXJhdGVMaW5lIiwibmFtZSIsImRhdGEiLCJhZGp1c3RlZERhdGEiLCJkb3VibGVRdW90ZXMiLCJyZXBsYWNlIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwiZW5jb2RpbmciLCJsb2dTdGFydCIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZ3JvdXAiLCJsb2dJbmZvIiwibG9nRXJyb3IiLCJncm91cEVuZCIsImxvZ1Byb2Nlc3NlZCIsInBhdGgiLCJsb2dFbmQiLCJnZW5lcmF0ZSIsImlucHV0IiwiaW1hZ2VzIiwic3ZnTW9kZSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImluZGV4Iiwia2V5IiwiY3VzdG9tUGFyc2VJbnQiLCJ2YWx1ZSIsInBhcnNlZFZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsIkludmFsaWRBcmd1bWVudEVycm9yIiwic2V0VXBQcm9ncmFtIiwicHJvZ3JhbSIsImNsaU5hbWUiLCJ2ZXJzaW9uIiwiY2xpVmVyc2lvbiIsInNob3dIZWxwQWZ0ZXJFcnJvciIsImNvbmZpZ3VyZU91dHB1dCIsIm91dHB1dEVycm9yIiwid3JpdGUiLCJhcmd1bWVudCIsInN0YXQiLCJpc0RpcmVjdG9yeSIsIl8iLCJvcHRpb24iLCJjaG9pY2VzRXMiLCJpbmNsdWRlcyIsImNob2ljZXMiLCJqb2luIiwiYWRkT3B0aW9uIiwiT3B0aW9uIiwiZGVmYXVsdCIsImFjdGlvbiIsIm9wdHMiLCJlcnIiXSwibWFwcGluZ3MiOiJrR0FBQSx3Q0FDQSxvQ0FDQSxzQkFDQSxv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R0gsT0FESCxDQUNXLENBQUMsUUFBRCxDQUFXLEtBQVgsQ0FBa0IsTUFBbEIsQ0FBMEIsYUFBMUIsQ0FEWCxFQUVHSSxPQUZILENBRVcsUUFGWCxDQW5FSixFQXVFR0MsTUF2RUgsQ0F1RVUsQ0FBQ3BDLEtBQUQsQ0FBUXFDLElBQVIsR0FBaUIsQ0FDdkIsR0FBSUEsSUFBSSxDQUFDcEUsTUFBTCxHQUFnQixXQUFwQixDQUFpQyxDQUMvQm9FLElBQUksQ0FBQ3BFLE1BQUwsQ0FBYyxrQkFBUW9FLElBQUksQ0FBQ3BFLE1BQWIsQ0FDZixDQUVELEdBQUksQ0FDRjhCLFFBQVEsQ0FBQyxDQUFFQyxLQUFGLENBQVMsR0FBR3FDLElBQVosQ0FBRCxDQUNULENBQUMsTUFBT0MsR0FBUCxDQUFZLENBQ1o1QyxRQUFRLENBQUM0QyxHQUFHLENBQUNqRCxPQUFMLENBQVIsQ0FFQSxLQUFNaUQsQ0FBQUEsR0FDUCxDQUNGLENBbkZILENBb0ZELENBckZNLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBuYW1lIGFzIGNsaU5hbWUsIHZlcnNpb24gYXMgY2xpVmVyc2lvbiB9IGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgeyBJbnZhbGlkQXJndW1lbnRFcnJvciwgT3B0aW9uIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IHN0YXRTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IGNvZGlmeUltYWdlc1N5bmMgfSBmcm9tICcuL2NvZGlmeS1pbWFnZXMuanMnO1xuaW1wb3J0IHsgbmF0aXZlU3luYyBhcyBta2RpcnBTeW5jIH0gZnJvbSAnbWtkaXJwJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJztcblxuY29uc3QgeyBibHVlLCBncmVlbiwgcmVkLCB5ZWxsb3cgfSA9IGNoYWxrO1xuXG5jb25zdCBnZW5lcmF0ZVN0YXJ0ID0gb3B0aW9ucyA9PiB7XG4gIGxldCBvdXRwdXQgPSBvcHRpb25zLmJhbm5lciA9PT0gdHJ1ZSA/ICcvLyBhdXRvLWdlbmVyYXRlZFxcbicgOiAnJztcblxuICBpZiAob3B0aW9ucy5lcyA9PT0gNSkge1xuICAgIG91dHB1dCArPSAnbW9kdWxlLmV4cG9ydHMgPSB7XFxuJztcbiAgfVxuXG4gIHJldHVybiBvdXRwdXQ7XG59O1xuXG5jb25zdCBnZW5lcmF0ZUxpbmUgPSAobmFtZSwgZGF0YSwgb3B0aW9ucykgPT4ge1xuICBjb25zdCBhZGp1c3RlZERhdGEgPSBvcHRpb25zLmRvdWJsZVF1b3RlcyAhPT0gdHJ1ZSA/XG4gICAgYCcke2RhdGEucmVwbGFjZSgvJy9nLCAnXFxcXFxcJycpfSdgIDpcbiAgICBgXCIke2RhdGF9XCJgO1xuICBjb25zdCBpbmRlbnRUeXBlID0gb3B0aW9ucy5pbmRlbnRUeXBlID09PSAndGFiJyA/ICdcXHQnIDogJyAnO1xuICBjb25zdCBpbmRlbnQgPSBpbmRlbnRUeXBlLnJlcGVhdChvcHRpb25zLmluZGVudENvdW50KTtcblxuICByZXR1cm4gb3B0aW9ucy5lcyA9PT0gNiA/XG4gICAgYGV4cG9ydCBjb25zdCAke25hbWV9ID0gJHthZGp1c3RlZERhdGF9O2AgOlxuICAgIGAke2luZGVudH0ke25hbWV9OiAke2FkanVzdGVkRGF0YX1gO1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lRW5kaW5nID0gKG9wdGlvbnMsIGxhc3QpID0+IHtcbiAgcmV0dXJuIG9wdGlvbnMuZXMgIT09IDYgJiYgIWxhc3QgPyAnLFxcbicgOiAnXFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlRW5kID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ID8gJ307XFxuJyA6ICcnO1xufTtcblxuY29uc3Qgd3JpdGVPdXRwdXQgPSAob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKSA9PiB7XG4gIG1rZGlycFN5bmMob3B0aW9ucy5vdXRwdXQpO1xuICB3cml0ZUZpbGVTeW5jKG91dHB1dFBhdGgsIG91dHB1dCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbn07XG5cbmNvbnN0IGxvZ1N0YXJ0ID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKHllbGxvdyhtZXNzYWdlKSk7XG4gIGNvbnNvbGUuZ3JvdXAoKTtcbn07XG5cbmNvbnN0IGxvZ0luZm8gPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5sb2coYmx1ZShtZXNzYWdlKSk7XG59O1xuXG5jb25zdCBsb2dFcnJvciA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKHJlZChgZXJyb3I6ICR7bWVzc2FnZX1gKSk7XG59O1xuXG5jb25zdCBsb2dQcm9jZXNzZWQgPSAocGF0aCwgbmFtZSkgPT4ge1xuICBsb2dJbmZvKGBwcm9jZXNzZWQgaW1hZ2UgKCR7cGF0aH0gPT4gJHtuYW1lfSlgKTtcbn07XG5cbmNvbnN0IGxvZ0VuZCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKGdyZWVuKG1lc3NhZ2UpKTtcbn07XG5cbmNvbnN0IGdlbmVyYXRlID0gb3B0aW9ucyA9PiB7XG4gIGxvZ1N0YXJ0KHllbGxvdyhgZ2VuZXJhdGluZyBleHBvcnRzICgke29wdGlvbnMuaW5wdXR9KSAuLi5gKSk7XG5cbiAgbGV0IG91dHB1dCA9IGdlbmVyYXRlU3RhcnQob3B0aW9ucyk7XG4gIGNvbnN0IGltYWdlcyA9IGNvZGlmeUltYWdlc1N5bmMoXG4gICAgb3B0aW9ucy5pbnB1dCxcbiAgICB7IGxvZzogbG9nUHJvY2Vzc2VkLCBzdmdNb2RlOiBvcHRpb25zLnN2Z01vZGUgfVxuICApO1xuXG4gIGlmIChPYmplY3Qua2V5cyhpbWFnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm8gaW1hZ2VzIGF2YWlsYWJsZSBhdCBpbnB1dCBwYXRoLicpO1xuICB9XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGltYWdlcyk7XG5cbiAgZm9yIChjb25zdCBpbmRleCBpbiBrZXlzKSB7XG4gICAgY29uc3Qga2V5ID0ga2V5c1tpbmRleF07XG4gICAgY29uc3QgZGF0YSA9IGltYWdlc1trZXldO1xuXG4gICAgb3V0cHV0ICs9IGdlbmVyYXRlTGluZShrZXksIGRhdGEsIG9wdGlvbnMpO1xuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmVFbmRpbmcob3B0aW9ucywgaW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSk7XG5cbiAgICBsb2dJbmZvKGB3cml0aW5nIGV4cG9ydCAoJHtrZXl9KWApO1xuICB9XG5cbiAgb3V0cHV0ICs9IGdlbmVyYXRlRW5kKG9wdGlvbnMpO1xuXG4gIGNvbnN0IG91dHB1dFBhdGggPSByZXNvbHZlKG9wdGlvbnMub3V0cHV0LCAnaW1hZ2VzLmpzJyk7XG5cbiAgd3JpdGVPdXRwdXQob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKTtcbiAgbG9nRW5kKGBleHBvcnRzIGdlbmVyYXRlZCAoJHtvdXRwdXRQYXRofSlgKTtcbn07XG5cbmNvbnN0IGN1c3RvbVBhcnNlSW50ID0gdmFsdWUgPT4ge1xuICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBiZSB2YWxpZCBpbnRlZ2VyLicpO1xuICB9IGVsc2UgaWYgKHBhcnNlZFZhbHVlIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgcG9zaXRpdmUgaW50ZWdlci4nKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWRWYWx1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRVcFByb2dyYW0gPSBwcm9ncmFtID0+IHtcbiAgcHJvZ3JhbVxuICAgIC5uYW1lKGNsaU5hbWUpXG4gICAgLnZlcnNpb24oY2xpVmVyc2lvbilcbiAgICAuc2hvd0hlbHBBZnRlckVycm9yKClcbiAgICAuY29uZmlndXJlT3V0cHV0KHsgb3V0cHV0RXJyb3I6IChtZXNzYWdlLCB3cml0ZSkgPT4gd3JpdGUocmVkKG1lc3NhZ2UpKSB9KVxuICAgIC5hcmd1bWVudChcbiAgICAgICc8aW5wdXQgcGF0aD4nLFxuICAgICAgJ3BhdGggdG8gd2hlcmUgaW1hZ2UgZmlsZXMgcmVzaWRlJyxcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXRoID0gcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgY29uc3Qgc3RhdCA9IHN0YXRTeW5jKHBhdGgpO1xuXG4gICAgICAgICAgaWYgKCFzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBiZSBkaXJlY3RvcnkuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgZXhpc3QuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctZCwgLS1kb3VibGUtcXVvdGVzJyxcbiAgICAgICdVc2UgZG91YmxlIHF1b3RlcyBmb3Igb3V0cHV0IGluc3RlYWQgb2Ygc2luZ2xlIHF1b3RlcycsXG4gICAgICBmYWxzZVxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1vLCAtLW91dHB1dCA8cGF0aD4nLFxuICAgICAgJ3BhdGggdG8gd3JpdGUgZ2VuZXJhdGVkIGZpbGVzJyxcbiAgICAgIHZhbHVlID0+IHJlc29sdmUodmFsdWUpLFxuICAgICAgJ2dlbmVyYXRlZCdcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctZSwgLS1lcyA8dmVyc2lvbj4nLFxuICAgICAgJ3ZlcnNpb24gb2YgRVNNIHRvIGdlbmVyYXRlJyxcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBjdXN0b21QYXJzZUludCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNob2ljZXNFcyA9IFs1LCA2XTtcblxuICAgICAgICBpZiAoIWNob2ljZXNFcy5pbmNsdWRlcyhwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBjaG9pY2VzID0gY2hvaWNlc0VzLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEFsbG93ZWQgY2hvaWNlcyBhcmUgJHtjaG9pY2VzfS5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJzZWRWYWx1ZTtcbiAgICAgIH0sXG4gICAgICA2XG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWMsIC0taW5kZW50LWNvdW50IDxjb3VudD4nLFxuICAgICAgJ251bWJlciBvZiBpbmRlbnQgZWxlbWVudHMgdG8gb3V0cHV0JyxcbiAgICAgIHZhbHVlID0+IGN1c3RvbVBhcnNlSW50KHZhbHVlKSxcbiAgICAgIDFcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctQiwgLS1uby1iYW5uZXInLFxuICAgICAgJ2RvIG5vdCBpbmNsdWRlIGJhbm5lciBjb21tZW50IGF0IHRvcCBvZiBnZW5lcmF0ZWQgZmlsZSdcbiAgICApXG4gICAgLmFkZE9wdGlvbihcbiAgICAgIG5ldyBPcHRpb24oJy10LCAtLWluZGVudC10eXBlIDx0eXBlPicsICd0eXBlIG9mIGluZGVudCB0byBvdXRwdXQnKVxuICAgICAgICAuY2hvaWNlcyhbJ3RhYicsICdzcGFjZSddKVxuICAgICAgICAuZGVmYXVsdCgndGFiJylcbiAgICApXG4gICAgLmFkZE9wdGlvbihcbiAgICAgIG5ldyBPcHRpb24oJy1zLCAtLXN2Zy1tb2RlIDxtb2RlPicsICdvdXRwdXQgbW9kZSB0byB1c2UgZm9yIFNWRyBpbWFnZXMnKVxuICAgICAgICAuY2hvaWNlcyhbJ2Jhc2U2NCcsICd1cmknLCAnbWluaScsICdtaW5pLXNyY3NldCddKVxuICAgICAgICAuZGVmYXVsdCgnYmFzZTY0JylcbiAgICApXG4gICAgLmFjdGlvbigoaW5wdXQsIG9wdHMpID0+IHtcbiAgICAgIGlmIChvcHRzLm91dHB1dCA9PT0gJ2dlbmVyYXRlZCcpIHtcbiAgICAgICAgb3B0cy5vdXRwdXQgPSByZXNvbHZlKG9wdHMub3V0cHV0KTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgZ2VuZXJhdGUoeyBpbnB1dCwgLi4ub3B0cyB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBsb2dFcnJvcihlcnIubWVzc2FnZSk7XG5cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH0pO1xufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codify-images",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "Quick and easy tool for converting a set of images into inline JavaScript",
5
5
  "main": "dist/codify-images.js",
6
6
  "bin": {
@@ -35,6 +35,7 @@
35
35
  },
36
36
  "homepage": "https://github.com/devpow112/codify-images#readme",
37
37
  "files": [
38
+ "bin/**/*",
38
39
  "dist/**/*.js"
39
40
  ],
40
41
  "directories": {
@@ -46,31 +47,32 @@
46
47
  },
47
48
  "dependencies": {
48
49
  "chalk": "^4.1.2",
49
- "commander": "^8.3.0",
50
+ "commander": "^9.0.0",
50
51
  "lodash.camelcase": "^4.3.0",
51
52
  "mini-svg-data-uri": "^1.4.3",
52
53
  "mkdirp": "^1.0.4"
53
54
  },
54
55
  "devDependencies": {
55
- "@babel/cli": "^7.16.0",
56
- "@babel/core": "^7.16.0",
57
- "@babel/preset-env": "^7.16.0",
58
- "@babel/register": "^7.16.0",
59
- "@commitlint/cli": "^14.1.0",
60
- "@commitlint/config-conventional": "^14.1.0",
56
+ "@babel/cli": "^7.16.8",
57
+ "@babel/core": "^7.16.12",
58
+ "@babel/preset-env": "^7.16.11",
59
+ "@babel/register": "^7.16.9",
60
+ "@commitlint/cli": "^16.1.0",
61
+ "@commitlint/config-conventional": "^16.0.0",
62
+ "@devpow112/eslint-config": "^1.0.3",
61
63
  "@semantic-release/git": "^10.0.1",
62
64
  "babel-plugin-add-module-exports": "^1.0.4",
63
- "chai": "^4.3.4",
64
- "conventional-changelog-conventionalcommits": "^4.6.1",
65
- "eslint": "^8.2.0",
65
+ "chai": "^4.3.6",
66
+ "conventional-changelog-conventionalcommits": "^4.6.3",
67
+ "eslint": "^8.7.0",
66
68
  "eslint-plugin-chai-friendly": "^0.7.2",
67
- "eslint-plugin-mocha": "^9.0.0",
68
- "markdownlint-cli": "^0.29.0",
69
- "mocha": "^9.1.3",
69
+ "eslint-plugin-mocha": "^10.0.3",
70
+ "markdownlint-cli": "^0.30.0",
71
+ "mocha": "^9.2.0",
70
72
  "npm-run-all": "^4.1.5",
71
73
  "nyc": "^15.1.0",
72
74
  "rimraf": "^3.0.2",
73
- "semantic-release": "^18.0.0",
74
- "sinon": "^12.0.1"
75
+ "semantic-release": "^19.0.2",
76
+ "sinon": "^13.0.0"
75
77
  }
76
78
  }