Linting added

This commit is contained in:
sharpshark28 2018-02-22 19:44:18 -06:00
parent 494937e983
commit f9ad51b2fd
3 changed files with 55 additions and 45 deletions

36
cli.js
View file

@ -1,24 +1,24 @@
#!/usr/bin/env node
'use strict';
'use strict'
const svgdir2sprite = require('./');
const svgdir2sprite = require('./')
const argv = require('yargs')
.demandCommand(1, 'Warning: Please set a source directory for loose svg\'s')
.example('$0 ./svgs', ':: Output to console')
.example('$0 ./svgs ./build/file.svg', ':: Output to file')
.alias('help', 'h')
.help()
.version()
.wrap(process.stdout.columns)
.argv;
.demandCommand(1, 'Warning: Please set a source directory for loose svg\'s')
.example('$0 ./svgs', ':: Output to console')
.example('$0 ./svgs ./build/file.svg', ':: Output to file')
.alias('help', 'h')
.help()
.version()
.wrap(process.stdout.columns)
.argv
let [src, dest] = argv._;
let [src, dest] = argv._
svgdir2sprite(src, dest)
.then((svgContents) => {
if (dest) {
console.log('Spritesheet successfully generated as ' + dest);
} else {
console.log(svgContents);
}
});
.then((svgContents) => {
if (dest) {
console.log('Spritesheet successfully generated as ' + dest)
} else {
console.log(svgContents)
}
})

View file

@ -1,50 +1,50 @@
const fs = require('fs');
const async = require('async');
const svgSprite = require('svg2sprite');
const sprite = svgSprite.collection();
const fs = require('fs')
const async = require('async')
const svgSprite = require('svg2sprite')
const sprite = svgSprite.collection()
const isSVG = (filename) => filename.split('.').pop() === 'svg';
const iconName = (filename) => filename.split('.')[0];
const isSVG = (filename) => filename.split('.').pop() === 'svg'
const iconName = (filename) => filename.split('.')[0]
function saveSpritesheet(path, spritesheet) {
if(path.indexOf('.svg') === -1) throw 'Error: Please specify a filename ending with .svg';
function saveSpritesheet (path, spritesheet) {
if (path.indexOf('.svg') === -1) throw new Error('Error: Please specify a filename ending with .svg')
fs.writeFile(path, spritesheet, (error) => { if (error) throw error });
fs.writeFile(path, spritesheet, (error) => { if (error) throw error })
}
function readSprite(filename, file) {
sprite.add(iconName(filename), `<svg>${file}</svg>`);
function readSprite (filename, file) {
sprite.add(iconName(filename), `<svg>${file}</svg>`)
}
function allSpritesRead(pathBuild) {
let spritesheet = sprite.compile();
function allSpritesRead (pathBuild) {
let spritesheet = sprite.compile()
if (pathBuild) {
saveSpritesheet(pathBuild, spritesheet);
saveSpritesheet(pathBuild, spritesheet)
}
return spritesheet;
return spritesheet
}
function generate(pathSrc, pathBuild) {
function generate (pathSrc, pathBuild) {
return new Promise((resolve, reject) => {
fs.readdir(pathSrc, (error, filenames) => {
if (error) reject(error);
if (error) reject(error)
async.eachSeries(filenames.filter(isSVG), (filename, cb) => {
fs.readFile(pathSrc + filename, (error, fileData) => {
if (error) reject(error);
if (error) reject(error)
readSprite(filename, fileData);
cb(fileData);
});
readSprite(filename, fileData)
cb(fileData)
})
}, (error) => {
if (error) reject(error);
if (error) reject(error)
resolve(allSpritesRead(pathBuild));
});
});
});
resolve(allSpritesRead(pathBuild))
})
})
})
}
module.exports = generate;
module.exports = generate

View file

@ -7,6 +7,9 @@
"bin": {
"svgdir2sprite": "./cli.js"
},
"scripts": {
"lint": "eslint ./*.js"
},
"keywords": [
"svg",
"symbol",
@ -23,5 +26,12 @@
"fs": "0.0.1-security",
"svg2sprite": "^2.0.1",
"yargs": "^7.1.0"
},
"devDependencies": {
"eslint-config-standard": "^11.0.0",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-node": "^6.0.0",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-standard": "^3.0.1"
}
}