143 lines
5.7 KiB
JSON
143 lines
5.7 KiB
JSON
{
|
|
"name": "kubeflow-workspaces-frontend",
|
|
"version": "0.0.1",
|
|
"description": "The Kubeflow Workspaces Frontend is the web user interface used to monitor and manage Kubeflow Workspaces as part of Kubeflow Notebooks 2.0",
|
|
"repository": "https://github.com/kubeflow/notebooks.git",
|
|
"homepage": "https://github.com/kubeflow/notebooks",
|
|
"license": "Apache-2.0",
|
|
"private": true,
|
|
"overrides": {
|
|
"rimraf": "^6.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.0.0"
|
|
},
|
|
"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:clean": "rimraf ./dist",
|
|
"build:prod": "webpack --config ./config/webpack.prod.js",
|
|
"start:dev": "cross-env STYLE_THEME=$npm_config_theme webpack serve --hot --color --config ./config/webpack.dev.js",
|
|
"start:dev:mock": "cross-env MOCK_API_ENABLED=true STYLE_THEME=$npm_config_theme npm run start:dev",
|
|
"test": "run-s prettier:check test:lint 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 --passWithNoTests",
|
|
"test:unit": "npm run test:jest -- --silent",
|
|
"test:watch": "jest --watch",
|
|
"test:coverage": "jest --coverage",
|
|
"test:lint": "eslint --max-warnings 0 --ext .js,.ts,.jsx,.tsx ./src",
|
|
"test:lint:fix": "eslint --ext .js,.ts,.jsx,.tsx ./src --fix",
|
|
"test:fix": "run-s prettier test:lint:fix",
|
|
"cypress:open": "cypress open --project src/__tests__/cypress",
|
|
"cypress:open:mock": "CY_MOCK=1 CY_WS_PORT=9002 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": "POLL_INTERVAL=9999999 FAST_POLL_INTERVAL=9999999 npm run build",
|
|
"cypress:server": "serve ./dist -p 9001 -s -L",
|
|
"prettier": "prettier --ignore-path .gitignore --write \"**/*{.ts,.tsx,.js,.cjs,.jsx,.css,.json}\"",
|
|
"prettier:check": "prettier --ignore-path .gitignore --check \"**/*{.ts,.tsx,.js,.cjs,.jsx,.css,.json}\"",
|
|
"prepare": "cd ../../ && husky workspaces/frontend/.husky"
|
|
},
|
|
"devDependencies": {
|
|
"@cspell/eslint-plugin": "^9.1.2",
|
|
"@cypress/code-coverage": "^3.13.5",
|
|
"@mui/icons-material": "^6.3.1",
|
|
"@mui/material": "^6.3.1",
|
|
"@mui/types": "^7.2.21",
|
|
"@testing-library/cypress": "^10.0.1",
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^14.0.0",
|
|
"@testing-library/user-event": "14.4.3",
|
|
"@types/chai-subset": "^1.3.5",
|
|
"@types/jest": "^29.5.3",
|
|
"@types/react-router-dom": "^5.3.3",
|
|
"@types/victory": "^33.1.5",
|
|
"chai-subset": "^1.6.0",
|
|
"concurrently": "^9.1.0",
|
|
"copy-webpack-plugin": "^11.0.0",
|
|
"core-js": "^3.39.0",
|
|
"cross-env": "^7.0.3",
|
|
"css-loader": "^6.11.0",
|
|
"css-minimizer-webpack-plugin": "^5.0.1",
|
|
"cypress": "^13.16.1",
|
|
"cypress-axe": "^1.5.0",
|
|
"cypress-high-resolution": "^1.0.0",
|
|
"cypress-mochawesome-reporter": "^3.8.2",
|
|
"cypress-multi-reporters": "^2.0.4",
|
|
"dotenv": "^16.4.5",
|
|
"dotenv-webpack": "^8.1.0",
|
|
"expect": "^29.7.0",
|
|
"fork-ts-checker-webpack-plugin": "^9.0.3",
|
|
"html-webpack-plugin": "^5.6.0",
|
|
"husky": "^9.1.7",
|
|
"imagemin": "^8.0.1",
|
|
"jest": "^29.7.0",
|
|
"jest-environment-jsdom": "^29.7.0",
|
|
"junit-report-merger": "^7.0.0",
|
|
"mini-css-extract-plugin": "^2.9.0",
|
|
"postcss": "^8.4.38",
|
|
"prettier": "^3.3.0",
|
|
"prop-types": "^15.8.1",
|
|
"raw-loader": "^4.0.2",
|
|
"react-router-dom": "^6.26.1",
|
|
"regenerator-runtime": "^0.13.11",
|
|
"rimraf": "^6.0.1",
|
|
"sass": "^1.83.4",
|
|
"sass-loader": "^16.0.4",
|
|
"serve": "^14.2.1",
|
|
"style-loader": "^3.3.4",
|
|
"svg-url-loader": "^8.0.0",
|
|
"terser-webpack-plugin": "^5.3.10",
|
|
"ts-jest": "^29.1.4",
|
|
"ts-loader": "^9.5.1",
|
|
"tsconfig-paths-webpack-plugin": "^4.1.0",
|
|
"tslib": "^2.6.0",
|
|
"typescript": "^5.4.5",
|
|
"url-loader": "^4.1.1",
|
|
"webpack": "^5.91.0",
|
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
"webpack-cli": "^5.1.4",
|
|
"webpack-dev-server": "^5.2.2",
|
|
"webpack-merge": "^5.10.0"
|
|
},
|
|
"dependencies": {
|
|
"@patternfly/react-catalog-view-extension": "^6.1.0",
|
|
"@patternfly/react-code-editor": "^6.2.0",
|
|
"@patternfly/react-core": "^6.2.0",
|
|
"@patternfly/react-icons": "^6.2.0",
|
|
"@patternfly/react-styles": "^6.2.0",
|
|
"@patternfly/react-table": "^6.2.0",
|
|
"@patternfly/react-tokens": "^6.2.0",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"date-fns": "^4.1.0",
|
|
"eslint-plugin-local-rules": "^3.0.2",
|
|
"js-yaml": "^4.1.0",
|
|
"npm-run-all": "^4.1.5",
|
|
"react": "^18",
|
|
"react-dom": "^18",
|
|
"react-router": "^6.26.2",
|
|
"sirv-cli": "^2.0.2"
|
|
},
|
|
"optionalDependencies": {
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/styled": "^11.14.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.8.1",
|
|
"@typescript-eslint/parser": "^8.12.2",
|
|
"eslint": "^8.57.0",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-import-resolver-node": "^0.3.7",
|
|
"eslint-import-resolver-typescript": "^3.5.3",
|
|
"eslint-plugin-cypress": "^3.3.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.5.2",
|
|
"eslint-plugin-prettier": "^5.0.0",
|
|
"eslint-plugin-react": "^7.37.2",
|
|
"eslint-plugin-react-hooks": "^5.0.0"
|
|
}
|
|
}
|