diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..84cef4f --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,28 @@ +{ + "parserOptions": { + "ecmaVersion": 5 + }, + "extends": "eslint:recommended", + "env": { + "commonjs": true + }, + "rules": { + "strict": [2, "global"], + "block-scoped-var": 2, + "consistent-return": 2, + "eqeqeq": [2, "smart"], + "guard-for-in": 2, + "no-caller": 2, + "no-extend-native": 2, + "no-loop-func": 2, + "no-new": 2, + "no-param-reassign": 2, + "no-return-assign": 2, + "no-unused-expressions": 2, + "no-use-before-define": 2, + "radix": [2, "always"], + "indent": [2, 2], + "quotes": [2, "double"], + "semi": [2, "always"] + } +} diff --git a/.gitignore b/.gitignore index e306283..7050558 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ /.* !/.gitignore -!/.jscsrc -!/.jshintrc +!/.eslintrc.json !/.travis.yml /bower_components/ /node_modules/ diff --git a/.jscsrc b/.jscsrc deleted file mode 100644 index 2561ce9..0000000 --- a/.jscsrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "preset": "grunt", - "disallowSpacesInFunctionExpression": null, - "requireSpacesInFunctionExpression": { - "beforeOpeningRoundBrace": true, - "beforeOpeningCurlyBrace": true - }, - "disallowSpacesInAnonymousFunctionExpression": null, - "requireSpacesInAnonymousFunctionExpression": { - "beforeOpeningRoundBrace": true, - "beforeOpeningCurlyBrace": true - }, - "disallowSpacesInsideObjectBrackets": null, - "requireSpacesInsideObjectBrackets": "all", - "validateQuoteMarks": "\"", - "requireCurlyBraces": null -} diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 620d8d7..0000000 --- a/.jshintrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "bitwise": true, - "eqeqeq": true, - "forin": true, - "freeze": true, - "funcscope": true, - "futurehostile": true, - "strict": "global", - "latedef": true, - "maxparams": 1, - "noarg": true, - "nocomma": true, - "nonew": true, - "notypeof": true, - "singleGroups": true, - "undef": true, - "unused": true, - "eqnull": true, - "predef": ["exports"] -} diff --git a/.travis.yml b/.travis.yml index 3455305..4cbd5fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: node_js dist: trusty sudo: required -node_js: 6 +node_js: stable env: - PATH=$HOME/purescript:$PATH install: diff --git a/bower.json b/bower.json index 1ac48f3..10f0105 100644 --- a/bower.json +++ b/bower.json @@ -17,12 +17,12 @@ "package.json" ], "dependencies": { - "purescript-either": "^2.0.0", - "purescript-maybe": "^2.0.0", - "purescript-partial": "^1.1.2" + "purescript-either": "^3.0.0", + "purescript-maybe": "^3.0.0", + "purescript-partial": "^1.2.0" }, "devDependencies": { - "purescript-assert": "^2.0.0", - "purescript-console": "^2.0.0" + "purescript-assert": "^3.0.0", + "purescript-console": "^3.0.0" } } diff --git a/package.json b/package.json index 8cdcd96..132cefc 100644 --- a/package.json +++ b/package.json @@ -2,14 +2,13 @@ "private": true, "scripts": { "clean": "rimraf output && rimraf .pulp-cache", - "build": "jshint src && jscs src && pulp build --censor-lib --strict", + "build": "eslint src && pulp build -- --censor-lib --strict", "test": "pulp test" }, "devDependencies": { - "jscs": "^2.8.0", - "jshint": "^2.9.1", - "pulp": "^9.0.1", - "purescript-psa": "^0.3.9", - "rimraf": "^2.5.0" + "eslint": "^3.17.1", + "pulp": "^10.0.4", + "purescript-psa": "^0.5.0-rc.1", + "rimraf": "^2.6.1" } } diff --git a/src/Data/String.js b/src/Data/String.js index fd42223..634d91a 100644 --- a/src/Data/String.js +++ b/src/Data/String.js @@ -133,7 +133,8 @@ exports.drop = function (n) { exports.count = function (p) { return function (s) { - for (var i = 0; i < s.length && p(s.charAt(i)); i++); {} + var i = 0; + while (i < s.length && p(s.charAt(i))) i++; return i; }; }; diff --git a/src/Data/String/Regex.purs b/src/Data/String/Regex.purs index f1e3716..d60b9ee 100644 --- a/src/Data/String/Regex.purs +++ b/src/Data/String/Regex.purs @@ -24,7 +24,7 @@ import Data.String (Pattern(..), contains) import Data.String.Regex.Flags (RegexFlags(..), RegexFlagsRec) -- | Wraps Javascript `RegExp` objects. -foreign import data Regex :: * +foreign import data Regex :: Type foreign import showRegex' :: Regex -> String diff --git a/test/Test/Data/Char.purs b/test/Test/Data/Char.purs index ad35c43..ee86573 100644 --- a/test/Test/Data/Char.purs +++ b/test/Test/Data/Char.purs @@ -1,6 +1,6 @@ module Test.Data.Char (testChar) where -import Prelude (Unit, (==), ($), bind) +import Prelude (Unit, (==), ($), discard) import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) diff --git a/test/Test/Data/String.purs b/test/Test/Data/String.purs index e706ca1..bc58ee1 100644 --- a/test/Test/Data/String.purs +++ b/test/Test/Data/String.purs @@ -1,6 +1,6 @@ module Test.Data.String (testString) where -import Prelude (Unit, Ordering(..), (==), ($), bind, negate, not, (/=), (&&)) +import Prelude (Unit, Ordering(..), (==), ($), discard, negate, not, (/=), (&&)) import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) diff --git a/test/Test/Data/String/CaseInsensitive.purs b/test/Test/Data/String/CaseInsensitive.purs index e47b4a9..9bd4530 100644 --- a/test/Test/Data/String/CaseInsensitive.purs +++ b/test/Test/Data/String/CaseInsensitive.purs @@ -1,6 +1,6 @@ module Test.Data.String.CaseInsensitive (testCaseInsensitiveString) where -import Prelude (Unit, (==), ($), bind, compare, Ordering(..)) +import Prelude (Unit, (==), ($), discard, compare, Ordering(..)) import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) diff --git a/test/Test/Data/String/Regex.purs b/test/Test/Data/String/Regex.purs index 8b9fc3f..6228b91 100644 --- a/test/Test/Data/String/Regex.purs +++ b/test/Test/Data/String/Regex.purs @@ -1,6 +1,6 @@ module Test.Data.String.Regex (testStringRegex) where -import Prelude (Unit, ($), (<>), bind, (==), not) +import Prelude (Unit, ($), (<>), discard, (==), not) import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) diff --git a/test/Test/Data/String/Unsafe.purs b/test/Test/Data/String/Unsafe.purs index 10d3934..bd2924d 100644 --- a/test/Test/Data/String/Unsafe.purs +++ b/test/Test/Data/String/Unsafe.purs @@ -1,6 +1,6 @@ module Test.Data.String.Unsafe (testStringUnsafe) where -import Prelude (Unit, (==), ($), bind) +import Prelude (Unit, (==), ($), discard) import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log)