sync with file from rocket.chat main project

This commit is contained in:
Gabriel Engel 2016-12-26 18:33:44 -02:00
parent 59c4c779eb
commit 4b2d06ad13
8 changed files with 165 additions and 274 deletions

View file

@ -8,6 +8,8 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{js,coffee,html,less,json}]
indent_style = tab
[*.md]
trim_trailing_whitespace = false

81
.eslintrc Normal file
View file

@ -0,0 +1,81 @@
{
"parserOptions": {
"sourceType": "module"
},
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true,
"jquery": true
},
"rules": {
"no-multi-spaces": 2,
"no-eval": 2,
"no-extend-native": 2,
"no-multi-str": 2,
"no-use-before-define": 2,
"no-const-assign": 2,
"no-cond-assign": 2,
"no-constant-condition": 2,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-dupe-keys": 2,
"no-dupe-args": 2,
"no-duplicate-case": 2,
"no-empty": 2,
"no-empty-character-class": 2,
"no-ex-assign": 2,
"no-extra-boolean-cast": 2,
"no-extra-semi": 2,
"no-fallthrough": 2,
"no-func-assign": 2,
"no-inner-declarations": [2, "functions"],
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-mixed-spaces-and-tabs": 2,
"no-sparse-arrays": 2,
"no-negated-in-lhs": 2,
"no-obj-calls": 2,
"no-octal": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-undef": 2,
"no-unreachable": 2,
"no-unused-vars": [2, {
"vars": "all",
"args": "after-used"
}],
"no-lonely-if": 2,
"no-trailing-spaces": 2,
"complexity": [1, 31],
"space-in-parens": [2, "never"],
"space-before-function-paren": [2, "never"],
"space-before-blocks": [2, "always"],
"indent": [2, "tab", {"SwitchCase": 1}],
"comma-dangle": [2, "never"],
"keyword-spacing": 2,
"block-spacing": 2,
"brace-style": [2, "1tbs", { "allowSingleLine": true }],
"computed-property-spacing": 2,
"comma-spacing": 2,
"comma-style": 2,
"guard-for-in": 2,
"wrap-iife": 2,
"block-scoped-var": 2,
"curly": [2, "all"],
"eqeqeq": [2, "allow-null"],
"new-cap": [2, {
"capIsNewExceptions": ["Match.Optional", "Match.Maybe", "Match.ObjectIncluding"]
}],
"use-isnan": 2,
"valid-typeof": 2,
"linebreak-style": [2, "unix"],
"quotes": [2, "single"],
"semi": [2, "always"]
},
"globals": {
"_" : false
}
}

View file

