X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/28b6afc1e8ccf652c7a8fd43e22a8ac788febd85..fdbb05009f1904d25c80db02fb9d7344d5cf3eb5:/services/workbench2/package.json diff --git a/services/workbench2/package.json b/services/workbench2/package.json index 35c960c418..d69185d614 100644 --- a/services/workbench2/package.json +++ b/services/workbench2/package.json @@ -3,12 +3,18 @@ "version": "0.1.0", "private": true, "dependencies": { + "@babel/core": "^7.16.0", + "@babel/runtime-corejs2": "^7.0.0", + "@coreui/coreui": "^4.3.2", + "@coreui/react": "^4.11.0", "@date-io/date-fns": "1", "@fortawesome/fontawesome-svg-core": "1.2.28", "@fortawesome/free-solid-svg-icons": "5.13.0", "@fortawesome/react-fontawesome": "0.1.9", "@material-ui/core": "3.9.3", "@material-ui/icons": "3.0.1", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", "@types/debounce": "3.0.0", "@types/dompurify": "^3.0.3", "@types/file-saver": "2.0.0", @@ -24,19 +30,40 @@ "@types/react-window": "1.8.2", "@types/redux-form": "7.4.12", "@types/shell-escape": "^0.2.0", - "axios": "^0.21.1", - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "caniuse-lite": "1.0.30001299", + "axios": "^0.28.1", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "bootstrap": "^5.3.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "caniuse-lite": "1.0.30001612", + "case-sensitive-paths-webpack-plugin": "^2.4.0", "classnames": "2.2.6", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", "cwlts": "1.15.29", "date-fns": "^2.28.0", "debounce": "1.2.0", "dompurify": "^3.0.6", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", "elliptic": "6.5.4", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.0", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", "file-saver": "2.0.1", + "fs-extra": "^10.0.0", "fstream": "1.0.12", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", "is-image": "3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", "js-yaml": "3.13.1", "jssha": "2.3.1", "jszip": "^3.10.1", @@ -46,25 +73,36 @@ "lodash.template": "4.5.0", "material-ui-pickers": "^2.2.4", "mem": "4.0.0", - "mime": "^3.0.0", - "moment": "2.29.1", + "mime": "^4.0.3", + "mini-css-extract-plugin": "^2.4.5", + "moment": "^2.29.4", "parse-duration": "0.4.4", + "path-browserify": "^1.0.1", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", "prop-types": "15.7.2", "query-string": "6.9.0", - "react": "16.8.6", + "react": "16.14.0", + "react-app-polyfill": "^3.0.0", "react-copy-to-clipboard": "5.0.3", + "react-dev-utils": "^12.0.0", "react-dnd": "5.0.0", "react-dnd-html5-backend": "5.0.1", - "react-dom": "16.8.6", + "react-dom": "16.14.0", "react-dropzone": "5.1.1", "react-highlight-words": "0.14.0", "react-idle-timer": "4.3.6", + "react-loader-spinner": "^6.1.6", "react-redux": "5.0.7", + "react-refresh": "^0.11.0", "react-router": "4.3.1", "react-router-dom": "4.3.1", "react-router-redux": "5.0.0-alpha.9", "react-rte": "^0.16.5", - "react-scripts": "3.4.4", "react-splitter-layout": "3.0.1", "react-transition-group": "2.5.0", "react-virtualized-auto-sizer": "1.0.2", @@ -74,23 +112,34 @@ "redux-form": "7.4.2", "redux-thunk": "2.3.0", "reselect": "4.0.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", "set-value": "2.0.1", "shell-escape": "^0.2.0", "sinon": "7.3", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", "tippy.js": "^6.3.7", "unionize": "2.1.2", - "uuid": "3.3.2" + "uuid": "3.3.2", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" }, "scripts": { - "start": "react-scripts start", - "build": "REACT_APP_VERSION=$VERSION REACT_APP_BUILD_NUMBER=$BUILD_NUMBER REACT_APP_GIT_COMMIT=$GIT_COMMIT react-scripts build", - "build-local": "react-scripts build", - "test": "CI=true react-scripts test", - "test-local": "react-scripts test", - "eject": "react-scripts eject", + "start": "BROWSER=none node scripts/start.js", + "build": "REACT_APP_VERSION=$VERSION REACT_APP_BUILD_NUMBER=$BUILD_NUMBER REACT_APP_GIT_COMMIT=$GIT_COMMIT node scripts/build.js", + "build-local": "node scripts/build.js", + "test": "CI=true node scripts/test.js", + "test-local": "node scripts/test.js", "lint": "tslint src/** -t verbose", - "build-css": "node-sass-chokidar src/ -o src/", - "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive" + "build-css": "node-sass src/ -o src/", + "watch-css": "npm run build-css && node-sass src/ -o src/ --watch --recursive" }, "devDependencies": { "@sinonjs/fake-timers": "^10.3.0", @@ -110,19 +159,19 @@ "@types/sinon": "7.5", "@types/uuid": "3.4.4", "axios-mock-adapter": "1.17.0", - "cypress": "6.3.0", + "cypress": "^13.6.6", + "cypress-wait-until": "^3.0.1", "enzyme": "3.11.0", "enzyme-adapter-react-16": "1.15.6", "jest-localstorage-mock": "2.2.0", "node-sass": "^9.0.0", - "node-sass-chokidar": "^2.0.0", "redux-devtools": "3.4.1", "redux-mock-store": "1.5.4", "ts-mock-imports": "1.3.7", "tslint": "5.20.0", "tslint-etc": "1.6.0", "typescript": "4.3.4", - "wait-on": "4.0.2", + "wait-on": "^7.2.0", "yamljs": "0.3.0" }, "browserslist": { @@ -137,5 +186,68 @@ "last 1 safari version" ] }, - "packageManager": "yarn@3.2.0" + "packageManager": "yarn@3.2.0", + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "jest": { + "roots": [ + "/src" + ], + "collectCoverageFrom": [ + "src/**/*.{js,jsx,ts,tsx}", + "!src/**/*.d.ts" + ], + "setupFiles": [ + "react-app-polyfill/jsdom" + ], + "setupFilesAfterEnv": [], + "testMatch": [ + "/src/**/__tests__/**/*.{js,jsx,ts,tsx}", + "/src/**/*.{spec,test}.{js,jsx,ts,tsx}" + ], + "testEnvironment": "jsdom", + "testRunner": "jest-jasmine2", + "transform": { + "^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "/config/jest/babelTransform.js", + "^.+\\.css$": "/config/jest/cssTransform.js", + "^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "/config/jest/fileTransform.js" + }, + "transformIgnorePatterns": [ + "node_modules/(?!(mime|tippy.js)/)", + "^.+\\.module\\.(css|sass|scss)$" + ], + "modulePaths": [ + "/src" + ], + "moduleNameMapper": { + "^react-native$": "react-native-web", + "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy" + }, + "moduleFileExtensions": [ + "web.js", + "js", + "web.ts", + "ts", + "web.tsx", + "tsx", + "json", + "web.jsx", + "jsx", + "node" + ], + "watchPlugins": [ + "jest-watch-typeahead/filename", + "jest-watch-typeahead/testname" + ], + "resetMocks": true + }, + "babel": { + "presets": [ + "react-app" + ] + } }