16e80583aSopenharmony_ci{
26e80583aSopenharmony_ci    "env": {
36e80583aSopenharmony_ci        "es2017": true,
46e80583aSopenharmony_ci        "node": true
56e80583aSopenharmony_ci    },
66e80583aSopenharmony_ci    "extends": [],
76e80583aSopenharmony_ci    "parser": "@typescript-eslint/parser",
86e80583aSopenharmony_ci    "parserOptions": {
96e80583aSopenharmony_ci        "ecmaVersion": "latest",
106e80583aSopenharmony_ci        "sourceType": "module",
116e80583aSopenharmony_ci        "project": "tsconfig.json"
126e80583aSopenharmony_ci    },
136e80583aSopenharmony_ci    "plugins": [
146e80583aSopenharmony_ci        "@typescript-eslint"
156e80583aSopenharmony_ci    ],
166e80583aSopenharmony_ci    "rules": {
176e80583aSopenharmony_ci        "indent": [
186e80583aSopenharmony_ci            "error",
196e80583aSopenharmony_ci            2
206e80583aSopenharmony_ci        ],
216e80583aSopenharmony_ci        "quotes": [
226e80583aSopenharmony_ci            "error",
236e80583aSopenharmony_ci            "single"
246e80583aSopenharmony_ci        ],
256e80583aSopenharmony_ci        "semi": [
266e80583aSopenharmony_ci            "error",
276e80583aSopenharmony_ci            "always"
286e80583aSopenharmony_ci        ],
296e80583aSopenharmony_ci        "max-lines": [
306e80583aSopenharmony_ci            "warn", 2000
316e80583aSopenharmony_ci        ],
326e80583aSopenharmony_ci        "max-lines-per-function": [
336e80583aSopenharmony_ci            "warn", 50
346e80583aSopenharmony_ci        ],
356e80583aSopenharmony_ci        "complexity": [
366e80583aSopenharmony_ci            "warn", 20
376e80583aSopenharmony_ci        ],
386e80583aSopenharmony_ci        "max-depth": [
396e80583aSopenharmony_ci            "warn", 4
406e80583aSopenharmony_ci        ],
416e80583aSopenharmony_ci        "@typescript-eslint/array-type": [
426e80583aSopenharmony_ci            "error",
436e80583aSopenharmony_ci            {
446e80583aSopenharmony_ci                "options":
456e80583aSopenharmony_ci                "array"
466e80583aSopenharmony_ci            }
476e80583aSopenharmony_ci        ],
486e80583aSopenharmony_ci        "@typescript-eslint/prefer-as-const": [
496e80583aSopenharmony_ci            "error"
506e80583aSopenharmony_ci        ],
516e80583aSopenharmony_ci        "@typescript-eslint/no-inferrable-types": [
526e80583aSopenharmony_ci            "error",
536e80583aSopenharmony_ci            {
546e80583aSopenharmony_ci                "ignoreParameters": false,
556e80583aSopenharmony_ci                "ignoreProperties": false
566e80583aSopenharmony_ci              }
576e80583aSopenharmony_ci        ],
586e80583aSopenharmony_ci
596e80583aSopenharmony_ci        "@typescript-eslint/method-signature-style": ["error", "method"],
606e80583aSopenharmony_ci        "@typescript-eslint/naming-convention": [ "error",
616e80583aSopenharmony_ci            {
626e80583aSopenharmony_ci              "selector": "default",
636e80583aSopenharmony_ci              "format": [ "camelCase" ],
646e80583aSopenharmony_ci              "leadingUnderscore": "forbid",
656e80583aSopenharmony_ci              "trailingUnderscore": "forbid"
666e80583aSopenharmony_ci            },
676e80583aSopenharmony_ci            {
686e80583aSopenharmony_ci              "selector": "variable",
696e80583aSopenharmony_ci              "modifiers": ["const"],
706e80583aSopenharmony_ci              "format": [ "camelCase", "UPPER_CASE" ],
716e80583aSopenharmony_ci              "leadingUnderscore": "forbid",
726e80583aSopenharmony_ci              "trailingUnderscore": "forbid"
736e80583aSopenharmony_ci            },
746e80583aSopenharmony_ci            {
756e80583aSopenharmony_ci              "selector": "memberLike",
766e80583aSopenharmony_ci              "modifiers": ["static", "readonly"],
776e80583aSopenharmony_ci              "format": [ "UPPER_CASE" ],
786e80583aSopenharmony_ci              "leadingUnderscore": "forbid",
796e80583aSopenharmony_ci              "trailingUnderscore": "forbid"
806e80583aSopenharmony_ci            },
816e80583aSopenharmony_ci            {
826e80583aSopenharmony_ci              "selector": "typeLike",
836e80583aSopenharmony_ci              "format": [ "PascalCase" ]
846e80583aSopenharmony_ci            }
856e80583aSopenharmony_ci        ],
866e80583aSopenharmony_ci        "@typescript-eslint/no-base-to-string": [
876e80583aSopenharmony_ci            "error",
886e80583aSopenharmony_ci            {
896e80583aSopenharmony_ci                "ignoredTypeNames": ["RegExp"]
906e80583aSopenharmony_ci            }
916e80583aSopenharmony_ci        ],
926e80583aSopenharmony_ci        "@typescript-eslint/no-confusing-non-null-assertion": ["error"],
936e80583aSopenharmony_ci        "@typescript-eslint/no-dynamic-delete": ["error"],
946e80583aSopenharmony_ci        "@typescript-eslint/no-empty-interface": ["error"],
956e80583aSopenharmony_ci        "@typescript-eslint/no-explicit-any": [ 
966e80583aSopenharmony_ci            "error", 
976e80583aSopenharmony_ci            {
986e80583aSopenharmony_ci                "fixToUnknown": false,
996e80583aSopenharmony_ci                "ignoreRestArgs": false
1006e80583aSopenharmony_ci            }
1016e80583aSopenharmony_ci        ],
1026e80583aSopenharmony_ci        "@typescript-eslint/no-extra-non-null-assertion": ["error"],
1036e80583aSopenharmony_ci        "@typescript-eslint/no-floating-promises": [ 
1046e80583aSopenharmony_ci			"error", 
1056e80583aSopenharmony_ci			{
1066e80583aSopenharmony_ci				"ignoreVoid": true,
1076e80583aSopenharmony_ci				"ignoreIIFE": false
1086e80583aSopenharmony_ci			}
1096e80583aSopenharmony_ci		],
1106e80583aSopenharmony_ci        "@typescript-eslint/no-for-in-array": ["error"],
1116e80583aSopenharmony_ci        "@typescript-eslint/no-meaningless-void-operator": [
1126e80583aSopenharmony_ci			"error",
1136e80583aSopenharmony_ci			{
1146e80583aSopenharmony_ci				"checkNever": false
1156e80583aSopenharmony_ci			}
1166e80583aSopenharmony_ci		],
1176e80583aSopenharmony_ci
1186e80583aSopenharmony_ci        "@typescript-eslint/no-invalid-void-type": [
1196e80583aSopenharmony_ci            "error", 
1206e80583aSopenharmony_ci            {
1216e80583aSopenharmony_ci                "allowInGenericTypeArguments": true,
1226e80583aSopenharmony_ci                "allowAsThisParameter": false
1236e80583aSopenharmony_ci            }
1246e80583aSopenharmony_ci        ],
1256e80583aSopenharmony_ci        "@typescript-eslint/prefer-readonly": ["error"],
1266e80583aSopenharmony_ci        "@typescript-eslint/prefer-string-starts-ends-with": ["error"],
1276e80583aSopenharmony_ci        "@typescript-eslint/prefer-ts-expect-error": ["error"],
1286e80583aSopenharmony_ci        "@typescript-eslint/promise-function-async": ["error"],
1296e80583aSopenharmony_ci        "@typescript-eslint/require-array-sort-compare": ["error"],
1306e80583aSopenharmony_ci        "@typescript-eslint/restrict-plus-operands": ["error"],
1316e80583aSopenharmony_ci        "@typescript-eslint/restrict-template-expressions": ["error"],
1326e80583aSopenharmony_ci        "@typescript-eslint/strict-boolean-expressions": ["error"],
1336e80583aSopenharmony_ci        "@typescript-eslint/triple-slash-reference": ["error"],
1346e80583aSopenharmony_ci        "@typescript-eslint/type-annotation-spacing": ["error"],
1356e80583aSopenharmony_ci        "@typescript-eslint/unbound-method": ["error"],
1366e80583aSopenharmony_ci        "@typescript-eslint/unified-signatures": ["error"],
1376e80583aSopenharmony_ci        "@typescript-eslint/no-unsafe-argument":["error"],
1386e80583aSopenharmony_ci        "@typescript-eslint/no-unsafe-assignment":["error"],
1396e80583aSopenharmony_ci        "@typescript-eslint/no-unsafe-call":["error"],
1406e80583aSopenharmony_ci        "@typescript-eslint/no-unsafe-member-access":["error"],
1416e80583aSopenharmony_ci        "@typescript-eslint/no-unsafe-return":["error"],
1426e80583aSopenharmony_ci        "@typescript-eslint/no-var-requires":["error"],
1436e80583aSopenharmony_ci        "@typescript-eslint/non-nullable-type-assertion-style":["error"],
1446e80583aSopenharmony_ci        "@typescript-eslint/prefer-for-of":["error"],
1456e80583aSopenharmony_ci        "@typescript-eslint/prefer-literal-enum-member":["error"],
1466e80583aSopenharmony_ci        "@typescript-eslint/prefer-optional-chain":["error"],
1476e80583aSopenharmony_ci        "@typescript-eslint/no-misused-new": ["error"],
1486e80583aSopenharmony_ci        "@typescript-eslint/no-misused-promises": [
1496e80583aSopenharmony_ci            "error",
1506e80583aSopenharmony_ci            {
1516e80583aSopenharmony_ci                "checksConditionals": true,
1526e80583aSopenharmony_ci                "checksVoidReturn": true
1536e80583aSopenharmony_ci            }
1546e80583aSopenharmony_ci        ],
1556e80583aSopenharmony_ci        "@typescript-eslint/no-namespace": [
1566e80583aSopenharmony_ci            "error",
1576e80583aSopenharmony_ci            {
1586e80583aSopenharmony_ci                "allowDeclarations": false,
1596e80583aSopenharmony_ci                "allowDefinitionFiles": true
1606e80583aSopenharmony_ci            }
1616e80583aSopenharmony_ci        ],
1626e80583aSopenharmony_ci        "@typescript-eslint/no-non-null-asserted-nullish-coalescing":["error"],
1636e80583aSopenharmony_ci        "@typescript-eslint/no-non-null-asserted-optional-chain":["error"],
1646e80583aSopenharmony_ci        "@typescript-eslint/no-non-null-assertion":["error"],
1656e80583aSopenharmony_ci        "@typescript-eslint/no-parameter-properties":["error"],
1666e80583aSopenharmony_ci        "@typescript-eslint/no-require-imports":["error"],
1676e80583aSopenharmony_ci        "@typescript-eslint/no-this-alias":["error"],
1686e80583aSopenharmony_ci        "@typescript-eslint/no-type-alias":["error"],
1696e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-boolean-literal-compare":["error"],
1706e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-condition":["error"],
1716e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-qualifier":["error"],
1726e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-type-arguments":["error"],
1736e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-type-assertion":["error"],
1746e80583aSopenharmony_ci        "@typescript-eslint/no-unnecessary-type-constraint":["error"],
1756e80583aSopenharmony_ci        "@typescript-eslint/adjacent-overload-signatures": ["error"],
1766e80583aSopenharmony_ci        "@typescript-eslint/await-thenable": ["error"],
1776e80583aSopenharmony_ci        "@typescript-eslint/ban-ts-comment":[
1786e80583aSopenharmony_ci            "error",
1796e80583aSopenharmony_ci            {
1806e80583aSopenharmony_ci                "ts-expect-error": true,
1816e80583aSopenharmony_ci                "ts-ignore": true,
1826e80583aSopenharmony_ci                "ts-nocheck": true,
1836e80583aSopenharmony_ci                "ts-check": true
1846e80583aSopenharmony_ci            }
1856e80583aSopenharmony_ci        ],
1866e80583aSopenharmony_ci        "@typescript-eslint/ban-tslint-comment": "error",
1876e80583aSopenharmony_ci        "@typescript-eslint/ban-types": [
1886e80583aSopenharmony_ci            "error",
1896e80583aSopenharmony_ci            {
1906e80583aSopenharmony_ci                "types": {
1916e80583aSopenharmony_ci                    "Array": {
1926e80583aSopenharmony_ci                        "message": "Use [] instead",
1936e80583aSopenharmony_ci                        "fixWith": "[]"
1946e80583aSopenharmony_ci                    },
1956e80583aSopenharmony_ci                    "Boolean": {
1966e80583aSopenharmony_ci                        "message": "Use boolean instead",
1976e80583aSopenharmony_ci                        "fixWith": "boolean"
1986e80583aSopenharmony_ci                    },
1996e80583aSopenharmony_ci                    "Number": {
2006e80583aSopenharmony_ci                        "message": "Use number instead",
2016e80583aSopenharmony_ci                        "fixWith": "number"
2026e80583aSopenharmony_ci                    },
2036e80583aSopenharmony_ci                    "function": "Do not use Function",
2046e80583aSopenharmony_ci                    "String": {
2056e80583aSopenharmony_ci                        "message": "Use string instead",
2066e80583aSopenharmony_ci                        "fixWith": "string"
2076e80583aSopenharmony_ci                    },
2086e80583aSopenharmony_ci                    "{}": {
2096e80583aSopenharmony_ci                        "message": "Use object instead",
2106e80583aSopenharmony_ci                        "fixWith": "object"
2116e80583aSopenharmony_ci                    }
2126e80583aSopenharmony_ci                }
2136e80583aSopenharmony_ci            }
2146e80583aSopenharmony_ci        ],
2156e80583aSopenharmony_ci        "@typescript-eslint/consistent-indexed-object-style": [ "error", "record" ],
2166e80583aSopenharmony_ci        "@typescript-eslint/explicit-function-return-type": [
2176e80583aSopenharmony_ci            "error",
2186e80583aSopenharmony_ci            {
2196e80583aSopenharmony_ci                "allowExpressions": true,
2206e80583aSopenharmony_ci                "allowTypedFunctionExpressions": true,
2216e80583aSopenharmony_ci                "allowHigherOrderFunctions": false,
2226e80583aSopenharmony_ci                "allowDirectConstAssertionInArrowFunctions": false,
2236e80583aSopenharmony_ci                "allowConciseArrowFunctionExpressionsStartingWithVoid": false
2246e80583aSopenharmony_ci            }
2256e80583aSopenharmony_ci        ],
2266e80583aSopenharmony_ci        "@typescript-eslint/explicit-member-accessibility": [
2276e80583aSopenharmony_ci            "error",
2286e80583aSopenharmony_ci            {
2296e80583aSopenharmony_ci                "accessibility": "no-public"
2306e80583aSopenharmony_ci            }
2316e80583aSopenharmony_ci        ]
2326e80583aSopenharmony_ci    }
2336e80583aSopenharmony_ci}