@ -1,186 +0,0 @@
module.exports = {
'env': {
'browser': true,
'commonjs': true,
'es6': true,
'node': true,
'jquery': true
},
'parserOptions': {
'sourceType': 'module'
},
'rules': {
// 'no-alert': 0,
// 'no-array-constructor': 0,
// 'no-bitwise': 0,
// 'no-caller': 0,
// 'no-catch-shadow': 0,
// 'no-continue': 0,
// 'no-div-regex': 0,
// 'no-else-return': 0,
// 'no-eq-null': 0,
// 'no-extra-bind': 0,
// 'no-extra-parens': 0,
// 'no-floating-decimal': 0,
// 'no-implied-eval': 0,
// 'no-inline-comments': 0,
// 'no-iterator': 0,
// 'no-label-var': 0,
// 'no-labels': 0,
// 'no-lone-blocks': 0,
// 'no-lonely-if': 0,
// 'no-loop-func': 0,
// 'no-mixed-requires': [0, false],
// 'no-multi-spaces': 0,
// 'no-multiple-empty-lines': [0, {'max': 2}],
// 'no-native-reassign': 0,
// 'no-nested-ternary': 0,
// 'no-new': 0,
// 'no-new-func': 0,
// 'no-new-object': 0,
// 'no-new-require': 0,
// 'no-new-wrappers': 0,
// 'no-octal-escape': 0,
// 'no-param-reassign': 0,
// 'no-path-concat': 0,
// 'no-plusplus': 0,
// 'no-process-env': 0,
// 'no-process-exit': 0,
// 'no-proto': 0,
// 'no-restricted-modules': 0,
// 'no-return-assign': 0,
// 'no-script-url': 0,
// 'no-self-compare': 0,
// 'no-sequences': 0,
// 'no-shadow': 0,
// 'no-shadow-restricted-names': 0,
// 'no-spaced-func': 0,
// 'no-sync': 0,
// 'no-ternary': 0,
// 'no-trailing-spaces': 0,
// 'no-this-before-super': 0,
// 'no-throw-literal': 0,
// 'no-undef-init': 0,
// 'no-undefined': 0,
// 'no-unexpected-multiline': 0,
// 'no-underscore-dangle': 0,
// 'no-unneeded-ternary': 0,
// 'no-unused-expressions': 0,
// 'no-useless-call': 0,
// 'no-void': 0,
// 'no-var': 0,
// 'no-warning-comments': [0, { 'terms': ['todo', 'fixme', 'xxx'], 'location': 'start' }],
// 'no-with': 0,
// 'no-console': 0, // disallow use of console
'no-eval': 2, // disallow use of eval()
'no-extend-native': 2, // disallow adding to native types
'no-multi-str': 2, // disallow use of multiline strings
'no-use-before-define': 2, // disallow use of variables before they are defined
'no-const-assign': 2, // disallow modifying variables that are declared using const
'no-cond-assign': 2, // disallow assignment in conditional expressions
'no-constant-condition': 2, // disallow use of constant expressions in conditions
'no-control-regex': 2, // disallow control characters in regular expressions
'no-debugger': 2, // disallow use of debugger
'no-delete-var': 2, // disallow deletion of variables
'no-dupe-keys': 2, // disallow duplicate keys when creating object literals
'no-dupe-args': 2, // disallow duplicate arguments in functions
'no-duplicate-case': 2, // disallow a duplicate case label
'no-empty': 2, // disallow empty block statements
'no-empty-character-class': 2, // disallow the use of empty character classes in regular expressions
'no-ex-assign': 2, // disallow assigning to the exception in a catch block
'no-extra-boolean-cast': 2, // disallow double-negation boolean casts in a boolean context
'no-extra-semi': 2, // disallow unnecessary semicolons
'no-fallthrough': 2, // disallow fallthrough of case statements
'no-func-assign': 2, // disallow overwriting functions written as function declarations
'no-inner-declarations': [2, 'functions'], // disallow function or variable declarations in nested blocks
'no-invalid-regexp': 2, // disallow invalid regular expression strings in the RegExp constructor
'no-irregular-whitespace': 2, // disallow irregular whitespace outside of strings and comments
'no-mixed-spaces-and-tabs': [2, false], // disallow mixed spaces and tabs for indentation
'no-sparse-arrays': 2, // disallow sparse arrays
'no-negated-in-lhs': 2, // disallow negation of the left operand of an in expression
'no-obj-calls': 2, // disallow the use of object properties of the global object (Math and JSON) as functions
'no-octal': 2, // disallow use of octal literals
'no-redeclare': 2, // disallow declaring the same variable more than once
'no-regex-spaces': 2, // disallow multiple spaces in a regular expression literal
'no-undef': 2, // disallow use of undeclared variables unless mentioned in a /*global */ block
'no-unreachable': 2, // disallow unreachable statements after a return, throw, continue, or break statement
'no-unused-vars': [2, { // disallow declaration of variables that are not used in the code
'vars': 'all',
'args': 'after-used'
}],
// 'array-bracket-spacing': [0, 'never'],
// 'arrow-parens': 0,
// 'arrow-spacing': 0,
// 'accessor-pairs': 0,
// 'brace-style': [0, '1tbs'],
// 'callback-return': 0,
// 'camelcase': 0,
// 'comma-spacing': 0,
// 'comma-style': 0,
// 'complexity': [0, 11],
// 'computed-property-spacing': [0, 'never'],
// 'consistent-return': 0,
// 'consistent-this': [0, 'that'],
// 'constructor-super': 0,
// 'default-case': 0,
// 'dot-location': 0,
// 'dot-notation': [0, { 'allowKeywords': true }],
// 'eol-last': 0,
// 'func-names': 0,
// 'func-style': [0, 'declaration'],
// 'generator-star-spacing': 0,
// 'guard-for-in': 0,
// 'handle-callback-err': 0,
// 'indent': 0,
// 'init-declarations': 0,
// 'key-spacing': [0, { 'beforeColon': false, 'afterColon': true }],
// 'lines-around-comment': 0,
// 'max-depth': [0, 4],
// 'max-nested-callbacks': [0, 2],
// 'max-params': [0, 3],
// 'max-statements': [0, 10],
// 'new-parens': 0,
// 'newline-after-var': 0,
// 'object-curly-spacing': [0, 'never'],
// 'object-shorthand': 0,
// 'one-var': 0,
// 'operator-assignment': [0, 'always'],
// 'operator-linebreak': 0,
// 'padded-blocks': 0,
// 'prefer-const': 0,
// 'prefer-spread': 0,
// 'quote-props': 0,
// 'radix': 0,
// 'require-yield': 0,
// 'semi-spacing': [0, {'before': false, 'after': true}],
// 'sort-vars': 0,
// 'space-before-blocks': [0, 'always'],
// 'space-before-function-paren': [0, 'always'],
// 'space-in-parens': [0, 'never'],
// 'space-infix-ops': 0,
// 'space-unary-ops': [0, { 'words': true, 'nonwords': false }],
// 'spaced-comment': 0,
// 'strict': 0,
// 'valid-jsdoc': 0,
// 'vars-on-top': 0,
// 'wrap-regex': 0,
// 'yoda': [0, 'never'],
// 'max-len': [0, 80, 4],
// 'indent': [2, 'tab', {'SwitchCase': 1}], //specify tab or space width for your code
// 'comma-dangle': [2, 'never'], // disallow or enforce trailing commas
'wrap-iife': 2, // wrap-iife
'block-scoped-var': 2, // treat var statements as if they were block scoped
'curly': [2, 'all'], // specify curly brace conventions for all control statements
'eqeqeq': [2, 'allow-null'], // require use of === and !==
'new-cap': 2, // require a capital letter for constructors
'use-isnan': 2, // disallow comparisons with the value NaN
'valid-typeof': 2, // ensure results of typeof are compared against a valid string
'linebreak-style': [2, 'unix'], // enforce linebreak style
'quotes': [2, 'single'], // specify whether backticks, double or single quotes should be used
'semi': [2, 'always'] // require or disallow use of semicolons instead of ASI
},
'globals': {
'_' : false
}
};

