{
  "name": "mod-arch-ui",
  "version": "1.0.0",
  "description": "An user interface for Mod Arch projects",
  "repository": "https://github.com/opendatahub-io/mod-arch-library.git",
  "homepage": "https://github.com/opendatahub-io/mod-arch-library",
  "license": "Apache-2.0",
  "private": true,
  "engines": {
    "node": ">=22.0.0"
  },
  "overrides": {
    "js-yaml": "^4.1.1",
    "csstype": "3.1.3",
    "axios": "^1.7.4"
  },
  "scripts": {
    "build": "run-s build:prod",
    "build:analyze": "run-s build build:bundle-profile build:bundle-analyze",
    "build:bundle-profile": "webpack --config ./config/webpack.prod.js --profile --json > ./bundle.stats.json",
    "build:bundle-analyze": "webpack-bundle-analyzer ./bundle.stats.json",
    "build:prod": "webpack --config ./config/webpack.prod.js",
    "build:clean": "rm -rf ./dist",
    "start:dev": "webpack serve --hot --color --config ./config/webpack.dev.js",
    "test": "run-s test:lint test:type-check test:unit test:cypress-ci",
    "test:cypress-ci": "npx concurrently -P -k -s first \"npm run cypress:server:build && npm run cypress:server\" \"npx wait-on tcp:127.0.0.1:9001 && npm run cypress:run:mock -- {@}\" -- ",
    "test:jest": "jest",
    "test:unit": "npm run test:jest -- --silent",
    "test:fix": "eslint ./src ./*.js --fix && prettier --write ./*.js ./*.mjs ./*.md ../*.md",
    "test:lint": "eslint --max-warnings 0 ./src ./*.js && prettier --check ./*.js ./*.mjs ./*.md ../*.md",
    "test:type-check": "tsc --noEmit",
    "cypress:open": "cypress open --project src/__tests__/cypress",
    "cypress:open:mock": "CY_MOCK=1 npm run cypress:open -- ",
    "cypress:run": "cypress run -b chrome --project src/__tests__/cypress",
    "cypress:run:mock": "CY_MOCK=1 npm run cypress:run -- ",
    "cypress:server:build": "DIST_DIR=./public-cypress POLL_INTERVAL=9999999 DEPLOYMENT_MODE=standalone npm run build",
    "cypress:server": "serve ./public-cypress -p 9001 -s -L"
  },
  "devDependencies": {
    "@module-federation/enhanced": "^0.21.4",
    "@mui/icons-material": "^7.3.4",
    "@mui/material": "^7.3.4",
    "@mui/types": "^7.4.7",
    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
    "@swc/core": "^1.9.1",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/jest-dom": "^6.6.2",
    "@testing-library/react": "^16.2.0",
    "@testing-library/user-event": "14.6.1",
    "@types/jest": "^30.0.0",
    "@types/lodash-es": "^4.17.8",
    "@types/react-dom": "^18.3.1",
    "@types/showdown": "^2.0.3",
    "copy-webpack-plugin": "^14.0.0",
    "core-js": "^3.40.0",
    "css-loader": "^7.1.2",
    "css-minimizer-webpack-plugin": "^8.0.0",
    "dotenv": "^16.5.0",
    "dotenv-expand": "^5.1.0",
    "dotenv-webpack": "^6.0.0",
    "@eslint/js": "^9.18.0",
    "@eslint/markdown": "^6.3.0",
    "globals": "^16.0.0",
    "typescript-eslint": "^8.31.1",
    "expect": "^30.0.2",
    "file-loader": "^6.2.0",
    "fork-ts-checker-webpack-plugin": "^9.0.2",
    "html-webpack-plugin": "^5.6.3",
    "imagemin": "^9.0.0",
    "jest": "^30.2.0",
    "jest-environment-jsdom": "^30.2.0",
    "junit-report-merger": "^8.0.0",
    "mini-css-extract-plugin": "^2.9.0",
    "postcss": "^8.5.14",
    "prettier": "^3.3.3",
    "prop-types": "^15.8.1",
    "raw-loader": "^4.0.2",
    "react-refresh": "^0.14.2",
    "regenerator-runtime": "^0.14.1",
    "sass": "^1.87.0",
    "sass-loader": "^16.0.0",
    "speed-measure-webpack-plugin": "^1.5.0",
    "style-loader": "^4.0.0",
    "svg-url-loader": "^8.0.0",
    "swc-loader": "^0.2.6",
    "terser-webpack-plugin": "^5.3.17",
    "ts-loader": "^9.5.2",
    "tsconfig-paths-webpack-plugin": "^4.1.0",
    "tslib": "^2.7.0",
    "typescript": "^5.8.2",
    "url-loader": "^4.1.1",
    "webpack": "^5.105.2",
    "webpack-bundle-analyzer": "^4.10.2",
    "webpack-cli": "^6.0.1",
    "webpack-dev-server": "^5.2.4",
    "webpack-merge": "^6.0.1"
  },
  "dependencies": {
    "@emotion/react": "^11.14.0",
    "@emotion/styled": "^11.14.0",
    "@patternfly/patternfly": "^6.3.1",
    "@patternfly/react-core": "^6.3.1",
    "@patternfly/react-icons": "^6.3.1",
    "@patternfly/react-styles": "^6.3.1",
    "@patternfly/react-table": "^6.3.1",
    "@patternfly/react-templates": "^6.3.1",
    "classnames": "^2.2.6",
    "dompurify": "^3.4.1",
    "lodash-es": "^4.18.1",
    "mod-arch-core": "^1.10.1",
    "mod-arch-kubeflow": "^1.10.1",
    "mod-arch-shared": "^1.10.1",
    "react": "^18",
    "react-dom": "^18",
    "react-router": "^7.16.0",
    "react-router-dom": "^7.16.0",
    "showdown": "^2.1.0"
  },
  "optionalDependencies": {
    "@babel/preset-env": "^7.26.9",
    "@babel/preset-react": "^7.18.6",
    "@babel/preset-typescript": "^7.21.5",
    "@cypress/code-coverage": "^3.14.7",
    "@cypress/webpack-preprocessor": "^6.0.4",
    "@testing-library/cypress": "^10.0.3",
    "cypress": "^15.16.0",
    "cypress-axe": "^1.5.0",
    "cypress-high-resolution": "^1.0.0",
    "eslint": "^9.18.0",
    "eslint-import-resolver-node": "^0.3.7",
    "eslint-import-resolver-typescript": "^3.8.3",
    "eslint-plugin-cypress": "^4.1.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-no-only-tests": "^3.1.0",
    "eslint-plugin-no-relative-import-paths": "^1.6.1",
    "eslint-plugin-prettier": "^5.4.0",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^5.2.0",
    "npm-run-all": "^4.1.5",
    "serve": "^14.2.6",
    "ts-jest": "^29.4.5"
  }
}
