| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // this file was auto-generated, do not edit it directly.
- // instead run bin/update_build_scripts from
- // https://github.com/sharelatex/sharelatex-dev-environment
- {
- "extends": [
- "eslint:recommended",
- "standard",
- "prettier"
- ],
- "parserOptions": {
- "ecmaVersion": 2018
- },
- "plugins": [
- "mocha",
- "chai-expect",
- "chai-friendly"
- ],
- "env": {
- "node": true,
- "mocha": true
- },
- "rules": {
- // TODO(das7pad): remove overrides after fixing all the violations manually (https://github.com/overleaf/issues/issues/3882#issuecomment-878999671)
- // START of temporary overrides
- "array-callback-return": "off",
- "no-dupe-else-if": "off",
- "no-var": "off",
- "no-empty": "off",
- "node/handle-callback-err": "off",
- "no-loss-of-precision": "off",
- "node/no-callback-literal": "off",
- "node/no-path-concat": "off",
- "prefer-regex-literals": "off",
- // END of temporary overrides
- // Swap the no-unused-expressions rule with a more chai-friendly one
- "no-unused-expressions": 0,
- "chai-friendly/no-unused-expressions": "error",
- // Do not allow importing of implicit dependencies.
- "import/no-extraneous-dependencies": "error"
- },
- "overrides": [
- {
- // Test specific rules
- "files": ["test/**/*.js"],
- "globals": {
- "expect": true
- },
- "rules": {
- // mocha-specific rules
- "mocha/handle-done-callback": "error",
- "mocha/no-exclusive-tests": "error",
- "mocha/no-global-tests": "error",
- "mocha/no-identical-title": "error",
- "mocha/no-nested-tests": "error",
- "mocha/no-pending-tests": "error",
- "mocha/no-skipped-tests": "error",
- "mocha/no-mocha-arrows": "error",
- // chai-specific rules
- "chai-expect/missing-assertion": "error",
- "chai-expect/terminating-properties": "error",
- // prefer-arrow-callback applies to all callbacks, not just ones in mocha tests.
- // we don't enforce this at the top-level - just in tests to manage `this` scope
- // based on mocha's context mechanism
- "mocha/prefer-arrow-callback": "error"
- }
- },
- {
- // Backend specific rules
- "files": ["app/**/*.js", "app.js", "index.js"],
- "rules": {
- // don't allow console.log in backend code
- "no-console": "error",
- // Do not allow importing of implicit dependencies.
- "import/no-extraneous-dependencies": ["error", {
- // Do not allow importing of devDependencies.
- "devDependencies": false
- }]
- }
- }
- ]
- }
|