🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →

sails-generate-eslintrc

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sails-generate-eslintrc - npm Package Compare versions

Comparing version

to
1.4.0

@@ -10,2 +10,3 @@ #!/usr/bin/env node

var program = require('commander');
var findFile = require('fs-finder');

@@ -20,3 +21,3 @@ function list(val) {

'Set mode for .eslintrc-sails: append, override.' +
'Default: Add default globals')
'Default: Add default globals')
.option('-g, --globals <items>',

@@ -37,3 +38,3 @@ 'Input globals list, like: sails, mysql', list)

var globalFoldersList = ['api/controllers', 'api/models', 'api/services'];
var eslintConfigFileName = '.eslintrc';
var eslintConfigFileName;
var sailsConfigFileName = '.eslintrc-sails';

@@ -44,3 +45,14 @@ var preset = null;

eslintConfigFileName = program.config;
} else {
eslintConfigFileName = findFile.in(process.cwd()).showSystemFiles().findFiles('.eslintrc<(.json|.js|)$>')
.sort((a, b) => a.length > b.length)[0];
}
if (!eslintConfigFileName) {
console.warn('Can\'t found the eslintrc file.');
process.exit();
} else {
console.info('Use ' + eslintConfigFileName + ' as eslintrc file.')
}
if (program.preset) {

@@ -52,3 +64,4 @@ preset = program.preset;

switch (program.mode.trim()) {
case 'append': case 'a':
case 'append':
case 'a':
globalsList = program.globals ? program.globals : [];

@@ -59,3 +72,4 @@ globalFoldersList = program.folders ? program.folders : [];

break;
case 'override': case 'o':
case 'override':
case 'o':
globalsList = program.globals ? program.globals : [];

@@ -62,0 +76,0 @@ globalFoldersList = program.folders ? program.folders : [];

var fs = require('fs');
var path = require('path');
var readline = require('readline');

@@ -12,3 +13,43 @@ var rl = readline.createInterface({

var updateEslintrc = function(err, data) {
var readFile = function(fileName, cb) {
console.log('./' + fileName)
switch (path.extname(fileName)) {
case '':
try {
var config = JSON.parse(fs.readFileSync(fileName, 'utf-8'));
cb(null, config);
} catch (err) {
cb(err);
}
break;
case '.js':
case '.json':
try {
var eslintConfig = require('/' + process.cwd() + '/' + fileName);
cb(null, eslintConfig);
} catch (err) {
console.trace(err);
cb(err);
}
break;
default:
console.error('readFile: Can\'t found the eslintrc file.');
}
};
var writeFile = function(fileName, data) {
switch (path.extname(fileName)) {
case '':
case '.json':
fs.writeFileSync(eslintConfigFileName, data);
break;
case '.js':
fs.writeFileSync(eslintConfigFileName, 'module.exports = ' + data);
break;
default:
console.error('writeFile: Can\'t found the eslintrc file.');
}
};
var updateEslintrc = function(err, config) {
if (err) {

@@ -19,3 +60,2 @@ console.log('readFile return error:');

// console.log(data);
var config = JSON.parse(data);
// config.globals = _.extend(config.globals, globals);

@@ -26,2 +66,7 @@ if (config.extends.indexOf(sailsConfigFileName) >= 0) {

}
// If config.extends is not Array, change it to Array.
if (!Array.isArray(config.extends))
config.extends = [config.extends];
if (preset && config.extends.indexOf(preset) < 0) {

@@ -32,3 +77,3 @@ config.extends = config.extends.concat(preset);

// console.log(config);
fs.writeFileSync(eslintConfigFileName, JSON.stringify(config, null, '\t'));
writeFile(eslintConfigFileName, JSON.stringify(config, null, '\t'));
console.log('add ' + sailsConfigFileName +

@@ -41,3 +86,5 @@ ' and modify ' + eslintConfigFileName);

switch (answer.trim()) {
case 'yes': case 'y': case 'Y':
case 'yes':
case 'y':
case 'Y':
fs.open(eslintConfigFileName, 'w', function(err) {

@@ -57,3 +104,5 @@ if (err) {

break;
case 'no': case 'n': case 'N':
case 'no':
case 'n':
case 'N':
console.log('Please establish ' + eslintConfigFileName + ' first!');

@@ -74,3 +123,3 @@ break;

if (exists) {
fs.readFile(eslintConfigFileName, 'utf-8', updateEslintrc);
readFile(eslintConfigFileName, updateEslintrc);
rl.close();

@@ -77,0 +126,0 @@ } else {

@@ -46,3 +46,3 @@ var _ = require('underscore');

console.log(sailsConfigFileName +
'is not exists, it will be created');
' is not exists, it will be created');
fs.open(sailsConfigFileName, 'w', function(err) {

@@ -53,3 +53,3 @@ if (err) {

}
console.log(sailsConfigFileName + 'is created!');
console.log(sailsConfigFileName + ' is created!');
});

@@ -56,0 +56,0 @@ eslintrcSails.globals = globals;

{
"name": "sails-generate-eslintrc",
"version": "1.3.2",
"version": "1.4.0",
"description": "generate eslint config file which contains sails's globals",

@@ -30,4 +30,5 @@ "main": "index.js",

"eslint-config-google": "^0.3.0",
"fs-finder": "^1.8.1",
"underscore": "^1.8.3"
}
}

@@ -7,8 +7,5 @@ # sails-generate-eslintrc

##TODO
- change default mode to "append". If no globals added, the file is not changed.
## Parameter
- -m --mode
+ *Default* : Add default globals which contains [sails] and object under ['api/controllers', 'api/models', 'api/services']
+ *Default* : Append default globals which contains [sails] and object under ['api/controllers', 'api/models', 'api/services']
+ append: Add other globals given by other parameters(-g, -f), which are appended in sails globals file(.eslintrc-sails)

@@ -22,3 +19,2 @@ + override: Override sails globals file by other parameter(-g, -f). If no other parameters, an empty sails globals file(.eslintrc-sails) will be created.

## Files Example

@@ -25,0 +21,0 @@ - .eslintrc-sails

Sorry, the diff of this file is not supported yet