Initial Commit
This module creates a set of shareable eslint style guidelines for use in OpenStack. The base rule set is taken from the current horizon rules under consideration.
This commit is contained in:
commit
4aecdfd567
12
.editorconfig
Normal file
12
.editorconfig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
825
.eslintrc
Normal file
825
.eslintrc
Normal file
@ -0,0 +1,825 @@
|
|||||||
|
# For a detailed list of all options please see here:
|
||||||
|
# http://eslint.org/docs/configuring/
|
||||||
|
|
||||||
|
# By default, ESLint uses Espree as its parser.
|
||||||
|
parser: espree
|
||||||
|
|
||||||
|
# Most environment options are not explicitly enabled or disabled, only
|
||||||
|
# included here for completeness' sake. They are commented out, because the
|
||||||
|
# global updates.py script would otherwise override them during a global
|
||||||
|
# requirements synchronization.
|
||||||
|
#
|
||||||
|
# Individual projects should choose which platforms they deploy to.
|
||||||
|
|
||||||
|
env:
|
||||||
|
|
||||||
|
# browser global variables.
|
||||||
|
# browser: true
|
||||||
|
|
||||||
|
# Node.js global variables and Node.js-specific rules.
|
||||||
|
# node: true
|
||||||
|
|
||||||
|
# web workers global variables.
|
||||||
|
# worker: true
|
||||||
|
|
||||||
|
# defines require() and define() as global variables as per the amd spec.
|
||||||
|
# amd: true
|
||||||
|
|
||||||
|
# Adds all of the Jasmine testing global variables for version 1.3 and 2.0.
|
||||||
|
# jasmine: true
|
||||||
|
|
||||||
|
# phantomjs global variables.
|
||||||
|
# phantomjs: true
|
||||||
|
|
||||||
|
# jquery global variables.
|
||||||
|
# jquery: true
|
||||||
|
|
||||||
|
# prototypejs global variables.
|
||||||
|
# prototypejs: true
|
||||||
|
|
||||||
|
# shelljs global variables.
|
||||||
|
# shelljs: true
|
||||||
|
|
||||||
|
# meteor global variables.
|
||||||
|
# meteor: true
|
||||||
|
|
||||||
|
# OpenStack uses Jasmine, not Mocha.
|
||||||
|
# mocha: false
|
||||||
|
|
||||||
|
# Openstack does not support ES6 at its present level of adoption.
|
||||||
|
# es6: false
|
||||||
|
|
||||||
|
|
||||||
|
# Below we activate and configure the linting rules for all javascript in
|
||||||
|
# OpenStack. These will be synchronized across all projects that make use of
|
||||||
|
# them.
|
||||||
|
rules:
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Possible Errors
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Disallow trailing commas, as those break some browsers.
|
||||||
|
# http://eslint.org/docs/rules/comma-dangle
|
||||||
|
comma-dangle:
|
||||||
|
- 2
|
||||||
|
- "never"
|
||||||
|
|
||||||
|
# Prevent the assignment of a variable in a conditional.
|
||||||
|
# http://eslint.org/docs/rules/no-cond-assign
|
||||||
|
no-cond-assign: 2
|
||||||
|
|
||||||
|
# Do not permit the use of console logging statements.
|
||||||
|
# http://eslint.org/docs/rules/no-console
|
||||||
|
no-console: 2
|
||||||
|
|
||||||
|
# Do not permit if (true) or if(false)
|
||||||
|
# http://eslint.org/docs/rules/no-constant-condition
|
||||||
|
no-constant-condition: 2
|
||||||
|
|
||||||
|
# Do not permit ASCII 0-31 (control characters) in regular expressions.
|
||||||
|
# http://eslint.org/docs/rules/no-control-regex
|
||||||
|
no-control-regex: 2
|
||||||
|
|
||||||
|
# Do not permit debugger; statements.
|
||||||
|
# http://eslint.org/docs/rules/no-debugger
|
||||||
|
no-debugger: 2
|
||||||
|
|
||||||
|
# Do not permit duplicate argument names in function declaration.
|
||||||
|
# http://eslint.org/docs/rules/no-dupe-args
|
||||||
|
no-dupe-args: 2
|
||||||
|
|
||||||
|
# Do not permit duplicate keys in object declarations.
|
||||||
|
# http://eslint.org/docs/rules/no-dupe-keys
|
||||||
|
no-dupe-keys: 2
|
||||||
|
|
||||||
|
# Do not permit duplicate cases in switch statements.
|
||||||
|
# http://eslint.org/docs/rules/no-duplicate-case
|
||||||
|
no-duplicate-case: 2
|
||||||
|
|
||||||
|
# Disallow empty regex character classes. (/[]/)
|
||||||
|
# http://eslint.org/docs/rules/no-empty-character-class
|
||||||
|
no-empty-character-class: 2
|
||||||
|
|
||||||
|
# Disallow empty block statements.
|
||||||
|
# http://eslint.org/docs/rules/no-empty
|
||||||
|
no-empty: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow assigning of the exception parameter in a catch block.
|
||||||
|
# http://eslint.org/docs/rules/no-ex-assign
|
||||||
|
no-ex-assign: 2
|
||||||
|
|
||||||
|
# Disallow the use of double negation (!!foo) if already in a boolean context
|
||||||
|
# http://eslint.org/docs/rules/no-extra-boolean-cast
|
||||||
|
no-extra-boolean-cast: 2
|
||||||
|
|
||||||
|
# Disallow extraneous parentheses around functions.
|
||||||
|
# http://eslint.org/docs/rules/no-extra-parens
|
||||||
|
no-extra-parens:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "functions"
|
||||||
|
|
||||||
|
# Disallow extraneous semicolons.
|
||||||
|
# http://eslint.org/docs/rules/no-extra-semi
|
||||||
|
no-extra-semi: 2
|
||||||
|
|
||||||
|
# Disallow overwriting functions written as function declarations
|
||||||
|
# http://eslint.org/docs/rules/no-func-assign
|
||||||
|
no-func-assign: 2
|
||||||
|
|
||||||
|
# Disallow function or variable declarations in nested blocks
|
||||||
|
# http://eslint.org/docs/rules/no-inner-declarations
|
||||||
|
no-inner-declarations: 2
|
||||||
|
|
||||||
|
# Disallow invalid regular expression strings in the RegExp constructor
|
||||||
|
# http://eslint.org/docs/rules/no-invalid-regexp
|
||||||
|
no-invalid-regexp: 2
|
||||||
|
|
||||||
|
# Disallow irregular whitespace outside of strings and comments
|
||||||
|
# http://eslint.org/docs/rules/no-irregular-whitespace
|
||||||
|
no-irregular-whitespace: 2
|
||||||
|
|
||||||
|
# Disallow negation of the left operand of an in expression
|
||||||
|
# http://eslint.org/docs/rules/no-negated-in-lhs
|
||||||
|
no-negated-in-lhs: 2
|
||||||
|
|
||||||
|
# Disallow the use of object properties of the global object (Math and JSON) as functions
|
||||||
|
# http://eslint.org/docs/rules/no-obj-calls
|
||||||
|
no-obj-calls: 2
|
||||||
|
|
||||||
|
# Disallow multiple spaces in a regular expression literal
|
||||||
|
# http://eslint.org/docs/rules/no-regex-spaces
|
||||||
|
no-regex-spaces: 2
|
||||||
|
|
||||||
|
# Disallow reserved words being used as object literal keys
|
||||||
|
# Disabled- this is for ECMA3 backwards compatibility only.
|
||||||
|
# http://eslint.org/docs/rules/no-reserved-keys
|
||||||
|
no-reserved-keys: 0
|
||||||
|
|
||||||
|
# Disallow sparse arrays
|
||||||
|
# http://eslint.org/docs/rules/no-sparse-arrays
|
||||||
|
no-sparse-arrays: 2
|
||||||
|
|
||||||
|
# Disallow unreachable statements
|
||||||
|
# http://eslint.org/docs/rules/no-unreachable
|
||||||
|
no-unreachable: 2
|
||||||
|
|
||||||
|
# Disallow comparisons with the value NaN
|
||||||
|
# http://eslint.org/docs/rules/use-isnan
|
||||||
|
use-isnan: 2
|
||||||
|
|
||||||
|
# Ensure JSDoc comments are valid
|
||||||
|
# http://eslint.org/docs/rules/valid-jsdoc
|
||||||
|
valid-jsdoc: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Ensure that the results of typeof are compared against a valid string
|
||||||
|
# http://eslint.org/docs/rules/valid-typeof
|
||||||
|
valid-typeof: 2
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Best Practices
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Enforces getter/setter pairs in objects
|
||||||
|
# http://eslint.org/docs/rules/accessor-pairs
|
||||||
|
accessor-pairs: 2
|
||||||
|
|
||||||
|
# Treat var statements as if they were block scoped
|
||||||
|
# http://eslint.org/docs/rules/block-scoped-var
|
||||||
|
block-scoped-var: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Specify the maximum cyclomatic complexity allowed in a program
|
||||||
|
# http://eslint.org/docs/rules/complexity
|
||||||
|
complexity:
|
||||||
|
- 1
|
||||||
|
- 10
|
||||||
|
|
||||||
|
# Require return statements to either always or never specify values
|
||||||
|
# http://eslint.org/docs/rules/consistent-return
|
||||||
|
consistent-return: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Specify curly brace conventions for all control statements
|
||||||
|
# http://eslint.org/docs/rules/curly
|
||||||
|
curly: 2
|
||||||
|
|
||||||
|
# Require default case in switch statements
|
||||||
|
# http://eslint.org/docs/rules/default-case
|
||||||
|
default-case: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# encourages use of dot notation whenever possible
|
||||||
|
# http://eslint.org/docs/rules/dot-notation
|
||||||
|
dot-notation: 2
|
||||||
|
|
||||||
|
# Enforces consistent newlines before or after dots
|
||||||
|
# http://eslint.org/docs/rules/dot-location
|
||||||
|
dot-location: 0
|
||||||
|
|
||||||
|
# Require the use of === and !==
|
||||||
|
# http://eslint.org/docs/rules/eqeqeq
|
||||||
|
eqeqeq: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Make sure for-in loops have an if statement
|
||||||
|
# http://eslint.org/docs/rules/guard-for-in
|
||||||
|
guard-for-in: 1
|
||||||
|
|
||||||
|
# Disallow the use of alert, confirm, and prompt
|
||||||
|
# http://eslint.org/docs/rules/no-alert
|
||||||
|
no-alert: 2
|
||||||
|
|
||||||
|
# Disallow use of arguments.caller or arguments.callee
|
||||||
|
# http://eslint.org/docs/rules/no-caller
|
||||||
|
no-caller: 2
|
||||||
|
|
||||||
|
# Disallow division operators explicitly at beginning of regular expression
|
||||||
|
# http://eslint.org/docs/rules/no-div-regex
|
||||||
|
no-div-regex: 2
|
||||||
|
|
||||||
|
# Disallow else after a return in an if
|
||||||
|
# http://eslint.org/docs/rules/no-else-return
|
||||||
|
no-else-return: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of labels for anything other then loops and switches
|
||||||
|
# http://eslint.org/docs/rules/no-empty-label
|
||||||
|
no-empty-label: 2
|
||||||
|
|
||||||
|
# Disallow comparisons to null without a type-checking operator
|
||||||
|
# http://eslint.org/docs/rules/no-eq-null
|
||||||
|
no-eq-null: 2
|
||||||
|
|
||||||
|
# Disallow use of eval()
|
||||||
|
# http://eslint.org/docs/rules/no-eval
|
||||||
|
no-eval: 2
|
||||||
|
|
||||||
|
# Disallow adding to native types
|
||||||
|
# http://eslint.org/docs/rules/no-extend-native
|
||||||
|
no-extend-native: 2
|
||||||
|
|
||||||
|
# Disallow unnecessary function binding
|
||||||
|
# http://eslint.org/docs/rules/no-extra-bind
|
||||||
|
no-extra-bind: 2
|
||||||
|
|
||||||
|
# Disallow fallthrough of case statements
|
||||||
|
# http://eslint.org/docs/rules/no-fallthrough
|
||||||
|
no-fallthrough: 2
|
||||||
|
|
||||||
|
# Disallow the use of leading or trailing decimal points in numeric literals
|
||||||
|
# http://eslint.org/docs/rules/no-floating-decimal
|
||||||
|
no-floating-decimal: 2
|
||||||
|
|
||||||
|
# Disallow use of eval()-like methods
|
||||||
|
# http://eslint.org/docs/rules/no-implied-eval
|
||||||
|
no-implied-eval: 2
|
||||||
|
|
||||||
|
# Disallow usage of __iterator__ property
|
||||||
|
# http://eslint.org/docs/rules/no-iterator
|
||||||
|
no-iterator: 2
|
||||||
|
|
||||||
|
# Disallow use of labeled statements
|
||||||
|
# http://eslint.org/docs/rules/no-labels
|
||||||
|
no-labels: 2
|
||||||
|
|
||||||
|
# Disallow unnecessary nested blocks
|
||||||
|
# http://eslint.org/docs/rules/no-lone-blocks
|
||||||
|
no-lone-blocks: 2
|
||||||
|
|
||||||
|
# Disallow creation of functions within loops
|
||||||
|
# http://eslint.org/docs/rules/no-loop-func
|
||||||
|
no-loop-func: 2
|
||||||
|
|
||||||
|
# Disallow use of multiple spaces
|
||||||
|
# http://eslint.org/docs/rules/no-multi-spaces
|
||||||
|
no-multi-spaces: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of multiline strings
|
||||||
|
# http://eslint.org/docs/rules/no-multi-str
|
||||||
|
no-multi-str: 2
|
||||||
|
|
||||||
|
# Disallow reassignments of native objects
|
||||||
|
# http://eslint.org/docs/rules/no-native-reassign
|
||||||
|
no-native-reassign: 2
|
||||||
|
|
||||||
|
# Disallow use of new operator for Function object
|
||||||
|
# http://eslint.org/docs/rules/no-new-func
|
||||||
|
no-new-func: 2
|
||||||
|
|
||||||
|
# Disallows creating new instances of String,Number, and Boolean
|
||||||
|
# http://eslint.org/docs/rules/no-new-wrappers
|
||||||
|
no-new-wrappers: 2
|
||||||
|
|
||||||
|
# Disallow use of new operator when not part of the assignment or comparison
|
||||||
|
# http://eslint.org/docs/rules/no-new
|
||||||
|
no-new: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251";
|
||||||
|
# http://eslint.org/docs/rules/no-octal-escape
|
||||||
|
no-octal-escape: 2
|
||||||
|
|
||||||
|
# Disallow use of octal literals
|
||||||
|
# http://eslint.org/docs/rules/no-octal
|
||||||
|
no-octal: 2
|
||||||
|
|
||||||
|
# Disallow reassignment of function parameters
|
||||||
|
# http://eslint.org/docs/rules/no-param-reassign
|
||||||
|
no-param-reassign: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of process.env
|
||||||
|
#
|
||||||
|
# Please consolidate all your env access to one single file, and apply
|
||||||
|
# by-line exceptions there.
|
||||||
|
#
|
||||||
|
# http://eslint.org/docs/rules/no-process-env
|
||||||
|
no-process-env: 2
|
||||||
|
|
||||||
|
# Disallow usage of __proto__ property
|
||||||
|
# http://eslint.org/docs/rules/no-proto
|
||||||
|
no-proto: 2
|
||||||
|
|
||||||
|
# Disallow declaring the same variable more than once
|
||||||
|
# http://eslint.org/docs/rules/no-redeclare
|
||||||
|
no-redeclare: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of assignment in return statement
|
||||||
|
# http://eslint.org/docs/rules/no-return-assign
|
||||||
|
no-return-assign: 2
|
||||||
|
|
||||||
|
# Disallow use of javascript: urls.
|
||||||
|
# http://eslint.org/docs/rules/no-script-url
|
||||||
|
no-script-url: 2
|
||||||
|
|
||||||
|
# Disallow comparisons where both sides are exactly the same
|
||||||
|
# http://eslint.org/docs/rules/no-self-compare
|
||||||
|
no-self-compare: 2
|
||||||
|
|
||||||
|
# Disallow use of comma operator
|
||||||
|
# http://eslint.org/docs/rules/no-sequences
|
||||||
|
no-sequences: 2
|
||||||
|
|
||||||
|
# Restrict what can be thrown as an exception
|
||||||
|
# http://eslint.org/docs/rules/no-throw-literal
|
||||||
|
no-throw-literal: 2
|
||||||
|
|
||||||
|
# Disallow usage of expressions in statement position
|
||||||
|
# http://eslint.org/docs/rules/no-unused-expressions
|
||||||
|
no-unused-expressions: 2
|
||||||
|
|
||||||
|
# Disallow use of void operator
|
||||||
|
# http://eslint.org/docs/rules/no-void
|
||||||
|
no-void: 2
|
||||||
|
|
||||||
|
# Disallow usage of configurable warning terms in comments - e.g. TODO
|
||||||
|
# http://eslint.org/docs/rules/no-warning-comments
|
||||||
|
no-warning-comments:
|
||||||
|
- 1
|
||||||
|
- terms:
|
||||||
|
- "todo"
|
||||||
|
- "xxx"
|
||||||
|
- "fixme"
|
||||||
|
|
||||||
|
# Disallow use of the with statement
|
||||||
|
# http://eslint.org/docs/rules/no-with
|
||||||
|
no-with: 2
|
||||||
|
|
||||||
|
# Require use of the second argument for parseInt()
|
||||||
|
# http://eslint.org/docs/rules/radix
|
||||||
|
radix: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Requires to declare all vars on top of their containing scope
|
||||||
|
#
|
||||||
|
# http://eslint.org/docs/rules/vars-on-top
|
||||||
|
vars-on-top: 0
|
||||||
|
|
||||||
|
# Require immediate function invocation to be wrapped in parentheses
|
||||||
|
# http://eslint.org/docs/rules/wrap-iife
|
||||||
|
wrap-iife:
|
||||||
|
- 2
|
||||||
|
- "any"
|
||||||
|
|
||||||
|
# Require or disallow Yoda conditions.
|
||||||
|
# http://eslint.org/docs/rules/yoda
|
||||||
|
yoda:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "never"
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Strict Mode
|
||||||
|
#############################################################################
|
||||||
|
# (Deprecated) require or disallow the "use strict" pragma in global scope
|
||||||
|
# http://eslint.org/docs/rules/global-strict
|
||||||
|
global-strict: 0
|
||||||
|
|
||||||
|
# (Deprecated) disallow unnecessary use of "use strict";
|
||||||
|
# http://eslint.org/docs/rules/no-extra-strict
|
||||||
|
no-extra-strict: 0
|
||||||
|
|
||||||
|
# controls location of Use Strict Directives
|
||||||
|
# http://eslint.org/docs/rules/strict
|
||||||
|
strict:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "function"
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Variable declaration rules
|
||||||
|
#############################################################################
|
||||||
|
# Disallow the catch clause parameter name being the same as a variable in
|
||||||
|
# the outer scope
|
||||||
|
# http://eslint.org/docs/rules/no-catch-shadow
|
||||||
|
no-catch-shadow: 2
|
||||||
|
|
||||||
|
# Disallow deletion of variables
|
||||||
|
# http://eslint.org/docs/rules/no-delete-var
|
||||||
|
no-delete-var: 2
|
||||||
|
|
||||||
|
# Disallow labels that share a name with a variable
|
||||||
|
# http://eslint.org/docs/rules/no-label-var
|
||||||
|
no-label-var: 2
|
||||||
|
|
||||||
|
# Disallow shadowing of names such as arguments
|
||||||
|
# http://eslint.org/docs/rules/no-shadow-restricted-names
|
||||||
|
no-shadow-restricted-names: 2
|
||||||
|
|
||||||
|
# Disallow declaration of variables already declared in the outer scope
|
||||||
|
# http://eslint.org/docs/rules/no-shadow
|
||||||
|
no-shadow: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of undefined when initializing variables
|
||||||
|
# http://eslint.org/docs/rules/no-undef-init
|
||||||
|
no-undef-init: 2
|
||||||
|
|
||||||
|
# Disallow use of undeclared variables unless mentioned in a /*global */ block
|
||||||
|
# http://eslint.org/docs/rules/no-undef
|
||||||
|
no-undef: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of undefined variable
|
||||||
|
# http://eslint.org/docs/rules/no-undefined
|
||||||
|
no-undefined: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow declaration of variables that are not used in the code
|
||||||
|
# http://eslint.org/docs/rules/no-unused-vars
|
||||||
|
no-unused-vars: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of variables before they are defined
|
||||||
|
# http://eslint.org/docs/rules/no-use-before-define
|
||||||
|
no-use-before-define: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Node.js rules
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Enforces error handling in callbacks
|
||||||
|
# http://eslint.org/docs/rules/handle-callback-err
|
||||||
|
handle-callback-err: 2
|
||||||
|
|
||||||
|
# Disallow mixing regular variable and require declarations
|
||||||
|
# http://eslint.org/docs/rules/no-mixed-requires
|
||||||
|
no-mixed-requires: 2
|
||||||
|
|
||||||
|
# Disallow use of new operator with the require function
|
||||||
|
# http://eslint.org/docs/rules/no-new-require
|
||||||
|
no-new-require: 2
|
||||||
|
|
||||||
|
# Disallow string concatenation with __dirname and __filename
|
||||||
|
# http://eslint.org/docs/rules/no-path-concat
|
||||||
|
no-path-concat: 2
|
||||||
|
|
||||||
|
# Disallow process.exit()
|
||||||
|
# http://eslint.org/docs/rules/no-process-exit
|
||||||
|
no-process-exit: 2
|
||||||
|
|
||||||
|
# Restrict usage of specified node modules
|
||||||
|
# http://eslint.org/docs/rules/no-restricted-modules
|
||||||
|
no-restricted-modules: 0
|
||||||
|
|
||||||
|
# Disallow use of synchronous methods
|
||||||
|
# http://eslint.org/docs/rules/no-sync
|
||||||
|
no-sync: 2
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Stylistic Changes
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# Enforce one true brace style
|
||||||
|
# http://eslint.org/docs/rules/brace-style
|
||||||
|
brace-style: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Require camel case names
|
||||||
|
# http://eslint.org/docs/rules/camelcase
|
||||||
|
camelcase:
|
||||||
|
- 2
|
||||||
|
- properties: "never"
|
||||||
|
|
||||||
|
# Enforce spacing before and after comma
|
||||||
|
# http://eslint.org/docs/rules/comma-spacing
|
||||||
|
comma-spacing: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Enforce one true comma style
|
||||||
|
# http://eslint.org/docs/rules/comma-style
|
||||||
|
comma-style: 2
|
||||||
|
|
||||||
|
# Enforces consistent naming when capturing the current execution context
|
||||||
|
# http://eslint.org/docs/rules/consistent-this
|
||||||
|
consistent-this:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "self"
|
||||||
|
|
||||||
|
# Enforce newline at the end of file, with no multiple empty lines
|
||||||
|
# http://eslint.org/docs/rules/eol-last
|
||||||
|
eol-last: 2
|
||||||
|
|
||||||
|
# Require function expressions to have a name
|
||||||
|
# http://eslint.org/docs/rules/func-names
|
||||||
|
func-names: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Enforces use of function declarations or expressions
|
||||||
|
# http://eslint.org/docs/rules/func-style
|
||||||
|
func-style: 0
|
||||||
|
|
||||||
|
# This option sets a specific tab width for your code
|
||||||
|
# http://eslint.org/docs/rules/indent
|
||||||
|
indent:
|
||||||
|
- 2 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- 2
|
||||||
|
|
||||||
|
# Enforces spacing between keys and values in object literal properties
|
||||||
|
# http://eslint.org/docs/rules/key-spacing
|
||||||
|
key-spacing: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Enforces empty lines around comments
|
||||||
|
# http://eslint.org/docs/rules/lines-around-comment
|
||||||
|
lines-around-comment: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow mixed 'LF' and 'CRLF' as linebreaks
|
||||||
|
# http://eslint.org/docs/rules/linebreak-style
|
||||||
|
linebreak-style:
|
||||||
|
- 2
|
||||||
|
- "unix"
|
||||||
|
|
||||||
|
# Specify the maximum depth callbacks can be nested
|
||||||
|
# http://eslint.org/docs/rules/max-nested-callbacks
|
||||||
|
max-nested-callbacks:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- 3
|
||||||
|
|
||||||
|
# Require a capital letter for constructors
|
||||||
|
# http://eslint.org/docs/rules/new-cap
|
||||||
|
new-cap: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow the omission of parentheses when invoking a constructor
|
||||||
|
# http://eslint.org/docs/rules/new-parens
|
||||||
|
new-parens: 2
|
||||||
|
|
||||||
|
# allow/disallow an empty newline after var statement
|
||||||
|
# http://eslint.org/docs/rules/newline-after-var
|
||||||
|
newline-after-var: 0
|
||||||
|
|
||||||
|
# Disallow use of the Array constructor
|
||||||
|
# http://eslint.org/docs/rules/no-array-constructor
|
||||||
|
no-array-constructor: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow use of the continue statement
|
||||||
|
# http://eslint.org/docs/rules/no-continue
|
||||||
|
no-continue: 0
|
||||||
|
|
||||||
|
# Disallow comments inline after code
|
||||||
|
# http://eslint.org/docs/rules/no-inline-comments
|
||||||
|
no-inline-comments: 0
|
||||||
|
|
||||||
|
# disallow if as the only statement in an else block
|
||||||
|
# http://eslint.org/docs/rules/no-lonely-if
|
||||||
|
no-lonely-if: 0
|
||||||
|
|
||||||
|
# Disallow mixed spaces and tabs for indentation
|
||||||
|
# http://eslint.org/docs/rules/no-mixed-spaces-and-tabs
|
||||||
|
no-mixed-spaces-and-tabs: 2
|
||||||
|
|
||||||
|
# Disallow multiple empty lines
|
||||||
|
# http://eslint.org/docs/rules/no-multiple-empty-lines
|
||||||
|
no-multiple-empty-lines:
|
||||||
|
- 2
|
||||||
|
- max: 1
|
||||||
|
|
||||||
|
# Disallow nested ternary expressions
|
||||||
|
# http://eslint.org/docs/rules/no-nested-ternary
|
||||||
|
no-nested-ternary: 0
|
||||||
|
|
||||||
|
# Disallow use of the Object constructor
|
||||||
|
# http://eslint.org/docs/rules/no-new-object
|
||||||
|
no-new-object: 1
|
||||||
|
|
||||||
|
# (Deprecated) Disallow space before semicolon
|
||||||
|
# http://eslint.org/docs/rules/no-space-before-semi
|
||||||
|
no-space-before-semi: 0
|
||||||
|
|
||||||
|
# Disallow space between function identifier and application
|
||||||
|
# http://eslint.org/docs/rules/no-spaced-func
|
||||||
|
no-spaced-func: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow the use of ternary operators
|
||||||
|
# http://eslint.org/docs/rules/no-ternary
|
||||||
|
no-ternary: 0
|
||||||
|
|
||||||
|
# Disallow trailing whitespace at the end of lines
|
||||||
|
# http://eslint.org/docs/rules/no-trailing-spaces
|
||||||
|
no-trailing-spaces: 2
|
||||||
|
|
||||||
|
# Disallow dangling underscores in identifiers
|
||||||
|
# http://eslint.org/docs/rules/no-underscore-dangle
|
||||||
|
no-underscore-dangle: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow the use of Boolean literals in conditional expressions
|
||||||
|
# http://eslint.org/docs/rules/no-unneeded-ternary
|
||||||
|
no-unneeded-ternary: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Disallow wrapping of non-IIFE statements in parens
|
||||||
|
# http://eslint.org/docs/rules/no-wrap-func
|
||||||
|
no-wrap-func: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Require or disallow padding inside curly braces
|
||||||
|
# http://eslint.org/docs/rules/object-curly-spacing
|
||||||
|
object-curly-spacing: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Allow or disallow one variable declaration per function
|
||||||
|
# http://eslint.org/docs/rules/one-var
|
||||||
|
one-var:
|
||||||
|
- 2
|
||||||
|
- uninitialized: "always"
|
||||||
|
initialized: "never"
|
||||||
|
|
||||||
|
# Prevent assignment operator shorthand where possible
|
||||||
|
# http://eslint.org/docs/rules/operator-assignment
|
||||||
|
operator-assignment:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "never"
|
||||||
|
|
||||||
|
# Enforce operators to be placed before or after line breaks
|
||||||
|
# http://eslint.org/docs/rules/operator-linebreak
|
||||||
|
operator-linebreak: 2
|
||||||
|
|
||||||
|
# Enforce padding within blocks
|
||||||
|
# http://eslint.org/docs/rules/padded-blocks
|
||||||
|
padded-blocks: 0
|
||||||
|
|
||||||
|
# Require quotes around object literal property names
|
||||||
|
# http://eslint.org/docs/rules/quote-props
|
||||||
|
quote-props: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Specify whether backticks, double or single quotes should be used
|
||||||
|
# http://eslint.org/docs/rules/quotes
|
||||||
|
quotes:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- 'single'
|
||||||
|
|
||||||
|
# Enforce spacing before and after semicolons
|
||||||
|
# http://eslint.org/docs/rules/semi-spacing
|
||||||
|
semi-spacing: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Require or disallow use of semicolons instead of ASI
|
||||||
|
# http://eslint.org/docs/rules/semi
|
||||||
|
semi:
|
||||||
|
- 2
|
||||||
|
- 'always'
|
||||||
|
|
||||||
|
# Sort variables within the same declaration block
|
||||||
|
# http://eslint.org/docs/rules/sort-vars
|
||||||
|
sort-vars: 0
|
||||||
|
|
||||||
|
# (Deprecated) Require a space after function names
|
||||||
|
# http://eslint.org/docs/rules/space-after-function-name
|
||||||
|
space-after-function-name: 0
|
||||||
|
|
||||||
|
# Require a space after certain keywords
|
||||||
|
# http://eslint.org/docs/rules/space-after-keywords
|
||||||
|
space-after-keywords: 2
|
||||||
|
|
||||||
|
# require or disallow space before blocks
|
||||||
|
# http://eslint.org/docs/rules/space-before-blocks
|
||||||
|
space-before-blocks:
|
||||||
|
- 2
|
||||||
|
- "always"
|
||||||
|
|
||||||
|
# Require or disallow space before function opening parenthesis
|
||||||
|
# http://eslint.org/docs/rules/space-before-function-paren
|
||||||
|
space-before-function-paren:
|
||||||
|
- 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
- "always"
|
||||||
|
|
||||||
|
# (Deprecated) Require or disallow space before function parentheses
|
||||||
|
# http://eslint.org/docs/rules/space-before-function-parentheses
|
||||||
|
space-before-function-parentheses: 0
|
||||||
|
|
||||||
|
# Require or disallow spaces inside brackets
|
||||||
|
# http://eslint.org/docs/rules/space-in-brackets
|
||||||
|
space-in-brackets: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# require or disallow spaces inside parentheses
|
||||||
|
# http://eslint.org/docs/rules/space-in-parens
|
||||||
|
space-in-parens: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# Require spaces around operators
|
||||||
|
# http://eslint.org/docs/rules/space-infix-ops
|
||||||
|
space-infix-ops: 2
|
||||||
|
|
||||||
|
# Require a space after return, throw, and case
|
||||||
|
# http://eslint.org/docs/rules/space-return-throw-case
|
||||||
|
space-return-throw-case: 2
|
||||||
|
|
||||||
|
# Require or disallow spaces before/after unary operators (words on by default, nonwords)
|
||||||
|
# http://eslint.org/docs/rules/space-unary-ops
|
||||||
|
space-unary-ops:
|
||||||
|
- 2
|
||||||
|
- words: true
|
||||||
|
nonwords: false
|
||||||
|
|
||||||
|
# (deprecated) Require or disallow spaces before/after unary operators (words on by default, nonwords)
|
||||||
|
# http://eslint.org/docs/rules/space-unary-word-ops
|
||||||
|
space-unary-word-ops: 0
|
||||||
|
|
||||||
|
# Require or disallow a space immediately following the // in a line comment
|
||||||
|
# http://eslint.org/docs/rules/spaced-line-comment
|
||||||
|
spaced-line-comment: 0 # TODO(krotscheck): Discuss & Activate
|
||||||
|
|
||||||
|
# require regex literals to be wrapped in parentheses
|
||||||
|
# http://eslint.org/docs/rules/wrap-regex
|
||||||
|
wrap-regex: 0
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# ECMAScript 6 (All Off)
|
||||||
|
#############################################################################
|
||||||
|
# enforce the spacing around the * in generator functions
|
||||||
|
# http://eslint.org/docs/rules/generator-star-spacing
|
||||||
|
generator-star-spacing: 0
|
||||||
|
|
||||||
|
# (deprecated) enforce the position of the * in generator functions
|
||||||
|
# http://eslint.org/docs/rules/generator-star
|
||||||
|
generator-star: 0
|
||||||
|
|
||||||
|
# require let or const instead of var
|
||||||
|
# http://eslint.org/docs/rules/no-var
|
||||||
|
no-var: 0
|
||||||
|
|
||||||
|
# require method and property shorthand syntax for object literals
|
||||||
|
# http://eslint.org/docs/rules/object-shorthand
|
||||||
|
object-shorthand: 0
|
||||||
|
|
||||||
|
# suggest using of const declaration for variables that are never modified after declared
|
||||||
|
# http://eslint.org/docs/rules/prefer-const
|
||||||
|
prefer-const: 0
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Legacy
|
||||||
|
#############################################################################
|
||||||
|
# specify the maximum depth that blocks can be nested
|
||||||
|
# http://eslint.org/docs/rules/max-depth
|
||||||
|
max-depth: 0
|
||||||
|
|
||||||
|
# specify the maximum length of a line in your program
|
||||||
|
# http://eslint.org/docs/rules/max-len
|
||||||
|
max-len:
|
||||||
|
- 2
|
||||||
|
- 100
|
||||||
|
|
||||||
|
# Limits the number of parameters that can be used in function declaration.
|
||||||
|
# http://eslint.org/docs/rules/max-params
|
||||||
|
max-params: 0
|
||||||
|
|
||||||
|
# Specify the maximum number of statements allowed in a function
|
||||||
|
# http://eslint.org/docs/rules/max-statements
|
||||||
|
max-statements: 0
|
||||||
|
|
||||||
|
# Disallow use of bitwise operators
|
||||||
|
# http://eslint.org/docs/rules/no-bitwise
|
||||||
|
no-bitwise: 0
|
||||||
|
|
||||||
|
# Disallow use of unary operators, ++ and --
|
||||||
|
# http://eslint.org/docs/rules/no-plusplus
|
||||||
|
no-plusplus: 0
|
||||||
|
|
||||||
|
|
||||||
|
# We only support ECMA5, disable everything else.
|
||||||
|
ecmaFeatures:
|
||||||
|
arrowFunctions: false
|
||||||
|
binaryLiterals: false
|
||||||
|
blockBindings: false
|
||||||
|
classes: false
|
||||||
|
defaultParams: false
|
||||||
|
destructuring: false
|
||||||
|
forOf: false
|
||||||
|
generators: false
|
||||||
|
modules: false
|
||||||
|
objectLiteralComputedProperties: false
|
||||||
|
objectLiteralDuplicateProperties: false
|
||||||
|
objectLiteralShorthandMethods: false
|
||||||
|
objectLiteralShorthandProperties: false
|
||||||
|
octalLiterals: false
|
||||||
|
regexUFlag: false
|
||||||
|
regexYFlag: false
|
||||||
|
restParams: false
|
||||||
|
spread: false
|
||||||
|
superInFunctions: false
|
||||||
|
templateStrings: false
|
||||||
|
unicodeCodePointEscapes: false
|
||||||
|
globalReturn: false
|
||||||
|
jsx: false
|
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# IDE Exclusions
|
||||||
|
*.iml
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Node generated files
|
||||||
|
package/
|
||||||
|
node_modules/
|
||||||
|
npm-debug.log
|
176
LICENSE
Normal file
176
LICENSE
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
15
README.md
Normal file
15
README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# eslint-config-openstack
|
||||||
|
|
||||||
|
OpenStack has a set of style guidelines for clarity. OpenStack is a very large code base, spanning
|
||||||
|
dozens of git trees, with over a thousand developers contributing every 6 months. As such, common
|
||||||
|
style helps developers understand code in reviews, move between projects smoothly, and overall make
|
||||||
|
the code more maintainable.
|
||||||
|
|
||||||
|
Even though eslint permits overriding rules on a per-project basis, it should be the goal of every
|
||||||
|
project to stay as close to the common guidelines as possible.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. `npm install --save-dev eslint eslint-config-openstack`
|
||||||
|
2. Add `extends: "openstack"` to your `.eslintrc`
|
||||||
|
|
33
index.js
Normal file
33
index.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the 'License'); you may
|
||||||
|
* not use this file except in compliance with the License. You may obtain
|
||||||
|
* a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default module for this package simply reads in the .eslintrc yaml file, and returns it
|
||||||
|
* as a module.
|
||||||
|
*/
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
var yaml = require('js-yaml');
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
/*eslint-disable no-sync */
|
||||||
|
var rcPath = path.join(__dirname, '.eslintrc');
|
||||||
|
var fileContent = fs.readFileSync(rcPath);
|
||||||
|
/*eslint-enable no-sync */
|
||||||
|
|
||||||
|
module.exports = yaml.safeLoad(fileContent);
|
||||||
|
})();
|
39
package.json
Normal file
39
package.json
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"name": "eslint-config-openstack",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "JavaScript Style Guidelines for OpenStack.",
|
||||||
|
"main": "index.js",
|
||||||
|
"files": [
|
||||||
|
"index.js",
|
||||||
|
".eslintrc",
|
||||||
|
"LICENSE",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
"test": "jasmine",
|
||||||
|
"lint": "eslint ./"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git@github.com:krotscheck/eslint-config-openstack.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"eslint",
|
||||||
|
"eslintconfig",
|
||||||
|
"openstack"
|
||||||
|
],
|
||||||
|
"author": "OpenStack <openstack-dev@lists.openstack.org>",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/krotscheck/eslint-config-openstack/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/krotscheck/eslint-config-openstack",
|
||||||
|
"peerDependencies": {
|
||||||
|
"eslint": "0.23.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint": "0.23.0",
|
||||||
|
"jasmine": "^2.3.1",
|
||||||
|
"js-yaml": "3.3.1"
|
||||||
|
}
|
||||||
|
}
|
23
spec/index.js
Normal file
23
spec/index.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
describe("Unit: eslint-config-openstack", function () {
|
||||||
|
|
||||||
|
it("should set espree as the default parser.", function () {
|
||||||
|
|
||||||
|
var config = require('../index');
|
||||||
|
expect(config.parser).toEqual('espree');
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should disable all ecma6 features.", function () {
|
||||||
|
var config = require('../index');
|
||||||
|
|
||||||
|
var keys = Object.keys(config.ecmaFeatures);
|
||||||
|
|
||||||
|
keys.forEach(function (key) {
|
||||||
|
expect(config.ecmaFeatures[key]).toBeFalsy();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should disable all environments.", function () {
|
||||||
|
var config = require('../index');
|
||||||
|
expect(config.env).toBeFalsy();
|
||||||
|
});
|
||||||
|
});
|
10
spec/support/jasmine.json
Normal file
10
spec/support/jasmine.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"spec_dir": "spec",
|
||||||
|
"spec_files": [
|
||||||
|
"**/*.js",
|
||||||
|
"!helpers/**/*.js"
|
||||||
|
],
|
||||||
|
"helpers": [
|
||||||
|
"helpers/**/*.js"
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user