mirror of
https://github.com/OneUptime/oneuptime
synced 2024-11-22 07:10:53 +00:00
48e3c24c6e
This commit updates the import statement for jest in the setupTest.js file. The previous import statement used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
206 lines
6.3 KiB
JavaScript
206 lines
6.3 KiB
JavaScript
// @ts-check
|
|
|
|
import eslint from "@eslint/js";
|
|
import tseslint from "typescript-eslint";
|
|
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
|
|
import globals from "globals";
|
|
import unusedImports from "eslint-plugin-unused-imports";
|
|
import react from "eslint-plugin-react";
|
|
|
|
export default tseslint.config(
|
|
{
|
|
ignores: [
|
|
"**/node_modules/",
|
|
"**/dist/",
|
|
"**/build/",
|
|
"**/assets/",
|
|
"**/out/",
|
|
"**/coverage/",
|
|
"**/lib/",
|
|
"**/esm/",
|
|
"**/cjs/",
|
|
"**/playwright-report/",
|
|
"**/playwright-coverage/",
|
|
"**/playwright-screenshots/",
|
|
"**/playwright-videos",
|
|
"**/webpack.config.js", // TODO: Remove this ignore
|
|
"**/service-worker.js", // TODO: Remove this ignore
|
|
"**/Static/", // TODO: Remove this ignore
|
|
],
|
|
},
|
|
eslint.configs.recommended,
|
|
...tseslint.configs.recommended, // TODO: make this strict and not recommended
|
|
eslintPluginPrettierRecommended,
|
|
{
|
|
plugins: {
|
|
"unused-imports": unusedImports,
|
|
react: react,
|
|
},
|
|
|
|
rules: {
|
|
"no-control-regex": "off", // TODO: Remove this rule
|
|
"@typescript-eslint/no-explicit-any": "off", // TODO: Remove this rule
|
|
"@typescript-eslint/no-var-requires": "off", // TODO: Remove this rule
|
|
"@typescript-eslint/no-duplicate-enum-values": "off", // TODO: Remove this rule
|
|
"no-constant-binary-expression": "off", // TODO: Remove this rule
|
|
"@typescript-eslint/ban-ts-comment": "off", // TODO: Remove this rule
|
|
"multiline-comment-style": "off", // TODO: Remove this rule
|
|
"no-fallthrough": "error",
|
|
"no-unreachable": "error",
|
|
"no-cond-assign": "error",
|
|
"valid-typeof": "error",
|
|
"no-func-assign": "error",
|
|
curly: "error",
|
|
"no-extra-semi": "error",
|
|
"no-else-return": "error",
|
|
"no-div-regex": "error",
|
|
"no-octal": "error",
|
|
"no-extra-bind": "error",
|
|
"unicode-bom": "error",
|
|
"no-extra-boolean-cast": "error",
|
|
"wrap-regex": "error",
|
|
"wrap-iife": "error",
|
|
"yield-star-spacing": "error",
|
|
"no-implicit-coercion": "error",
|
|
"no-extra-label": "error",
|
|
|
|
"no-lonely-if": "error",
|
|
"no-floating-decimal": "error",
|
|
eqeqeq: "error",
|
|
"dot-notation": "off", // Off because it messes up with typescript compiler.
|
|
"@typescript-eslint/dot-notation": "off", //temp off.
|
|
"linebreak-style": ["error", "unix"],
|
|
"@typescript-eslint/no-empty-interface": [
|
|
"error",
|
|
{
|
|
allowSingleExtends: true,
|
|
},
|
|
],
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
argsIgnorePattern: "^_",
|
|
},
|
|
],
|
|
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
|
"@typescript-eslint/no-floating-promises": "error",
|
|
"@typescript-eslint/await-thenable": "error",
|
|
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
|
|
"unused-imports/no-unused-imports": "error",
|
|
"unused-imports/no-unused-vars": [
|
|
"error",
|
|
{
|
|
vars: "all",
|
|
varsIgnorePattern: "^_",
|
|
args: "after-used",
|
|
argsIgnorePattern: "^_",
|
|
},
|
|
],
|
|
"@typescript-eslint/explicit-member-accessibility": ["error"],
|
|
"no-console": "error",
|
|
"no-undef": "error",
|
|
"no-empty": "error",
|
|
"prefer-arrow-callback": "error",
|
|
"constructor-super": "error",
|
|
"no-case-declarations": "error",
|
|
"no-mixed-spaces-and-tabs": "error",
|
|
"no-useless-escape": "error",
|
|
"prettier/prettier": "error",
|
|
"react/jsx-no-undef": "error",
|
|
"react/jsx-no-bind": [
|
|
"error",
|
|
{
|
|
allowArrowFunctions: true,
|
|
allowBind: false,
|
|
ignoreRefs: false,
|
|
},
|
|
],
|
|
"react/no-children-prop": "error",
|
|
"react/no-deprecated": "error",
|
|
"react/boolean-prop-naming": "error",
|
|
"react/no-is-mounted": "error",
|
|
"react/no-find-dom-node": "error",
|
|
"one-var-declaration-per-line": "error",
|
|
"arrow-parens": "error",
|
|
"arrow-body-style": ["error", "always"],
|
|
"@typescript-eslint/typedef": [
|
|
"error",
|
|
{
|
|
arrowParameter: true,
|
|
variableDeclaration: true,
|
|
},
|
|
],
|
|
"@typescript-eslint/strict-boolean-expressions": "off", //Need to enable this very soon
|
|
"@typescript-eslint/explicit-function-return-type": [
|
|
"error",
|
|
{
|
|
allowExpressions: true,
|
|
},
|
|
],
|
|
"react/no-did-update-set-state": "error",
|
|
"react/no-unknown-property": "error",
|
|
"react/no-unused-prop-types": "error",
|
|
"react/jsx-no-duplicate-props": "error",
|
|
"react/no-unused-state": "error",
|
|
"react/jsx-uses-vars": "error",
|
|
"react/prop-types": "error",
|
|
"react/react-in-jsx-scope": "error",
|
|
"react/no-string-refs": "error",
|
|
"jsx-a11y/href-no-hash": [0],
|
|
"react/no-unescaped-entities": "error",
|
|
"react/display-name": "error",
|
|
"react/jsx-pascal-case": "error",
|
|
"array-callback-return": "error",
|
|
"no-loop-func": "error",
|
|
"no-duplicate-imports": "error",
|
|
"no-promise-executor-return": "error",
|
|
"capitalized-comments": "off", // this is turned off because come commented code should not be capitalized.
|
|
"for-direction": "error",
|
|
"getter-return": "error",
|
|
"no-async-promise-executor": "error",
|
|
"prefer-const": [
|
|
"error",
|
|
{
|
|
destructuring: "any",
|
|
ignoreReadBeforeAssign: false,
|
|
},
|
|
],
|
|
"no-var": "error",
|
|
"object-curly-spacing": ["error", "always"],
|
|
"no-unneeded-ternary": "error",
|
|
"@typescript-eslint/ban-types": [
|
|
"error",
|
|
{
|
|
types: {
|
|
String: true,
|
|
Boolean: true,
|
|
Number: true,
|
|
Symbol: false,
|
|
"{}": true,
|
|
Object: true,
|
|
object: true,
|
|
Function: true,
|
|
},
|
|
extendDefaults: true,
|
|
},
|
|
],
|
|
},
|
|
settings: {
|
|
react: {
|
|
version: "18.1.0",
|
|
},
|
|
},
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.node,
|
|
JSX: true,
|
|
},
|
|
parserOptions: {
|
|
project: ["./tsconfig.json"], // Specify it only for TypeScript files
|
|
// or `project: true` in typescript-eslint version >= 5.52.0
|
|
},
|
|
},
|
|
},
|
|
);
|