You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

svg-to-ico

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

svg-to-ico - npm Package Compare versions

Comparing version

to
1.0.8

logview.ico

12

package.json
{
"name": "svg-to-ico",
"version": "1.0.7",
"version": "1.0.8",
"description": "Utility that translates an SVG Image to a .ico format",

@@ -10,3 +10,4 @@ "main": "svg-to-ico.js",

"scripts": {
"test": "node index.js koala.svg"
"test": "node index.js koala.svg",
"test2": "node index.js logview.svg logview.ico"
},

@@ -27,6 +28,5 @@ "repository": {

"dependencies": {
"png-to-ico": "^2.1.2",
"svgexport": "^0.4.2",
"uuid": "^8.3.2"
},
"ico-packer": "^1.0.0",
"sharp": "^0.29.0"
},
"devDependencies": {

@@ -33,0 +33,0 @@ "eslint": "^7.27.0"

@@ -1,6 +0,4 @@

const fs = require("fs");
const path = require("path");
const svgexport = require("svgexport");
const png_to_ico = require("png-to-ico");
const { v4: uuidv4 } = require("uuid");
const fsp = require("fs/promises");
const ico_packer = require("ico-packer");
const sharp = require("sharp");

@@ -20,33 +18,20 @@ /**

{
return new Promise((accept, reject) => {
const scratch_dir = path.join(process.cwd(), uuidv4());
fs.mkdirSync(scratch_dir);
const do_close = (error) => {
fs.rm(scratch_dir, { recursive: true }, () => {
if(error)
reject(error);
else
accept(output_name);
return new Promise(function(accept, reject) {
const output_promises = sizes.map((size) => {
return new Promise((image_accept, image_reject) => {
sharp(input_name).
resize(size, size, {fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).
png().
toBuffer().
then((buffer) => { image_accept(buffer); }).
catch((error) => { image_reject(error); });
});
};
const png_names = sizes.map((size) => { return path.join(scratch_dir, `ico${size}.png`); });
const png_files = png_names.map((png_name, index) => {
return {
"input": input_name,
"output": `${png_name} png ${sizes[index]}:`
};
});
svgexport.render(png_files, () => {
png_to_ico(png_names).then((ico_buff) => {
fs.writeFile(output_name, ico_buff, (file_error) => {
if(file_error)
do_close(file_error);
else
do_close();
});
Promise.all(output_promises).then((buffers) => {
const output_buffer = ico_packer(buffers);
fsp.writeFile(output_name, output_buffer).then(() => {
accept(output_name);
}).catch((error) => {
do_close(error);
});
}).catch((error) => {
do_close(error);
reject(error);
})
});

@@ -53,0 +38,0 @@ });