{
    "name": "tj-ui-components",
    "version": "1.1.0",
    "description": "UI component library for open cluster management",
    "license": "Apache-2.0",
    "main": "lib/index.js",
    "types": "lib/index.d.ts",
    "files": [
        "lib"
    ],
    "scripts": {
        "build": "tsc && cp -R src/assets lib/ && copyfiles -u 1 src/**/*.css lib",
        "build:storybook": "cross-env NODE_ENV=production build-storybook --quiet",
        "lint": "npm run eslint",
        "eslint": "eslint --ext ts,tsx,js,jsx ./src --max-warnings=0",
        "eslint:fix": "eslint --ext ts,tsx,js,jsx ./src --fix",
        "check": "npm run prettier",
        "prettier": "prettier --check src",
        "prettier:fix": "prettier --write src",
        "start": "start-storybook -p 9000",
        "test": "npm run jest && npm run eslint && npm run prettier",
        "jest": "jest"
    },
    "repository": {
        "type": "git",
        "url": "git+https://github.com/open-cluster-management/ui-components.git"
    },
    "dependencies": {
        "@material-ui/core": "^4.11.4",
        "@material-ui/styles": "^4.11.4",
        "@patternfly/react-charts": "^6.15.3",
        "@patternfly/react-core": "^4.135.0",
        "@patternfly/react-table": "^4.29.0",
        "@react-hook/resize-observer": "^1.2.2",
        "fuse.js": "^6.4.6",
        "get-value": "^3.0.1",
        "isomorphic-fetch": "^3.0.0",
        "moment": "^2.29.1",
        "nock": "^13.1.0",
        "react-router-dom": "^5.2.0",
        "react-tag-autocomplete": "6.1.0"
    },
    "devDependencies": {
        "@babel/core": "^7.14.6",
        "@babel/preset-env": "^7.14.7",
        "@babel/preset-react": "^7.14.5",
        "@material-ui/styles": "^4.11.4",
        "@storybook/addon-a11y": "^6.3.0",
        "@storybook/addon-essentials": "^6.3.0",
        "@storybook/addon-storysource": "^6.3.0",
        "@storybook/react": "^6.3.0",
        "@testing-library/jest-dom": "^5.14.1",
        "@testing-library/react": "^12.0.0",
        "@testing-library/user-event": "^13.1.9",
        "@types/get-value": "^3.0.1",
        "@types/jest": "^26.0.23",
        "@types/jest-axe": "^3.5.1",
        "@types/react": "^17.0.11",
        "@types/react-dom": "^17.0.8",
        "@types/react-router-dom": "^5.1.7",
        "@typescript-eslint/eslint-plugin": "^4.28.0",
        "@typescript-eslint/parser": "^4.28.0",
        "babel-jest": "^27.0.5",
        "babel-loader": "^8.2.2",
        "copyfiles": "^2.4.1",
        "core-js": "^3.15.1",
        "cross-env": "^7.0.3",
        "css-loader": "^5.2.6",
        "eslint": "^7.29.0",
        "eslint-config-prettier": "^8.3.0",
        "eslint-plugin-prettier": "^3.4.0",
        "eslint-plugin-react": "^7.24.0",
        "jest": "^27.0.5",
        "jest-axe": "^5.0.1",
        "jest-sonar-reporter": "^2.0.0",
        "prettier": "^2.3.1",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "sass": "^1.35.1",
        "sass-loader": "^12.1.0",
        "style-loader": "^2.0.0",
        "ts-jest": "^27.0.3",
        "ts-loader": "^8.3.0",
        "typescript": "4.2.4"
    },
    "peerDependencies": {
        "react": "^17.0.2",
        "react-dom": "^17.0.2"
    },
    "eslintConfig": {
        "env": {
            "browser": true,
            "es6": true,
            "node": true,
            "jest": true
        },
        "extends": [
            "eslint:recommended",
            "plugin:@typescript-eslint/eslint-recommended",
            "plugin:@typescript-eslint/recommended",
            "plugin:react/recommended",
            "plugin:prettier/recommended"
        ],
        "globals": {
            "Atomics": "readonly",
            "SharedArrayBuffer": "readonly"
        },
        "parser": "@typescript-eslint/parser",
        "parserOptions": {
            "ecmaFeatures": {
                "jsx": true
            },
            "ecmaVersion": 2018,
            "sourceType": "module"
        },
        "plugins": [
            "react",
            "@typescript-eslint"
        ],
        "rules": {
            "linebreak-style": [
                "error",
                "unix"
            ],
            "quotes": [
                "error",
                "single"
            ],
            "semi": [
                "error",
                "never"
            ],
            "@typescript-eslint/explicit-module-boundary-types": [
                "off"
            ],
            "no-console": "error"
        },
        "overrides": [
            {
                "files": [
                    "*.ts",
                    "*.tsx"
                ]
            }
        ],
        "settings": {
            "react": {
                "version": "detect"
            }
        }
    },
    "jest": {
        "preset": "ts-jest",
        "testEnvironment": "jsdom",
        "clearMocks": true,
        "rootDir": "./src",
        "setupFilesAfterEnv": [
            "<rootDir>/../jest.setup.ts"
        ],
        "testPathIgnorePatterns": [
            "/node_modules/",
            "jest.setup.ts"
        ],
        "collectCoverage": true,
        "collectCoverageFrom": [
            "**/*.tsx",
            "!**/*.stories.tsx"
        ],
        "coverageDirectory": "<rootDir>/../coverage",
        "coverageThreshold": {
            "global": {
                "branches": 100,
                "functions": 100,
                "lines": 100,
                "statements": 100
            }
        },
        "transform": {
            "^.+\\.jsx?$": "babel-jest"
        },
        "coverageReporters": [
            "text",
            "text-summary",
            "html",
            "lcov"
        ],
        "testResultsProcessor": "jest-sonar-reporter",
        "moduleNameMapper": {
            "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/../css.mock.js",
            "\\.(css|less)$": "<rootDir>/../css.mock.js"
        }
    },
    "prettier": {
        "printWidth": 120,
        "tabWidth": 4,
        "semi": false,
        "singleQuote": true
    },
    "babel": {
        "presets": [
            "@babel/preset-env",
            "@babel/preset-react"
        ]
    },
    "publishConfig": {
        "access": "public",
        "registry": "https://registry.npmjs.org/"
    }
}
