X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/aead670cda417803f2c79b50cf1ea7463c8e37c4..fdbb05009f1904d25c80db02fb9d7344d5cf3eb5:/services/workbench2/package.json diff --git a/services/workbench2/package.json b/services/workbench2/package.json index 284f5097b6..d69185d614 100644 --- a/services/workbench2/package.json +++ b/services/workbench2/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "@babel/core": "^7.0.0", + "@babel/core": "^7.16.0", "@babel/runtime-corejs2": "^7.0.0", "@coreui/coreui": "^4.3.2", "@coreui/react": "^4.11.0", @@ -13,6 +13,8 @@ "@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", @@ -29,17 +31,39 @@ "@types/redux-form": "7.4.12", "@types/shell-escape": "^0.2.0", "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", - "caniuse-lite": "1.0.30001606", + "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", @@ -49,13 +73,23 @@ "lodash.template": "4.5.0", "material-ui-pickers": "^2.2.4", "mem": "4.0.0", - "mime": "^3.0.0", + "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.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.14.0", @@ -64,11 +98,11 @@ "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": "4.0.1", "react-splitter-layout": "3.0.1", "react-transition-group": "2.5.0", "react-virtualized-auto-sizer": "1.0.2", @@ -78,20 +112,31 @@ "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": "BROWSER=none 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 src/ -o src/", "watch-css": "npm run build-css && node-sass src/ -o src/ --watch --recursive" @@ -126,7 +171,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": { @@ -147,5 +192,62 @@ "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" + ] } }