{
    "name": "@open-cluster-management/console-frontend",
    "version": "0.0.1",
    "private": true,
    "homepage": "/multicloud/",
    "proxy": "https://localhost:4000",
    "dependencies": {
        "@kubernetes/client-node": "^0.15.0",
        "@open-cluster-management/ui-components": "^0.180.0",
        "@patternfly/react-core": "^4.135.5",
        "@patternfly/react-table": "^4.29.5",
        "@redhat-cloud-services/rule-components": "^3.2.1",
        "@types/lodash": "^4.14.170",
        "@types/moment": "^2.13.0",
        "@types/react": "^17.0.13",
        "@types/react-dom": "^17.0.8",
        "@types/react-router-dom": "^5.1.7",
        "@types/yaml": "^1.9.7",
        "eslint-plugin-react": "^7.24.0",
        "handlebars": "^4.7.7",
        "handlebars-loader": "^1.6.0",
        "i18next": "^20.3.2",
        "i18next-browser-languagedetector": "^6.1.2",
        "i18next-http-backend": "^1.2.6",
        "lodash": "^4.17.21",
        "moment": "^2.29.1",
        "monaco-editor": "^0.20.0",
        "monaco-editor-webpack-plugin": "^1.9.0",
        "react": "^17.0.2",
        "react-app-rewired": "^2.1.8",
        "react-dom": "^17.0.2",
        "react-i18next": "^11.11.1",
        "react-monaco-editor": "0.36.0",
        "react-router-dom": "^5.2.0",
        "react-scripts": "4.0.3",
        "recoil": "^0.3.1",
        "temptifly": "^0.3.60",
        "typescript": "^4.2.4",
        "yaml": "^1.10.2"
    },
    "devDependencies": {
        "@testing-library/jest-dom": "^5.14.1",
        "@testing-library/react": "^11.2.7",
        "@testing-library/user-event": "^12.8.3",
        "@types/get-value": "^3.0.1",
        "@types/jest": "^26.0.23",
        "@types/node": "^14.17.4",
        "babel-jest": "^26.6.3",
        "jest-environment-jsdom-sixteen": "^1.0.3",
        "jest-sonar-reporter": "^2.0.0",
        "nock": "^13.1.1",
        "prettier": "^2.3.2",
        "ts-jest": "^26.5.6"
    },
    "scripts": {
        "start": "react-app-rewired start",
        "build": "react-app-rewired build && cd build && gzip * -k -r --best",
        "test": "react-app-rewired test --all --watchAll=false --ci --runInBand --coverage --reporters=default --coverageReporters=lcov --coverageReporters=html --coverageReporters=text --coverageReporters=text-summary --collectCoverageFrom=!**/*.d.ts --env=jest-environment-jsdom-sixteen --testResultsProcessor jest-sonar-reporter",
        "test:watch": "react-app-rewired test",
        "lint": "eslint src --ext .ts,.tsx --max-warnings=0",
        "lint:fix": "eslint src --ext .ts,.tsx --fix",
        "check": "prettier --check src",
        "check:fix": "prettier --write src",
        "update": "rm -rf package-lock.json node_modules && npx npm-check-updates -u -t minor && npm install && npm audit fix && npm dedup && npm test && npm run lint:fix && npm run lint && npm run check:fix",
        "clean": "rm -rf coverage build"
    },
    "eslintConfig": {
        "extends": [
            "react-app",
            "eslint:recommended",
            "plugin:@typescript-eslint/recommended",
            "plugin:jest/recommended"
        ],
        "plugins": [
            "react",
            "@typescript-eslint",
            "jest"
        ],
        "parser": "@typescript-eslint/parser",
        "parserOptions": {
            "project": "./tsconfig.json"
        },
        "rules": {
            "@typescript-eslint/no-non-null-assertion": "off",
            "react/react-in-jsx-scope": "off",
            "@typescript-eslint/explicit-module-boundary-types": "off",
            "jest/expect-expect": "off",
            "@typescript-eslint/no-floating-promises": [
                "off",
                {
                    "ignoreVoid": true
                }
            ],
            "@typescript-eslint/no-misused-promises": [
                "error",
                {
                    "checksVoidReturn": false
                }
            ],
            "@typescript-eslint/no-non-null-asserted-optional-chain": "off",
            "jest/no-disabled-tests": "off",
            "no-async-promise-executor": "off",
            "@typescript-eslint/no-explicit-any": "off",
            "@typescript-eslint/no-empty-function": "off",
            "jest/no-identical-title": "off",
            "@typescript-eslint/ban-types": "off",
            "no-empty": "off",
            "no-constant-condition": "off",
            "jest/no-export": "off",
            "@typescript-eslint/no-extra-semi": "off"
        }
    },
    "browserslist": {
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ],
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ]
    },
    "jest": {
        "collectCoverageFrom": [
            "src/**/*.{ts,tsx}",
            "!src/**/*.d.ts",
            "!<rootDir>/node_modules/"
        ],
        "coverageThreshold": {
            "global": {
                "branches": 0,
                "functions": 0,
                "lines": 0,
                "statements": 0
            }
        },
        "coverageReporters": [
            "text",
            "text-summary",
            "html",
            "lcov"
        ],
        "moduleNameMapper": {
            "monaco-editor": "<rootDir>/node_modules/react-monaco-editor"
        },
        "watchPathIgnorePatterns": [
            "node_modules",
            "coverage"
        ]
    },
    "prettier": {
        "printWidth": 120,
        "tabWidth": 4,
        "semi": false,
        "singleQuote": true
    }
}
