Code Style

This is our code style, generally based on industry practices.

; EditorConfig helps developers define and maintain consistent
; coding styles between different editors and IDEs.

; For more visit http://editorconfig.org.
root = true

; Choose between lf or rf on "end_of_line" property
[*]
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
indent_size = 4
insert_final_newline = true

[*.{js,css,scss}]
indent_size = 2
indent_style = space

[*.html]
indent_style = tab

[*.php]
indent_style = tab

[*.md]
trim_trailing_whitespace = false

{
"env": {
    "browser": true
},
"globals": {
    "ionic": true,
    "IonicModule": true,
    "angular": true,
    "jqLite": true,
    "forEach": true,
    "isDefined": true,
    "isNumber": true,
    "isString": true,
    "noop": true,
    "extend": true,
    "deprecated": true,
    "cordova": true,
    "DocumentTouch": true,
    "describe": true,
    "ddescribe": true,
    "it": true,
    "iit": true,
    "inject": true,
    "beforeEach": true,
    "afterEach": true,
    "expect": true
},
"rules": {
    "quotes": 0,
    "no-underscore-dangle": 0,
    "no-unused-expressions": 0,
    "curly": [2, "multi-line"],
    "strict": 0,
    "no-use-before-define": 0,
    "eqeqeq": 0,
    "new-cap": [2, {"capIsNew": false}],
    "dot-notation": [2, {"allowKeywords": true}],
    "no-console": 0,
    "no-return-assign": 0,
    "no-shadow": 0,
    "comma-dangle": 0,
    "camelcase": [2, {"properties": "never"}]
}
}

*~
*.ap_
*.apk
bin/
bower_components/
.buildpath
*.class
composer.json
composer.lock
coverage/
*.dex
.DS_Store
.editorconfig
gen/
.gradle/
.idea/
local.properties
*.log
log.txt
node_modules/
platforms/
platforms/android/ant-build/
platforms/android/CordovaLib/ant-build
plugins/
proguard/
.project
$RECYCLE.BIN/
.sass-cache/
.settings/
*.sublime-project
*.sublime-workspace
*.sw[mnpcod]
temp/
Thumbs.db
*.tmp
*.tmp.*
tmp/
UserInterfaceState.xcuserstate
vendor/
.versions/
.vscode

{
"excludeFiles": ["src/ngLocale/**"],
"disallowKeywords": ["with"],
"disallowMixedSpacesAndTabs": true,
"disallowMultipleLineStrings": true,
"disallowNewlineBeforeBlockStatements": true,
"disallowSpaceAfterObjectKeys": true,
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
"disallowSpaceBeforeBinaryOperators": [","],
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],

"disallowSpacesInsideArrayBrackets": true,
"disallowTrailingComma": true,
"disallowTrailingWhitespace": true,
"requireCommaBeforeLineBreak": true,
"requireLineFeedAtFileEnd": true,
"requireSpaceAfterBinaryOperators": ["?", ":", "+", "-", "/", "*", "%", "==", "===", "!=", "!==", ">", ">=", "<", "<=", "&&", "||"],
"requireSpaceBeforeBinaryOperators": ["?", ":", "+", "-", "/", "*", "%", "==", "===", "!=", "!==", ">", ">=", "<", "<=", "&&", "||"],
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
"requireSpaceBeforeBlockStatements": true,
"requireSpacesInConditionalExpression": {
    "afterTest": true,
    "beforeConsequent": true,
    "afterConsequent": true,
    "beforeAlternate": true
},
"requireSpacesInFunction": {
    "beforeOpeningCurlyBrace": true
},
"validateLineBreaks": "LF",
"validateParameterSeparator": ", "
}

{
"indent_size":4,
"indent_char":" ",
"html":{
    "indent_char":"\t"
},
"css":{
    "indent_size":2,
    "indent_char":" "
},
"js":{
    "indent_size":2,
    "indent_char":" "
},
"php":{
    "indent_char":"\t"
}
}