icon-gen
Advanced tools
Comparing version 2.1.0 to 3.0.0
@@ -118,5 +118,5 @@ "use strict"; | ||
const exec = (argv) => { | ||
const options = exports.parseArgv(argv); | ||
return index_1.default(options.input, options.output, options.icon); | ||
const options = (0, exports.parseArgv)(argv); | ||
return (0, index_1.default)(options.input, options.output, options.icon); | ||
}; | ||
exports.default = exec; |
@@ -8,4 +8,4 @@ #!/usr/bin/env node | ||
const cli_js_1 = __importDefault(require("./cli.js")); | ||
cli_js_1.default(process.argv).catch((err) => { | ||
(0, cli_js_1.default)(process.argv).catch((err) => { | ||
console.error(err); | ||
}); |
@@ -60,3 +60,3 @@ "use strict"; | ||
logger.log('Favicon:'); | ||
const targets = png_1.filterImagesBySizes(images, sizes); | ||
const targets = (0, png_1.filterImagesBySizes)(images, sizes); | ||
const results = []; | ||
@@ -87,4 +87,4 @@ for (const image of targets) { | ||
}; | ||
const results = await exports.generatePNG(images, dir, opt.name, opt.pngSizes, logger); | ||
results.push(await ico_1.default(png_1.filterImagesBySizes(images, opt.icoSizes), dir, logger, { | ||
const results = await (0, exports.generatePNG)(images, dir, opt.name, opt.pngSizes, logger); | ||
results.push(await (0, ico_1.default)((0, png_1.filterImagesBySizes)(images, opt.icoSizes), dir, logger, { | ||
name: ICO_FILE_NAME, | ||
@@ -91,0 +91,0 @@ sizes: opt.icoSizes |
@@ -116,5 +116,5 @@ "use strict"; | ||
// Compress | ||
results.colors = results.colors.concat(rle_1.packICNS(r)); | ||
results.colors = results.colors.concat(rle_1.packICNS(g)); | ||
results.colors = results.colors.concat(rle_1.packICNS(b)); | ||
results.colors = results.colors.concat((0, rle_1.packICNS)(r)); | ||
results.colors = results.colors.concat((0, rle_1.packICNS)(g)); | ||
results.colors = results.colors.concat((0, rle_1.packICNS)(b)); | ||
return results; | ||
@@ -243,3 +243,3 @@ }; | ||
try { | ||
const targets = png_1.filterImagesBySizes(images, opt.sizes); | ||
const targets = (0, png_1.filterImagesBySizes)(images, opt.sizes); | ||
await createIconFile(targets, dest); | ||
@@ -246,0 +246,0 @@ } |
@@ -127,3 +127,3 @@ "use strict"; | ||
const readPNGs = (images, sizes) => { | ||
const targets = png_1.filterImagesBySizes(images, sizes); | ||
const targets = (0, png_1.filterImagesBySizes)(images, sizes); | ||
return targets.map((image) => { | ||
@@ -130,0 +130,0 @@ const data = fs_1.default.readFileSync(image.filePath); |
@@ -102,9 +102,9 @@ "use strict"; | ||
if (options.icns) { | ||
results.push(await icns_1.default(images, dir, logger, options.icns)); | ||
results.push(await (0, icns_1.default)(images, dir, logger, options.icns)); | ||
} | ||
if (options.ico) { | ||
results.push(await ico_1.default(images, dir, logger, options.ico)); | ||
results.push(await (0, ico_1.default)(images, dir, logger, options.ico)); | ||
} | ||
if (options.favicon) { | ||
const files = await favicon_1.default(images, dir, logger, options.favicon); | ||
const files = await (0, favicon_1.default)(images, dir, logger, options.favicon); | ||
for (const file of files) { | ||
@@ -166,3 +166,3 @@ results.push(file); | ||
logger.log(' dir: ' + destDirPath); | ||
const workDir = path_1.default.join(os_1.default.tmpdir(), uuid_1.v4()); | ||
const workDir = path_1.default.join(os_1.default.tmpdir(), (0, uuid_1.v4)()); | ||
fs_1.default.mkdirSync(workDir); | ||
@@ -173,3 +173,3 @@ if (!fs_1.default.existsSync(workDir)) { | ||
try { | ||
const images = await png_1.default(svgFilePath, workDir, getRequiredPNGImageSizes(options), logger); | ||
const images = await (0, png_1.default)(svgFilePath, workDir, getRequiredPNGImageSizes(options), logger); | ||
const results = await generate(images, destDirPath, options, logger); | ||
@@ -176,0 +176,0 @@ del_1.default.sync([workDir], { force: true }); |
@@ -9,4 +9,3 @@ "use strict"; | ||
const path_1 = __importDefault(require("path")); | ||
const util_1 = __importDefault(require("util")); | ||
const svg2png_1 = __importDefault(require("svg2png")); | ||
const sharp_1 = __importDefault(require("sharp")); | ||
/** | ||
@@ -41,8 +40,9 @@ * Filter by size to the specified image information. | ||
logger.log(' Create: ' + dest); | ||
const buffer = svg2png_1.default.sync(svg, { width: size, height: size }); | ||
if (!buffer) { | ||
throw new Error('Failed to write the image, ' + size + 'x' + size); | ||
} | ||
const writeFileAsync = util_1.default.promisify(fs_1.default.writeFile); | ||
await writeFileAsync(dest, buffer); | ||
await (0, sharp_1.default)(svg) | ||
.png({ compressionLevel: 9 }) | ||
.resize(size, size, { | ||
fit: 'contain', | ||
background: { r: 0, g: 0, b: 0, alpha: 0 } | ||
}) | ||
.toFile(dest); | ||
return { size: size, filePath: dest }; | ||
@@ -49,0 +49,0 @@ }; |
@@ -175,3 +175,3 @@ "use strict"; | ||
if (current === next) { | ||
dest = dest.concat(exports.packBitsLiteralToResult(literals)); | ||
dest = dest.concat((0, exports.packBitsLiteralToResult)(literals)); | ||
literals = []; | ||
@@ -202,3 +202,3 @@ const maxJ = max <= i + MAX_LITERAL_LENGTH ? max - i - 1 : MAX_LITERAL_LENGTH; | ||
if (literals.length === MAX_LITERAL_LENGTH) { | ||
dest = dest.concat(exports.packBitsLiteralToResult(literals)); | ||
dest = dest.concat((0, exports.packBitsLiteralToResult)(literals)); | ||
literals = []; | ||
@@ -210,3 +210,3 @@ } | ||
literals.push(current); | ||
dest = dest.concat(exports.packBitsLiteralToResult(literals)); | ||
dest = dest.concat((0, exports.packBitsLiteralToResult)(literals)); | ||
literals = []; | ||
@@ -213,0 +213,0 @@ } |
{ | ||
"name": "icon-gen", | ||
"description": "Generate an icon files from the SVG or PNG files", | ||
"version": "2.1.0", | ||
"version": "3.0.0", | ||
"author": "akabeko (http://akabeko.me/)", | ||
@@ -9,3 +9,3 @@ "license": "MIT", | ||
"engines": { | ||
"node": ">= 10" | ||
"node": ">= 12" | ||
}, | ||
@@ -41,21 +41,21 @@ "main": "dist/lib/index.js", | ||
"dependencies": { | ||
"commander": "^6.2.0", | ||
"commander": "^8.3.0", | ||
"del": "^6.0.0", | ||
"mkdirp": "^1.0.4", | ||
"pngjs": "^6.0.0", | ||
"svg2png": "4.1.1", | ||
"uuid": "^8.3.1" | ||
"sharp": "^0.29.3", | ||
"uuid": "^8.3.2" | ||
}, | ||
"devDependencies": { | ||
"@types/cross-spawn": "^6.0.2", | ||
"@types/jest": "^26.0.16", | ||
"@types/mkdirp": "^1.0.1", | ||
"@types/node": "^14.14.10", | ||
"@types/pngjs": "^3.4.2", | ||
"@types/svg2png": "^4.1.0", | ||
"@types/uuid": "^8.3.0", | ||
"jest": "^26.6.3", | ||
"ts-jest": "^26.4.4", | ||
"typescript": "^4.1.2" | ||
"@types/jest": "^27.0.3", | ||
"@types/mkdirp": "^1.0.2", | ||
"@types/node": "^16.11.11", | ||
"@types/pngjs": "^6.0.1", | ||
"@types/sharp": "^0.29.4", | ||
"@types/uuid": "^8.3.3", | ||
"jest": "^27.4.3", | ||
"ts-jest": "^27.0.7", | ||
"typescript": "^4.5.2" | ||
} | ||
} |
@@ -5,3 +5,3 @@ # npm-icon-gen | ||
[![npm version](https://badge.fury.io/js/icon-gen.svg)](https://badge.fury.io/js/icon-gen) | ||
[![Build Status](https://travis-ci.org/akabekobeko/npm-icon-gen.svg?branch=master)](https://travis-ci.org/akabekobeko/npm-icon-gen) | ||
![test](https://github.com/akabekobeko/npm-icon-gen/workflows/test/badge.svg) | ||
@@ -32,6 +32,4 @@ Generate an icon files from the **SVG** or **PNG** files. | ||
SVG files are rendering to PNG file in **svg2png**. Rendering files is output to a temporary directory of the each OS. | ||
SVG files are rendering to PNG file in [sharp](https://www.npmjs.com/package/sharp). Rendering files is output to a temporary directory of the each OS. | ||
Rendering of svg2png is run by [phantomjs](https://www.npmjs.com/package/phantomjs). Please use the PNG directory If the rendering quality there is a problem. | ||
```js | ||
@@ -49,2 +47,12 @@ const icongen = require('icon-gen') | ||
Stopped using [svg2png](https://www.npmjs.com/package/svg2png) because of its dependency on [phantomjs](https://www.npmjs.com/package/phantomjs), which is deprecated. | ||
The quality of PNG generated from SVG will change, so if you need the previous results, use icon-gen v2.1.0. | ||
``` | ||
$ npm install icon-gen@2.1.0 | ||
``` | ||
In the future, I may add SVG to PNG conversion by Chromium via [puppeteer-core](https://www.npmjs.com/package/puppeteer-core) in addition to [sharp](https://www.npmjs.com/package/sharp). | ||
### PNG | ||
@@ -55,11 +63,11 @@ | ||
```js | ||
const icongen = require('icon-gen'); | ||
const icongen = require('icon-gen') | ||
icongen('./images', './icons', { report: true }) | ||
.then((results) => { | ||
console.log(results); | ||
} ) | ||
.catch((err) => { | ||
console.error(err); | ||
}); | ||
.then((results) => { | ||
console.log(results) | ||
}) | ||
.catch((err) => { | ||
console.error(err) | ||
}) | ||
``` | ||
@@ -66,0 +74,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
216
0
62320
21
+ Addedsharp@^0.29.3
+ Addedbase64-js@1.5.1(transitive)
+ Addedbl@4.1.0(transitive)
+ Addedbuffer@5.7.1(transitive)
+ Addedchownr@1.1.4(transitive)
+ Addedcolor@4.2.3(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedcolor-string@1.9.1(transitive)
+ Addedcommander@8.3.0(transitive)
+ Addeddecompress-response@6.0.0(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addeddetect-libc@1.0.32.0.3(transitive)
+ Addedend-of-stream@1.4.4(transitive)
+ Addedexpand-template@2.0.3(transitive)
+ Addedfs-constants@1.0.0(transitive)
+ Addedgithub-from-package@0.0.0(transitive)
+ Addedieee754@1.2.1(transitive)
+ Addedini@1.3.8(transitive)
+ Addedis-arrayish@0.3.2(transitive)
+ Addedmimic-response@3.1.0(transitive)
+ Addedmkdirp-classic@0.5.3(transitive)
+ Addednapi-build-utils@1.0.2(transitive)
+ Addednode-abi@3.62.0(transitive)
+ Addednode-addon-api@4.3.0(transitive)
+ Addedprebuild-install@7.1.2(transitive)
+ Addedpump@3.0.0(transitive)
+ Addedrc@1.2.8(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsemver@7.6.2(transitive)
+ Addedsharp@0.29.3(transitive)
+ Addedsimple-concat@1.0.1(transitive)
+ Addedsimple-get@4.0.1(transitive)
+ Addedsimple-swizzle@0.2.2(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedtar-fs@2.1.1(transitive)
+ Addedtar-stream@2.2.0(transitive)
- Removedsvg2png@4.1.1
- Removedajv@6.12.6(transitive)
- Removedansi-regex@2.1.1(transitive)
- Removedasn1@0.2.6(transitive)
- Removedassert-plus@1.0.0(transitive)
- Removedasynckit@0.4.0(transitive)
- Removedaws-sign2@0.7.0(transitive)
- Removedaws4@1.13.0(transitive)
- Removedbcrypt-pbkdf@1.0.2(transitive)
- Removedbuffer-crc32@0.2.13(transitive)
- Removedbuffer-from@1.1.2(transitive)
- Removedcamelcase@3.0.0(transitive)
- Removedcaseless@0.12.0(transitive)
- Removedcliui@3.2.0(transitive)
- Removedcode-point-at@1.1.0(transitive)
- Removedcombined-stream@1.0.8(transitive)
- Removedcommander@6.2.1(transitive)
- Removedconcat-stream@1.6.2(transitive)
- Removedcore-util-is@1.0.21.0.3(transitive)
- Removeddashdash@1.14.1(transitive)
- Removeddebug@2.6.9(transitive)
- Removeddecamelize@1.2.0(transitive)
- Removeddelayed-stream@1.0.0(transitive)
- Removedecc-jsbn@0.1.2(transitive)
- Removederror-ex@1.3.2(transitive)
- Removedes6-promise@4.2.8(transitive)
- Removedextend@3.0.2(transitive)
- Removedextract-zip@1.7.0(transitive)
- Removedextsprintf@1.3.0(transitive)
- Removedfast-deep-equal@3.1.3(transitive)
- Removedfast-json-stable-stringify@2.1.0(transitive)
- Removedfd-slicer@1.1.0(transitive)
- Removedfile-url@2.0.2(transitive)
- Removedfind-up@1.1.2(transitive)
- Removedforever-agent@0.6.1(transitive)
- Removedform-data@2.3.3(transitive)
- Removedfs-extra@1.0.0(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-caller-file@1.0.3(transitive)
- Removedgetpass@0.1.7(transitive)
- Removedhar-schema@2.0.0(transitive)
- Removedhar-validator@5.1.5(transitive)
- Removedhasha@2.2.0(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhosted-git-info@2.8.9(transitive)
- Removedhttp-signature@1.2.0(transitive)
- Removedinvert-kv@1.0.0(transitive)
- Removedis-arrayish@0.2.1(transitive)
- Removedis-core-module@2.13.1(transitive)
- Removedis-fullwidth-code-point@1.0.0(transitive)
- Removedis-stream@1.1.0(transitive)
- Removedis-typedarray@1.0.0(transitive)
- Removedis-utf8@0.2.1(transitive)
- Removedisarray@1.0.0(transitive)
- Removedisexe@2.0.0(transitive)
- Removedisstream@0.1.2(transitive)
- Removedjsbn@0.1.1(transitive)
- Removedjson-schema@0.4.0(transitive)
- Removedjson-schema-traverse@0.4.1(transitive)
- Removedjson-stringify-safe@5.0.1(transitive)
- Removedjsonfile@2.4.0(transitive)
- Removedjsprim@1.4.2(transitive)
- Removedkew@0.7.0(transitive)
- Removedklaw@1.3.1(transitive)
- Removedlcid@1.0.0(transitive)
- Removedload-json-file@1.1.0(transitive)
- Removedmime-db@1.52.0(transitive)
- Removedmime-types@2.1.35(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedms@2.0.0(transitive)
- Removednormalize-package-data@2.5.0(transitive)
- Removednumber-is-nan@1.0.1(transitive)
- Removedoauth-sign@0.9.0(transitive)
- Removedos-locale@1.4.0(transitive)
- Removedparse-json@2.2.0(transitive)
- Removedpath-exists@2.1.0(transitive)
- Removedpath-parse@1.0.7(transitive)
- Removedpath-type@1.1.0(transitive)
- Removedpend@1.2.0(transitive)
- Removedperformance-now@2.1.0(transitive)
- Removedphantomjs-prebuilt@2.1.16(transitive)
- Removedpify@2.3.0(transitive)
- Removedpinkie@2.0.4(transitive)
- Removedpinkie-promise@2.0.1(transitive)
- Removedpn@1.1.0(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedprogress@1.1.8(transitive)
- Removedpsl@1.9.0(transitive)
- Removedpunycode@2.3.1(transitive)
- Removedqs@6.5.3(transitive)
- Removedread-pkg@1.1.0(transitive)
- Removedread-pkg-up@1.0.1(transitive)
- Removedreadable-stream@2.3.8(transitive)
- Removedrequest@2.88.2(transitive)
- Removedrequest-progress@2.0.1(transitive)
- Removedrequire-directory@2.1.1(transitive)
- Removedrequire-main-filename@1.0.1(transitive)
- Removedresolve@1.22.8(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsemver@5.7.2(transitive)
- Removedset-blocking@2.0.0(transitive)
- Removedspdx-correct@3.2.0(transitive)
- Removedspdx-exceptions@2.5.0(transitive)
- Removedspdx-expression-parse@3.0.1(transitive)
- Removedspdx-license-ids@3.0.18(transitive)
- Removedsshpk@1.18.0(transitive)
- Removedstring-width@1.0.2(transitive)
- Removedstring_decoder@1.1.1(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedstrip-bom@2.0.0(transitive)
- Removedsupports-preserve-symlinks-flag@1.0.0(transitive)
- Removedsvg2png@4.1.1(transitive)
- Removedthrottleit@1.0.1(transitive)
- Removedtough-cookie@2.5.0(transitive)
- Removedtweetnacl@0.14.5(transitive)
- Removedtypedarray@0.0.6(transitive)
- Removeduri-js@4.4.1(transitive)
- Removeduuid@3.4.0(transitive)
- Removedvalidate-npm-package-license@3.0.4(transitive)
- Removedverror@1.10.0(transitive)
- Removedwhich@1.3.1(transitive)
- Removedwhich-module@1.0.0(transitive)
- Removedwrap-ansi@2.1.0(transitive)
- Removedy18n@3.2.2(transitive)
- Removedyargs@6.6.0(transitive)
- Removedyargs-parser@4.2.1(transitive)
- Removedyauzl@2.10.0(transitive)
Updatedcommander@^8.3.0
Updateduuid@^8.3.2