codify-images 2.0.2 → 2.0.3

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) 2023 Devon Powell
3
+ Copyright (c) 2024 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
@@ -4,7 +4,6 @@
4
4
  [![Version][Version Badge]][Version Package]
5
5
  [![Release][Release Badge]][Release Workflow]
6
6
  [![Coverage][Coverage Badge]][Coverage Report]
7
- [![Vulnerabilities][Vulnerabilities Badge]][Vulnerabilities Report]
8
7
  [![Node Version][Node Version Badge]](package.json#L72)
9
8
 
10
9
  Quick and easy tool for converting a set of images into inline JavaScript.
@@ -133,22 +132,22 @@ npm test
133
132
  npm run test:unit
134
133
  ```
135
134
 
136
- ### Formatting
135
+ ### Fixing
137
136
 
138
- Execute formatters via `npm`.
137
+ Execute fixers via `npm`.
139
138
 
140
139
  ```console
141
140
  # javascript, markdown and package.json
142
- npm run format
141
+ npm run fix
143
142
 
144
143
  # javascript only
145
- npm run format:js
144
+ npm run fix:js
146
145
 
147
146
  # markdown only
148
- npm run format:md
147
+ npm run fix:md
149
148
 
150
149
  # package.json only
151
- npm run format:pkg
150
+ npm run fix:pkg
152
151
  ```
153
152
 
154
153
  ### Building
@@ -168,6 +167,4 @@ npm run build
168
167
  [Release Workflow]: https://github.com/devpow112/codify-images/actions/workflows/release.yml?query=branch%3Amain
169
168
  [Coverage Badge]: https://img.shields.io/coveralls/github/devpow112/codify-images/main?label=Coverage
170
169
  [Coverage Report]: https://coveralls.io/github/devpow112/codify-images?branch=main
171
- [Vulnerabilities Badge]: https://img.shields.io/snyk/vulnerabilities/github/devpow112/codify-images?label=Vulnerabilities
172
- [Vulnerabilities Report]: https://snyk.io/test/github/devpow112/codify-images
173
170
  [Mini SVG Data]: https://www.npmjs.com/package/mini-svg-data-uri
package/dist/coa.js CHANGED
@@ -1,2 +1,2 @@
1
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 mkdirpSync=_mkdirp.mkdirp.sync;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)=>{mkdirpSync(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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGFja2FnZSIsInJlcXVpcmUiLCJfY29tbWFuZGVyIiwiX2ZzIiwiX2NoYWxrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb2RpZnlJbWFnZXMiLCJfbWtkaXJwIiwiX3BhdGgiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImJsdWUiLCJncmVlbiIsInJlZCIsInllbGxvdyIsImNoYWxrIiwibWtkaXJwU3luYyIsIm1rZGlycCIsInN5bmMiLCJnZW5lcmF0ZVN0YXJ0Iiwib3B0aW9ucyIsIm91dHB1dCIsImJhbm5lciIsImVzIiwiZ2VuZXJhdGVMaW5lIiwibmFtZSIsImRhdGEiLCJhZGp1c3RlZERhdGEiLCJkb3VibGVRdW90ZXMiLCJyZXBsYWNlIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwid3JpdGVGaWxlU3luYyIsImVuY29kaW5nIiwibG9nU3RhcnQiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsImdyb3VwIiwibG9nSW5mbyIsImxvZ0Vycm9yIiwiZ3JvdXBFbmQiLCJsb2dQcm9jZXNzZWQiLCJwYXRoIiwibG9nRW5kIiwiZ2VuZXJhdGUiLCJpbnB1dCIsImltYWdlcyIsImNvZGlmeUltYWdlc1N5bmMiLCJzdmdNb2RlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsIkVycm9yIiwiaW5kZXgiLCJrZXkiLCJyZXNvbHZlIiwiY3VzdG9tUGFyc2VJbnQiLCJ2YWx1ZSIsInBhcnNlZFZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsIkludmFsaWRBcmd1bWVudEVycm9yIiwic2V0VXBQcm9ncmFtIiwicHJvZ3JhbSIsImNsaU5hbWUiLCJ2ZXJzaW9uIiwiY2xpVmVyc2lvbiIsInNob3dIZWxwQWZ0ZXJFcnJvciIsImNvbmZpZ3VyZU91dHB1dCIsIm91dHB1dEVycm9yIiwid3JpdGUiLCJhcmd1bWVudCIsInN0YXQiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiXyIsIm9wdGlvbiIsImNob2ljZXNFcyIsImluY2x1ZGVzIiwiY2hvaWNlcyIsImpvaW4iLCJhZGRPcHRpb24iLCJPcHRpb24iLCJhY3Rpb24iLCJvcHRzIiwiZXJyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2EuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbmFtZSBhcyBjbGlOYW1lLCB2ZXJzaW9uIGFzIGNsaVZlcnNpb24gfSBmcm9tICcuLi9wYWNrYWdlLmpzb24nO1xuaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIE9wdGlvbiB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBzdGF0U3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBjb2RpZnlJbWFnZXNTeW5jIH0gZnJvbSAnLi9jb2RpZnktaW1hZ2VzLmpzJztcbmltcG9ydCB7IG1rZGlycCB9IGZyb20gJ21rZGlycCc7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IHsgYmx1ZSwgZ3JlZW4sIHJlZCwgeWVsbG93IH0gPSBjaGFsaztcbmNvbnN0IG1rZGlycFN5bmMgPSBta2RpcnAuc3luYztcblxuY29uc3QgZ2VuZXJhdGVTdGFydCA9IG9wdGlvbnMgPT4ge1xuICBsZXQgb3V0cHV0ID0gb3B0aW9ucy5iYW5uZXIgPT09IHRydWUgPyAnLy8gYXV0by1nZW5lcmF0ZWRcXG4nIDogJyc7XG5cbiAgaWYgKG9wdGlvbnMuZXMgPT09IDUpIHtcbiAgICBvdXRwdXQgKz0gJ21vZHVsZS5leHBvcnRzID0ge1xcbic7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lID0gKG5hbWUsIGRhdGEsIG9wdGlvbnMpID0+IHtcbiAgY29uc3QgYWRqdXN0ZWREYXRhID0gb3B0aW9ucy5kb3VibGVRdW90ZXMgIT09IHRydWUgP1xuICAgIGAnJHtkYXRhLnJlcGxhY2UoLycvZywgJ1xcXFxcXCcnKX0nYCA6XG4gICAgYFwiJHtkYXRhfVwiYDtcbiAgY29uc3QgaW5kZW50VHlwZSA9IG9wdGlvbnMuaW5kZW50VHlwZSA9PT0gJ3RhYicgPyAnXFx0JyA6ICcgJztcbiAgY29uc3QgaW5kZW50ID0gaW5kZW50VHlwZS5yZXBlYXQob3B0aW9ucy5pbmRlbnRDb3VudCk7XG5cbiAgcmV0dXJuIG9wdGlvbnMuZXMgPT09IDYgP1xuICAgIGBleHBvcnQgY29uc3QgJHtuYW1lfSA9ICR7YWRqdXN0ZWREYXRhfTtgIDpcbiAgICBgJHtpbmRlbnR9JHtuYW1lfTogJHthZGp1c3RlZERhdGF9YDtcbn07XG5cbmNvbnN0IGdlbmVyYXRlTGluZUVuZGluZyA9IChvcHRpb25zLCBsYXN0KSA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ICYmICFsYXN0ID8gJyxcXG4nIDogJ1xcbic7XG59O1xuXG5jb25zdCBnZW5lcmF0ZUVuZCA9IG9wdGlvbnMgPT4ge1xuICByZXR1cm4gb3B0aW9ucy5lcyAhPT0gNiA/ICd9O1xcbicgOiAnJztcbn07XG5cbmNvbnN0IHdyaXRlT3V0cHV0ID0gKG91dHB1dFBhdGgsIG91dHB1dCwgb3B0aW9ucykgPT4ge1xuICBta2RpcnBTeW5jKG9wdGlvbnMub3V0cHV0KTtcbiAgd3JpdGVGaWxlU3luYyhvdXRwdXRQYXRoLCBvdXRwdXQsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59O1xuXG5jb25zdCBsb2dTdGFydCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmxvZyh5ZWxsb3cobWVzc2FnZSkpO1xuICBjb25zb2xlLmdyb3VwKCk7XG59O1xuXG5jb25zdCBsb2dJbmZvID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKGJsdWUobWVzc2FnZSkpO1xufTtcblxuY29uc3QgbG9nRXJyb3IgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5ncm91cEVuZCgpO1xuICBjb25zb2xlLmxvZyhyZWQoYGVycm9yOiAke21lc3NhZ2V9YCkpO1xufTtcblxuY29uc3QgbG9nUHJvY2Vzc2VkID0gKHBhdGgsIG5hbWUpID0+IHtcbiAgbG9nSW5mbyhgcHJvY2Vzc2VkIGltYWdlICgke3BhdGh9ID0+ICR7bmFtZX0pYCk7XG59O1xuXG5jb25zdCBsb2dFbmQgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5ncm91cEVuZCgpO1xuICBjb25zb2xlLmxvZyhncmVlbihtZXNzYWdlKSk7XG59O1xuXG5jb25zdCBnZW5lcmF0ZSA9IG9wdGlvbnMgPT4ge1xuICBsb2dTdGFydCh5ZWxsb3coYGdlbmVyYXRpbmcgZXhwb3J0cyAoJHtvcHRpb25zLmlucHV0fSkgLi4uYCkpO1xuXG4gIGxldCBvdXRwdXQgPSBnZW5lcmF0ZVN0YXJ0KG9wdGlvbnMpO1xuICBjb25zdCBpbWFnZXMgPSBjb2RpZnlJbWFnZXNTeW5jKFxuICAgIG9wdGlvbnMuaW5wdXQsXG4gICAgeyBsb2c6IGxvZ1Byb2Nlc3NlZCwgc3ZnTW9kZTogb3B0aW9ucy5zdmdNb2RlIH1cbiAgKTtcblxuICBpZiAoT2JqZWN0LmtleXMoaW1hZ2VzKS5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGltYWdlcyBhdmFpbGFibGUgYXQgaW5wdXQgcGF0aC4nKTtcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpbWFnZXMpO1xuXG4gIGZvciAoY29uc3QgaW5kZXggaW4ga2V5cykge1xuICAgIGNvbnN0IGtleSA9IGtleXNbaW5kZXhdO1xuICAgIGNvbnN0IGRhdGEgPSBpbWFnZXNba2V5XTtcblxuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmUoa2V5LCBkYXRhLCBvcHRpb25zKTtcbiAgICBvdXRwdXQgKz0gZ2VuZXJhdGVMaW5lRW5kaW5nKG9wdGlvbnMsIGluZGV4ID09PSBrZXlzLmxlbmd0aCAtIDEpO1xuXG4gICAgbG9nSW5mbyhgd3JpdGluZyBleHBvcnQgKCR7a2V5fSlgKTtcbiAgfVxuXG4gIG91dHB1dCArPSBnZW5lcmF0ZUVuZChvcHRpb25zKTtcblxuICBjb25zdCBvdXRwdXRQYXRoID0gcmVzb2x2ZShvcHRpb25zLm91dHB1dCwgJ2ltYWdlcy5qcycpO1xuXG4gIHdyaXRlT3V0cHV0KG91dHB1dFBhdGgsIG91dHB1dCwgb3B0aW9ucyk7XG4gIGxvZ0VuZChgZXhwb3J0cyBnZW5lcmF0ZWQgKCR7b3V0cHV0UGF0aH0pYCk7XG59O1xuXG5jb25zdCBjdXN0b21QYXJzZUludCA9IHZhbHVlID0+IHtcbiAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuXG4gIGlmIChpc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgdmFsaWQgaW50ZWdlci4nKTtcbiAgfSBlbHNlIGlmIChwYXJzZWRWYWx1ZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIHBvc2l0aXZlIGludGVnZXIuJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0VXBQcm9ncmFtID0gcHJvZ3JhbSA9PiB7XG4gIHByb2dyYW1cbiAgICAubmFtZShjbGlOYW1lKVxuICAgIC52ZXJzaW9uKGNsaVZlcnNpb24pXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpXG4gICAgLmNvbmZpZ3VyZU91dHB1dCh7IG91dHB1dEVycm9yOiAobWVzc2FnZSwgd3JpdGUpID0+IHdyaXRlKHJlZChtZXNzYWdlKSkgfSlcbiAgICAuYXJndW1lbnQoXG4gICAgICAnPGlucHV0IHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdoZXJlIGltYWdlIGZpbGVzIHJlc2lkZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9IHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgIGNvbnN0IHN0YXQgPSBzdGF0U3luYyhwYXRoKTtcblxuICAgICAgICAgIGlmICghc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgZGlyZWN0b3J5LicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGV4aXN0LicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWQsIC0tZG91YmxlLXF1b3RlcycsXG4gICAgICAnVXNlIGRvdWJsZSBxdW90ZXMgZm9yIG91dHB1dCBpbnN0ZWFkIG9mIHNpbmdsZSBxdW90ZXMnLFxuICAgICAgZmFsc2VcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctbywgLS1vdXRwdXQgPHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdyaXRlIGdlbmVyYXRlZCBmaWxlcycsXG4gICAgICB2YWx1ZSA9PiByZXNvbHZlKHZhbHVlKSxcbiAgICAgICdnZW5lcmF0ZWQnXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWUsIC0tZXMgPHZlcnNpb24+JyxcbiAgICAgICd2ZXJzaW9uIG9mIEVTTSB0byBnZW5lcmF0ZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gY3VzdG9tUGFyc2VJbnQodmFsdWUpO1xuICAgICAgICBjb25zdCBjaG9pY2VzRXMgPSBbNSwgNl07XG5cbiAgICAgICAgaWYgKCFjaG9pY2VzRXMuaW5jbHVkZXMocGFyc2VkVmFsdWUpKSB7XG4gICAgICAgICAgY29uc3QgY2hvaWNlcyA9IGNob2ljZXNFcy5qb2luKCcsICcpO1xuXG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBBbGxvd2VkIGNob2ljZXMgYXJlICR7Y2hvaWNlc30uYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyc2VkVmFsdWU7XG4gICAgICB9LFxuICAgICAgNlxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1jLCAtLWluZGVudC1jb3VudCA8Y291bnQ+JyxcbiAgICAgICdudW1iZXIgb2YgaW5kZW50IGVsZW1lbnRzIHRvIG91dHB1dCcsXG4gICAgICB2YWx1ZSA9PiBjdXN0b21QYXJzZUludCh2YWx1ZSksXG4gICAgICAxXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLUIsIC0tbm8tYmFubmVyJyxcbiAgICAgICdkbyBub3QgaW5jbHVkZSBiYW5uZXIgY29tbWVudCBhdCB0b3Agb2YgZ2VuZXJhdGVkIGZpbGUnXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctdCwgLS1pbmRlbnQtdHlwZSA8dHlwZT4nLCAndHlwZSBvZiBpbmRlbnQgdG8gb3V0cHV0JylcbiAgICAgICAgLmNob2ljZXMoWyd0YWInLCAnc3BhY2UnXSlcbiAgICAgICAgLmRlZmF1bHQoJ3RhYicpXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctcywgLS1zdmctbW9kZSA8bW9kZT4nLCAnb3V0cHV0IG1vZGUgdG8gdXNlIGZvciBTVkcgaW1hZ2VzJylcbiAgICAgICAgLmNob2ljZXMoWydiYXNlNjQnLCAndXJpJywgJ21pbmknLCAnbWluaS1zcmNzZXQnXSlcbiAgICAgICAgLmRlZmF1bHQoJ2Jhc2U2NCcpXG4gICAgKVxuICAgIC5hY3Rpb24oKGlucHV0LCBvcHRzKSA9PiB7XG4gICAgICBpZiAob3B0cy5vdXRwdXQgPT09ICdnZW5lcmF0ZWQnKSB7XG4gICAgICAgIG9wdHMub3V0cHV0ID0gcmVzb2x2ZShvcHRzLm91dHB1dCk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGdlbmVyYXRlKHsgaW5wdXQsIC4uLm9wdHMgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nRXJyb3IoZXJyLm1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9KTtcbn07XG4iXSwibWFwcGluZ3MiOiJrR0FBQSxJQUFBQSxRQUFBLENBQUFDLE9BQUEsb0JBQ0EsSUFBQUMsVUFBQSxDQUFBRCxPQUFBLGNBQ0EsSUFBQUUsR0FBQSxDQUFBRixPQUFBLE9BQ0EsSUFBQUcsTUFBQSxDQUFBQyxzQkFBQSxDQUFBSixPQUFBLFdBQ0EsSUFBQUssYUFBQSxDQUFBTCxPQUFBLHVCQUNBLElBQUFNLE9BQUEsQ0FBQU4sT0FBQSxXQUNBLElBQUFPLEtBQUEsQ0FBQVAsT0FBQSxTQUErQixTQUFBSSx1QkFBQUksR0FBQSxTQUFBQSxHQUFBLEVBQUFBLEdBQUEsQ0FBQUMsVUFBQSxDQUFBRCxHQUFBLEVBQUFFLE9BQUEsQ0FBQUYsR0FBQSxFQUUvQixLQUFNLENBQUVHLElBQUksQ0FBRUMsS0FBSyxDQUFFQyxHQUFHLENBQUVDLE1BQU8sQ0FBQyxDQUFHQyxjQUFLLENBQzFDLEtBQU0sQ0FBQUMsVUFBVSxDQUFHQyxjQUFNLENBQUNDLElBQUksQ0FFOUIsS0FBTSxDQUFBQyxhQUFhLENBQUdDLE9BQU8sRUFBSSxDQUMvQixHQUFJLENBQUFDLE1BQU0sQ0FBR0QsT0FBTyxDQUFDRSxNQUFNLEdBQUssSUFBSSxDQUFHLHFCQUFxQixDQUFHLEVBQUUsQ0FFakUsR0FBSUYsT0FBTyxDQUFDRyxFQUFFLEdBQUssQ0FBQyxDQUFFLENBQ3BCRixNQUFNLEVBQUksc0JBQ1osQ0FFQSxNQUFPLENBQUFBLE1BQ1QsQ0FBQyxDQUVELEtBQU0sQ0FBQUcsWUFBWSxDQUFHQSxDQUFDQyxJQUFJLENBQUVDLElBQUksQ0FBRU4sT0FBTyxHQUFLLENBQzVDLEtBQU0sQ0FBQU8sWUFBWSxDQUFHUCxPQUFPLENBQUNRLFlBQVksR0FBSyxJQUFJLENBQy9DLElBQUdGLElBQUksQ0FBQ0csT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFNLENBQUUsR0FBRSxDQUNoQyxJQUFHSCxJQUFLLEdBQUUsQ0FD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
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGFja2FnZSIsInJlcXVpcmUiLCJfY29tbWFuZGVyIiwiX2ZzIiwiX2NoYWxrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb2RpZnlJbWFnZXMiLCJfbWtkaXJwIiwiX3BhdGgiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImJsdWUiLCJncmVlbiIsInJlZCIsInllbGxvdyIsImNoYWxrIiwibWtkaXJwU3luYyIsIm1rZGlycCIsInN5bmMiLCJnZW5lcmF0ZVN0YXJ0Iiwib3B0aW9ucyIsIm91dHB1dCIsImJhbm5lciIsImVzIiwiZ2VuZXJhdGVMaW5lIiwibmFtZSIsImRhdGEiLCJhZGp1c3RlZERhdGEiLCJkb3VibGVRdW90ZXMiLCJyZXBsYWNlIiwiaW5kZW50VHlwZSIsImluZGVudCIsInJlcGVhdCIsImluZGVudENvdW50IiwiZ2VuZXJhdGVMaW5lRW5kaW5nIiwibGFzdCIsImdlbmVyYXRlRW5kIiwid3JpdGVPdXRwdXQiLCJvdXRwdXRQYXRoIiwid3JpdGVGaWxlU3luYyIsImVuY29kaW5nIiwibG9nU3RhcnQiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsImdyb3VwIiwibG9nSW5mbyIsImxvZ0Vycm9yIiwiZ3JvdXBFbmQiLCJsb2dQcm9jZXNzZWQiLCJwYXRoIiwibG9nRW5kIiwiZ2VuZXJhdGUiLCJpbnB1dCIsImltYWdlcyIsImNvZGlmeUltYWdlc1N5bmMiLCJzdmdNb2RlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsIkVycm9yIiwiaW5kZXgiLCJrZXkiLCJyZXNvbHZlIiwiY3VzdG9tUGFyc2VJbnQiLCJ2YWx1ZSIsInBhcnNlZFZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsIkludmFsaWRBcmd1bWVudEVycm9yIiwic2V0VXBQcm9ncmFtIiwicHJvZ3JhbSIsImNsaU5hbWUiLCJ2ZXJzaW9uIiwiY2xpVmVyc2lvbiIsInNob3dIZWxwQWZ0ZXJFcnJvciIsImNvbmZpZ3VyZU91dHB1dCIsIm91dHB1dEVycm9yIiwid3JpdGUiLCJhcmd1bWVudCIsInN0YXQiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiXyIsIm9wdGlvbiIsImNob2ljZXNFcyIsImluY2x1ZGVzIiwiY2hvaWNlcyIsImpvaW4iLCJhZGRPcHRpb24iLCJPcHRpb24iLCJhY3Rpb24iLCJvcHRzIiwiZXJyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2EuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbmFtZSBhcyBjbGlOYW1lLCB2ZXJzaW9uIGFzIGNsaVZlcnNpb24gfSBmcm9tICcuLi9wYWNrYWdlLmpzb24nO1xuaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIE9wdGlvbiB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBzdGF0U3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBjb2RpZnlJbWFnZXNTeW5jIH0gZnJvbSAnLi9jb2RpZnktaW1hZ2VzLmpzJztcbmltcG9ydCB7IG1rZGlycCB9IGZyb20gJ21rZGlycCc7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IHsgYmx1ZSwgZ3JlZW4sIHJlZCwgeWVsbG93IH0gPSBjaGFsaztcbmNvbnN0IG1rZGlycFN5bmMgPSBta2RpcnAuc3luYztcblxuY29uc3QgZ2VuZXJhdGVTdGFydCA9IG9wdGlvbnMgPT4ge1xuICBsZXQgb3V0cHV0ID0gb3B0aW9ucy5iYW5uZXIgPT09IHRydWUgPyAnLy8gYXV0by1nZW5lcmF0ZWRcXG4nIDogJyc7XG5cbiAgaWYgKG9wdGlvbnMuZXMgPT09IDUpIHtcbiAgICBvdXRwdXQgKz0gJ21vZHVsZS5leHBvcnRzID0ge1xcbic7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufTtcblxuY29uc3QgZ2VuZXJhdGVMaW5lID0gKG5hbWUsIGRhdGEsIG9wdGlvbnMpID0+IHtcbiAgY29uc3QgYWRqdXN0ZWREYXRhID0gb3B0aW9ucy5kb3VibGVRdW90ZXMgIT09IHRydWUgP1xuICAgIGAnJHtkYXRhLnJlcGxhY2UoLycvZywgJ1xcXFxcXCcnKX0nYCA6XG4gICAgYFwiJHtkYXRhfVwiYDtcbiAgY29uc3QgaW5kZW50VHlwZSA9IG9wdGlvbnMuaW5kZW50VHlwZSA9PT0gJ3RhYicgPyAnXFx0JyA6ICcgJztcbiAgY29uc3QgaW5kZW50ID0gaW5kZW50VHlwZS5yZXBlYXQob3B0aW9ucy5pbmRlbnRDb3VudCk7XG5cbiAgcmV0dXJuIG9wdGlvbnMuZXMgPT09IDYgP1xuICAgIGBleHBvcnQgY29uc3QgJHtuYW1lfSA9ICR7YWRqdXN0ZWREYXRhfTtgIDpcbiAgICBgJHtpbmRlbnR9JHtuYW1lfTogJHthZGp1c3RlZERhdGF9YDtcbn07XG5cbmNvbnN0IGdlbmVyYXRlTGluZUVuZGluZyA9IChvcHRpb25zLCBsYXN0KSA9PiB7XG4gIHJldHVybiBvcHRpb25zLmVzICE9PSA2ICYmICFsYXN0ID8gJyxcXG4nIDogJ1xcbic7XG59O1xuXG5jb25zdCBnZW5lcmF0ZUVuZCA9IG9wdGlvbnMgPT4ge1xuICByZXR1cm4gb3B0aW9ucy5lcyAhPT0gNiA/ICd9O1xcbicgOiAnJztcbn07XG5cbmNvbnN0IHdyaXRlT3V0cHV0ID0gKG91dHB1dFBhdGgsIG91dHB1dCwgb3B0aW9ucykgPT4ge1xuICBta2RpcnBTeW5jKG9wdGlvbnMub3V0cHV0KTtcbiAgd3JpdGVGaWxlU3luYyhvdXRwdXRQYXRoLCBvdXRwdXQsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59O1xuXG5jb25zdCBsb2dTdGFydCA9IG1lc3NhZ2UgPT4ge1xuICBjb25zb2xlLmxvZyh5ZWxsb3cobWVzc2FnZSkpO1xuICBjb25zb2xlLmdyb3VwKCk7XG59O1xuXG5jb25zdCBsb2dJbmZvID0gbWVzc2FnZSA9PiB7XG4gIGNvbnNvbGUubG9nKGJsdWUobWVzc2FnZSkpO1xufTtcblxuY29uc3QgbG9nRXJyb3IgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5ncm91cEVuZCgpO1xuICBjb25zb2xlLmxvZyhyZWQoYGVycm9yOiAke21lc3NhZ2V9YCkpO1xufTtcblxuY29uc3QgbG9nUHJvY2Vzc2VkID0gKHBhdGgsIG5hbWUpID0+IHtcbiAgbG9nSW5mbyhgcHJvY2Vzc2VkIGltYWdlICgke3BhdGh9ID0+ICR7bmFtZX0pYCk7XG59O1xuXG5jb25zdCBsb2dFbmQgPSBtZXNzYWdlID0+IHtcbiAgY29uc29sZS5ncm91cEVuZCgpO1xuICBjb25zb2xlLmxvZyhncmVlbihtZXNzYWdlKSk7XG59O1xuXG5jb25zdCBnZW5lcmF0ZSA9IG9wdGlvbnMgPT4ge1xuICBsb2dTdGFydCh5ZWxsb3coYGdlbmVyYXRpbmcgZXhwb3J0cyAoJHtvcHRpb25zLmlucHV0fSkgLi4uYCkpO1xuXG4gIGxldCBvdXRwdXQgPSBnZW5lcmF0ZVN0YXJ0KG9wdGlvbnMpO1xuICBjb25zdCBpbWFnZXMgPSBjb2RpZnlJbWFnZXNTeW5jKFxuICAgIG9wdGlvbnMuaW5wdXQsXG4gICAgeyBsb2c6IGxvZ1Byb2Nlc3NlZCwgc3ZnTW9kZTogb3B0aW9ucy5zdmdNb2RlIH1cbiAgKTtcblxuICBpZiAoT2JqZWN0LmtleXMoaW1hZ2VzKS5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGltYWdlcyBhdmFpbGFibGUgYXQgaW5wdXQgcGF0aC4nKTtcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpbWFnZXMpO1xuXG4gIGZvciAoY29uc3QgaW5kZXggaW4ga2V5cykge1xuICAgIGNvbnN0IGtleSA9IGtleXNbaW5kZXhdO1xuICAgIGNvbnN0IGRhdGEgPSBpbWFnZXNba2V5XTtcblxuICAgIG91dHB1dCArPSBnZW5lcmF0ZUxpbmUoa2V5LCBkYXRhLCBvcHRpb25zKTtcbiAgICBvdXRwdXQgKz0gZ2VuZXJhdGVMaW5lRW5kaW5nKG9wdGlvbnMsIGluZGV4ID09PSBrZXlzLmxlbmd0aCAtIDEpO1xuXG4gICAgbG9nSW5mbyhgd3JpdGluZyBleHBvcnQgKCR7a2V5fSlgKTtcbiAgfVxuXG4gIG91dHB1dCArPSBnZW5lcmF0ZUVuZChvcHRpb25zKTtcblxuICBjb25zdCBvdXRwdXRQYXRoID0gcmVzb2x2ZShvcHRpb25zLm91dHB1dCwgJ2ltYWdlcy5qcycpO1xuXG4gIHdyaXRlT3V0cHV0KG91dHB1dFBhdGgsIG91dHB1dCwgb3B0aW9ucyk7XG4gIGxvZ0VuZChgZXhwb3J0cyBnZW5lcmF0ZWQgKCR7b3V0cHV0UGF0aH0pYCk7XG59O1xuXG5jb25zdCBjdXN0b21QYXJzZUludCA9IHZhbHVlID0+IHtcbiAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuXG4gIGlmIChpc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgdmFsaWQgaW50ZWdlci4nKTtcbiAgfSBlbHNlIGlmIChwYXJzZWRWYWx1ZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGJlIHBvc2l0aXZlIGludGVnZXIuJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0VXBQcm9ncmFtID0gcHJvZ3JhbSA9PiB7XG4gIHByb2dyYW1cbiAgICAubmFtZShjbGlOYW1lKVxuICAgIC52ZXJzaW9uKGNsaVZlcnNpb24pXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcigpXG4gICAgLmNvbmZpZ3VyZU91dHB1dCh7IG91dHB1dEVycm9yOiAobWVzc2FnZSwgd3JpdGUpID0+IHdyaXRlKHJlZChtZXNzYWdlKSkgfSlcbiAgICAuYXJndW1lbnQoXG4gICAgICAnPGlucHV0IHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdoZXJlIGltYWdlIGZpbGVzIHJlc2lkZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9IHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgIGNvbnN0IHN0YXQgPSBzdGF0U3luYyhwYXRoKTtcblxuICAgICAgICAgIGlmICghc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ011c3QgYmUgZGlyZWN0b3J5LicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdNdXN0IGV4aXN0LicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWQsIC0tZG91YmxlLXF1b3RlcycsXG4gICAgICAnVXNlIGRvdWJsZSBxdW90ZXMgZm9yIG91dHB1dCBpbnN0ZWFkIG9mIHNpbmdsZSBxdW90ZXMnLFxuICAgICAgZmFsc2VcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctbywgLS1vdXRwdXQgPHBhdGg+JyxcbiAgICAgICdwYXRoIHRvIHdyaXRlIGdlbmVyYXRlZCBmaWxlcycsXG4gICAgICB2YWx1ZSA9PiByZXNvbHZlKHZhbHVlKSxcbiAgICAgICdnZW5lcmF0ZWQnXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLWUsIC0tZXMgPHZlcnNpb24+JyxcbiAgICAgICd2ZXJzaW9uIG9mIEVTTSB0byBnZW5lcmF0ZScsXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gY3VzdG9tUGFyc2VJbnQodmFsdWUpO1xuICAgICAgICBjb25zdCBjaG9pY2VzRXMgPSBbNSwgNl07XG5cbiAgICAgICAgaWYgKCFjaG9pY2VzRXMuaW5jbHVkZXMocGFyc2VkVmFsdWUpKSB7XG4gICAgICAgICAgY29uc3QgY2hvaWNlcyA9IGNob2ljZXNFcy5qb2luKCcsICcpO1xuXG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBBbGxvd2VkIGNob2ljZXMgYXJlICR7Y2hvaWNlc30uYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyc2VkVmFsdWU7XG4gICAgICB9LFxuICAgICAgNlxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy1jLCAtLWluZGVudC1jb3VudCA8Y291bnQ+JyxcbiAgICAgICdudW1iZXIgb2YgaW5kZW50IGVsZW1lbnRzIHRvIG91dHB1dCcsXG4gICAgICB2YWx1ZSA9PiBjdXN0b21QYXJzZUludCh2YWx1ZSksXG4gICAgICAxXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLUIsIC0tbm8tYmFubmVyJyxcbiAgICAgICdkbyBub3QgaW5jbHVkZSBiYW5uZXIgY29tbWVudCBhdCB0b3Agb2YgZ2VuZXJhdGVkIGZpbGUnXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctdCwgLS1pbmRlbnQtdHlwZSA8dHlwZT4nLCAndHlwZSBvZiBpbmRlbnQgdG8gb3V0cHV0JylcbiAgICAgICAgLmNob2ljZXMoWyd0YWInLCAnc3BhY2UnXSlcbiAgICAgICAgLmRlZmF1bHQoJ3RhYicpXG4gICAgKVxuICAgIC5hZGRPcHRpb24oXG4gICAgICBuZXcgT3B0aW9uKCctcywgLS1zdmctbW9kZSA8bW9kZT4nLCAnb3V0cHV0IG1vZGUgdG8gdXNlIGZvciBTVkcgaW1hZ2VzJylcbiAgICAgICAgLmNob2ljZXMoWydiYXNlNjQnLCAndXJpJywgJ21pbmknLCAnbWluaS1zcmNzZXQnXSlcbiAgICAgICAgLmRlZmF1bHQoJ2Jhc2U2NCcpXG4gICAgKVxuICAgIC5hY3Rpb24oKGlucHV0LCBvcHRzKSA9PiB7XG4gICAgICBpZiAob3B0cy5vdXRwdXQgPT09ICdnZW5lcmF0ZWQnKSB7XG4gICAgICAgIG9wdHMub3V0cHV0ID0gcmVzb2x2ZShvcHRzLm91dHB1dCk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGdlbmVyYXRlKHsgaW5wdXQsIC4uLm9wdHMgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nRXJyb3IoZXJyLm1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9KTtcbn07XG4iXSwibWFwcGluZ3MiOiJrR0FBQSxJQUFBQSxRQUFBLENBQUFDLE9BQUEsb0JBQ0EsSUFBQUMsVUFBQSxDQUFBRCxPQUFBLGNBQ0EsSUFBQUUsR0FBQSxDQUFBRixPQUFBLE9BQ0EsSUFBQUcsTUFBQSxDQUFBQyxzQkFBQSxDQUFBSixPQUFBLFdBQ0EsSUFBQUssYUFBQSxDQUFBTCxPQUFBLHVCQUNBLElBQUFNLE9BQUEsQ0FBQU4sT0FBQSxXQUNBLElBQUFPLEtBQUEsQ0FBQVAsT0FBQSxTQUErQixTQUFBSSx1QkFBQUksR0FBQSxTQUFBQSxHQUFBLEVBQUFBLEdBQUEsQ0FBQUMsVUFBQSxDQUFBRCxHQUFBLEVBQUFFLE9BQUEsQ0FBQUYsR0FBQSxFQUUvQixLQUFNLENBQUVHLElBQUksQ0FBRUMsS0FBSyxDQUFFQyxHQUFHLENBQUVDLE1BQU8sQ0FBQyxDQUFHQyxjQUFLLENBQzFDLEtBQU0sQ0FBQUMsVUFBVSxDQUFHQyxjQUFNLENBQUNDLElBQUksQ0FFOUIsS0FBTSxDQUFBQyxhQUFhLENBQUdDLE9BQU8sRUFBSSxDQUMvQixHQUFJLENBQUFDLE1BQU0sQ0FBR0QsT0FBTyxDQUFDRSxNQUFNLEdBQUssSUFBSSxDQUFHLHFCQUFxQixDQUFHLEVBQUUsQ0FFakUsR0FBSUYsT0FBTyxDQUFDRyxFQUFFLEdBQUssQ0FBQyxDQUFFLENBQ3BCRixNQUFNLEVBQUksc0JBQ1osQ0FFQSxNQUFPLENBQUFBLE1BQ1QsQ0FBQyxDQUVELEtBQU0sQ0FBQUcsWUFBWSxDQUFHQSxDQUFDQyxJQUFJLENBQUVDLElBQUksQ0FBRU4sT0FBTyxHQUFLLENBQzVDLEtBQU0sQ0FBQU8sWUFBWSxDQUFHUCxPQUFPLENBQUNRLFlBQVksR0FBSyxJQUFJLENBQy9DLElBQUdGLElBQUksQ0FBQ0csT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFNLENBQUUsR0FBRSxDQUNoQyxJQUFHSCxJQUFLLEdBQUUsQ0FD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
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.codifyImagesSync=exports.codifyImages=void 0;var errors=_interopRequireWildcard(require("./errors.js"));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}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}const{InvalidPathError,InvalidSvgModeError,UnsupportedTypeError}=errors;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 svgModes=["base64","uri","mini","mini-srcset"];const isObject=value=>{return Object.prototype.toString.call(value)==="[object Object]"};const getEncoding=(isSvg,options)=>{if(isSvg){return options.svgMode}return"base64"};const getFormat=encoding=>{switch(encoding){case"mini":case"mini-srcset":case"uri":return"utf-8";default:return"base64";}};const sanitizeFileData=data=>{return data.replace(/[\r\n]+/gm,"")};const buildDataUri=(source,mime,encoding)=>{if(encoding==="uri"){return`data:${mime};${encodeURIComponent(source)}`}else if(encoding==="mini"){return(0,_miniSvgDataUri.default)(source)}else if(encoding==="mini-srcset"){return _miniSvgDataUri.default.toSrcset(source)}return`data:${mime};${encoding},${source}`};const isSupported=extension=>{return supportedMimeTypes[extension]!==undefined};const getImageDataUri=(path,mime,isSvg,options)=>{const encoding=getEncoding(isSvg,options);const format=getFormat(encoding);const source=sanitizeFileData((0,_fs.readFileSync)(path,format));return buildDataUri(source,mime,encoding)};const processFile=(path,extension,options)=>{const mime=supportedMimeTypes[extension];const isSvg=mime===supportedMimeTypes[svgExtension];return{path,name:(0,_lodash.default)((0,_path.basename)(path)),data:getImageDataUri(path,mime,isSvg,options)}};const processFiles=(path,files,options)=>{const images={};for(const file of files){const filePath=(0,_path.join)(path,file);const extension=(0,_path.extname)(filePath);if(!isSupported(extension)){if(options.ignoreUnsupportedTypes===true){continue}else{throw new UnsupportedTypeError(extension)}}const image=processFile(filePath,extension,options);images[image.name]=image.data;options.log?.(image.path,image.name)}return images};const hasObjectProperty=(options,property)=>{return Object.prototype.hasOwnProperty.call(options,property)};const sanitizeOptions=options=>{if(!isObject(options)){options={}}if(!hasObjectProperty(options,"ignoreUnsupportedTypes")){options.ignoreUnsupportedTypes=true}else{options.ignoreUnsupportedTypes=options.ignoreUnsupportedTypes===true}if(!hasObjectProperty(options,"svgMode")){options.svgMode="base64"}else if(!svgModes.includes(options.svgMode)){throw new InvalidSvgModeError(options.svgMode)}return options};const codifyImagesSync=(path,options={})=>{let files;try{files=(0,_fs.readdirSync)((0,_path.resolve)(path))}catch(_){throw new InvalidPathError(path)}return processFiles(path,files,sanitizeOptions(options))};exports.codifyImagesSync=codifyImagesSync;const codifyImages=(path,options={})=>{return new Promise((resolve,reject)=>{try{resolve(codifyImagesSync(path,sanitizeOptions(options)))}catch(err){reject(err)}})};exports.codifyImages=codifyImages;var _default={codifyImages,codifyImagesSync};exports.default=_default;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlcnJvcnMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcGF0aCIsIl9mcyIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX21pbmlTdmdEYXRhVXJpIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkludmFsaWRQYXRoRXJyb3IiLCJJbnZhbGlkU3ZnTW9kZUVycm9yIiwiVW5zdXBwb3J0ZWRUeXBlRXJyb3IiLCJzdmdFeHRlbnNpb24iLCJzdXBwb3J0ZWRNaW1lVHlwZXMiLCJzdmdNb2RlcyIsImlzT2JqZWN0IiwidmFsdWUiLCJ0b1N0cmluZyIsImdldEVuY29kaW5nIiwiaXNTdmciLCJvcHRpb25zIiwic3ZnTW9kZSIsImdldEZvcm1hdCIsImVuY29kaW5nIiwic2FuaXRpemVGaWxlRGF0YSIsImRhdGEiLCJyZXBsYWNlIiwiYnVpbGREYXRhVXJpIiwic291cmNlIiwibWltZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInN2Z1RvTWluaURhdGFVUkkiLCJ0b1NyY3NldCIsImlzU3VwcG9ydGVkIiwiZXh0ZW5zaW9uIiwidW5kZWZpbmVkIiwiZ2V0SW1hZ2VEYXRhVXJpIiwicGF0aCIsImZvcm1hdCIsInJlYWRGaWxlU3luYyIsInByb2Nlc3NGaWxlIiwibmFtZSIsImNhbWVsQ2FzZSIsImJhc2VuYW1lIiwicHJvY2Vzc0ZpbGVzIiwiZmlsZXMiLCJpbWFnZXMiLCJmaWxlIiwiZmlsZVBhdGgiLCJqb2luIiwiZXh0bmFtZSIsImlnbm9yZVVuc3VwcG9ydGVkVHlwZXMiLCJpbWFnZSIsImxvZyIsImhhc09iamVjdFByb3BlcnR5IiwicHJvcGVydHkiLCJzYW5pdGl6ZU9wdGlvbnMiLCJpbmNsdWRlcyIsImNvZGlmeUltYWdlc1N5bmMiLCJyZWFkZGlyU3luYyIsInJlc29sdmVQYXRoIiwiXyIsImV4cG9ydHMiLCJjb2RpZnlJbWFnZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NvZGlmeS1pbWFnZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZXJyb3JzIGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB7IGJhc2VuYW1lLCBleHRuYW1lLCBqb2luLCByZXNvbHZlIGFzIHJlc29sdmVQYXRoIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkZGlyU3luYywgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IGNhbWVsQ2FzZSBmcm9tICdsb2Rhc2guY2FtZWxjYXNlJztcbmltcG9ydCBzdmdUb01pbmlEYXRhVVJJIGZyb20gJ21pbmktc3ZnLWRhdGEtdXJpJztcblxuY29uc3QgeyBJbnZhbGlkUGF0aEVycm9yLCBJbnZhbGlkU3ZnTW9kZUVycm9yLCBVbnN1cHBvcnRlZFR5cGVFcnJvciB9ID0gZXJyb3JzO1xuXG5jb25zdCBzdmdFeHRlbnNpb24gPSAnLnN2Zyc7XG5jb25zdCBzdXBwb3J0ZWRNaW1lVHlwZXMgPSB7XG4gICcuanBnJzogJ2ltYWdlL2pwZWcnLFxuICAnLmpwZWcnOiAnaW1hZ2UvanBlZycsXG4gICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICcuZ2lmJzogJ2ltYWdlL2dpZicsXG4gICcud2VicCc6ICdpbWFnZS93ZWJwJyxcbiAgJy5zdmcnOiAnaW1hZ2Uvc3ZnK3htbCdcbn07XG5jb25zdCBzdmdNb2RlcyA9IFsnYmFzZTY0JywgJ3VyaScsICdtaW5pJywgJ21pbmktc3Jjc2V0J107XG5cbmNvbnN0IGlzT2JqZWN0ID0gdmFsdWUgPT4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59O1xuXG5jb25zdCBnZXRFbmNvZGluZyA9IChpc1N2Zywgb3B0aW9ucykgPT4ge1xuICBpZiAoaXNTdmcpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5zdmdNb2RlO1xuICB9XG5cbiAgcmV0dXJuICdiYXNlNjQnO1xufTtcblxuY29uc3QgZ2V0Rm9ybWF0ID0gZW5jb2RpbmcgPT4ge1xuICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgY2FzZSAnbWluaSc6XG4gICAgY2FzZSAnbWluaS1zcmNzZXQnOlxuICAgIGNhc2UgJ3VyaSc6XG4gICAgICByZXR1cm4gJ3V0Zi04JztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdiYXNlNjQnO1xuICB9XG59O1xuXG5jb25zdCBzYW5pdGl6ZUZpbGVEYXRhID0gZGF0YSA9PiB7XG4gIHJldHVybiBkYXRhLnJlcGxhY2UoL1tcXHJcXG5dKy9nbSwgJycpO1xufTtcblxuY29uc3QgYnVpbGREYXRhVXJpID0gKHNvdXJjZSwgbWltZSwgZW5jb2RpbmcpID0+IHtcbiAgaWYgKGVuY29kaW5nID09PSAndXJpJykge1xuICAgIHJldHVybiBgZGF0YToke21pbWV9OyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNvdXJjZSl9YDtcbiAgfSBlbHNlIGlmIChlbmNvZGluZyA9PT0gJ21pbmknKSB7XG4gICAgcmV0dXJuIHN2Z1RvTWluaURhdGFVUkkoc291cmNlKTtcbiAgfSBlbHNlIGlmIChlbmNvZGluZyA9PT0gJ21pbmktc3Jjc2V0Jykge1xuICAgIHJldHVybiBzdmdUb01pbmlEYXRhVVJJLnRvU3Jjc2V0KHNvdXJjZSk7XG4gIH1cblxuICByZXR1cm4gYGRhdGE6JHttaW1lfTske2VuY29kaW5nfSwke3NvdXJjZX1gO1xufTtcblxuY29uc3QgaXNTdXBwb3J0ZWQgPSBleHRlbnNpb24gPT4ge1xuICByZXR1cm4gc3VwcG9ydGVkTWltZVR5cGVzW2V4dGVuc2lvbl0gIT09IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldEltYWdlRGF0YVVyaSA9IChwYXRoLCBtaW1lLCBpc1N2Zywgb3B0aW9ucykgPT4ge1xuICBjb25zdCBlbmNvZGluZyA9IGdldEVuY29kaW5nKGlzU3ZnLCBvcHRpb25zKTtcbiAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KGVuY29kaW5nKTtcbiAgY29uc3Qgc291cmNlID0gc2FuaXRpemVGaWxlRGF0YShyZWFkRmlsZVN5bmMocGF0aCwgZm9ybWF0KSk7XG5cbiAgcmV0dXJuIGJ1aWxkRGF0YVVyaShzb3VyY2UsIG1pbWUsIGVuY29kaW5nKTtcbn07XG5cbmNvbnN0IHByb2Nlc3NGaWxlID0gKHBhdGgsIGV4dGVuc2lvbiwgb3B0aW9ucykgPT4ge1xuICBjb25zdCBtaW1lID0gc3VwcG9ydGVkTWltZVR5cGVzW2V4dGVuc2lvbl07XG4gIGNvbnN0IGlzU3ZnID0gbWltZSA9PT0gc3VwcG9ydGVkTWltZVR5cGVzW3N2Z0V4dGVuc2lvbl07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoLFxuICAgIG5hbWU6IGNhbWVsQ2FzZShiYXNlbmFtZShwYXRoKSksXG4gICAgZGF0YTogZ2V0SW1hZ2VEYXRhVXJpKHBhdGgsIG1pbWUsIGlzU3ZnLCBvcHRpb25zKVxuICB9O1xufTtcblxuY29uc3QgcHJvY2Vzc0ZpbGVzID0gKHBhdGgsIGZpbGVzLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGltYWdlcyA9IHt9O1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbihwYXRoLCBmaWxlKTtcbiAgICBjb25zdCBleHRlbnNpb24gPSBleHRuYW1lKGZpbGVQYXRoKTtcblxuICAgIGlmICghaXNTdXBwb3J0ZWQoZXh0ZW5zaW9uKSkge1xuICAgICAgaWYgKG9wdGlvbnMuaWdub3JlVW5zdXBwb3J0ZWRUeXBlcyA9PT0gdHJ1ZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZFR5cGVFcnJvcihleHRlbnNpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGltYWdlID0gcHJvY2Vzc0ZpbGUoZmlsZVBhdGgsIGV4dGVuc2lvbiwgb3B0aW9ucyk7XG5cbiAgICBpbWFnZXNbaW1hZ2UubmFtZV0gPSBpbWFnZS5kYXRhO1xuXG4gICAgb3B0aW9ucy5sb2c/LihpbWFnZS5wYXRoLCBpbWFnZS5uYW1lKTtcbiAgfVxuXG4gIHJldHVybiBpbWFnZXM7XG59O1xuXG5jb25zdCBoYXNPYmplY3RQcm9wZXJ0eSA9IChvcHRpb25zLCBwcm9wZXJ0eSkgPT4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9wdGlvbnMsIHByb3BlcnR5KTtcbn07XG5cbmNvbnN0IHNhbml0aXplT3B0aW9ucyA9IG9wdGlvbnMgPT4ge1xuICBpZiAoIWlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgaWYgKCFoYXNPYmplY3RQcm9wZXJ0eShvcHRpb25zLCAnaWdub3JlVW5zdXBwb3J0ZWRUeXBlcycpKSB7XG4gICAgb3B0aW9ucy5pZ25vcmVVbnN1cHBvcnRlZFR5cGVzID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmlnbm9yZVVuc3VwcG9ydGVkVHlwZXMgPSBvcHRpb25zLmlnbm9yZVVuc3VwcG9ydGVkVHlwZXMgPT09IHRydWU7XG4gIH1cblxuICBpZiAoIWhhc09iamVjdFByb3BlcnR5KG9wdGlvbnMsICdzdmdNb2RlJykpIHtcbiAgICBvcHRpb25zLnN2Z01vZGUgPSAnYmFzZTY0JztcbiAgfSBlbHNlIGlmICghc3ZnTW9kZXMuaW5jbHVkZXMob3B0aW9ucy5zdmdNb2RlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkU3ZnTW9kZUVycm9yKG9wdGlvbnMuc3ZnTW9kZSk7XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBjb2RpZnlJbWFnZXNTeW5jID0gKHBhdGgsIG9wdGlvbnMgPSB7fSkgPT4ge1xuICBsZXQgZmlsZXM7XG5cbiAgdHJ5IHtcbiAgICBmaWxlcyA9IHJlYWRkaXJTeW5jKHJlc29sdmVQYXRoKHBhdGgpKTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkUGF0aEVycm9yKHBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIHByb2Nlc3NGaWxlcyhwYXRoLCBmaWxlcywgc2FuaXRpemVPcHRpb25zKG9wdGlvbnMpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2RpZnlJbWFnZXMgPSAocGF0aCwgb3B0aW9ucyA9IHt9KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc29sdmUoY29kaWZ5SW1hZ2VzU3luYyhwYXRoLCBzYW5pdGl6ZU9wdGlvbnMob3B0aW9ucykpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJlamVjdChlcnIpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvZGlmeUltYWdlcyxcbiAgY29kaWZ5SW1hZ2VzU3luY1xufTtcbiJdLCJtYXBwaW5ncyI6IjJJQUFBLElBQUFBLE1BQUEsQ0FBQUMsdUJBQUEsQ0FBQUMsT0FBQSxpQkFDQSxJQUFBQyxLQUFBLENBQUFELE9BQUEsU0FDQSxJQUFBRSxHQUFBLENBQUFGLE9BQUEsT0FDQSxJQUFBRyxPQUFBLENBQUFDLHNCQUFBLENBQUFKLE9BQUEsc0JBQ0EsSUFBQUssZUFBQSxDQUFBRCxzQkFBQSxDQUFBSixPQUFBLHVCQUFpRCxTQUFBSSx1QkFBQUUsR0FBQSxTQUFBQSxHQUFBLEVBQUFBLEdBQUEsQ0FBQUMsVUFBQSxDQUFBRCxHQUFBLEVBQUFFLE9BQUEsQ0FBQUYsR0FBQSxX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
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.codifyImagesSync=exports.codifyImages=void 0;var errors=_interopRequireWildcard(require("./errors.js"));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}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}const{InvalidPathError,InvalidSvgModeError,UnsupportedTypeError}=errors;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 svgModes=["base64","uri","mini","mini-srcset"];const isObject=value=>{return Object.prototype.toString.call(value)==="[object Object]"};const getEncoding=(isSvg,options)=>{if(isSvg){return options.svgMode}return"base64"};const getFormat=encoding=>{switch(encoding){case"mini":case"mini-srcset":case"uri":return"utf-8";default:return"base64"}};const sanitizeFileData=data=>{return data.replace(/[\r\n]+/gm,"")};const buildDataUri=(source,mime,encoding)=>{if(encoding==="uri"){return`data:${mime};${encodeURIComponent(source)}`}else if(encoding==="mini"){return(0,_miniSvgDataUri.default)(source)}else if(encoding==="mini-srcset"){return _miniSvgDataUri.default.toSrcset(source)}return`data:${mime};${encoding},${source}`};const isSupported=extension=>{return supportedMimeTypes[extension]!==undefined};const getImageDataUri=(path,mime,isSvg,options)=>{const encoding=getEncoding(isSvg,options);const format=getFormat(encoding);const source=sanitizeFileData((0,_fs.readFileSync)(path,format));return buildDataUri(source,mime,encoding)};const processFile=(path,extension,options)=>{const mime=supportedMimeTypes[extension];const isSvg=mime===supportedMimeTypes[svgExtension];return{path,name:(0,_lodash.default)((0,_path.basename)(path)),data:getImageDataUri(path,mime,isSvg,options)}};const processFiles=(path,files,options)=>{const images={};for(const file of files){const filePath=(0,_path.join)(path,file);const extension=(0,_path.extname)(filePath);if(!isSupported(extension)){if(options.ignoreUnsupportedTypes===true){continue}else{throw new UnsupportedTypeError(extension)}}const image=processFile(filePath,extension,options);images[image.name]=image.data;options.log?.(image.path,image.name)}return images};const hasObjectProperty=(options,property)=>{return Object.prototype.hasOwnProperty.call(options,property)};const sanitizeOptions=options=>{if(!isObject(options)){options={}}if(!hasObjectProperty(options,"ignoreUnsupportedTypes")){options.ignoreUnsupportedTypes=true}else{options.ignoreUnsupportedTypes=options.ignoreUnsupportedTypes===true}if(!hasObjectProperty(options,"svgMode")){options.svgMode="base64"}else if(!svgModes.includes(options.svgMode)){throw new InvalidSvgModeError(options.svgMode)}return options};const codifyImagesSync=(path,options={})=>{let files;try{files=(0,_fs.readdirSync)((0,_path.resolve)(path))}catch(_){throw new InvalidPathError(path)}return processFiles(path,files,sanitizeOptions(options))};exports.codifyImagesSync=codifyImagesSync;const codifyImages=(path,options={})=>{return new Promise((resolve,reject)=>{try{resolve(codifyImagesSync(path,sanitizeOptions(options)))}catch(err){reject(err)}})};exports.codifyImages=codifyImages;var _default={codifyImages,codifyImagesSync};exports.default=_default;
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlcnJvcnMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcGF0aCIsIl9mcyIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX21pbmlTdmdEYXRhVXJpIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkludmFsaWRQYXRoRXJyb3IiLCJJbnZhbGlkU3ZnTW9kZUVycm9yIiwiVW5zdXBwb3J0ZWRUeXBlRXJyb3IiLCJzdmdFeHRlbnNpb24iLCJzdXBwb3J0ZWRNaW1lVHlwZXMiLCJzdmdNb2RlcyIsImlzT2JqZWN0IiwidmFsdWUiLCJ0b1N0cmluZyIsImdldEVuY29kaW5nIiwiaXNTdmciLCJvcHRpb25zIiwic3ZnTW9kZSIsImdldEZvcm1hdCIsImVuY29kaW5nIiwic2FuaXRpemVGaWxlRGF0YSIsImRhdGEiLCJyZXBsYWNlIiwiYnVpbGREYXRhVXJpIiwic291cmNlIiwibWltZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInN2Z1RvTWluaURhdGFVUkkiLCJ0b1NyY3NldCIsImlzU3VwcG9ydGVkIiwiZXh0ZW5zaW9uIiwidW5kZWZpbmVkIiwiZ2V0SW1hZ2VEYXRhVXJpIiwicGF0aCIsImZvcm1hdCIsInJlYWRGaWxlU3luYyIsInByb2Nlc3NGaWxlIiwibmFtZSIsImNhbWVsQ2FzZSIsImJhc2VuYW1lIiwicHJvY2Vzc0ZpbGVzIiwiZmlsZXMiLCJpbWFnZXMiLCJmaWxlIiwiZmlsZVBhdGgiLCJqb2luIiwiZXh0bmFtZSIsImlnbm9yZVVuc3VwcG9ydGVkVHlwZXMiLCJpbWFnZSIsImxvZyIsImhhc09iamVjdFByb3BlcnR5IiwicHJvcGVydHkiLCJzYW5pdGl6ZU9wdGlvbnMiLCJpbmNsdWRlcyIsImNvZGlmeUltYWdlc1N5bmMiLCJyZWFkZGlyU3luYyIsInJlc29sdmVQYXRoIiwiXyIsImV4cG9ydHMiLCJjb2RpZnlJbWFnZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NvZGlmeS1pbWFnZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZXJyb3JzIGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB7IGJhc2VuYW1lLCBleHRuYW1lLCBqb2luLCByZXNvbHZlIGFzIHJlc29sdmVQYXRoIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkZGlyU3luYywgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IGNhbWVsQ2FzZSBmcm9tICdsb2Rhc2guY2FtZWxjYXNlJztcbmltcG9ydCBzdmdUb01pbmlEYXRhVVJJIGZyb20gJ21pbmktc3ZnLWRhdGEtdXJpJztcblxuY29uc3QgeyBJbnZhbGlkUGF0aEVycm9yLCBJbnZhbGlkU3ZnTW9kZUVycm9yLCBVbnN1cHBvcnRlZFR5cGVFcnJvciB9ID0gZXJyb3JzO1xuXG5jb25zdCBzdmdFeHRlbnNpb24gPSAnLnN2Zyc7XG5jb25zdCBzdXBwb3J0ZWRNaW1lVHlwZXMgPSB7XG4gICcuanBnJzogJ2ltYWdlL2pwZWcnLFxuICAnLmpwZWcnOiAnaW1hZ2UvanBlZycsXG4gICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICcuZ2lmJzogJ2ltYWdlL2dpZicsXG4gICcud2VicCc6ICdpbWFnZS93ZWJwJyxcbiAgJy5zdmcnOiAnaW1hZ2Uvc3ZnK3htbCdcbn07XG5jb25zdCBzdmdNb2RlcyA9IFsnYmFzZTY0JywgJ3VyaScsICdtaW5pJywgJ21pbmktc3Jjc2V0J107XG5cbmNvbnN0IGlzT2JqZWN0ID0gdmFsdWUgPT4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59O1xuXG5jb25zdCBnZXRFbmNvZGluZyA9IChpc1N2Zywgb3B0aW9ucykgPT4ge1xuICBpZiAoaXNTdmcpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5zdmdNb2RlO1xuICB9XG5cbiAgcmV0dXJuICdiYXNlNjQnO1xufTtcblxuY29uc3QgZ2V0Rm9ybWF0ID0gZW5jb2RpbmcgPT4ge1xuICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgY2FzZSAnbWluaSc6XG4gICAgY2FzZSAnbWluaS1zcmNzZXQnOlxuICAgIGNhc2UgJ3VyaSc6XG4gICAgICByZXR1cm4gJ3V0Zi04JztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdiYXNlNjQnO1xuICB9XG59O1xuXG5jb25zdCBzYW5pdGl6ZUZpbGVEYXRhID0gZGF0YSA9PiB7XG4gIHJldHVybiBkYXRhLnJlcGxhY2UoL1tcXHJcXG5dKy9nbSwgJycpO1xufTtcblxuY29uc3QgYnVpbGREYXRhVXJpID0gKHNvdXJjZSwgbWltZSwgZW5jb2RpbmcpID0+IHtcbiAgaWYgKGVuY29kaW5nID09PSAndXJpJykge1xuICAgIHJldHVybiBgZGF0YToke21pbWV9OyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNvdXJjZSl9YDtcbiAgfSBlbHNlIGlmIChlbmNvZGluZyA9PT0gJ21pbmknKSB7XG4gICAgcmV0dXJuIHN2Z1RvTWluaURhdGFVUkkoc291cmNlKTtcbiAgfSBlbHNlIGlmIChlbmNvZGluZyA9PT0gJ21pbmktc3Jjc2V0Jykge1xuICAgIHJldHVybiBzdmdUb01pbmlEYXRhVVJJLnRvU3Jjc2V0KHNvdXJjZSk7XG4gIH1cblxuICByZXR1cm4gYGRhdGE6JHttaW1lfTske2VuY29kaW5nfSwke3NvdXJjZX1gO1xufTtcblxuY29uc3QgaXNTdXBwb3J0ZWQgPSBleHRlbnNpb24gPT4ge1xuICByZXR1cm4gc3VwcG9ydGVkTWltZVR5cGVzW2V4dGVuc2lvbl0gIT09IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldEltYWdlRGF0YVVyaSA9IChwYXRoLCBtaW1lLCBpc1N2Zywgb3B0aW9ucykgPT4ge1xuICBjb25zdCBlbmNvZGluZyA9IGdldEVuY29kaW5nKGlzU3ZnLCBvcHRpb25zKTtcbiAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KGVuY29kaW5nKTtcbiAgY29uc3Qgc291cmNlID0gc2FuaXRpemVGaWxlRGF0YShyZWFkRmlsZVN5bmMocGF0aCwgZm9ybWF0KSk7XG5cbiAgcmV0dXJuIGJ1aWxkRGF0YVVyaShzb3VyY2UsIG1pbWUsIGVuY29kaW5nKTtcbn07XG5cbmNvbnN0IHByb2Nlc3NGaWxlID0gKHBhdGgsIGV4dGVuc2lvbiwgb3B0aW9ucykgPT4ge1xuICBjb25zdCBtaW1lID0gc3VwcG9ydGVkTWltZVR5cGVzW2V4dGVuc2lvbl07XG4gIGNvbnN0IGlzU3ZnID0gbWltZSA9PT0gc3VwcG9ydGVkTWltZVR5cGVzW3N2Z0V4dGVuc2lvbl07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoLFxuICAgIG5hbWU6IGNhbWVsQ2FzZShiYXNlbmFtZShwYXRoKSksXG4gICAgZGF0YTogZ2V0SW1hZ2VEYXRhVXJpKHBhdGgsIG1pbWUsIGlzU3ZnLCBvcHRpb25zKVxuICB9O1xufTtcblxuY29uc3QgcHJvY2Vzc0ZpbGVzID0gKHBhdGgsIGZpbGVzLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGltYWdlcyA9IHt9O1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbihwYXRoLCBmaWxlKTtcbiAgICBjb25zdCBleHRlbnNpb24gPSBleHRuYW1lKGZpbGVQYXRoKTtcblxuICAgIGlmICghaXNTdXBwb3J0ZWQoZXh0ZW5zaW9uKSkge1xuICAgICAgaWYgKG9wdGlvbnMuaWdub3JlVW5zdXBwb3J0ZWRUeXBlcyA9PT0gdHJ1ZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZFR5cGVFcnJvcihleHRlbnNpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGltYWdlID0gcHJvY2Vzc0ZpbGUoZmlsZVBhdGgsIGV4dGVuc2lvbiwgb3B0aW9ucyk7XG5cbiAgICBpbWFnZXNbaW1hZ2UubmFtZV0gPSBpbWFnZS5kYXRhO1xuXG4gICAgb3B0aW9ucy5sb2c/LihpbWFnZS5wYXRoLCBpbWFnZS5uYW1lKTtcbiAgfVxuXG4gIHJldHVybiBpbWFnZXM7XG59O1xuXG5jb25zdCBoYXNPYmplY3RQcm9wZXJ0eSA9IChvcHRpb25zLCBwcm9wZXJ0eSkgPT4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9wdGlvbnMsIHByb3BlcnR5KTtcbn07XG5cbmNvbnN0IHNhbml0aXplT3B0aW9ucyA9IG9wdGlvbnMgPT4ge1xuICBpZiAoIWlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgaWYgKCFoYXNPYmplY3RQcm9wZXJ0eShvcHRpb25zLCAnaWdub3JlVW5zdXBwb3J0ZWRUeXBlcycpKSB7XG4gICAgb3B0aW9ucy5pZ25vcmVVbnN1cHBvcnRlZFR5cGVzID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmlnbm9yZVVuc3VwcG9ydGVkVHlwZXMgPSBvcHRpb25zLmlnbm9yZVVuc3VwcG9ydGVkVHlwZXMgPT09IHRydWU7XG4gIH1cblxuICBpZiAoIWhhc09iamVjdFByb3BlcnR5KG9wdGlvbnMsICdzdmdNb2RlJykpIHtcbiAgICBvcHRpb25zLnN2Z01vZGUgPSAnYmFzZTY0JztcbiAgfSBlbHNlIGlmICghc3ZnTW9kZXMuaW5jbHVkZXMob3B0aW9ucy5zdmdNb2RlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkU3ZnTW9kZUVycm9yKG9wdGlvbnMuc3ZnTW9kZSk7XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBjb2RpZnlJbWFnZXNTeW5jID0gKHBhdGgsIG9wdGlvbnMgPSB7fSkgPT4ge1xuICBsZXQgZmlsZXM7XG5cbiAgdHJ5IHtcbiAgICBmaWxlcyA9IHJlYWRkaXJTeW5jKHJlc29sdmVQYXRoKHBhdGgpKTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkUGF0aEVycm9yKHBhdGgpO1xuICB9XG5cbiAgcmV0dXJuIHByb2Nlc3NGaWxlcyhwYXRoLCBmaWxlcywgc2FuaXRpemVPcHRpb25zKG9wdGlvbnMpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2RpZnlJbWFnZXMgPSAocGF0aCwgb3B0aW9ucyA9IHt9KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc29sdmUoY29kaWZ5SW1hZ2VzU3luYyhwYXRoLCBzYW5pdGl6ZU9wdGlvbnMob3B0aW9ucykpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJlamVjdChlcnIpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvZGlmeUltYWdlcyxcbiAgY29kaWZ5SW1hZ2VzU3luY1xufTtcbiJdLCJtYXBwaW5ncyI6IjJJQUFBLElBQUFBLE1BQUEsQ0FBQUMsdUJBQUEsQ0FBQUMsT0FBQSxpQkFDQSxJQUFBQyxLQUFBLENBQUFELE9BQUEsU0FDQSxJQUFBRSxHQUFBLENBQUFGLE9BQUEsT0FDQSxJQUFBRyxPQUFBLENBQUFDLHNCQUFBLENBQUFKLE9BQUEsc0JBQ0EsSUFBQUssZUFBQSxDQUFBRCxzQkFBQSxDQUFBSixPQUFBLHVCQUFpRCxTQUFBSSx1QkFBQUUsR0FBQSxTQUFBQSxHQUFBLEVBQUFBLEdBQUEsQ0FBQUMsVUFBQSxDQUFBRCxHQUFBLEVBQUFFLE9BQUEsQ0FBQUYsR0FBQSxX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
package/dist/errors.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.UnsupportedTypeError=exports.InvalidSvgModeError=exports.InvalidPathError=void 0;class CodifyError extends Error{constructor(message,code,exitCode=1){super(message);this.code=`codifyImages.${code}`;this.exitCode=exitCode;this.nestedError=undefined}}class UnsupportedTypeError extends CodifyError{constructor(extension){super(`Type '${extension}' is not a supported image format`,"unsupportedTypeError");Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}exports.UnsupportedTypeError=UnsupportedTypeError;class InvalidPathError extends CodifyError{constructor(path){super(`Path '${path}' is not a valid path`,"invalidPathError");Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}exports.InvalidPathError=InvalidPathError;class InvalidSvgModeError extends CodifyError{constructor(mode){super(`SVG mode '${mode}' is not a valid mode`,"invalidSvgModeError");Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}exports.InvalidSvgModeError=InvalidSvgModeError;
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2RpZnlFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJtZXNzYWdlIiwiY29kZSIsImV4aXRDb2RlIiwibmVzdGVkRXJyb3IiLCJ1bmRlZmluZWQiLCJVbnN1cHBvcnRlZFR5cGVFcnJvciIsImV4dGVuc2lvbiIsImNhcHR1cmVTdGFja1RyYWNlIiwibmFtZSIsImV4cG9ydHMiLCJJbnZhbGlkUGF0aEVycm9yIiwicGF0aCIsIkludmFsaWRTdmdNb2RlRXJyb3IiLCJtb2RlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBDb2RpZnlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSwgY29kZSwgZXhpdENvZGUgPSAxKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG5cbiAgICB0aGlzLmNvZGUgPSBgY29kaWZ5SW1hZ2VzLiR7Y29kZX1gO1xuICAgIHRoaXMuZXhpdENvZGUgPSBleGl0Q29kZTtcbiAgICB0aGlzLm5lc3RlZEVycm9yID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZFR5cGVFcnJvciBleHRlbmRzIENvZGlmeUVycm9yIHtcbiAgY29uc3RydWN0b3IoZXh0ZW5zaW9uKSB7XG4gICAgc3VwZXIoXG4gICAgICBgVHlwZSAnJHtleHRlbnNpb259JyBpcyBub3QgYSBzdXBwb3J0ZWQgaW1hZ2UgZm9ybWF0YCxcbiAgICAgICd1bnN1cHBvcnRlZFR5cGVFcnJvcidcbiAgICApO1xuXG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG5cbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRQYXRoRXJyb3IgZXh0ZW5kcyBDb2RpZnlFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHBhdGgpIHtcbiAgICBzdXBlcihgUGF0aCAnJHtwYXRofScgaXMgbm90IGEgdmFsaWQgcGF0aGAsICdpbnZhbGlkUGF0aEVycm9yJyk7XG5cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZFN2Z01vZGVFcnJvciBleHRlbmRzIENvZGlmeUVycm9yIHtcbiAgY29uc3RydWN0b3IobW9kZSkge1xuICAgIHN1cGVyKGBTVkcgbW9kZSAnJHttb2RlfScgaXMgbm90IGEgdmFsaWQgbW9kZWAsICdpbnZhbGlkU3ZnTW9kZUVycm9yJyk7XG5cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiK0pBQUEsS0FBTSxDQUFBQSxXQUFXLFFBQVMsQ0FBQUMsS0FBTSxDQUM5QkMsV0FBV0EsQ0FBQ0MsT0FBTyxDQUFFQyxJQUFJLENBQUVDLFFBQVEsQ0FBRyxDQUFDLENBQUUsQ0FDdkMsS0FBSyxDQUFDRixPQUFPLENBQUMsQ0FFZCxJQUFJLENBQUNDLElBQUksQ0FBSSxnQkFBZUEsSUFBSyxFQUFDLENBQ2xDLElBQUksQ0FBQ0MsUUFBUSxDQUFHQSxRQUFRLENBQ3hCLElBQUksQ0FBQ0MsV0FBVyxDQUFHQyxTQUNyQixDQUNGLENBRU8sS0FBTSxDQUFBQyxvQkFBb0IsUUFBUyxDQUFBUixXQUFZLENBQ3BERSxXQUFXQSxDQUFDTyxTQUFTLENBQUUsQ0FDckIsS0FBSyxDQUNGLFNBQVFBLFNBQVUsbUNBQWtDLENBQ3JELHNCQUFzQixDQUN2QixDQUVEUixLQUFLLENBQUNTLGlCQUFpQixDQUFDLElBQUksQ0FBRSxJQUFJLENBQUNSLFdBQVcsQ0FBQyxDQUUvQyxJQUFJLENBQUNTLElBQUksQ0FBRyxJQUFJLENBQUNULFdBQVcsQ0FBQ1MsSUFDL0IsQ0FDRixDQUFDQyxPQUFBLENBQUFKLG9CQUFBLENBQUFBLG9CQUFBLENBRU0sS0FBTSxDQUFBSyxnQkFBZ0IsUUFBUyxDQUFBYixXQUFZLENBQ2hERSxXQUFXQSxDQUFDWSxJQUFJLENBQUUsQ0FDaEIsS0FBSyxDQUFFLFNBQVFBLElBQUssdUJBQXNCLENBQUUsa0JBQWtCLENBQUMsQ0FFL0RiLEtBQUssQ0FBQ1MsaUJBQWlCLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQ1IsV0FBVyxDQUFDLENBRS9DLElBQUksQ0FBQ1MsSUFBSSxDQUFHLElBQUksQ0FBQ1QsV0FBVyxDQUFDUyxJQUMvQixDQUNGLENBQUNDLE9BQUEsQ0FBQUMsZ0JBQUEsQ0FBQUEsZ0JBQUEsQ0FFTSxLQUFNLENBQUFFLG1CQUFtQixRQUFTLENBQUFmLFdBQVksQ0FDbkRFLFdBQVdBLENBQUNjLElBQUksQ0FBRSxDQUNoQixLQUFLLENBQUUsYUFBWUEsSUFBSyx1QkFBc0IsQ0FBRSxxQkFBcUIsQ0FBQyxDQUV0RWYsS0FBSyxDQUFDUyxpQkFBaUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDUixXQUFXLENBQUMsQ0FFL0MsSUFBSSxDQUFDUyxJQUFJLENBQUcsSUFBSSxDQUFDVCxXQUFXLENBQUNTLElBQy9CLENBQ0YsQ0FBQ0MsT0FBQSxDQUFBRyxtQkFBQSxDQUFBQSxtQkFBQSJ9
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2RpZnlFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJtZXNzYWdlIiwiY29kZSIsImV4aXRDb2RlIiwibmVzdGVkRXJyb3IiLCJ1bmRlZmluZWQiLCJVbnN1cHBvcnRlZFR5cGVFcnJvciIsImV4dGVuc2lvbiIsImNhcHR1cmVTdGFja1RyYWNlIiwibmFtZSIsImV4cG9ydHMiLCJJbnZhbGlkUGF0aEVycm9yIiwicGF0aCIsIkludmFsaWRTdmdNb2RlRXJyb3IiLCJtb2RlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBDb2RpZnlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSwgY29kZSwgZXhpdENvZGUgPSAxKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG5cbiAgICB0aGlzLmNvZGUgPSBgY29kaWZ5SW1hZ2VzLiR7Y29kZX1gO1xuICAgIHRoaXMuZXhpdENvZGUgPSBleGl0Q29kZTtcbiAgICB0aGlzLm5lc3RlZEVycm9yID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZFR5cGVFcnJvciBleHRlbmRzIENvZGlmeUVycm9yIHtcbiAgY29uc3RydWN0b3IoZXh0ZW5zaW9uKSB7XG4gICAgc3VwZXIoXG4gICAgICBgVHlwZSAnJHtleHRlbnNpb259JyBpcyBub3QgYSBzdXBwb3J0ZWQgaW1hZ2UgZm9ybWF0YCxcbiAgICAgICd1bnN1cHBvcnRlZFR5cGVFcnJvcidcbiAgICApO1xuXG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG5cbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRQYXRoRXJyb3IgZXh0ZW5kcyBDb2RpZnlFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHBhdGgpIHtcbiAgICBzdXBlcihgUGF0aCAnJHtwYXRofScgaXMgbm90IGEgdmFsaWQgcGF0aGAsICdpbnZhbGlkUGF0aEVycm9yJyk7XG5cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZFN2Z01vZGVFcnJvciBleHRlbmRzIENvZGlmeUVycm9yIHtcbiAgY29uc3RydWN0b3IobW9kZSkge1xuICAgIHN1cGVyKGBTVkcgbW9kZSAnJHttb2RlfScgaXMgbm90IGEgdmFsaWQgbW9kZWAsICdpbnZhbGlkU3ZnTW9kZUVycm9yJyk7XG5cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiK0pBQUEsS0FBTSxDQUFBQSxXQUFXLFFBQVMsQ0FBQUMsS0FBTSxDQUM5QkMsV0FBV0EsQ0FBQ0MsT0FBTyxDQUFFQyxJQUFJLENBQUVDLFFBQVEsQ0FBRyxDQUFDLENBQUUsQ0FDdkMsS0FBSyxDQUFDRixPQUFPLENBQUMsQ0FFZCxJQUFJLENBQUNDLElBQUksQ0FBSSxnQkFBZUEsSUFBSyxFQUFDLENBQ2xDLElBQUksQ0FBQ0MsUUFBUSxDQUFHQSxRQUFRLENBQ3hCLElBQUksQ0FBQ0MsV0FBVyxDQUFHQyxTQUNyQixDQUNGLENBRU8sS0FBTSxDQUFBQyxvQkFBb0IsUUFBUyxDQUFBUixXQUFZLENBQ3BERSxXQUFXQSxDQUFDTyxTQUFTLENBQUUsQ0FDckIsS0FBSyxDQUNGLFNBQVFBLFNBQVUsbUNBQWtDLENBQ3JELHNCQUNGLENBQUMsQ0FFRFIsS0FBSyxDQUFDUyxpQkFBaUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDUixXQUFXLENBQUMsQ0FFL0MsSUFBSSxDQUFDUyxJQUFJLENBQUcsSUFBSSxDQUFDVCxXQUFXLENBQUNTLElBQy9CLENBQ0YsQ0FBQ0MsT0FBQSxDQUFBSixvQkFBQSxDQUFBQSxvQkFBQSxDQUVNLEtBQU0sQ0FBQUssZ0JBQWdCLFFBQVMsQ0FBQWIsV0FBWSxDQUNoREUsV0FBV0EsQ0FBQ1ksSUFBSSxDQUFFLENBQ2hCLEtBQUssQ0FBRSxTQUFRQSxJQUFLLHVCQUFzQixDQUFFLGtCQUFrQixDQUFDLENBRS9EYixLQUFLLENBQUNTLGlCQUFpQixDQUFDLElBQUksQ0FBRSxJQUFJLENBQUNSLFdBQVcsQ0FBQyxDQUUvQyxJQUFJLENBQUNTLElBQUksQ0FBRyxJQUFJLENBQUNULFdBQVcsQ0FBQ1MsSUFDL0IsQ0FDRixDQUFDQyxPQUFBLENBQUFDLGdCQUFBLENBQUFBLGdCQUFBLENBRU0sS0FBTSxDQUFBRSxtQkFBbUIsUUFBUyxDQUFBZixXQUFZLENBQ25ERSxXQUFXQSxDQUFDYyxJQUFJLENBQUUsQ0FDaEIsS0FBSyxDQUFFLGFBQVlBLElBQUssdUJBQXNCLENBQUUscUJBQXFCLENBQUMsQ0FFdEVmLEtBQUssQ0FBQ1MsaUJBQWlCLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQ1IsV0FBVyxDQUFDLENBRS9DLElBQUksQ0FBQ1MsSUFBSSxDQUFHLElBQUksQ0FBQ1QsV0FBVyxDQUFDUyxJQUMvQixDQUNGLENBQUNDLE9BQUEsQ0FBQUcsbUJBQUEsQ0FBQUEsbUJBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codify-images",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Quick and easy tool for converting a set of images into inline JavaScript",
5
5
  "keywords": [
6
6
  "image",
@@ -12,13 +12,13 @@
12
12
  },
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "https://github.com/devpow112/codify-images.git"
15
+ "url": "git+https://github.com/devpow112/codify-images.git"
16
16
  },
17
17
  "license": "MIT",
18
18
  "author": "Devon Powell <devon.f.powell@gmail.com>",
19
19
  "main": "dist/codify-images.js",
20
20
  "bin": {
21
- "codify-images": "./dist/cli.js"
21
+ "codify-images": "dist/cli.js"
22
22
  },
23
23
  "directories": {
24
24
  "test": "test"
@@ -29,44 +29,44 @@
29
29
  "scripts": {
30
30
  "prebuild": "rimraf dist/",
31
31
  "build": "babel --verbose --out-dir dist src",
32
- "lint": "run-s -s lint:git lint:js lint:md lint:pkg",
33
- "lint:js": "eslint .",
34
- "lint:md": "markdownlint .",
32
+ "lint": "run-s -s lint:git lint:js lint:md",
33
+ "lint:js": "eslint . --ext .js,.mjs,.cjs --ignore-path .gitignore",
34
+ "lint:md": "markdownlint . --ignore-path .gitignore",
35
35
  "lint:git": "commitlint --from origin/main --to HEAD",
36
36
  "lint:pkg": "sort-package-json --check",
37
- "format": "run-s -s format:js format:md format:pkg",
38
- "format:js": "npm run -s lint:js -- --fix",
39
- "format:md": "npm run -s lint:md -- --fix",
40
- "format:pkg": "sort-package-json",
37
+ "fix": "run-s -s fix:js fix:md fix:pkg",
38
+ "fix:js": "npm run -s lint:js -- --fix",
39
+ "fix:md": "npm run -s lint:md -- --fix",
40
+ "fix:pkg": "npm pkg fix && sort-package-json",
41
41
  "pretest": "rimraf test/.temp/",
42
42
  "test": "run-s -s lint test:unit",
43
43
  "test:unit": "nyc mocha test/unit/*.test.js"
44
44
  },
45
45
  "dependencies": {
46
46
  "chalk": "^4.1.2",
47
- "commander": "^11.1.0",
47
+ "commander": "^12.0.0",
48
48
  "lodash.camelcase": "^4.3.0",
49
49
  "mini-svg-data-uri": "^1.4.4",
50
50
  "mkdirp": "^3.0.1"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/cli": "^7.23.0",
54
- "@babel/register": "^7.22.15",
55
- "@commitlint/cli": "^17.7.2",
56
- "@devpow112/babel-config": "^1.1.2",
57
- "@devpow112/commitlint-config": "^2.0.0",
58
- "@devpow112/eslint-config": "^2.0.1",
59
- "@devpow112/semantic-release-config": "^2.1.2",
53
+ "@babel/cli": "^7.23.9",
54
+ "@babel/register": "^7.23.7",
55
+ "@commitlint/cli": "^18.6.1",
56
+ "@devpow112/babel-config": "^1.2.1",
57
+ "@devpow112/commitlint-config": "^2.0.1",
58
+ "@devpow112/eslint-config": "^2.0.3",
59
+ "@devpow112/semantic-release-config": "^2.2.3",
60
60
  "chai": "^4.3.10",
61
- "eslint": "^8.51.0",
62
- "markdownlint-cli": "^0.37.0",
63
- "mocha": "^10.2.0",
61
+ "eslint": "^8.57.0",
62
+ "markdownlint-cli": "^0.39.0",
63
+ "mocha": "^10.3.0",
64
64
  "npm-run-all": "^4.1.5",
65
65
  "nyc": "^15.1.0",
66
66
  "rimraf": "^5.0.5",
67
- "semantic-release": "^21.1.2",
68
- "sinon": "^16.1.0",
69
- "sort-package-json": "^2.6.0"
67
+ "semantic-release": "^23.0.3",
68
+ "sinon": "^17.0.1",
69
+ "sort-package-json": "^2.8.0"
70
70
  },
71
71
  "engines": {
72
72
  "node": ">=18"