codify-images 1.0.1 → 1.1.0

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/dist/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var _chalk=require("chalk");var _package=require("../package.json");var _commander=require("commander");var _fs=require("fs");var _2=require("../");var _path=require("path");const generateStart=options=>{return options.es===6?"":"module.exports = {\n"};const generateLine=(name,data,options)=>{const adjustedData=`'${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)=>{if(!(0,_fs.existsSync)(options.output)){(0,_fs.mkdirSync)(options.output)}(0,_fs.writeFileSync)(outputPath,output,{encoding:"utf-8"})};const logStart=message=>{console.log((0,_chalk.yellow)(message));console.group()};const logInfo=message=>{console.log((0,_chalk.blue)(message))};const logError=message=>{console.error(`error: ${(0,_chalk.red)(message)}`);console.groupEnd()};const logProcessed=(path,name)=>{logInfo(`processed image (${path} => ${name})`)};const logEnd=message=>{console.groupEnd();console.log((0,_chalk.green)(message))};const generate=options=>{logStart((0,_chalk.yellow)(`generating exports (${options.input}) ...`));let output=generateStart(options);const images=(0,_2.codifyImagesSync)(options.input,{log:logProcessed});if(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 customResolve=value=>{try{return(0,_path.resolve)(value)}catch(_){throw new _commander.InvalidArgumentError("Must be valid.")}};const main=()=>{const program=new _commander.Command(_package.name);program.version(_package.version).showHelpAfterError().configureOutput({outputError:(message,write)=>write((0,_chalk.red)(message))}).argument("<input path>","path to where image files reside",value=>{const path=customResolve(value);try{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("-o, --output <path>","path to write generated files",value=>customResolve(value),"generated").option("-e, --es <version>","ESM version to generate",value=>{const parsedValue=customParseInt(value,10);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,10),1).addOption(new _commander.Option("-t, --indent-type <type>","type of indent to output").choices(["tab","space"]).default("tab")).action((_,opts)=>{if(opts.output==="generated"){opts.output=(0,_path.resolve)(opts.output)}}).parse(process.argv);const programOptions=program.opts();const programArguments=program.processedArgs;const options={input:programArguments[0],...programOptions};generate(options)};try{main()}catch(err){logError(err);process.exit(1)}
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Jpbi9jbGkuanMiXSwibmFtZXMiOlsiZ2VuZXJhdGVTdGFydCIsIm9wdGlvbnMiLCJlcyIsImdlbmVyYXRlTGluZSIsIm5hbWUiLCJkYXRhIiwiYWRqdXN0ZWREYXRhIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwib3V0cHV0IiwiZW5jb2RpbmciLCJsb2dTdGFydCIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZ3JvdXAiLCJsb2dJbmZvIiwibG9nRXJyb3IiLCJlcnJvciIsImdyb3VwRW5kIiwibG9nUHJvY2Vzc2VkIiwicGF0aCIsImxvZ0VuZCIsImdlbmVyYXRlIiwiaW5wdXQiLCJpbWFnZXMiLCJsZW5ndGgiLCJFcnJvciIsImtleXMiLCJPYmplY3QiLCJpbmRleCIsImtleSIsImN1c3RvbVBhcnNlSW50IiwidmFsdWUiLCJwYXJzZWRWYWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJJbnZhbGlkQXJndW1lbnRFcnJvciIsImN1c3RvbVJlc29sdmUiLCJfIiwibWFpbiIsInByb2dyYW0iLCJDb21tYW5kIiwiY2xpTmFtZSIsInZlcnNpb24iLCJjbGlWZXJzaW9uIiwic2hvd0hlbHBBZnRlckVycm9yIiwiY29uZmlndXJlT3V0cHV0Iiwib3V0cHV0RXJyb3IiLCJ3cml0ZSIsImFyZ3VtZW50Iiwic3RhdCIsImlzRGlyZWN0b3J5Iiwib3B0aW9uIiwiY2hvaWNlc0VzIiwiaW5jbHVkZXMiLCJjaG9pY2VzIiwiam9pbiIsImFkZE9wdGlvbiIsIk9wdGlvbiIsImRlZmF1bHQiLCJhY3Rpb24iLCJvcHRzIiwicGFyc2UiLCJwcm9jZXNzIiwiYXJndiIsInByb2dyYW1PcHRpb25zIiwicHJvZ3JhbUFyZ3VtZW50cyIsInByb2Nlc3NlZEFyZ3MiLCJlcnIiLCJleGl0Il0sIm1hcHBpbmdz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QU8sQ0FBQ3FCLElBQVIsRUFBdkIsQ0FDQSxLQUFNSyxDQUFBQSxnQkFBZ0IsQ0FBRzFCLE9BQU8sQ0FBQzJCLGFBQWpDLENBQ0EsS0FBTTFFLENBQUFBLE9BQU8sQ0FBRyxDQUFFOEIsS0FBSyxDQUFFMkMsZ0JBQWdCLENBQUMsQ0FBRCxDQUF6QixDQUE4QixHQUFHRCxjQUFqQyxDQUFoQixDQUVBM0MsUUFBUSxDQUFDN0IsT0FBRCxDQUNULENBeEVELENBMEVBLEdBQUksQ0FDRjhDLElBQUksRUFDTCxDQUFDLE1BQU82QixHQUFQLENBQVksQ0FDWnBELFFBQVEsQ0FBQ29ELEdBQUQsQ0FBUixDQUNBTCxPQUFPLENBQUNNLElBQVIsQ0FBYSxDQUFiLENBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IGJsdWUsIGdyZWVuLCByZWQsIHllbGxvdyB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IG5hbWUgYXMgY2xpTmFtZSwgdmVyc2lvbiBhcyBjbGlWZXJzaW9uIH0gZnJvbSAnLi4vcGFja2FnZS5qc29uJztcbmltcG9ydCB7IENvbW1hbmQsIEludmFsaWRBcmd1bWVudEVycm9yLCBPcHRpb24gfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZXhpc3RzU3luYywgbWtkaXJTeW5jLCBzdGF0U3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGNvZGlmeUltYWdlc1N5bmMgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnO1xuXG5jb25zdCBnZW5lcmF0ZVN0YXJ0ID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzID09PSA2ID8gJycgOiAnbW9kdWxlLmV4cG9ydHMgPSB7XFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlTGluZSA9IChuYW1lLCBkYXRhLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGFkanVzdGVkRGF0YSA9IGAnJHtkYXRhfSdgO1xuICBjb25zdCBpbmRlbnRUeXBlID0gb3B0aW9ucy5pbmRlbnRUeXBlID09PSAndGFiJyA/ICdcXHQnIDogJyAnO1xuICBjb25zdCBpbmRlbnQgPSBpbmRlbnRUeXBlLnJlcGVhdChvcHRpb25zLmluZGVudENvdW50KTtcblxuICByZXR1cm4gb3B0aW9ucy5lcyA9PT0gNiA/XG4gICAgYGV4cG9ydCBjb25zdCAke25hbWV9ID0gJHthZGp1c3RlZERhdGF9O2AgOlxuICAgIGAke2luZGVudH0ke25hbWV9OiAke2FkanVzdGVkRGF0YX1gO1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lRW5kaW5nID0gKG9wdGlvbnMsIGxhc3QpID0+IHtcbiAgcmV0dXJuIG9wdGlvbnMuZXMgIT09IDYgJiYgIWxhc3QgPyAnLFxcbicgOiAnXFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlRW5kID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ID8gJ307XFxuJyA6ICcnO1xufTtcblxuY29uc3Qgd3JpdGVPdXRwdXQgPSAob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKSA9PiB7XG4gIGlmICghZXhpc3RzU3luYyhvcHRpb25zLm91dHB1dCkpIHtcbiAgICBta2RpclN5bmMob3B0aW9ucy5vdXRwdXQpO1xuICB9XG5cbiAgd3JpdGVGaWxlU3luYyhvdXRwdXRQYXRoLCBvdXRwdXQsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59O1xuXG5jb25zdCBsb2dTdGFydCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmxvZyh5ZWxsb3cobWVzc2FnZSkpO1xuICBjb25zb2xlLmdyb3VwKCk7XG59O1xuXG5jb25zdCBsb2dJbmZvID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKGJsdWUobWVzc2FnZSkpO1xufTtcblxuY29uc3QgbG9nRXJyb3IgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5lcnJvcihgZXJyb3I6ICR7cmVkKG1lc3NhZ2UpfWApO1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG59O1xuXG5jb25zdCBsb2dQcm9jZXNzZWQgPSAocGF0aCwgbmFtZSkgPT4ge1xuICBsb2dJbmZvKGBwcm9jZXNzZWQgaW1hZ2UgKCR7cGF0aH0gPT4gJHtuYW1lfSlgKTtcbn07XG5cbmNvbnN0IGxvZ0VuZCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKGdyZWVuKG1lc3NhZ2UpKTtcbn07XG5cbmNvbnN0IGdlbmVyYXRlID0gb3B0aW9ucyA9PiB7XG4gIGxvZ1N0YXJ0KHllbGxvdyhgZ2VuZXJhdGluZyBleHBvcnRzICgke29wdGlvbnMuaW5wdXR9KSAuLi5gKSk7XG5cbiAgbGV0IG91dHB1dCA9IGdlbmVyYXRlU3RhcnQob3B0aW9ucyk7XG4gIGNvbnN0IGltYWdlcyA9IGNvZGlmeUltYWdlc1N5bmMob3B0aW9ucy5pbnB1dCwgeyBsb2c6IGxvZ1Byb2Nlc3NlZCB9KTtcblxuICBpZiAoaW1hZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbm8gaW1hZ2VzIGF2YWlsYWJsZSBhdCBpbnB1dCBwYXRoLicpO1xuICB9XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGltYWdlcyk7XG5cbiAgZm9yIChjb25zdCBpbmRleCBpbiBrZXlzKSB7XG4gICAgY29uc3Qga2V5ID0ga2V5c1tpbmRleF07XG4gICAgY29uc3QgZGF0YSA9IGltYWdlc1trZXldO1xuXG4gICAgb3V0cHV0ICs9IGdlbmVyYXRlTGluZShrZXksIGRhdGEsIG9wdGlvbnMpO1xuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmVFbmRpbmcob3B0aW9ucywgaW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSk7XG5cbiAgICBsb2dJbmZvKGB3cml0aW5nIGV4cG9ydCAoJHtrZXl9KWApO1xuICB9XG5cbiAgb3V0cHV0ICs9IGdlbmVyYXRlRW5kKG9wdGlvbnMpO1xuXG4gIGNvbnN0IG91dHB1dFBhdGggPSByZXNvbHZlKG9wdGlvbnMub3V0cHV0LCAnaW1hZ2VzLmpzJyk7XG5cbiAgd3JpdGVPdXRwdXQob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKTtcbiAgbG9nRW5kKGBleHBvcnRzIGdlbmVyYXRlZCAoJHtvdXRwdXRQYXRofSlgKTtcbn07XG5cbmNvbnN0IGN1c3RvbVBhcnNlSW50ID0gdmFsdWUgPT4ge1xuICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBiZSB2YWxpZCBpbnRlZ2VyLicpO1xuICB9IGVsc2UgaWYgKHBhcnNlZFZhbHVlIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgcG9zaXRpdmUgaW50ZWdlci4nKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWRWYWx1ZTtcbn07XG5cbmNvbnN0IGN1c3RvbVJlc29sdmUgPSB2YWx1ZSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJlc29sdmUodmFsdWUpO1xuICB9IGNhdGNoIChfKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIHZhbGlkLicpO1xuICB9XG59O1xuXG5jb25zdCBtYWluID0gKCkgPT4ge1xuICBjb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoY2xpTmFtZSk7XG5cbiAgcHJvZ3JhbVxuICAgIC52ZXJzaW9uKGNsaVZlcnNpb24pXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpXG4gICAgLmNvbmZpZ3VyZU91dHB1dCh7IG91dHB1dEVycm9yOiAobWVzc2FnZSwgd3JpdGUpID0+IHdyaXRlKHJlZChtZXNzYWdlKSkgfSlcbiAgICAuYXJndW1lbnQoXG4gICAgICAnPGlucHV0IHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdoZXJlIGltYWdlIGZpbGVzIHJlc2lkZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBjdXN0b21SZXNvbHZlKHZhbHVlKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHN0YXQgPSBzdGF0U3luYyhwYXRoKTtcblxuICAgICAgICAgIGlmICghc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgZGlyZWN0b3J5LicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGV4aXN0LicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLW8sIC0tb3V0cHV0IDxwYXRoPicsXG4gICAgICAncGF0aCB0byB3cml0ZSBnZW5lcmF0ZWQgZmlsZXMnLFxuICAgICAgdmFsdWUgPT4gY3VzdG9tUmVzb2x2ZSh2YWx1ZSksXG4gICAgICAnZ2VuZXJhdGVkJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1lLCAtLWVzIDx2ZXJzaW9uPicsXG4gICAgICAnRVNNIHZlcnNpb24gdG8gZ2VuZXJhdGUnLFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGN1c3RvbVBhcnNlSW50KHZhbHVlLCAxMCk7XG4gICAgICAgIGNvbnN0IGNob2ljZXNFcyA9IFs1LCA2XTtcblxuICAgICAgICBpZiAoIWNob2ljZXNFcy5pbmNsdWRlcyhwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBjaG9pY2VzID0gY2hvaWNlc0VzLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEFsbG93ZWQgY2hvaWNlcyBhcmUgJHtjaG9pY2VzfS5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJzZWRWYWx1ZTtcbiAgICAgIH0sXG4gICAgICA2XG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWMsIC0taW5kZW50LWNvdW50IDxjb3VudD4nLFxuICAgICAgJ251bWJlciBvZiBpbmRlbnQgZWxlbWVudHMgdG8gb3V0cHV0JyxcbiAgICAgIHZhbHVlID0+IGN1c3RvbVBhcnNlSW50KHZhbHVlLCAxMCksXG4gICAgICAxXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctdCwgLS1pbmRlbnQtdHlwZSA8dHlwZT4nLCAndHlwZSBvZiBpbmRlbnQgdG8gb3V0cHV0JylcbiAgICAgICAgLmNob2ljZXMoWyd0YWInLCAnc3BhY2UnXSlcbiAgICAgICAgLmRlZmF1bHQoJ3RhYicpXG4gICAgKVxuICAgIC5hY3Rpb24oKF8sIG9wdHMpID0+IHtcbiAgICAgIGlmIChvcHRzLm91dHB1dCA9PT0gJ2dlbmVyYXRlZCcpIHtcbiAgICAgICAgb3B0cy5vdXRwdXQgPSByZXNvbHZlKG9wdHMub3V0cHV0KTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5wYXJzZShwcm9jZXNzLmFyZ3YpO1xuXG4gIGNvbnN0IHByb2dyYW1PcHRpb25zID0gcHJvZ3JhbS5vcHRzKCk7XG4gIGNvbnN0IHByb2dyYW1Bcmd1bWVudHMgPSBwcm9ncmFtLnByb2Nlc3NlZEFyZ3M7XG4gIGNvbnN0IG9wdGlvbnMgPSB7IGlucHV0OiBwcm9ncmFtQXJndW1lbnRzWzBdLCAuLi5wcm9ncmFtT3B0aW9ucyB9O1xuXG4gIGdlbmVyYXRlKG9wdGlvbnMpO1xufTtcblxudHJ5IHtcbiAgbWFpbigpO1xufSBjYXRjaCAoZXJyKSB7XG4gIGxvZ0Vycm9yKGVycik7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn1cbiJdfQ==
2
+ "use strict";var _chalk=require("chalk");var _package=require("../package.json");var _commander=require("commander");var _fs=require("fs");var _2=require("../");var _path=require("path");const generateStart=options=>{return options.es===6?"":"module.exports = {\n"};const generateLine=(name,data,options)=>{const adjustedData=`'${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)=>{if(!(0,_fs.existsSync)(options.output)){(0,_fs.mkdirSync)(options.output)}(0,_fs.writeFileSync)(outputPath,output,{encoding:"utf-8"})};const logStart=message=>{console.log((0,_chalk.yellow)(message));console.group()};const logInfo=message=>{console.log((0,_chalk.blue)(message))};const logError=message=>{console.error(`error: ${(0,_chalk.red)(message)}`);console.groupEnd()};const logProcessed=(path,name)=>{logInfo(`processed image (${path} => ${name})`)};const logEnd=message=>{console.groupEnd();console.log((0,_chalk.green)(message))};const generate=options=>{logStart((0,_chalk.yellow)(`generating exports (${options.input}) ...`));let output=generateStart(options);const images=(0,_2.codifyImagesSync)(options.input,{log:logProcessed,forceBase64:options.forceBase64});if(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 customResolve=value=>{try{return(0,_path.resolve)(value)}catch(_){throw new _commander.InvalidArgumentError("Must be valid.")}};const main=()=>{const program=new _commander.Command(_package.name);program.version(_package.version).showHelpAfterError().configureOutput({outputError:(message,write)=>write((0,_chalk.red)(message))}).argument("<input path>","path to where image files reside",value=>{const path=customResolve(value);try{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("-f, --force-base64 ","force all image output to be base64 encoded",false).option("-o, --output <path>","path to write generated files",value=>customResolve(value),"generated").option("-e, --es <version>","ESM version to generate",value=>{const parsedValue=customParseInt(value,10);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,10),1).addOption(new _commander.Option("-t, --indent-type <type>","type of indent to output").choices(["tab","space"]).default("tab")).action((_,opts)=>{if(opts.output==="generated"){opts.output=(0,_path.resolve)(opts.output)}}).parse(process.argv);const programOptions=program.opts();const programArguments=program.processedArgs;const options={input:programArguments[0],...programOptions};generate(options)};try{main()}catch(err){logError(err);process.exit(1)}
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Jpbi9jbGkuanMiXSwibmFtZXMiOlsiZ2VuZXJhdGVTdGFydCIsIm9wdGlvbnMiLCJlcyIsImdlbmVyYXRlTGluZSIsIm5hbWUiLCJkYXRhIiwiYWRqdXN0ZWREYXRhIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwib3V0cHV0IiwiZW5jb2RpbmciLCJsb2dTdGFydCIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZ3JvdXAiLCJsb2dJbmZvIiwibG9nRXJyb3IiLCJlcnJvciIsImdyb3VwRW5kIiwibG9nUHJvY2Vzc2VkIiwicGF0aCIsImxvZ0VuZCIsImdlbmVyYXRlIiwiaW5wdXQiLCJpbWFnZXMiLCJmb3JjZUJhc2U2NCIsImxlbmd0aCIsIkVycm9yIiwia2V5cyIsIk9iamVjdCIsImluZGV4Iiwia2V5IiwiY3VzdG9tUGFyc2VJbnQiLCJ2YWx1ZSIsInBhcnNlZFZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsIkludmFsaWRBcmd1bWVudEVycm9yIiwiY3VzdG9tUmVzb2x2ZSIsIl8iLCJtYWluIiwicHJvZ3JhbSIsIkNvbW1hbmQiLCJjbGlOYW1lIiwidmVyc2lvbiIsImNsaVZlcnNpb24iLCJzaG93SGVscEFmdGVyRXJyb3IiLCJjb25maWd1cmVPdXRwdXQiLCJvdXRwdXRFcnJvciIsIndyaXRlIiwiYXJndW1lbnQiLCJzdGF0IiwiaXNEaXJlY3RvcnkiLCJvcHRpb24iLCJjaG9pY2VzRXMiLCJpbmNsdWRlcyIsImNob2ljZXMiLCJqb2luIiwiYWRkT3B0aW9uIiwiT3B0aW9uIiwiZGVmYXVsdCIsImFjdGlvbiIsIm9wdHMiLCJwYXJzZSIsInByb2Nlc3MiLCJhcmd2IiwicHJvZ3JhbU9wdGlvbnMiLCJwcm9ncmFtQXJndW1lbnRzIiwicHJvY2Vzc2VkQXJncyIsImVyciIsImV4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Q0FBQ3RELE1BQWIsQ0FDZixDQUNGLENBbEVILEVBbUVHdUQsS0FuRUgsQ0FtRVNDLE9BQU8sQ0FBQ0MsSUFuRWpCLEVBcUVBLEtBQU1DLENBQUFBLGNBQWMsQ0FBR3pCLE9BQU8sQ0FBQ3FCLElBQVIsRUFBdkIsQ0FDQSxLQUFNSyxDQUFBQSxnQkFBZ0IsQ0FBRzFCLE9BQU8sQ0FBQzJCLGFBQWpDLENBQ0EsS0FBTTNFLENBQUFBLE9BQU8sQ0FBRyxDQUFFOEIsS0FBSyxDQUFFNEMsZ0JBQWdCLENBQUMsQ0FBRCxDQUF6QixDQUE4QixHQUFHRCxjQUFqQyxDQUFoQixDQUVBNUMsUUFBUSxDQUFDN0IsT0FBRCxDQUNULENBN0VELENBK0VBLEdBQUksQ0FDRitDLElBQUksRUFDTCxDQUFDLE1BQU82QixHQUFQLENBQVksQ0FDWnJELFFBQVEsQ0FBQ3FELEdBQUQsQ0FBUixDQUNBTCxPQUFPLENBQUNNLElBQVIsQ0FBYSxDQUFiLENBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IGJsdWUsIGdyZWVuLCByZWQsIHllbGxvdyB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IG5hbWUgYXMgY2xpTmFtZSwgdmVyc2lvbiBhcyBjbGlWZXJzaW9uIH0gZnJvbSAnLi4vcGFja2FnZS5qc29uJztcbmltcG9ydCB7IENvbW1hbmQsIEludmFsaWRBcmd1bWVudEVycm9yLCBPcHRpb24gfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZXhpc3RzU3luYywgbWtkaXJTeW5jLCBzdGF0U3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGNvZGlmeUltYWdlc1N5bmMgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnO1xuXG5jb25zdCBnZW5lcmF0ZVN0YXJ0ID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzID09PSA2ID8gJycgOiAnbW9kdWxlLmV4cG9ydHMgPSB7XFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlTGluZSA9IChuYW1lLCBkYXRhLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGFkanVzdGVkRGF0YSA9IGAnJHtkYXRhfSdgO1xuICBjb25zdCBpbmRlbnRUeXBlID0gb3B0aW9ucy5pbmRlbnRUeXBlID09PSAndGFiJyA/ICdcXHQnIDogJyAnO1xuICBjb25zdCBpbmRlbnQgPSBpbmRlbnRUeXBlLnJlcGVhdChvcHRpb25zLmluZGVudENvdW50KTtcblxuICByZXR1cm4gb3B0aW9ucy5lcyA9PT0gNiA/XG4gICAgYGV4cG9ydCBjb25zdCAke25hbWV9ID0gJHthZGp1c3RlZERhdGF9O2AgOlxuICAgIGAke2luZGVudH0ke25hbWV9OiAke2FkanVzdGVkRGF0YX1gO1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lRW5kaW5nID0gKG9wdGlvbnMsIGxhc3QpID0+IHtcbiAgcmV0dXJuIG9wdGlvbnMuZXMgIT09IDYgJiYgIWxhc3QgPyAnLFxcbicgOiAnXFxuJztcbn07XG5cbmNvbnN0IGdlbmVyYXRlRW5kID0gb3B0aW9ucyA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ID8gJ307XFxuJyA6ICcnO1xufTtcblxuY29uc3Qgd3JpdGVPdXRwdXQgPSAob3V0cHV0UGF0aCwgb3V0cHV0LCBvcHRpb25zKSA9PiB7XG4gIGlmICghZXhpc3RzU3luYyhvcHRpb25zLm91dHB1dCkpIHtcbiAgICBta2RpclN5bmMob3B0aW9ucy5vdXRwdXQpO1xuICB9XG5cbiAgd3JpdGVGaWxlU3luYyhvdXRwdXRQYXRoLCBvdXRwdXQsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59O1xuXG5jb25zdCBsb2dTdGFydCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmxvZyh5ZWxsb3cobWVzc2FnZSkpO1xuICBjb25zb2xlLmdyb3VwKCk7XG59O1xuXG5jb25zdCBsb2dJbmZvID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKGJsdWUobWVzc2FnZSkpO1xufTtcblxuY29uc3QgbG9nRXJyb3IgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5lcnJvcihgZXJyb3I6ICR7cmVkKG1lc3NhZ2UpfWApO1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG59O1xuXG5jb25zdCBsb2dQcm9jZXNzZWQgPSAocGF0aCwgbmFtZSkgPT4ge1xuICBsb2dJbmZvKGBwcm9jZXNzZWQgaW1hZ2UgKCR7cGF0aH0gPT4gJHtuYW1lfSlgKTtcbn07XG5cbmNvbnN0IGxvZ0VuZCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmdyb3VwRW5kKCk7XG4gIGNvbnNvbGUubG9nKGdyZWVuKG1lc3NhZ2UpKTtcbn07XG5cbmNvbnN0IGdlbmVyYXRlID0gb3B0aW9ucyA9PiB7XG4gIGxvZ1N0YXJ0KHllbGxvdyhgZ2VuZXJhdGluZyBleHBvcnRzICgke29wdGlvbnMuaW5wdXR9KSAuLi5gKSk7XG5cbiAgbGV0IG91dHB1dCA9IGdlbmVyYXRlU3RhcnQob3B0aW9ucyk7XG4gIGNvbnN0IGltYWdlcyA9IGNvZGlmeUltYWdlc1N5bmMoXG4gICAgb3B0aW9ucy5pbnB1dCxcbiAgICB7IGxvZzogbG9nUHJvY2Vzc2VkLCBmb3JjZUJhc2U2NDogb3B0aW9ucy5mb3JjZUJhc2U2NCB9XG4gICk7XG5cbiAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGltYWdlcyBhdmFpbGFibGUgYXQgaW5wdXQgcGF0aC4nKTtcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpbWFnZXMpO1xuXG4gIGZvciAoY29uc3QgaW5kZXggaW4ga2V5cykge1xuICAgIGNvbnN0IGtleSA9IGtleXNbaW5kZXhdO1xuICAgIGNvbnN0IGRhdGEgPSBpbWFnZXNba2V5XTtcblxuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmUoa2V5LCBkYXRhLCBvcHRpb25zKTtcbiAgICBvdXRwdXQgKz0gZ2VuZXJhdGVMaW5lRW5kaW5nKG9wdGlvbnMsIGluZGV4ID09PSBrZXlzLmxlbmd0aCAtIDEpO1xuXG4gICAgbG9nSW5mbyhgd3JpdGluZyBleHBvcnQgKCR7a2V5fSlgKTtcbiAgfVxuXG4gIG91dHB1dCArPSBnZW5lcmF0ZUVuZChvcHRpb25zKTtcblxuICBjb25zdCBvdXRwdXRQYXRoID0gcmVzb2x2ZShvcHRpb25zLm91dHB1dCwgJ2ltYWdlcy5qcycpO1xuXG4gIHdyaXRlT3V0cHV0KG91dHB1dFBhdGgsIG91dHB1dCwgb3B0aW9ucyk7XG4gIGxvZ0VuZChgZXhwb3J0cyBnZW5lcmF0ZWQgKCR7b3V0cHV0UGF0aH0pYCk7XG59O1xuXG5jb25zdCBjdXN0b21QYXJzZUludCA9IHZhbHVlID0+IHtcbiAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuXG4gIGlmIChpc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgdmFsaWQgaW50ZWdlci4nKTtcbiAgfSBlbHNlIGlmIChwYXJzZWRWYWx1ZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIHBvc2l0aXZlIGludGVnZXIuJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVmFsdWU7XG59O1xuXG5jb25zdCBjdXN0b21SZXNvbHZlID0gdmFsdWUgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiByZXNvbHZlKHZhbHVlKTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBiZSB2YWxpZC4nKTtcbiAgfVxufTtcblxuY29uc3QgbWFpbiA9ICgpID0+IHtcbiAgY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKGNsaU5hbWUpO1xuXG4gIHByb2dyYW1cbiAgICAudmVyc2lvbihjbGlWZXJzaW9uKVxuICAgIC5zaG93SGVscEFmdGVyRXJyb3IoKVxuICAgIC5jb25maWd1cmVPdXRwdXQoeyBvdXRwdXRFcnJvcjogKG1lc3NhZ2UsIHdyaXRlKSA9PiB3cml0ZShyZWQobWVzc2FnZSkpIH0pXG4gICAgLmFyZ3VtZW50KFxuICAgICAgJzxpbnB1dCBwYXRoPicsXG4gICAgICAncGF0aCB0byB3aGVyZSBpbWFnZSBmaWxlcyByZXNpZGUnLFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gY3VzdG9tUmVzb2x2ZSh2YWx1ZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdGF0ID0gc3RhdFN5bmMocGF0aCk7XG5cbiAgICAgICAgICBpZiAoIXN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIGRpcmVjdG9yeS4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignTXVzdCBleGlzdC4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1mLCAtLWZvcmNlLWJhc2U2NCAnLFxuICAgICAgJ2ZvcmNlIGFsbCBpbWFnZSBvdXRwdXQgdG8gYmUgYmFzZTY0IGVuY29kZWQnLFxuICAgICAgZmFsc2VcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctbywgLS1vdXRwdXQgPHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdyaXRlIGdlbmVyYXRlZCBmaWxlcycsXG4gICAgICB2YWx1ZSA9PiBjdXN0b21SZXNvbHZlKHZhbHVlKSxcbiAgICAgICdnZW5lcmF0ZWQnXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWUsIC0tZXMgPHZlcnNpb24+JyxcbiAgICAgICdFU00gdmVyc2lvbiB0byBnZW5lcmF0ZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gY3VzdG9tUGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICAgICAgY29uc3QgY2hvaWNlc0VzID0gWzUsIDZdO1xuXG4gICAgICAgIGlmICghY2hvaWNlc0VzLmluY2x1ZGVzKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGNob2ljZXMgPSBjaG9pY2VzRXMuam9pbignLCAnKTtcblxuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgQWxsb3dlZCBjaG9pY2VzIGFyZSAke2Nob2ljZXN9LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcnNlZFZhbHVlO1xuICAgICAgfSxcbiAgICAgIDZcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctYywgLS1pbmRlbnQtY291bnQgPGNvdW50PicsXG4gICAgICAnbnVtYmVyIG9mIGluZGVudCBlbGVtZW50cyB0byBvdXRwdXQnLFxuICAgICAgdmFsdWUgPT4gY3VzdG9tUGFyc2VJbnQodmFsdWUsIDEwKSxcbiAgICAgIDFcbiAgICApXG4gICAgLmFkZE9wdGlvbihcbiAgICAgIG5ldyBPcHRpb24oJy10LCAtLWluZGVudC10eXBlIDx0eXBlPicsICd0eXBlIG9mIGluZGVudCB0byBvdXRwdXQnKVxuICAgICAgICAuY2hvaWNlcyhbJ3RhYicsICdzcGFjZSddKVxuICAgICAgICAuZGVmYXVsdCgndGFiJylcbiAgICApXG4gICAgLmFjdGlvbigoXywgb3B0cykgPT4ge1xuICAgICAgaWYgKG9wdHMub3V0cHV0ID09PSAnZ2VuZXJhdGVkJykge1xuICAgICAgICBvcHRzLm91dHB1dCA9IHJlc29sdmUob3B0cy5vdXRwdXQpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLnBhcnNlKHByb2Nlc3MuYXJndik7XG5cbiAgY29uc3QgcHJvZ3JhbU9wdGlvbnMgPSBwcm9ncmFtLm9wdHMoKTtcbiAgY29uc3QgcHJvZ3JhbUFyZ3VtZW50cyA9IHByb2dyYW0ucHJvY2Vzc2VkQXJncztcbiAgY29uc3Qgb3B0aW9ucyA9IHsgaW5wdXQ6IHByb2dyYW1Bcmd1bWVudHNbMF0sIC4uLnByb2dyYW1PcHRpb25zIH07XG5cbiAgZ2VuZXJhdGUob3B0aW9ucyk7XG59O1xuXG50cnkge1xuICBtYWluKCk7XG59IGNhdGNoIChlcnIpIHtcbiAgbG9nRXJyb3IoZXJyKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufVxuIl19
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.codifyImagesSync=exports.codifyImages=void 0;var _path=require("path");var _fs=require("fs");var _lodash=_interopRequireDefault(require("lodash.camelcase"));var _miniSvgDataUri=_interopRequireDefault(require("mini-svg-data-uri"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const svgExtension=".svg";const supportedMimeTypes={".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml"};const isObject=value=>{return Object.prototype.toString.call(value)==="[object Object]"};const getFormat=isSvg=>{return isSvg?"utf-8":"base64"};const sanitizeFileData=data=>{return data.replace(/[\r\n]+/gm,"")};const buildDataUri=(isSvg,source,mime,format)=>{return isSvg?(0,_miniSvgDataUri.default)(source).replace(/'/g,"\""):`data:${mime};${format},${source}`};const isSupported=(file,extension)=>{return extension!==file&&supportedMimeTypes[extension]!==undefined};const getImageDataUri=(path,mime,isSvg)=>{const format=getFormat(isSvg);const source=sanitizeFileData((0,_fs.readFileSync)(path,format));return buildDataUri(isSvg,source,mime,format)};const processFile=(path,file,extension)=>{const mime=supportedMimeTypes[extension];const isSvg=mime===supportedMimeTypes[svgExtension];const filePath=(0,_path.resolve)(path,file);return{path:filePath,name:(0,_lodash.default)((0,_path.basename)(file)),data:getImageDataUri(filePath,mime,isSvg)}};const processFiles=(path,files,options)=>{const images={};for(const file of files){var _options$log;const extension=(0,_path.extname)(file);if(!isSupported(file,extension)){continue}const image=processFile(path,file,extension);images[image.name]=image.data;options===null||options===void 0?void 0:(_options$log=options.log)===null||_options$log===void 0?void 0:_options$log.call(options,image)}return images};const codifyImagesSync=(path,options={})=>{if(!isObject(options)){options={}}const files=(0,_fs.readdirSync)(path);return processFiles(path,files,options)};exports.codifyImagesSync=codifyImagesSync;const codifyImages=(path,options={})=>{return new Promise((resolve,reject)=>{try{resolve(codifyImagesSync(path,options))}catch(err){reject(err)}})};exports.codifyImages=codifyImages;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RpZnktaW1hZ2VzLmpzIl0sIm5hbWVzIjpbInN2Z0V4dGVuc2lvbiIsInN1cHBvcnRlZE1pbWVUeXBlcyIsImlzT2JqZWN0IiwidmFsdWUiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJnZXRGb3JtYXQiLCJpc1N2ZyIsInNhbml0aXplRmlsZURhdGEiLCJkYXRhIiwicmVwbGFjZSIsImJ1aWxkRGF0YVVyaSIsInNvdXJjZSIsIm1pbWUiLCJmb3JtYXQiLCJpc1N1cHBvcnRlZCIsImZpbGUiLCJleHRlbnNpb24iLCJ1bmRlZmluZWQiLCJnZXRJbWFnZURhdGFVcmkiLCJwYXRoIiwicHJvY2Vzc0ZpbGUiLCJmaWxlUGF0aCIsIm5hbWUiLCJwcm9jZXNzRmlsZXMiLCJmaWxlcyIsIm9wdGlvbnMiLCJpbWFnZXMiLCJpbWFnZSIsImxvZyIsImNvZGlmeUltYWdlc1N5bmMiLCJjb2RpZnlJbWFnZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciJdLCJtYXBwaW5ncyI6IjJIQUFBLDBCQUNBLHNCQUNBLGdFQUNBLHlFLGtGQUVBLEtBQU1BLENBQUFBLFlBQVksQ0FBRyxNQUFyQixDQUNBLEtBQU1DLENBQUFBLGtCQUFrQixDQUFHLENBQ3pCLE9BQVEsWUFEaUIsQ0FFekIsUUFBUyxZQUZnQixDQUd6QixPQUFRLFdBSGlCLENBSXpCLE9BQVEsV0FKaUIsQ0FLekIsUUFBUyxZQUxnQixDQU16QixPQUFRLGVBTmlCLENBQTNCLENBU0EsS0FBTUMsQ0FBQUEsUUFBUSxDQUFHQyxLQUFLLEVBQUksQ0FDeEIsTUFBT0MsQ0FBQUEsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUFqQixDQUEwQkMsSUFBMUIsQ0FBK0JKLEtBQS9CLElBQTBDLGlCQUNsRCxDQUZELENBSUEsS0FBTUssQ0FBQUEsU0FBUyxDQUFHQyxLQUFLLEVBQUksQ0FDekIsTUFBT0EsQ0FBQUEsS0FBSyxDQUFHLE9BQUgsQ0FBYSxRQUMxQixD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Q0FBRyxvQkFBWUwsSUFBWixDQUFkLENBRUEsTUFBT0ksQ0FBQUEsWUFBWSxDQUFDSixJQUFELENBQU9LLEtBQVAsQ0FBY0MsT0FBZCxDQUNwQixDQVJNLEMsMENBVUEsS0FBTUssQ0FBQUEsWUFBWSxDQUFHLENBQUNYLElBQUQsQ0FBT00sT0FBTyxDQUFHLEVBQWpCLEdBQXdCLENBQ2xELE1BQU8sSUFBSU0sQ0FBQUEsT0FBSixDQUFZLENBQUNDLE9BQUQsQ0FBVUMsTUFBVixHQUFxQixDQUN0QyxHQUFJLENBQ0ZELE9BQU8sQ0FBQ0gsZ0JBQWdCLENBQUNWLElBQUQsQ0FBT00sT0FBUCxDQUFqQixDQUNSLENBQUMsTUFBT1MsR0FBUCxDQUFZLENBQ1pELE1BQU0sQ0FBQ0MsR0FBRCxDQUNQLENBQ0YsQ0FOTSxDQU9SLENBUk0sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2VuYW1lLCBleHRuYW1lLCByZXNvbHZlIGFzIHJlc29sdmVQYXRoIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkZGlyU3luYywgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IGNhbWVsQ2FzZSBmcm9tICdsb2Rhc2guY2FtZWxjYXNlJztcbmltcG9ydCBzdmdUb01pbmlEYXRhVVJJIGZyb20gJ21pbmktc3ZnLWRhdGEtdXJpJztcblxuY29uc3Qgc3ZnRXh0ZW5zaW9uID0gJy5zdmcnO1xuY29uc3Qgc3VwcG9ydGVkTWltZVR5cGVzID0ge1xuICAnLmpwZyc6ICdpbWFnZS9qcGVnJyxcbiAgJy5qcGVnJzogJ2ltYWdlL2pwZWcnLFxuICAnLnBuZyc6ICdpbWFnZS9wbmcnLFxuICAnLmdpZic6ICdpbWFnZS9naWYnLFxuICAnLndlYnAnOiAnaW1hZ2Uvd2VicCcsXG4gICcuc3ZnJzogJ2ltYWdlL3N2Zyt4bWwnXG59O1xuXG5jb25zdCBpc09iamVjdCA9IHZhbHVlID0+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufTtcblxuY29uc3QgZ2V0Rm9ybWF0ID0gaXNTdmcgPT4ge1xuICByZXR1cm4gaXNTdmcgPyAndXRmLTgnIDogJ2Jhc2U2NCc7XG59O1xuXG5jb25zdCBzYW5pdGl6ZUZpbGVEYXRhID0gZGF0YSA9PiB7XG4gIHJldHVybiBkYXRhLnJlcGxhY2UoL1tcXHJcXG5dKy9nbSwgJycpO1xufTtcblxuY29uc3QgYnVpbGREYXRhVXJpID0gKGlzU3ZnLCBzb3VyY2UsIG1pbWUsIGZvcm1hdCkgPT4ge1xuICByZXR1cm4gaXNTdmcgP1xuICAgIHN2Z1RvTWluaURhdGFVUkkoc291cmNlKS5yZXBsYWNlKC8nL2csICdcIicpIDpcbiAgICBgZGF0YToke21pbWV9OyR7Zm9ybWF0fSwke3NvdXJjZX1gO1xufTtcblxuY29uc3QgaXNTdXBwb3J0ZWQgPSAoZmlsZSwgZXh0ZW5zaW9uKSA9PiB7XG4gIHJldHVybiBleHRlbnNpb24gIT09IGZpbGUgJiYgc3VwcG9ydGVkTWltZVR5cGVzW2V4dGVuc2lvbl0gIT09IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldEltYWdlRGF0YVVyaSA9IChwYXRoLCBtaW1lLCBpc1N2ZykgPT4ge1xuICBjb25zdCBmb3JtYXQgPSBnZXRGb3JtYXQoaXNTdmcpO1xuICBjb25zdCBzb3VyY2UgPSBzYW5pdGl6ZUZpbGVEYXRhKHJlYWRGaWxlU3luYyhwYXRoLCBmb3JtYXQpKTtcblxuICByZXR1cm4gYnVpbGREYXRhVXJpKGlzU3ZnLCBzb3VyY2UsIG1pbWUsIGZvcm1hdCk7XG59O1xuXG5jb25zdCBwcm9jZXNzRmlsZSA9IChwYXRoLCBmaWxlLCBleHRlbnNpb24pID0+IHtcbiAgY29uc3QgbWltZSA9IHN1cHBvcnRlZE1pbWVUeXBlc1tleHRlbnNpb25dO1xuICBjb25zdCBpc1N2ZyA9IG1pbWUgPT09IHN1cHBvcnRlZE1pbWVUeXBlc1tzdmdFeHRlbnNpb25dO1xuICBjb25zdCBmaWxlUGF0aCA9IHJlc29sdmVQYXRoKHBhdGgsIGZpbGUpO1xuXG4gIHJldHVybiB7XG4gICAgcGF0aDogZmlsZVBhdGgsXG4gICAgbmFtZTogY2FtZWxDYXNlKGJhc2VuYW1lKGZpbGUpKSxcbiAgICBkYXRhOiBnZXRJbWFnZURhdGFVcmkoZmlsZVBhdGgsIG1pbWUsIGlzU3ZnKVxuICB9O1xufTtcblxuY29uc3QgcHJvY2Vzc0ZpbGVzID0gKHBhdGgsIGZpbGVzLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGltYWdlcyA9IHt9O1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGV4dG5hbWUoZmlsZSk7XG5cbiAgICBpZiAoIWlzU3VwcG9ydGVkKGZpbGUsIGV4dGVuc2lvbikpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlID0gcHJvY2Vzc0ZpbGUocGF0aCwgZmlsZSwgZXh0ZW5zaW9uKTtcblxuICAgIGltYWdlc1tpbWFnZS5uYW1lXSA9IGltYWdlLmRhdGE7XG5cbiAgICBvcHRpb25zPy5sb2c/LihpbWFnZSk7XG4gIH1cblxuICByZXR1cm4gaW1hZ2VzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvZGlmeUltYWdlc1N5bmMgPSAocGF0aCwgb3B0aW9ucyA9IHt9KSA9PiB7XG4gIGlmICghaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICBjb25zdCBmaWxlcyA9IHJlYWRkaXJTeW5jKHBhdGgpO1xuXG4gIHJldHVybiBwcm9jZXNzRmlsZXMocGF0aCwgZmlsZXMsIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvZGlmeUltYWdlcyA9IChwYXRoLCBvcHRpb25zID0ge30pID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmVzb2x2ZShjb2RpZnlJbWFnZXNTeW5jKHBhdGgsIG9wdGlvbnMpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJlamVjdChlcnIpO1xuICAgIH1cbiAgfSk7XG59O1xuIl19
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.codifyImagesSync=exports.codifyImages=void 0;var _path=require("path");var _fs=require("fs");var _lodash=_interopRequireDefault(require("lodash.camelcase"));var _miniSvgDataUri=_interopRequireDefault(require("mini-svg-data-uri"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const svgExtension=".svg";const supportedMimeTypes={".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml"};const isObject=value=>{return Object.prototype.toString.call(value)==="[object Object]"};const getFormat=(isSvg,options)=>{return isSvg&&(options===null||options===void 0?void 0:options.forceBase64)!==true?"utf-8":"base64"};const sanitizeFileData=data=>{return data.replace(/[\r\n]+/gm,"")};const buildDataUri=(isSvg,source,mime,format,options)=>{return isSvg&&(options===null||options===void 0?void 0:options.forceBase64)!==true?(0,_miniSvgDataUri.default)(source).replace(/'/g,"\""):`data:${mime};${format},${source}`};const isSupported=(file,extension)=>{return extension!==file&&supportedMimeTypes[extension]!==undefined};const getImageDataUri=(path,mime,isSvg,options)=>{const format=getFormat(isSvg,options);const source=sanitizeFileData((0,_fs.readFileSync)(path,format));return buildDataUri(isSvg,source,mime,format,options)};const processFile=(path,file,extension,options)=>{const mime=supportedMimeTypes[extension];const isSvg=mime===supportedMimeTypes[svgExtension];const filePath=(0,_path.resolve)(path,file);return{path:filePath,name:(0,_lodash.default)((0,_path.basename)(file)),data:getImageDataUri(filePath,mime,isSvg,options)}};const processFiles=(path,files,options)=>{const images={};for(const file of files){var _options$log;const extension=(0,_path.extname)(file);if(!isSupported(file,extension)){continue}const image=processFile(path,file,extension,options);images[image.name]=image.data;options===null||options===void 0?void 0:(_options$log=options.log)===null||_options$log===void 0?void 0:_options$log.call(options,image)}return images};const codifyImagesSync=(path,options={})=>{if(!isObject(options)){options=null}const files=(0,_fs.readdirSync)(path);return processFiles(path,files,options)};exports.codifyImagesSync=codifyImagesSync;const codifyImages=(path,options={})=>{return new Promise((resolve,reject)=>{try{resolve(codifyImagesSync(path,options))}catch(err){reject(err)}})};exports.codifyImages=codifyImages;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RpZnktaW1hZ2VzLmpzIl0sIm5hbWVzIjpbInN2Z0V4dGVuc2lvbiIsInN1cHBvcnRlZE1pbWVUeXBlcyIsImlzT2JqZWN0IiwidmFsdWUiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJnZXRGb3JtYXQiLCJpc1N2ZyIsIm9wdGlvbnMiLCJmb3JjZUJhc2U2NCIsInNhbml0aXplRmlsZURhdGEiLCJkYXRhIiwicmVwbGFjZSIsImJ1aWxkRGF0YVVyaSIsInNvdXJjZSIsIm1pbWUiLCJmb3JtYXQiLCJpc1N1cHBvcnRlZCIsImZpbGUiLCJleHRlbnNpb24iLCJ1bmRlZmluZWQiLCJnZXRJbWFnZURhdGFVcmkiLCJwYXRoIiwicHJvY2Vzc0ZpbGUiLCJmaWxlUGF0aCIsIm5hbWUiLCJwcm9jZXNzRmlsZXMiLCJmaWxlcyIsImltYWdlcyIsImltYWdlIiwibG9nIiwiY29kaWZ5SW1hZ2VzU3luYyIsImNvZGlmeUltYWdlcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZXJyIl0sIm1hcHBpbmdzIjoiMkhBQUEsMEJBQ0Esc0JBQ0EsZ0VBQ0EseUUsa0ZBRUEsS0FBTUEsQ0FBQUEsWUFBWSxDQUFHLE1BQXJCLENBQ0EsS0FBTUMsQ0FBQUEsa0JBQWtCLENBQUcsQ0FDekIsT0FBUSxZQURpQixDQUV6QixRQUFTLFlBRmdCLENBR3pCLE9BQVEsV0FIaUIsQ0FJekIsT0FBUSxXQUppQixDQUt6QixRQUFTLFlBTGdCLENBTXpCLE9BQVEsZUFOaUIsQ0FBM0IsQ0FTQSxLQUFNQyxDQUFBQSxRQUFRLENBQUdDLEtBQUssRUFBSSxDQUN4QixNQUFPQyxDQUFBQSxNQUFNLENBQUNDLFNBQVAsQ0FBaUJDLFFBQWpCLENBQTBCQyxJQUExQixDQUErQkosS0FBL0IsSUFBMEMsaUJBQ2xELENBRkQsQ0FJQSxLQUFNSyxDQUFBQSxTQUFTLENBQUcsQ0FBQ0MsS0FBRCxDQUFRQyxPQUFSLEdBQW9CLENBQ3BDLE1BQU9ELENBQUFBLEtBQUssRUFBSSxDQUFBQyxPQUFPLE9BQVAsRUFBQUEsT0FBTyxTQUFQLFFBQUFBLE9BQU8sQ0FBRUMsV0FBVCxJQUF5QixJQUFsQyxDQUF5QyxPQUF6QyxDQUFtRCxRQUMzRCxDQUZELENBSUEsS0FBTUMsQ0FBQUEsZ0JBQWdCLENBQUdDLElBQUksRUFBSSxDQUMvQixNQUFPQSxDQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYSxXQUFiLENBQTBCLEVBQTFCLENBQ1IsQ0FGRCxDQUlBLEtBQU1DLENBQUFBLFlBQVksQ0FBRyxDQUFDTixLQUFELENBQVFPLE1BQVIsQ0FBZ0JDLElBQWhCLENBQXNCQyxNQUF0QixDQUE4QlIsT0FBOUIsR0FBMEMsQ0FDN0QsTUFBT0QsQ0FBQUEsS0FBSyxFQUFJLENBQUFDLE9BQU8sT0FBUCxFQUFBQSxPQUFPLFNBQVAsUUFBQUEsT0FBTyxDQUFFQyxXQUFULElBQXlCLElBQWxDLENBQ0wsNEJBQWlCSyxNQUFqQixFQUF5QkYsT0FBekIsQ0FBaUMsSUFBakMsQ0FBdUMsSUFBdkMsQ0FESyxDQUVKLFFBQU9HLElBQUssSUFBR0MsTUFBTyxJQUFHRixNQUFPLEVBQ3BDLENBSkQsQ0FNQSxLQUFNRyxDQUFBQSxXQUFXLENBQUcsQ0FBQ0MsSUFBRCxDQUFPQyxTQUFQLEdBQXFCLENBQ3ZDLE1BQU9BLENBQUFBLFNBQVMsR0FBS0QsSUFBZCxFQUFzQm5CLGtCQUFrQixDQUFDb0IsU0FBRCxDQUFsQixHQUFrQ0MsU0FDaEUsQ0FGRCxDQUlBLEtBQU1DLENBQUFBLGVBQWUsQ0FBRyxDQUFDQyxJQUFELENBQU9QLElBQVAsQ0FBYVIsS0FBYixDQUFvQkMsT0FBcEIsR0FBZ0MsQ0FDdEQsS0FBTVEsQ0FBQUEsTUFBTSxDQUFHVixTQUFTLENBQUNDLEtBQUQsQ0FBUUMsT0FBUixDQUF4QixDQUNBLEtBQU1NLENBQUFBLE1BQU0sQ0FBR0osZ0JBQWdCLENBQUMscUJBQWFZLElBQWIsQ0FBbUJOLE1BQW5CLENBQUQsQ0FBL0IsQ0FFQSxNQUFPSCxDQUFBQSxZQUFZLENBQUNOLEtBQUQsQ0FBUU8sTUFBUixDQUFnQkMsSUFBaEIsQ0FBc0JDLE1BQXRCLENBQThCUixPQUE5QixDQUNwQixDQUxELENBT0EsS0FBTWUsQ0FBQUEsV0FBVyxDQUFHLENBQUNELElBQUQsQ0FBT0osSUFBUCxDQUFhQyxTQUFiLENBQXdCWCxPQUF4QixHQUFvQyxDQUN0RCxLQUFNTyxDQUFBQSxJQUFJLENBQUdoQixrQkFBa0IsQ0FBQ29CLFNBQUQsQ0FBL0IsQ0FDQSxLQUFNWixDQUFBQSxLQUFLLENBQUdRLElBQUksR0FBS2hCLGtCQUFrQixDQUFDRCxZQUFELENBQXpDLENBQ0EsS0FBTTBCLENBQUFBLFFBQVEsQ0FBRyxrQkFBWUYsSUFBWixDQUFrQkosSUFBbEIsQ0FBakIsQ0FFQSxNQUFPLENBQ0xJLElBQUksQ0FBRUUsUUFERCxDQUVMQyxJQUFJLENBQUUsb0JBQVUsbUJBQVNQLElBQVQsQ0FBVixDQUZELENBR0xQLElBQUksQ0FBRVUsZUFBZSxDQUFDRyxRQUFELENBQVdULElBQVgsQ0FBaUJSLEtBQWpCLENBQXdCQyxPQUF4QixDQUhoQixDQUtSLENBVkQsQ0FZQSxLQUFNa0IsQ0FBQUEsWUFBWSxDQUFHLENBQUNKLElBQUQsQ0FBT0ssS0FBUCxDQUFjbkIsT0FBZCxHQUEwQixDQUM3QyxLQUFNb0IsQ0FBQUEsTUFBTSxDQUFHLEVBQWYsQ0FFQSxJQUFLLEtBQU1WLENBQUFBLElBQVgsR0FBbUJTLENBQUFBLEtBQW5CLENBQTBCLGtCQUN4QixLQUFNUixDQUFBQSxTQUFTLENBQUcsa0JBQVFELElBQVIsQ0FBbEIsQ0FFQSxHQUFJLENBQUNELFdBQVcsQ0FBQ0MsSUFBRCxDQUFPQyxTQUFQLENBQWhCLENBQW1DLENBQ2pDLFFBQ0QsQ0FFRCxLQUFNVSxDQUFBQSxLQUFLLENBQUdOLFdBQVcsQ0FBQ0QsSUFBRCxDQUFPSixJQUFQLENBQWFDLFNBQWIsQ0FBd0JYLE9BQXhCLENBQXpCLENBRUFvQixNQUFNLENBQUNDLEtBQUssQ0FBQ0osSUFBUCxDQUFOLENBQXFCSSxLQUFLLENBQUNsQixJQUEzQixDQUVBSCxPQUFPLE9BQVAsRUFBQUEsT0FBTyxTQUFQLHNCQUFBQSxPQUFPLENBQUVzQixHQUFULHlEQUFBdEIsT0FBTyxDQUFRcUIsS0FBUixDQUNSLENBRUQsTUFBT0QsQ0FBQUEsTUFDUixDQWxCRCxDQW9CTyxLQUFNRyxDQUFBQSxnQkFBZ0IsQ0FBRyxDQUFDVCxJQUFELENBQU9kLE9BQU8sQ0FBRyxFQUFqQixHQUF3QixDQUN0RCxHQUFJLENBQUNSLFFBQVEsQ0FBQ1EsT0FBRCxDQUFiLENBQXdCLENBQ3RCQSxPQUFPLENBQUcsSUFDWCxDQUVELEtBQU1tQixDQUFBQSxLQUFLLENBQUcsb0JBQVlMLElBQVosQ0FBZCxDQUVBLE1BQU9JLENBQUFBLFlBQVksQ0FBQ0osSUFBRCxDQUFPSyxLQUFQLENBQWNuQixPQUFkLENBQ3BCLENBUk0sQywwQ0FVQSxLQUFNd0IsQ0FBQUEsWUFBWSxDQUFHLENBQUNWLElBQUQsQ0FBT2QsT0FBTyxDQUFHLEVBQWpCLEdBQXdCLENBQ2xELE1BQU8sSUFBSXlCLENBQUFBLE9BQUosQ0FBWSxDQUFDQyxPQUFELENBQVVDLE1BQVYsR0FBcUIsQ0FDdEMsR0FBSSxDQUNGRCxPQUFPLENBQUNILGdCQUFnQixDQUFDVCxJQUFELENBQU9kLE9BQVAsQ0FBakIsQ0FDUixDQUFDLE1BQU80QixHQUFQLENBQVksQ0FDWkQsTUFBTSxDQUFDQyxHQUFELENBQ1AsQ0FDRixDQU5NLENBT1IsQ0FSTSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZW5hbWUsIGV4dG5hbWUsIHJlc29sdmUgYXMgcmVzb2x2ZVBhdGggfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHJlYWRkaXJTeW5jLCByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgY2FtZWxDYXNlIGZyb20gJ2xvZGFzaC5jYW1lbGNhc2UnO1xuaW1wb3J0IHN2Z1RvTWluaURhdGFVUkkgZnJvbSAnbWluaS1zdmctZGF0YS11cmknO1xuXG5jb25zdCBzdmdFeHRlbnNpb24gPSAnLnN2Zyc7XG5jb25zdCBzdXBwb3J0ZWRNaW1lVHlwZXMgPSB7XG4gICcuanBnJzogJ2ltYWdlL2pwZWcnLFxuICAnLmpwZWcnOiAnaW1hZ2UvanBlZycsXG4gICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICcuZ2lmJzogJ2ltYWdlL2dpZicsXG4gICcud2VicCc6ICdpbWFnZS93ZWJwJyxcbiAgJy5zdmcnOiAnaW1hZ2Uvc3ZnK3htbCdcbn07XG5cbmNvbnN0IGlzT2JqZWN0ID0gdmFsdWUgPT4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59O1xuXG5jb25zdCBnZXRGb3JtYXQgPSAoaXNTdmcsIG9wdGlvbnMpID0+IHtcbiAgcmV0dXJuIGlzU3ZnICYmIG9wdGlvbnM/LmZvcmNlQmFzZTY0ICE9PSB0cnVlID8gJ3V0Zi04JyA6ICdiYXNlNjQnO1xufTtcblxuY29uc3Qgc2FuaXRpemVGaWxlRGF0YSA9IGRhdGEgPT4ge1xuICByZXR1cm4gZGF0YS5yZXBsYWNlKC9bXFxyXFxuXSsvZ20sICcnKTtcbn07XG5cbmNvbnN0IGJ1aWxkRGF0YVVyaSA9IChpc1N2Zywgc291cmNlLCBtaW1lLCBmb3JtYXQsIG9wdGlvbnMpID0+IHtcbiAgcmV0dXJuIGlzU3ZnICYmIG9wdGlvbnM/LmZvcmNlQmFzZTY0ICE9PSB0cnVlID9cbiAgICBzdmdUb01pbmlEYXRhVVJJKHNvdXJjZSkucmVwbGFjZSgvJy9nLCAnXCInKSA6XG4gICAgYGRhdGE6JHttaW1lfTske2Zvcm1hdH0sJHtzb3VyY2V9YDtcbn07XG5cbmNvbnN0IGlzU3VwcG9ydGVkID0gKGZpbGUsIGV4dGVuc2lvbikgPT4ge1xuICByZXR1cm4gZXh0ZW5zaW9uICE9PSBmaWxlICYmIHN1cHBvcnRlZE1pbWVUeXBlc1tleHRlbnNpb25dICE9PSB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRJbWFnZURhdGFVcmkgPSAocGF0aCwgbWltZSwgaXNTdmcsIG9wdGlvbnMpID0+IHtcbiAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KGlzU3ZnLCBvcHRpb25zKTtcbiAgY29uc3Qgc291cmNlID0gc2FuaXRpemVGaWxlRGF0YShyZWFkRmlsZVN5bmMocGF0aCwgZm9ybWF0KSk7XG5cbiAgcmV0dXJuIGJ1aWxkRGF0YVVyaShpc1N2Zywgc291cmNlLCBtaW1lLCBmb3JtYXQsIG9wdGlvbnMpO1xufTtcblxuY29uc3QgcHJvY2Vzc0ZpbGUgPSAocGF0aCwgZmlsZSwgZXh0ZW5zaW9uLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IG1pbWUgPSBzdXBwb3J0ZWRNaW1lVHlwZXNbZXh0ZW5zaW9uXTtcbiAgY29uc3QgaXNTdmcgPSBtaW1lID09PSBzdXBwb3J0ZWRNaW1lVHlwZXNbc3ZnRXh0ZW5zaW9uXTtcbiAgY29uc3QgZmlsZVBhdGggPSByZXNvbHZlUGF0aChwYXRoLCBmaWxlKTtcblxuICByZXR1cm4ge1xuICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgIG5hbWU6IGNhbWVsQ2FzZShiYXNlbmFtZShmaWxlKSksXG4gICAgZGF0YTogZ2V0SW1hZ2VEYXRhVXJpKGZpbGVQYXRoLCBtaW1lLCBpc1N2Zywgb3B0aW9ucylcbiAgfTtcbn07XG5cbmNvbnN0IHByb2Nlc3NGaWxlcyA9IChwYXRoLCBmaWxlcywgb3B0aW9ucykgPT4ge1xuICBjb25zdCBpbWFnZXMgPSB7fTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBleHRuYW1lKGZpbGUpO1xuXG4gICAgaWYgKCFpc1N1cHBvcnRlZChmaWxlLCBleHRlbnNpb24pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbWFnZSA9IHByb2Nlc3NGaWxlKHBhdGgsIGZpbGUsIGV4dGVuc2lvbiwgb3B0aW9ucyk7XG5cbiAgICBpbWFnZXNbaW1hZ2UubmFtZV0gPSBpbWFnZS5kYXRhO1xuXG4gICAgb3B0aW9ucz8ubG9nPy4oaW1hZ2UpO1xuICB9XG5cbiAgcmV0dXJuIGltYWdlcztcbn07XG5cbmV4cG9ydCBjb25zdCBjb2RpZnlJbWFnZXNTeW5jID0gKHBhdGgsIG9wdGlvbnMgPSB7fSkgPT4ge1xuICBpZiAoIWlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgb3B0aW9ucyA9IG51bGw7XG4gIH1cblxuICBjb25zdCBmaWxlcyA9IHJlYWRkaXJTeW5jKHBhdGgpO1xuXG4gIHJldHVybiBwcm9jZXNzRmlsZXMocGF0aCwgZmlsZXMsIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvZGlmeUltYWdlcyA9IChwYXRoLCBvcHRpb25zID0ge30pID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmVzb2x2ZShjb2RpZnlJbWFnZXNTeW5jKHBhdGgsIG9wdGlvbnMpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJlamVjdChlcnIpO1xuICAgIH1cbiAgfSk7XG59O1xuIl19
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codify-images",
3
- "version": "1.0.1",
4
- "description": "Convert directory of images to encoded JavaScript variables",
3
+ "version": "1.1.0",
4
+ "description": "Quick and easy tool for converting a set of images into inline JavaScript",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "codify-images": "./dist/cli.js"