Browse Source

eslint update & code cleanup

pull/234/head
Vitaly Puzrin 9 years ago
parent
commit
760050edcb
  1. 118
      .eslintrc
  2. 141
      .eslintrc.yml
  3. 2
      Makefile
  4. 2
      lib/parser_block.js
  5. 8
      lib/rules_core/replacements.js
  6. 2
      package.json
  7. 3
      support/demodata.js
  8. 1
      support/specsplit.js

118
.eslintrc

@ -1,118 +0,0 @@
env:
node: true
browser: false
plugins:
- nodeca
rules:
block-scoped-var: 2
brace-style: [ 2, '1tbs', { allowSingleLine: true } ]
comma-spacing: 2
comma-style: 2
consistent-this: [ 2, self ]
consistent-return: 2
curly: 2
# default-case: 2
dot-notation: 2
eol-last: 2
eqeqeq: 2
guard-for-in: 2
handle-callback-err: 2
max-depth: [ 1, 6 ]
max-nested-callbacks: [ 1, 4 ]
# string can exceed 80 chars, but should not overflow github website :)
max-len: [ 2, 120, 1000 ]
new-cap: 2
new-parens: 2
no-alert: 2
no-array-constructor: 2
no-bitwise: 2
no-caller: 2
no-catch-shadow: 2
no-comma-dangle: 2
no-cond-assign: 2
no-console: 1
no-constant-condition: 2
no-control-regex: 2
no-debugger: 2
no-delete-var: 2
no-dupe-keys: 2
no-div-regex: 2
no-empty: 2
no-empty-class: 2
no-empty-label: 2
no-else-return: 2
no-eq-null: 2
no-ex-assign: 2
no-extend-native: 2
no-extra-bind: 2
no-extra-boolean-cast: 2
no-extra-semi: 2
no-extra-strict: 2
no-eval: 2
no-floating-decimal: 2
no-func-assign: 2
no-implied-eval: 2
no-inner-declarations: 2
no-invalid-regexp: 2
no-irregular-whitespace: 2
no-label-var: 2
no-labels: 2
no-lone-blocks: 2
no-lonely-if: 2
no-loop-func: 2
no-mixed-requires: 2
no-mixed-spaces-and-tabs: 2
no-multi-str: 2
no-native-reassign: 2
no-negated-in-lhs: 2
no-new: 2
no-new-func: 2
no-new-object: 2
no-new-require: 2
no-new-wrappers: 2
no-obj-calls: 2
no-octal: 2
no-octal-escape: 2
no-path-concat: 2
no-redeclare: 2
no-regex-spaces: 2
no-reserved-keys: 2
no-return-assign: 2
no-script-url: 2
no-sequences: 2
no-shadow: 2
no-shadow-restricted-names: 2
no-space-before-semi: 2
no-sparse-arrays: 2
no-trailing-spaces: 2
no-undef: 2
no-undef-init: 2
no-undefined: 2
no-unreachable: 2
no-unused-expressions: 2
no-unused-vars: 2
no-use-before-define: 2
no-with: 2
no-wrap-func: 2
quotes: [ 2, single, avoid-escape ]
radix: 2
semi: 2
space-after-keywords: [ 2, always ]
space-before-blocks: 2
space-in-brackets: [ 2, always, { propertyName: false } ]
space-in-parens: [ 2, never ]
space-infix-ops: 2
space-return-throw-case: 2
space-unary-ops: 2
spaced-line-comment: [ 2, always, { exceptions: [ '/' ] } ]
strict: 2
use-isnan: 2
yoda: 2
valid-typeof: 2
#
# Our custom rules
#
nodeca/indent: [ 2, spaces, 2 ]

141
.eslintrc.yml

