Permalink
Browse files

Add ESLint support (#736)

* Add ESLint support.

* Fix ESLint errors.

* fixing linting issues

* moving and consolidating lint targets
  • Loading branch information...
1 parent 56fada3 commit 7da16e20052bc7680dce6ae8f809fd7d9f3fd673 @XhmikosR XhmikosR committed with jmervine Aug 12, 2016
View
@@ -0,0 +1,2 @@
+/.git/
+/node_modules/
View
@@ -0,0 +1,163 @@
+{
+ "root": true,
+
+ "env": {
+ "node": true
+ },
+
+ "rules": {
+ "array-bracket-spacing": 2,
+ "array-callback-return": 2,
+ "block-scoped-var": 2,
+ "block-spacing": 2,
+ "brace-style": [2, "1tbs"],
+ "callback-return": 2,
+ "camelcase": 2,
+ "comma-dangle": 2,
+ "comma-spacing": [2, { "before": false, "after": true }],
+ "comma-style": [2, "last"],
+ "consistent-return": 2,
+ "consistent-this": [2, "this"],
+ "curly": 2,
+ "default-case": 2,
+ "dot-notation": 2,
+ "eol-last": 2,
+ "eqeqeq": 2,
+ "func-names": 0,
+ "func-style": [2, "declaration"],
+ "global-require": 1,
+ "guard-for-in": 2,
+ "handle-callback-err": 2,
+ "indent": [2, 4, { "SwitchCase": 1 }],
+ "init-declarations": [2, "always"],
+ "key-spacing": [2, { "beforeColon": false, "afterColon": true, "mode": "minimum" }],
+ "keyword-spacing": [2, { "before": true, "after": true }],
+ "max-statements-per-line": [2, "max": 1],
+ "multiline-ternary": 0,
+ "new-cap": 0,
+ "newline-after-var": [2, "always"],
+ "newline-per-chained-call": [2, { "ignoreChainWithDepth": 3 }],
+ "new-parens": 2,
+ "no-alert": 2,
+ "no-array-constructor": 2,
+ "no-bitwise": 2,
+ "no-caller": 2,
+ "no-case-declarations": 2,
+ "no-catch-shadow": 2,
+ "no-cond-assign": 2,
+ "no-confusing-arrow": 2,
+ "no-constant-condition": 2,
+ "no-const-assign": 2,
+ "no-control-regex": 2,
+ "no-debugger": 2,
+ "no-delete-var": 2,
+ "no-div-regex": 2,
+ "no-dupe-args": 2,
+ "no-dupe-class-members": 2,
+ "no-dupe-keys": 2,
+ "no-duplicate-case": 2,
+ "no-duplicate-imports": 2,
+ "no-else-return": 2,
+ "no-empty": 2,
+ "no-empty-character-class": 2,
+ "no-empty-function": 2,
+ "no-empty-pattern": 2,
+ "no-eq-null": 2,
+ "no-eval": 2,
+ "no-ex-assign": 2,
+ "no-extra-bind": 2,
+ "no-extra-boolean-cast": 2,
+ "no-extra-label": 2,
+ "no-extra-parens": 2,
+ "no-extra-semi": 2,
+ "no-fallthrough": 2,
+ "no-floating-decimal": 2,
+ "no-func-assign": 2,
+ "no-implicit-coercion": 2,
+ "no-implicit-globals": 1,
+ "no-implied-eval": 2,
+ "no-inline-comments": 0,
+ "no-inner-declarations": 2,
+ "no-invalid-regexp": 2,
+ "no-irregular-whitespace": 2,
+ "no-label-var": 2,
+ "no-lone-blocks": 2,
+ "no-lonely-if": 2,
+ "no-loop-func": 2,
+ "no-magic-numbers": [0, { "ignoreArrayIndexes": true }],
+ "no-mixed-operators": 2,
+ "no-mixed-requires": 2,
+ "no-mixed-spaces-and-tabs": 2,
+ "no-multiple-empty-lines": 2,
+ "no-multi-spaces": [2, { exceptions: { "Property": true, "VariableDeclarator": true } }],
+ "no-multi-str": 2,
+ "no-native-reassign": 2,
+ "no-negated-condition": 2,
+ "no-negated-in-lhs": 2,
+ "no-nested-ternary": 2,
+ "no-new-object": 2,
+ "no-obj-calls": 2,
+ "no-octal": 2,
+ "no-param-reassign": [0, { "props": false }],
+ "no-path-concat": 2,
+ "no-process-env": 0,
+ "no-redeclare": 2,
+ "no-regex-spaces": 2,
+ "no-return-assign": 2,
+ "no-self-assign": 2,
+ "no-self-compare": 2,
+ "no-sequences": 2,
+ "no-shadow": 0,
+ "no-shadow-restricted-names": 2,
+ "no-spaced-func": 2,
+ "no-sparse-arrays": 2,
+ "no-throw-literal": 2,
+ "no-trailing-spaces": 2,
+ "no-undef": 2,
+ "no-undefined": 1,
+ "no-undef-init": 2,
+ "no-underscore-dangle": 2,
+ "no-unexpected-multiline": 2,
+ "no-unmodified-loop-condition": 2,
+ "no-unneeded-ternary": 2,
+ "no-unreachable": 2,
+ "no-unsafe-finally": 2,
+ "no-unused-expressions": 2,
+ "no-unused-labels": 2,
+ "no-unused-vars": 2,
+ "no-use-before-define": 2,
+ "no-useless-call": 2,
+ "no-useless-computed-key": 2,
+ "no-useless-concat": 2,
+ "no-useless-constructor": 2,
+ "no-useless-escape": 2,
+ "no-useless-rename": 2,
+ "no-void": 2,
+ "no-whitespace-before-property": 2,
+ "no-with": 2,
+ "object-curly-newline": [0, { "multiline": true, "minProperties": 2 }],
+ "object-curly-spacing": [2, "always"],
+ "object-property-newline": 2,
+ "one-var": [2, "never"],
+ "one-var-declaration-per-line": [2, "always"],
+ "operator-assignment": [2, "always"],
+ "operator-linebreak": [2, "after"],
+ "quote-props": [2, "consistent"],
+ "quotes": [2, "single"],
+ "radix": 2,
+ "semi": [2, "always"],
+ "semi-spacing": 2,
+ "space-before-blocks": [2, "always"],
+ "spaced-comment": [2, "always"],
+ "space-infix-ops": 2,
+ "space-in-parens": [2, "never"],
+ "space-unary-ops": 2,
+ "strict": 2,
+ "unicode-bom": [2, "never"],
+ "use-isnan": 2,
+ "valid-jsdoc": 0,
+ "valid-typeof": 2,
+ "wrap-iife": [2, "inside"],
+ "yoda": [2, "never"]
+ }
+}
View
@@ -4,20 +4,24 @@ var env = process.env.NODE_ENV || 'development';
var path = require('path');
var fs = require('fs');
-var yaml = require('js-yaml');
-var express = require('express');
var http = require('http');
+var express = require('express');
+var yaml = require('js-yaml');
var compression = require('compression');
-var app = express();
+
+var app = express();
// middleware
var logger = require('morgan');
var serveStatic = require('serve-static');
var errorHandler = require('errorhandler');
var enforce = require('express-sslify');
-var config = yaml.safeLoad(fs.readFileSync(path.join(__dirname, 'config', '_config.yml'), 'utf8'));
-var tweets = yaml.safeLoad(fs.readFileSync(path.join(__dirname, 'config', '_tweets.yml'), 'utf8'));
+var helpers = require('./lib/helpers');
+var routes = require('./routes');
+
+var config = yaml.safeLoad(fs.readFileSync(path.join(__dirname, 'config', '_config.yml'), 'utf8'));
+var tweets = yaml.safeLoad(fs.readFileSync(path.join(__dirname, 'config', '_tweets.yml'), 'utf8'));
// all environments
app.set('port', process.env.PORT || config.port || 3000);
@@ -41,16 +45,23 @@ if (env === 'production') {
// development
app.locals.pretty = true;
app.use(logger('dev'));
- app.use(errorHandler({ dumpExceptions: true, showStack: true }));
+ app.use(errorHandler({
+ dumpExceptions: true,
+ showStack: true
+ }));
}
// middleware
app.use(compression());
app.set('etag', false);
-app.use(serveStatic(path.join(__dirname, 'public'), { maxAge: '30d', lastModified: true, etag: false }));
+app.use(serveStatic(path.join(__dirname, 'public'), {
+ maxAge: '30d',
+ lastModified: true,
+ etag: false
+}));
-app.use(function(req, res, next) {
+app.use(function (req, res, next) {
var oneHourToSec = 60 * 60;
var oneHourToMilliSec = 60 * 60 * 1000;
@@ -72,22 +83,22 @@ app.use(function(req, res, next) {
});
// locals
-app.locals.helpers = require('./lib/helpers');
-app.locals.config = config;
-app.locals.tweets = tweets;
+app.locals.helpers = helpers;
+app.locals.config = config;
+app.locals.tweets = tweets;
// routes
-var routes = require('./routes');
-app.get('/fontawesome/', routes.fontawesome);
-app.get('/bootswatch/', routes.bootswatch);
-app.get('/bootlint/', routes.bootlint);
-app.get('/alpha/', routes.alpha);
-app.get('/legacy/', routes.legacy);
-app.get('/showcase/', routes.showcase);
+app.get('/fontawesome/', routes.fontawesome);
+app.get('/bootswatch/', routes.bootswatch);
+app.get('/bootlint/', routes.bootlint);
+app.get('/alpha/', routes.alpha);
+app.get('/legacy/', routes.legacy);
+app.get('/showcase/', routes.showcase);
app.get('/integrations/', routes.integrations);
-app.get('/', routes.index);
+app.get('/', routes.index);
+
+var data = {}; // only regenerated on restart
-var data; // only regenerated on restart
app.get('/data/bootstrapcdn.json', function (req, res) {
if (typeof data === 'undefined') {
data = {
@@ -96,14 +107,14 @@ app.get('/data/bootstrapcdn.json', function (req, res) {
fontawesome: {}
};
- config.bootstrap.forEach(function(bootstrap) {
+ config.bootstrap.forEach(function (bootstrap) {
data.bootstrap[bootstrap.version] = {
css: bootstrap.css_complete,
js: bootstrap.javascript
};
});
- config.fontawesome.forEach(function(fontawesome) {
+ config.fontawesome.forEach(function (fontawesome) {
data.fontawesome[fontawesome.version] = fontawesome.css_complete;
});
}
@@ -112,7 +123,7 @@ app.get('/data/bootstrapcdn.json', function (req, res) {
});
// start
-http.createServer(app).listen(app.get('port'), function() {
+http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
Oops, something went wrong.

0 comments on commit 7da16e2

Please sign in to comment.