View file

@ -1 +0,0 @@
node_modules/**

View file

@ -1,86 +0,0 @@
{
"maxerr" : 50, // {int} Maximum error before stopping
// Enforcing
"bitwise" : true, // 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" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"indent" : 2, // {int} Number of spaces to use for indentation
"latedef" : false, // 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" : false, // true: Prohibit use of constructors for side-effects (without assignment)
"plusplus" : false, // true: Prohibit use of `++` & `--`
"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" : true, // true: Require all defined variables be used
"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
// 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`
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
"esnext" : true, // true: Allow ES.next (ES6) syntax (ex: `const`)
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
// (ex: `for each`, multiple try/catch, function expression…)
"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" : false, // 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)
"browserify" : false, // Browserify (node.js code in the browser)
"couch" : false, // CouchDB
"devel" : false, // Development/debugging (alert, confirm, etc)
"dojo" : false, // Dojo Toolkit
"jasmine" : false, // Jasmine
"jquery" : false, // jQuery
"mocha" : false, // Mocha
"mootools" : false, // MooTools
"node" : true, // Node.js
"nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
"prototypejs" : false, // Prototype and Scriptaculous
"qunit" : false, // QUnit
"rhino" : false, // Rhino
"shelljs" : false, // ShellJS
"worker" : false, // Web Workers
"wsh" : false, // Windows Scripting Host
"yui" : false, // Yahoo User Interface
// Custom Globals
"globals" : {
"Promise" : true // Avoid "redefinition of Promise" warning
}
}

74
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,74 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at team@rocket.chat . The project team
will review and investigate all complaints, and will respond in a way that it deems
appropriate to the circumstances. The project team is obligated to maintain
confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

7
SECURITY.md Normal file
View file

@ -0,0 +1,7 @@
# Reporting Security Issues
Please report any security issues you discovered to security[at]rocket[dot]chat
We will assess the risk, plus make a fix available before we create a GitHub issue.
Thank you for your contribution.

View file

@ -13,7 +13,7 @@
"ffi": "^2.1.0",
"electron-notification-shim": "^1.1.0",
"electron-toaster": "^2.0.2",
"fs-jetpack": "^0.7.0",
"fs-jetpack": "^0.10.5",
"spellchecker": "3.3.1"
},
"packageNameTemplate": "{{name}}-v{{version}}-{{platform}}-{{arch}}",