@ -0,0 +1,141 @@
env:
node: true
browser: false
rules:
accessor-pairs: 2
array-bracket-spacing: [ 2, "always", { "singleValue": true, "objectsInArrays": true, "arraysInArrays": true } ]
block-scoped-var: 2
block-spacing: 2
brace-style: [ 2, '1tbs', { allowSingleLine: true } ]
# Postponed
#callback-return: 2
comma-dangle: 2
comma-spacing: 2
comma-style: 2
computed-property-spacing: [ 2, never ]
consistent-this: [ 2, self ]
consistent-return: 2
# ? change to multi
curly: [ 2, 'multi-line' ]
dot-notation: 2
eol-last: 2
eqeqeq: 2
func-style: [ 2, declaration ]
# Postponed
#global-require: 2
guard-for-in: 2
handle-callback-err: 2
indent: [ 2, 2, { VariableDeclarator: { var: 2, let: 2, const: 3 }, SwitchCase: 1 } ]
# key-spacing: [ 2, { "align": "value" } ]
keyword-spacing: 2
linebreak-style: 2
max-depth: [ 1, 6 ]
max-nested-callbacks: [ 1, 4 ]
# string can exceed 80 chars, but should not overflow github website :)
max-len: [ 2, 120, 1000 ]
new-cap: 2
new-parens: 2
# Postponed
#newline-after-var: 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-console: 1
no-constant-condition: 2
no-control-regex: 2
no-debugger: 2
no-delete-var: 2
no-div-regex: 2
no-dupe-args: 2
no-dupe-keys: 2
no-duplicate-case: 2
no-else-return: 2
# Tend to drop
# no-empty: 1
no-empty-character-class: 2
no-empty-pattern: 2
no-eq-null: 2
no-eval: 2
no-ex-assign: 2
no-extend-native: 2
no-extra-bind: 2
no-extra-boolean-cast: 2
no-extra-semi: 2
no-fallthrough: 2
no-floating-decimal: 2
no-func-assign: 2
# Postponed
#no-implicit-coercion: [2, { "boolean": true, "number": true, "string": true } ]
no-implied-eval: 2
no-inner-declarations: 2
no-invalid-regexp: 2
no-irregular-whitespace: 2
no-iterator: 2
no-label-var: 2
no-labels: 2
no-lone-blocks: 2
no-lonely-if: 2
no-loop-func: 2
no-mixed-requires: 2
no-mixed-spaces-and-tabs: 2
# Postponed
#no-native-reassign: 2
no-negated-in-lhs: 2
# Postponed
#no-nested-ternary: 2
no-new: 2
no-new-func: 2
no-new-object: 2
no-new-require: 2
no-new-wrappers: 2
no-obj-calls: 2
no-octal: 2
no-octal-escape: 2
no-path-concat: 2
no-proto: 2
no-redeclare: 2
# Postponed
#no-regex-spaces: 2
no-return-assign: 2
no-self-compare: 2
no-sequences: 2
no-shadow: 2
no-shadow-restricted-names: 2
no-sparse-arrays: 2
no-trailing-spaces: 2
no-undef: 2
no-undef-init: 2
no-undefined: 2
no-unexpected-multiline: 2
no-unreachable: 2
no-unused-expressions: 2
no-unused-vars: 2
no-use-before-define: 2
no-void: 2
no-with: 2
object-curly-spacing: [ 2, always, { "objectsInObjects": true, "arraysInObjects": true } ]
operator-assignment: 1
# Postponed
#operator-linebreak: [ 2, after ]
semi: 2
semi-spacing: 2
space-before-function-paren: [ 2, { "anonymous": "always", "named": "never" } ]
space-in-parens: [ 2, never ]
space-infix-ops: 2
space-unary-ops: 2
# Postponed
#spaced-comment: [ 1, always, { exceptions: [ '/', '=' ] } ]
strict: [ 2, global ]
quotes: [ 2, single, avoid-escape ]
quote-props: [ 1, 'as-needed', { "keywords": true } ]
radix: 2
use-isnan: 2
valid-typeof: 2
yoda: [ 2, never, { "exceptRange": true } ]

2
Makefile

@ -38,7 +38,7 @@ gh-demo: demo
rm -rf ./demo
lint:
eslint --reset .
eslint .
test: lint
mocha

2
lib/parser_block.js

@ -111,7 +111,7 @@ ParserBlock.prototype.tokenize = function (state, startLine, endLine) {
ParserBlock.prototype.parse = function (src, md, env, outTokens) {
var state;
if (!src) { return []; }
if (!src) { return; }
state = new this.State(src, md, env, outTokens);

8
lib/rules_core/replacements.js

@ -23,10 +23,10 @@ var SCOPED_ABBR_TEST_RE = /\((c|tm|r|p)\)/i;
var SCOPED_ABBR_RE = /\((c|tm|r|p)\)/ig;
var SCOPED_ABBR = {
'c': '©',
'r': '®',
'p': '§',
'tm': '™'
c: '©',
r: '®',
p: '§',
tm: '™'
};
function replaceFn(match, name) {

2
package.json

@ -40,7 +40,7 @@
"chai": "^3.4.1",
"commonmark": "~0.25.0",
"coveralls": "~2.11.9",
"eslint": "0.24.0",
"eslint": "~2.6.0",
"eslint-plugin-nodeca": "^1.0.0",
"highlight.js": "^9.2.0",
"istanbul": "*",

3
support/demodata.js

@ -2,7 +2,8 @@
// Build demo data for embedding into html
/*eslint no-console:0*/
/*eslint-disable no-console*/
'use strict';
var fs = require('fs');
var path = require('path');

1
support/specsplit.js

@ -81,7 +81,6 @@ readFile(options.spec, 'utf8', function (error, input) {
token.info.trim() === 'example';
})
.forEach(function (token) {
var arr = token.content.split(/^\.\s*?$/m, 2);
var md = arr[0];
var html = arr[1].replace(/^\n/, '');

Loading…
Cancel
Save