Adrian Lang has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/184591

Change subject: Add jscs and npm config
......................................................................

Add jscs and npm config

This allows running jscs via `npm test` for jenkins.

Change-Id: Ib83f2b896c647fa216f63aa3827e9ce31ca3f9f8
---
M .gitignore
A .jscsrc
M .jshintignore
A package.json
4 files changed, 109 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/91/184591/1

diff --git a/.gitignore b/.gitignore
index 9c31647..275b338 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@
 
 vendor/
 extensions/
+node_modules/
 
 easyrdf/
 
@@ -15,4 +16,4 @@
 selenium/configuration.yml
 tests/browser/.idea
 tests/browser/.bundle/*
-tests/browser/config/config.yml
\ No newline at end of file
+tests/browser/config/config.yml
diff --git a/.jscsrc b/.jscsrc
new file mode 100644
index 0000000..2ccfd7b
--- /dev/null
+++ b/.jscsrc
@@ -0,0 +1,90 @@
+{
+       // ----
+       // This is a copy of the wikimedia preset so we can disable some of the 
rules
+
+       "requireCurlyBraces": [
+                       "if",
+                       "else",
+                       "for",
+                       "while",
+                       "do",
+                       "try",
+                       "catch"
+       ],
+       "requireSpaceBeforeKeywords": true,
+       "requireSpaceBeforeBlockStatements": true,
+       "requireParenthesesAroundIIFE": true,
+       "requireSpacesInConditionalExpression": true,
+       "disallowSpacesInNamedFunctionExpression": {
+                       "beforeOpeningRoundBrace": true
+       },
+       "disallowSpacesInFunctionDeclaration": {
+                       "beforeOpeningRoundBrace": true
+       },
+       "disallowSpacesInCallExpression": true,
+       "requireBlocksOnNewline": 1,
+       "disallowEmptyBlocks": true,
+       "requireSpacesInsideObjectBrackets": "all",
+       "requireSpacesInsideParentheses": "all",
+       "disallowSpaceAfterObjectKeys": true,
+       "requireSpaceBeforeObjectValues": true,
+       "requireCommaBeforeLineBreak": true,
+       "disallowSpaceBeforePostfixUnaryOperators": true,
+       "disallowSpaceBeforeBinaryOperators": [
+                       ","
+       ],
+       "requireSpaceBeforeBinaryOperators": true,
+       "requireSpaceAfterBinaryOperators": true,
+       "disallowImplicitTypeConversion": [
+                       "binary",
+                       "string"
+       ],
+       "requireCamelCaseOrUpperCaseIdentifiers": true,
+       "disallowKeywords": [
+                       "with"
+       ],
+       "disallowMixedSpacesAndTabs": true,
+       "disallowOperatorBeforeLineBreak": [
+                       "."
+       ],
+       "disallowTrailingWhitespace": true,
+       "disallowTrailingComma": true,
+       "requireLineBreakAfterVariableAssignment": true,
+       "requireLineFeedAtFileEnd": true,
+       "requireCapitalizedConstructors": true,
+       "requireDotNotation": true,
+       "disallowYodaConditions": true,
+       "disallowNewlineBeforeBlockStatements": true,
+       "validateLineBreaks": "LF",
+
+       // ----
+       // These are rules from wikimedia preset we don't follow
+
+       // "validateIndentation": "\t",
+       // "requireSpaceAfterKeywords": true,
+       // "requireMultipleVarDecl": "onevar",
+       // "disallowDanglingUnderscores": true,
+       // "validateQuoteMarks": "'",
+
+       // ----
+       // These are rules from wikimedia preset we probably follow and should 
enable
+
+       // "requireSpaceAfterLineComment": true,
+       // "disallowSpaceAfterPrefixUnaryOperators": true,
+       // "disallowMultipleLineBreaks": true,
+       // "disallowKeywordsOnNewLine": [
+       //    "else"
+       // ],
+       // "disallowQuotedKeysInObjects": "allButReserved",
+       // "requireSpacesInsideArrayBrackets": "all",
+
+       // ----
+       // Own rules
+
+       "disallowSpaceAfterKeywords": [
+               // "if", "for", "while",
+               "switch", "catch"
+       ],
+
+       "excludeFiles": [ "node_modules/**", "vendor/**" ]
+}
diff --git a/.jshintignore b/.jshintignore
index e69de29..a860310 100644
--- a/.jshintignore
+++ b/.jshintignore
@@ -0,0 +1 @@
+node_modules/**
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..5d8bad7
--- /dev/null
+++ b/package.json
@@ -0,0 +1,16 @@
+{
+  "name": "Wikibase",
+  "version": "0.0.0",
+  "scripts": {
+    "test": "jscs ."
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikibase";
+  },
+  "author": "The Wikidata team",
+  "license": "GPL-2.0+",
+  "devDependencies": {
+    "jscs": ""
+  }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/184591
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib83f2b896c647fa216f63aa3827e9ce31ca3f9f8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to