-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.neutrinorc.js
75 lines (74 loc) · 2.58 KB
/
.neutrinorc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const airbnbBase = require('@neutrinojs/airbnb-base');
const library = require('@neutrinojs/library');
const jest = require('@neutrinojs/jest');
const typescript = require('neutrinojs-typescript');
const typescriptLint = require('neutrinojs-typescript-eslint');
module.exports = {
options: {
root: __dirname,
tests: 'src',
},
use: [
typescript({ tsconfig: {
compilerOptions: {
strict: true,
declaration: true,
},
} }),
typescriptLint(),
airbnbBase({
eslint: {
rules: {
'arrow-parens': ['error', 'always'],
'operator-linebreak': ['error', 'after'],
'object-curly-newline': ['error', {
'multiline': true,
'consistent': true,
'minProperties': 5,
}],
'function-paren-newline': ['off'],
'@typescript-eslint/indent': ['error', 2],
'@typescript-eslint/await-thenable': ['error'],
'@typescript-eslint/member-ordering': ['error'],
'@typescript-eslint/no-for-in-array': ['error'],
'@typescript-eslint/no-require-imports': ['error'],
'@typescript-eslint/no-this-alias': ['error'],
'@typescript-eslint/no-unnecessary-qualifier': ['error'],
'@typescript-eslint/no-unnecessary-type-assertion': ['error'],
'@typescript-eslint/prefer-function-type': ['error'],
'@typescript-eslint/prefer-includes': ['error'],
'@typescript-eslint/prefer-regexp-exec': ['error'],
'@typescript-eslint/prefer-string-starts-ends-with': ['error'],
'@typescript-eslint/require-array-sort-compare': ['error', { ignoreStringArrays: true }],
'@typescript-eslint/restrict-plus-operands': ['error'],
'@typescript-eslint/unbound-method': ['error'],
'@typescript-eslint/explicit-function-return-type': ['error', {
'allowTypedFunctionExpressions': true,
'allowHigherOrderFunctions': true,
}],
'@typescript-eslint/no-parameter-properties': ['error', {
'allows': ['private readonly', 'protected readonly'],
}],
'@typescript-eslint/no-non-null-assertion': ['off'],
'@typescript-eslint/no-explicit-any': ['off'],
'jest/expect-expect': ['off'],
},
},
}),
library({
name: 'authentication-backend',
target: 'node',
babel: {
presets: [
['@babel/preset-env', {
useBuiltIns: false,
targets: {
node: '10.15',
},
}],
],
},
}),
jest()
]
};