aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintignore2
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml4
-rw-r--r--package.json70
-rw-r--r--web/.eslintignore2
-rw-r--r--web/.eslintrc.json89
-rw-r--r--web/.jscsrc7
-rw-r--r--web/.jshintignore2
-rw-r--r--web/.jshintrc76
9 files changed, 78 insertions, 176 deletions
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 00000000..c3577ef5
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,2 @@
+web/simple/app.js
+web/load.js
diff --git a/.gitignore b/.gitignore
index c0913c4b..d395d2ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@
nbproject/
web/app.min.js
sencha-error-*
+node_modules
+package-lock.json
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..354951d5
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+
+script:
+ - npm run lint
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..d313631a
--- /dev/null
+++ b/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "traccar-web",
+ "devDependencies": {
+ "eslint": "^4.4.1"
+ },
+ "scripts": {
+ "lint": "./node_modules/.bin/eslint web/."
+ },
+ "eslintConfig": {
+ "extends": "eslint:all",
+ "env": {
+ "browser": true
+ },
+ "globals": {
+ "Ext": false,
+ "ol": false,
+ "Traccar": false,
+ "Strings": false,
+ "Locale": false,
+ "proj4": false,
+ "Uint8Array": false
+ },
+ "rules": {
+ "strict": "off",
+ "max-lines": ["error", 1000],
+ "max-len": ["error", 180],
+ "max-statements": ["error", 35],
+ "max-params": ["error", 5],
+ "indent": ["error", 4, {
+ "SwitchCase": 1
+ }],
+ "quotes": ["error", "single"],
+ "padded-blocks": ["error", "never"],
+ "dot-location": ["error", "property"],
+ "wrap-iife": ["error", "inside"],
+ "dot-notation": "off",
+ "array-bracket-newline": "off",
+ "array-element-newline": "off",
+ "sort-keys": "off",
+ "sort-vars": "off",
+ "no-magic-numbers": "off",
+ "no-mixed-operators": "off",
+ "prefer-template": "off",
+ "newline-per-chained-call": "off",
+ "object-shorthand": "off",
+ "func-names": "off",
+ "init-declarations": "off",
+ "no-var": "off",
+ "id-length": "off",
+ "no-undefined": "off",
+ "object-curly-newline": "off",
+ "prefer-destructuring": "off",
+ "no-plusplus": "off",
+ "no-param-reassign": "off",
+ "no-ternary": "off",
+ "multiline-ternary": "off",
+ "one-var-declaration-per-line": "off",
+ "no-shadow": "off",
+ "no-else-return": "off",
+ "consistent-this": "off",
+ "quote-props": "off",
+ "no-negated-condition": "off",
+ "prefer-arrow-callback": "off",
+ "no-prototype-builtins": "off",
+ "no-multi-assign": "off",
+ "no-bitwise": "off",
+ "prefer-rest-params": "off"
+ }
+ }
+}
diff --git a/web/.eslintignore b/web/.eslintignore
deleted file mode 100644
index d40ab12b..00000000
--- a/web/.eslintignore
+++ /dev/null
@@ -1,2 +0,0 @@
-simple/app.js
-load.js
diff --git a/web/.eslintrc.json b/web/.eslintrc.json
deleted file mode 100644
index 03de8088..00000000
--- a/web/.eslintrc.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "extends": "crockford",
- "env": {
- "browser": true,
- "node": true
- },
-
- // Custom Globals
- "globals" : {
- "Ext" : false,
- "ol" : false,
- "Traccar" : false,
- "Strings" : false,
- "Locale" : false,
- "proj4" : false
- },
-
- "rules": {
- "indent": ["error", 4,
- {
- "SwitchCase":1
- }
- ],
- "comma-spacing": [2,
- {
- "after": true
- }
- ],
- "no-bitwise": 0,
- "camelcase": 2,
- "curly": 2,
- "eqeqeq": 2,
- "guard-for-in": 2,
- "no-extend-native": 2,
- "wrap-iife": [
- 2,
- "any"
- ],
- "no-use-before-define": [
- 2,
- {
- "functions": false
- }
- ],
- "new-cap": 2,
- "no-caller": 2,
- "no-empty": 2,
- "no-irregular-whitespace": 2,
- "no-new": 2,
- "no-plusplus": 0,
- "quotes": [
- 2,
- "single"
- ],
- "no-undef": 2,
- "no-unused-vars": 2,
- "strict": 0,
- "max-params": 0,
- "max-depth": 0,
- "max-statements": 0,
- "complexity": 0,
- "max-len": 0,
- "no-var": 0,
- "semi": 0,
- "no-cond-assign": 0,
- "no-debugger": 0,
- "no-eq-null": 0,
- "no-eval": 0,
- "no-unused-expressions": 0,
- "block-scoped-var": 0,
- "no-iterator": 0,
- "linebreak-style": 0,
- "comma-style": [
- 2,
- "last"
- ],
- "no-loop-func": 0,
- "no-multi-str": 0,
- "require-yield": 0,
- "valid-typeof": 0,
- "no-proto": 0,
- "no-script-url": 0,
- "no-shadow": 2,
- "dot-notation": 0,
- "no-new-func": 0,
- "no-new-wrappers": 0,
- "no-invalid-this": 0
- }
-} \ No newline at end of file
diff --git a/web/.jscsrc b/web/.jscsrc
deleted file mode 100644
index c20bcf08..00000000
--- a/web/.jscsrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "preset": "crockford",
- "maxErrors": 100,
- "excludeFiles": ["simple/app.js"],
- "requireDotNotation": false,
- "requireSpaceAfterComma": true
-}
diff --git a/web/.jshintignore b/web/.jshintignore
deleted file mode 100644
index 0a20d51b..00000000
--- a/web/.jshintignore
+++ /dev/null
@@ -1,2 +0,0 @@
-locale.js
-simple/app.js
diff --git a/web/.jshintrc b/web/.jshintrc
deleted file mode 100644
index 67329cd0..00000000
--- a/web/.jshintrc
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- // Enforcing
- "bitwise" : false, // true: Prohibit bitwise operators (&, |, ^, etc.)
- "camelcase" : true, // true: Identifiers must be in camelCase
- "curly" : true, // true: Require {} for every new block or scope
- "eqeqeq" : true, // true: Require triple equals (===) for comparison
- "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
- "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc.
- "immed" : true, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
- "indent" : 4, // {int} Number of spaces to use for indentation
- "latedef" : true, // true: Require variables/functions to be defined before being used
- "newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()`
- "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
- "noempty" : true, // true: Prohibit use of empty blocks
- "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters.
- "nonew" : true, // true: Prohibit use of constructors for side-effects (without assignment)
- "plusplus" : false, // true: Prohibit use of `++` and `--`
- "quotmark" : "single", // Quotation mark consistency:
- // false : do nothing (default)
- // true : ensure whatever is used is consistent
- // "single" : require single quotes
- // "double" : require double quotes
- "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
- "unused" : "vars", // Unused variables:
- // true : all variables, last function parameter
- // "vars" : all variables only
- // "strict" : all variables, all function parameters
- "strict" : false, // true: Requires all functions run in ES5 Strict Mode
- "maxparams" : false, // {int} Max number of formal params allowed per function
- "maxdepth" : false, // {int} Max depth of nested blocks (within functions)
- "maxstatements" : false, // {int} Max number statements per function
- "maxcomplexity" : false, // {int} Max cyclomatic complexity per function
- "maxlen" : false, // {int} Max number of characters per line
- "varstmt" : false, // true: Disallow any var statements. Only `let` and `const` are allowed.
-
- // Relaxing
- "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
- "boss" : false, // true: Tolerate assignments where comparisons would be expected
- "debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
- "eqnull" : false, // true: Tolerate use of `== null`
- "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
- "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
- "evil" : false, // true: Tolerate use of `eval` and `new Function()`
- "expr" : false, // true: Tolerate `ExpressionStatement` as Programs
- "funcscope" : false, // true: Tolerate defining variables inside control statements
- "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
- "iterator" : false, // true: Tolerate using the `__iterator__` property
- "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
- "laxbreak" : false, // true: Tolerate possibly unsafe line breakings
- "laxcomma" : false, // true: Tolerate comma-first style coding
- "loopfunc" : false, // true: Tolerate functions being defined in loops
- "multistr" : false, // true: Tolerate multi-line strings
- "noyield" : false, // true: Tolerate generator functions with no yield statement in them.
- "notypeof" : false, // true: Tolerate invalid typeof operator values
- "proto" : false, // true: Tolerate using the `__proto__` property
- "scripturl" : false, // true: Tolerate script-targeted URLs
- "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
- "sub" : true, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
- "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
- "validthis" : false, // true: Tolerate using this in a non-constructor function
-
- // Environments
- "browser" : true, // Web Browser (window, document, etc)
- "devel" : true, // Development/debugging (alert, confirm, etc)
- "node" : true, // Node.js
-
- // Custom Globals
- "globals" : {
- "Ext" : false,
- "ol" : false,
- "Traccar" : false,
- "Strings" : false,
- "Locale" : false,
- "proj4" : false
- }
-}