Linting added
This commit is contained in:
parent
494937e983
commit
f9ad51b2fd
3 changed files with 55 additions and 45 deletions
36
cli.js
36
cli.js
|
@ -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)
|
||||
}
|
||||
})
|
||||
|
|
54
index.js
54
index.js
|
@ -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
|
||||
|
|
10
package.json
10
package.json
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue