diff options
author | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2019-07-11 15:15:35 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-07-11 20:21:09 +0200 |
commit | 60226e8e297485bcbe384dc766930da0a5a1c079 (patch) | |
tree | 84140c9f6d8d0828dbe4db676f8a06a5d6b4b077 /server | |
parent | 7ae6f6f0968febebf763cf073b09cb6dd2b218d7 (diff) | |
download | sonarqube-60226e8e297485bcbe384dc766930da0a5a1c079.tar.gz sonarqube-60226e8e297485bcbe384dc766930da0a5a1c079.zip |
SC-704 Extract components into sonar-ui-common (#1714)
* SC-704 Extract icons components to sonar-ui-common
* Better typings for theme
* Use sonar-ui-common in extensions
* Extract some helpers
* Extract l10n helper to sonar-ui-common
* Extract requests helper to sonar-ui-common
* Extract part of urls helper
* Move buttons, Tooltips and ScreenPositionFixers
* Move modal related components
* Move IdentityProviderLink
* Move GenericAvatar
* Move SizeRating
* Move charts and move deps to peerDeps
* Move nav
* Move formatMeasure
* Move Rating
* Move PageActions
* Move the rest of ui components
* Move more controls components
* Include theme inside extension build
* Add missing theme context provider in extensions
* Update react to same version everywhere
* Update sonar-ui-common
* Update eslint configuration
Diffstat (limited to 'server')
1431 files changed, 10911 insertions, 30405 deletions
diff --git a/server/sonar-docs/package.json b/server/sonar-docs/package.json index 9b36e9600b8..18e4d7bcfed 100644 --- a/server/sonar-docs/package.json +++ b/server/sonar-docs/package.json @@ -16,42 +16,43 @@ "gatsby-transformer-remark": "2.3.8", "lodash": "4.17.11", "lunr": "2.3.6", - "react": "16.8.5", - "react-dom": "16.8.5", + "react": "16.8.6", + "react-dom": "16.8.6", "react-helmet": "5.2.0", "react-typography": "0.16.19", "typography": "0.16.19" }, "devDependencies": { "@types/classnames": "2.2.7", - "@types/enzyme": "3.9.1", - "@types/jest": "24.0.11", + "@types/enzyme": "3.10.1", + "@types/jest": "24.0.15", "@types/lodash": "4.14.123", "@types/lunr": "2.3.2", - "@types/react": "16.8.8", - "@types/react-dom": "16.8.3", + "@types/react": "16.8.23", + "@types/react-dom": "16.8.4", "@types/react-helmet": "5.0.8", "@typescript-eslint/parser": "1.5.0", - "babel-jest": "24.5.0", - "enzyme": "3.9.0", - "enzyme-adapter-react-16": "1.11.2", + "babel-jest": "24.8.0", + "enzyme": "3.10.0", + "enzyme-adapter-react-16": "1.14.0", "enzyme-to-json": "3.3.5", - "eslint": "5.15.3", - "eslint-config-sonarqube": "0.3.0", - "eslint-plugin-import": "2.16.0", + "eslint": "5.16.0", + "eslint-config-sonarqube": "0.5.0", + "eslint-plugin-import": "2.18.0", "eslint-plugin-jsx-a11y": "6.2.1", - "eslint-plugin-promise": "4.0.1", - "eslint-plugin-react": "7.12.4", - "eslint-plugin-sonarjs": "0.3.0", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-react": "7.14.2", + "eslint-plugin-react-hooks": "1.6.1", + "eslint-plugin-sonarjs": "0.4.0", "fs-extra": "7.0.1", "glob-promise": "3.4.0", "graphql-code-generator": "0.5.2", - "jest": "24.5.0", + "jest": "24.8.0", "jest-fetch-mock": "2.1.2", "prettier": "1.16.4", "react-test-renderer": "16.8.5", "remark": "10.0.1", - "ts-jest": "24.0.0", + "ts-jest": "24.0.2", "typescript": "3.3.3333", "unist-util-visit": "1.4.0" }, diff --git a/server/sonar-docs/src/components/Sidebar.tsx b/server/sonar-docs/src/components/Sidebar.tsx index e49e89b8b4e..9cd56bf9d68 100644 --- a/server/sonar-docs/src/components/Sidebar.tsx +++ b/server/sonar-docs/src/components/Sidebar.tsx @@ -88,16 +88,12 @@ export default class Sidebar extends React.PureComponent<Props, State> { getNodeFromUrl = (url: string) => { return this.props.pages.find(p => { - if (p.fields && p.fields.slug) { - if (testPathAgainstUrl(p.fields.slug, url)) { - return true; - } + if (p.fields && p.fields.slug && testPathAgainstUrl(p.fields.slug, url)) { + return true; } - if (p.frontmatter && p.frontmatter.url) { - if (testPathAgainstUrl(p.frontmatter.url, url)) { - return true; - } + if (p.frontmatter && p.frontmatter.url && testPathAgainstUrl(p.frontmatter.url, url)) { + return true; } return false; diff --git a/server/sonar-docs/yarn.lock b/server/sonar-docs/yarn.lock index 3719f7e3de6..ae7e8a15239 100644 --- a/server/sonar-docs/yarn.lock +++ b/server/sonar-docs/yarn.lock @@ -4,31 +4,31 @@ "@andrew-codes/gatsby-plugin-elasticlunr-search@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@andrew-codes/gatsby-plugin-elasticlunr-search/-/gatsby-plugin-elasticlunr-search-1.0.4.tgz#2b2ace31903177961198b1e218f882667a31f228" - integrity sha512-P6RR3oAl1BVNhEZBXst/KEXLi2T2x2D6J6UBwmsgZNf0lLtHL/7N68KeLN+J2VKcAmvDpJ83o2KEj3ft/jND8g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@andrew-codes/gatsby-plugin-elasticlunr-search/-/gatsby-plugin-elasticlunr-search-1.0.4.tgz#2b2ace31903177961198b1e218f882667a31f228" + integrity sha1-KyrOMZAxd5YRmLHiGPiCZnox8ig= dependencies: elasticlunr "^0.9.5" graphql "^0.11.7" "@babel/code-frame@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha1-BuKrGb21NThVWaq7W6WXKUgoAPg= dependencies: "@babel/highlight" "^7.0.0" "@babel/core@^7.0.0", "@babel/core@^7.1.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" - integrity sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/core/-/core-7.5.0.tgz#6ed6a2881ad48a732c5433096d96d1b0ee5eb734" + integrity sha1-btaiiBrUinMsVDMJbZbRsO5etzQ= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.0" - "@babel/helpers" "^7.4.0" - "@babel/parser" "^7.4.0" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/generator" "^7.5.0" + "@babel/helpers" "^7.5.0" + "@babel/parser" "^7.5.0" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -37,12 +37,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196" - integrity sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ== +"@babel/generator@^7.0.0", "@babel/generator@^7.4.0", "@babel/generator@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" + integrity sha1-8g5LepF1Dui2NlYHPYQ9KnNtyko= dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.5.0" jsesc "^2.5.1" lodash "^4.17.11" source-map "^0.5.0" @@ -50,69 +50,69 @@ "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha1-Mj053QtQ4Qx8Bsp9djjmhk2MXDI= dependencies: "@babel/types" "^7.0.0" "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha1-a2lijf5Ah3mODE7Zjj1Kay+9L18= dependencies: "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" "@babel/helper-builder-react-jsx@^7.3.0": version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" + integrity sha1-oayVpdKz6Irl5UhGv0Yu64GzGKQ= dependencies: "@babel/types" "^7.3.0" esutils "^2.0.0" -"@babel/helper-call-delegate@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz#f308eabe0d44f451217853aedf4dea5f6fe3294f" - integrity sha512-SdqDfbVdNQCBp3WhK2mNdDvHd3BD6qbmIc43CAyjnsfCmgHMeqgDcM3BzY2lchi7HBJGJ2CVdynLWbezaE4mmQ== +"@babel/helper-call-delegate@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" + integrity sha1-h8H4yhmtVSpzanonscH8+LH/H0M= dependencies: - "@babel/helper-hoist-variables" "^7.4.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/helper-hoist-variables" "^7.4.4" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.0.tgz#30fd090e059d021995c1762a5b76798fa0b51d82" - integrity sha512-2K8NohdOT7P6Vyp23QH4w2IleP8yG3UJsbRKwA4YP6H8fErcLkFuuEEqbF2/BYBKSNci/FWJiqm6R3VhM/QHgw== +"@babel/helper-create-class-features-plugin@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" + integrity sha1-Au25f1EtRLojsyJ/G/LtQ0VO2sU= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz#cbfd8c1b2f12708e262c26f600cd16ed6a3bc6c9" - integrity sha512-wAhQ9HdnLIywERVcSvX40CEJwKdAa1ID4neI9NXQPDOHwwA+57DqwLiPEVy2AIyWzAk0CQ8qx4awO0VUURwLtA== +"@babel/helper-define-map@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" + integrity sha1-aWnR9XC0a9yQDR66jl1ZxIuiwSo= dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" lodash "^4.17.11" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha1-U3+hP28WdN90WwwA7I/k6ZaByPY= dependencies: "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" "@babel/helper-function-name@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha1-oM6wFoX3M1XUNgwSR/WCv6/I/1M= dependencies: "@babel/helper-get-function-arity" "^7.0.0" "@babel/template" "^7.1.0" @@ -120,67 +120,67 @@ "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha1-g1ctQyDipGVyY3NBE8QoaLZOScM= dependencies: "@babel/types" "^7.0.0" -"@babel/helper-hoist-variables@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz#25b621399ae229869329730a62015bbeb0a6fbd6" - integrity sha512-/NErCuoe/et17IlAQFKWM24qtyYYie7sFIrW/tIQXpck6vAu2hhtYYsKLBWQV+BQZMbcIYPU/QMYuTufrY4aQw== +"@babel/helper-hoist-variables@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" + integrity sha1-Api18lyMCcUxAtUqxKmPdz6yhQo= dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" "@babel/helper-member-expression-to-functions@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha1-jNFLCg33/wDwCefXpDaUX0fHoW8= dependencies: "@babel/types" "^7.0.0" "@babel/helper-module-imports@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha1-lggbcRHkhtpNLNlxrRpP4hbMLj0= dependencies: "@babel/types" "^7.0.0" -"@babel/helper-module-transforms@^7.1.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" - integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== +"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" + integrity sha1-lhFepCovE55hnpjtRt9gGblEFLg= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/template" "^7.2.2" - "@babel/types" "^7.2.2" - lodash "^4.17.10" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/template" "^7.4.4" + "@babel/types" "^7.4.4" + lodash "^4.17.11" "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha1-opIMVwKwc8Fd5REGIAqoytIEl9U= dependencies: "@babel/types" "^7.0.0" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha1-u7P77phmHFaQNCN8wDlnupm08lA= -"@babel/helper-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" - integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== +"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" + integrity sha1-pH4CvJH7JZ0uZyfCowAT46wTxKI= dependencies: - lodash "^4.17.10" + lodash "^4.17.11" "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha1-Nh2AghtvONp1vT8HheziCojF/n8= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-wrap-function" "^7.1.0" @@ -188,188 +188,201 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz#4f56adb6aedcd449d2da9399c2dcf0545463b64c" - integrity sha512-PVwCVnWWAgnal+kJ+ZSAphzyl58XrFeSKSAJRiqg5QToTsjL+Xu1f9+RJ+d+Q0aPhPfBGaYfkox66k86thxNSg== +"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" + integrity sha1-ruQXg+vk8tOrOud14cxvGpDO+ic= dependencies: "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" "@babel/helper-simple-access@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha1-Ze65VMjCRb6qToWdphiPOdceWFw= dependencies: "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55" - integrity sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw== +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha1-/5SJSjQL549T8GrwOLIFxJ2ZNnc= dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" "@babel/helper-wrap-function@^7.1.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" + integrity sha1-xOABJEV2nigVtVKW6tQ6lYVJ9vo= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/template" "^7.1.0" "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.0": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.2.tgz#3bdfa46a552ca77ef5a0f8551be5f0845ae989be" - integrity sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg== +"@babel/helpers@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helpers/-/helpers-7.5.0.tgz#7f0c17666e7ed8355ed6eff643dde12fb681ddb4" + integrity sha1-fwwXZm5+2DVe1u/2Q93hL7aB3bQ= dependencies: - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.0": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" - integrity sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4": + version "7.4.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" + integrity sha1-BK+NXVorBEoqG/+sweXmZzVE6HI= + +"@babel/parser@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" + integrity sha1-PgcT3/ia1q43+uw7Kdz8XJeXcLc= "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" + integrity sha1-somzBmadzkrSCwJSiJoVdoydQX4= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-proposal-class-properties@^7.0.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" - integrity sha512-t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.0.tgz#5bc6a0537d286fcb4fd4e89975adbca334987007" + integrity sha1-W8agU30ob8tP1OiZda28ozSYcAc= dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" + "@babel/helper-create-class-features-plugin" "^7.5.0" "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-proposal-dynamic-import@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" + integrity sha1-5TIgLbSDhyNpGxCme4zlCeOXxQY= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" + "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" + integrity sha1-Vo7MRGxhSK5rJn8CVREwiR4p8xc= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" - integrity sha512-uTNi8pPYyUH2eWHyYWWSYJKwKg34hhgl4/dbejEjL+64OhbHjTX7wEVWMQl82tEmdDsGeu77+s8HHLS627h6OQ== +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.0.tgz#4838ce3cbc9a84dd00bce7a17e9e9c36119f83a0" + integrity sha1-SDjOPLyahN0AvOehfp6cNhGfg6A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" + integrity sha1-E12B7baKCB5V5W7EhUHs6AZcOPU= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz#202d91ee977d760ef83f4f416b280d568be84623" - integrity sha512-h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w== +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" + integrity sha1-UB/9mCbAuR2iJpByByKsfLHKnHg= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" + integrity sha1-aeHw2zTG9aDPfiszI78VmnbIy38= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-class-properties@^7.0.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz#23b3b7b9bcdabd73672a9149f728cd3be6214812" - integrity sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz#23b3b7b9bcdabd73672a9149f728cd3be6214812" + integrity sha1-I7O3ubzavXNnKpFJ9yjNO+YhSBI= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@^7.0.0": +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" + integrity sha1-acFZ/69JmBIhYa2OvF5tH1XfhhI= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" - integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" + integrity sha1-p2XwYfgDvEjyQMJvh0f6+Xwmv3w= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" + integrity sha1-cr0T9v/h0lk4Ep0qGGsR/WKVFHA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" + integrity sha1-C4WjtLx830zEuL8jYzW5B8oi58c= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" + integrity sha1-O3o+czUQxX6CC5FCpleayLDfrS4= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" + integrity sha1-qUAT1u2okI3+akd+f57ahWVuz1w= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript@^7.2.0": version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" - integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" + integrity sha1-p8w/ZhGan36+LeU4PM4ZNHPWWZE= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" + integrity sha1-mur75Nb/xlY7+Pg3IJFijwB3lVA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz#234fe3e458dce95865c0d152d256119b237834b0" - integrity sha512-EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g== +"@babel/plugin-transform-async-to-generator@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha1-iaOEigFmYjtbxIEWS1k2q5R+iH4= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -377,222 +390,232 @@ "@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" + integrity sha1-XTzBHo1d3XUqpkyRSNDbbLef0ZA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz#164df3bb41e3deb954c4ca32ffa9fcaa56d30bcb" - integrity sha512-AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" + integrity sha1-wTJ5+r9rkWZhUxhBojxLfa4pZG0= dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.11" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d" - integrity sha512-XGg1Mhbw4LDmrO9rSTNe+uI79tQPdGs0YASlxgweYRLZqo/EQktjaOV4tchL/UZbM0F+/94uOipmdNGoaGOEYg== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" + integrity sha1-DOQJTNr9cJchB207nDitMcpxXrY= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.0" + "@babel/helper-define-map" "^7.4.4" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" + integrity sha1-g6ffamWIZbHI9kHVEMbzryICFto= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343" - integrity sha512-HySkoatyYTY3ZwLI8GGvkRWCFrjAGXUHur5sMecmCIdIharnlcWWivOqDJI76vvmVZfzwb6G08NREsrY96RhGQ== +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha1-9sCf3+P5RRb/B0/od9t7ye8FhVo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" + integrity sha1-NhoUi8lRREMSxpRG127R6o5EUMM= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" -"@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== +"@babel/plugin-transform-duplicate-keys@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha1-xdv1EGv4TN9pEiLAl0wSsd+TGFM= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-exponentiation-operator@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" + integrity sha1-pjhoKJ5bQAf3BU1GSRr1FDV2YAg= dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.0.tgz#f3c59eecff68c99b9c96eaafe4fe9d1fa8947138" - integrity sha512-C4ZVNejHnfB22vI2TYN4RUp2oCmq6cSEAg4RygSvYZUECRqUu9O4PMEMNJ4wsemaRGg27BbgYctG4BZh+AgIHw== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" + integrity sha1-0meggfSahwX8kUbeB2jGtY3M2Pc= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f" - integrity sha512-vWdfCEYLlYSxbsKj5lGtzA49K3KANtb8qCPQ1em07txJzsBwY+cKJzBHizj5fl3CCx7vt+WPdgDLTHmydkbQSQ== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" + integrity sha1-Amf8c14kyAi6FzhmxsTRRA/DxVY= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" + integrity sha1-4UNhFquwYQwiWQlISHVKxSMJIq0= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" + integrity sha1-aQNT6B+SZ9rU/Yz9d+r6hqulPqE= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-member-expression-literals@^7.0.0": +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" + integrity sha1-+hCqXFiiy2r88sn/qMtNiz1Imi0= dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== +"@babel/plugin-transform-modules-amd@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha1-7wBDXUbaCllhqnKKHS7P8GPk+5E= dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca" - integrity sha512-iWKAooAkipG7g1IY0eah7SumzfnIT3WNhT4uYB2kIsvHnNSB6MDYVa5qyICSwaTBDBY2c4SnJ3JtEa6ltJd6Jw== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha1-QlEn5gRSMTYIWO6qR6cdde3tenQ= dependencies: - "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1" - integrity sha512-gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ== +"@babel/plugin-transform-modules-systemjs@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha1-51JmoT75QgLbKgYgl3dW9R1S0kk= dependencies: - "@babel/helper-hoist-variables" "^7.4.0" + "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" + integrity sha1-dnjOdRafCHe46yI1U4wHQmjdAa4= dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz#800391136d6cbcc80728dbdba3c1c6e46f86c12e" - integrity sha512-NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": + version "7.4.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" + integrity sha1-nSaf0oo3AlgZm0KUc2gTpgu90QY= dependencies: - regexp-tree "^0.1.0" + regexp-tree "^0.1.6" -"@babel/plugin-transform-new-target@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150" - integrity sha512-6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw== +"@babel/plugin-transform-new-target@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" + integrity sha1-GNEgQ4sMye6VpH8scryXaPvtYKU= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" + integrity sha1-s11MEPVrq11lAEfa0PHY6IFLZZg= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.1.0" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9" - integrity sha512-Xqv6d1X+doyiuCGDoVJFtlZx0onAX0tnc3dY8w71pv/O0dODAbusVv2Ale3cGOwfiyi895ivOBhYa9DhAM8dUA== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" + integrity sha1-dVbPA/MYvScZ/kySLS2Ai+VXHhY= dependencies: - "@babel/helper-call-delegate" "^7.4.0" + "@babel/helper-call-delegate" "^7.4.4" "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-property-literals@^7.0.0": +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" + integrity sha1-A+M/ZT9bJcTrVyyYuUhQVbOJ6QU= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name@^7.0.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" + integrity sha1-6/rth4NM6NxCeWCaTwwyTBVuPrA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-jsx-self@^7.0.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" + integrity sha1-Rh4hrZR48QMd1eJ2EI0CfxtSQLo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" - integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha1-WDsQxJzwV+I3CFvL2MyWC9g72Ws= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx@^7.0.0": version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" + integrity sha1-8sq5kCZjHHZ+J0WlNoszHP6PUpA= dependencies: "@babel/helper-builder-react-jsx" "^7.3.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1" - integrity sha512-SZ+CgL4F0wm4npojPU6swo/cK4FcbLgxLd4cWpHaNXY/NJ2dpahODCqBbAwb2rDmVszVb3SSjnk9/vik3AYdBw== +"@babel/plugin-transform-regenerator@^7.4.5": + version "7.4.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" + integrity sha1-Yp3IJRLFXO4BNB+ye9/LIQNUaA8= dependencies: - regenerator-transform "^0.13.4" + regenerator-transform "^0.14.0" + +"@babel/plugin-transform-reserved-words@^7.2.0": + version "7.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" + integrity sha1-R5Kvh8mYpJNnWX0H/t8CY20uFjQ= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-runtime@^7.0.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.0.tgz#b4d8c925ed957471bc57e0b9da53408ebb1ed457" - integrity sha512-1uv2h9wnRj98XX3g0l4q+O3jFM6HfayKup7aIu4pnnlzGz0H+cYckGBC74FZIWJXJSXAmeJ9Yu5Gg2RQpS4hWg== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.0.tgz#45242c2c9281158c5f06d25beebac63e498a284e" + integrity sha1-RSQsLJKBFYxfBtJb7rrGPkmKKE4= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -601,121 +624,127 @@ "@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" + integrity sha1-YzOu4vjW7n4oYVRXKYk0o7RhmPA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.2.0": version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" + integrity sha1-MQOpq+IvdCttQG7NPNSbd0kZtAY= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-sticky-regex@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" + integrity sha1-oeRUtZlVYKnB4NU338FQYf0mh+E= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" - integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" + integrity sha1-nSj+p7vOY3+3YSoHUJidgyHUvLA= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typeof-symbol@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" + integrity sha1-EX0rzsL79ktLWdH5gZiUaC0p8rI= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.3.2": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.0.tgz#0389ec53a34e80f99f708c4ca311181449a68eb1" - integrity sha512-U7/+zKnRZg04ggM/Bm+xmu2B/PrwyDQTT/V89FXWYWNMxBDwSx56u6jtk9SEbfLFbZaEI72L+5LPvQjeZgFCrQ== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.0.tgz#a0855287eec87fe83c11e8dad67d431d343b53b1" + integrity sha1-oIVSh+7If+g8Eeja1n1DHTQ7U7E= dependencies: + "@babel/helper-create-class-features-plugin" "^7.5.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== +"@babel/plugin-transform-unicode-regex@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" + integrity sha1-q0Y0u08U02cov1l4Mis1WHeHlw8= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" "@babel/polyfill@^7.0.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.4.0.tgz#90f9d68ae34ac42ab4b4aa03151848f536960218" - integrity sha512-bVsjsrtsDflIHp5I6caaAa2V25Kzn50HKPL6g3X0P0ni1ks+58cPB8Mz6AOKVuRPgaVdq/OwEUc/1vKqX+Mo4A== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/polyfill/-/polyfill-7.4.4.tgz#78801cf3dbe657844eeabf31c1cae3828051e893" + integrity sha1-eIAc89vmV4RO6r8xwcrjgoBR6JM= dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.2" "@babel/preset-env@^7.4.1": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" - integrity sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/preset-env/-/preset-env-7.5.0.tgz#1122a751e864850b4dbce38bd9b4497840ee6f01" + integrity sha1-ESKnUehkhQtNvOOL2bRJeEDubwE= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.0" + "@babel/plugin-proposal-object-rest-spread" "^7.5.0" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.0" + "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.0" - "@babel/plugin-transform-classes" "^7.4.0" + "@babel/plugin-transform-block-scoping" "^7.4.4" + "@babel/plugin-transform-classes" "^7.4.4" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.5.0" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.0" - "@babel/plugin-transform-function-name" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.4" + "@babel/plugin-transform-function-name" "^7.4.4" "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.0" - "@babel/plugin-transform-modules-systemjs" "^7.4.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" + "@babel/plugin-transform-modules-amd" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" - "@babel/plugin-transform-new-target" "^7.4.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.0" - "@babel/plugin-transform-regenerator" "^7.4.0" + "@babel/plugin-transform-parameters" "^7.4.4" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.5" + "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" "@babel/plugin-transform-spread" "^7.2.0" "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - "@babel/types" "^7.4.0" - browserslist "^4.4.2" - core-js-compat "^3.0.0" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.5.0" + browserslist "^4.6.0" + core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" - semver "^5.3.0" + semver "^5.5.0" "@babel/preset-react@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" + integrity sha1-6GtLPZlDPHs+npF0fiZTlYvGs8A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" @@ -725,47 +754,47 @@ "@babel/preset-typescript@^7.0.0": version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a" - integrity sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a" + integrity sha1-iGaZEQU/oWsrJ26i7eLKYDs/MHo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.3.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8" - integrity sha512-7Bl2rALb7HpvXFL7TETNzKSAeBVCPHELzc0C//9FCxN8nsiueWSJBqaF+2oIJScyILStASR/Cx5WMkXGYTiJFA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/runtime/-/runtime-7.5.0.tgz#49dcbcd637099a55d3a61e590a00d6861393b1b5" + integrity sha1-Sdy81jcJmlXTph5ZCgDWhhOTsbU= dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b" - integrity sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw== +"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" + integrity sha1-9LiNEiVomgj1vDoXSDVFvp5O0jc= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/parser" "^7.4.4" + "@babel/types" "^7.4.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.0.tgz#14006967dd1d2b3494cdd650c686db9daf0ddada" - integrity sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" + integrity sha1-QhbWWGhU71w8RZLatW7H63hIVIU= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.0" + "@babel/generator" "^7.5.0" "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.0" - "@babel/parser" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.5.0" + "@babel/types" "^7.5.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.11" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" - integrity sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" + integrity sha1-5H1DhAwuf5EFvE06LDcbTQx4Mqs= dependencies: esutils "^2.0.2" lodash "^4.17.11" @@ -773,16 +802,16 @@ "@cnakazawa/watch@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" + integrity sha1-CZE56ux+vweifBeGo/9k85Rk0u8= dependencies: exec-sh "^0.3.2" minimist "^1.2.0" "@gatsbyjs/relay-compiler@2.0.0-printer-fix.2": version "2.0.0-printer-fix.2" - resolved "https://registry.yarnpkg.com/@gatsbyjs/relay-compiler/-/relay-compiler-2.0.0-printer-fix.2.tgz#214db0e6072d40ea78ad5fabdb49d56bc95f4e99" - integrity sha512-7GeCCEQ7O15lMTT/SXy9HuRde4cv5vs465ZnLK2QCajSDLior+20yrMqHn1PGsJYK6nNZH7p3lw9qTCpqmuc7Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@gatsbyjs/relay-compiler/-/relay-compiler-2.0.0-printer-fix.2.tgz#214db0e6072d40ea78ad5fabdb49d56bc95f4e99" + integrity sha1-IU2w5gctQOp4rV+r20nVa8lfTpk= dependencies: "@babel/generator" "^7.0.0" "@babel/parser" "^7.0.0" @@ -801,42 +830,78 @@ signedsource "^1.0.0" yargs "^9.0.0" -"@jest/console@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.3.0.tgz#7bd920d250988ba0bf1352c4493a48e1cb97671e" - integrity sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA== +"@hapi/address@2.x.x": + version "2.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" + integrity sha1-nwVGnIjLL9Pc1iR3a1TulcMSEmo= + +"@hapi/hoek@6.x.x": + version "6.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" + integrity sha1-S5X7rMv7qQGFaQiQvfGi+72hBZU= + +"@hapi/hoek@8.x.x": + version "8.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/hoek/-/hoek-8.0.2.tgz#f63a5ff00e891a4e7aa98f11119f9515c6672032" + integrity sha1-9jpf8A6JGk56qY8REZ+VFcZnIDI= + +"@hapi/joi@^15.1.0": + version "15.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" + integrity sha1-lAy3SbXFXCarOzTONi6CthYsjno= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/hoek" "6.x.x" + "@hapi/marker" "1.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/marker@1.x.x": + version "1.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" + integrity sha1-ZbCysB0b4GMEiGzptLd7G/shp2k= + +"@hapi/topo@3.x.x": + version "3.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@hapi/topo/-/topo-3.1.2.tgz#57cc1317be1a8c5f47c124f9b0e3c49cd78424d2" + integrity sha1-V8wTF74ajF9HwST5sOPEnNeEJNI= + dependencies: + "@hapi/hoek" "8.x.x" + +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha1-MqnkJTWpeu3+A35yW9Z+lUtFlUU= dependencies: "@jest/source-map" "^24.3.0" - "@types/node" "*" chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.5.0.tgz#2cefc6a69e9ebcae1da8f7c75f8a257152ba1ec0" - integrity sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ== +"@jest/core@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" + integrity sha1-+73NQqQdDTnN28n1IMi6sMM+7Vs= dependencies: - "@jest/console" "^24.3.0" - "@jest/reporters" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" - jest-changed-files "^24.5.0" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" + jest-changed-files "^24.8.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve-dependencies "^24.5.0" - jest-runner "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" - jest-watcher "^24.5.0" + jest-resolve-dependencies "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + jest-watcher "^24.8.0" micromatch "^3.1.10" p-each-series "^1.0.0" pirates "^4.0.1" @@ -844,48 +909,47 @@ rimraf "^2.5.4" strip-ansi "^5.0.0" -"@jest/environment@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.5.0.tgz#a2557f7808767abea3f9e4cc43a172122a63aca8" - integrity sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA== - dependencies: - "@jest/fake-timers" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-mock "^24.5.0" - -"@jest/fake-timers@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.5.0.tgz#4a29678b91fd0876144a58f8d46e6c62de0266f0" - integrity sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw== - dependencies: - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" - -"@jest/reporters@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.5.0.tgz#9363a210d0daa74696886d9cb294eb8b3ad9b4d9" - integrity sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q== - dependencies: - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" +"@jest/environment@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" + integrity sha1-A0ImE4PHdr3WUhaPaAZe8USvDqw= + dependencies: + "@jest/fake-timers" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + +"@jest/fake-timers@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" + integrity sha1-LluApPePKEvLS9VxS44Q3Tao09E= + dependencies: + "@jest/types" "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + +"@jest/reporters@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" + integrity sha1-B1FpzQKb3exUuPLA/Eif0LngVyk= + dependencies: + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" - istanbul-api "^2.1.1" istanbul-lib-coverage "^2.0.2" istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" istanbul-lib-source-maps "^3.0.1" - jest-haste-map "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + istanbul-reports "^2.1.1" + jest-haste-map "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" node-notifier "^5.2.1" slash "^2.0.0" source-map "^0.6.0" @@ -893,68 +957,79 @@ "@jest/source-map@^24.3.0": version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" + integrity sha1-Vjvjqk0iTK9l/3ftyVzRyk2mfyg= dependencies: callsites "^3.0.0" graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.5.0.tgz#ab66fb7741a04af3363443084e72ea84861a53f2" - integrity sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A== +"@jest/test-result@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" + integrity sha1-dnXQqvnSSEyqZeBI2bRn0WD46dM= + dependencies: + "@jest/console" "^24.7.1" + "@jest/types" "^24.8.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" + integrity sha1-L5k7z271605l6CM6laMyAkjPmUs= dependencies: - "@jest/console" "^24.3.0" - "@jest/types" "^24.5.0" - "@types/istanbul-lib-coverage" "^1.1.0" + "@jest/test-result" "^24.8.0" + jest-haste-map "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" -"@jest/transform@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.5.0.tgz#6709fc26db918e6af63a985f2cc3c464b4cf99d9" - integrity sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w== +"@jest/transform@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" + integrity sha1-Yo+5nc5PnSVMb9k0Hj7qJi4G/vU= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" - jest-haste-map "^24.5.0" + jest-haste-map "^24.8.0" jest-regex-util "^24.3.0" - jest-util "^24.5.0" + jest-util "^24.8.0" micromatch "^3.1.10" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.5.0.tgz#feee214a4d0167b0ca447284e95a57aa10b3ee95" - integrity sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA== +"@jest/types@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" + integrity sha1-8x4llIxY8KvYyEWuJvzqFJHep60= dependencies: - "@types/istanbul-lib-coverage" "^1.1.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^12.0.9" "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= dependencies: call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" "@nodelib/fs.stat@^1.1.2": version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= "@pieh/friendly-errors-webpack-plugin@1.7.0-chalk-2": version "1.7.0-chalk-2" - resolved "https://registry.yarnpkg.com/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz#2e9da9d3ade9d18d013333eb408c457d04eabac0" - integrity sha512-65+vYGuDkHBCWWjqzzR/Ck318+d6yTI00EqII9qe3aPD1J3Olhvw0X38uM5moQb1PK/ksDXwSoPGt/5QhCiotw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz#2e9da9d3ade9d18d013333eb408c457d04eabac0" + integrity sha1-Lp2p063p0Y0BMzPrQIxFfQTqusA= dependencies: chalk "^2.4.2" error-stack-parser "^2.0.0" @@ -963,8 +1038,8 @@ "@reach/router@^1.1.1": version "1.2.1" - resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e" - integrity sha512-kTaX08X4g27tzIFQGRukaHmNbtMYDS3LEWIS8+l6OayGIw6Oyo1HIF/JzeuR2FoF9z6oV+x/wJSVSq4v8tcUGQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e" + integrity sha1-NK41QaWsRPp3luVQal1ydKFivk4= dependencies: create-react-context "^0.2.1" invariant "^2.2.3" @@ -973,9 +1048,9 @@ warning "^3.0.0" "@types/babel__core@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51" - integrity sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA== + version "7.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha1-YIx09VkoAz/OGLmbITwWvks9EU8= dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -985,70 +1060,70 @@ "@types/babel__generator@*": version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" + integrity sha1-0hEqayH61gDXZ0J0KTyF3ODLR/w= dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" - integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + version "7.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha1-JJbp/1YZbMFCnHIDTgfqthIbbz8= dependencies: "@babel/types" "^7.3.0" "@types/cheerio@*": - version "0.22.11" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.11.tgz#61c0facf9636d14ba5f77fc65ed8913aa845d717" - integrity sha512-x0X3kPbholdJZng9wDMhb2swvUi3UYRNAuWAmIPIWlfgAJZp//cql/qblE7181Mg7SjWVwq6ldCPCLn5AY/e7w== + version "0.22.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/cheerio/-/cheerio-0.22.12.tgz#93c050401d4935a5376e8b352965f7458bed5340" + integrity sha1-k8BQQB1JNaU3bos1KWX3RYvtU0A= dependencies: "@types/node" "*" "@types/classnames@2.2.7": version "2.2.7" - resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.7.tgz#fb68cc9be8487e6ea5b13700e759bfbab7e0fefd" - integrity sha512-rzOhiQ55WzAiFgXRtitP/ZUT8iVNyllEpylJ5zHzR4vArUvMB39GTk+Zon/uAM0JxEFAWnwsxC2gH8s+tZ3Myg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/classnames/-/classnames-2.2.7.tgz#fb68cc9be8487e6ea5b13700e759bfbab7e0fefd" + integrity sha1-+2jMm+hIfm6lsTcA51m/urfg/v0= "@types/configstore@^2.1.1": version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" integrity sha1-zR6FU2M60xhcPy8jns/10mQ+krY= "@types/debug@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754" integrity sha1-oeUUrfvZLwOiJLpU1pMRHb8fN1Q= -"@types/enzyme@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.9.1.tgz#3a0ce07e30066dbc26cd3474c8e680af2d249e26" - integrity sha512-CasnOP73BFE3/5JvGkod+oQtGOD1+CVWz9BV2iAqDFJ+sofL5gTiizSr8ZM3lpDY27ptC8yjAdrUCdv8diKKqw== +"@types/enzyme@3.10.1": + version "3.10.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/enzyme/-/enzyme-3.10.1.tgz#74a7f7345075a4c03e574661068d3f96a054f495" + integrity sha1-dKf3NFB1pMA+V0ZhBo0/lqBU9JU= dependencies: "@types/cheerio" "*" "@types/react" "*" "@types/events@*": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= "@types/get-port@^0.0.4": version "0.0.4" - resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-0.0.4.tgz#eb6bb7423d9f888b632660dc7d2fd3e69a35643e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/get-port/-/get-port-0.0.4.tgz#eb6bb7423d9f888b632660dc7d2fd3e69a35643e" integrity sha1-62u3Qj2fiItjJmDcfS/T5po1ZD4= -"@types/glob@*": +"@types/glob@*", "@types/glob@^7.1.1": version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -1056,8 +1131,8 @@ "@types/glob@^5.0.30": version "5.0.36" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" - integrity sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" + integrity sha1-DICpyGZPx9GXgd4inyhwd/1iLLI= dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -1065,137 +1140,152 @@ "@types/history@*": version "4.7.2" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" - integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" + integrity sha1-DmcOolTVWSQbbus4lPh1SZHnMiA= -"@types/istanbul-lib-coverage@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#2cc2ca41051498382b43157c8227fea60363f94a" - integrity sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ== +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha1-QplbRG25pIoRoH7Ag0mahg6ROP8= + +"@types/istanbul-lib-report@*": + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" + integrity sha1-5Ucef6M8YTWN04QmGJwDelhDO4w= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha1-eoy/akBvNsit2HFiWyeOrwsNJVo= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" "@types/jest-diff@*": version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" + integrity sha1-NcwVucTzChjvIYUuJV/bAvbVm4k= -"@types/jest@24.0.11": - version "24.0.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.11.tgz#1f099bea332c228ea6505a88159bfa86a5858340" - integrity sha512-2kLuPC5FDnWIDvaJBzsGTBQaBbnDweznicvK7UGYzlIJP4RJR2a4A/ByLUXEyEgag6jz8eHdlWExGDtH3EYUXQ== +"@types/jest@24.0.15": + version "24.0.15" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/jest/-/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" + integrity sha1-bELVr3/jtE//98xl3nv3Qej6Qn8= dependencies: "@types/jest-diff" "*" "@types/lodash@4.14.123": version "4.14.123" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d" - integrity sha512-pQvPkc4Nltyx7G1Ww45OjVqUsJP4UsZm+GWJpigXgkikZqJgRm4c48g027o6tdgubWHwFRF15iFd+Y4Pmqv6+Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d" + integrity sha1-Ob5dIRR4yN072umO51u37+Sr/k0= "@types/lunr@2.3.2": version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/lunr/-/lunr-2.3.2.tgz#d4a51703315ed0e53c43257216f1014ce6491562" - integrity sha512-zcUZYquYDUEegRRPQtkZ068U9CoIjW6pJMYCVDRK25r76FEWvMm1oHqZQUfQh4ayIZ42lipXOpXEiAtGXc1XUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/lunr/-/lunr-2.3.2.tgz#d4a51703315ed0e53c43257216f1014ce6491562" + integrity sha1-1KUXAzFe0OU8QyVyFvEBTOZJFWI= "@types/minimatch@*": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= "@types/mkdirp@^0.3.29": version "0.3.29" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" integrity sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY= "@types/node@*": - version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + version "12.0.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/node/-/node-12.0.12.tgz#cc791b402360db1eaf7176479072f91ee6c6c7ca" + integrity sha1-zHkbQCNg2x6vcXZHkHL5HubGx8o= "@types/node@^7.0.11": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-7.10.5.tgz#6831006b2c87441d69e79b37ae9bc03246dfb379" - integrity sha512-RYkagUUbxQBss46ElbEa+j4q4X3GR12QwB7a/PM5hmVuVkYoW1jENT1+taspKUv8ibwW8cw+kRFbOaTc/Key3w== + version "7.10.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/node/-/node-7.10.6.tgz#c42137f0f2f6458bf0c898d65f48c5f600911475" + integrity sha1-xCE38PL2RYvwyJjWX0jF9gCRFHU= "@types/prop-types@*": - version "15.7.0" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.0.tgz#4c48fed958d6dcf9487195a0ef6456d5f6e0163a" - integrity sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg== + version "15.7.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" + integrity sha1-8aEee6uww8rWgQC+OB0eBkxo8fY= "@types/q@^1.5.1": version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha1-aQoUdbhPKohP0HzXl8APXzE1bqg= "@types/reach__router@^1.0.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.3.tgz#679fa6968aab0314dc4b967808a23fd11af2ccce" - integrity sha512-Zp0AdVhoJXjwsgp8pDPVEMnAH5eHU64hi5EnPT1Jerddqwiy0O87KFrnZKd1DKdO87cU120n2d3SnKKPtf4wFA== + version "1.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/reach__router/-/reach__router-1.2.4.tgz#44a701fdf15934880f6dfdef38ca49bc30e2d372" + integrity sha1-RKcB/fFZNIgPbf3vOMpJvDDi03I= dependencies: "@types/history" "*" "@types/react" "*" -"@types/react-dom@16.8.3": - version "16.8.3" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.3.tgz#6131b7b6158bc7ed1925a3374b88b7c00481f0cb" - integrity sha512-HF5hD5YR3z9Mn6kXcW1VKe4AQ04ZlZj1EdLBae61hzQ3eEWWxMgNLUbIxeZp40BnSxqY1eAYLsH9QopQcxzScA== +"@types/react-dom@16.8.4": + version "16.8.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-dom/-/react-dom-16.8.4.tgz#7fb7ba368857c7aa0f4e4511c4710ca2c5a12a88" + integrity sha1-f7e6NohXx6oPTkURxHEMosWhKog= dependencies: "@types/react" "*" "@types/react-helmet@5.0.8": version "5.0.8" - resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-5.0.8.tgz#f080eea6652e44f60b4574463d238f268d81d9af" - integrity sha512-ZTr12eDAYI0yUiMx1K82EHqRYa8J1BOOLus+0gL+AkksUiIPwLE0wLiXa9FNqD8r9GXAi+yRPZImkRh1JNlTkQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-helmet/-/react-helmet-5.0.8.tgz#f080eea6652e44f60b4574463d238f268d81d9af" + integrity sha1-8IDupmUuRPYLRXRGPSOPJo2B2a8= dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.8.8": - version "16.8.8" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.8.tgz#4b60a469fd2469f7aa6eaa0f8cfbc51f6d76e662" - integrity sha512-xwEvyet96u7WnB96kqY0yY7qxx/pEpU51QeACkKFtrgjjXITQn0oO1iwPEraXVgh10ZFPix7gs1R4OJXF7P5sg== +"@types/react@*", "@types/react@16.8.23", "@types/react@^16.8.12", "@types/react@^16.8.6": + version "16.8.23" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" + integrity sha1-7Gvjzu1jU6IJSBabbLTJe2W5etI= dependencies: "@types/prop-types" "*" csstype "^2.2.0" "@types/stack-utils@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= "@types/tmp@^0.0.32": version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.32.tgz#0d3cb31022f8427ea58c008af32b80da126ca4e3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/tmp/-/tmp-0.0.32.tgz#0d3cb31022f8427ea58c008af32b80da126ca4e3" integrity sha1-DTyzECL4Qn6ljACK8yuA2hJspOM= "@types/unist@*", "@types/unist@^2.0.0": version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha1-nAiGeYdvN061mD8VDUeHqm+zLX4= "@types/vfile-message@*": version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" - integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" + integrity sha1-4emJXMazbEYtQkTmTm0Lbq9lNVo= dependencies: "@types/node" "*" "@types/unist" "*" "@types/vfile@^3.0.0": version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" - integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" + integrity sha1-GcGM0jLfEc5vpq2AJZvIbDZrCbk= dependencies: "@types/node" "*" "@types/unist" "*" "@types/vfile-message" "*" "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": - version "12.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67" - integrity sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ== + version "12.0.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" + integrity sha1-Rd0dBjjoyPFT6H0paQdlkpaHORY= "@typescript-eslint/parser@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.5.0.tgz#a96114d195dff2a49534e4c4850fb676f905a072" - integrity sha512-pRWTnJrnxuT0ragdY26hZL+bxqDd4liMlftpH2CBlMPryOIOb1J+MdZuw6R4tIu6bWVdwbHKPTs+Q34LuGvfGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@typescript-eslint/parser/-/parser-1.5.0.tgz#a96114d195dff2a49534e4c4850fb676f905a072" + integrity sha1-qWEU0ZXf8qSVNOTEhQ+2dvkFoHI= dependencies: "@typescript-eslint/typescript-estree" "1.5.0" eslint-scope "^4.0.0" @@ -1203,16 +1293,16 @@ "@typescript-eslint/typescript-estree@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.5.0.tgz#986b356ecdf5a0c3bc9889d221802149cf5dbd4e" - integrity sha512-XqR14d4BcYgxcrpxIwcee7UEjncl9emKc/MgkeUfIk2u85KlsGYyaxC7Zxjmb17JtWERk/NaO+KnBsqgpIXzwA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@typescript-eslint/typescript-estree/-/typescript-estree-1.5.0.tgz#986b356ecdf5a0c3bc9889d221802149cf5dbd4e" + integrity sha1-mGs1bs31oMO8mInSIYAhSc9dvU4= dependencies: lodash.unescape "4.0.1" semver "5.5.0" "@webassemblyjs/ast@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" - integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" + integrity sha1-uYhYLK+7Kwlei1VlJvMMkNBXys4= dependencies: "@webassemblyjs/helper-module-context" "1.7.11" "@webassemblyjs/helper-wasm-bytecode" "1.7.11" @@ -1220,45 +1310,45 @@ "@webassemblyjs/floating-point-hex-parser@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" - integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" + integrity sha1-pp8K9lAuuaPARVVbGmEp09Py4xM= "@webassemblyjs/helper-api-error@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" - integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" + integrity sha1-x7a7gQX4QDlRGis5zklPGTgYoyo= "@webassemblyjs/helper-buffer@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" - integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" + integrity sha1-MSLUjcxslFbtmC3r4WyPNxAd85s= "@webassemblyjs/helper-code-frame@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" - integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" + integrity sha1-z48QbnRmYqDaKb3vY1/NPRJINks= dependencies: "@webassemblyjs/wast-printer" "1.7.11" "@webassemblyjs/helper-fsm@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" - integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" + integrity sha1-3ziIKmJAgNA/dQP5Pj8XrFrAEYE= "@webassemblyjs/helper-module-context@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" + integrity sha1-2HTXIuUeYqwgJHaTXWScgC+g4gk= "@webassemblyjs/helper-wasm-bytecode@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" + integrity sha1-3ZoegX8cLrEFtM8QEwk8ufPJywY= "@webassemblyjs/helper-wasm-section@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" - integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" + integrity sha1-nJrEHs+fvP/8lvbSZ14t4zgR5oo= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-buffer" "1.7.11" @@ -1267,27 +1357,27 @@ "@webassemblyjs/ieee754@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" - integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" + integrity sha1-yVg562N1ejGICq7HtlEtQZGsZAs= dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" - integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" + integrity sha1-1yZ6HunEWU/T9+NymIGOxlaH22M= dependencies: "@xtuc/long" "4.2.1" "@webassemblyjs/utf8@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" - integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" + integrity sha1-Btchjqn9yUpnk6qSIIFg2z0m7oI= "@webassemblyjs/wasm-edit@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" - integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" + integrity sha1-jHTKR01PlR0B266b1wgU7iKoIAU= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-buffer" "1.7.11" @@ -1300,8 +1390,8 @@ "@webassemblyjs/wasm-gen@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" - integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" + integrity sha1-m7upQvIjdWhqb7dZr816ycRdoag= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-wasm-bytecode" "1.7.11" @@ -1311,8 +1401,8 @@ "@webassemblyjs/wasm-opt@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" - integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" + integrity sha1-szHo5874+OLwB9QsOjagWAp9bKc= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-buffer" "1.7.11" @@ -1321,8 +1411,8 @@ "@webassemblyjs/wasm-parser@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" - integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" + integrity sha1-bj0g+mo1GfawhO+Tka1YIR77Cho= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-api-error" "1.7.11" @@ -1333,8 +1423,8 @@ "@webassemblyjs/wast-parser@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" - integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" + integrity sha1-Jb0RdWLKjAAnIP+BFu+QctnKhpw= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/floating-point-hex-parser" "1.7.11" @@ -1345,100 +1435,128 @@ "@webassemblyjs/wast-printer@1.7.11": version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" - integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" + integrity sha1-xCRbbeJCy1CizJUBdP2/ZceNeBM= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/wast-parser" "1.7.11" "@xtuc/long" "4.2.1" +"@wry/equality@^0.1.2": + version "0.1.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@wry/equality/-/equality-0.1.9.tgz#b13e18b7a8053c6858aa6c85b54911fb31e3a909" + integrity sha1-sT4Yt6gFPGhYqmyFtUkR+zHjqQk= + dependencies: + tslib "^1.9.3" + "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= "@xtuc/long@4.2.1": version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" - integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" + integrity sha1-XIXWYvdvodNFdXZsXc1mFavNMNg= abab@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + integrity sha1-q6CrTF7uLUx500h9hUUPsjduuw8= abbrev@1: version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= -accepts@^1.3.0, accepts@~1.3.4, accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= +accepts@^1.3.0, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" + mime-types "~2.1.24" + negotiator "0.6.2" acorn-dynamic-import@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + integrity sha1-kBzu5Mf6rvfgetKkfokGddpQong= dependencies: acorn "^5.0.0" acorn-globals@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" - integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== + version "4.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" + integrity sha1-TiwjE6WX/ViXIDlfY1S0HNXsgAY= dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" acorn-jsx@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha1-MqBk/ZJUKSFqCbFBECv90YX65A4= acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2: version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk= acorn@^6.0.1, acorn@^6.0.7: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" + integrity sha1-Z/DaL8M51s+11vskT9RJ8zzYu+M= -address@1.0.3, address@^1.0.1: +address@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" + integrity sha1-tfUGMfjWzsi9IMljljr7VeBsvOk= + +address@^1.0.1: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" + integrity sha1-744EeEf80sW29QwWll+ST9mf5wk= after@0.8.2: version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= +airbnb-prop-types@^2.13.2: + version "2.13.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz#43147a5062dd2a4a5600e748a47b64004cc5f7fc" + integrity sha1-QxR6UGLdKkpWAOdIpHtkAEzF9/w= + dependencies: + array.prototype.find "^2.0.4" + function.prototype.name "^1.1.0" + has "^1.0.3" + is-regex "^1.0.4" + object-is "^1.0.1" + object.assign "^4.1.0" + object.entries "^1.1.0" + prop-types "^15.7.2" + prop-types-exact "^1.2.0" + react-is "^16.8.6" + ajv-errors@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= ajv-keywords@^3.1.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" + integrity sha1-S4Mee1MUFafMUYzUBOc/YZPGNJ0= ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + integrity sha1-kNDVRDnaWHzX6EO/twRfUL0ivfE= dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -1447,115 +1565,121 @@ ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: alphanum-sort@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= ansi-align@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= dependencies: string-width "^2.0.0" +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha1-tTazcc9ofKrvI2wY0+If43l0Z8s= + dependencies: + string-width "^3.0.0" + ansi-colors@^3.0.0: version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= ansi-html@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= dependencies: color-convert "^1.9.0" anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" apollo-link@^1.2.2: - version "1.2.11" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.11.tgz#493293b747ad3237114ccd22e9f559e5e24a194d" - integrity sha512-PQvRCg13VduLy3X/0L79M6uOpTh5iHdxnxYuo8yL7sJlWybKRJwsv4IcRBJpMFbChOOaHY7Og9wgPo6DLKDKDA== + version "1.2.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/apollo-link/-/apollo-link-1.2.12.tgz#014b514fba95f1945c38ad4c216f31bcfee68429" + integrity sha1-AUtRT7qV8ZRcOK1MIW8xvP7mhCk= dependencies: - apollo-utilities "^1.2.1" - ts-invariant "^0.3.2" + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" tslib "^1.9.3" - zen-observable-ts "^0.8.18" + zen-observable-ts "^0.8.19" -apollo-utilities@^1.0.1, apollo-utilities@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.2.1.tgz#1c3a1ebf5607d7c8efe7636daaf58e7463b41b3c" - integrity sha512-Zv8Udp9XTSFiN8oyXOjf6PMHepD4yxxReLsl6dPUy5Ths7jti3nmlBzZUOxuTWRwZn0MoclqL7RQ5UEJN8MAxg== +apollo-utilities@^1.0.1, apollo-utilities@^1.3.0: + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/apollo-utilities/-/apollo-utilities-1.3.2.tgz#8cbdcf8b012f664cd6cb5767f6130f5aed9115c9" + integrity sha1-jL3PiwEvZkzWy1dn9hMPWu2RFck= dependencies: + "@wry/equality" "^0.1.2" fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.2.1" + ts-invariant "^0.4.0" tslib "^1.9.3" -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +arch@^2.1.0: + version "2.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arch/-/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e" + integrity sha1-j1wnMao1owkpIhuwZA7tZRdeyE4= are-we-there-yet@~1.1.2: version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= dependencies: delegates "^1.0.0" readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= dependencies: sprintf-js "~1.0.2" aria-query@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= dependencies: ast-types-flow "0.0.7" @@ -1563,93 +1687,101 @@ aria-query@^3.0.0: arr-diff@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= arr-union@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= array-filter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= array-filter@~0.0.0: version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-flatten@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= array-includes@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= dependencies: define-properties "^1.1.2" es-abstract "^1.7.0" array-iterate@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.2.tgz#f66a57e84426f8097f4197fbb6c051b8e5cdf7d8" - integrity sha512-1hWSHTIlG/8wtYD+PPX5AOBtKWngpDFjrsrHgZpe+JdgNGz0udYu6ZIkAa/xuenIUEqFv7DvE2Yr60jxweJSrQ== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-iterate/-/array-iterate-1.1.3.tgz#b116bdb1e37f3c3fec13acdfb91ac829f122543c" + integrity sha1-sRa9seN/PD/sE6zfuRrIKfEiVDw= array-map@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= array-reduce@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array-unique@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.find@^2.0.4: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" + integrity sha1-Yw8ur3CjnmCKw1c+Rc+MzQ7emtc= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + array.prototype.flat@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" - integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" + integrity sha1-gS248CytJNP6tl3WfqvjuJA0lKQ= dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" @@ -1657,23 +1789,23 @@ array.prototype.flat@^1.2.1: arraybuffer.slice@~0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + integrity sha1-O7xCdd1YTMGxCAm4nU6LY6aednU= arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= asap@~2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://repox.jfrog.io/repox/api/npm/npm/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1.js@^4.0.0: version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA= dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -1681,102 +1813,104 @@ asn1.js@^4.0.0: asn1@~0.2.3: version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + version "1.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= dependencies: + object-assign "^4.1.1" util "0.10.3" assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-types-flow@0.0.7, ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= astral-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= async-each@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.2.tgz#8b8a7ca2a658f927e9f307d6d1a42f4199f0f735" - integrity sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= async-limiter@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha1-ePrtjD0HSrgfIrTphdeehzj3IPg= async@1.5.2, async@^1.5.2: version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== - dependencies: - lodash "^4.17.11" - asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://repox.jfrog.io/repox/api/npm/npm/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= atob@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +auto-bind@^2.0.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/auto-bind/-/auto-bind-2.1.0.tgz#254e12d53063d7cab90446ce021accfb3faa1464" + integrity sha1-JU4S1TBj18q5BEbOAhrM+z+qFGQ= + dependencies: + "@types/react" "^16.8.12" autoprefixer@^9.4.3: - version "9.5.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.0.tgz#7e51d0355c11596e6cf9a0afc9a44e86d1596c70" - integrity sha512-hMKcyHsZn5+qL6AUeP3c8OyuteZ4VaUlg+fWbyl8z7PqsKHF/Bf8/px3K6AT8aMzDkBo8Bc11245MM+itDBOxQ== + version "9.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/autoprefixer/-/autoprefixer-9.6.0.tgz#0111c6bde2ad20c6f17995a33fad7cf6854b4c87" + integrity sha1-ARHGveKtIMbxeZWjP6189oVLTIc= dependencies: - browserslist "^4.4.2" - caniuse-lite "^1.0.30000947" + browserslist "^4.6.1" + caniuse-lite "^1.0.30000971" + chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.14" + postcss "^7.0.16" postcss-value-parser "^3.3.1" aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= axobject-query@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" + integrity sha1-6hh6vluQArN3+SXYv30cVhrfOPk= dependencies: ast-types-flow "0.0.7" babel-code-frame@6.26.0, babel-code-frame@^6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= dependencies: chalk "^1.1.3" @@ -1785,13 +1919,13 @@ babel-code-frame@6.26.0, babel-code-frame@^6.26.0: babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha1-laSS3dkPm06aSh2hTrM1uHtjTs4= babel-eslint@^9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" - integrity sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" + integrity sha1-fZRF+B7Z9gr/OBFfg4lw358rYiA= dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.0.0" @@ -1800,84 +1934,92 @@ babel-eslint@^9.0.0: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-jest@24.5.0, babel-jest@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.5.0.tgz#0ea042789810c2bec9065f7c8ab4dc18e1d28559" - integrity sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g== +babel-jest@24.8.0, babel-jest@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" + integrity sha1-XBX/KyjiCw9F30P+a38qrpPbpYk= dependencies: - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.3.0" + babel-preset-jest "^24.6.0" chalk "^2.4.2" slash "^2.0.0" babel-loader@^8.0.0: - version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== + version "8.0.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha1-4zvbbzYrA/S7FBoMIauHxQG3Dfs= dependencies: find-cache-dir "^2.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" - util.promisify "^1.0.0" + pify "^4.0.1" babel-plugin-add-module-exports@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz#9ae9a1f4a8dc67f0cdec4f4aeda1e43a5ff65e25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz#9ae9a1f4a8dc67f0cdec4f4aeda1e43a5ff65e25" integrity sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU= babel-plugin-dynamic-import-node@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz#f91631e703e0595e47d4beafbb088576c87fbeee" - integrity sha512-yeDwKaLgGdTpXL7RgGt5r6T4LmnTza/hUn5Ul8uZSGGMtEjYo13Nxai7SQaGCTEzUtg9Zq9qJn0EjEr7SeSlTQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz#f91631e703e0595e47d4beafbb088576c87fbeee" + integrity sha1-+RYx5wPgWV5H1L6vuwiFdsh/vu4= dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha1-8A9Qe9qjw+P/bn5emNkKesq5b38= + dependencies: + object.assign "^4.1.0" + babel-plugin-istanbul@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz#7981590f1956d75d67630ba46f0c22493588c893" - integrity sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ== + version "5.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" + integrity sha1-hB0WuaWO60B6DdzmIroC/oenUro= dependencies: find-up "^3.0.0" - istanbul-lib-instrument "^3.0.0" - test-exclude "^5.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" -babel-plugin-jest-hoist@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz#f2e82952946f6e40bb0a75d266a3790d854c8b5b" - integrity sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w== +babel-plugin-jest-hoist@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" + integrity sha1-9/f3rRUO6W16Xo4sXagxlXnngBk= dependencies: "@types/babel__traverse" "^7.0.6" babel-plugin-macros@^2.4.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz#01f4d3b50ed567a67b80a30b9da066e94f4097b6" - integrity sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw== + version "2.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" + integrity sha1-Qffq1hb8NvapMYDolpf2n1FnEYE= dependencies: - cosmiconfig "^5.0.5" - resolve "^1.8.1" + "@babel/runtime" "^7.4.2" + cosmiconfig "^5.2.0" + resolve "^1.10.0" babel-plugin-remove-graphql-queries@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.6.2.tgz#8ee167324befa6579858fcaf1dbd75a84766d555" - integrity sha512-JrYM0ACSMmt27PeMtwp+5N5c8S1pJkCYWI+Jt+12ERqW3bYKWGCJsdEky2lQRLezLFCiJE7+mXANc91yMGf+HQ== + version "2.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.0.tgz#dd5b1201cb90f1197e4588761af602f2e180f60a" + integrity sha1-3VsSAcuQ8Rl+RYh2GvYC8uGA9go= babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" integrity sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo= babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" - integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + integrity sha1-qiE8FDXiv/62/KhCKH71NK0F1c8= babel-preset-fbjs@^3.1.2: version "3.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" - integrity sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" + integrity sha1-wOY0fT4Dee2Es8JDTTRnVnqgUpc= dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.0.0" @@ -1908,9 +2050,9 @@ babel-preset-fbjs@^3.1.2: babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" babel-preset-gatsby@^0.1.9: - version "0.1.10" - resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.1.10.tgz#5197bfcd350139beb49f2d305481944c556db67b" - integrity sha512-Fe85p1k6B6wJFrlZaD8DYyHBxN3y+91s3vFuRxR/HkYeMtf17o3dTGn1vgJ7ANa+sPAIV3hlO94EgP1rhcV2pg== + version "0.1.11" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-preset-gatsby/-/babel-preset-gatsby-0.1.11.tgz#684a1c940f3cec9b31e1948d566a5837e18c715c" + integrity sha1-aEoclA887Jsx4ZSNVmpYN+GMcVw= dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.0.0" @@ -1919,17 +2061,17 @@ babel-preset-gatsby@^0.1.9: "@babel/preset-react" "^7.0.0" babel-plugin-macros "^2.4.2" -babel-preset-jest@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz#db88497e18869f15b24d9c0e547d8e0ab950796d" - integrity sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw== +babel-preset-jest@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" + integrity sha1-ZvBhNu786HeXU5wNY/F2nMORWYQ= dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.3.0" + babel-plugin-jest-hoist "^24.6.0" babel-runtime@^6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" @@ -1937,38 +2079,38 @@ babel-runtime@^6.26.0: backo2@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + resolved "https://repox.jfrog.io/repox/api/npm/npm/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= bail@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.3.tgz#63cfb9ddbac829b02a3128cd53224be78e6c21a3" - integrity sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" + integrity sha1-cYG2bVCKowVdP2wT8KDHIGQd3ps= balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + resolved "https://repox.jfrog.io/repox/api/npm/npm/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-arraybuffer@0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= base64-js@^1.0.2: version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM= base64id@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= base@^0.11.1: version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -1980,39 +2122,39 @@ base@^0.11.1: batch@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" better-assert@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + resolved "https://repox.jfrog.io/repox/api/npm/npm/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= dependencies: callsite "1.0.0" -better-opn@0.1.4: +better-opn@0.1.4, better-opn@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-0.1.4.tgz#271d03bd8bcb8406d2d9d4cda5c0944d726ea171" - integrity sha512-7V92EnOdjWOB9lKsVsthCcu1FdFT5qNJVTiOgGy5wPuTsSptMMxm2G1FGHgWu22MyX3tyDRzTWk4lxY2Ppdu7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/better-opn/-/better-opn-0.1.4.tgz#271d03bd8bcb8406d2d9d4cda5c0944d726ea171" + integrity sha1-Jx0DvYvLhAbS2dTNpcCUTXJuoXE= dependencies: opn "^5.4.0" better-queue-memory@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/better-queue-memory/-/better-queue-memory-1.0.3.tgz#4e71fbb5f5976188656e0c5610da7b411af41493" - integrity sha512-QLFkfV+k/7e4L4FR7kqkXKtRi22kl68c/3AaBs0ArDSz0iiuAl0DjVlb6gM220jW7izLE5TRy7oXOd4Cxa0wog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/better-queue-memory/-/better-queue-memory-1.0.3.tgz#4e71fbb5f5976188656e0c5610da7b411af41493" + integrity sha1-TnH7tfWXYYhlbgxWENp7QRr0FJM= better-queue@^3.8.6, better-queue@^3.8.7: version "3.8.10" - resolved "https://registry.yarnpkg.com/better-queue/-/better-queue-3.8.10.tgz#1c93b9ec4cb3d1b72eb91d0efcb84fc80e8c6835" - integrity sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/better-queue/-/better-queue-3.8.10.tgz#1c93b9ec4cb3d1b72eb91d0efcb84fc80e8c6835" + integrity sha1-HJO57Eyz0bcuuR0O/LhPyA6MaDU= dependencies: better-queue-memory "^1.0.1" node-eta "^0.9.0" @@ -2020,48 +2162,48 @@ better-queue@^3.8.6, better-queue@^3.8.7: big.js@^5.2.2: version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= binary-extensions@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1" - integrity sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw== + version "1.13.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= blob@0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== + resolved "https://repox.jfrog.io/repox/api/npm/npm/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" + integrity sha1-1oDu7yX4zZGtUz9bAe7UjmTK9oM= -bluebird@^3.5.0, bluebird@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== +bluebird@^3.5.0, bluebird@^3.5.5: + version "3.5.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha1-qNCv1zJR7/u9X+OEp31zADwXpx8= bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha1-LN4J617jQfSEdGuwMJsyU7GxRC8= -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= +body-parser@1.19.0: + version "1.19.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= dependencies: - bytes "3.0.0" + bytes "3.1.0" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" + http-errors "1.7.2" + iconv-lite "0.4.24" on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" bonjour@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= dependencies: array-flatten "^2.1.0" @@ -2073,13 +2215,13 @@ bonjour@^3.5.0: boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= boxen@^1.2.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha1-VcbDmouljZxhrSLNh3Uy3rZlogs= dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" @@ -2089,18 +2231,32 @@ boxen@^1.2.1: term-size "^1.2.0" widest-line "^2.0.0" +boxen@^3.1.0: + version "3.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" + integrity sha1-+9/w3pNjarRFCIa2/0W5LQmPRes= + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^2.4.2" + cli-boxes "^2.2.0" + string-width "^3.0.0" + term-size "^1.2.0" + type-fest "^0.3.0" + widest-line "^2.0.0" + brace-expansion@^1.0.0, brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^2.3.1, braces@^2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -2115,25 +2271,25 @@ braces@^2.3.1, braces@^2.3.2: brorand@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browser-process-hrtime@^0.1.2: version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha1-YW8A+u8d9+wbW/nP4r3DFw8mx7Q= browser-resolve@^1.11.3: version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= dependencies: resolve "1.1.7" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -2144,8 +2300,8 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -2153,8 +2309,8 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -2163,7 +2319,7 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= dependencies: bn.js "^4.1.0" @@ -2171,7 +2327,7 @@ browserify-rsa@^4.0.0: browserify-sign@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= dependencies: bn.js "^4.1.1" @@ -2184,78 +2340,78 @@ browserify-sign@^4.0.0: browserify-zlib@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= dependencies: pako "~1.0.5" browserslist@3.2.8: version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" + integrity sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y= dependencies: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.4.2, browserslist@^4.5.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.2.tgz#36ad281f040af684555a23c780f5c2081c752df0" - integrity sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ== +browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.6.1, browserslist@^4.6.2: + version "4.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserslist/-/browserslist-4.6.3.tgz#0530cbc6ab0c1f3fc8c819c72377ba55cf647f05" + integrity sha1-BTDLxqsMHz/IyBnHI3e6Vc9kfwU= dependencies: - caniuse-lite "^1.0.30000951" - electron-to-chromium "^1.3.116" - node-releases "^1.1.11" + caniuse-lite "^1.0.30000975" + electron-to-chromium "^1.3.164" + node-releases "^1.1.23" bs-logger@0.x: version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha1-6302UwenLPl0zGzadraDVK0za9g= dependencies: fast-json-stable-stringify "2.x" bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha1-Zfx4S/f4fACblzwS22VGkC+px7U= dependencies: node-int64 "^0.4.0" buffer-alloc-unsafe@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha1-vX3CauKXLQ7aJTvgYdupkjScGfA= buffer-alloc@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow= dependencies: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" buffer-fill@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= buffer-indexof@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= buffer-xor@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= dependencies: base64-js "^1.0.2" @@ -2263,44 +2419,49 @@ buffer@^4.3.0: isarray "^1.0.0" builtin-modules@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" - integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg== + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha1-qtl8FRMet2tltQ7yCOdYTNdqdIQ= builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= bytes@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -cacache@^11.0.2: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== +bytes@3.1.0: + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^11.3.2: + version "11.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha1-i9Kd+ManGKbr0tAQ2k15cq47utw= dependencies: - bluebird "^3.5.3" + bluebird "^3.5.5" chownr "^1.1.1" figgy-pudding "^3.5.1" - glob "^7.1.3" + glob "^7.1.4" graceful-fs "^4.1.15" lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" - rimraf "^2.6.2" + rimraf "^2.6.3" ssri "^6.0.1" unique-filename "^1.1.1" y18n "^4.0.0" cache-base@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -2314,57 +2475,57 @@ cache-base@^1.0.1: cache-manager-fs-hash@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.6.tgz#fccc5a6b579080cbe2186697e51b5b8ff8ca9fd0" - integrity sha512-p1nmcCQH4/jyKqEqUqPSDDcCo0PjFdv56OvtSdUrSIB7s8rAfwETLZ0CHXWdAPyg0QaER/deTvl1dCXyjZ5xAA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.6.tgz#fccc5a6b579080cbe2186697e51b5b8ff8ca9fd0" + integrity sha1-/Mxaa1eQgMviGGaX5Rtbj/jKn9A= dependencies: es6-promisify "^6.0.0" lockfile "^1.0.4" cache-manager@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-2.9.0.tgz#5e1f6317ca1a25e40ddf365a7162757af152353e" - integrity sha1-Xh9jF8oaJeQN3zZacWJ1evFSNT4= + version "2.9.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cache-manager/-/cache-manager-2.9.1.tgz#1b487252a77e63ccf46be5e41438282bcbc528fb" + integrity sha1-G0hyUqd+Y8z0a+XkFDgoK8vFKPs= dependencies: async "1.5.2" lru-cache "4.0.0" call-me-maybe@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= caller-callsite@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: caller-callsite "^2.0.0" callsite@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + resolved "https://repox.jfrog.io/repox/api/npm/npm/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= callsites@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + resolved "https://repox.jfrog.io/repox/api/npm/npm/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= callsites@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" - integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= camel-case@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" @@ -2372,54 +2533,54 @@ camel-case@^3.0.0: camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" - integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= dependencies: browserslist "^4.0.0" caniuse-lite "^1.0.0" lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000951: - version "1.0.30000951" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000951.tgz#c7c2fd4d71080284c8677dd410368df8d83688fe" - integrity sha512-eRhP+nQ6YUkIcNQ6hnvdhMkdc7n3zadog0KXNRxAZTT2kHjUb1yGn71OrPhSn8MOvlX97g5CR97kGVj8fMsXWg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30000975: + version "1.0.30000979" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz#92f16d00186a6cf20d6c5711bb6e042a3d667029" + integrity sha1-kvFtABhqbPINbFcRu24EKj1mcCk= capture-exit@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= dependencies: rsvp "^4.8.4" capture-stack-trace@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha1-psC74fOPOqC5Ijjstv9Cw0TUE10= caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0, ccount@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" - integrity sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" + integrity sha1-nPLeSUyoQGCiqNKFTt1t+wRF84Y= chalk@1.1.3, chalk@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" @@ -2430,55 +2591,55 @@ chalk@1.1.3, chalk@^1.1.3: chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" character-entities-html4@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610" - integrity sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" + integrity sha1-XObgFhjkcEisIvNPfznbXG/Wee8= character-entities-legacy@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz#7c6defb81648498222c9855309953d05f4d63a9c" - integrity sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" + integrity sha1-PHKZkdkpPaDt5t3crx8s4QCe6LQ= character-entities@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.2.tgz#58c8f371c0774ef0ba9b2aca5f00d8f100e6e363" - integrity sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ== + version "1.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" + integrity sha1-u+1KUv5++YzHE8bYDZ+qJpFtVOY= character-reference-invalid@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz#21e421ad3d84055952dab4a43a04e73cd425d3ed" - integrity sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" + integrity sha1-Fkf09yZjjT6kp1DPXRl1wceRmoU= chardet@^0.4.0: version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= chardet@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= charenc@~0.0.1: version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + resolved "https://repox.jfrog.io/repox/api/npm/npm/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= cheerio@^1.0.0-rc.2: - version "1.0.0-rc.2" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" - integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs= + version "1.0.0-rc.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" + integrity sha1-CUY21CWy6cD065GkbAVjDJoai/Y= dependencies: css-select "~1.2.0" - dom-serializer "~0.1.0" + dom-serializer "~0.1.1" entities "~1.1.1" htmlparser2 "^3.9.1" lodash "^4.15.0" @@ -2486,8 +2647,8 @@ cheerio@^1.0.0-rc.2: chokidar@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" - integrity sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" + integrity sha1-nCPqQLAWOEOeBROGTTYq6sxa0Fg= dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -2503,10 +2664,10 @@ chokidar@2.1.2: optionalDependencies: fsevents "^1.2.7" -chokidar@^2.0.0, chokidar@^2.0.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d" - integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A== +chokidar@^2.0.2, chokidar@^2.1.6: + version "2.1.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU= dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -2523,39 +2684,39 @@ chokidar@^2.0.0, chokidar@^2.0.2: fsevents "^1.2.7" chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha1-oY8eCyacimpdPIbrKYvrFMPde/Y= chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= dependencies: tslib "^1.9.0" +ci-info@2.0.0, ci-info@^2.0.0: + version "2.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + ci-info@^1.5.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc= cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" class-utils@^0.3.5: version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= dependencies: arr-union "^3.1.0" define-property "^0.2.5" @@ -2564,39 +2725,65 @@ class-utils@^0.3.5: classnames@2.2.6: version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= cli-boxes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= +cli-boxes@^2.2.0: + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" + integrity sha1-U47K6PnGylCOPDyVtFP+k8tMFo0= + cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" +cli-spinners@^1.0.0: + version "1.3.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo= + cli-table3@^0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha1-AlI3LZTfxA29jfBgBfSPMfZW8gI= dependencies: object-assign "^4.1.0" string-width "^2.1.1" optionalDependencies: colors "^1.1.2" +cli-truncate@^1.1.0: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086" + integrity sha1-Ky39g8U8/TVyuH/E1DCoCK+wQIY= + dependencies: + slice-ansi "^1.0.0" + string-width "^2.0.0" + cli-width@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +clipboardy@^1.2.3: + version "1.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef" + integrity sha1-BSY2G/eHJMHyC+JI1CjjZUM8B+8= + dependencies: + arch "^2.1.0" + execa "^0.8.0" + cliui@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= dependencies: string-width "^1.0.1" @@ -2605,8 +2792,8 @@ cliui@^3.2.0: cliui@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" @@ -2614,13 +2801,13 @@ cliui@^4.0.0: co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://repox.jfrog.io/repox/api/npm/npm/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= coa@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= dependencies: "@types/q" "^1.5.1" chalk "^2.4.1" @@ -2628,17 +2815,17 @@ coa@^2.0.2: code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://repox.jfrog.io/repox/api/npm/npm/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.4.tgz#ce05cf49e54c3277ae573036a26851ba430a0091" - integrity sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw== + version "1.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" + integrity sha1-wklbaZqx7TgNKaEJHgEGPnXbvjo= collection-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" @@ -2646,85 +2833,78 @@ collection-visit@^1.0.0: color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= dependencies: color-name "1.1.3" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= color-string@^1.5.2: version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw= dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" color@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc" - integrity sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg== + version "3.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= dependencies: color-convert "^1.9.1" color-string "^1.5.2" colors@^1.1.2: version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" + integrity sha1-OeAF1Uav4B4B+cTKj6UPaGoBIF0= combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + version "1.0.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= dependencies: delayed-stream "~1.0.0" comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz#b13793131d9ea2d2431cf5b507ddec258f0ce0db" - integrity sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA== - dependencies: - trim "0.0.1" + version "1.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" + integrity sha1-QZzX+zJYse2DjcCVMWeiXhUvW1k= command-exists@^1.2.2: version "1.2.8" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291" - integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291" + integrity sha1-cVrO/dEiO5ybNxEKFJxjksKFIpE= -commander@^2.11.0, commander@^2.19.0, commander@^2.9.0, commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +commander@^2.11.0, commander@^2.19.0, commander@^2.9.0, commander@~2.20.0: + version "2.20.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha1-1YuytcHuj4ew00ACfp6U4iLFpCI= common-tags@^1.4.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha1-jjFT5ULUo56bEFVENK+q+YlWqTc= commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-versions@^3.2.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" - integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== - compass-vertical-rhythm@^1.4.5: version "1.4.5" - resolved "https://registry.yarnpkg.com/compass-vertical-rhythm/-/compass-vertical-rhythm-1.4.5.tgz#4baa8d7068fda164d3675d706775d7547e8750f5" - integrity sha512-bJo3IYX7xmmZCDYjrT2XolaiNjGZ4E2JvUGxpdU0ecbH4ZLK786wvc8aHKVrGrKct9JlkmJbUi8YLrQWvOc+uA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/compass-vertical-rhythm/-/compass-vertical-rhythm-1.4.5.tgz#4baa8d7068fda164d3675d706775d7547e8750f5" + integrity sha1-S6qNcGj9oWTTZ11wZ3XXVH6HUPU= dependencies: convert-css-length "^1.0.1" object-assign "^4.1.0" @@ -2732,30 +2912,35 @@ compass-vertical-rhythm@^1.4.5: component-bind@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= -component-emitter@1.2.1, component-emitter@^1.2.1: +component-emitter@1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + component-inherit@0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + resolved "https://repox.jfrog.io/repox/api/npm/npm/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= compressible@~2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.16.tgz#a49bf9858f3821b64ce1be0296afc7380466a77f" - integrity sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA== + version "2.0.17" + resolved "https://repox.jfrog.io/repox/api/npm/npm/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" + integrity sha1-bowQihatWDhKl386SCyiC/8vOME= dependencies: - mime-db ">= 1.38.0 < 2" + mime-db ">= 1.40.0 < 2" -compression@^1.5.2, compression@^1.7.3: +compression@^1.7.3, compression@^1.7.4: version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= dependencies: accepts "~1.3.5" bytes "3.0.0" @@ -2767,13 +2952,13 @@ compression@^1.5.2, compression@^1.7.3: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.5.0: version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -2782,8 +2967,20 @@ concat-stream@^1.5.0: configstore@^3.0.0: version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" + integrity sha1-xvJd767vJt8S3TNBSwAf6BpUP48= + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +configstore@^4.0.0: + version "4.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" + integrity sha1-WTMxHpXTaH77WSxSi5ItkmLSJ+c= dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -2793,86 +2990,93 @@ configstore@^3.0.0: xdg-basedir "^3.0.0" confusing-browser-globals@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.6.tgz#5918188e8244492cdd46d6be1cab60edef3063ce" - integrity sha512-GzyX86c2TvaagAOR+lHL2Yq4T4EnoBcnojZBcNbxVKSunxmGTnioXHR5Mo2ha/XnCoQw8eurvj6Ta+SwPEPkKg== + version "1.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/confusing-browser-globals/-/confusing-browser-globals-1.0.7.tgz#5ae852bd541a910e7ffb2dbb864a2d21a36ad29b" + integrity sha1-WuhSvVQakQ5/+y27hkotIaNq0ps= -connect-history-api-fallback@^1.3.0: +connect-history-api-fallback@^1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= console-browserify@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= console-polyfill@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/console-polyfill/-/console-polyfill-0.1.2.tgz#96cfed51caf78189f699572e6f18271dc37c0e30" + resolved "https://repox.jfrog.io/repox/api/npm/npm/console-polyfill/-/console-polyfill-0.1.2.tgz#96cfed51caf78189f699572e6f18271dc37c0e30" integrity sha1-ls/tUcr3gYn2mVcubxgnHcN8DjA= constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://repox.jfrog.io/repox/api/npm/npm/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= contains-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= +content-disposition@0.5.3: + version "0.5.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= convert-css-length@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/convert-css-length/-/convert-css-length-1.0.2.tgz#32f38a8ac55d78372ff43562532564366c871ccc" - integrity sha512-ecV7j3hXyXN1X2XfJBzhMR0o1Obv0v3nHmn0UiS3ACENrzbxE/EknkiunS/fCwQva0U62X1GChi8GaPh4oTlLg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/convert-css-length/-/convert-css-length-1.0.2.tgz#32f38a8ac55d78372ff43562532564366c871ccc" + integrity sha1-MvOKisVdeDcv9DViUyVkNmyHHMw= dependencies: console-polyfill "^0.1.2" parse-unit "^1.0.1" convert-hrtime@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-hrtime/-/convert-hrtime-2.0.0.tgz#19bfb2c9162f9e11c2f04c2c79de2b7e8095c627" + resolved "https://repox.jfrog.io/repox/api/npm/npm/convert-hrtime/-/convert-hrtime-2.0.0.tgz#19bfb2c9162f9e11c2f04c2c79de2b7e8095c627" integrity sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic= convert-source-map@^1.1.0, convert-source-map@^1.4.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= dependencies: safe-buffer "~5.1.1" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= +cookie@0.4.0: + version "0.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + copy-concurrently@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= dependencies: aproba "^1.1.1" fs-write-stream-atomic "^1.0.8" @@ -2883,12 +3087,12 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copyfiles@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-1.2.0.tgz#a8da3ac41aa2220ae29bd3c58b6984294f2c593c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/copyfiles/-/copyfiles-1.2.0.tgz#a8da3ac41aa2220ae29bd3c58b6984294f2c593c" integrity sha1-qNo6xBqiIgrim9PFi2mEKU8sWTw= dependencies: glob "^7.0.5" @@ -2898,80 +3102,64 @@ copyfiles@^1.2.0: noms "0.0.0" through2 "^2.0.1" -core-js-compat@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.0.tgz#cd9810b8000742535a4a43773866185e310bd4f7" - integrity sha512-W/Ppz34uUme3LmXWjMgFlYyGnbo1hd9JvA0LNQ4EmieqVjg2GPYbj3H6tcdP2QGPGWdRKUqZVbVKLNIFVs/HiA== +core-js-compat@^3.1.1: + version "3.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" + integrity sha1-5NDED70B5lsdRXmA/kES1DWKdAg= dependencies: - browserslist "^4.5.1" - core-js "3.0.0" - core-js-pure "3.0.0" - semver "^5.6.0" + browserslist "^4.6.2" + core-js-pure "3.1.4" + semver "^6.1.1" -core-js-pure@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.0.tgz#a5679adb4875427c8c0488afc93e6f5b7125859b" - integrity sha512-yPiS3fQd842RZDgo/TAKGgS0f3p2nxssF1H65DIZvZv0Od5CygP8puHXn3IQiM/39VAvgCbdaMQpresrbGgt9g== - -core-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" - integrity sha512-WBmxlgH2122EzEJ6GH8o9L/FeoUKxxxZ6q6VUxoTlsE4EvbTWKJb447eyVxTEuq0LpXjlq/kCB2qgBvsYRkLvQ== +core-js-pure@3.1.4: + version "3.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" + integrity sha1-X6F9x3ACoWmjVmzEjcd00uE+N2k= core-js@^1.0.0: version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" - integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== + version "2.6.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" + integrity sha1-a0shRiDINBUuF5Mjcn/Bl0GwhPI= core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - -cosmiconfig@^5.0.0, cosmiconfig@^5.0.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8" - integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g== +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: + version "5.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.13.0" + js-yaml "^3.13.1" parse-json "^4.0.0" create-ecdh@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8= dependencies: bn.js "^4.1.0" elliptic "^6.0.0" create-error-class@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= dependencies: capture-stack-trace "^1.0.0" create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -2981,8 +3169,8 @@ create-hash@^1.1.0, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -2993,15 +3181,15 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: create-react-context@^0.2.1: version "0.2.3" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" - integrity sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" + integrity sha1-nsFAppFKIu8EuLCbd3HeiVZ8tvM= dependencies: fbjs "^0.8.0" gud "^1.0.0" cross-fetch@2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM= dependencies: node-fetch "2.1.2" @@ -3009,15 +3197,15 @@ cross-fetch@2.2.2: cross-fetch@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" - integrity sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" + integrity sha1-6KCzxUWYE24Df4ZQ+OgjzN+sGY4= dependencies: node-fetch "2.1.2" whatwg-fetch "2.0.4" cross-spawn@5.1.0, cross-spawn@^5.0.1: version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: lru-cache "^4.0.1" @@ -3026,8 +3214,8 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1: cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -3037,13 +3225,13 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: crypt@~0.0.1: version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= crypto-browserify@^3.11.0: version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -3059,26 +3247,26 @@ crypto-browserify@^3.11.0: crypto-random-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= css-declaration-sorter@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= dependencies: postcss "^7.0.1" timsort "^0.3.0" css-loader@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe" - integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe" + integrity sha1-aIW7UjOzXsR7AGBX2gHMZAtref4= dependencies: babel-code-frame "^6.26.0" css-selector-tokenizer "^0.7.0" @@ -3095,12 +3283,12 @@ css-loader@^1.0.0: css-select-base-adapter@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= dependencies: boolbase "~1.0.0" @@ -3110,8 +3298,8 @@ css-select@^1.1.0, css-select@~1.2.0: css-select@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" + integrity sha1-q0OGzsnh9miFVWSxfDcztDsqXt4= dependencies: boolbase "^1.0.0" css-what "^2.1.2" @@ -3120,13 +3308,13 @@ css-select@^2.0.0: css-selector-parser@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb" integrity sha1-XxrUPi2O77/cME/NOaUhZklD4+s= css-selector-tokenizer@^0.7.0: version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" + integrity sha1-oXcnGovKUBkXL0+JH8bu2cv2jV0= dependencies: cssesc "^0.1.0" fastparse "^1.1.1" @@ -3134,59 +3322,49 @@ css-selector-tokenizer@^0.7.0: css-tree@1.0.0-alpha.28: version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" - integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" + integrity sha1-joloGQ2IbJR3vI1h6W9hrz9/+n8= dependencies: mdn-data "~1.1.0" source-map "^0.5.3" css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + integrity sha1-P6nU7zFCy9HDAedmTB81K9gvWjk= dependencies: mdn-data "~1.1.0" source-map "^0.5.3" css-unit-converter@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= css-url-regex@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= css-what@2.1, css-what@^2.1.2: version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css@2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= cssesc@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= cssesc@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= cssnano-preset-default@^4.0.7: version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= dependencies: css-declaration-sorter "^4.0.1" cssnano-util-raw-cache "^4.0.1" @@ -3221,30 +3399,30 @@ cssnano-preset-default@^4.0.7: cssnano-util-get-arguments@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= cssnano-util-get-match@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= cssnano-util-raw-cache@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= dependencies: postcss "^7.0.0" cssnano-util-same-parent@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= -cssnano@^4.1.0: +cssnano@^4.1.10: version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= dependencies: cosmiconfig "^5.0.0" cssnano-preset-default "^4.0.7" @@ -3253,56 +3431,56 @@ cssnano@^4.1.0: csso@^3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + integrity sha1-e564vmFiiXPBsmHhadLwJACOdYs= dependencies: css-tree "1.0.0-alpha.29" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.6" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" - integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== +"cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: + version "0.3.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= cssstyle@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.1.tgz#3aceb2759eaf514ac1a21628d723d6043a819495" - integrity sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A== + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssstyle/-/cssstyle-1.3.0.tgz#c36c466f7037fd30f03baa271b65f0f17b50585c" + integrity sha1-w2xGb3A3/TDwO6onG2Xw8XtQWFw= dependencies: - cssom "0.3.x" + cssom "~0.3.6" csstype@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.3.tgz#b701e5968245bf9b08d54ac83d00b624e622a9fa" - integrity sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg== + version "2.6.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034" + integrity sha1-HNHf90Lr9NfJkUcK5x4Su2dR4DQ= currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= dependencies: array-find-index "^1.0.1" cyclist@~0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= damerau-levenshtein@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= + version "1.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" + integrity sha1-eAz3FE6y6NvRw7uDrjEQDMwxpBQ= dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" data-urls@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= dependencies: abab "^2.0.0" whatwg-mimetype "^2.2.0" @@ -3310,123 +3488,109 @@ data-urls@^1.0.0: date-now@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= -debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= dependencies: ms "2.0.0" debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= dependencies: ms "^2.1.1" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= dependencies: ms "^2.1.1" debug@~3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= dependencies: ms "2.0.0" decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://repox.jfrog.io/repox/api/npm/npm/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== - dependencies: - xregexp "4.0.0" - decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://repox.jfrog.io/repox/api/npm/npm/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= decompress-response@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= dependencies: mimic-response "^1.0.0" deep-equal@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -default-gateway@^4.0.1: +default-gateway@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= dependencies: execa "^1.0.0" ip-regex "^2.1.0" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= dependencies: object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" del@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= dependencies: globby "^6.1.0" @@ -3436,29 +3600,42 @@ del@^3.0.0: pify "^3.0.0" rimraf "^2.2.8" +del@^4.1.1: + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://repox.jfrog.io/repox/api/npm/npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= depd@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= deprecated-decorator@^0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" + resolved "https://repox.jfrog.io/repox/api/npm/npm/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc= des.js@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= dependencies: inherits "^2.0.1" @@ -3466,39 +3643,39 @@ des.js@^1.0.0: destroy@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://repox.jfrog.io/repox/api/npm/npm/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= detab@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.1.tgz#531f5e326620e2fd4f03264a905fb3bcc8af4df4" - integrity sha512-/hhdqdQc5thGrqzjyO/pz76lDZ5GSuAs6goxOaKTsvPk7HNnzAyFN5lyHgqpX4/s1i66K8qMGj+VhA9504x7DQ== + version "2.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detab/-/detab-2.0.2.tgz#074970d1a807b045d0258a4235df5928dd683561" + integrity sha1-B0lw0agHsEXQJYpCNd9ZKN1oNWE= dependencies: repeat-string "^1.5.4" detect-indent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= detect-libc@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= detect-newline@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= detect-node@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= detect-port-alt@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131" integrity sha1-pNLwYddXoDTs83xRQmCph1DysTE= dependencies: address "^1.0.1" @@ -3506,15 +3683,15 @@ detect-port-alt@1.1.3: detect-port@^1.2.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" + integrity sha1-2cQOmsyt1N9crGp4Ku/QFNVz0fE= dependencies: address "^1.0.1" debug "^2.6.0" devcert-san@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/devcert-san/-/devcert-san-0.3.3.tgz#aa77244741b2d831771c011f22ee25e396ad4ba9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/devcert-san/-/devcert-san-0.3.3.tgz#aa77244741b2d831771c011f22ee25e396ad4ba9" integrity sha1-qnckR0Gy2DF3HAEfIu4l45atS6k= dependencies: "@types/configstore" "^2.1.1" @@ -3536,13 +3713,13 @@ devcert-san@^0.3.3: diff-sequences@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" - integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" + integrity sha1-DyDood8avdr02cImaAlS5kEYuXU= diffie-hellman@^5.0.0: version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -3550,32 +3727,32 @@ diffie-hellman@^5.0.0: discontinuous-range@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo= dns-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= dependencies: ip "^1.1.0" safe-buffer "^5.0.1" dns-txt@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= dependencies: buffer-indexof "^1.0.0" doctrine@1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= dependencies: esutils "^2.0.2" @@ -3583,77 +3760,77 @@ doctrine@1.5.0: doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= dependencies: esutils "^2.0.2" dom-converter@^0.2: version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= dependencies: utila "~0.4" dom-helpers@^3.2.1: version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha1-6bNpcA+Vn2Ls3lprq95LzNkWmvg= dependencies: "@babel/runtime" "^7.1.2" -dom-serializer@0, dom-serializer@~0.1.0: +dom-serializer@0, dom-serializer@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha1-HsQFnihLq+027sKUHUqXChic58A= dependencies: domelementtype "^1.3.0" entities "^1.1.1" dom-walk@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= domexception@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= dependencies: webidl-conversions "^4.0.2" domhandler@^2.3.0: version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= dependencies: domelementtype "1" domready@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c" integrity sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw= domutils@1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= dependencies: dom-serializer "0" @@ -3661,38 +3838,38 @@ domutils@1.5.1: domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= dependencies: dom-serializer "0" domelementtype "1" dot-prop@^4.1.0, dot-prop@^4.1.1: version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc= dependencies: is-obj "^1.0.0" dotenv@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0= duplexer3@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= duplexer@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -3701,7 +3878,7 @@ duplexify@^3.4.2, duplexify@^3.6.0: ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" @@ -3709,23 +3886,23 @@ ecc-jsbn@~0.1.1: ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= elasticlunr@^0.9.5: version "0.9.5" - resolved "https://registry.yarnpkg.com/elasticlunr/-/elasticlunr-0.9.5.tgz#65541bb309dddd0cf94f2d1c8861b2be651bb0d5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/elasticlunr/-/elasticlunr-0.9.5.tgz#65541bb309dddd0cf94f2d1c8861b2be651bb0d5" integrity sha1-ZVQbswnd3Qz5Ty0ciGGyvmUbsNU= -electron-to-chromium@^1.3.116, electron-to-chromium@^1.3.47: - version "1.3.119" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.119.tgz#9a7770da667252aeb81f667853f67c2b26e00197" - integrity sha512-3mtqcAWa4HgG+Djh/oNXlPH0cOH6MmtwxN1nHSaReb9P0Vn51qYPqYwLeoSuAX9loU1wrOBhFbiX3CkeIxPfgg== +electron-to-chromium@^1.3.164, electron-to-chromium@^1.3.47: + version "1.3.186" + resolved "https://repox.jfrog.io/repox/api/npm/npm/electron-to-chromium/-/electron-to-chromium-1.3.186.tgz#17d87e7661121724ea4c81c9960c3f26a5228c0c" + integrity sha1-F9h+dmESFyTqTIHJlgw/JqUijAw= elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== + version "6.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha1-K47UyJG33jIA4UQSpbgkjHr1Bco= dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -3737,42 +3914,42 @@ elliptic@^6.0.0: "emoji-regex@>=6.0.0 <=6.1.1": version "6.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= emojis-list@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + resolved "https://repox.jfrog.io/repox/api/npm/npm/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://repox.jfrog.io/repox/api/npm/npm/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= encoding@^0.1.11: version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= dependencies: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha1-7SljTRm6ukY7bOa4CjchPqtx7EM= dependencies: once "^1.4.0" engine.io-client@~3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" - integrity sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" + integrity sha1-BOBoeY11vtoUN1omS7PXQte8M6o= dependencies: component-emitter "1.2.1" component-inherit "0.0.3" @@ -3788,8 +3965,8 @@ engine.io-client@~3.3.1: engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: version "2.1.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" - integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" + integrity sha1-dXq5cPvy37Mse3SwMyFtVznveaY= dependencies: after "0.8.2" arraybuffer.slice "~0.0.7" @@ -3799,8 +3976,8 @@ engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: engine.io@~3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.3.2.tgz#18cbc8b6f36e9461c5c0f81df2b830de16058a59" - integrity sha512-AsaA9KG7cWPXWHp5FvHdDWY3AMWeZ8x+2pUVLcn71qE5AtAzgGbxuclOytygskw8XGmiQafTmnI9Bix3uihu2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/engine.io/-/engine.io-3.3.2.tgz#18cbc8b6f36e9461c5c0f81df2b830de16058a59" + integrity sha1-GMvItvNulGHFwPgd8rgw3hYFilk= dependencies: accepts "~1.3.4" base64id "1.0.0" @@ -3811,8 +3988,8 @@ engine.io@~3.3.1: enhanced-resolve@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha1-Qcfgv9/nSsH/4eV61qXGyfN0Kn8= dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -3820,32 +3997,34 @@ enhanced-resolve@^4.1.0: entities@^1.1.1, entities@~1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= envinfo@^5.8.1: version "5.12.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.12.1.tgz#83068c33e0972eb657d6bc69a6df30badefb46ef" - integrity sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/envinfo/-/envinfo-5.12.1.tgz#83068c33e0972eb657d6bc69a6df30badefb46ef" + integrity sha1-gwaMM+CXLrZX1rxppt8wut77Ru8= -enzyme-adapter-react-16@1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.11.2.tgz#8efeafb27e96873a5492fdef3f423693182eb9d4" - integrity sha512-2ruTTCPRb0lPuw/vKTXGVZVBZqh83MNDnakMhzxhpJcIbneEwNy2Cv0KvL97pl57/GOazJHflWNLjwWhex5AAA== +enzyme-adapter-react-16@1.14.0: + version "1.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.14.0.tgz#204722b769172bcf096cb250d33e6795c1f1858f" + integrity sha1-IEcit2kXK88JbLJQ0z5nlcHxhY8= dependencies: - enzyme-adapter-utils "^1.10.1" + enzyme-adapter-utils "^1.12.0" + has "^1.0.3" object.assign "^4.1.0" object.values "^1.1.0" prop-types "^15.7.2" - react-is "^16.8.4" + react-is "^16.8.6" react-test-renderer "^16.0.0-0" - semver "^5.6.0" + semver "^5.7.0" -enzyme-adapter-utils@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.1.tgz#58264efa19a7befdbf964fb7981a108a5452ac96" - integrity sha512-oasinhhLoBuZsIkTe8mx0HiudtfErUtG0Ooe1FOplu/t4c9rOmyG5gtrBASK6u4whHIRWvv0cbZMElzNTR21SA== +enzyme-adapter-utils@^1.12.0: + version "1.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz#96e3730d76b872f593e54ce1c51fa3a451422d93" + integrity sha1-luNzDXa4cvWT5UzhxR+jpFFCLZM= dependencies: + airbnb-prop-types "^2.13.2" function.prototype.name "^1.1.0" object.assign "^4.1.0" object.fromentries "^2.0.0" @@ -3854,15 +4033,15 @@ enzyme-adapter-utils@^1.10.1: enzyme-to-json@3.3.5: version "3.3.5" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" - integrity sha512-DmH1wJ68HyPqKSYXdQqB33ZotwfUhwQZW3IGXaNXgR69Iodaoj8TF/D9RjLdz4pEhGq2Tx2zwNUIjBuqoZeTgA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" + integrity sha1-+OuCvT1ZQcnYvG/ZFAAwd30X0K8= dependencies: lodash "^4.17.4" -enzyme@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.9.0.tgz#2b491f06ca966eb56b6510068c7894a7e0be3909" - integrity sha512-JqxI2BRFHbmiP7/UFqvsjxTirWoM1HfeaJrmVSZ9a1EADKkZgdPcAuISPMpoUiHlac9J4dYt81MC5BBIrbJGMg== +enzyme@3.10.0: + version "3.10.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme/-/enzyme-3.10.0.tgz#7218e347c4a7746e133f8e964aada4a3523452f6" + integrity sha1-chjjR8SndG4TP46WSq2ko1I0UvY= dependencies: array.prototype.flat "^1.2.1" cheerio "^1.0.0-rc.2" @@ -3888,34 +4067,34 @@ enzyme@3.9.0: eol@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/eol/-/eol-0.8.1.tgz#defc3224990c7eca73bb34461a56cf9dc24761d0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eol/-/eol-0.8.1.tgz#defc3224990c7eca73bb34461a56cf9dc24761d0" integrity sha1-3vwyJJkMfspzuzRGGlbPncJHYdA= errno@^0.1.3, errno@~0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= dependencies: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d" - integrity sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d" + integrity sha1-Sujbqiv5CotFBwe5FJ3KvKE1Ug0= dependencies: stackframe "^1.0.4" -es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: +es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha1-rIYUX91QmdjdSVWMy6Lq+biOJOk= dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" @@ -3926,8 +4105,8 @@ es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5. es-to-primitive@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha1-7fckeAM0VujdqO8J4ArZZQcH83c= dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -3935,23 +4114,23 @@ es-to-primitive@^1.2.0: es6-promisify@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.0.1.tgz#6edaa45f3bd570ffe08febce66f7116be4b1cdb6" - integrity sha512-J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/es6-promisify/-/es6-promisify-6.0.1.tgz#6edaa45f3bd570ffe08febce66f7116be4b1cdb6" + integrity sha1-btqkXzvVcP/gj+vOZvcRa+SxzbY= escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://repox.jfrog.io/repox/api/npm/npm/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.9.1: version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" + integrity sha1-xIX/jWtM24nif0qFbpHxGEAcpRA= dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -3962,28 +4141,28 @@ escodegen@^1.9.1: eslint-config-react-app@^3.0.0: version "3.0.8" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-3.0.8.tgz#6f606828ba30bafee7d744c41cd07a3fea8f3035" - integrity sha512-Ovi6Bva67OjXrom9Y/SLJRkrGqKhMAL0XCH8BizPhjEVEhYczl2ZKiNZI2CuqO5/CJwAfMwRXAVGY0KToWr1aA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-config-react-app/-/eslint-config-react-app-3.0.8.tgz#6f606828ba30bafee7d744c41cd07a3fea8f3035" + integrity sha1-b2BoKLowuv7n10TEHNB6P+qPMDU= dependencies: confusing-browser-globals "^1.0.6" -eslint-config-sonarqube@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-sonarqube/-/eslint-config-sonarqube-0.3.0.tgz#b0b0d7ad1915575c7abceee34774e60a6e56a16a" - integrity sha512-lfLkMbrhdkSMtaWSaWoUuJEZjXtij3k2mUz9lNf+5bzxX/QcqeE4xyP7hPoljJzYCb19rN2SxWWDTfuYaZEN/Q== +eslint-config-sonarqube@0.5.0: + version "0.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-config-sonarqube/-/eslint-config-sonarqube-0.5.0.tgz#8b06475a46fe4a58c527894ab79e07acd8d8c345" + integrity sha1-iwZHWkb+SljFJ4lKt54HrNjYw0U= eslint-import-resolver-node@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha1-WPFfuDm40FdsqYBBNHaqskcttmo= dependencies: debug "^2.6.9" resolve "^1.5.0" eslint-loader@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.2.tgz#453542a1230d6ffac90e4e7cb9cadba9d851be68" - integrity sha512-rA9XiXEOilLYPOIInvVH5S/hYfyTPyxag6DZhoQOduM+3TkghAEQ3VcFO8VnX4J4qg/UIBzp72aOf/xvYmpmsg== + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" @@ -3991,49 +4170,50 @@ eslint-loader@^2.1.0: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-module-utils@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" - integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== +eslint-module-utils@^2.4.0: + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" + integrity sha1-i5NJnpsA6rgMy2YU5p8DZ46E4Jo= dependencies: debug "^2.6.8" pkg-dir "^2.0.0" eslint-plugin-flowtype@^2.46.1: version "2.50.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz#61379d6dce1d010370acd6681740fd913d68175f" - integrity sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz#61379d6dce1d010370acd6681740fd913d68175f" + integrity sha1-YTedbc4dAQNwrNZoF0D9kT1oF18= dependencies: lodash "^4.17.10" eslint-plugin-graphql@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-2.1.1.tgz#dae5d597080075320ea8e98795056309ffe73a18" - integrity sha512-JT2paUyu3e9ZDnroSshwUMc6pKcnkfXTsZInX1+/rPotvqOLVLtdrx/cmfb7PTJwjiEAshwcpm3/XPdTpsKJPw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-graphql/-/eslint-plugin-graphql-2.1.1.tgz#dae5d597080075320ea8e98795056309ffe73a18" + integrity sha1-2uXVlwgAdTIOqOmHlQVjCf/nOhg= dependencies: graphql-config "^2.0.1" lodash "^4.11.1" -eslint-plugin-import@2.16.0, eslint-plugin-import@^2.9.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== +eslint-plugin-import@2.18.0, eslint-plugin-import@^2.9.0: + version "2.18.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678" + integrity sha1-eluo0yYi+zXrnI2xlcIJC9GKNng= dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" lodash "^4.17.11" minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" -eslint-plugin-jsx-a11y@6.2.1, eslint-plugin-jsx-a11y@^6.0.3: +eslint-plugin-jsx-a11y@6.2.1: version "6.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" - integrity sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" + integrity sha1-Trup8zm2AP9BWuQWbj4uAIgxzww= dependencies: aria-query "^3.0.0" array-includes "^3.0.3" @@ -4044,32 +4224,54 @@ eslint-plugin-jsx-a11y@6.2.1, eslint-plugin-jsx-a11y@^6.0.3: has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-promise@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" - integrity sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg== +eslint-plugin-jsx-a11y@^6.0.3: + version "6.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" -eslint-plugin-react@7.12.4, eslint-plugin-react@^7.8.2: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== +eslint-plugin-promise@4.1.1: + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db" + integrity sha1-HgjLaLWyzYg5+NWGTHlvVtgnRts= + +eslint-plugin-react-hooks@1.6.1: + version "1.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" + integrity sha1-PGalUV6j4KIh/8XU51yXHCF7Gkw= + +eslint-plugin-react@7.14.2, eslint-plugin-react@^7.8.2: + version "7.14.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react/-/eslint-plugin-react-7.14.2.tgz#94c193cc77a899ac0ecbb2766fbef88685b7ecc1" + integrity sha1-lMGTzHeomawOy7J2b774hoW37ME= dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" -eslint-plugin-sonarjs@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.3.0.tgz#e680438e816142c1a85d5ec4d0d36a12b1491459" - integrity sha512-75e/FgU04ySKVYsrMOioINMphJNtfXq/tJ6FOC/50H9osuM0E3pqAKckMja2zl+CHqhDroz0qJdcS3kFy5GYlQ== +eslint-plugin-sonarjs@0.4.0: + version "0.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.4.0.tgz#85b7dce10b9a464fb1062f0afc88694b6faaba84" + integrity sha1-hbfc4QuaRk+xBi8K/IhpS2+quoQ= eslint-scope@3.7.1: version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= dependencies: esrecurse "^4.1.0" @@ -4077,26 +4279,26 @@ eslint-scope@3.7.1: eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" eslint-utils@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha1-moUbqJ7nxGA0b5fPiTnHKYgn5RI= eslint-visitor-keys@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha1-PzGA+y4pEBdxastMnW1bXDSmqB0= -eslint@5.15.3, eslint@^5.6.0: - version "5.15.3" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ== +eslint@5.16.0, eslint@^5.6.0: + version "5.16.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha1-oeOsGq5KP72Clvz496tzFMu2q+o= dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.9.1" @@ -4118,7 +4320,7 @@ eslint@5.15.3, eslint@^5.6.0: import-fresh "^3.0.0" imurmurhash "^0.1.4" inquirer "^6.2.2" - js-yaml "^3.12.0" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" lodash "^4.17.11" @@ -4137,8 +4339,8 @@ eslint@5.15.3, eslint@^5.6.0: espree@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o= dependencies: acorn "^6.0.7" acorn-jsx "^5.0.0" @@ -4146,88 +4348,88 @@ espree@^5.0.1: esprima@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + resolved "https://repox.jfrog.io/repox/api/npm/npm/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= esquery@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg= dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= dependencies: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://repox.jfrog.io/repox/api/npm/npm/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= event-source-polyfill@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.5.tgz#b34be2740a685a8dc65ae750065fc983538ffcfe" - integrity sha512-PdStgZ3+G2o2gjqsBYbV4931ByVmwLwSrX7mFgawCL+9I1npo9dwAQTnWtNWXe5IY2P8+AbbPteeOueiEtRCUA== + version "1.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/event-source-polyfill/-/event-source-polyfill-1.0.7.tgz#79a0a432e00ef53387309d6213d98332bab0a4ea" + integrity sha1-eaCkMuAO9TOHMJ1iE9mDMrqwpOo= eventemitter3@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== + version "3.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha1-LT1I+cNGaY/Og6hdfWZOmFNd9uc= events@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha1-mgoN+vYok9krh1uPJpjKQRSXPog= eventsource@0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= dependencies: original ">=0.0.5" eventsource@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= dependencies: original "^1.0.0" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" exec-sh@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" + integrity sha1-ZzjeLrfI5nHQNmrqCw24xvfXORs= execa@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + resolved "https://repox.jfrog.io/repox/api/npm/npm/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= dependencies: cross-spawn "^5.0.1" @@ -4240,7 +4442,7 @@ execa@^0.7.0: execa@^0.8.0: version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + resolved "https://repox.jfrog.io/repox/api/npm/npm/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= dependencies: cross-spawn "^5.0.1" @@ -4253,8 +4455,8 @@ execa@^0.8.0: execa@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -4266,17 +4468,17 @@ execa@^1.0.0: exenv@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= exit@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^2.1.4: version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" @@ -4289,79 +4491,79 @@ expand-brackets@^2.1.4: expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" -expect@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.5.0.tgz#492fb0df8378d8474cc84b827776b069f46294ed" - integrity sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw== +expect@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" + integrity sha1-Rx+Owla3thKcolJLKmLwMN84cY0= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" ansi-styles "^3.2.0" - jest-get-type "^24.3.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" + jest-get-type "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" jest-regex-util "^24.3.0" express-graphql@^0.6.12: version "0.6.12" - resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.6.12.tgz#dfcb2058ca72ed5190b140830ad8cdbf76a9128a" - integrity sha512-ouLWV0hRw4hnaLtXzzwhdC79ewxKbY2PRvm05mPc/zOH5W5WVCHDQ1SmNxEPBQdUeeSNh29aIqW9zEQkA3kMuA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/express-graphql/-/express-graphql-0.6.12.tgz#dfcb2058ca72ed5190b140830ad8cdbf76a9128a" + integrity sha1-38sgWMpy7VGQsUCDCtjNv3apEoo= dependencies: accepts "^1.3.0" content-type "^1.0.4" http-errors "^1.3.0" raw-body "^2.3.2" -express@^4.16.2, express@^4.16.3: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== +express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= dependencies: - accepts "~1.3.5" + accepts "~1.3.7" array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" + body-parser "1.19.0" + content-disposition "0.5.3" content-type "~1.0.4" - cookie "0.3.1" + cookie "0.4.0" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.1.1" + finalhandler "~1.1.2" fresh "0.5.2" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" - parseurl "~1.3.2" + parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" @@ -4369,13 +4571,13 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: extend@^3.0.0, extend@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= external-editor@^2.0.4: version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha1-BFURz9jRM/OEZnPRBHwVTiFK09U= dependencies: chardet "^0.4.0" iconv-lite "^0.4.17" @@ -4383,8 +4585,8 @@ external-editor@^2.0.4: external-editor@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha1-WGbbKal4Jtvkvzr9JAcOrZ6kOic= dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -4392,8 +4594,8 @@ external-editor@^3.0.3: extglob@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -4406,23 +4608,23 @@ extglob@^2.0.4: extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-glob@^2.2.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" - integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== + version "2.2.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -4433,48 +4635,48 @@ fast-glob@^2.2.2: fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastparse@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha1-kXKMWllC7O2FMSg8eUQe5BIsNak= faye-websocket@^0.10.0: version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= dependencies: websocket-driver ">=0.5.1" faye-websocket@~0.11.0, faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= + version "0.11.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= dependencies: bser "^2.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha1-IWVRE2rgL+JVkyw+yHdfGOLAeLg= fbjs@^0.8.0: version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= dependencies: core-js "^1.0.0" @@ -4487,8 +4689,8 @@ fbjs@^0.8.0: fbjs@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" - integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" + integrity sha1-UsIV4Ig6PIavKnp3btUVJa6OClo= dependencies: core-js "^2.4.1" fbjs-css-vars "^1.0.0" @@ -4501,52 +4703,44 @@ fbjs@^1.0.0: figgy-pudding@^3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A= figures@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://repox.jfrog.io/repox/api/npm/npm/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= dependencies: flat-cache "^2.0.1" file-loader@^1.1.11: version "1.1.11" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" - integrity sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" + integrity sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg= dependencies: loader-utils "^1.0.2" schema-utils "^0.4.5" file-type@^10.2.0: - version "10.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.9.0.tgz#f6c12c7cb9e6b8aeefd6917555fd4f9eadf31891" - integrity sha512-9C5qtGR/fNibHC5gzuMmmgnjH3QDDLKMa8lYe9CiZVmAnI4aUaoMh40QyUPzzs0RYo837SOBKh7TYwle4G8E4w== - -fileset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" + version "10.11.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/file-type/-/file-type-10.11.0.tgz#2961d09e4675b9fb9a3ee6b69e9cd23f43fd1890" + integrity sha1-KWHQnkZ1ufuaPua2npzSP0P9GJA= filesize@3.5.11: version "3.5.11" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" - integrity sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" + integrity sha1-GRkyZ0lDO7PPdzaL0VjKq8wZ6e4= fill-range@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" @@ -4554,22 +4748,22 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" + parseurl "~1.3.3" + statuses "~1.5.0" unpipe "~1.0.0" find-cache-dir@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= dependencies: commondir "^1.0.1" @@ -4578,8 +4772,8 @@ find-cache-dir@^0.1.1: find-cache-dir@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= dependencies: commondir "^1.0.1" make-dir "^2.0.0" @@ -4587,7 +4781,7 @@ find-cache-dir@^2.0.0: find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" @@ -4595,22 +4789,22 @@ find-up@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= dependencies: locate-path "^3.0.0" flat-cache@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= dependencies: flatted "^2.0.0" rimraf "2.6.3" @@ -4618,45 +4812,45 @@ flat-cache@^2.0.1: flat@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= dependencies: is-buffer "~2.0.3" flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg= flush-write-stream@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= dependencies: inherits "^2.0.3" readable-stream "^2.3.6" follow-redirects@^1.0.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" + integrity sha1-SJ68GY3A5/ZBZ70jsDxMGbV4THY= dependencies: debug "^3.2.6" for-in@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://repox.jfrog.io/repox/api/npm/npm/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" @@ -4664,24 +4858,24 @@ form-data@~2.3.2: forwarded@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + resolved "https://repox.jfrog.io/repox/api/npm/npm/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= fragment-cache@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= from2@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= dependencies: inherits "^2.0.1" @@ -4689,13 +4883,13 @@ from2@^2.1.0: fs-exists-cached@1.0.0, fs-exists-cached@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce" integrity sha1-zyVVTKBQ3EmuZla0HeQiWJidy84= -fs-extra@7.0.1: +fs-extra@7.0.1, fs-extra@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -4703,8 +4897,8 @@ fs-extra@7.0.1: fs-extra@^4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -4712,23 +4906,23 @@ fs-extra@^4.0.1: fs-extra@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" - integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + integrity sha1-QU0BEM3QZwVzTQVWUsVBEmDDGr0= dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + version "1.2.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha1-LFzDDe2BKCv+ig18fBhT3esQLAc= dependencies: minipass "^2.2.1" fs-write-stream-atomic@^1.0.8: version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= dependencies: graceful-fs "^4.1.2" @@ -4738,26 +4932,26 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== + version "1.2.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha1-P17WZYPM1vQAtaANtvfoYTY+OI8= dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + nan "^2.12.1" + node-pre-gyp "^0.12.0" function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= function.prototype.name@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" + integrity sha1-i9djzAr4YKhZzF1JOE10uTLNIyc= dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -4765,78 +4959,109 @@ function.prototype.name@^1.1.0: functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://repox.jfrog.io/repox/api/npm/npm/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gatsby-cli@^2.4.17: - version "2.4.17" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.4.17.tgz#38f0d2fd55de595b457a1d2a1048fb8f88a8f143" - integrity sha512-qhhFqYy7N8G4d8hSJycdib5OeU2bHgQq+TUdMFs0wZ13Kmyr34EabdnHdSdhZdS/lUAjet6L2KugTZ6DnQFERw== + version "2.7.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-cli/-/gatsby-cli-2.7.7.tgz#9d8e8b6a8313ec3d64a752db9c8579332bc13e55" + integrity sha1-nY6LaoMT7D1kp1LbnIV5MyvBPlU= dependencies: "@babel/code-frame" "^7.0.0" "@babel/runtime" "^7.0.0" + "@hapi/joi" "^15.1.0" + better-opn "^0.1.4" bluebird "^3.5.0" + chalk "^2.4.2" + ci-info "^2.0.0" + clipboardy "^1.2.3" common-tags "^1.4.0" + configstore "^4.0.0" convert-hrtime "^2.0.0" core-js "^2.5.0" envinfo "^5.8.1" execa "^0.8.0" fs-exists-cached "^1.0.0" fs-extra "^4.0.1" + gatsby-telemetry "^1.1.2" hosted-git-info "^2.6.0" + is-valid-path "^0.1.1" lodash "^4.17.10" meant "^1.0.1" + node-fetch "^2.6.0" + object.entries "^1.1.0" opentracing "^0.14.3" pretty-error "^2.1.1" + progress "^2.0.3" + prompts "^2.1.0" + react "^16.8.4" resolve-cwd "^2.0.0" - source-map "^0.5.7" + semver "^6.1.1" + source-map "0.5.7" stack-trace "^0.0.10" + strip-ansi "^5.2.0" update-notifier "^2.3.0" + uuid "3.3.2" yargs "^12.0.5" - yurnalist "^1.0.2" + yurnalist "^1.0.5" + optionalDependencies: + ink "^2.0.5" + ink-spinner "^3.0.1" gatsby-link@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.0.16.tgz#5d140e43f3aec6dd59e01c1468d77a54092370c5" - integrity sha512-2CWQeRtkidpi6uEMoq9KRkssqh66ybSWTeQ7W2as7uqldaFlZDOJxkpqf3C3n207iQxxcsY6vzvMgjtGzucv/Q== + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-link/-/gatsby-link-2.2.0.tgz#aab319b2d4c16daafbbca5f6d1c6d481841c39be" + integrity sha1-qrMZstTBbar7vKX20cbUgYQcOb4= dependencies: "@babel/runtime" "^7.0.0" "@types/reach__router" "^1.0.0" prop-types "^15.6.1" +gatsby-page-utils@^0.0.2: + version "0.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-page-utils/-/gatsby-page-utils-0.0.2.tgz#0eb341abcdd0a21a8e85a4fe6fb736956d95e0ad" + integrity sha1-DrNBq83QohqOhaT+b7c2lW2V4K0= + dependencies: + "@babel/runtime" "^7.0.0" + bluebird "^3.5.0" + chokidar "2.1.2" + fs-exists-cached "^1.0.0" + glob "^7.1.1" + lodash "^4.17.10" + micromatch "^3.1.10" + slash "^1.0.0" + gatsby-plugin-layout@1.0.13: version "1.0.13" - resolved "https://registry.yarnpkg.com/gatsby-plugin-layout/-/gatsby-plugin-layout-1.0.13.tgz#00779f4a8a7582b202aa20da69b0c4f0dee4b727" - integrity sha512-tLV09NzsPH0dpUurWwybUiIgVxIs7NiX/DYw00HAz26wpvigXlJYSuwLrrGxsBsIgkKEHY2eAvBfX40XF6erog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-plugin-layout/-/gatsby-plugin-layout-1.0.13.tgz#00779f4a8a7582b202aa20da69b0c4f0dee4b727" + integrity sha1-AHefSop1grICqiDaabDE8N7ktyc= dependencies: "@babel/runtime" "^7.0.0" gatsby-plugin-page-creator@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.0.11.tgz#fa21e8911c75c5810bd15f3b1f27ab23abee6238" - integrity sha512-ydvayo170L36JOJH+Y2GuwwTC9JEDO6EdQfpg217eEwIpZ24NKDRiMGA3rLIKEGlDShIXPNjZhHloStzBcGoAw== + version "2.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.2.tgz#7e81cf3cd5d051d28fd582e56254d6183479589f" + integrity sha1-foHPPNXQUdKP1YLlYlTWGDR5WJ8= dependencies: "@babel/runtime" "^7.0.0" bluebird "^3.5.0" - chokidar "2.1.2" fs-exists-cached "^1.0.0" + gatsby-page-utils "^0.0.2" glob "^7.1.1" lodash "^4.17.10" micromatch "^3.1.10" - parse-filepath "^1.0.1" - slash "^1.0.0" gatsby-plugin-react-helmet@3.0.10: version "3.0.10" - resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.0.10.tgz#08a4f3f7d6ffd020d78817679535fb6548602302" - integrity sha512-YqxPNqfIS/xu+5ZO4URzWiszM6YqlyY1Xq8vvji0V/iP3XGDeQmABfFAoyd8vzAsQsWxIBDgTT2nxbBfLr7eSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.0.10.tgz#08a4f3f7d6ffd020d78817679535fb6548602302" + integrity sha1-CKTz99b/0CDXiBdnlTX7ZUhgIwI= dependencies: "@babel/runtime" "^7.0.0" gatsby-plugin-typescript@2.0.11: version "2.0.11" - resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.0.11.tgz#693087b2b52df7090f78355bf9cc8d624bfe4809" - integrity sha512-7ef0XPV+fWvnATTCXnXkQxAYfG9D4Jl3VB9NBbViqlGQf2VXEfWQqqhGmSwYNOHhCBXB/EZNysl/ecyj1J/Qyw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.0.11.tgz#693087b2b52df7090f78355bf9cc8d624bfe4809" + integrity sha1-aTCHsrUt9wkPeDVb+cyNYkv+SAk= dependencies: "@babel/preset-typescript" "^7.0.0" "@babel/runtime" "^7.0.0" @@ -4844,15 +5069,15 @@ gatsby-plugin-typescript@2.0.11: gatsby-plugin-typography@2.2.10: version "2.2.10" - resolved "https://registry.yarnpkg.com/gatsby-plugin-typography/-/gatsby-plugin-typography-2.2.10.tgz#bef9c3bfc360c2679ed92ecfd84b6c704a359217" - integrity sha512-sg9UkDrn3C3EN+yBSrUNzbGIlw1k1Qc6rYZWuXeqNEuQfdWJfqJMVzVhhriBDz2sC2bU6Wh/NnQ2vXVkRs4bKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-plugin-typography/-/gatsby-plugin-typography-2.2.10.tgz#bef9c3bfc360c2679ed92ecfd84b6c704a359217" + integrity sha1-vvnDv8Ngwmee2S7P2EtscEo1khc= dependencies: "@babel/runtime" "^7.0.0" gatsby-react-router-scroll@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.0.6.tgz#b04a8fe6ee77db5ca8f804b7ef476fd205dc4a40" - integrity sha512-Cn9Jlf3ikBQL4xRyxP/7Kl4WMNwqIO/kN8aHuvZd9wGYwI7AHylukkw3p7WJPNSqYWy3b76QggEvA7qzpJrglA== + version "2.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.1.tgz#715c15689b1715d350f80a32204a0222a2ad6d49" + integrity sha1-cVwVaJsXFdNQ+AoyIEoCIqKtbUk= dependencies: "@babel/runtime" "^7.0.0" scroll-behavior "^0.9.9" @@ -4860,16 +5085,16 @@ gatsby-react-router-scroll@^2.0.6: gatsby-remark-custom-blocks@2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/gatsby-remark-custom-blocks/-/gatsby-remark-custom-blocks-2.0.7.tgz#59f4c4e1a6a995f6b4210aedf87c5e278dc31f10" - integrity sha512-rvEEroAHu6r+NLPRokMxo8P248mgktPOiUH4PNN9Ga+PLFazHI76j8x+ISf5Xv+oB/J/shfQoRjJb6CdQC86GQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-remark-custom-blocks/-/gatsby-remark-custom-blocks-2.0.7.tgz#59f4c4e1a6a995f6b4210aedf87c5e278dc31f10" + integrity sha1-WfTE4aaplfa0IQrt+HxeJ43DHxA= dependencies: "@babel/runtime" "^7.0.0" remark-custom-blocks "^2.1.2" gatsby-source-filesystem@2.0.28: version "2.0.28" - resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.0.28.tgz#5fc91ce6f72b642a27838e421c05eb4b5ee44d63" - integrity sha512-eOj91auqUHgH46h6hkkqAa4W5g0X6q4b0EDzTF2/aLpIx2gB8g/70MSQG3i00IRv/tekXjKEWHZNW8AJDkommQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-source-filesystem/-/gatsby-source-filesystem-2.0.28.tgz#5fc91ce6f72b642a27838e421c05eb4b5ee44d63" + integrity sha1-X8kc5vcrZCong45CHAXrS17kTWM= dependencies: "@babel/runtime" "^7.0.0" better-queue "^3.8.7" @@ -4887,10 +5112,32 @@ gatsby-source-filesystem@2.0.28: valid-url "^1.0.9" xstate "^3.1.0" +gatsby-telemetry@^1.1.2: + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-telemetry/-/gatsby-telemetry-1.1.2.tgz#14c63c3035abacc27018966337e4e3bb07787acb" + integrity sha1-FMY8MDWrrMJwGJZjN+Tjuwd4ess= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/runtime" "^7.0.0" + bluebird "^3.5.0" + boxen "^3.1.0" + ci-info "2.0.0" + configstore "^4.0.0" + envinfo "^5.8.1" + fs-extra "^7.0.1" + is-docker "1.1.0" + lodash "^4.17.10" + node-fetch "2.3.0" + resolve-cwd "^2.0.0" + source-map "^0.5.7" + stack-trace "^0.0.10" + stack-utils "1.0.2" + uuid "3.3.2" + gatsby-transformer-remark@2.3.8: version "2.3.8" - resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.3.8.tgz#bf25bceb747f1e1fd2e5809731ff6da0810c1b14" - integrity sha512-i0pOcPHbh9cVbkFEu6VMBNIvYErhRLZYApUm+anjSDw0FFj4LN14v/36jpt3+XCZUfJqJCkMP8pth7eS7CEJCg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby-transformer-remark/-/gatsby-transformer-remark-2.3.8.tgz#bf25bceb747f1e1fd2e5809731ff6da0810c1b14" + integrity sha1-vyW863R/Hh/S5YCXMf9toIEMGxQ= dependencies: "@babel/runtime" "^7.0.0" bluebird "^3.5.0" @@ -4915,8 +5162,8 @@ gatsby-transformer-remark@2.3.8: gatsby@2.2.8: version "2.2.8" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.2.8.tgz#d9ffe062d3bd626ad971f09fbf4484261863caee" - integrity sha512-JXPuz0khB/mrfSnK5TQTBeSbUTIpEqmIFQkFRb7tjCZ+X5mJl3QDUIXkZMMQmyU7+iBtU1/eX06NC7RCkiFZDg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gatsby/-/gatsby-2.2.8.tgz#d9ffe062d3bd626ad971f09fbf4484261863caee" + integrity sha1-2f/gYtO9YmrZcfCfv0SEJhhjyu4= dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.0.0" @@ -5043,7 +5290,7 @@ gatsby@2.2.8: gauge@~2.7.3: version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" @@ -5057,48 +5304,48 @@ gauge@~2.7.3: get-caller-file@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= get-port@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= get-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= get-stream@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= dependencies: pump "^3.0.0" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" github-slugger@^1.1.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508" - integrity sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508" + integrity sha1-R+kE5wvy3M0AFHSBQtMRJs/UlQg= dependencies: emoji-regex ">=6.0.0 <=6.1.1" glob-parent@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" @@ -5106,20 +5353,20 @@ glob-parent@^3.1.0: glob-promise@3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20" - integrity sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20" + integrity sha1-trjwhFBCFvcC3CzoybyayIZv2yA= dependencies: "@types/glob" "*" glob-to-regexp@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== +glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha1-qmCKL2xXetNX4a5aXCbZqNGWklU= dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5130,15 +5377,15 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: global-dirs@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + resolved "https://repox.jfrog.io/repox/api/npm/npm/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= dependencies: ini "^1.3.4" global-modules@1.0.0, global-modules@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o= dependencies: global-prefix "^1.0.1" is-windows "^1.0.1" @@ -5146,7 +5393,7 @@ global-modules@1.0.0, global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= dependencies: expand-tilde "^2.0.2" @@ -5156,21 +5403,21 @@ global-prefix@^1.0.1: which "^1.2.14" global@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" - integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= + version "4.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY= dependencies: min-document "^2.19.0" - process "~0.5.1" + process "^0.11.10" globals@^11.1.0, globals@^11.7.0: - version "11.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" - integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== + version "11.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= globby@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" @@ -5181,7 +5428,7 @@ globby@^6.1.0: got@^6.7.1: version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= dependencies: create-error-class "^3.0.0" @@ -5198,8 +5445,8 @@ got@^6.7.1: got@^7.1.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo= dependencies: decompress-response "^3.2.0" duplexer3 "^0.1.4" @@ -5217,13 +5464,13 @@ got@^7.1.0: url-to-options "^1.0.1" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + version "4.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha1-jY/cc5d8sEEEchy1NmbBymTNMos= graphql-code-generator@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/graphql-code-generator/-/graphql-code-generator-0.5.2.tgz#6a706f293b15618cbccd71dae7d1ef0c94d5d8ba" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-code-generator/-/graphql-code-generator-0.5.2.tgz#6a706f293b15618cbccd71dae7d1ef0c94d5d8ba" integrity sha1-anBvKTsVYYy8zXHa59HvDJTV2Lo= dependencies: camel-case "^3.0.0" @@ -5237,17 +5484,17 @@ graphql-code-generator@0.5.2: request "^2.81.0" graphql-compose@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-6.0.3.tgz#fa5668a30694abef4166703aa03af07a741039a8" - integrity sha512-QpywEtNvlEQS0a5VIseMA/tk67QmEN9NNUx1B1tzGR/p7MePyus9wvci2cIP/mwdDrvLRRbwpmidSKQXFD3SEA== + version "6.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-compose/-/graphql-compose-6.3.2.tgz#0eff6e0f086c934af950db88b90a6667f879c59b" + integrity sha1-Dv9uDwhsk0r5UNuIuQpmZ/h5xZs= dependencies: - graphql-type-json "^0.2.1" + graphql-type-json "^0.2.4" object-path "^0.11.4" graphql-config@^2.0.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.1.tgz#5fd0ec77ac7428ca5fb2026cf131be10151a0cb2" - integrity sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-config/-/graphql-config-2.2.1.tgz#5fd0ec77ac7428ca5fb2026cf131be10151a0cb2" + integrity sha1-X9Dsd6x0KMpfsgJs8TG+EBUaDLI= dependencies: graphql-import "^0.7.1" graphql-request "^1.5.0" @@ -5257,42 +5504,42 @@ graphql-config@^2.0.1: graphql-import@^0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" - integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" + integrity sha1-St2NkaX3UtdksKSnpGH82TE28iM= dependencies: lodash "^4.17.4" resolve-from "^4.0.0" graphql-playground-html@1.6.12: version "1.6.12" - resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz#8b3b34ab6013e2c877f0ceaae478fafc8ca91b85" - integrity sha512-yOYFwwSMBL0MwufeL8bkrNDgRE7eF/kTHiwrqn9FiR9KLcNIl1xw9l9a+6yIRZM56JReQOHpbQFXTZn1IuSKRg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz#8b3b34ab6013e2c877f0ceaae478fafc8ca91b85" + integrity sha1-izs0q2AT4sh38M6q5Hj6/IypG4U= graphql-playground-middleware-express@^1.7.10: version "1.7.12" - resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.12.tgz#de4b2402a02159b2125561fe38eb378b56cf6d99" - integrity sha512-17szgonnVSxWVrgblLRHHLjWnMUONfkULIwSunaMvYx8k5oG3yL86cyGCbHuDFUFkyr2swLhdfYl4mDfDXuvOA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.12.tgz#de4b2402a02159b2125561fe38eb378b56cf6d99" + integrity sha1-3kskAqAhWbISVWH+OOs3i1bPbZk= dependencies: graphql-playground-html "1.6.12" graphql-relay@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/graphql-relay/-/graphql-relay-0.6.0.tgz#18ec36b772cfcb3dbb9bd369c3f8004cf42c7b93" - integrity sha512-OVDi6C9/qOT542Q3KxZdXja3NrDvqzbihn1B44PH8P/c5s0Q90RyQwT6guhGqXqbYEH6zbeLJWjQqiYvcg2vVw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-relay/-/graphql-relay-0.6.0.tgz#18ec36b772cfcb3dbb9bd369c3f8004cf42c7b93" + integrity sha1-GOw2t3LPyz27m9Npw/gATPQse5M= dependencies: prettier "^1.16.0" graphql-request@^1.5.0: version "1.8.2" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" - integrity sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" + integrity sha1-OY0QrhXFhWdnQb3j/AHVypSPj74= dependencies: cross-fetch "2.2.2" graphql-tools@^3.0.4: version "3.1.1" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50" - integrity sha512-yHvPkweUB0+Q/GWH5wIG60bpt8CTwBklCSzQdEHmRUgAdEQKxw+9B7zB3dG7wB3Ym7M7lfrS4Ej+jtDZfA2UXg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50" + integrity sha1-1ZM1jwHnyLFnGhe3DdsDTeqdvFA= dependencies: apollo-link "^1.2.2" apollo-utilities "^1.0.1" @@ -5300,36 +5547,36 @@ graphql-tools@^3.0.4: iterall "^1.1.3" uuid "^3.1.0" -graphql-type-json@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.2.tgz#d4d3808fbf2ead9b6184fd338fe23794cd9715be" - integrity sha512-srKbRJWxvZ8J6b7P3F0PrOtKgWg3pxlUPb1xbSIB+aMdK+UPKpp4aDzPV1A+IUTlea6lk9FWwI08UXQApC03lw== +graphql-type-json@^0.2.4: + version "0.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql-type-json/-/graphql-type-json-0.2.4.tgz#545af27903e40c061edd30840a272ea0a49992f9" + integrity sha1-VFryeQPkDAYe3TCECicuoKSZkvk= graphql@^0.11.7: version "0.11.7" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.11.7.tgz#e5abaa9cb7b7cccb84e9f0836bf4370d268750c6" - integrity sha512-x7uDjyz8Jx+QPbpCFCMQ8lltnQa4p4vSYHx6ADe8rVYRTdsyhCJbvSty5DAsLVmU6cGakl+r8HQYolKHxk/tiw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql/-/graphql-0.11.7.tgz#e5abaa9cb7b7cccb84e9f0836bf4370d268750c6" + integrity sha1-5auqnLe3zMuE6fCDa/Q3DSaHUMY= dependencies: iterall "1.1.3" graphql@^0.9.6: version "0.9.6" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.9.6.tgz#514421e9d225c29dfc8fd305459abae58815ef2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql/-/graphql-0.9.6.tgz#514421e9d225c29dfc8fd305459abae58815ef2c" integrity sha1-UUQh6dIlwp38j9MFRZq65YgV7yw= dependencies: iterall "^1.0.0" graphql@^14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.1.1.tgz#d5d77df4b19ef41538d7215d1e7a28834619fac0" - integrity sha512-C5zDzLqvfPAgTtP8AUPIt9keDabrdRAqSWjj2OPRKrKxI9Fb65I36s1uCs1UUBFnSWTdO7hyHi7z1ZbwKMKF6Q== + version "14.4.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graphql/-/graphql-14.4.2.tgz#553a7d546d524663eda49ed6df77577be3203ae3" + integrity sha1-VTp9VG1SRmPtpJ7W33dXe+MgOuM= dependencies: iterall "^1.2.2" gray-matter@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" - integrity sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" + integrity sha1-mqN546yvQhGT/OfSoozr1FGKxFQ= dependencies: js-yaml "^3.11.0" kind-of "^6.0.2" @@ -5338,35 +5585,35 @@ gray-matter@^4.0.0: gray-percentage@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/gray-percentage/-/gray-percentage-2.0.0.tgz#b72a274d1b1379104a0050b63b207dc53fe56f99" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gray-percentage/-/gray-percentage-2.0.0.tgz#b72a274d1b1379104a0050b63b207dc53fe56f99" integrity sha1-tyonTRsTeRBKAFC2OyB9xT/lb5k= growly@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + resolved "https://repox.jfrog.io/repox/api/npm/npm/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= gud@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" - integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha1-pIlYGxfmpwvsqavjrlfeekmYUsA= gzip-size@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= dependencies: duplexer "^0.1.1" handle-thing@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" + integrity sha1-DgOWlf9QyT/CiFV9aW88HcZ3Z1Q= -handlebars@^4.0.8, handlebars@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.1.tgz#6e4e41c18ebe7719ae4d38e5aca3d32fa3dd23d3" - integrity sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA== +handlebars@^4.0.8, handlebars@^4.1.2: + version "4.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + integrity sha1-trN8HO0DBrIh4JT8eso+wjsTG2c= dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -5376,66 +5623,66 @@ handlebars@^4.0.8, handlebars@^4.1.0: har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://repox.jfrog.io/repox/api/npm/npm/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.0: version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= dependencies: ajv "^6.5.5" har-schema "^2.0.0" has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-binary2@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + integrity sha1-d3asYn8+p3JQz8My2rfd9eT10R0= dependencies: isarray "2.0.1" has-cors@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-symbol-support-x@^1.4.1: version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU= has-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has-to-string-tag-x@^1.2.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha1-oEWrOD17SyASoAFIqwql8pAETU0= dependencies: has-symbol-support-x "^1.4.1" has-unicode@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has-value@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" @@ -5444,7 +5691,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" @@ -5453,12 +5700,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" @@ -5466,14 +5713,14 @@ has-values@^1.0.0: has@^1.0.0, has@^1.0.1, has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= dependencies: function-bind "^1.1.1" hash-base@^3.0.0: version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= dependencies: inherits "^2.0.1" @@ -5481,21 +5728,21 @@ hash-base@^3.0.0: hash-mod@^0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/hash-mod/-/hash-mod-0.0.5.tgz#daf1e4973a9116643467d54ee7690b43ef802ecc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hash-mod/-/hash-mod-0.0.5.tgz#daf1e4973a9116643467d54ee7690b43ef802ecc" integrity sha1-2vHklzqRFmQ0Z9VO52kLQ++ALsw= hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.1" hast-to-hyperscript@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-5.0.0.tgz#5106cbba78edb7c95e2e8a49079371eb196c1ced" - integrity sha512-DLl3eYTz8uwwzEubDUdCChsR5t5b2ne+yvHrA2h58Suq/JnN3+Gsb9Tc4iZoCCsykmFUc6UUpwxTmQXs0akSeg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-to-hyperscript/-/hast-to-hyperscript-5.0.0.tgz#5106cbba78edb7c95e2e8a49079371eb196c1ced" + integrity sha1-UQbLunjtt8leLopJB5Nx6xlsHO0= dependencies: comma-separated-tokens "^1.0.0" property-information "^4.0.0" @@ -5506,8 +5753,8 @@ hast-to-hyperscript@^5.0.0: hast-util-from-parse5@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-4.0.2.tgz#b7164a7ffc88da4f751dc7c2f801ff8d7c143bab" - integrity sha512-I6dtjsGtDqz4fmGSiFClFyiXdKhj5bPceS6intta7k/VDuiKz9P61C6hO6WMiNNmEm1b/EtBH8f+juvz4o0uwQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-from-parse5/-/hast-util-from-parse5-4.0.2.tgz#b7164a7ffc88da4f751dc7c2f801ff8d7c143bab" + integrity sha1-txZKf/yI2k91HcfC+AH/jXwUO6s= dependencies: ccount "^1.0.3" hastscript "^4.0.0" @@ -5516,19 +5763,19 @@ hast-util-from-parse5@^4.0.2: xtend "^4.0.1" hast-util-is-element@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.2.tgz#c23c9428b6a5a4e323bf9e16f87417476314981b" - integrity sha512-4MEtyofNi3ZunPFrp9NpTQdNPN24xvLX3M+Lr/RGgPX6TLi+wR4/DqeoyQ7lwWcfUp4aevdt4RR0r7ZQPFbHxw== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz#423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4" + integrity sha1-QjtLJv6L8fJZUP4FLpzo+D/V9qQ= hast-util-parse-selector@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab" - integrity sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw== + version "2.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" + integrity sha1-Zqq8yyUsR9lJdfUKKBRGlVFgOAs= hast-util-raw@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-4.0.0.tgz#2dc10c9facd9b810ea6ac51df251e6f87c2ed5b5" - integrity sha512-5xYHyEJMCf8lX/NT4iA5z6N43yoFsrJqXJ5GWwAbLn815URbIz+UNNFEgid33F9paZuDlqVKvB+K3Aqu5+DdSw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-raw/-/hast-util-raw-4.0.0.tgz#2dc10c9facd9b810ea6ac51df251e6f87c2ed5b5" + integrity sha1-LcEMn6zZuBDqasUd8lHm+Hwu1bU= dependencies: hast-util-from-parse5 "^4.0.2" hast-util-to-parse5 "^4.0.1" @@ -5541,8 +5788,8 @@ hast-util-raw@^4.0.0: hast-util-to-html@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a" - integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a" + integrity sha1-NmawWvtivWn49ebJTbBN6hlDjio= dependencies: ccount "^1.0.0" comma-separated-tokens "^1.0.1" @@ -5557,8 +5804,8 @@ hast-util-to-html@^4.0.0: hast-util-to-parse5@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-4.0.1.tgz#e52534b4bf40dc4e7d0428fcaf6d32bc75c62ee5" - integrity sha512-U/61W+fsNfBpCyJBB5Pt3l5ypIfgXqEyW9pyrtxF7XrqDJHzcFrYpnC94d0JDYjvobLpYCzcU9srhMRPEO1YXw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-to-parse5/-/hast-util-to-parse5-4.0.1.tgz#e52534b4bf40dc4e7d0428fcaf6d32bc75c62ee5" + integrity sha1-5SU0tL9A3E59BCj8r20yvHXGLuU= dependencies: hast-to-hyperscript "^5.0.0" property-information "^4.0.0" @@ -5567,14 +5814,14 @@ hast-util-to-parse5@^4.0.1: zwitch "^1.0.0" hast-util-whitespace@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.2.tgz#c97153a3fbc9091a14fd823830a47724e7a1da99" - integrity sha512-4JT8B0HKPHBMFZdDQzexjxwhKx9TrpV/+uelvmqlPu8RqqDrnNIEHDtDZCmgE+4YmcFAtKVPLmnY3dQGRaN53A== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz#6d161b307bd0693b5ec000c7c7e8b5445109ee34" + integrity sha1-bRYbMHvQaTtewADHx+i1RFEJ7jQ= hastscript@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-4.1.0.tgz#ea5593fa6f6709101fc790ced818393ddaa045ce" - integrity sha512-bOTn9hEfzewvHyXdbYGKqOr/LOz+2zYhKbC17U2YAjd16mnjqB1BQ0nooM/RdMy/htVyli0NAznXiBtwDi1cmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hastscript/-/hastscript-4.1.0.tgz#ea5593fa6f6709101fc790ced818393ddaa045ce" + integrity sha1-6lWT+m9nCRAfx5DO2Bg5PdqgRc4= dependencies: comma-separated-tokens "^1.0.0" hast-util-parse-selector "^2.2.0" @@ -5583,12 +5830,12 @@ hastscript@^4.0.0: hex-color-regex@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= hmac-drbg@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" @@ -5597,31 +5844,31 @@ hmac-drbg@^1.0.0: hoek@4.x.x: version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" + integrity sha1-ljRQKqEsRF3Vp8VzS1cruHOKrLs= hoist-non-react-statics@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" + integrity sha1-sJF48BIhhPuVrPUl2q7LTY9FlYs= dependencies: react-is "^16.7.0" homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg= dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha1-l/I2l3vW4SVAiTD/bePuxigewEc= hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= dependencies: inherits "^2.0.1" @@ -5631,47 +5878,47 @@ hpack.js@^2.1.6: hsl-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= hsla-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= html-comment-regex@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= html-element-map@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.0.tgz#19a41940225153ecdfead74f8509154ff1cdc18b" - integrity sha512-/SP6aOiM5Ai9zALvCxDubIeez0LvG3qP7R9GcRDnJEP/HBmv0A8A9K0o8+HFudcFt46+i921ANjzKsjPjb7Enw== + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592" + integrity sha1-PE/LSHTr3f5Cg7UciZTncTeCtZI= dependencies: array-filter "^1.0.0" html-encoding-sniffer@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= dependencies: whatwg-encoding "^1.0.1" -html-entities@^1.2.0: +html-entities@^1.2.0, html-entities@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= html-void-elements@^1.0.0, html-void-elements@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.3.tgz#956707dbecd10cf658c92c5d27fee763aa6aa982" - integrity sha512-SaGhCDPXJVNrQyKMtKy24q6IMdXg5FCPN3z+xizxw9l+oXQw5fOoaj/ERU5KqWhSYhXtW5bWthlDbTDLBhJQrA== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-void-elements/-/html-void-elements-1.0.4.tgz#95e8bb5ecd6b88766569c2645f2b5f1591db9ba5" + integrity sha1-lei7Xs1riHZlacJkXytfFZHbm6U= htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.9.1: version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= dependencies: domelementtype "^1.3.1" domhandler "^2.3.0" @@ -5682,39 +5929,50 @@ htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.9.1: http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= +http-errors@1.7.2: + version "1.7.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= dependencies: depd "~1.1.2" inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" -http-errors@^1.3.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +http-errors@1.7.3, http-errors@^1.3.0, http-errors@~1.7.2: + version "1.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= dependencies: depd "~1.1.2" - inherits "2.0.3" + inherits "2.0.4" setprototypeof "1.1.1" statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" - integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= http-proxy-middleware@^0.19.1: version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= dependencies: http-proxy "^1.17.0" is-glob "^4.0.0" @@ -5723,8 +5981,8 @@ http-proxy-middleware@^0.19.1: http-proxy@^1.17.0: version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + integrity sha1-etOElGWPhGBeL220Q230EPTlvpo= dependencies: eventemitter3 "^3.0.0" follow-redirects "^1.0.0" @@ -5732,7 +5990,7 @@ http-proxy@^1.17.0: http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" @@ -5741,147 +5999,182 @@ http-signature@~1.2.0: https-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= dependencies: safer-buffer ">= 2.1.2 < 3" icss-replace-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + resolved "https://repox.jfrog.io/repox/api/npm/npm/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + resolved "https://repox.jfrog.io/repox/api/npm/npm/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= dependencies: postcss "^6.0.1" ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + version "1.1.13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= iferr@^0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + resolved "https://repox.jfrog.io/repox/api/npm/npm/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha1-qD5i59JyrA47VRqqgoMaGbafgvg= dependencies: minimatch "^3.0.4" ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= immutable@~3.7.6: version "3.7.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= import-cwd@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= dependencies: import-from "^2.1.0" import-fresh@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg= dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-from@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" integrity sha1-M1238qev/VOqpHHUuAId7ja387E= dependencies: resolve-from "^3.0.0" import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= import-local@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= dependencies: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://repox.jfrog.io/repox/api/npm/npm/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= indexof@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= inherits@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= +inherits@2.0.3: + version "2.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + ini@^1.3.4, ini@~1.3.0: version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= + +ink-spinner@^3.0.1: + version "3.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ink-spinner/-/ink-spinner-3.0.1.tgz#7b4b206d2b18538701fd92593f9acabbfe308dce" + integrity sha1-e0sgbSsYU4cB/ZJZP5rKu/4wjc4= + dependencies: + cli-spinners "^1.0.0" + prop-types "^15.5.10" + +ink@^2.0.5: + version "2.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ink/-/ink-2.3.0.tgz#222136be17bb72fc742e19090483e7e0e7dc3690" + integrity sha1-IiE2vhe7cvx0LhkJBIPn4OfcNpA= + dependencies: + "@types/react" "^16.8.6" + arrify "^1.0.1" + auto-bind "^2.0.0" + chalk "^2.4.1" + cli-cursor "^2.1.0" + cli-truncate "^1.1.0" + is-ci "^2.0.0" + lodash.throttle "^4.1.1" + log-update "^3.0.0" + prop-types "^15.6.2" + react-reconciler "^0.20.0" + scheduler "^0.13.2" + signal-exit "^3.0.2" + slice-ansi "^1.0.0" + string-length "^2.0.0" + widest-line "^2.0.0" + wrap-ansi "^5.0.0" + yoga-layout-prebuilt "^1.9.3" + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha1-7Io7QpJ06cCh8cT/qUU6f+9yzqE= inquirer@3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + integrity sha1-ndLyrXZdyrH/BEO0kUQqILoifck= dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" @@ -5899,9 +6192,9 @@ inquirer@3.3.0: through "^2.3.6" inquirer@^6.2.0, inquirer@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== + version "6.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inquirer/-/inquirer-6.4.1.tgz#7bd9e5ab0567cd23b41b0180b68e0cfa82fc3c0b" + integrity sha1-e9nlqwVnzSO0GwGAto4M+oL8PAs= dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -5914,160 +6207,147 @@ inquirer@^6.2.0, inquirer@^6.2.2: run-async "^2.2.0" rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^5.0.0" + strip-ansi "^5.1.0" through "^2.3.6" -internal-ip@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.2.0.tgz#46e81b638d84c338e5c67e42b1a17db67d0814fa" - integrity sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw== +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= dependencies: - default-gateway "^4.0.1" + default-gateway "^4.2.0" ipaddr.js "^1.9.0" invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= dependencies: loose-envify "^1.0.0" invert-kv@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= invert-kv@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip@^1.1.0, ip@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= - -ipaddr.js@^1.9.0: +ipaddr.js@1.9.0, ipaddr.js@^1.9.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha1-N9905DCg5HVQ/lSi3v4w2KzZX2U= is-absolute-url@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - is-accessor-descriptor@^0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= dependencies: kind-of "^6.0.0" is-alphabetical@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.2.tgz#1fa6e49213cb7885b75d15862fb3f3d96c884f41" - integrity sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" + integrity sha1-6wTMRyGaiJXYRQrORxWr/yJYofg= is-alphanumeric@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= is-alphanumerical@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz#1138e9ae5040158dc6ff76b820acd6b7a181fd40" - integrity sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" + integrity sha1-V64hw3Qnez3v4CdMZApXBLj2ZXw= dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-arrayish@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= is-binary-path@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" is-boolean-object@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" integrity sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M= is-buffer@^1.1.4, is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= is-buffer@^2.0.0, is-buffer@~2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha1-Ts8/z3ScvR5HJonhCaxmJhol5yU= is-builtin-module@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466" - integrity sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466" + integrity sha1-E309JCUCOhmmYPud1t36vlLANGY= dependencies: builtin-modules "^3.0.0" is-callable@^1.1.3, is-callable@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU= is-ci@^1.0.10: version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw= dependencies: ci-info "^1.5.0" is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= dependencies: ci-info "^2.0.0" is-color-stop@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= dependencies: css-color-names "^0.0.4" @@ -6079,32 +6359,32 @@ is-color-stop@^1.0.0: is-data-descriptor@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-decimal@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.2.tgz#894662d6a8709d307f3a276ca4339c8fa5dff0ff" - integrity sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" + integrity sha1-OBBodZudyAfYwNwL+64raOHaSLc= is-descriptor@^0.1.0: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -6112,8 +6392,8 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -6121,277 +6401,327 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= +is-docker@1.1.0: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1" + integrity sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE= + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= dependencies: is-plain-object "^2.0.4" +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-generator-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" - integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= + +is-glob@^2.0.0: + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + version "4.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= dependencies: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz#b6e710d7d07bb66b98cb8cece5c9b4921deeb835" - integrity sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" + integrity sha1-6KQmppttMUcNOjOke7glzaAlBu4= is-installed-globally@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= dependencies: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-invalid-path@^0.1.0: + version "0.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34" + integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ= + dependencies: + is-glob "^2.0.0" + is-npm@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= is-number-object@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" integrity sha1-8mWrian0RQNO9q/xWo8AsA9VF5k= is-number@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-obj@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= is-object@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= is-path-cwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= +is-path-cwd@^2.0.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c" + integrity sha1-Lgx+Rj/1t6DrYIUthRpoCTR6Ekw= + is-path-in-cwd@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= dependencies: is-path-inside "^1.0.0" +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + is-path-inside@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= dependencies: path-is-inside "^1.0.1" +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= dependencies: isobject "^3.0.1" is-promise@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= is-redirect@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= is-regex@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" is-relative-url@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-2.0.0.tgz#72902d7fe04b3d4792e7db15f9db84b7204c9cef" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-relative-url/-/is-relative-url-2.0.0.tgz#72902d7fe04b3d4792e7db15f9db84b7204c9cef" integrity sha1-cpAtf+BLPUeS59sV+duEtyBMnO8= dependencies: is-absolute-url "^2.0.0" is-relative@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha1-obtpNc6MXboei5dUubLcwCDiJg0= dependencies: is-unc-path "^1.0.0" is-resolvable@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= is-retry-allowed@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= is-root@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" integrity sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU= is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-string@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ= is-subset@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= is-svg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= dependencies: html-comment-regex "^1.1.0" is-symbol@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg= dependencies: has-symbols "^1.0.0" is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-unc-path@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0= dependencies: unc-path-regex "^0.1.2" +is-valid-path@^0.1.1: + version "0.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df" + integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8= + dependencies: + is-invalid-path "^0.1.0" + is-whitespace-character@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz#ede53b4c6f6fb3874533751ec9280d01928d03ed" - integrity sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" + integrity sha1-s62VRtkW19P/p4IEvKDCa1Ylf6w= is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= is-word-character@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.2.tgz#46a5dac3f2a1840898b91e576cd40d493f3ae553" - integrity sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" + integrity sha1-Jk0VVBy60LqDPTmSw05rQIc7CKo= is-wsl@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isarray@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= isemail@3.x.x: version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" + integrity sha1-WTEKAhkxqfsGu7UeFVzgs/I2gyw= dependencies: punycode "2.x.x" isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isomorphic-fetch@^2.1.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= dependencies: node-fetch "^1.0.1" @@ -6399,366 +6729,345 @@ isomorphic-fetch@^2.1.1: isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-api@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.1.tgz#194b773f6d9cbc99a9258446848b0f988951c4d0" - integrity sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw== - dependencies: - async "^2.6.1" - compare-versions "^3.2.1" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.3" - istanbul-lib-hook "^2.0.3" - istanbul-lib-instrument "^3.1.0" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.2" - istanbul-reports "^2.1.1" - js-yaml "^3.12.0" - make-dir "^1.3.0" - minimatch "^3.0.4" - once "^1.4.0" - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" - integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== - -istanbul-lib-hook@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" - integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== - dependencies: - append-transform "^1.0.0" +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= -istanbul-lib-instrument@^3.0.0, istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" - integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= dependencies: - "@babel/generator" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - istanbul-lib-coverage "^2.0.3" - semver "^5.5.0" + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" istanbul-lib-report@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" - integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== + version "2.0.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= dependencies: - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - supports-color "^6.0.0" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" -istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" - integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= dependencies: debug "^4.1.1" - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - rimraf "^2.6.2" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" source-map "^0.6.1" istanbul-reports@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.1.tgz#72ef16b4ecb9a4a7bd0e2001e00f95d1eec8afa9" - integrity sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw== + version "2.2.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha1-e08mYNgrKTA6j+YJH4ykvwWNoa8= dependencies: - handlebars "^4.1.0" + handlebars "^4.1.2" isurl@^1.0.0-alpha5: version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc= dependencies: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" iterall@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.3.tgz#1cbbff96204056dde6656e2ed2e2226d0e6d72c9" - integrity sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/iterall/-/iterall-1.1.3.tgz#1cbbff96204056dde6656e2ed2e2226d0e6d72c9" + integrity sha1-HLv/liBAVt3mZW4u0uIibQ5tcsk= iterall@^1.0.0, iterall@^1.1.3, iterall@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" - integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" + integrity sha1-ktcN64Ao4MOf8xZP2/TYsIgTDNc= -jest-changed-files@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.5.0.tgz#4075269ee115d87194fd5822e642af22133cf705" - integrity sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg== +jest-changed-files@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" + integrity sha1-fn6yHPaHWHqF5Q89JJ0TJ+FbFXs= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.5.0.tgz#598139d3446d1942fb7dc93944b9ba766d756d4b" - integrity sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g== +jest-cli@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" + integrity sha1-sHWskUSS7RFPozit5zYqMBaT6Yk= dependencies: - "@jest/core" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/core" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" - jest-config "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-config "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" prompts "^2.0.1" realpath-native "^1.1.0" yargs "^12.0.2" -jest-config@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.5.0.tgz#404d1bc6bb81aed6bd1890d07e2dca9fbba2e121" - integrity sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ== +jest-config@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" + integrity sha1-d9s9JlpvcmKUaHy7zMNvinbuD08= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" - babel-jest "^24.5.0" + "@jest/test-sequencer" "^24.8.0" + "@jest/types" "^24.8.0" + babel-jest "^24.8.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.5.0" - jest-environment-node "^24.5.0" - jest-get-type "^24.3.0" - jest-jasmine2 "^24.5.0" + jest-environment-jsdom "^24.8.0" + jest-environment-node "^24.8.0" + jest-get-type "^24.8.0" + jest-jasmine2 "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" micromatch "^3.1.10" - pretty-format "^24.5.0" + pretty-format "^24.8.0" realpath-native "^1.1.0" -jest-diff@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.5.0.tgz#a2d8627964bb06a91893c0fbcb28ab228c257652" - integrity sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw== +jest-diff@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" + integrity sha1-FGQ159Hj/98pPVP/l+GT8dFUYXI= dependencies: chalk "^2.0.1" diff-sequences "^24.3.0" - jest-get-type "^24.3.0" - pretty-format "^24.5.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" jest-docblock@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" + integrity sha1-ucMtrHD3LkRkUg0rpK7AKrFNtd0= dependencies: detect-newline "^2.1.0" -jest-each@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.5.0.tgz#da14d017a1b7d0f01fb458d338314cafe7f72318" - integrity sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw== +jest-each@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" + integrity sha1-oF/Sv5TdwLHaZsbRPsJFfzXlJ3U= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" - jest-get-type "^24.3.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" - -jest-environment-jsdom@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz#1c3143063e1374100f8c2723a8b6aad23b6db7eb" - integrity sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ== - dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + jest-get-type "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" + +jest-environment-jsdom@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" + integrity sha1-MA9pSaFGyr4ck1etnp7Pn0PziFc= + dependencies: + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" jsdom "^11.5.1" -jest-environment-node@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.5.0.tgz#763eebdf529f75b60aa600c6cf8cb09873caa6ab" - integrity sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw== +jest-environment-node@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" + integrity sha1-0/cmuovFMIemDnqEygiIOkyJIjE= dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" jest-fetch-mock@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz#1260b347918e3931c4ec743ceaf60433da661bd0" - integrity sha512-tcSR4Lh2bWLe1+0w/IwvNxeDocMI/6yIA2bijZ0fyWxC4kQ18lckQ1n7Yd40NKuisGmcGBRFPandRXrW/ti/Bw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz#1260b347918e3931c4ec743ceaf60433da661bd0" + integrity sha1-EmCzR5GOOTHE7HQ86vYEM9pmG9A= dependencies: cross-fetch "^2.2.2" promise-polyfill "^7.1.1" -jest-get-type@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.3.0.tgz#582cfd1a4f91b5cdad1d43d2932f816d543c65da" - integrity sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow== +jest-get-type@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" + integrity sha1-p0QN4wtlH1pw6j7X/wc6Mt/mRvw= -jest-haste-map@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.5.0.tgz#3f17d0c548b99c0c96ed2893f9c0ccecb2eb9066" - integrity sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ== +jest-haste-map@^24.8.0: + version "24.8.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" + integrity sha1-85zB0rHZB+AUFltL1alXr8uZKYI= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" + anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" jest-serializer "^24.4.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" micromatch "^3.1.10" sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" -jest-jasmine2@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz#e6af4d7f73dc527d007cca5a5b177c0bcc29d111" - integrity sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw== +jest-jasmine2@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" + integrity sha1-qcfhTIPdd9ixXoIFSc6Jh8yM2Jg= dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.5.0" + expect "^24.8.0" is-generator-fn "^2.0.0" - jest-each "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" + jest-each "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" throat "^4.0.0" -jest-leak-detector@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz#21ae2b3b0da252c1171cd494f75696d65fb6fa89" - integrity sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ== +jest-leak-detector@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" + integrity sha1-wAhjhOH2UMLYNICV33afKbSOaYA= dependencies: - pretty-format "^24.5.0" + pretty-format "^24.8.0" -jest-matcher-utils@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz#5995549dcf09fa94406e89526e877b094dad8770" - integrity sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q== +jest-matcher-utils@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" + integrity sha1-K85CIEya8SveRvg9yDnv6L6DJJU= dependencies: chalk "^2.0.1" - jest-diff "^24.5.0" - jest-get-type "^24.3.0" - pretty-format "^24.5.0" + jest-diff "^24.8.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" -jest-message-util@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.5.0.tgz#181420a65a7ef2e8b5c2f8e14882c453c6d41d07" - integrity sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ== +jest-message-util@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" + integrity sha1-DWiR5ypL6swCkrY4aF30LijWIYs= dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.5.0.tgz#976912c99a93f2a1c67497a9414aa4d9da4c7b76" - integrity sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw== +jest-mock@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" + integrity sha1-L50U03aZ6GPx/r9OTVozt/273lY= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" jest-pnp-resolver@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha1-7NrmBMB3p/vHDe+21RfDwciYkjo= jest-regex-util@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" + integrity sha1-1aZfYL4a4+MQ1SFKAwdYGZUiezY= -jest-resolve-dependencies@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz#1a0dae9cdd41349ca4a84148b3e78da2ba33fd4b" - integrity sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ== +jest-resolve-dependencies@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" + integrity sha1-Ge7DJB8gRdP5kNujMdDXUmrP+OA= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" jest-regex-util "^24.3.0" - jest-snapshot "^24.5.0" + jest-snapshot "^24.8.0" -jest-resolve@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.5.0.tgz#8c16ba08f60a1616c3b1cd7afb24574f50a24d04" - integrity sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew== +jest-resolve@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" + integrity sha1-hLjlQIwfahFTl5Pitf6xtuciQ58= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.5.0.tgz#9be26ece4fd4ab3dfb528b887523144b7c5ffca8" - integrity sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA== +jest-runner@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" + integrity sha1-T5rge3Z9snt0DX3v+tDPZ8y0xbs= dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.5.0" + jest-config "^24.8.0" jest-docblock "^24.3.0" - jest-haste-map "^24.5.0" - jest-jasmine2 "^24.5.0" - jest-leak-detector "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-haste-map "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-leak-detector "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.5.0.tgz#3a76e0bfef4db3896d5116e9e518be47ba771aa2" - integrity sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw== +jest-runtime@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" + integrity sha1-BflNWwXCH23FTkJ80uSYCSM1BiA= dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" "@types/yargs" "^12.0.2" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" @@ -6766,38 +7075,37 @@ jest-runtime@^24.5.0: jest-serializer@^24.4.0: version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" - integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" + integrity sha1-9wxZGMjqkjXMsSdtIy5FkIBYjbM= -jest-snapshot@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.5.0.tgz#e5d224468a759fd19e36f01217aac912f500f779" - integrity sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA== +jest-snapshot@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" + integrity sha1-O+xqWdov97x9CXqFP7Z/nUFct8Y= dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" - expect "^24.5.0" - jest-diff "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" + expect "^24.8.0" + jest-diff "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.5.0" + pretty-format "^24.8.0" semver "^5.5.0" -jest-util@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.5.0.tgz#9d9cb06d9dcccc8e7cc76df91b1635025d7baa84" - integrity sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q== +jest-util@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" + integrity sha1-QfDpRdoR30TMdtZP+5FdBxb0bNE= dependencies: - "@jest/console" "^24.3.0" - "@jest/fake-timers" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.8.0" "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" @@ -6806,60 +7114,58 @@ jest-util@^24.5.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.5.0.tgz#62fd93d81214c070bb2d7a55f329a79d8057c7de" - integrity sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ== +jest-validate@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" + integrity sha1-YkxBUz5t/jVv+txuJCOjXC07SEk= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" camelcase "^5.0.0" chalk "^2.0.1" - jest-get-type "^24.3.0" + jest-get-type "^24.8.0" leven "^2.1.0" - pretty-format "^24.5.0" + pretty-format "^24.8.0" -jest-watcher@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.5.0.tgz#da7bd9cb5967e274889b42078c8f501ae1c47761" - integrity sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA== +jest-watcher@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" + integrity sha1-WNSZFc7d0t6F4jj2ITzvHJNxXeQ= dependencies: - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" "@types/yargs" "^12.0.9" ansi-escapes "^3.0.0" chalk "^2.0.1" - jest-util "^24.5.0" + jest-util "^24.8.0" string-length "^2.0.0" jest-worker@^23.2.0: version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= dependencies: merge-stream "^1.0.1" -jest-worker@^24.4.0: - version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.4.0.tgz#fbc452b0120bb5c2a70cdc88fa132b48eeb11dd0" - integrity sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ== +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha1-f4HOrjS3zeDJgnppgMNbfNwBYbM= dependencies: - "@types/node" "*" merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.5.0.tgz#38f11ae2c2baa2f86c2bc4d8a91d2b51612cd19a" - integrity sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ== +jest@24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha1-1d/xmE0NEAIZbpt/Evda8bKAkIE= dependencies: import-local "^2.0.0" - jest-cli "^24.5.0" + jest-cli "^24.8.0" joi@12.x.x: version "12.0.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-12.0.0.tgz#46f55e68f4d9628f01bbb695902c8b307ad8d33a" - integrity sha512-z0FNlV4NGgjQN1fdtHYXf5kmgludM65fG/JlXzU6+rwkt9U5UWuXVYnXa2FpK0u6+qBuCmrm5byPNuiiddAHvQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/joi/-/joi-12.0.0.tgz#46f55e68f4d9628f01bbb695902c8b307ad8d33a" + integrity sha1-RvVeaPTZYo8Bu7aVkCyLMHrY0zo= dependencies: hoek "4.x.x" isemail "3.x.x" @@ -6867,36 +7173,36 @@ joi@12.x.x: js-levenshtein@^1.1.3: version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0= "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= js-tokens@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.5.2, js-yaml@^3.9.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" - integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== +js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.5.2: + version "3.13.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^11.5.1: version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= dependencies: abab "^2.0.0" acorn "^5.5.3" @@ -6927,78 +7233,78 @@ jsdom@^11.5.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= json-loader@^0.5.7: version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + integrity sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0= json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= + version "3.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= json5@2.x, json5@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha1-56DGLEgoXGKNIKELhcibuAfDKFA= dependencies: minimist "^1.2.0" json5@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= dependencies: minimist "^1.2.0" jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsonify@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsprim@^1.2.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" @@ -7006,96 +7312,97 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= +jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha1-TUlz6/i50oN+6RqCCMxm86J3bPs= dependencies: array-includes "^3.0.3" + object.assign "^4.1.0" kebab-hash@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/kebab-hash/-/kebab-hash-0.1.2.tgz#dfb7949ba34d8e70114ea7d83e266e5e2a4abaac" - integrity sha512-BTZpq3xgISmQmAVzkISy4eUutsUA7s4IEFlCwOBJjvSFOwyR7I+fza+tBc/rzYWK/NrmFHjfU1IhO3lu29Ib/w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/kebab-hash/-/kebab-hash-0.1.2.tgz#dfb7949ba34d8e70114ea7d83e266e5e2a4abaac" + integrity sha1-37eUm6NNjnARTqfYPiZuXipKuqw= dependencies: lodash.kebabcase "^4.1.1" -killable@^1.0.0: +killable@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= kleur@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.2.tgz#83c7ec858a41098b613d5998a7b653962b504f68" - integrity sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q== + version "3.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= last-call-webpack-plugin@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= dependencies: lodash "^4.17.5" webpack-sources "^1.1.0" latest-version@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + resolved "https://repox.jfrog.io/repox/api/npm/npm/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= dependencies: package-json "^4.0.0" lcid@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= dependencies: invert-kv "^1.0.0" lcid@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= dependencies: invert-kv "^2.0.0" left-pad@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= leven@^2.0.0, leven@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + resolved "https://repox.jfrog.io/repox/api/npm/npm/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= levn@^0.3.0, levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://repox.jfrog.io/repox/api/npm/npm/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" @@ -7103,7 +7410,7 @@ levn@^0.3.0, levn@~0.3.0: load-json-file@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: graceful-fs "^4.1.2" @@ -7113,7 +7420,7 @@ load-json-file@^2.0.0: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" @@ -7122,22 +7429,22 @@ load-json-file@^4.0.0: strip-bom "^3.0.0" loader-fs-cache@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc" - integrity sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw= + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" + integrity sha1-VM7fa3J+F3n9jwEgXwX26IcG8IY= dependencies: find-cache-dir "^0.1.1" mkdirp "0.5.1" loader-runner@^2.3.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= -loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= dependencies: big.js "^5.2.2" emojis-list "^2.0.0" @@ -7145,7 +7452,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" @@ -7153,144 +7460,158 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= dependencies: p-locate "^3.0.0" path-exists "^3.0.0" lockfile@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" - integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" + integrity sha1-B/gZ0lrkj4flOOZXi2lkpJgaVgk= dependencies: signal-exit "^3.0.2" lodash.clonedeep@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= lodash.escape@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= lodash.escaperegexp@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= lodash.every@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7" integrity sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc= lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= lodash.foreach@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash.isnumber@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= lodash.isstring@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= lodash.kebabcase@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= lodash.map@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= lodash.maxby@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.maxby/-/lodash.maxby-4.6.0.tgz#082240068f3c7a227aa00a8380e4f38cf0786e3d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.maxby/-/lodash.maxby-4.6.0.tgz#082240068f3c7a227aa00a8380e4f38cf0786e3d" integrity sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0= lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.mergewith@^4.6.1: version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" - integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" + integrity sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc= lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + lodash.toarray@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= lodash.unescape@4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= lodash@4.17.11, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha1-s56mIp72B+zYniyN8SU2iRysm40= -loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po= +log-update@^3.0.0: + version "3.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/log-update/-/log-update-3.2.0.tgz#719f24293250d65d0165f4e2ec2ed805ff062eec" + integrity sha1-cZ8kKTJQ1l0BZfTi7C7YBf8GLuw= + dependencies: + ansi-escapes "^3.2.0" + cli-cursor "^2.1.0" + wrap-ansi "^5.0.0" + +loglevel@^1.6.3: + version "1.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + integrity sha1-d/LrZL5VpATJ/QStFtV8HW1rEoA= lokijs@^1.5.6: version "1.5.6" - resolved "https://registry.yarnpkg.com/lokijs/-/lokijs-1.5.6.tgz#6de6b8c3ff7a972fd0104169f81e7ddc244c029f" - integrity sha512-xJoDXy8TASTjmXMKr4F8vvNUCu4dqlwY5gmn0g5BajGt1GM3goDCafNiGAh/sfrWgkfWu1J4OfsxWm8yrWweJA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lokijs/-/lokijs-1.5.6.tgz#6de6b8c3ff7a972fd0104169f81e7ddc244c029f" + integrity sha1-bea4w/96ly/QEEFp+B593CRMAp8= longest-streak@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e" - integrity sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA== + version "2.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" + integrity sha1-Peej9H7hjpB03thXW1wJH10KQQU= loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= dependencies: js-tokens "^3.0.0 || ^4.0.0" loud-rejection@^1.2.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= dependencies: currently-unhandled "^0.4.1" @@ -7298,17 +7619,17 @@ loud-rejection@^1.2.0: lower-case@^1.1.1: version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= lowercase-keys@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= lru-cache@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.0.tgz#b5cbf01556c16966febe54ceec0fb4dc90df6c28" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lru-cache/-/lru-cache-4.0.0.tgz#b5cbf01556c16966febe54ceec0fb4dc90df6c28" integrity sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg= dependencies: pseudomap "^1.0.1" @@ -7316,96 +7637,96 @@ lru-cache@4.0.0: lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= dependencies: pseudomap "^1.0.2" yallist "^2.1.2" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= dependencies: yallist "^3.0.2" ltcdr@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ltcdr/-/ltcdr-2.2.1.tgz#5ab87ad1d4c1dab8e8c08bbf037ee0c1902287cf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ltcdr/-/ltcdr-2.2.1.tgz#5ab87ad1d4c1dab8e8c08bbf037ee0c1902287cf" integrity sha1-Wrh60dTB2rjowIu/A37gwZAih88= lunr@2.3.6: version "2.3.6" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.6.tgz#f278beee7ffd56ad86e6e478ce02ab2b98c78dd5" - integrity sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lunr/-/lunr-2.3.6.tgz#f278beee7ffd56ad86e6e478ce02ab2b98c78dd5" + integrity sha1-8ni+7n/9Vq2G5uR4zgKrK5jHjdU= -make-dir@^1.0.0, make-dir@^1.3.0: +make-dir@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha1-ecEDO4BRW9bSTsmTPoYMp17ifww= dependencies: pify "^3.0.0" -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= dependencies: pify "^4.0.1" semver "^5.6.0" make-error@1.x: version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha1-7+ToH22yjK3WBccPKcgxtY73dsg= makeerror@1.0.x: version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= dependencies: tmpl "1.0.x" map-age-cleaner@^0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= dependencies: p-defer "^1.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: +map-cache@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" markdown-escapes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.2.tgz#e639cbde7b99c841c0bacc8a07982873b46d2122" - integrity sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" + integrity sha1-YVXhBBbvqvq2ZdRmzlmCFjdRlfU= markdown-table@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.2.tgz#c78db948fa879903a41bce522e3b96f801c63786" - integrity sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha1-n8tpvP24cXv9A5jG7C2TA2743mA= md5-file@^3.1.1: version "3.2.3" - resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f" - integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f" + integrity sha1-+bzrlB7KIhSkwHJ/XnADFOdw8G8= dependencies: buffer-alloc "^1.1.0" md5.js@^1.3.4: version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -7413,7 +7734,7 @@ md5.js@^1.3.4: md5@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= dependencies: charenc "~0.0.1" @@ -7421,23 +7742,23 @@ md5@^2.2.1: is-buffer "~1.1.1" mdast-util-compact@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz#c12ebe16fffc84573d3e19767726de226e95f649" - integrity sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d" + integrity sha1-mKJcyKeGV2GkFHezqH0dzvCx550= dependencies: unist-util-visit "^1.1.0" mdast-util-definitions@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.3.tgz#49f936b09207c45b438db19551652934312f04f0" - integrity sha512-P6wpRO8YVQ1iv30maMc93NLh7COvufglBE8/ldcOyYmk5EbfF0YeqlLgtqP/FOBU501Kqar1x5wYWwB3Nga74g== + version "1.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz#2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7" + integrity sha1-K1StTuyv+dn8tr9vn2tosjLXfKc= dependencies: unist-util-visit "^1.0.0" mdast-util-to-hast@^3.0.0: version "3.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40" - integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40" + integrity sha1-EyABsmYDEZI0jTNmprAR8o5U3EA= dependencies: collapse-white-space "^1.0.0" detab "^2.0.0" @@ -7452,9 +7773,9 @@ mdast-util-to-hast@^3.0.0: xtend "^4.0.1" mdast-util-to-nlcst@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.2.tgz#71972eecd64dc03d5cf2713f08555e2d9e2d7d10" - integrity sha512-TmJlri8dHt7duRU6jfWBMqf5gW+VZ6o/8GHaWzwdxslseB2lL8bSOiox6c8VwYX5v2E4CzUWm/1GkAYqgbNw9A== + version "3.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz#dcd0f51b59515b11a0700aeb40f168ed7ba9ed3d" + integrity sha1-3ND1G1lRWxGgcArrQPFo7Xup7T0= dependencies: nlcst-to-string "^2.0.0" repeat-string "^1.5.2" @@ -7462,14 +7783,14 @@ mdast-util-to-nlcst@^3.2.0: vfile-location "^2.0.0" mdast-util-to-string@^1.0.2, mdast-util-to-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.5.tgz#3552b05428af22ceda34f156afe62ec8e6d731ca" - integrity sha512-2qLt/DEOo5F6nc2VFScQiHPzQ0XXcabquRJxKMhKte8nt42o08HUxNDPk7tt0YPxnWjAT11I1SYi0X0iPnfI5A== + version "1.0.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" + integrity sha1-fYVCECE0OzPeFVL8ccuOW0rnU20= mdast-util-toc@^2.0.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-2.1.0.tgz#82b6b218577bb0e67b23abf5c3f7ac73a4b5389f" - integrity sha512-ove/QQWSrYOrf9G3xn2MTAjy7PKCtCmm261wpQwecoPAsUtkihkMVczxFqil7VihxgSz4ID9c8bBTsyXR30gQg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdast-util-toc/-/mdast-util-toc-2.1.0.tgz#82b6b218577bb0e67b23abf5c3f7ac73a4b5389f" + integrity sha1-grayGFd7sOZ7I6v1w/esc6S1OJ8= dependencies: github-slugger "^1.1.1" mdast-util-to-string "^1.0.2" @@ -7477,35 +7798,35 @@ mdast-util-toc@^2.0.1: mdn-data@~1.1.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + integrity sha1-ULXU/8RXUnZXPE7tuHgIEqhBnwE= mdurl@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= meant@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d" - integrity sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d" + integrity sha1-ZgRP6i8jIw7IBvtRXv6inETSEV0= media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://repox.jfrog.io/repox/api/npm/npm/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= dependencies: mimic-fn "^1.0.0" mem@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" - integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== + version "4.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" @@ -7513,7 +7834,7 @@ mem@^4.0.0: memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + resolved "https://repox.jfrog.io/repox/api/npm/npm/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" @@ -7521,30 +7842,30 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://repox.jfrog.io/repox/api/npm/npm/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= merge-stream@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= dependencies: readable-stream "^2.0.1" merge2@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + integrity sha1-fumdvWm7ZIFoklPwGEiKG5ArDtU= methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://repox.jfrog.io/repox/api/npm/npm/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -7562,60 +7883,60 @@ micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: miller-rabin@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= dependencies: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.38.0 < 2", mime-db@~1.38.0: - version "1.38.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" - integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== +mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": + version "1.40.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI= -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: - version "2.1.22" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" - integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.24" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha1-tvjQs+lR77d97eyhlM/20W9nb4E= dependencies: - mime-db "~1.38.0" + mime-db "1.40.0" -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mime@1.6.0: + version "1.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= -mime@^2.0.3, mime@^2.2.0, mime@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" - integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== +mime@^2.0.3, mime@^2.2.0, mime@^2.4.2: + version "2.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U= mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= mimic-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" - integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= mimic-response@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= min-document@^2.19.0: version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + resolved "https://repox.jfrog.io/repox/api/npm/npm/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= dependencies: dom-walk "^0.1.0" mini-css-extract-plugin@^0.4.0: version "0.4.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz#c99e9e78d54f3fa775633aee5933aeaa4e80719a" - integrity sha512-dqBanNfktnp2hwL2YguV9Jh91PFX7gu7nRLs4TGsbAfAG6WOtlynFRYzwDwmmeSb5uIwHo9nx1ta0f7vAZVp2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz#c99e9e78d54f3fa775633aee5933aeaa4e80719a" + integrity sha1-yZ6eeNVPP6d1YzruWTOuqk6AcZo= dependencies: loader-utils "^1.1.0" schema-utils "^1.0.0" @@ -7623,62 +7944,62 @@ mini-css-extract-plugin@^0.4.0: minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" integrity sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q= dependencies: brace-expansion "^1.0.0" minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@~0.0.1: version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.4: +minipass@^2.2.1, minipass@^2.3.5: version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha1-ys6+SSAiSX9law8PUeJoKp7S2Eg= dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1: +minizlib@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha1-3SfqYTYkPHyIBoToZyuzpF/ZthQ= dependencies: minipass "^2.2.1" mississippi@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -7693,44 +8014,44 @@ mississippi@^3.0.0: mitt@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.3.tgz#528c506238a05dce11cd914a741ea2cc332da9b8" - integrity sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mitt/-/mitt-1.1.3.tgz#528c506238a05dce11cd914a741ea2cc332da9b8" + integrity sha1-UoxQYjigXc4RzZFKdB6izDMtqbg= mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= dependencies: for-in "^1.0.2" is-extendable "^1.0.1" mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" modularscale@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/modularscale/-/modularscale-1.0.2.tgz#4a8f13af32a5e5214fc6e2cfc529064abfd7d877" + resolved "https://repox.jfrog.io/repox/api/npm/npm/modularscale/-/modularscale-1.0.2.tgz#4a8f13af32a5e5214fc6e2cfc529064abfd7d877" integrity sha1-So8TrzKl5SFPxuLPxSkGSr/X2Hc= dependencies: lodash.isnumber "^3.0.0" moment@^2.21.0: version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" + integrity sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s= moo@^0.4.3: version "0.4.3" - resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" - integrity sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" + integrity sha1-P4R6JvMc9iWpVqh/KxD7wBO/0Q4= move-concurrently@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + resolved "https://repox.jfrog.io/repox/api/npm/npm/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= dependencies: aproba "^1.1.1" @@ -7742,51 +8063,56 @@ move-concurrently@^1.0.1: ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@^2.1.1: + version "2.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= multicast-dns-service-types@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + resolved "https://repox.jfrog.io/repox/api/npm/npm/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= multicast-dns@^6.0.1: version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= dependencies: dns-packet "^1.3.1" thunky "^1.0.2" mute-stream@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= mute-stream@~0.0.4: version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= name-all-modules-plugin@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c" integrity sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w= -nan@^2.9.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" - integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== +nan@^2.12.1: + version "2.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw= nanomatch@^1.2.9: version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -7802,13 +8128,13 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= nearley@^2.7.10: version "2.16.0" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" - integrity sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" + integrity sha1-d8KX0EGUHSaCkOyEtznQ7il+g6c= dependencies: commander "^2.19.0" moo "^0.4.3" @@ -7817,80 +8143,90 @@ nearley@^2.7.10: semver "^5.4.1" needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" + integrity sha1-aDPnSXXERGQlkOFadQKIxfk5tXw= dependencies: - debug "^2.1.2" + debug "^3.2.6" iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= +negotiator@0.6.2: + version "0.6.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= neo-async@^2.5.0, neo-async@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== + version "2.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw= nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= nlcst-to-string@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/nlcst-to-string/-/nlcst-to-string-2.0.2.tgz#7125af4d4d369850c697192a658f01f36af9937b" - integrity sha512-DV7wVvMcAsmZ5qEwvX1JUNF4lKkAAKbChwNlIH7NLsPR7LWWoeIt53YlZ5CQH5KDXEXQ9Xa3mw0PbPewymrtew== + version "2.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nlcst-to-string/-/nlcst-to-string-2.0.3.tgz#b7913bb1305263b0561a86de68e179f17f7febe3" + integrity sha1-t5E7sTBSY7BWGobeaOF58X9/6+M= no-case@^2.2.0: version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= dependencies: lower-case "^1.1.1" node-emoji@^1.6.1: version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha1-iIar0l2ce7YYAqZYUj0fjSqJsto= dependencies: lodash.toarray "^4.4.0" node-eta@^0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8" integrity sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g= node-fetch@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= +node-fetch@2.3.0: + version "2.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" + integrity sha1-Gh2UC7+5FqHT4CGfA36J5x+MX6U= + node-fetch@^1.0.1: version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= dependencies: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.6.0: + version "2.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0= + node-forge@0.7.5: version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" + integrity sha1-bBUsNFzhHFL0ZcKr2VfoY5zWdN8= node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= node-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -7902,7 +8238,7 @@ node-libs-browser@^2.0.0: events "^3.0.0" https-browserify "^1.0.0" os-browserify "^0.3.0" - path-browserify "0.0.0" + path-browserify "0.0.1" process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" @@ -7914,17 +8250,17 @@ node-libs-browser@^2.0.0: tty-browserify "0.0.0" url "^0.11.0" util "^0.11.0" - vm-browserify "0.0.4" + vm-browserify "^1.0.1" node-modules-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.2.1: version "5.4.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" - integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" + integrity sha1-e0Vf3On33gxjU4KXNU89tGhCbmo= dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -7932,10 +8268,10 @@ node-notifier@^5.2.1: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha1-ObpLsUOdoDApX4meO1ILd4V2YUk= dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -7948,16 +8284,16 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.11.tgz#9a0841a4b0d92b7d5141ed179e764f42ad22724a" - integrity sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ== +node-releases@^1.1.23: + version "1.1.25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" + integrity sha1-DC19vH/tMPvgKp7jAHuMkL8BM9M= dependencies: semver "^5.3.0" noms@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + resolved "https://repox.jfrog.io/repox/api/npm/npm/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= dependencies: inherits "^2.0.1" @@ -7965,7 +8301,7 @@ noms@0.0.0: nopt@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= dependencies: abbrev "1" @@ -7973,8 +8309,8 @@ nopt@^4.0.1: normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" @@ -7983,50 +8319,50 @@ normalize-package-data@^2.3.2: normalize-path@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= normalize-url@^3.0.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= npm-bundled@^1.0.1: version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" + integrity sha1-57qarc75YrthJI+RchzZMrP+a90= npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== + version "1.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha1-hmIkIzhQrFNLY9Gm52BQCStdL0Q= dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" npmlog@^4.0.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -8035,54 +8371,54 @@ npmlog@^4.0.2: nth-check@^1.0.1, nth-check@^1.0.2, nth-check@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= dependencies: boolbase "~1.0.0" null-loader@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-0.1.1.tgz#17be9abfcd3ff0e1512f6fc4afcb1f5039378fae" + resolved "https://repox.jfrog.io/repox/api/npm/npm/null-loader/-/null-loader-0.1.1.tgz#17be9abfcd3ff0e1512f6fc4afcb1f5039378fae" integrity sha1-F76av80/8OFRL2/Er8sfUDk3j64= nullthrows@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha1-eBgliEOFaulx6uQgitfX6xmkMbE= num2fraction@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + resolved "https://repox.jfrog.io/repox/api/npm/npm/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nwsapi@^2.0.7: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.1.tgz#08d6d75e69fd791bdea31507ffafe8c843b67e9c" - integrity sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg== + version "2.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" + integrity sha1-4AaoeNsjY2+OimfTPKDk7fYahC8= oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-component@0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= object-copy@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" @@ -8091,50 +8427,50 @@ object-copy@^0.1.0: object-hash@^1.1.4: version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= object-inspect@^1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha1-xwtsv3LydKq0w0wMgvUWe/gs8Vs= object-is@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= object-keys@^1.0.11, object-keys@^1.0.12: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032" - integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg== + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= object-path@^0.11.2, object-path@^0.11.4: version "0.11.4" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= object-visit@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.assign@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= dependencies: define-properties "^1.1.2" function-bind "^1.1.1" has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.0.4: +object.entries@^1.0.4, object.entries@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk= dependencies: define-properties "^1.1.3" es-abstract "^1.12.0" @@ -8143,8 +8479,8 @@ object.entries@^1.0.4: object.fromentries@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" + integrity sha1-SaVD2SFR+Cd7OslgDx6TCxidMKs= dependencies: define-properties "^1.1.2" es-abstract "^1.11.0" @@ -8153,7 +8489,7 @@ object.fromentries@^2.0.0: object.getownpropertydescriptors@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" @@ -8161,15 +8497,15 @@ object.getownpropertydescriptors@^2.0.3: object.pick@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" object.values@^1.0.4, object.values@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha1-v2gQ712j5TJXkOqqK+IT6oRiTak= dependencies: define-properties "^1.1.3" es-abstract "^1.12.0" @@ -8178,73 +8514,73 @@ object.values@^1.0.4, object.values@^1.1.0: obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://repox.jfrog.io/repox/api/npm/npm/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" opentracing@^0.14.3: version "0.14.3" - resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.3.tgz#23e3ad029fa66a653926adbe57e834469f8550aa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/opentracing/-/opentracing-0.14.3.tgz#23e3ad029fa66a653926adbe57e834469f8550aa" integrity sha1-I+OtAp+mamU5Jq2+V+g0Rp+FUKo= opn@5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" - integrity sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + integrity sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk= dependencies: is-wsl "^1.1.0" -opn@^5.1.0, opn@^5.4.0: +opn@^5.4.0, opn@^5.5.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= dependencies: is-wsl "^1.1.0" optimist@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + resolved "https://repox.jfrog.io/repox/api/npm/npm/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" wordwrap "~0.0.2" optimize-css-assets-webpack-plugin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#9eb500711d35165b45e7fd60ba2df40cb3eb9159" - integrity sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A== + version "5.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= dependencies: - cssnano "^4.1.0" + cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" @@ -8256,25 +8592,25 @@ optionator@^0.8.1, optionator@^0.8.2: original@>=0.0.5, original@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= dependencies: url-parse "^1.4.3" os-browserify@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-homedir@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-locale@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I= dependencies: execa "^0.7.0" lcid "^1.0.0" @@ -8282,8 +8618,8 @@ os-locale@^2.0.0: os-locale@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= dependencies: execa "^1.0.0" lcid "^2.0.0" @@ -8291,102 +8627,114 @@ os-locale@^3.0.0: os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" p-cancelable@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo= p-defer@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-each-series@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= dependencies: p-reduce "^1.0.0" p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" - integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= dependencies: p-try "^1.0.0" p-limit@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha1-QXyZQeYCepq8ulCS3SkE4lW1+8I= dependencies: p-try "^2.0.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= dependencies: p-limit "^2.0.0" p-map@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= + +p-map@^2.0.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= p-reduce@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-retry@^3.0.1: + version "3.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + p-timeout@^1.1.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= dependencies: p-finally "^1.0.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -p-try@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" - integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== +p-try@^2.0.0, p-try@^2.1.0: + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= package-json@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + resolved "https://repox.jfrog.io/repox/api/npm/npm/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= dependencies: got "^6.7.1" @@ -8396,12 +8744,12 @@ package-json@^4.0.0: pako@~1.0.5: version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha1-Qyi621CGpCaqkPVBl31JVdpclzI= parallel-transform@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= dependencies: cyclist "~0.2.2" @@ -8409,16 +8757,16 @@ parallel-transform@^1.1.0: readable-stream "^2.1.5" parent-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" - integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= dependencies: callsites "^3.0.0" parse-asn1@^5.0.0: version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha1-N/Zij4I/vesic7TVQENKIvPvH8w= dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -8428,9 +8776,9 @@ parse-asn1@^5.0.0: safe-buffer "^5.1.1" parse-english@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/parse-english/-/parse-english-4.1.1.tgz#2f75872e617769d857d9b6992dcde2a891f1b2d3" - integrity sha512-g7hegR9AFIlGXl5645mG8nQeeWW7SrK7lgmgIWR0KKWvGyZO5mxa4GGoNxRLm6VW2LGpLnn6g4O9yyLJQ4IzQw== + version "4.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-english/-/parse-english-4.1.2.tgz#6710d426caa76db327ef7066991cd1b9f602db9f" + integrity sha1-ZxDUJsqnbbMn73BmmRzRufYC258= dependencies: nlcst-to-string "^2.0.0" parse-latin "^4.0.0" @@ -8438,9 +8786,9 @@ parse-english@^4.0.0: unist-util-visit-children "^1.0.0" parse-entities@^1.0.2, parse-entities@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.1.tgz#2c761ced065ba7dc68148580b5a225e4918cdd69" - integrity sha512-NBWYLQm1KSoDKk7GAHyioLTvCZ5QjdH/ASBBQTD3iLiAWJXS5bg1jEWI8nIJ+vgVvsceBVBcDGRWSo0KVQBvvg== + version "1.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" + integrity sha1-wxvw9lO2ZhNU+Jc1WcuG3R1e31A= dependencies: character-entities "^1.0.0" character-entities-legacy "^1.0.0" @@ -8449,34 +8797,25 @@ parse-entities@^1.0.2, parse-entities@^1.1.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-latin@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.1.1.tgz#3a3edef405b2d5dce417b7157d3d8a5c7cdfab1d" - integrity sha512-9fPVvDdw6G8LxL3o/PL6IzSGNGpF+3HEjCzFe0dN83sZPstftyr+McP9dNi3+EnR7ICYOHbHKCZ0l7JD90K5xQ== + version "4.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-latin/-/parse-latin-4.2.0.tgz#b0b107a26ecbe8670f9ed0d20eb491c7780f99d1" + integrity sha1-sLEHom7L6GcPntDSDrSRx3gPmdE= dependencies: nlcst-to-string "^2.0.0" unist-util-modify-children "^1.0.0" @@ -8484,53 +8823,53 @@ parse-latin@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-unit@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-unit/-/parse-unit-1.0.1.tgz#7e1bb6d5bef3874c28e392526a2541170291eecf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-unit/-/parse-unit-1.0.1.tgz#7e1bb6d5bef3874c28e392526a2541170291eecf" integrity sha1-fhu21b7zh0wo45JSaiVBFwKR7s8= parse5@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= parse5@^3.0.1: version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + integrity sha1-BC95L/3TaFFVHPTp4Gazh0q0W1w= dependencies: "@types/node" "*" parse5@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= parseqs@0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= dependencies: better-assert "~1.0.0" parseuri@0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= dependencies: better-assert "~1.0.0" -parseurl@^1.3.2, parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= +parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= pascal-case@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4= dependencies: camel-case "^3.0.0" @@ -8538,86 +8877,74 @@ pascal-case@^2.0.1: pascalcase@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= +path-browserify@0.0.1: + version "0.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= path-dirname@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= path-exists@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: pify "^2.0.0" path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= dependencies: pify "^3.0.0" pbkdf2@^3.0.3: version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha1-l2wgZTBhexTrsyEUI597CTNuk6Y= dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -8627,85 +8954,85 @@ pbkdf2@^3.0.3: performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= physical-cpu-count@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" + resolved "https://repox.jfrog.io/repox/api/npm/npm/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= pify@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pirates@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= dependencies: node-modules-regexp "^1.0.0" pkg-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= dependencies: find-up "^1.0.0" pkg-dir@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" pkg-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= dependencies: find-up "^3.0.0" pn@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= pnp-webpack-plugin@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.4.1.tgz#e8f8c683b496a71c0d200e664c4bb399a9c9585e" - integrity sha512-S4kz+5rvWvD0w1O63eTJeXIxW4JHK0wPRMO7GmPhbZXJnTePcfrWZlni4BoglIf7pLSY18xtqo3MSnVkoAFXKg== + version "1.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha1-YqHNMGj0bVZLszxW6yUOTVhmdus= dependencies: - ts-pnp "^1.0.0" + ts-pnp "^1.1.2" -portfinder@^1.0.9: +portfinder@^1.0.20: version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" + integrity sha1-vqaGMuVLLhOrewxHdem0G/Jw5Eo= dependencies: async "^1.5.2" debug "^2.2.0" @@ -8713,13 +9040,13 @@ portfinder@^1.0.9: posix-character-classes@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + resolved "https://repox.jfrog.io/repox/api/npm/npm/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" + integrity sha1-Ntd7qwI7Dsu5eJ2E3LI8SUEUVDY= dependencies: css-unit-converter "^1.1.1" postcss "^7.0.5" @@ -8728,8 +9055,8 @@ postcss-calc@^7.0.1: postcss-colormin@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= dependencies: browserslist "^4.0.0" color "^3.0.0" @@ -8739,59 +9066,59 @@ postcss-colormin@^4.0.3: postcss-convert-values@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-discard-comments@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= dependencies: postcss "^7.0.0" postcss-discard-duplicates@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= dependencies: postcss "^7.0.0" postcss-discard-empty@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= dependencies: postcss "^7.0.0" postcss-discard-overridden@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= dependencies: postcss "^7.0.0" postcss-flexbugs-fixes@^3.0.0: version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz#0783cc7212850ef707f97f8bc8b6fb624e00c75d" - integrity sha512-9y9kDDf2F9EjKX6x9ueNa5GARvsUbXw4ezH8vXItXHwKzljbu8awP7t5dCaabKYm18Vs1lo5bKQcnc0HkISt+w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz#0783cc7212850ef707f97f8bc8b6fb624e00c75d" + integrity sha1-B4PMchKFDvcH+X+LyLb7Yk4Ax10= dependencies: postcss "^6.0.1" postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= dependencies: - cosmiconfig "^4.0.0" + cosmiconfig "^5.0.0" import-cwd "^2.0.0" postcss-loader@^2.1.3: version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.6.tgz#1d7dd7b17c6ba234b9bed5af13e0bea40a42d740" - integrity sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-loader/-/postcss-loader-2.1.6.tgz#1d7dd7b17c6ba234b9bed5af13e0bea40a42d740" + integrity sha1-HX3XsXxrojS5vtWvE+C+pApC10A= dependencies: loader-utils "^1.1.0" postcss "^6.0.0" @@ -8800,8 +9127,8 @@ postcss-loader@^2.1.3: postcss-merge-longhand@^4.0.11: version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= dependencies: css-color-names "0.0.4" postcss "^7.0.0" @@ -8810,8 +9137,8 @@ postcss-merge-longhand@^4.0.11: postcss-merge-rules@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" @@ -8822,16 +9149,16 @@ postcss-merge-rules@^4.0.3: postcss-minify-font-values@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-minify-gradients@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= dependencies: cssnano-util-get-arguments "^4.0.0" is-color-stop "^1.0.0" @@ -8840,8 +9167,8 @@ postcss-minify-gradients@^4.0.2: postcss-minify-params@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= dependencies: alphanum-sort "^1.0.0" browserslist "^4.0.0" @@ -8852,8 +9179,8 @@ postcss-minify-params@^4.0.2: postcss-minify-selectors@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= dependencies: alphanum-sort "^1.0.0" has "^1.0.0" @@ -8862,14 +9189,14 @@ postcss-minify-selectors@^4.0.2: postcss-modules-extract-imports@^1.2.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" - integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" + integrity sha1-3IfjQUjsfqtfeR981YSYMzdbdBo= dependencies: postcss "^6.0.1" postcss-modules-local-by-default@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= dependencies: css-selector-tokenizer "^0.7.0" @@ -8877,7 +9204,7 @@ postcss-modules-local-by-default@^1.2.0: postcss-modules-scope@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= dependencies: css-selector-tokenizer "^0.7.0" @@ -8885,7 +9212,7 @@ postcss-modules-scope@^1.1.0: postcss-modules-values@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= dependencies: icss-replace-symbols "^1.1.0" @@ -8893,15 +9220,15 @@ postcss-modules-values@^1.3.0: postcss-normalize-charset@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= dependencies: postcss "^7.0.0" postcss-normalize-display-values@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" @@ -8909,8 +9236,8 @@ postcss-normalize-display-values@^4.0.2: postcss-normalize-positions@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= dependencies: cssnano-util-get-arguments "^4.0.0" has "^1.0.0" @@ -8919,8 +9246,8 @@ postcss-normalize-positions@^4.0.2: postcss-normalize-repeat-style@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= dependencies: cssnano-util-get-arguments "^4.0.0" cssnano-util-get-match "^4.0.0" @@ -8929,8 +9256,8 @@ postcss-normalize-repeat-style@^4.0.2: postcss-normalize-string@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= dependencies: has "^1.0.0" postcss "^7.0.0" @@ -8938,8 +9265,8 @@ postcss-normalize-string@^4.0.2: postcss-normalize-timing-functions@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= dependencies: cssnano-util-get-match "^4.0.0" postcss "^7.0.0" @@ -8947,8 +9274,8 @@ postcss-normalize-timing-functions@^4.0.2: postcss-normalize-unicode@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= dependencies: browserslist "^4.0.0" postcss "^7.0.0" @@ -8956,8 +9283,8 @@ postcss-normalize-unicode@^4.0.1: postcss-normalize-url@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= dependencies: is-absolute-url "^2.0.0" normalize-url "^3.0.0" @@ -8966,16 +9293,16 @@ postcss-normalize-url@^4.0.1: postcss-normalize-whitespace@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= dependencies: postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-ordered-values@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= dependencies: cssnano-util-get-arguments "^4.0.0" postcss "^7.0.0" @@ -8983,8 +9310,8 @@ postcss-ordered-values@^4.1.2: postcss-reduce-initial@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" @@ -8993,8 +9320,8 @@ postcss-reduce-initial@^4.0.3: postcss-reduce-transforms@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= dependencies: cssnano-util-get-match "^4.0.0" has "^1.0.0" @@ -9003,7 +9330,7 @@ postcss-reduce-transforms@^4.0.2: postcss-selector-parser@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= dependencies: dot-prop "^4.1.1" @@ -9012,8 +9339,8 @@ postcss-selector-parser@^3.0.0: postcss-selector-parser@^5.0.0-rc.4: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= dependencies: cssesc "^2.0.0" indexes-of "^1.0.1" @@ -9021,8 +9348,8 @@ postcss-selector-parser@^5.0.0-rc.4: postcss-svgo@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= dependencies: is-svg "^3.0.0" postcss "^7.0.0" @@ -9031,8 +9358,8 @@ postcss-svgo@^4.0.2: postcss-unique-selectors@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= dependencies: alphanum-sort "^1.0.0" postcss "^7.0.0" @@ -9040,22 +9367,22 @@ postcss-unique-selectors@^4.0.1: postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.23: version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ= dependencies: chalk "^2.4.1" source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.16, postcss@^7.0.5: + version "7.0.17" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha1-TaG9/1Mi1KCsqrTYfz54JDa60x8= dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -9063,101 +9390,110 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5: prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prepend-http@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -prettier@1.16.4, prettier@^1.16.0: +prettier@1.16.4: version "1.16.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" - integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" + integrity sha1-c+N+c+AYrS25x2dC4mR+IXkMlxc= + +prettier@^1.16.0: + version "1.18.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + integrity sha1-aCPnxZAAF7S9Os9G/prEtNe9qeo= pretty-bytes@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= pretty-error@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= dependencies: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.5.0.tgz#cc69a0281a62cd7242633fc135d6930cd889822d" - integrity sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ== +pretty-format@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" + integrity sha1-ja5wRPWNt8uL4kU4O1Zalj48J/I= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" private@^0.1.6: version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= process@^0.11.10: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://repox.jfrog.io/repox/api/npm/npm/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -process@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" - integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= - progress@^1.1.8: version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + resolved "https://repox.jfrog.io/repox/api/npm/npm/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= promise-polyfill@^7.1.1: version "7.1.2" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b" - integrity sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b" + integrity sha1-qwUwHYwoU2MBYi1pInYyJppwyjs= promise@^7.1.1: version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= dependencies: asap "~2.0.3" -prompts@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.4.tgz#179f9d4db3128b9933aa35f93a800d8fce76a682" - integrity sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA== +prompts@^2.0.1, prompts@^2.1.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" + integrity sha1-v5C8cfYGXSVeor3A/mUgSFwbRds= dependencies: kleur "^3.0.2" sisteransi "^1.0.0" -prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types-exact@^1.2.0: + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869" + integrity sha1-gl1r5GCUZjhII345JamMbpROmGk= + dependencies: + has "^1.0.3" + object.assign "^4.1.0" + reflect.ownkeys "^0.2.0" + +prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" @@ -9165,38 +9501,38 @@ prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: property-information@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e" - integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e" + integrity sha1-8OZuB8vW/tMdloRNlY0VOtPrSG4= dependencies: xtend "^4.0.1" -proxy-addr@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== +proxy-addr@~2.0.5: + version "2.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha1-NMvWSi2B9LH9IedvnwbIpFKZ7jQ= dependencies: forwarded "~0.1.2" - ipaddr.js "1.8.0" + ipaddr.js "1.9.0" prr@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha1-3xK1sbOjD1HDKerL3vmPOm4TbcY= public-encrypt@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -9207,24 +9543,24 @@ public-encrypt@^4.0.0: pump@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pump@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pumpify@^1.3.3: version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= dependencies: duplexify "^3.6.0" inherits "^2.0.3" @@ -9232,103 +9568,118 @@ pumpify@^1.3.3: punycode@1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= q@^1.1.2: version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.5.2, qs@~6.5.2: +qs@6.7.0: + version "6.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= querystring-es3@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0, querystring@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystringify@^2.0.0: +querystringify@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4= raf@^3.4.0: version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= dependencies: performance-now "^2.1.0" railroad-diagrams@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= randexp@0.4.6: version "0.4.6" - resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" - integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" + integrity sha1-6YatXl4x2uE93W97MBmqfIf2DKM= dependencies: discontinuous-range "1.0.0" ret "~0.1.10" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= -raw-body@2.3.3, raw-body@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== +raw-body@2.4.0: + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@^2.3.2: + version "2.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow= + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" unpipe "1.0.0" raw-loader@^0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" integrity sha1-DD0L6u2KAclm2Xh793goElKpeao= rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= dependencies: deep-extend "^0.6.0" ini "~1.3.0" @@ -9337,8 +9688,8 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: react-dev-utils@^4.2.1: version "4.2.3" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-4.2.3.tgz#5b42d9ea58d5e9e017a2f57a40a8af408a3a46fb" - integrity sha512-uvmkwl5uMexCmC0GUv1XGQP0YjfYePJufGg4YYiukhqk2vN1tQxwWJIBERqhOmSi80cppZg8mZnPP/kOMf1sUQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-dev-utils/-/react-dev-utils-4.2.3.tgz#5b42d9ea58d5e9e017a2f57a40a8af408a3a46fb" + integrity sha1-W0LZ6ljV6eAXovV6QKivQIo6Rvs= dependencies: address "1.0.3" babel-code-frame "6.26.0" @@ -9359,24 +9710,24 @@ react-dev-utils@^4.2.1: strip-ansi "3.0.1" text-table "0.2.0" -react-dom@16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.5.tgz#b3e37d152b49e07faaa8de41fdf562be3463335e" - integrity sha512-VIEIvZLpFafsfu4kgmftP5L8j7P1f0YThfVTrANMhZUFMDOsA6e0kfR6wxw/8xxKs4NB59TZYbxNdPCDW34x4w== +react-dom@16.8.6: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" + integrity sha1-cdYwP2MeiwCX9WFl72CPBR/24Q8= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.5" + scheduler "^0.13.6" react-error-overlay@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-3.0.0.tgz#c2bc8f4d91f1375b3dad6d75265d51cd5eeaf655" - integrity sha512-XzgvowFrwDo6TWcpJ/WTiarb9UI6lhA4PMzS7n1joK3sHfBBBOQHUc0U4u57D6DWO9vHv6lVSWx2Q/Ymfyv4hw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-error-overlay/-/react-error-overlay-3.0.0.tgz#c2bc8f4d91f1375b3dad6d75265d51cd5eeaf655" + integrity sha1-wryPTZHxN1s9rW11Jl1RzV7q9lU= react-helmet@5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.0.tgz#a81811df21313a6d55c5f058c4aeba5d6f3d97a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-helmet/-/react-helmet-5.2.0.tgz#a81811df21313a6d55c5f058c4aeba5d6f3d97a7" integrity sha1-qBgR3yExOm1VxfBYxK66XW89l6c= dependencies: deep-equal "^1.0.1" @@ -9385,9 +9736,9 @@ react-helmet@5.2.0: react-side-effect "^1.1.0" react-hot-loader@^4.6.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.8.0.tgz#0b7c7dd9407415e23eb8246fdd28b0b839f54cb6" - integrity sha512-HY9F0vITYSVmXhAR6tPkMk240nxmoH8+0rca9iO2B82KVguiCiBJkieS0Wb4CeSIzLWecYx3iOcq8dcbnp0bxA== + version "4.12.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-hot-loader/-/react-hot-loader-4.12.3.tgz#0972255cd110a00860902e82bb2b789a262cfe01" + integrity sha1-CXIlXNEQoAhgkC6Cuyt4miYs/gE= dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" @@ -9399,60 +9750,80 @@ react-hot-loader@^4.6.2: shallowequal "^1.0.2" source-map "^0.7.3" -react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.5.tgz#c54ac229dd66b5afe0de5acbe47647c3da692ff8" - integrity sha512-sudt2uq5P/2TznPV4Wtdi+Lnq3yaYW8LfvPKLM9BKD8jJNBkxMVyB0C9/GmVhLw7Jbdmndk/73n7XQGeN9A3QQ== +react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.5, react-is@^16.8.6: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" + integrity sha1-W7weLSkUHJ+9/tRWND/ivEMKahY= react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-reconciler@^0.20.0: + version "0.20.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-reconciler/-/react-reconciler-0.20.4.tgz#3da6a95841592f849cb4edd3d38676c86fd920b2" + integrity sha1-PaapWEFZL4SctO3T04Z2yG/ZILI= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.13.6" react-side-effect@^1.1.0: version "1.1.5" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.1.5.tgz#f26059e50ed9c626d91d661b9f3c8bb38cd0ff2d" - integrity sha512-Z2ZJE4p/jIfvUpiUMRydEVpQRf2f8GMHczT6qLcARmX7QRb28JDBTpnM2g/i5y/p7ZDEXYGHWg0RbhikE+hJRw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-side-effect/-/react-side-effect-1.1.5.tgz#f26059e50ed9c626d91d661b9f3c8bb38cd0ff2d" + integrity sha1-8mBZ5Q7ZxibZHWYbnzyLs4zQ/y0= dependencies: exenv "^1.2.1" shallowequal "^1.0.1" -react-test-renderer@16.8.5, react-test-renderer@^16.0.0-0: +react-test-renderer@16.8.5: version "16.8.5" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.5.tgz#4cba7a8aad73f7e8a0bc4379a0fe21632886a563" - integrity sha512-/pFpHYQH4f35OqOae/DgOCXJDxBqD3K3akVfDhLgR0qYHoHjnICI/XS9QDwIhbrOFHWL7okVW9kKMaHuKvt2ng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-test-renderer/-/react-test-renderer-16.8.5.tgz#4cba7a8aad73f7e8a0bc4379a0fe21632886a563" + integrity sha1-TLp6iq1z9+igvEN5oP4hYyiGpWM= dependencies: object-assign "^4.1.1" prop-types "^15.6.2" react-is "^16.8.5" scheduler "^0.13.5" +react-test-renderer@^16.0.0-0: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" + integrity sha1-GI2AKbjDnHhvmYqj79P/52QtW6E= + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.13.6" + react-typography@0.16.19: version "0.16.19" - resolved "https://registry.yarnpkg.com/react-typography/-/react-typography-0.16.19.tgz#5736b47961dcf6b9605b6fa38d41980db2588e28" - integrity sha512-kV2qLEsdm0x9P4YXQEDVc88tDb4Vg0h/vdVZGgbqaRn8ERvNzV76JHUeOby3vvcUYU5MPd5Kz5DPH9Bhp4I/iw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-typography/-/react-typography-0.16.19.tgz#5736b47961dcf6b9605b6fa38d41980db2588e28" + integrity sha1-Vza0eWHc9rlgW2+jjUGYDbJYjig= -react@16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.5.tgz#49be3b655489d74504ad994016407e8a0445de66" - integrity sha512-daCb9TD6FZGvJ3sg8da1tRAtIuw29PbKZW++NN4wqkbEvxL+bZpaaYb4xuftW/SpXmgacf1skXl/ddX6CdOlDw== +react@16.8.6, react@^16.8.4: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" + integrity sha1-rWw6lhT9Ok6e9REX9U2IjaAfK74= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.5" + scheduler "^0.13.6" read-chunk@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.1.0.tgz#4aab805e68b1b2c72a2fe5aefa8284faf623b1c0" - integrity sha512-ZdiZJXXoZYE08SzZvTipHhI+ZW0FpzxmFtLI3vIeMuRN9ySbIZ+SZawKogqJ7dxW9fJ/W73BNtxu4Zu/bZp+Ng== + version "3.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" + integrity sha1-KYSv54ypv7vbdLGTh7+ehiicFso= dependencies: pify "^4.0.1" - with-open-file "^0.1.5" + with-open-file "^0.1.6" read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= dependencies: find-up "^2.0.0" @@ -9460,15 +9831,15 @@ read-pkg-up@^2.0.0: read-pkg-up@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= dependencies: find-up "^3.0.0" read-pkg "^3.0.0" read-pkg@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= dependencies: load-json-file "^2.0.0" @@ -9477,7 +9848,7 @@ read-pkg@^2.0.0: read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" @@ -9486,15 +9857,15 @@ read-pkg@^3.0.0: read@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= dependencies: mute-stream "~0.0.4" "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8= dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -9505,9 +9876,9 @@ read@^1.0.7: util-deprecate "~1.0.1" readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.2.0.tgz#de17f229864c120a9f56945756e4f32c4045245d" - integrity sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw== + version "3.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w= dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -9515,7 +9886,7 @@ readable-stream@^3.0.6, readable-stream@^3.1.1: readable-stream@~1.0.31: version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= dependencies: core-util-is "~1.0.0" @@ -9525,8 +9896,8 @@ readable-stream@~1.0.31: readdirp@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= dependencies: graceful-fs "^4.1.11" micromatch "^3.1.10" @@ -9534,86 +9905,91 @@ readdirp@^2.2.1: realpath-native@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= dependencies: util.promisify "^1.0.0" recursive-readdir@2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" + resolved "https://repox.jfrog.io/repox/api/npm/npm/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" integrity sha1-kO8jHQd4xc4JPJpI105cVCLROpk= dependencies: minimatch "3.0.3" redux@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" - integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" + integrity sha1-Q2yubMQPvkcnaJ18j65EgI8b/vU= dependencies: loose-envify "^1.4.0" symbol-observable "^1.2.0" +reflect.ownkeys@^0.2.0: + version "0.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" + integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= + regenerate-unicode-properties@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662" - integrity sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ== + version "8.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha1-71Hg8OpK1CS3e/fLQfPgFccKPw4= dependencies: regenerate "^1.4.0" regenerate@^1.2.1, regenerate@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha1-SoVuxLVuQHfFV1icroXnpMiGmhE= regenerator-runtime@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= regenerator-runtime@^0.13.2: version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" + integrity sha1-MuWcmm+5saSv8JtJMMotRHc0NEc= -regenerator-transform@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb" - integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A== +regenerator-transform@^0.14.0: + version "0.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" + integrity sha1-LKmq96LCOd0y5HYSGEJbjHqG7K8= dependencies: private "^0.1.6" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397" - integrity sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ== +regexp-tree@^0.1.6: + version "0.1.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" + integrity sha1-2DeBagOcevio1k16fDz2odk0ULw= regexpp@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= regexpu-core@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^4.1.3, regexpu-core@^4.5.4: +regexpu-core@^4.5.4: version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" + integrity sha1-CA2dAiiaqH/hZnpPUTa8mKauuq4= dependencies: regenerate "^1.4.0" regenerate-unicode-properties "^8.0.2" @@ -9624,62 +10000,62 @@ regexpu-core@^4.1.3, regexpu-core@^4.5.4: registry-auth-token@^3.0.1: version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha1-10RoFUM/XV7WQxzV3KIQSPZrOX4= dependencies: rc "^1.1.6" safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + resolved "https://repox.jfrog.io/repox/api/npm/npm/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= dependencies: rc "^1.0.1" regjsgen@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= regjsgen@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" + integrity sha1-p2NNwI+JIJwgSa3aNSVxH7lyZd0= regjsparser@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= dependencies: jsesc "~0.5.0" regjsparser@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha1-8eaui32iuulsmTmbhozWyTOiupw= dependencies: jsesc "~0.5.0" relay-runtime@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-2.0.0.tgz#0e42df90365cc69f104f7e4b20fdcf975f5a9c0b" - integrity sha512-o/LPFHTI6+3FLJXM3Ec4N6hzkKYILVHYRJThNX0UQlMnqjTVPR6NO4qFE2QzzEiUS+lys+qfnvBzSmNbSh1zWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/relay-runtime/-/relay-runtime-2.0.0.tgz#0e42df90365cc69f104f7e4b20fdcf975f5a9c0b" + integrity sha1-DkLfkDZcxp8QT35LIP3Pl19anAs= dependencies: "@babel/runtime" "^7.0.0" fbjs "^1.0.0" remark-custom-blocks@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/remark-custom-blocks/-/remark-custom-blocks-2.3.2.tgz#a27efcec79da961312ab860fc306e23f79ffff19" - integrity sha512-GY4GJaYF7BnF3cGqT8UJMJg22D3e7PcYE0N2SDxyfAGonBeAnkRZw3HYta01Fr6iKW8ETMaylSrcD23aSc26yw== + version "2.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-custom-blocks/-/remark-custom-blocks-2.3.3.tgz#ea6fd4920a953a99042cfe0713282f7b7a3eaa2f" + integrity sha1-6m/UkgqVOpkELP4HEygve3o+qi8= dependencies: space-separated-tokens "^1.1.1" remark-parse@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" - integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" + integrity sha1-TAd/nkmQRNHVwT+A16mM97koXZU= dependencies: collapse-white-space "^1.0.2" is-alphabetical "^1.0.0" @@ -9699,8 +10075,8 @@ remark-parse@^5.0.0: remark-parse@^6.0.0: version "6.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" - integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" + integrity sha1-yZExBSgJ2kghCEE/h7Duf1IYCjo= dependencies: collapse-white-space "^1.0.2" is-alphabetical "^1.0.0" @@ -9719,16 +10095,16 @@ remark-parse@^6.0.0: xtend "^4.0.1" remark-retext@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/remark-retext/-/remark-retext-3.1.2.tgz#983003d7495cf9198aa450c5ae5a7737011eec5f" - integrity sha512-+48KzJdSXvsPupY5pj5AY7oBUSiDOqFPZBKebX5WemrMyIG+RImIt9hgeqelluVDd1kooHen33K/aybTPyoI9g== + version "3.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-retext/-/remark-retext-3.1.3.tgz#77173b1d9d13dab15ce5b38d996195fea522ee7f" + integrity sha1-dxc7HZ0T2rFc5bONmWGV/qUi7n8= dependencies: mdast-util-to-nlcst "^3.2.0" remark-stringify@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba" - integrity sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba" + integrity sha1-M206TUpqM5DZM+66YujeS9KAr7o= dependencies: ccount "^1.0.0" is-alphanumeric "^1.0.0" @@ -9747,8 +10123,8 @@ remark-stringify@^5.0.0: remark-stringify@^6.0.0: version "6.0.4" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" - integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" + integrity sha1-FqwinU0VkySQGGY8e93yiq/E4Ig= dependencies: ccount "^1.0.0" is-alphanumeric "^1.0.0" @@ -9767,8 +10143,8 @@ remark-stringify@^6.0.0: remark@10.0.1: version "10.0.1" - resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" - integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" + integrity sha1-MFgHbcQXgb9QXYl4wpFIX+R2Z98= dependencies: remark-parse "^6.0.0" remark-stringify "^6.0.0" @@ -9776,8 +10152,8 @@ remark@10.0.1: remark@^9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60" - integrity sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60" + integrity sha1-xc+o7FNcc6Z8Sw8Sv9vTpn2LL2A= dependencies: remark-parse "^5.0.0" remark-stringify "^5.0.0" @@ -9785,13 +10161,13 @@ remark@^9.0.0: remove-trailing-separator@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + resolved "https://repox.jfrog.io/repox/api/npm/npm/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= renderkid@^2.0.1: version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= dependencies: css-select "^1.1.0" dom-converter "^0.2" @@ -9801,30 +10177,30 @@ renderkid@^2.0.1: repeat-element@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://repox.jfrog.io/repox/api/npm/npm/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= replace-ext@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= request-promise-core@1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" + integrity sha1-M59qq6vK/bMceZ/xWHADNjAdM0Y= dependencies: lodash "^4.17.11" request-promise-native@^1.0.5: version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" + integrity sha1-pJhopiS96lBp8SUdCoNuDYmqLFk= dependencies: request-promise-core "1.1.2" stealthy-require "^1.1.1" @@ -9832,8 +10208,8 @@ request-promise-native@^1.0.5: request@^2.81.0, request@^2.85.0, request@^2.87.0: version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -9858,34 +10234,34 @@ request@^2.81.0, request@^2.85.0, request@^2.87.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + resolved "https://repox.jfrog.io/repox/api/npm/npm/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-cwd@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= dependencies: resolve-from "^3.0.0" resolve-dir@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= dependencies: expand-tilde "^2.0.0" @@ -9893,34 +10269,34 @@ resolve-dir@^1.0.0: resolve-from@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= resolve-url@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== +resolve@1.x, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: + version "1.11.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha1-6hDYEQN2mC/vV434/DC5rDCgej4= dependencies: path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" @@ -9928,109 +10304,114 @@ restore-cursor@^2.0.0: ret@~0.1.10: version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= retext-english@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/retext-english/-/retext-english-3.0.2.tgz#efc239c445b112d13f3f511b1856abc2b5476cb4" - integrity sha512-iWffdWUvJngqaRlE570SaYRgQbn4/QVBfGa/XseEBuBazymnyW24o37oLPY0vm+PJdLmDghnjZX0UbkZSZF0Cg== + version "3.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/retext-english/-/retext-english-3.0.3.tgz#aeb044bffbea2214b959d07c1dce9799e01dcbda" + integrity sha1-rrBEv/vqIhS5WdB8Hc6XmeAdy9o= dependencies: parse-english "^4.0.0" unherit "^1.0.4" +retry@^0.12.0: + version "0.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + rgb-regex@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= rgba-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= dependencies: hash-base "^3.0.0" inherits "^2.0.1" rst-selector-parser@^2.2.3: version "2.2.3" - resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" integrity sha1-gbIw6i/MYGbInjRy3nlChdmwPZE= dependencies: lodash.flattendeep "^4.4.0" nearley "^2.7.10" rsvp@^4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" - integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA== + version "4.8.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= run-async@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= dependencies: is-promise "^2.1.0" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + resolved "https://repox.jfrog.io/repox/api/npm/npm/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= dependencies: aproba "^1.1.1" rx-lite-aggregates@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= dependencies: rx-lite "*" rx-lite@*, rx-lite@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= rxjs@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== + version "6.5.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha1-LjXOgVzUbYTQKiCftOWSHgUdvsc= dependencies: tslib "^1.9.0" -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= safe-regex@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= sane@^4.0.3: version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= dependencies: "@cnakazawa/watch" "^1.0.3" anymatch "^2.0.0" @@ -10043,9 +10424,9 @@ sane@^4.0.3: walker "~1.0.5" sanitize-html@^1.18.2: - version "1.20.0" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.0.tgz#9a602beb1c9faf960fb31f9890f61911cc4d9156" - integrity sha512-BpxXkBoAG+uKCHjoXFmox6kCSYpnulABoGcZ/R3QyY9ndXbIM5S94eOr1IqnzTG8TnbmXaxWoDDzKC5eJv7fEQ== + version "1.20.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sanitize-html/-/sanitize-html-1.20.1.tgz#f6effdf55dd398807171215a62bfc21811bacf85" + integrity sha1-9u/99V3TmIBxcSFaYr/CGBG6z4U= dependencies: chalk "^2.4.1" htmlparser2 "^3.10.0" @@ -10060,29 +10441,29 @@ sanitize-html@^1.18.2: sax@^1.2.4, sax@~1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= -scheduler@^0.13.5: - version "0.13.5" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.5.tgz#b7226625167041298af3b98088a9dbbf6d7733a8" - integrity sha512-K98vjkQX9OIt/riLhp6F+XtDPtMQhqNcf045vsh+pcuvHq+PHy1xCrH3pq1P40m6yR46lpVvVhKdEOtnimuUJw== +scheduler@^0.13.2, scheduler@^0.13.5, scheduler@^0.13.6: + version "0.13.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" + integrity sha1-RmpOwzJGezGpG5v3TlNHBy5M2Ik= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5: version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + integrity sha1-unT1l9K+LqiAExdG7hfQoJPGgYc= dependencies: ajv "^6.1.0" ajv-keywords "^3.1.0" schema-utils@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= dependencies: ajv "^6.1.0" ajv-errors "^1.0.0" @@ -10090,53 +10471,58 @@ schema-utils@^1.0.0: scroll-behavior@^0.9.9: version "0.9.10" - resolved "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.10.tgz#c8953adeeb3586060b903328d860aa8346d62861" - integrity sha512-JVJQkBkqMLEM4ATtbHTKare97zhz/qlla9mNttFYY/bcpyOb4BuBGEQ/N9AQWXvshzf6zo9jP60TlphnJ4YPoQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/scroll-behavior/-/scroll-behavior-0.9.10.tgz#c8953adeeb3586060b903328d860aa8346d62861" + integrity sha1-yJU63us1hgYLkDMo2GCqg0bWKGE= dependencies: dom-helpers "^3.2.1" invariant "^2.2.2" section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha1-6QQZU1BngOwB1Z8pKhnHuFC4QWc= dependencies: extend-shallow "^2.0.1" kind-of "^6.0.0" select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + resolved "https://repox.jfrog.io/repox/api/npm/npm/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selfsigned@^1.9.1: +selfsigned@^1.10.4: version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" - integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" + integrity sha1-zdfsz8pO12NdR6CL8tXTB0CS4s0= dependencies: node-forge "0.7.5" semver-diff@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: + version "5.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha1-eQp89v6lRZuslhELKbYEEtyP+Ws= semver@5.5.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs= + +semver@^6.0.0, semver@^6.1.1: + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" + integrity sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds= -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== +send@0.17.1: + version "0.17.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= dependencies: debug "2.6.9" depd "~1.1.2" @@ -10145,21 +10531,21 @@ send@0.16.2: escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" + range-parser "~1.2.1" + statuses "~1.5.0" -serialize-javascript@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" - integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== +serialize-javascript@^1.7.0: + version "1.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" + integrity sha1-1uDfsqODKoyURo5usduX5VoZKmU= -serve-index@^1.7.2: +serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= dependencies: accepts "~1.3.4" @@ -10170,35 +10556,25 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== +serve-static@1.14.1: + version "1.14.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" + parseurl "~1.3.3" + send "0.17.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -10207,52 +10583,52 @@ set-value@^2.0.0: setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://repox.jfrog.io/repox/api/npm/npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= setprototypeof@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" shallow-compare@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb" - integrity sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb" + integrity sha1-+keUYnv0VaR8T1aIHYphMtWB/9s= shallowequal@^1.0.1, shallowequal@^1.0.2: version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shell-quote@1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= dependencies: array-filter "~0.0.0" @@ -10262,50 +10638,57 @@ shell-quote@1.6.1: shellwords@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= sift@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/sift/-/sift-5.1.0.tgz#1bbf2dfb0eb71e56c4cc7fb567fbd1351b65015e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sift/-/sift-5.1.0.tgz#1bbf2dfb0eb71e56c4cc7fb567fbd1351b65015e" integrity sha1-G78t+w63HlbEzH+1Z/vRNRtlAV4= signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= signedsource@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" integrity sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo= simple-swizzle@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= dependencies: is-arrayish "^0.3.1" sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" + integrity sha1-7FfWS28lxPJsDix90j8tfxL35Bg= slash@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + resolved "https://repox.jfrog.io/repox/api/npm/npm/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= slash@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slice-ansi@^1.0.0: + version "1.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + integrity sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00= + dependencies: + is-fullwidth-code-point "^2.0.0" slice-ansi@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= dependencies: ansi-styles "^3.2.0" astral-regex "^1.0.0" @@ -10313,8 +10696,8 @@ slice-ansi@^2.1.0: snapdragon-node@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -10322,15 +10705,15 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= dependencies: base "^0.11.1" debug "^2.2.0" @@ -10343,13 +10726,13 @@ snapdragon@^0.8.1: socket.io-adapter@~1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= socket.io-client@2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" - integrity sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" + integrity sha1-hOc+48Q9UCDMwaJY+u65rsJyOvc= dependencies: backo2 "1.0.2" base64-arraybuffer "0.1.5" @@ -10368,8 +10751,8 @@ socket.io-client@2.2.0: socket.io-parser@~3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" - integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" + integrity sha1-K1KpalCf3zFEC6QP7WCUx9TxJi8= dependencies: component-emitter "1.2.1" debug "~3.1.0" @@ -10377,8 +10760,8 @@ socket.io-parser@~3.3.0: socket.io@^2.0.3: version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.2.0.tgz#f0f633161ef6712c972b307598ecd08c9b1b4d5b" - integrity sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/socket.io/-/socket.io-2.2.0.tgz#f0f633161ef6712c972b307598ecd08c9b1b4d5b" + integrity sha1-8PYzFh72cSyXKzB1mOzQjJsbTVs= dependencies: debug "~4.1.0" engine.io "~3.3.1" @@ -10389,7 +10772,7 @@ socket.io@^2.0.3: sockjs-client@1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" integrity sha1-W6vjhrd15M8U51IJEUUmVAFsixI= dependencies: debug "^2.6.6" @@ -10401,8 +10784,8 @@ sockjs-client@1.1.4: sockjs-client@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha1-EvydbLZj2lc509xftuhofalcsXc= dependencies: debug "^3.2.5" eventsource "^1.0.7" @@ -10413,21 +10796,21 @@ sockjs-client@1.3.0: sockjs@0.3.19: version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= dependencies: faye-websocket "^0.10.0" uuid "^3.0.1" source-list-map@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk= dependencies: atob "^2.1.1" decode-uri-component "^0.2.0" @@ -10436,70 +10819,68 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: urix "^0.1.0" source-map-support@^0.5.6, source-map-support@~0.5.10: - version "0.5.11" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.11.tgz#efac2ce0800355d026326a0ca23e162aeac9a4e2" - integrity sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ== + version "0.5.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha1-tPOxDVGFelrwE4086AA7IBYT1Zk= dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: +source-map@0.5.7, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= source-map@^0.7.3: version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= space-separated-tokens@^1.0.0, space-separated-tokens@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz#e95ab9d19ae841e200808cd96bc7bd0adbbb3412" - integrity sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA== - dependencies: - trim "0.0.1" + version "1.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" + integrity sha1-J5EINa4A0K3829CtfmEfuVRDUfo= spdx-correct@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ= dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc= spdx-expression-parse@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha1-meEZt6XaAOBUkcn6M4t5BII7QdA= dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" - integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== + version "3.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" + integrity sha1-dezRqI3owYTvAV6vtRtbSL/RG7E= spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= dependencies: debug "^4.1.0" detect-node "^2.0.4" @@ -10510,8 +10891,8 @@ spdy-transport@^3.0.0: spdy@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" + integrity sha1-gfIitadDoymqEs6mo5DmDpthPFI= dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -10521,24 +10902,24 @@ spdy@^4.0.0: split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= dependencies: extend-shallow "^3.0.0" sprintf-js@^1.0.3: version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM= sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= srcset@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz#a5669de12b42f3b1d5e83ed03c71046fc48f41ef" + resolved "https://repox.jfrog.io/repox/api/npm/npm/srcset/-/srcset-1.0.0.tgz#a5669de12b42f3b1d5e83ed03c71046fc48f41ef" integrity sha1-pWad4StC87HV6D7QPHEEb8SPQe8= dependencies: array-uniq "^1.0.2" @@ -10546,8 +10927,8 @@ srcset@^1.0.0: sshpk@^1.7.0: version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -10561,79 +10942,74 @@ sshpk@^1.7.0: ssri@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= dependencies: figgy-pudding "^3.5.1" stable@^0.1.8: version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= stack-trace@^0.0.10: version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= -stack-utils@^1.0.1: +stack-utils@1.0.2, stack-utils@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g= stackframe@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" - integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" + integrity sha1-NXskqZL5Qny6a1RdlqFO0svKGHs= state-toggle@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz#c3cb0974f40a6a0f8e905b96789eb41afa1cde3a" - integrity sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og== + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" + integrity sha1-dek6YZRBFrSVnWZcjbLSQ2Mdbdw= static-extend@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - stealthy-require@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= stream-browserify@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= dependencies: inherits "~2.0.1" readable-stream "^2.0.2" stream-each@^1.1.0: version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" stream-http@^2.7.2: version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -10643,12 +11019,12 @@ stream-http@^2.7.2: stream-shift@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= string-length@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= dependencies: astral-regex "^1.0.0" @@ -10656,8 +11032,8 @@ string-length@^2.0.0: string-similarity@^1.2.0: version "1.2.2" - resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-1.2.2.tgz#99b2c20a3c9bbb3903964eae1d89856db3d8db9b" - integrity sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-similarity/-/string-similarity-1.2.2.tgz#99b2c20a3c9bbb3903964eae1d89856db3d8db9b" + integrity sha1-mbLCCjybuzkDlk6uHYmFbbPY25s= dependencies: lodash.every "^4.6.0" lodash.flattendeep "^4.4.0" @@ -10667,7 +11043,7 @@ string-similarity@^1.2.0: string-width@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" @@ -10676,16 +11052,16 @@ string-width@^1.0.1: "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" string-width@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" @@ -10693,7 +11069,7 @@ string-width@^3.0.0: string.prototype.trim@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= dependencies: define-properties "^1.1.2" @@ -10702,27 +11078,27 @@ string.prototype.trim@^1.1.2: string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha1-/obnOLGVRK/nBGkkOyoe6SQOro0= dependencies: safe-buffer "~5.1.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= dependencies: safe-buffer "~5.1.0" stringify-entities@^1.0.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" - integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" + integrity sha1-qYQX5Ucf0iez5F09sYYcEcr2aPc= dependencies: character-entities-html4 "^1.0.0" character-entities-legacy "^1.0.0" @@ -10731,64 +11107,64 @@ stringify-entities@^1.0.1: strip-ansi@3.0.1, strip-ansi@^3, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= dependencies: ansi-regex "^4.1.0" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= style-loader@^0.21.0: version "0.21.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.21.0.tgz#68c52e5eb2afc9ca92b6274be277ee59aea3a852" - integrity sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/style-loader/-/style-loader-0.21.0.tgz#68c52e5eb2afc9ca92b6274be277ee59aea3a852" + integrity sha1-aMUuXrKvycqStidL4nfuWa6jqFI= dependencies: loader-utils "^1.1.0" schema-utils "^0.4.5" style-to-object@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.2.2.tgz#3ea3b276bd3fa9da1195fcdcdd03bc52aa2aae01" - integrity sha512-GcbtvfsqyKmIPpHeOHZ5Rmwsx2MDJct4W9apmTGcbPTbpA2FcgTFl2Z43Hm4Qb61MWGPNK8Chki7ITiY7lLOow== + version "0.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/style-to-object/-/style-to-object-0.2.3.tgz#afcf42bc03846b1e311880c55632a26ad2780bcb" + integrity sha1-r89CvAOEax4xGIDFVjKiatJ4C8s= dependencies: - css "2.2.4" + inline-style-parser "0.1.1" stylehacks@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= dependencies: browserslist "^4.0.0" postcss "^7.0.0" @@ -10796,27 +11172,27 @@ stylehacks@^4.0.0: supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= dependencies: has-flag "^3.0.0" -supports-color@^6.0.0, supports-color@^6.1.0: +supports-color@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= dependencies: has-flag "^3.0.0" svgo@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.0.tgz#305a8fc0f4f9710828c65039bb93d5793225ffc3" - integrity sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw== + version "1.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316" + integrity sha1-AlPTTszyrtStTyg+Ee51GY+dcxY= dependencies: chalk "^2.4.1" coa "^2.0.2" @@ -10825,7 +11201,7 @@ svgo@^1.0.0: css-tree "1.0.0-alpha.28" css-url-regex "^1.1.0" csso "^3.5.1" - js-yaml "^3.12.0" + js-yaml "^3.13.1" mkdirp "~0.5.1" object.values "^1.1.0" sax "~1.2.4" @@ -10835,18 +11211,18 @@ svgo@^1.0.0: symbol-observable@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + version "3.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= table@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" - integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== + version "5.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8" + integrity sha1-BpGuLr6CWYWO+2PlULbV+TABceg= dependencies: ajv "^6.9.1" lodash "^4.17.11" @@ -10854,152 +11230,154 @@ table@^5.2.3: string-width "^3.0.0" tapable@^1.0.0, tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" - integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + version "4.4.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha1-lGsoELml4LJhQM94vqawsNaJ66E= dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" + minipass "^2.3.5" + minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" - yallist "^3.0.2" + yallist "^3.0.3" term-size@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + resolved "https://repox.jfrog.io/repox/api/npm/npm/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= dependencies: execa "^0.7.0" terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8" - integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA== + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" + integrity sha1-aaoiQmKZ9LWzd1y+2MssXUGaodQ= dependencies: - cacache "^11.0.2" + cacache "^11.3.2" find-cache-dir "^2.0.0" + is-wsl "^1.1.0" + loader-utils "^1.2.3" schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" + terser "^4.0.0" + webpack-sources "^1.3.0" + worker-farm "^1.7.0" -terser@^3.16.1: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== +terser@^4.0.0: + version "4.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/terser/-/terser-4.0.2.tgz#580cea06c4932f46a48ed13804c93bc93c275968" + integrity sha1-WAzqBsSTL0akjtE4BMk7yTwnWWg= dependencies: commander "^2.19.0" source-map "~0.6.1" source-map-support "~0.5.10" -test-exclude@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.1.0.tgz#6ba6b25179d2d38724824661323b73e03c0c1de1" - integrity sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA== +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= dependencies: - arrify "^1.0.1" + glob "^7.1.3" minimatch "^3.0.4" read-pkg-up "^4.0.0" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" text-table@0.2.0, text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throat@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= through2@^2.0.0, through2@^2.0.1: version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= dependencies: readable-stream "~2.3.6" xtend "~4.0.1" through@^2.3.6: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" + integrity sha1-9d9zJFNAewkZHa5z4qjMc/OBqCY= timed-out@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= timers-browserify@^2.0.4: version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + integrity sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4= dependencies: setimmediate "^1.0.4" timsort@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tmp@^0.0.31: version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" integrity sha1-jzirlDjhcxXl29izZX6L+yd65Kc= dependencies: os-tmpdir "~1.0.1" tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= dependencies: os-tmpdir "~1.0.2" tmpl@1.0.x: version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= to-array@0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" @@ -11007,8 +11385,8 @@ to-regex-range@^2.1.0: to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" @@ -11017,89 +11395,82 @@ to-regex@^3.0.1, to-regex@^3.0.2: toidentifier@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= topo@2.x.x: version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" + resolved "https://repox.jfrog.io/repox/api/npm/npm/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= dependencies: hoek "4.x.x" tough-cookie@^2.3.3, tough-cookie@^2.3.4: version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= dependencies: psl "^1.1.28" punycode "^2.1.1" tough-cookie@~2.4.3: version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha1-U/Nto/R3g7CSWvoG/587FlKA94E= dependencies: psl "^1.1.24" punycode "^1.4.1" tr46@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= dependencies: punycode "^2.1.0" trim-lines@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.1.tgz#da738ff58fa74817588455e30b11b85289f2a396" - integrity sha512-X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg== + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trim-lines/-/trim-lines-1.1.2.tgz#c8adbdbdae21bb5c2766240a661f693afe23e59b" + integrity sha1-yK29va4hu1wnZiQKZh9pOv4j5Zs= trim-right@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trim-trailing-lines@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz#e0ec0810fd3c3f1730516b45f49083caaf2774d9" - integrity sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg== + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" + integrity sha1-0vHhUxYRUunwL6vGcPtAvsLqLjo= trim@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= trough@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.3.tgz#e29bd1614c6458d44869fc28b255ab7857ef7c24" - integrity sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" + integrity sha1-O1Kx8Tkk9GDD+/0N9ptYfby8di4= "true-case-path@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + resolved "https://repox.jfrog.io/repox/api/npm/npm/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0= dependencies: glob "^7.1.2" -ts-invariant@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz#3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f" - integrity sha512-Z/JSxzVmhTo50I+LKagEISFJW3pvPCqsMWLamCTX8Kr3N5aMrnGOqcflbe5hLUzwjvgPfnLzQtHZv0yWQ+FIHg== - dependencies: - tslib "^1.9.3" - -ts-invariant@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.3.2.tgz#89a2ffeb70879b777258df1df1c59383c35209b0" - integrity sha512-QsY8BCaRnHiB5T6iE4DPlJMAKEG3gzMiUco9FEt1jUXQf0XP6zi0idT0i0rMTu8A326JqNSDsmlkA9dRSh1TRg== +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha1-l6UjUYaI+TqvrQGw6A64A+sqvYY= dependencies: tslib "^1.9.3" -ts-jest@24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" - integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw== +ts-jest@24.0.2: + version "24.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" + integrity sha1-jd5s7Ol8McA+gOR0x0l1P/0nGU0= dependencies: bs-logger "0.x" buffer-from "1.x" @@ -11111,72 +11482,77 @@ ts-jest@24.0.0: semver "^5.5" yargs-parser "10.x" -ts-pnp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.0.1.tgz#fde74a6371676a167abaeda1ffc0fdb423520098" - integrity sha512-Zzg9XH0anaqhNSlDRibNC8Kp+B9KNM0uRIpLpGkGyrgRIttA7zZBhotTSEoEyuDrz3QW2LGtu2dxuk34HzIGnQ== +ts-pnp@^1.1.2: + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" + integrity sha1-vo5L/OXQDw9Y4GZqgiYMNKV69VI= tslib@^1.6.0, tslib@^1.9.0, tslib@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + version "1.10.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= tty-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" -type-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== +type-fest@^0.3.0: + version "0.3.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= dependencies: media-typer "0.3.0" - mime-types "~2.1.18" + mime-types "~2.1.24" type-of@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" integrity sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI= typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://repox.jfrog.io/repox/api/npm/npm/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@3.3.3333: version "3.3.3333" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" - integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" + integrity sha1-FxssWvZsWelDEZkRejvK3Gb9z9Y= typography-normalize@^0.16.19: version "0.16.19" - resolved "https://registry.yarnpkg.com/typography-normalize/-/typography-normalize-0.16.19.tgz#58e0cf12466870c5b27006daa051fe7307780660" - integrity sha512-vtnSv/uGBZVbd4e/ZhZB9HKBgKKlWQUXw74+ADIHHxzKp27CEf8PSR8TX1zF2qSyQ9/qMdqLwXYz8yRQFq9JLQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/typography-normalize/-/typography-normalize-0.16.19.tgz#58e0cf12466870c5b27006daa051fe7307780660" + integrity sha1-WODPEkZocMWycAbaoFH+cwd4BmA= typography@0.16.19: version "0.16.19" - resolved "https://registry.yarnpkg.com/typography/-/typography-0.16.19.tgz#092bf30a5a47495c955b54f40d3b55a7a9f28e8a" - integrity sha512-zfsyjPPB1RaK8TzU3REta6EGDZa++YQ6g/CWw7hy/8xQK1qyzFWisMIw5J+Yg1KyiVgcchmxlgMcMA6JAJ9oew== + resolved "https://repox.jfrog.io/repox/api/npm/npm/typography/-/typography-0.16.19.tgz#092bf30a5a47495c955b54f40d3b55a7a9f28e8a" + integrity sha1-CSvzClpHSVyVW1T0DTtVp6nyjoo= dependencies: compass-vertical-rhythm "^1.4.5" decamelize "^1.2.0" @@ -11187,66 +11563,66 @@ typography@0.16.19: typography-normalize "^0.16.19" ua-parser-js@^0.7.18: - version "0.7.19" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" - integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== + version "0.7.20" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" + integrity sha1-dScXi4L2pioPJD0flP0w4+PCEJg= uglify-js@^3.1.4: - version "3.5.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.2.tgz#dc0c7ac2da0a4b7d15e84266818ff30e82529474" - integrity sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg== + version "3.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha1-cEaBNFxTqLIHn7bOwpSwXq0kL/U= dependencies: - commander "~2.19.0" + commander "~2.20.0" source-map "~0.6.1" unc-path-regex@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= underscore.string@^3.3.5: version "3.3.5" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" - integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" + integrity sha1-/CrSVbi9MJ4jnLxYFv0jqbfqQCM= dependencies: sprintf-js "^1.0.3" util-deprecate "^1.0.2" unherit@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz#132748da3e88eab767e08fabfbb89c5e9d28628c" - integrity sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g== + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" + integrity sha1-FPHzlyU+5OyVzsFndi5334NnhEk= dependencies: inherits "^2.0.1" xtend "^4.0.1" unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= unicode-match-property-ecmascript@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= dependencies: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" unicode-match-property-value-ecmascript@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha1-W0tCbgjROoA2Xg1lesemwexGonc= unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha1-qcxsx85joKMCP8meNBuUQx1AWlc= unified@^6.0.0, unified@^6.1.5: version "6.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" - integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" + integrity sha1-f71jD3GRJtZ9QMZEt+P2FwNfbbo= dependencies: bail "^1.0.0" extend "^3.0.0" @@ -11257,8 +11633,8 @@ unified@^6.0.0, unified@^6.1.5: unified@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" - integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" + integrity sha1-UDLxwe4zZL0J2hLif91KdVPHvhM= dependencies: "@types/unist" "^2.0.0" "@types/vfile" "^3.0.0" @@ -11270,85 +11646,90 @@ unified@^7.0.0: x-is-string "^0.1.0" union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" - set-value "^0.4.3" + set-value "^2.0.1" uniq@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://repox.jfrog.io/repox/api/npm/npm/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= uniqs@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + resolved "https://repox.jfrog.io/repox/api/npm/npm/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= unique-filename@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== + version "2.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= dependencies: imurmurhash "^0.1.4" unique-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= dependencies: crypto-random-string "^1.0.0" unist-builder@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.3.tgz#ab0f9d0f10936b74f3e913521955b0478e0ff036" - integrity sha512-/KB8GEaoeHRyIqClL+Kam+Y5NWJ6yEiPsAfv1M+O1p+aKGgjR89WwoEHKTyOj17L6kAlqtKpAgv2nWvdbQDEig== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17" + integrity sha1-4YCK7TC9cq3DYH8lr+zr703Vnhc= dependencies: object-assign "^4.1.0" unist-util-generated@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.3.tgz#ca650470aef2fbcc5fe54c465bc26b41ca109e2b" - integrity sha512-qlPeDqnQnd84KIqwphzOR+l02cxjDzvEYEBl84EjmKRrX4eUmjyAo8xJv1SCDhJqNjyHRnBMZWNKAiBtXE6hBg== + version "1.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7" + integrity sha1-ImHAM9n8I/rkGHLNt2Y3Rulywac= -unist-util-is@^2.0.0, unist-util-is@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.2.tgz#1193fa8f2bfbbb82150633f3a8d2eb9a1c1d55db" - integrity sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw== +unist-util-is@^2.0.0: + version "2.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20" + integrity sha1-RZGC2zH0dC/OrqiNQpaTy/AEPSA= + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0= unist-util-modify-children@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-1.1.3.tgz#d764a935f612dfb21b1bb92b0ea24321dc19a5f7" - integrity sha512-Aw3Us+NPrJGYWyLhcaqYzgxd/pryIanDNHVVvwdtTEEQ3Yfa/+sjnT2EeAAHbtTMAaYEdPW3XN6jxbzVWAo/BQ== + version "1.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-modify-children/-/unist-util-modify-children-1.1.4.tgz#f9dd31e93884c3be06b43c9291d60324d5df5f68" + integrity sha1-+d0x6TiEw74GtDySkdYDJNXfX2g= dependencies: array-iterate "^1.0.0" unist-util-position@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.2.tgz#80ad4a05efc4ab01a66886cc70493893ba73c5eb" - integrity sha512-npmFu92l/+b1Ao6uGP4I1WFz9hsKv7qleZ4aliw6x0RVu6A9A3tAf57NMpFfzQ02jxRtJZuRn+C8xWT7GWnH0g== + version "3.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373" + integrity sha1-//lCuHlTiyQglsFIFTgmZksco3M= unist-util-remove-position@^1.0.0, unist-util-remove-position@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz#86b5dad104d0bbfbeb1db5f5c92f3570575c12cb" - integrity sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972" + integrity sha1-2RqouJswyzi60pJNoRBy+qZP2XI= dependencies: unist-util-visit "^1.1.0" unist-util-select@^1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-1.5.0.tgz#a93c2be8c0f653827803b81331adec2aa24cd933" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-select/-/unist-util-select-1.5.0.tgz#a93c2be8c0f653827803b81331adec2aa24cd933" integrity sha1-qTwr6MD2U4J4A7gTMa3sKqJM2TM= dependencies: css-selector-parser "^1.1.0" @@ -11357,46 +11738,53 @@ unist-util-select@^1.5.0: unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" - integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" + integrity sha1-Pzf881EnncvKdICrWIm7ioMu4cY= unist-util-visit-children@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-children/-/unist-util-visit-children-1.1.2.tgz#bd78b53db9644b9c339ac502854f15471f964f5b" - integrity sha512-q4t6aprUcSQ2/+xlswuh2wUKwUUuMmDjSkfwkMjeVwCXc8NqX8g0FSmNf68CznCmbkrsOPDUR0wj14bCFXXqbA== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-visit-children/-/unist-util-visit-children-1.1.3.tgz#92ba5807e3f54637be5de950263f9468942e7503" + integrity sha1-krpYB+P1Rje+XelQJj+UaJQudQM= unist-util-visit-parents@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz#63fffc8929027bee04bfef7d2cce474f71cb6217" - integrity sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA== + version "2.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha1-JeQ+VTEhZvM0jK5nQ1iHgdESwek= dependencies: - unist-util-is "^2.1.2" + unist-util-is "^3.0.0" -unist-util-visit@1.4.0, unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: +unist-util-visit@1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.0.tgz#1cb763647186dc26f5e1df5db6bd1e48b3cc2fb1" - integrity sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-visit/-/unist-util-visit-1.4.0.tgz#1cb763647186dc26f5e1df5db6bd1e48b3cc2fb1" + integrity sha1-HLdjZHGG3Cb14d9dtr0eSLPML7E= + dependencies: + unist-util-visit-parents "^2.0.0" + +unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: + version "1.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha1-RySqqEhububibX/zyGhZYNVgseM= dependencies: unist-util-visit-parents "^2.0.0" universalify@^0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unquote@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" @@ -11404,18 +11792,18 @@ unset-value@^1.0.0: unzip-response@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= upath@^1.1.0, upath@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + integrity sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg= update-notifier@^2.3.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y= dependencies: boxen "^1.2.1" chalk "^2.0.1" @@ -11430,32 +11818,32 @@ update-notifier@^2.3.0: upper-case-first@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" + resolved "https://repox.jfrog.io/repox/api/npm/npm/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU= dependencies: upper-case "^1.1.1" upper-case@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + resolved "https://repox.jfrog.io/repox/api/npm/npm/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + resolved "https://repox.jfrog.io/repox/api/npm/npm/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-loader@^1.0.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" + integrity sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng= dependencies: loader-utils "^1.1.0" mime "^2.0.3" @@ -11463,27 +11851,27 @@ url-loader@^1.0.1: url-parse-lax@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= dependencies: prepend-http "^1.0.1" url-parse@^1.1.8, url-parse@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" - integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== + version "1.4.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= dependencies: - querystringify "^2.0.0" + querystringify "^2.1.1" requires-port "^1.0.0" url-to-options@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= url@^0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" @@ -11491,82 +11879,82 @@ url@^0.11.0: use@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@^1.0.0, util.promisify@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" util@0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" util@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= dependencies: inherits "2.0.3" utila@^0.4.0, utila@~0.4: version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://repox.jfrog.io/repox/api/npm/npm/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: +uuid@3.3.2, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE= v8-compile-cache@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" - integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" + integrity sha1-jTLk8Wl0ZUZX5nbg5GejSOibDcQ= valid-url@^1.0.9: version "1.0.9" - resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + resolved "https://repox.jfrog.io/repox/api/npm/npm/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + resolved "https://repox.jfrog.io/repox/api/npm/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vendors@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" - integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" + integrity sha1-pkZ3gavTZiF8BQ+CAuflDMnu+MA= verror@1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://repox.jfrog.io/repox/api/npm/npm/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" @@ -11574,21 +11962,21 @@ verror@1.10.0: extsprintf "^1.2.0" vfile-location@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.4.tgz#2a5e7297dd0d9e2da4381464d04acc6b834d3e55" - integrity sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w== + version "2.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2" + integrity sha1-yD6wL4BAIoqNKz8Q5IW+PjQz4KI= vfile-message@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" - integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" + integrity sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E= dependencies: unist-util-stringify-position "^1.1.1" vfile@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" - integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" + integrity sha1-5i2OcrIOg8MkvGxnJ47ickiL+Eo= dependencies: is-buffer "^1.1.4" replace-ext "1.0.0" @@ -11597,46 +11985,44 @@ vfile@^2.0.0: vfile@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" - integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" + integrity sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM= dependencies: is-buffer "^2.0.0" replace-ext "1.0.0" unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" +vm-browserify@^1.0.1: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" + integrity sha1-vXbWojMj4sqP+hICjcBFWcdfkBk= w3c-hr-time@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + resolved "https://repox.jfrog.io/repox/api/npm/npm/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= dependencies: browser-process-hrtime "^0.1.2" -walker@~1.0.5: +walker@^1.0.7, walker@~1.0.5: version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= dependencies: makeerror "1.0.x" warning@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= dependencies: loose-envify "^1.0.0" watchpack@^1.5.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha1-S8EsLr6KonenHx0/FNaFx7RGzQA= dependencies: chokidar "^2.0.2" graceful-fs "^4.1.2" @@ -11644,71 +12030,72 @@ watchpack@^1.5.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= dependencies: minimalistic-assert "^1.0.0" web-namespaces@^1.0.0, web-namespaces@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.2.tgz#c8dc267ab639505276bae19e129dbd6ae72b22b4" - integrity sha512-II+n2ms4mPxK+RnIxRPOw3zwF2jRscdJIUE9BfkKHm4FYEg9+biIoTMnaZF5MpemE3T+VhMLrhbyD4ilkPCSbg== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" + integrity sha1-m79cmf8JCNLaAx8dcySSqWVxqD8= webidl-conversions@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= -webpack-dev-middleware@^3.0.1, webpack-dev-middleware@^3.5.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz#91f2531218a633a99189f7de36045a331a4b9cd4" - integrity sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw== +webpack-dev-middleware@^3.0.1, webpack-dev-middleware@^3.7.0: + version "3.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" + integrity sha1-73UdJfTppcijXaYAxf2jWCtcbP8= dependencies: memory-fs "^0.4.1" - mime "^2.3.1" - range-parser "^1.0.3" + mime "^2.4.2" + range-parser "^1.2.1" webpack-log "^2.0.0" webpack-dev-server@^3.1.14: - version "3.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" - integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw== + version "3.7.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz#f79caa5974b7f8b63268ef5421222a8486d792f5" + integrity sha1-95yqWXS3+LYyaO9UISIqhIbXkvU= dependencies: ansi-html "0.0.7" bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" + chokidar "^2.1.6" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" debug "^4.1.1" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.2.1" http-proxy-middleware "^0.19.1" import-local "^2.0.0" - internal-ip "^4.2.0" + internal-ip "^4.3.0" ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" + killable "^1.0.1" + loglevel "^1.6.3" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.20" schema-utils "^1.0.0" - selfsigned "^1.9.1" - semver "^5.6.0" - serve-index "^1.7.2" + selfsigned "^1.10.4" + semver "^6.1.1" + serve-index "^1.9.1" sockjs "0.3.19" sockjs-client "1.3.0" spdy "^4.0.0" - strip-ansi "^3.0.0" + strip-ansi "^3.0.1" supports-color "^6.1.0" url "^0.11.0" - webpack-dev-middleware "^3.5.1" + webpack-dev-middleware "^3.7.0" webpack-log "^2.0.0" - yargs "12.0.2" + yargs "12.0.5" webpack-hot-middleware@^2.21.0: - version "2.24.3" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.24.3.tgz#5bb76259a8fc0d97463ab517640ba91d3382d4a6" - integrity sha512-pPlmcdoR2Fn6UhYjAhp1g/IJy1Yc9hD+T6O9mjRcWV2pFbBjIFoJXhP0CoD0xPOhWJuWXuZXGBga9ybbOdzXpg== + version "2.25.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" + integrity sha1-RSigpj7Df4+O9WXPnlNNV9Cf5wY= dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -11717,36 +12104,36 @@ webpack-hot-middleware@^2.21.0: webpack-log@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= dependencies: ansi-colors "^3.0.0" uuid "^3.3.2" webpack-merge@^4.1.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.1.tgz#5e923cf802ea2ace4fd5af1d3247368a633489b4" - integrity sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-merge/-/webpack-merge-4.2.1.tgz#5e923cf802ea2ace4fd5af1d3247368a633489b4" + integrity sha1-XpI8+ALqKs5P1a8dMkc2imM0ibQ= dependencies: lodash "^4.17.5" webpack-sources@^1.1.0, webpack-sources@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" + integrity sha1-KijcufH0X+lg2PFJMlK17mUw+oU= dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack-stats-plugin@^0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.1.5.tgz#29e5f12ebfd53158d31d656a113ac1f7b86179d9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-stats-plugin/-/webpack-stats-plugin-0.1.5.tgz#29e5f12ebfd53158d31d656a113ac1f7b86179d9" integrity sha1-KeXxLr/VMVjTHWVqETrB97hhedk= webpack@~4.28.4: version "4.28.4" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.28.4.tgz#1ddae6c89887d7efb752adf0c3cd32b9b07eacd0" - integrity sha512-NxjD61WsK/a3JIdwWjtIpimmvE6UrRi3yG54/74Hk9rwNj5FPkA4DJCf1z4ByDWLkvZhTZE+P3C/eh6UD5lDcw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack/-/webpack-4.28.4.tgz#1ddae6c89887d7efb752adf0c3cd32b9b07eacd0" + integrity sha1-HdrmyJiH1++3Uq3ww80yubB+rNA= dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-module-context" "1.7.11" @@ -11774,44 +12161,45 @@ webpack@~4.28.4: webpack-sources "^1.3.0" websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= + version "0.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha1-otTg1PTxFvHmKX66WLBdQwEA6fk= dependencies: - http-parser-js ">=0.4.0" + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk= whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= dependencies: iconv-lite "0.4.24" whatwg-fetch@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha1-3eal3zFfnTmZGqF2IYU9cguFVm8= whatwg-fetch@>=0.10.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha1-/IBORYzEYACbGiuWa8iBfSV4rvs= whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= whatwg-url@^6.4.1: version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -11819,8 +12207,8 @@ whatwg-url@^6.4.1: whatwg-url@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + integrity sha1-/ekm+lSlmfOt+C3/Jan3vgLcbt0= dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -11828,82 +12216,91 @@ whatwg-url@^7.0.0: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.14, which@^1.2.9, which@^1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= dependencies: string-width "^1.0.2 || 2" widest-line@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w= dependencies: string-width "^2.1.1" -with-open-file@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.5.tgz#877239a04e56ec92ebb1f698809d03b93e07aabc" - integrity sha512-zY51cJCXG6qBilVuMceKNwU3rzjB/Ygt96BuSQ4+tXo3ewlxvj9ET99lpUHNzWfkYmsyfqKZEB9NJORmGZ1Ltw== +with-open-file@^0.1.6: + version "0.1.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/with-open-file/-/with-open-file-0.1.6.tgz#0bc178ecab75f6baac8ae11c85e07445d690ea50" + integrity sha1-C8F47Kt19rqsiuEcheB0RdaQ6lA= dependencies: p-finally "^1.0.0" - p-try "^2.0.0" - pify "^3.0.0" + p-try "^2.1.0" + pify "^4.0.1" wordwrap@~0.0.2: version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= dependencies: errno "~0.1.7" wrap-ansi@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^5.0.0: + version "5.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" signal-exit "^3.0.2" write-file-atomic@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" - integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== + version "2.4.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE= dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -11911,131 +12308,108 @@ write-file-atomic@^2.0.0: write@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + resolved "https://repox.jfrog.io/repox/api/npm/npm/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= dependencies: mkdirp "^0.5.1" ws@^5.2.0: version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= dependencies: async-limiter "~1.0.0" ws@~6.1.0: version "6.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" - integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" + integrity sha1-W1yIAK+rkl6UzLKdFTyNAsF3bvk= dependencies: async-limiter "~1.0.0" x-is-string@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + resolved "https://repox.jfrog.io/repox/api/npm/npm/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= xdg-basedir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= xml-name-validator@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= xmlhttprequest-ssl@~1.5.4: version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== - xstate@^3.1.0: version "3.3.3" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-3.3.3.tgz#64177cd4473d4c2424b3df7d2434d835404b09a9" - integrity sha512-p0ZYDPWxZZZRAJyD3jaGO9/MYioHuxZp6sjcLhPfBZHAprl4EDrZRGDqRVH9VvK8oa6Nrbpf+U5eNmn8KFwO3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/xstate/-/xstate-3.3.3.tgz#64177cd4473d4c2424b3df7d2434d835404b09a9" + integrity sha1-ZBd81Ec9TCQks999JDTYNUBLCak= xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= y18n@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + resolved "https://repox.jfrog.io/repox/api/npm/npm/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= yallist@^2.0.0, yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha1-tLBJ4xS+VF486AIjbWzSLNkcPek= yaml-loader@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/yaml-loader/-/yaml-loader-0.5.0.tgz#86b1982d84a8e429e6647d93de9a0169e1c15827" - integrity sha512-p9QIzcFSNm4mCw/m5NdyMfN4RE4aFZJWRRb01ERVNGCym8VNbKtw3OYZXnvUIkim6U/EjqE/2yIh9F/msShH9A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yaml-loader/-/yaml-loader-0.5.0.tgz#86b1982d84a8e429e6647d93de9a0169e1c15827" + integrity sha1-hrGYLYSo5CnmZH2T3poBaeHBWCc= dependencies: js-yaml "^3.5.2" -yargs-parser@10.x, yargs-parser@^10.1.0: +yargs-parser@10.x: version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= dependencies: camelcase "^4.1.0" yargs-parser@^11.1.1: version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs-parser@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= dependencies: camelcase "^4.1.0" -yargs@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" - -yargs@^12.0.2, yargs@^12.0.5: +yargs@12.0.5, yargs@^12.0.2, yargs@^12.0.5: version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= dependencies: cliui "^4.0.0" decamelize "^1.2.0" @@ -12052,7 +12426,7 @@ yargs@^12.0.2, yargs@^12.0.5: yargs@^9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" integrity sha1-UqzCP+7Kw0BCB47njAwAf1CF20w= dependencies: camelcase "^4.1.0" @@ -12071,13 +12445,18 @@ yargs@^9.0.0: yeast@0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= -yurnalist@^1.0.2: +yoga-layout-prebuilt@^1.9.3: + version "1.9.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.3.tgz#11e3be29096afe3c284e5d963cc2d628148c1372" + integrity sha1-EeO+KQlq/jwoTl2WPMLWKBSME3I= + +yurnalist@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-1.0.5.tgz#98534ddc1330e1316684981f53cba879ffc07a28" - integrity sha512-EuLjqX3Q15iVM0UtZa5Ju536uRmklKd2kKhdE5D5fIh8RZmh+pJ8c6wj2oGo0TA+T/Ii2o79cIHCTMfciW8jlA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yurnalist/-/yurnalist-1.0.5.tgz#98534ddc1330e1316684981f53cba879ffc07a28" + integrity sha1-mFNN3BMw4TFmhJgfU8uoef/Aeig= dependencies: babel-runtime "^6.26.0" chalk "^2.1.0" @@ -12099,20 +12478,20 @@ yurnalist@^1.0.2: strip-ansi "^5.0.0" strip-bom "^3.0.0" -zen-observable-ts@^0.8.18: - version "0.8.18" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.18.tgz#ade44b1060cc4a800627856ec10b9c67f5f639c8" - integrity sha512-q7d05s75Rn1j39U5Oapg3HI2wzriVwERVo4N7uFGpIYuHB9ff02P/E92P9B8T7QVC93jCMHpbXH7X0eVR5LA7A== +zen-observable-ts@^0.8.19: + version "0.8.19" + resolved "https://repox.jfrog.io/repox/api/npm/npm/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz#c094cd20e83ddb02a11144a6e2a89706946b5694" + integrity sha1-wJTNIOg92wKhEUSm4qiXBpRrVpQ= dependencies: tslib "^1.9.3" zen-observable "^0.8.0" zen-observable@^0.8.0: - version "0.8.13" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.13.tgz#a9f1b9dbdfd2d60a08761ceac6a861427d44ae2e" - integrity sha512-fa+6aDUVvavYsefZw0zaZ/v3ckEtMgCFi30sn91SEZea4y/6jQp05E3omjkX91zV6RVdn15fqnFZ6RKjRGbp2g== + version "0.8.14" + resolved "https://repox.jfrog.io/repox/api/npm/npm/zen-observable/-/zen-observable-0.8.14.tgz#d33058359d335bc0db1f0af66158b32872af3bf7" + integrity sha1-0zBYNZ0zW8DbHwr2YVizKHKvO/c= zwitch@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.3.tgz#159fae4b3f737db1e42bf321d3423e4c96688a18" - integrity sha512-aynRpmJDw7JIq6X4NDWJoiK1yVSiG57ArWSg4HLC1SFupX5/bo0Cf4jpX0ifwuzBfxpYBuNSyvMlWNNRuy3cVA== + version "1.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/zwitch/-/zwitch-1.0.4.tgz#93b1b993b13c8926753a41afaf8f27bbfac6be8b" + integrity sha1-k7G5k7E8iSZ1OkGvr48nu/rGvos= diff --git a/server/sonar-vsts/build.gradle b/server/sonar-vsts/build.gradle index 62cd909ea53..5fe8fa24a3a 100644 --- a/server/sonar-vsts/build.gradle +++ b/server/sonar-vsts/build.gradle @@ -14,7 +14,6 @@ yarn_run { ['config', 'public', 'scripts', 'src', '../sonar-web/src/main/js/api', '../sonar-web/src/main/js/app', - '../sonar-web/src/main/js/components', '../sonar-web/src/main/js/helpers' ].each { inputs.dir(it).withPathSensitivity(PathSensitivity.RELATIVE) @@ -40,12 +39,12 @@ build.dependsOn(yarn_run) ['config', 'src/main/js', '../sonar-web/src/main/js/api', '../sonar-web/src/main/js/app', - '../sonar-web/src/main/js/components', '../sonar-web/src/main/js/helpers' ].each { inputs.dir(it) } ['package.json', 'yarn.lock', 'tsconfig.json', '.eslintrc', '.eslintignore', + '../sonar-web/src/main/js/app/theme.js', '../sonar-web/package.json', '../sonar-web/yarn.lock' ].each { diff --git a/server/sonar-vsts/config/jest/SetupTestEnvironment.js b/server/sonar-vsts/config/jest/SetupTestEnvironment.js index ebc71cfb039..8bd59b9a3e2 100644 --- a/server/sonar-vsts/config/jest/SetupTestEnvironment.js +++ b/server/sonar-vsts/config/jest/SetupTestEnvironment.js @@ -22,3 +22,7 @@ window.t = window.tp = function() { const args = Array.prototype.slice.call(arguments, 0); return args.join('.'); }; + +const content = document.createElement('div'); +content.id = 'content'; +document.documentElement.appendChild(content); diff --git a/server/sonar-vsts/config/utils.js b/server/sonar-vsts/config/utils.js index 40b41e97f8c..844ca61fbcf 100644 --- a/server/sonar-vsts/config/utils.js +++ b/server/sonar-vsts/config/utils.js @@ -26,14 +26,27 @@ const cssLoader = () => ({ } }); -const theme = require('../../sonar-web/src/main/js/app/theme'); - const customProperties = {}; -Object.keys(theme).forEach(key => { - if (typeof theme[key] === 'string') { - customProperties[`--${key}`] = theme[key]; - } -}); +const parseCustomProperties = theme => { + Object.keys(theme).forEach(key => { + if (typeof theme[key] === 'object') { + parseCustomProperties(theme[key]); + } else if (typeof theme[key] === 'string') { + if (!customProperties[`--${key}`]) { + customProperties[`--${key}`] = theme[key]; + } else { + console.error( + `Custom CSS property "${key}" already exists with value "${ + customProperties[`--${key}`] + }".` + ); + process.exit(1); + } + } + }); +}; + +parseCustomProperties(require('../../sonar-web/src/main/js/app/theme')); const postcssLoader = production => ({ loader: 'postcss-loader', diff --git a/server/sonar-vsts/config/webpack.config.js b/server/sonar-vsts/config/webpack.config.js index a650793501e..147e8c8125a 100644 --- a/server/sonar-vsts/config/webpack.config.js +++ b/server/sonar-vsts/config/webpack.config.js @@ -35,7 +35,6 @@ module.exports = ({ production = true }) => ({ extensions: ['.ts', '.tsx', '.js', '.json'], alias: { '@sqapi': path.resolve(__dirname, '../../sonar-web/src/main/js/api'), - '@sqcomponents': path.resolve(__dirname, '../../sonar-web/src/main/js/components'), '@sqhelpers': path.resolve(__dirname, '../../sonar-web/src/main/js/helpers') } }, diff --git a/server/sonar-vsts/package.json b/server/sonar-vsts/package.json index c38918dc0a1..169465adab8 100644 --- a/server/sonar-vsts/package.json +++ b/server/sonar-vsts/package.json @@ -9,9 +9,10 @@ "classnames": "2.2.6", "core-js": "3.0.0", "lodash": "4.17.11", - "react": "16.8.5", - "react-dom": "16.8.5", + "react": "16.8.6", + "react-dom": "16.8.6", "regenerator-runtime": "0.13.2", + "sonar-ui-common": "0.0.10", "whatwg-fetch": "2.0.4" }, "devDependencies": { @@ -25,15 +26,15 @@ "@babel/preset-env": "7.4.2", "@babel/preset-react": "7.0.0", "@types/classnames": "2.2.6", - "@types/enzyme": "3.9.1", - "@types/jest": "24.0.11", + "@types/enzyme": "3.10.1", + "@types/jest": "24.0.15", "@types/lodash": "4.14.123", - "@types/react": "16.8.8", - "@types/react-dom": "16.8.3", + "@types/react": "16.8.23", + "@types/react-dom": "16.8.4", "@typescript-eslint/parser": "1.5.0", "autoprefixer": "9.5.0", "babel-core": "7.0.0-bridge.0", - "babel-jest": "24.5.0", + "babel-jest": "24.8.0", "babel-loader": "8.0.5", "babel-plugin-dynamic-import-node": "2.2.0", "babel-plugin-lodash": "3.3.4", @@ -42,19 +43,20 @@ "copy-webpack-plugin": "5.0.1", "css-loader": "2.1.1", "cssnano": "4.1.10", - "enzyme": "3.9.0", - "enzyme-adapter-react-16": "1.10.0", + "enzyme": "3.10.0", + "enzyme-adapter-react-16": "1.14.0", "enzyme-to-json": "3.3.5", "escape-string-regexp": "1.0.5", - "eslint": "5.15.3", - "eslint-config-sonarqube": "0.3.0", - "eslint-plugin-import": "2.16.0", + "eslint": "5.16.0", + "eslint-config-sonarqube": "0.5.0", + "eslint-plugin-import": "2.18.0", "eslint-plugin-jsx-a11y": "6.2.1", - "eslint-plugin-promise": "4.0.1", - "eslint-plugin-react": "7.12.4", - "eslint-plugin-sonarjs": "0.3.0", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-react": "7.14.2", + "eslint-plugin-react-hooks": "1.6.1", + "eslint-plugin-sonarjs": "0.4.0", "html-webpack-plugin": "3.2.0", - "jest": "24.5.0", + "jest": "24.8.0", "postcss-calc": "7.0.1", "postcss-custom-properties": "8.0.10", "postcss-loader": "3.0.0", @@ -63,7 +65,7 @@ "react-error-overlay": "1.0.7", "react-test-renderer": "16.8.5", "style-loader": "0.23.1", - "ts-jest": "24.0.0", + "ts-jest": "24.0.2", "ts-loader": "5.3.3", "typescript": "3.3.3333", "webpack": "4.29.6", @@ -119,7 +121,6 @@ "^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/config/jest/FileStub.js", "^.+\\.css$": "<rootDir>/config/jest/CSSStub.js", "^@sqapi(.*)$": "<rootDir>/../sonar-web/src/main/js/api$1", - "^@sqcomponents(.*)$": "<rootDir>/../sonar-web/src/main/js/components$1", "^@sqhelpers(.*)$": "<rootDir>/../sonar-web/src/main/js/helpers$1" }, "setupFiles": [ diff --git a/server/sonar-vsts/src/main/js/components/LoginForm.tsx b/server/sonar-vsts/src/main/js/components/LoginForm.tsx index 7141de30d4f..c328f0266fa 100644 --- a/server/sonar-vsts/src/main/js/components/LoginForm.tsx +++ b/server/sonar-vsts/src/main/js/components/LoginForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getTextColor } from '@sqhelpers/colors'; -import { getBaseUrl } from '@sqhelpers/urls'; +import ThemeContext from 'sonar-ui-common/components/ThemeContext'; +import { getTextColor } from 'sonar-ui-common/helpers/colors'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { getIdentityProviders } from '@sqapi/users'; import LoginLink from './LoginLink'; import SonarCloudIcon from './SonarCloudIcon'; -import * as theme from '../../../../../sonar-web/src/main/js/app/theme'; interface Props { onReload: () => void; @@ -69,27 +69,34 @@ export default class LoginForm extends React.PureComponent<Props, State> { {identityProviders && ( <section className="oauth-providers"> {vstsProvider && ( - <LoginLink - onReload={onReload} - sessionUrl={`sessions/init/${vstsProvider.key}`} - style={{ - backgroundColor: vstsProvider.backgroundColor, - color: getTextColor(vstsProvider.backgroundColor, theme.secondFontColor) - }}> - <img - alt={vstsProvider.name} - height="20" - src={getBaseUrl() + vstsProvider.iconPath} - width="20" - /> - <span>{vstsProvider.name} log in</span> - </LoginLink> + <ThemeContext.Consumer> + {({ theme }) => ( + <LoginLink + onReload={onReload} + sessionUrl={`sessions/init/${vstsProvider.key}`} + style={{ + backgroundColor: vstsProvider.backgroundColor, + color: getTextColor( + vstsProvider.backgroundColor, + theme.colors.secondFontColor + ) + }}> + <img + alt={vstsProvider.name} + height="20" + src={getBaseUrl() + vstsProvider.iconPath} + width="20" + /> + <span>{vstsProvider.name} log in</span> + </LoginLink> + )} + </ThemeContext.Consumer> )} </section> )} <div className="text-center"> - <LoginLink onReload={onReload} sessionUrl={'sessions/new'}> + <LoginLink onReload={onReload} sessionUrl="sessions/new"> {vstsProvider ? 'More options' : 'Log in on SonarCloud'} </LoginLink> </div> diff --git a/server/sonar-vsts/src/main/js/components/LoginLink.tsx b/server/sonar-vsts/src/main/js/components/LoginLink.tsx index 3f068f7f876..961080635e7 100644 --- a/server/sonar-vsts/src/main/js/components/LoginLink.tsx +++ b/server/sonar-vsts/src/main/js/components/LoginLink.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getBaseUrl } from '@sqhelpers/urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; interface Props { className?: string; diff --git a/server/sonar-vsts/src/main/js/components/QGWidget.tsx b/server/sonar-vsts/src/main/js/components/QGWidget.tsx index ce3fb4b67d1..58d16098461 100644 --- a/server/sonar-vsts/src/main/js/components/QGWidget.tsx +++ b/server/sonar-vsts/src/main/js/components/QGWidget.tsx @@ -19,8 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { getPathUrlAsString, getProjectUrl } from '@sqhelpers/urls'; -import Tooltip from '@sqcomponents/controls/Tooltip'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; +import { getProjectUrl } from '@sqhelpers/urls'; import SonarCloudIcon from './SonarCloudIcon'; interface Props { diff --git a/server/sonar-vsts/src/main/js/components/SonarCloudIcon.tsx b/server/sonar-vsts/src/main/js/components/SonarCloudIcon.tsx index b1f80052ae0..a3800d95076 100644 --- a/server/sonar-vsts/src/main/js/components/SonarCloudIcon.tsx +++ b/server/sonar-vsts/src/main/js/components/SonarCloudIcon.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { IconProps } from '@sqcomponents/icons-components/Icon'; +import { IconProps } from 'sonar-ui-common/components/icons/Icon'; export default function SonarCloudIcon({ className, fill = '#f3702a', size = 18 }: IconProps) { return ( diff --git a/server/sonar-vsts/src/main/js/index.js b/server/sonar-vsts/src/main/js/index.js index b6da0cd8ec8..44bb97da705 100644 --- a/server/sonar-vsts/src/main/js/index.js +++ b/server/sonar-vsts/src/main/js/index.js @@ -20,9 +20,11 @@ import { parse } from 'querystring'; import React from 'react'; import { render } from 'react-dom'; +import ThemeContext from 'sonar-ui-common/components/ThemeContext'; import Configuration from './components/Configuration'; import Widget from './components/Widget'; import { parseWidgetSettings } from './utils'; +import * as theme from '../../../../sonar-web/src/main/js/app/theme'; import './vsts.css'; const container = document.getElementById('content'); @@ -45,7 +47,9 @@ if (query.type === 'authenticated') { if (query.type === 'configuration') { render( - <Configuration contribution={query.contribution} widgetHelpers={WidgetHelpers} />, + <ThemeContext.Provider value={{ theme }}> + <Configuration contribution={query.contribution} widgetHelpers={WidgetHelpers} /> + </ThemeContext.Provider>, container ); } else { @@ -61,7 +65,12 @@ if (query.type === 'authenticated') { function loadVSTSWidget(WidgetHelpers) { return widgetSettings => { try { - render(<Widget settings={parseWidgetSettings(widgetSettings)} />, container); + render( + <ThemeContext.Provider value={{ theme }}> + <Widget settings={parseWidgetSettings(widgetSettings)} /> + </ThemeContext.Provider>, + container + ); } catch (error) { return WidgetHelpers.WidgetStatusHelper.Failure(error); } diff --git a/server/sonar-vsts/tsconfig.json b/server/sonar-vsts/tsconfig.json index 4713fd26cff..4483685810a 100644 --- a/server/sonar-vsts/tsconfig.json +++ b/server/sonar-vsts/tsconfig.json @@ -15,11 +15,14 @@ "baseUrl": "./", "paths": { "@sqapi/*": ["../sonar-web/src/main/js/api/*"], - "@sqcomponents/*": ["../sonar-web/src/main/js/components/*"], "@sqhelpers/*": ["../sonar-web/src/main/js/helpers/*"], "*": ["./node_modules/@types/*", "../sonar-web/node_modules/@types/*", "*"] }, "sourceMap": true }, - "include": ["./src/main/js/**/*", "../sonar-web/src/main/js/app/types.d.ts"] + "include": [ + "./src/main/js/**/*", + "node_modules/sonar-ui-common/types.d.ts", + "../sonar-web/src/main/js/app/types.d.ts" + ] } diff --git a/server/sonar-vsts/yarn.lock b/server/sonar-vsts/yarn.lock index 80b1f6b6d5f..84f9704ff07 100644 --- a/server/sonar-vsts/yarn.lock +++ b/server/sonar-vsts/yarn.lock @@ -4,15 +4,15 @@ "@babel/code-frame@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha1-BuKrGb21NThVWaq7W6WXKUgoAPg= dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@7.4.0", "@babel/core@^7.1.0": +"@babel/core@7.4.0": version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" - integrity sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" + integrity sha1-JI/Wh0t9dVAQv+YfVXRh1PRG2ek= dependencies: "@babel/code-frame" "^7.0.0" "@babel/generator" "^7.4.0" @@ -29,12 +29,32 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196" - integrity sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ== +"@babel/core@^7.1.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/core/-/core-7.5.0.tgz#6ed6a2881ad48a732c5433096d96d1b0ee5eb734" + integrity sha1-btaiiBrUinMsVDMJbZbRsO5etzQ= dependencies: - "@babel/types" "^7.4.0" + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.5.0" + "@babel/helpers" "^7.5.0" + "@babel/parser" "^7.5.0" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" + integrity sha1-8g5LepF1Dui2NlYHPYQ9KnNtyko= + dependencies: + "@babel/types" "^7.5.0" jsesc "^2.5.1" lodash "^4.17.11" source-map "^0.5.0" @@ -42,69 +62,69 @@ "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha1-Mj053QtQ4Qx8Bsp9djjmhk2MXDI= dependencies: "@babel/types" "^7.0.0" "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha1-a2lijf5Ah3mODE7Zjj1Kay+9L18= dependencies: "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" "@babel/helper-builder-react-jsx@^7.3.0": version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" + integrity sha1-oayVpdKz6Irl5UhGv0Yu64GzGKQ= dependencies: "@babel/types" "^7.3.0" esutils "^2.0.0" -"@babel/helper-call-delegate@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz#f308eabe0d44f451217853aedf4dea5f6fe3294f" - integrity sha512-SdqDfbVdNQCBp3WhK2mNdDvHd3BD6qbmIc43CAyjnsfCmgHMeqgDcM3BzY2lchi7HBJGJ2CVdynLWbezaE4mmQ== +"@babel/helper-call-delegate@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" + integrity sha1-h8H4yhmtVSpzanonscH8+LH/H0M= dependencies: - "@babel/helper-hoist-variables" "^7.4.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/helper-hoist-variables" "^7.4.4" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" "@babel/helper-create-class-features-plugin@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.0.tgz#30fd090e059d021995c1762a5b76798fa0b51d82" - integrity sha512-2K8NohdOT7P6Vyp23QH4w2IleP8yG3UJsbRKwA4YP6H8fErcLkFuuEEqbF2/BYBKSNci/FWJiqm6R3VhM/QHgw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" + integrity sha1-Au25f1EtRLojsyJ/G/LtQ0VO2sU= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz#cbfd8c1b2f12708e262c26f600cd16ed6a3bc6c9" - integrity sha512-wAhQ9HdnLIywERVcSvX40CEJwKdAa1ID4neI9NXQPDOHwwA+57DqwLiPEVy2AIyWzAk0CQ8qx4awO0VUURwLtA== +"@babel/helper-define-map@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" + integrity sha1-aWnR9XC0a9yQDR66jl1ZxIuiwSo= dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" lodash "^4.17.11" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha1-U3+hP28WdN90WwwA7I/k6ZaByPY= dependencies: "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" "@babel/helper-function-name@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha1-oM6wFoX3M1XUNgwSR/WCv6/I/1M= dependencies: "@babel/helper-get-function-arity" "^7.0.0" "@babel/template" "^7.1.0" @@ -112,67 +132,67 @@ "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha1-g1ctQyDipGVyY3NBE8QoaLZOScM= dependencies: "@babel/types" "^7.0.0" -"@babel/helper-hoist-variables@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz#25b621399ae229869329730a62015bbeb0a6fbd6" - integrity sha512-/NErCuoe/et17IlAQFKWM24qtyYYie7sFIrW/tIQXpck6vAu2hhtYYsKLBWQV+BQZMbcIYPU/QMYuTufrY4aQw== +"@babel/helper-hoist-variables@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" + integrity sha1-Api18lyMCcUxAtUqxKmPdz6yhQo= dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" "@babel/helper-member-expression-to-functions@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha1-jNFLCg33/wDwCefXpDaUX0fHoW8= dependencies: "@babel/types" "^7.0.0" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha1-lggbcRHkhtpNLNlxrRpP4hbMLj0= dependencies: "@babel/types" "^7.0.0" -"@babel/helper-module-transforms@^7.1.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" - integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== +"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" + integrity sha1-lhFepCovE55hnpjtRt9gGblEFLg= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/template" "^7.2.2" - "@babel/types" "^7.2.2" - lodash "^4.17.10" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/template" "^7.4.4" + "@babel/types" "^7.4.4" + lodash "^4.17.11" "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha1-opIMVwKwc8Fd5REGIAqoytIEl9U= dependencies: "@babel/types" "^7.0.0" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha1-u7P77phmHFaQNCN8wDlnupm08lA= -"@babel/helper-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" - integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== +"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" + integrity sha1-pH4CvJH7JZ0uZyfCowAT46wTxKI= dependencies: - lodash "^4.17.10" + lodash "^4.17.11" "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha1-Nh2AghtvONp1vT8HheziCojF/n8= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-wrap-function" "^7.1.0" @@ -180,68 +200,68 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz#4f56adb6aedcd449d2da9399c2dcf0545463b64c" - integrity sha512-PVwCVnWWAgnal+kJ+ZSAphzyl58XrFeSKSAJRiqg5QToTsjL+Xu1f9+RJ+d+Q0aPhPfBGaYfkox66k86thxNSg== +"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" + integrity sha1-ruQXg+vk8tOrOud14cxvGpDO+ic= dependencies: "@babel/helper-member-expression-to-functions" "^7.0.0" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" "@babel/helper-simple-access@^7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha1-Ze65VMjCRb6qToWdphiPOdceWFw= dependencies: "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55" - integrity sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw== +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha1-/5SJSjQL549T8GrwOLIFxJ2ZNnc= dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" "@babel/helper-wrap-function@^7.1.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" + integrity sha1-xOABJEV2nigVtVKW6tQ6lYVJ9vo= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/template" "^7.1.0" "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.0": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.2.tgz#3bdfa46a552ca77ef5a0f8551be5f0845ae989be" - integrity sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg== +"@babel/helpers@^7.4.0", "@babel/helpers@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helpers/-/helpers-7.5.0.tgz#7f0c17666e7ed8355ed6eff643dde12fb681ddb4" + integrity sha1-fwwXZm5+2DVe1u/2Q93hL7aB3bQ= dependencies: - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.0": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" - integrity sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g== +"@babel/parser@^7.1.0", "@babel/parser@^7.4.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" + integrity sha1-PgcT3/ia1q43+uw7Kdz8XJeXcLc= "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" + integrity sha1-somzBmadzkrSCwJSiJoVdoydQX4= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" @@ -249,98 +269,106 @@ "@babel/plugin-proposal-class-properties@7.4.0": version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" - integrity sha512-t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" + integrity sha1-1w22Gi8f153pJ+6pH2QRyWTghLg= dependencies: "@babel/helper-create-class-features-plugin" "^7.4.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" + integrity sha1-Vo7MRGxhSK5rJn8CVREwiR4p8xc= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.4.0", "@babel/plugin-proposal-object-rest-spread@^7.4.0": +"@babel/plugin-proposal-object-rest-spread@7.4.0": version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" - integrity sha512-uTNi8pPYyUH2eWHyYWWSYJKwKg34hhgl4/dbejEjL+64OhbHjTX7wEVWMQl82tEmdDsGeu77+s8HHLS627h6OQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" + integrity sha1-5JYFdSBerfKhq04MeflQTVuCqX8= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + +"@babel/plugin-proposal-object-rest-spread@^7.4.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.0.tgz#4838ce3cbc9a84dd00bce7a17e9e9c36119f83a0" + integrity sha1-SDjOPLyahN0AvOehfp6cNhGfg6A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" + integrity sha1-E12B7baKCB5V5W7EhUHs6AZcOPU= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz#202d91ee977d760ef83f4f416b280d568be84623" - integrity sha512-h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" + integrity sha1-UB/9mCbAuR2iJpByByKsfLHKnHg= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" + integrity sha1-aeHw2zTG9aDPfiszI78VmnbIy38= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import@7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" + integrity sha1-acFZ/69JmBIhYa2OvF5tH1XfhhI= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" + integrity sha1-cr0T9v/h0lk4Ep0qGGsR/WKVFHA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" + integrity sha1-C4WjtLx830zEuL8jYzW5B8oi58c= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" + integrity sha1-O3o+czUQxX6CC5FCpleayLDfrS4= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" + integrity sha1-qUAT1u2okI3+akd+f57ahWVuz1w= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" + integrity sha1-mur75Nb/xlY7+Pg3IJFijwB3lVA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-async-to-generator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz#234fe3e458dce95865c0d152d256119b237834b0" - integrity sha512-EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha1-iaOEigFmYjtbxIEWS1k2q5R+iH4= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -348,254 +376,265 @@ "@babel/plugin-transform-block-scoped-functions@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" + integrity sha1-XTzBHo1d3XUqpkyRSNDbbLef0ZA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-block-scoping@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz#164df3bb41e3deb954c4ca32ffa9fcaa56d30bcb" - integrity sha512-AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" + integrity sha1-wTJ5+r9rkWZhUxhBojxLfa4pZG0= dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.11" "@babel/plugin-transform-classes@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d" - integrity sha512-XGg1Mhbw4LDmrO9rSTNe+uI79tQPdGs0YASlxgweYRLZqo/EQktjaOV4tchL/UZbM0F+/94uOipmdNGoaGOEYg== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" + integrity sha1-DOQJTNr9cJchB207nDitMcpxXrY= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.0" + "@babel/helper-define-map" "^7.4.4" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" + "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" + integrity sha1-g6ffamWIZbHI9kHVEMbzryICFto= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-destructuring@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343" - integrity sha512-HySkoatyYTY3ZwLI8GGvkRWCFrjAGXUHur5sMecmCIdIharnlcWWivOqDJI76vvmVZfzwb6G08NREsrY96RhGQ== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha1-9sCf3+P5RRb/B0/od9t7ye8FhVo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" + integrity sha1-NhoUi8lRREMSxpRG127R6o5EUMM= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" "@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha1-xdv1EGv4TN9pEiLAl0wSsd+TGFM= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-exponentiation-operator@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" + integrity sha1-pjhoKJ5bQAf3BU1GSRr1FDV2YAg= dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-for-of@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f" - integrity sha512-vWdfCEYLlYSxbsKj5lGtzA49K3KANtb8qCPQ1em07txJzsBwY+cKJzBHizj5fl3CCx7vt+WPdgDLTHmydkbQSQ== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" + integrity sha1-Amf8c14kyAi6FzhmxsTRRA/DxVY= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" + integrity sha1-4UNhFquwYQwiWQlISHVKxSMJIq0= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-literals@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" + integrity sha1-aQNT6B+SZ9rU/Yz9d+r6hqulPqE= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha1-7wBDXUbaCllhqnKKHS7P8GPk+5E= dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-commonjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca" - integrity sha512-iWKAooAkipG7g1IY0eah7SumzfnIT3WNhT4uYB2kIsvHnNSB6MDYVa5qyICSwaTBDBY2c4SnJ3JtEa6ltJd6Jw== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha1-QlEn5gRSMTYIWO6qR6cdde3tenQ= dependencies: - "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-systemjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1" - integrity sha512-gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ== + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha1-51JmoT75QgLbKgYgl3dW9R1S0kk= dependencies: - "@babel/helper-hoist-variables" "^7.4.0" + "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" + integrity sha1-dnjOdRafCHe46yI1U4wHQmjdAa4= dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-named-capturing-groups-regex@^7.4.2": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz#800391136d6cbcc80728dbdba3c1c6e46f86c12e" - integrity sha512-NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ== + version "7.4.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" + integrity sha1-nSaf0oo3AlgZm0KUc2gTpgu90QY= dependencies: - regexp-tree "^0.1.0" + regexp-tree "^0.1.6" "@babel/plugin-transform-new-target@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150" - integrity sha512-6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" + integrity sha1-GNEgQ4sMye6VpH8scryXaPvtYKU= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-object-super@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" + integrity sha1-s11MEPVrq11lAEfa0PHY6IFLZZg= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.1.0" "@babel/plugin-transform-parameters@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9" - integrity sha512-Xqv6d1X+doyiuCGDoVJFtlZx0onAX0tnc3dY8w71pv/O0dODAbusVv2Ale3cGOwfiyi895ivOBhYa9DhAM8dUA== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" + integrity sha1-dVbPA/MYvScZ/kySLS2Ai+VXHhY= dependencies: - "@babel/helper-call-delegate" "^7.4.0" + "@babel/helper-call-delegate" "^7.4.4" "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-constant-elements@7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" - integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" + integrity sha1-7WAtwti/8vDLGlzikmPb3sQHefc= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name@^7.0.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" + integrity sha1-6/rth4NM6NxCeWCaTwwyTBVuPrA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-jsx-self@7.2.0", "@babel/plugin-transform-react-jsx-self@^7.0.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" + integrity sha1-Rh4hrZR48QMd1eJ2EI0CfxtSQLo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-source@7.2.0", "@babel/plugin-transform-react-jsx-source@^7.0.0": +"@babel/plugin-transform-react-jsx-source@7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" - integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" + integrity sha1-IMjGDwFA9d081jQY1FKAHPP3GA8= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-react-jsx-source@^7.0.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha1-WDsQxJzwV+I3CFvL2MyWC9g72Ws= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx@^7.0.0": version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" + integrity sha1-8sq5kCZjHHZ+J0WlNoszHP6PUpA= dependencies: "@babel/helper-builder-react-jsx" "^7.3.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-regenerator@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1" - integrity sha512-SZ+CgL4F0wm4npojPU6swo/cK4FcbLgxLd4cWpHaNXY/NJ2dpahODCqBbAwb2rDmVszVb3SSjnk9/vik3AYdBw== + version "7.4.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" + integrity sha1-Yp3IJRLFXO4BNB+ye9/LIQNUaA8= dependencies: - regenerator-transform "^0.13.4" + regenerator-transform "^0.14.0" "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" + integrity sha1-YzOu4vjW7n4oYVRXKYk0o7RhmPA= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-spread@^7.2.0": version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" + integrity sha1-MQOpq+IvdCttQG7NPNSbd0kZtAY= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-sticky-regex@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" + integrity sha1-oeRUtZlVYKnB4NU338FQYf0mh+E= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" "@babel/plugin-transform-template-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" - integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" + integrity sha1-nSj+p7vOY3+3YSoHUJidgyHUvLA= dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typeof-symbol@^7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" + integrity sha1-EX0rzsL79ktLWdH5gZiUaC0p8rI= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" + integrity sha1-q0Y0u08U02cov1l4Mis1WHeHlw8= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" "@babel/preset-env@7.4.2": version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" - integrity sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" + integrity sha1-L1uh3i2u+p3MplOEj5bHzi5AZnY= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -645,8 +684,8 @@ "@babel/preset-react@7.0.0": version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" + integrity sha1-6GtLPZlDPHs+npF0fiZTlYvGs8A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" @@ -654,34 +693,41 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b" - integrity sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw== +"@babel/runtime@^7.1.2": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/runtime/-/runtime-7.5.0.tgz#49dcbcd637099a55d3a61e590a00d6861393b1b5" + integrity sha1-Sdy81jcJmlXTph5ZCgDWhhOTsbU= + dependencies: + regenerator-runtime "^0.13.2" + +"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": + version "7.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" + integrity sha1-9LiNEiVomgj1vDoXSDVFvp5O0jc= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/parser" "^7.4.4" + "@babel/types" "^7.4.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.0.tgz#14006967dd1d2b3494cdd650c686db9daf0ddada" - integrity sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" + integrity sha1-QhbWWGhU71w8RZLatW7H63hIVIU= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.0" + "@babel/generator" "^7.5.0" "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.0" - "@babel/parser" "^7.4.0" - "@babel/types" "^7.4.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.5.0" + "@babel/types" "^7.5.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.11" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" - integrity sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA== +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" + integrity sha1-5H1DhAwuf5EFvE06LDcbTQx4Mqs= dependencies: esutils "^2.0.2" lodash "^4.17.11" @@ -689,48 +735,47 @@ "@cnakazawa/watch@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" + integrity sha1-CZE56ux+vweifBeGo/9k85Rk0u8= dependencies: exec-sh "^0.3.2" minimist "^1.2.0" -"@jest/console@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.3.0.tgz#7bd920d250988ba0bf1352c4493a48e1cb97671e" - integrity sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA== +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha1-MqnkJTWpeu3+A35yW9Z+lUtFlUU= dependencies: "@jest/source-map" "^24.3.0" - "@types/node" "*" chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.5.0.tgz#2cefc6a69e9ebcae1da8f7c75f8a257152ba1ec0" - integrity sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ== +"@jest/core@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" + integrity sha1-+73NQqQdDTnN28n1IMi6sMM+7Vs= dependencies: - "@jest/console" "^24.3.0" - "@jest/reporters" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" - jest-changed-files "^24.5.0" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" + jest-changed-files "^24.8.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve-dependencies "^24.5.0" - jest-runner "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" - jest-watcher "^24.5.0" + jest-resolve-dependencies "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + jest-watcher "^24.8.0" micromatch "^3.1.10" p-each-series "^1.0.0" pirates "^4.0.1" @@ -738,48 +783,47 @@ rimraf "^2.5.4" strip-ansi "^5.0.0" -"@jest/environment@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.5.0.tgz#a2557f7808767abea3f9e4cc43a172122a63aca8" - integrity sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA== - dependencies: - "@jest/fake-timers" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-mock "^24.5.0" - -"@jest/fake-timers@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.5.0.tgz#4a29678b91fd0876144a58f8d46e6c62de0266f0" - integrity sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw== - dependencies: - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" - -"@jest/reporters@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.5.0.tgz#9363a210d0daa74696886d9cb294eb8b3ad9b4d9" - integrity sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q== - dependencies: - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" +"@jest/environment@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" + integrity sha1-A0ImE4PHdr3WUhaPaAZe8USvDqw= + dependencies: + "@jest/fake-timers" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + +"@jest/fake-timers@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" + integrity sha1-LluApPePKEvLS9VxS44Q3Tao09E= + dependencies: + "@jest/types" "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + +"@jest/reporters@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" + integrity sha1-B1FpzQKb3exUuPLA/Eif0LngVyk= + dependencies: + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" - istanbul-api "^2.1.1" istanbul-lib-coverage "^2.0.2" istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" istanbul-lib-source-maps "^3.0.1" - jest-haste-map "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + istanbul-reports "^2.1.1" + jest-haste-map "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" node-notifier "^5.2.1" slash "^2.0.0" source-map "^0.6.0" @@ -787,55 +831,66 @@ "@jest/source-map@^24.3.0": version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" + integrity sha1-Vjvjqk0iTK9l/3ftyVzRyk2mfyg= dependencies: callsites "^3.0.0" graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.5.0.tgz#ab66fb7741a04af3363443084e72ea84861a53f2" - integrity sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A== +"@jest/test-result@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" + integrity sha1-dnXQqvnSSEyqZeBI2bRn0WD46dM= + dependencies: + "@jest/console" "^24.7.1" + "@jest/types" "^24.8.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" + integrity sha1-L5k7z271605l6CM6laMyAkjPmUs= dependencies: - "@jest/console" "^24.3.0" - "@jest/types" "^24.5.0" - "@types/istanbul-lib-coverage" "^1.1.0" + "@jest/test-result" "^24.8.0" + jest-haste-map "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" -"@jest/transform@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.5.0.tgz#6709fc26db918e6af63a985f2cc3c464b4cf99d9" - integrity sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w== +"@jest/transform@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" + integrity sha1-Yo+5nc5PnSVMb9k0Hj7qJi4G/vU= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" - jest-haste-map "^24.5.0" + jest-haste-map "^24.8.0" jest-regex-util "^24.3.0" - jest-util "^24.5.0" + jest-util "^24.8.0" micromatch "^3.1.10" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.5.0": - version "24.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.5.0.tgz#feee214a4d0167b0ca447284e95a57aa10b3ee95" - integrity sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA== +"@jest/types@^24.8.0": + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" + integrity sha1-8x4llIxY8KvYyEWuJvzqFJHep60= dependencies: - "@types/istanbul-lib-coverage" "^1.1.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^12.0.9" "@types/babel__core@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51" - integrity sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA== + version "7.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha1-YIx09VkoAz/OGLmbITwWvks9EU8= dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -845,112 +900,146 @@ "@types/babel__generator@*": version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" + integrity sha1-0hEqayH61gDXZ0J0KTyF3ODLR/w= dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" - integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + version "7.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha1-JJbp/1YZbMFCnHIDTgfqthIbbz8= dependencies: "@babel/types" "^7.3.0" "@types/cheerio@*": - version "0.22.11" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.11.tgz#61c0facf9636d14ba5f77fc65ed8913aa845d717" - integrity sha512-x0X3kPbholdJZng9wDMhb2swvUi3UYRNAuWAmIPIWlfgAJZp//cql/qblE7181Mg7SjWVwq6ldCPCLn5AY/e7w== + version "0.22.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/cheerio/-/cheerio-0.22.12.tgz#93c050401d4935a5376e8b352965f7458bed5340" + integrity sha1-k8BQQB1JNaU3bos1KWX3RYvtU0A= dependencies: "@types/node" "*" "@types/classnames@2.2.6": version "2.2.6" - resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.6.tgz#dbe8a666156d556ed018e15a4c65f08937c3f628" - integrity sha512-XHcYvVdbtAxVstjKxuULYqYaWIzHR15yr1pZj4fnGChuBVJlIAp9StJna0ZJNSgxPh4Nac2FL4JM3M11Tm6fqQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/classnames/-/classnames-2.2.6.tgz#dbe8a666156d556ed018e15a4c65f08937c3f628" + integrity sha1-2+imZhVtVW7QGOFaTGXwiTfD9ig= -"@types/enzyme@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.9.1.tgz#3a0ce07e30066dbc26cd3474c8e680af2d249e26" - integrity sha512-CasnOP73BFE3/5JvGkod+oQtGOD1+CVWz9BV2iAqDFJ+sofL5gTiizSr8ZM3lpDY27ptC8yjAdrUCdv8diKKqw== +"@types/enzyme@3.10.1": + version "3.10.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/enzyme/-/enzyme-3.10.1.tgz#74a7f7345075a4c03e574661068d3f96a054f495" + integrity sha1-dKf3NFB1pMA+V0ZhBo0/lqBU9JU= dependencies: "@types/cheerio" "*" "@types/react" "*" -"@types/istanbul-lib-coverage@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#2cc2ca41051498382b43157c8227fea60363f94a" - integrity sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ== +"@types/events@*": + version "3.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha1-QplbRG25pIoRoH7Ag0mahg6ROP8= + +"@types/istanbul-lib-report@*": + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" + integrity sha1-5Ucef6M8YTWN04QmGJwDelhDO4w= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha1-eoy/akBvNsit2HFiWyeOrwsNJVo= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" "@types/jest-diff@*": version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" + integrity sha1-NcwVucTzChjvIYUuJV/bAvbVm4k= -"@types/jest@24.0.11": - version "24.0.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.11.tgz#1f099bea332c228ea6505a88159bfa86a5858340" - integrity sha512-2kLuPC5FDnWIDvaJBzsGTBQaBbnDweznicvK7UGYzlIJP4RJR2a4A/ByLUXEyEgag6jz8eHdlWExGDtH3EYUXQ== +"@types/jest@24.0.15": + version "24.0.15" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/jest/-/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" + integrity sha1-bELVr3/jtE//98xl3nv3Qej6Qn8= dependencies: "@types/jest-diff" "*" "@types/lodash@4.14.123": version "4.14.123" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d" - integrity sha512-pQvPkc4Nltyx7G1Ww45OjVqUsJP4UsZm+GWJpigXgkikZqJgRm4c48g027o6tdgubWHwFRF15iFd+Y4Pmqv6+Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d" + integrity sha1-Ob5dIRR4yN072umO51u37+Sr/k0= + +"@types/minimatch@*": + version "3.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= "@types/node@*": - version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + version "12.0.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/node/-/node-12.0.12.tgz#cc791b402360db1eaf7176479072f91ee6c6c7ca" + integrity sha1-zHkbQCNg2x6vcXZHkHL5HubGx8o= "@types/prop-types@*": - version "15.7.0" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.0.tgz#4c48fed958d6dcf9487195a0ef6456d5f6e0163a" - integrity sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg== + version "15.7.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" + integrity sha1-8aEee6uww8rWgQC+OB0eBkxo8fY= "@types/q@^1.5.1": version "1.5.2" resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha1-aQoUdbhPKohP0HzXl8APXzE1bqg= -"@types/react-dom@16.8.3": - version "16.8.3" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.3.tgz#6131b7b6158bc7ed1925a3374b88b7c00481f0cb" - integrity sha512-HF5hD5YR3z9Mn6kXcW1VKe4AQ04ZlZj1EdLBae61hzQ3eEWWxMgNLUbIxeZp40BnSxqY1eAYLsH9QopQcxzScA== +"@types/react-dom@16.8.4": + version "16.8.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-dom/-/react-dom-16.8.4.tgz#7fb7ba368857c7aa0f4e4511c4710ca2c5a12a88" + integrity sha1-f7e6NohXx6oPTkURxHEMosWhKog= dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.8.8": - version "16.8.8" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.8.tgz#4b60a469fd2469f7aa6eaa0f8cfbc51f6d76e662" - integrity sha512-xwEvyet96u7WnB96kqY0yY7qxx/pEpU51QeACkKFtrgjjXITQn0oO1iwPEraXVgh10ZFPix7gs1R4OJXF7P5sg== +"@types/react@*", "@types/react@16.8.23": + version "16.8.23" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" + integrity sha1-7Gvjzu1jU6IJSBabbLTJe2W5etI= dependencies: "@types/prop-types" "*" csstype "^2.2.0" "@types/stack-utils@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": - version "12.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67" - integrity sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ== + version "12.0.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" + integrity sha1-Rd0dBjjoyPFT6H0paQdlkpaHORY= "@typescript-eslint/parser@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.5.0.tgz#a96114d195dff2a49534e4c4850fb676f905a072" - integrity sha512-pRWTnJrnxuT0ragdY26hZL+bxqDd4liMlftpH2CBlMPryOIOb1J+MdZuw6R4tIu6bWVdwbHKPTs+Q34LuGvfGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@typescript-eslint/parser/-/parser-1.5.0.tgz#a96114d195dff2a49534e4c4850fb676f905a072" + integrity sha1-qWEU0ZXf8qSVNOTEhQ+2dvkFoHI= dependencies: "@typescript-eslint/typescript-estree" "1.5.0" eslint-scope "^4.0.0" @@ -958,16 +1047,16 @@ "@typescript-eslint/typescript-estree@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.5.0.tgz#986b356ecdf5a0c3bc9889d221802149cf5dbd4e" - integrity sha512-XqR14d4BcYgxcrpxIwcee7UEjncl9emKc/MgkeUfIk2u85KlsGYyaxC7Zxjmb17JtWERk/NaO+KnBsqgpIXzwA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@typescript-eslint/typescript-estree/-/typescript-estree-1.5.0.tgz#986b356ecdf5a0c3bc9889d221802149cf5dbd4e" + integrity sha1-mGs1bs31oMO8mInSIYAhSc9dvU4= dependencies: lodash.unescape "4.0.1" semver "5.5.0" "@webassemblyjs/ast@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= dependencies: "@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/helper-wasm-bytecode" "1.8.5" @@ -975,48 +1064,48 @@ "@webassemblyjs/floating-point-hex-parser@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= "@webassemblyjs/helper-api-error@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= "@webassemblyjs/helper-buffer@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= "@webassemblyjs/helper-code-frame@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= dependencies: "@webassemblyjs/wast-printer" "1.8.5" "@webassemblyjs/helper-fsm@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= "@webassemblyjs/helper-module-context@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= dependencies: "@webassemblyjs/ast" "1.8.5" mamacro "^0.0.3" "@webassemblyjs/helper-wasm-bytecode@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= "@webassemblyjs/helper-wasm-section@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-buffer" "1.8.5" @@ -1025,27 +1114,27 @@ "@webassemblyjs/ieee754@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= "@webassemblyjs/wasm-edit@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-buffer" "1.8.5" @@ -1058,8 +1147,8 @@ "@webassemblyjs/wasm-gen@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-wasm-bytecode" "1.8.5" @@ -1069,8 +1158,8 @@ "@webassemblyjs/wasm-opt@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-buffer" "1.8.5" @@ -1079,8 +1168,8 @@ "@webassemblyjs/wasm-parser@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-api-error" "1.8.5" @@ -1091,8 +1180,8 @@ "@webassemblyjs/wast-parser@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/floating-point-hex-parser" "1.8.5" @@ -1103,8 +1192,8 @@ "@webassemblyjs/wast-printer@1.8.5": version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/wast-parser" "1.8.5" @@ -1112,89 +1201,110 @@ "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= abab@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + integrity sha1-q6CrTF7uLUx500h9hUUPsjduuw8= abbrev@1: version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= -accepts@~1.3.4, accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" + mime-types "~2.1.24" + negotiator "0.6.2" acorn-dynamic-import@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" + integrity sha1-SCIQFAWCo2uDw+NC4c/ryqkkCUg= acorn-globals@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" - integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== + version "4.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" + integrity sha1-TiwjE6WX/ViXIDlfY1S0HNXsgAY= dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" acorn-jsx@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha1-MqBk/ZJUKSFqCbFBECv90YX65A4= acorn-walk@^6.0.1, acorn-walk@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= acorn@^5.5.3: version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk= acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" + integrity sha1-Z/DaL8M51s+11vskT9RJ8zzYu+M= address@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af" integrity sha1-SACB6CtYe6MZRZ/vUS9Rb+A9WK8= -address@1.0.3, address@^1.0.1: +address@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" + integrity sha1-tfUGMfjWzsi9IMljljr7VeBsvOk= + +address@^1.0.1: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" + integrity sha1-744EeEf80sW29QwWll+ST9mf5wk= + +airbnb-prop-types@^2.13.2: + version "2.13.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz#43147a5062dd2a4a5600e748a47b64004cc5f7fc" + integrity sha1-QxR6UGLdKkpWAOdIpHtkAEzF9/w= + dependencies: + array.prototype.find "^2.0.4" + function.prototype.name "^1.1.0" + has "^1.0.3" + is-regex "^1.0.4" + object-is "^1.0.1" + object.assign "^4.1.0" + object.entries "^1.1.0" + prop-types "^15.7.2" + prop-types-exact "^1.2.0" + react-is "^16.8.6" ajv-errors@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= ajv-keywords@^3.1.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" + integrity sha1-S4Mee1MUFafMUYzUBOc/YZPGNJ0= ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + integrity sha1-kNDVRDnaWHzX6EO/twRfUL0ivfE= dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -1208,99 +1318,92 @@ alphanum-sort@^1.0.0: anser@1.2.5: version "1.2.5" - resolved "https://registry.yarnpkg.com/anser/-/anser-1.2.5.tgz#5dcfc956eaa373b9c23010dd20dabec2ce19475b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/anser/-/anser-1.2.5.tgz#5dcfc956eaa373b9c23010dd20dabec2ce19475b" integrity sha1-Xc/JVuqjc7nCMBDdINq+ws4ZR1s= anser@1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.1.tgz#c3641863a962cebef941ea2c8706f2cb4f0716bd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/anser/-/anser-1.4.1.tgz#c3641863a962cebef941ea2c8706f2cb4f0716bd" integrity sha1-w2QYY6lizr75Qeoshwbyy08HFr0= ansi-colors@^3.0.0: version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= ansi-escapes@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" integrity sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs= ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= ansi-html@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= dependencies: color-convert "^1.9.0" anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= are-we-there-yet@~1.1.2: version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= dependencies: delegates "^1.0.0" readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= dependencies: sprintf-js "~1.0.2" aria-query@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= dependencies: ast-types-flow "0.0.7" @@ -1308,47 +1411,47 @@ aria-query@^3.0.0: arr-diff@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= arr-union@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= array-filter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= array-filter@~0.0.0: version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-flatten@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= array-includes@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= dependencies: define-properties "^1.1.2" @@ -1356,49 +1459,57 @@ array-includes@^3.0.3: array-map@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= array-reduce@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array-unique@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.find@^2.0.4: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" + integrity sha1-Yw8ur3CjnmCKw1c+Rc+MzQ7emtc= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + array.prototype.flat@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" - integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" + integrity sha1-gS248CytJNP6tl3WfqvjuJA0lKQ= dependencies: define-properties "^1.1.2" es-abstract "^1.10.0" function-bind "^1.1.1" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= +asap@~2.0.3: + version "2.0.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1.js@^4.0.0: version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA= dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -1406,74 +1517,68 @@ asn1.js@^4.0.0: asn1@~0.2.3: version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + version "1.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= dependencies: + object-assign "^4.1.1" util "0.10.3" assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + resolved "https://repox.jfrog.io/repox/api/npm/npm/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-types-flow@0.0.7, ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= astral-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= async-each@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.2.tgz#8b8a7ca2a658f927e9f307d6d1a42f4199f0f735" - integrity sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg== + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= async-limiter@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha1-ePrtjD0HSrgfIrTphdeehzj3IPg= async@^1.5.2: version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== - dependencies: - lodash "^4.17.11" - asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://repox.jfrog.io/repox/api/npm/npm/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= atob@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= autoprefixer@9.5.0: version "9.5.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.0.tgz#7e51d0355c11596e6cf9a0afc9a44e86d1596c70" - integrity sha512-hMKcyHsZn5+qL6AUeP3c8OyuteZ4VaUlg+fWbyl8z7PqsKHF/Bf8/px3K6AT8aMzDkBo8Bc11245MM+itDBOxQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/autoprefixer/-/autoprefixer-9.5.0.tgz#7e51d0355c11596e6cf9a0afc9a44e86d1596c70" + integrity sha1-flHQNVwRWW5s+aCvyaROhtFZbHA= dependencies: browserslist "^4.4.2" caniuse-lite "^1.0.30000947" @@ -1484,24 +1589,24 @@ autoprefixer@9.5.0: aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= axobject-query@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" + integrity sha1-6hh6vluQArN3+SXYv30cVhrfOPk= dependencies: ast-types-flow "0.0.7" babel-code-frame@6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" integrity sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ= dependencies: chalk "^1.1.0" @@ -1510,7 +1615,7 @@ babel-code-frame@6.22.0: babel-code-frame@6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= dependencies: chalk "^1.1.3" @@ -1519,26 +1624,26 @@ babel-code-frame@6.26.0: babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha1-laSS3dkPm06aSh2hTrM1uHtjTs4= -babel-jest@24.5.0, babel-jest@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.5.0.tgz#0ea042789810c2bec9065f7c8ab4dc18e1d28559" - integrity sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g== +babel-jest@24.8.0, babel-jest@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" + integrity sha1-XBX/KyjiCw9F30P+a38qrpPbpYk= dependencies: - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.3.0" + babel-preset-jest "^24.6.0" chalk "^2.4.2" slash "^2.0.0" babel-loader@8.0.5: version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" + integrity sha1-IlMi11CcIVdlWEC7pS5GtsLy/jM= dependencies: find-cache-dir "^2.0.0" loader-utils "^1.0.2" @@ -1547,31 +1652,38 @@ babel-loader@8.0.5: babel-plugin-dynamic-import-node@2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" - integrity sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" + integrity sha1-wK37B9lfSkSV6aqsbsOGxNfCUk4= + dependencies: + object.assign "^4.1.0" + +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha1-8A9Qe9qjw+P/bn5emNkKesq5b38= dependencies: object.assign "^4.1.0" babel-plugin-istanbul@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz#7981590f1956d75d67630ba46f0c22493588c893" - integrity sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ== + version "5.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" + integrity sha1-hB0WuaWO60B6DdzmIroC/oenUro= dependencies: find-up "^3.0.0" - istanbul-lib-instrument "^3.0.0" - test-exclude "^5.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" -babel-plugin-jest-hoist@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz#f2e82952946f6e40bb0a75d266a3790d854c8b5b" - integrity sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w== +babel-plugin-jest-hoist@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" + integrity sha1-9/f3rRUO6W16Xo4sXagxlXnngBk= dependencies: "@types/babel__traverse" "^7.0.6" babel-plugin-lodash@3.3.4: version "3.3.4" - resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196" - integrity sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196" + integrity sha1-T2hENYoTQLrtGCrb7/qN+ZZ7wZY= dependencies: "@babel/helper-module-imports" "^7.0.0-beta.49" "@babel/types" "^7.0.0-beta.49" @@ -1579,36 +1691,44 @@ babel-plugin-lodash@3.3.4: lodash "^4.17.10" require-package-name "^2.0.1" -babel-preset-jest@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz#db88497e18869f15b24d9c0e547d8e0ab950796d" - integrity sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw== +babel-preset-jest@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" + integrity sha1-ZvBhNu786HeXU5wNY/F2nMORWYQ= dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.3.0" + babel-plugin-jest-hoist "^24.6.0" babel-runtime@6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" integrity sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs= dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + resolved "https://repox.jfrog.io/repox/api/npm/npm/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM= base@^0.11.1: version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -1620,70 +1740,70 @@ base@^0.11.1: batch@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" bfj@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" - integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ== + version "6.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= dependencies: - bluebird "^3.5.1" - check-types "^7.3.0" - hoopy "^0.1.2" - tryer "^1.0.0" + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" big.js@^3.1.3: version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4= big.js@^5.2.2: version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= binary-extensions@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1" - integrity sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw== + version "1.13.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= -bluebird@^3.5.1, bluebird@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== +bluebird@^3.5.5: + version "3.5.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha1-qNCv1zJR7/u9X+OEp31zADwXpx8= bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha1-LN4J617jQfSEdGuwMJsyU7GxRC8= -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= +body-parser@1.19.0: + version "1.19.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= dependencies: - bytes "3.0.0" + bytes "3.1.0" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" + http-errors "1.7.2" + iconv-lite "0.4.24" on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" bonjour@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= dependencies: array-flatten "^2.1.0" @@ -1700,16 +1820,16 @@ boolbase@^1.0.0, boolbase@~1.0.0: brace-expansion@^1.0.0, brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^2.3.1, braces@^2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -1724,25 +1844,25 @@ braces@^2.3.1, braces@^2.3.2: brorand@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browser-process-hrtime@^0.1.2: version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha1-YW8A+u8d9+wbW/nP4r3DFw8mx7Q= browser-resolve@^1.11.3: version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= dependencies: resolve "1.1.7" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -1753,8 +1873,8 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -1762,8 +1882,8 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -1772,7 +1892,7 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= dependencies: bn.js "^4.1.0" @@ -1780,7 +1900,7 @@ browserify-rsa@^4.0.0: browserify-sign@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= dependencies: bn.js "^4.1.1" @@ -1793,61 +1913,52 @@ browserify-sign@^4.0.0: browserify-zlib@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= dependencies: pako "~1.0.5" -browserslist@^4.0.0: - version "4.5.6" - resolved "https://repox.jfrog.io/repox/api/npm/npm/browserslist/-/browserslist-4.5.6.tgz#ea42e8581ca2513fa7f371d4dd66da763938163d" - integrity sha1-6kLoWByiUT+n83HU3Wbadjk4Fj0= +browserslist@^4.0.0, browserslist@^4.4.2, browserslist@^4.6.2: + version "4.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/browserslist/-/browserslist-4.6.3.tgz#0530cbc6ab0c1f3fc8c819c72377ba55cf647f05" + integrity sha1-BTDLxqsMHz/IyBnHI3e6Vc9kfwU= dependencies: - caniuse-lite "^1.0.30000963" - electron-to-chromium "^1.3.127" - node-releases "^1.1.17" - -browserslist@^4.4.2, browserslist@^4.5.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.2.tgz#36ad281f040af684555a23c780f5c2081c752df0" - integrity sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ== - dependencies: - caniuse-lite "^1.0.30000951" - electron-to-chromium "^1.3.116" - node-releases "^1.1.11" + caniuse-lite "^1.0.30000975" + electron-to-chromium "^1.3.164" + node-releases "^1.1.23" bs-logger@0.x: version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha1-6302UwenLPl0zGzadraDVK0za9g= dependencies: fast-json-stable-stringify "2.x" bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha1-Zfx4S/f4fACblzwS22VGkC+px7U= dependencies: node-int64 "^0.4.0" buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= buffer-indexof@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= buffer-xor@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + resolved "https://repox.jfrog.io/repox/api/npm/npm/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= dependencies: base64-js "^1.0.2" @@ -1856,38 +1967,43 @@ buffer@^4.3.0: builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= bytes@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -cacache@^11.0.2, cacache@^11.3.1: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== +bytes@3.1.0: + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^11.3.1, cacache@^11.3.2: + version "11.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha1-i9Kd+ManGKbr0tAQ2k15cq47utw= dependencies: - bluebird "^3.5.3" + bluebird "^3.5.5" chownr "^1.1.1" figgy-pudding "^3.5.1" - glob "^7.1.3" + glob "^7.1.4" graceful-fs "^4.1.15" lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" - rimraf "^2.6.2" + rimraf "^2.6.3" ssri "^6.0.1" unique-filename "^1.1.1" y18n "^4.0.0" cache-base@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -1919,13 +2035,13 @@ callsites@^2.0.0: integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= callsites@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" - integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= camel-case@3.0.x: version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" @@ -1933,15 +2049,10 @@ camel-case@3.0.x: camelcase@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" - integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== - -camelcase@^5.2.0: +camelcase@^5.0.0, camelcase@^5.2.0: version "5.3.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= @@ -1956,31 +2067,26 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000963: - version "1.0.30000967" - resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73" - integrity sha1-pQOVd4BvzO6AoEqq+ywIkLHuL3M= - -caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000951: - version "1.0.30000951" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000951.tgz#c7c2fd4d71080284c8677dd410368df8d83688fe" - integrity sha512-eRhP+nQ6YUkIcNQ6hnvdhMkdc7n3zadog0KXNRxAZTT2kHjUb1yGn71OrPhSn8MOvlX97g5CR97kGVj8fMsXWg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000975: + version "1.0.30000979" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz#92f16d00186a6cf20d6c5711bb6e042a3d667029" + integrity sha1-kvFtABhqbPINbFcRu24EKj1mcCk= capture-exit@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= dependencies: rsvp "^4.8.4" caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= chalk@1.1.3, chalk@^1.1.0, chalk@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" @@ -1991,8 +2097,8 @@ chalk@1.1.3, chalk@^1.1.0, chalk@^1.1.3: chalk@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha1-GMSasWoDe26wFSzIPjRxM4IVtm4= dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -2000,8 +2106,8 @@ chalk@2.4.1: chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -2009,35 +2115,35 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4 chardet@^0.4.0: version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= chardet@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= -check-types@^7.3.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" - integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg== +check-types@^8.0.3: + version "8.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= cheerio@^1.0.0-rc.2: - version "1.0.0-rc.2" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" - integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs= + version "1.0.0-rc.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" + integrity sha1-CUY21CWy6cD065GkbAVjDJoai/Y= dependencies: css-select "~1.2.0" - dom-serializer "~0.1.0" + dom-serializer "~0.1.1" entities "~1.1.1" htmlparser2 "^3.9.1" lodash "^4.15.0" parse5 "^3.0.1" chokidar@^2.0.0, chokidar@^2.0.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d" - integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A== + version "2.1.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU= dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -2054,75 +2160,84 @@ chokidar@^2.0.0, chokidar@^2.0.2: fsevents "^1.2.7" chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha1-oY8eCyacimpdPIbrKYvrFMPde/Y= chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= dependencies: tslib "^1.9.0" ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" class-utils@^0.3.5: version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= dependencies: arr-union "^3.1.0" define-property "^0.2.5" isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.2.6: +classnames@2.2.6, classnames@^2.2.3, classnames@^2.2.5: version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= clean-css@4.2.x: version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" + integrity sha1-LUEe92uFabbQyEBo2r6FsKpeXBc= dependencies: source-map "~0.6.0" clean-webpack-plugin@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-2.0.1.tgz#2241526b0030aa0249e78714471298f867fc2829" - integrity sha512-vway5pXGVd91bicwjaf8j188Al6VMf9R9Ekl6q0qeiaWStRsOOXuh4qtjX1UrUvmz5XevQVCdjBuzr4Tzsnpog== + resolved "https://repox.jfrog.io/repox/api/npm/npm/clean-webpack-plugin/-/clean-webpack-plugin-2.0.1.tgz#2241526b0030aa0249e78714471298f867fc2829" + integrity sha1-IkFSawAwqgJJ54cURxKY+Gf8KCk= dependencies: del "^4.0.0" cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-width@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +clipboard@2.0.4: + version "2.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" + integrity sha1-g22v1mzw/qXXHOXVsL9ulYAJES0= + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" @@ -2130,7 +2245,7 @@ cliui@^4.0.0: co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://repox.jfrog.io/repox/api/npm/npm/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= coa@^2.0.2: @@ -2144,12 +2259,12 @@ coa@^2.0.2: code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://repox.jfrog.io/repox/api/npm/npm/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collection-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" @@ -2157,14 +2272,14 @@ collection-visit@^1.0.0: color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= dependencies: color-name "1.1.3" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@^1.0.0: @@ -2181,56 +2296,56 @@ color-string@^1.5.2: simple-swizzle "^0.2.2" color@^3.0.0: - version "3.1.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/color/-/color-3.1.1.tgz#7abf5c0d38e89378284e873c207ae2172dcc8a61" - integrity sha1-er9cDTjok3goToc8IHriFy3MimE= + version "3.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= dependencies: color-convert "^1.9.1" color-string "^1.5.2" combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + version "1.0.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= dependencies: delayed-stream "~1.0.0" commander@2.17.x: version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@~2.20.0: + version "2.20.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha1-1YuytcHuj4ew00ACfp6U4iLFpCI= -commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@~2.19.0: +commander@~2.19.0: version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-versions@^3.2.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" - integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== - component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= compressible@~2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.16.tgz#a49bf9858f3821b64ce1be0296afc7380466a77f" - integrity sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA== + version "2.0.17" + resolved "https://repox.jfrog.io/repox/api/npm/npm/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" + integrity sha1-bowQihatWDhKl386SCyiC/8vOME= dependencies: - mime-db ">= 1.38.0 < 2" + mime-db ">= 1.40.0 < 2" compression@^1.5.2: version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= dependencies: accepts "~1.3.5" bytes "3.0.0" @@ -2242,13 +2357,13 @@ compression@^1.5.2: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.5.0: version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -2257,62 +2372,64 @@ concat-stream@^1.5.0: connect-history-api-fallback@^1.3.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= console-browserify@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://repox.jfrog.io/repox/api/npm/npm/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= contains-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= +content-disposition@0.5.3: + version "0.5.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" content-type@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= convert-source-map@^1.1.0, convert-source-map@^1.4.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= dependencies: safe-buffer "~5.1.1" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= +cookie@0.4.0: + version "0.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= copy-concurrently@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= dependencies: aproba "^1.1.1" fs-write-stream-atomic "^1.0.8" @@ -2323,13 +2440,13 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-webpack-plugin@5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.1.tgz#97997989cc5bc69976bf64f660bd19663481f089" - integrity sha512-yMTURAkYZO/6h6pGMbHQl2jpKtRNC+0Cy/4kRRP6qUHmpbGGAzNnyMecE6aHgGFCb4ksrL3YcDqYGb8ds3J9cw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/copy-webpack-plugin/-/copy-webpack-plugin-5.0.1.tgz#97997989cc5bc69976bf64f660bd19663481f089" + integrity sha1-l5l5icxbxpl2v2T2YL0ZZjSB8Ik= dependencies: cacache "^11.3.1" find-cache-dir "^2.0.0" @@ -2344,67 +2461,61 @@ copy-webpack-plugin@5.0.1: webpack-log "^2.0.0" core-js-compat@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.0.tgz#cd9810b8000742535a4a43773866185e310bd4f7" - integrity sha512-W/Ppz34uUme3LmXWjMgFlYyGnbo1hd9JvA0LNQ4EmieqVjg2GPYbj3H6tcdP2QGPGWdRKUqZVbVKLNIFVs/HiA== + version "3.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" + integrity sha1-5NDED70B5lsdRXmA/kES1DWKdAg= dependencies: - browserslist "^4.5.1" - core-js "3.0.0" - core-js-pure "3.0.0" - semver "^5.6.0" + browserslist "^4.6.2" + core-js-pure "3.1.4" + semver "^6.1.1" -core-js-pure@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.0.tgz#a5679adb4875427c8c0488afc93e6f5b7125859b" - integrity sha512-yPiS3fQd842RZDgo/TAKGgS0f3p2nxssF1H65DIZvZv0Od5CygP8puHXn3IQiM/39VAvgCbdaMQpresrbGgt9g== +core-js-pure@3.1.4: + version "3.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" + integrity sha1-X6F9x3ACoWmjVmzEjcd00uE+N2k= core-js@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" - integrity sha512-WBmxlgH2122EzEJ6GH8o9L/FeoUKxxxZ6q6VUxoTlsE4EvbTWKJb447eyVxTEuq0LpXjlq/kCB2qgBvsYRkLvQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" + integrity sha1-qNv6l40pv8Jjv7ZsVW0MqSTCiVc= + +core-js@^1.0.0: + version "1.2.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= core-js@^2.4.0: - version "2.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" - integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== + version "2.6.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" + integrity sha1-a0shRiDINBUuF5Mjcn/Bl0GwhPI= core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - cosmiconfig@^5.0.0: - version "5.2.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8" - integrity sha1-RQOOTSin/nhyA67enCW8pKCLEsg= + version "5.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.13.0" + js-yaml "^3.13.1" parse-json "^4.0.0" create-ecdh@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8= dependencies: bn.js "^4.1.0" elliptic "^6.0.0" create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -2414,8 +2525,8 @@ create-hash@^1.1.0, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -2424,9 +2535,18 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-react-class@^15.5.1: + version "15.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" + integrity sha1-LXMjf7P5cK5uvgEanmb0bbyoADY= + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + object-assign "^4.1.1" + cross-spawn@5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: lru-cache "^4.0.1" @@ -2435,8 +2555,8 @@ cross-spawn@5.1.0: cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -2446,8 +2566,8 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: crypto-browserify@^3.11.0: version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -2498,7 +2618,7 @@ css-select-base-adapter@^0.1.1: css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= dependencies: boolbase "~1.0.0" @@ -2534,7 +2654,7 @@ css-tree@1.0.0-alpha.29: css-unit-converter@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + resolved "https://repox.jfrog.io/repox/api/npm/npm/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= css-url-regex@^1.1.0: @@ -2549,8 +2669,8 @@ css-what@2.1, css-what@^2.1.2: cssesc@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= cssesc@^3.0.0: version "3.0.0" @@ -2632,154 +2752,271 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.6" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" - integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== +"cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: + version "0.3.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= cssstyle@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.1.tgz#3aceb2759eaf514ac1a21628d723d6043a819495" - integrity sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A== + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssstyle/-/cssstyle-1.3.0.tgz#c36c466f7037fd30f03baa271b65f0f17b50585c" + integrity sha1-w2xGb3A3/TDwO6onG2Xw8XtQWFw= dependencies: - cssom "0.3.x" + cssom "~0.3.6" csstype@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.3.tgz#b701e5968245bf9b08d54ac83d00b624e622a9fa" - integrity sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg== + version "2.6.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034" + integrity sha1-HNHf90Lr9NfJkUcK5x4Su2dR4DQ= cyclist@~0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +d3-array@1.2.4, d3-array@^1.2.0: + version "1.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8= + +d3-collection@1: + version "1.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" + integrity sha1-NJvSqpl32wcQkcExRNXk8WtbMQ4= + +d3-color@1: + version "1.2.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-color/-/d3-color-1.2.8.tgz#4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4" + integrity sha1-Tq+bYO8YjIk/z4so81Rqr+v72fQ= + +d3-dispatch@1: + version "1.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015" + integrity sha1-4lwQoYZRfNbILdGeoBjwfgHjkBU= + +d3-drag@1: + version "1.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-drag/-/d3-drag-1.2.3.tgz#46e206ad863ec465d88c588098a1df444cd33c64" + integrity sha1-RuIGrYY+xGXYjFiAmKHfREzTPGQ= + dependencies: + d3-dispatch "1" + d3-selection "1" + +d3-ease@1: + version "1.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb" + integrity sha1-jOWSdtgSQbG3IELWry1A522Tb/s= + +d3-format@1: + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562" + integrity sha1-apa14xvLmBIqMIY/fZI2XABgNWI= + +d3-hierarchy@1.1.8: + version "1.1.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc" + integrity sha1-emMXvT7STjJGQbbx526XiDawCMw= + +d3-interpolate@1: + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68" + integrity sha1-QX0+vetLxO/Mj9Q2HFXkBAIR/Wg= + dependencies: + d3-color "1" + +d3-path@1: + version "1.0.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8" + integrity sha1-jefNaTp1rAtUgNOrrM2UeT5Yqug= + +d3-scale@2.1.2: + version "2.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-scale/-/d3-scale-2.1.2.tgz#4e932b7b60182aee9073ede8764c98423e5f9a94" + integrity sha1-TpMre2AYKu6Qc+3odkyYQj5fmpQ= + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-selection@1, d3-selection@1.4.0, d3-selection@^1.1.0: + version "1.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474" + integrity sha1-q5rB5mTPln6/G0ecwH4ozpkIxHQ= + +d3-shape@1.2.2: + version "1.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-shape/-/d3-shape-1.2.2.tgz#f9dba3777a5825f9a8ce8bc928da08c17679e9a7" + integrity sha1-+dujd3pYJfmozovJKNoIwXZ56ac= + dependencies: + d3-path "1" + +d3-time-format@2: + version "2.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b" + integrity sha1-rgb44BJqnWDWNk6sWxUzrhusgms= + dependencies: + d3-time "1" + +d3-time@1: + version "1.0.11" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-time/-/d3-time-1.0.11.tgz#1d831a3e25cd189eb256c17770a666368762bbce" + integrity sha1-HYMaPiXNGJ6yVsF3cKZmNodiu84= + +d3-timer@1: + version "1.0.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba" + integrity sha1-97uMDVl9eS/3Ex4cJKNt1HGkcbo= + +d3-transition@1: + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-transition/-/d3-transition-1.2.0.tgz#f538c0e21b2aa1f05f3e965f8567e81284b3b2b8" + integrity sha1-9TjA4hsqofBfPpZfhWfoEoSzsrg= + dependencies: + d3-color "1" + d3-dispatch "1" + d3-ease "1" + d3-interpolate "1" + d3-selection "^1.1.0" + d3-timer "1" + +d3-zoom@1.7.3: + version "1.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-zoom/-/d3-zoom-1.7.3.tgz#f444effdc9055c38077c4299b4df999eb1d47ccb" + integrity sha1-9ETv/ckFXDgHfEKZtN+ZnrHUfMs= + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + damerau-levenshtein@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= + version "1.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" + integrity sha1-eAz3FE6y6NvRw7uDrjEQDMwxpBQ= dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" data-urls@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= dependencies: abab "^2.0.0" whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +date-fns@1.30.1: + version "1.30.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= + date-now@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= -debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= dependencies: ms "2.0.0" debug@^3.2.5, debug@^3.2.6: version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= dependencies: ms "^2.1.1" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= dependencies: ms "^2.1.1" decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://repox.jfrog.io/repox/api/npm/npm/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decamelize@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha1-ZW17vICUxMeI6lPFhAkIycfQY8c= dependencies: xregexp "4.0.0" decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://repox.jfrog.io/repox/api/npm/npm/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= deep-equal@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -default-gateway@^4.0.1: +default-gateway@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= dependencies: execa "^1.0.0" ip-regex "^2.1.0" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= dependencies: object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" del@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= dependencies: globby "^6.1.0" @@ -2790,35 +3027,41 @@ del@^3.0.0: rimraf "^2.2.8" del@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-4.0.0.tgz#4fa27e92c366cb45b9bdaa56a9b8703dced17437" - integrity sha512-/BnSJ+SuZyLu7xMn48kZY0nMXDi+5KNmR4g8n21Wivsl8+B9njV6/5kcTNE9juSprp0zRWBU28JuHUq0FqK1Nw== + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= dependencies: + "@types/glob" "^7.1.1" globby "^6.1.0" is-path-cwd "^2.0.0" is-path-in-cwd "^2.0.0" p-map "^2.0.0" pify "^4.0.1" - rimraf "^2.6.2" + rimraf "^2.6.3" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://repox.jfrog.io/repox/api/npm/npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegate@^3.1.2: + version "3.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY= + delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= depd@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= dependencies: inherits "^2.0.1" @@ -2826,27 +3069,27 @@ des.js@^1.0.0: destroy@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://repox.jfrog.io/repox/api/npm/npm/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= detect-libc@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= detect-newline@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= detect-node@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= detect-port-alt@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131" + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131" integrity sha1-pNLwYddXoDTs83xRQmCph1DysTE= dependencies: address "^1.0.1" @@ -2854,21 +3097,21 @@ detect-port-alt@1.1.3: detect-port-alt@1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.5.tgz#a1aa8fc805a4a5df9b905b7ddc7eed036bcce889" - integrity sha512-PlE9BuBz44BSDV8sJvfUxkGquPcDW4oHSYa5wY4yKj943C2I4xNU5Gd/EFroqdWNur7W6yU2zOLqvmKJCB//aA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/detect-port-alt/-/detect-port-alt-1.1.5.tgz#a1aa8fc805a4a5df9b905b7ddc7eed036bcce889" + integrity sha1-oaqPyAWkpd+bkFt93H7tA2vM6Ik= dependencies: address "^1.0.1" debug "^2.6.0" diff-sequences@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" - integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" + integrity sha1-DyDood8avdr02cImaAlS5kEYuXU= diffie-hellman@^5.0.0: version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -2876,39 +3119,39 @@ diffie-hellman@^5.0.0: dir-glob@^2.0.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= dependencies: path-type "^3.0.0" discontinuous-range@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo= dns-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= dependencies: ip "^1.1.0" safe-buffer "^5.0.1" dns-txt@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= dependencies: buffer-indexof "^1.0.0" doctrine@1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= dependencies: esutils "^2.0.2" @@ -2916,60 +3159,67 @@ doctrine@1.5.0: doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= dependencies: esutils "^2.0.2" dom-converter@^0.2: version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= dependencies: utila "~0.4" -dom-serializer@0, dom-serializer@~0.1.0: +"dom-helpers@^2.4.0 || ^3.0.0": + version "3.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha1-6bNpcA+Vn2Ls3lprq95LzNkWmvg= + dependencies: + "@babel/runtime" "^7.1.2" + +dom-serializer@0, dom-serializer@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha1-HsQFnihLq+027sKUHUqXChic58A= dependencies: domelementtype "^1.3.0" entities "^1.1.1" domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= domexception@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= dependencies: webidl-conversions "^4.0.2" domhandler@^2.3.0: version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= dependencies: domelementtype "1" domutils@1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= dependencies: dom-serializer "0" @@ -2992,13 +3242,13 @@ dot-prop@^4.1.1: duplexer@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -3007,7 +3257,7 @@ duplexify@^3.4.2, duplexify@^3.6.0: ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" @@ -3015,28 +3265,23 @@ ecc-jsbn@~0.1.1: ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= ejs@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" - integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== - -electron-to-chromium@^1.3.116: - version "1.3.119" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.119.tgz#9a7770da667252aeb81f667853f67c2b26e00197" - integrity sha512-3mtqcAWa4HgG+Djh/oNXlPH0cOH6MmtwxN1nHSaReb9P0Vn51qYPqYwLeoSuAX9loU1wrOBhFbiX3CkeIxPfgg== + version "2.6.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6" + integrity sha1-OjLGPRzRbREmbNRwOxT+xOdKtPY= -electron-to-chromium@^1.3.127: - version "1.3.133" - resolved "https://repox.jfrog.io/repox/api/npm/npm/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz#c47639c19b91feee3e22fad69f5556142007008c" - integrity sha1-xHY5wZuR/u4+IvrWn1VWFCAHAIw= +electron-to-chromium@^1.3.164: + version "1.3.187" + resolved "https://repox.jfrog.io/repox/api/npm/npm/electron-to-chromium/-/electron-to-chromium-1.3.187.tgz#fea64435f370892c0f27aded1bbdcb6f235c592b" + integrity sha1-/qZENfNwiSwPJ63tG73LbyNcWSs= elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== + version "6.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha1-K47UyJG33jIA4UQSpbgkjHr1Bco= dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -3048,30 +3293,37 @@ elliptic@^6.0.0: emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= emojis-list@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + resolved "https://repox.jfrog.io/repox/api/npm/npm/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://repox.jfrog.io/repox/api/npm/npm/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@^0.1.11: + version "0.1.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha1-7SljTRm6ukY7bOa4CjchPqtx7EM= dependencies: once "^1.4.0" enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha1-Qcfgv9/nSsH/4eV61qXGyfN0Kn8= dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -3079,26 +3331,29 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: entities@^1.1.1, entities@~1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= -enzyme-adapter-react-16@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.10.0.tgz#12e5b6f4be84f9a2ef374acc2555f829f351fc6e" - integrity sha512-0QqwEZcBv1xEEla+a3H7FMci+y4ybLia9cZzsdIrId7qcig4MK0kqqf6iiCILH1lsKS6c6AVqL3wGPhCevv5aQ== +enzyme-adapter-react-16@1.14.0: + version "1.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.14.0.tgz#204722b769172bcf096cb250d33e6795c1f1858f" + integrity sha1-IEcit2kXK88JbLJQ0z5nlcHxhY8= dependencies: - enzyme-adapter-utils "^1.10.0" + enzyme-adapter-utils "^1.12.0" + has "^1.0.3" object.assign "^4.1.0" object.values "^1.1.0" - prop-types "^15.6.2" - react-is "^16.7.0" + prop-types "^15.7.2" + react-is "^16.8.6" react-test-renderer "^16.0.0-0" + semver "^5.7.0" -enzyme-adapter-utils@^1.10.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.1.tgz#58264efa19a7befdbf964fb7981a108a5452ac96" - integrity sha512-oasinhhLoBuZsIkTe8mx0HiudtfErUtG0Ooe1FOplu/t4c9rOmyG5gtrBASK6u4whHIRWvv0cbZMElzNTR21SA== +enzyme-adapter-utils@^1.12.0: + version "1.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz#96e3730d76b872f593e54ce1c51fa3a451422d93" + integrity sha1-luNzDXa4cvWT5UzhxR+jpFFCLZM= dependencies: + airbnb-prop-types "^2.13.2" function.prototype.name "^1.1.0" object.assign "^4.1.0" object.fromentries "^2.0.0" @@ -3107,15 +3362,15 @@ enzyme-adapter-utils@^1.10.0: enzyme-to-json@3.3.5: version "3.3.5" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" - integrity sha512-DmH1wJ68HyPqKSYXdQqB33ZotwfUhwQZW3IGXaNXgR69Iodaoj8TF/D9RjLdz4pEhGq2Tx2zwNUIjBuqoZeTgA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" + integrity sha1-+OuCvT1ZQcnYvG/ZFAAwd30X0K8= dependencies: lodash "^4.17.4" -enzyme@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.9.0.tgz#2b491f06ca966eb56b6510068c7894a7e0be3909" - integrity sha512-JqxI2BRFHbmiP7/UFqvsjxTirWoM1HfeaJrmVSZ9a1EADKkZgdPcAuISPMpoUiHlac9J4dYt81MC5BBIrbJGMg== +enzyme@3.10.0: + version "3.10.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/enzyme/-/enzyme-3.10.0.tgz#7218e347c4a7746e133f8e964aada4a3523452f6" + integrity sha1-chjjR8SndG4TP46WSq2ko1I0UvY= dependencies: array.prototype.flat "^1.2.1" cheerio "^1.0.0-rc.2" @@ -3141,22 +3396,22 @@ enzyme@3.9.0: errno@^0.1.3, errno@~0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= dependencies: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= dependencies: is-arrayish "^0.2.1" -es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: +es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha1-rIYUX91QmdjdSVWMy6Lq+biOJOk= dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" @@ -3167,8 +3422,8 @@ es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5. es-to-primitive@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha1-7fckeAM0VujdqO8J4ArZZQcH83c= dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -3176,18 +3431,18 @@ es-to-primitive@^1.2.0: escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://repox.jfrog.io/repox/api/npm/npm/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.9.1: version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" + integrity sha1-xIX/jWtM24nif0qFbpHxGEAcpRA= dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -3196,47 +3451,48 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-sonarqube@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-sonarqube/-/eslint-config-sonarqube-0.3.0.tgz#b0b0d7ad1915575c7abceee34774e60a6e56a16a" - integrity sha512-lfLkMbrhdkSMtaWSaWoUuJEZjXtij3k2mUz9lNf+5bzxX/QcqeE4xyP7hPoljJzYCb19rN2SxWWDTfuYaZEN/Q== +eslint-config-sonarqube@0.5.0: + version "0.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-config-sonarqube/-/eslint-config-sonarqube-0.5.0.tgz#8b06475a46fe4a58c527894ab79e07acd8d8c345" + integrity sha1-iwZHWkb+SljFJ4lKt54HrNjYw0U= eslint-import-resolver-node@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha1-WPFfuDm40FdsqYBBNHaqskcttmo= dependencies: debug "^2.6.9" resolve "^1.5.0" -eslint-module-utils@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" - integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== +eslint-module-utils@^2.4.0: + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" + integrity sha1-i5NJnpsA6rgMy2YU5p8DZ46E4Jo= dependencies: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-import@2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== +eslint-plugin-import@2.18.0: + version "2.18.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678" + integrity sha1-eluo0yYi+zXrnI2xlcIJC9GKNng= dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" lodash "^4.17.11" minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" eslint-plugin-jsx-a11y@6.2.1: version "6.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" - integrity sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" + integrity sha1-Trup8zm2AP9BWuQWbj4uAIgxzww= dependencies: aria-query "^3.0.0" array-includes "^3.0.3" @@ -3247,51 +3503,58 @@ eslint-plugin-jsx-a11y@6.2.1: has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-promise@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" - integrity sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg== +eslint-plugin-promise@4.1.1: + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db" + integrity sha1-HgjLaLWyzYg5+NWGTHlvVtgnRts= -eslint-plugin-react@7.12.4: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== +eslint-plugin-react-hooks@1.6.1: + version "1.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" + integrity sha1-PGalUV6j4KIh/8XU51yXHCF7Gkw= + +eslint-plugin-react@7.14.2: + version "7.14.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react/-/eslint-plugin-react-7.14.2.tgz#94c193cc77a899ac0ecbb2766fbef88685b7ecc1" + integrity sha1-lMGTzHeomawOy7J2b774hoW37ME= dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" -eslint-plugin-sonarjs@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.3.0.tgz#e680438e816142c1a85d5ec4d0d36a12b1491459" - integrity sha512-75e/FgU04ySKVYsrMOioINMphJNtfXq/tJ6FOC/50H9osuM0E3pqAKckMja2zl+CHqhDroz0qJdcS3kFy5GYlQ== +eslint-plugin-sonarjs@0.4.0: + version "0.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.4.0.tgz#85b7dce10b9a464fb1062f0afc88694b6faaba84" + integrity sha1-hbfc4QuaRk+xBi8K/IhpS2+quoQ= eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" eslint-utils@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha1-moUbqJ7nxGA0b5fPiTnHKYgn5RI= eslint-visitor-keys@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha1-PzGA+y4pEBdxastMnW1bXDSmqB0= -eslint@5.15.3: - version "5.15.3" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ== +eslint@5.16.0: + version "5.16.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha1-oeOsGq5KP72Clvz496tzFMu2q+o= dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.9.1" @@ -3313,7 +3576,7 @@ eslint@5.15.3: import-fresh "^3.0.0" imurmurhash "^0.1.4" inquirer "^6.2.2" - js-yaml "^3.12.0" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" lodash "^4.17.11" @@ -3332,8 +3595,8 @@ eslint@5.15.3: espree@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o= dependencies: acorn "^6.0.7" acorn-jsx "^5.0.0" @@ -3341,84 +3604,84 @@ espree@^5.0.1: esprima@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + resolved "https://repox.jfrog.io/repox/api/npm/npm/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= esquery@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg= dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= dependencies: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://repox.jfrog.io/repox/api/npm/npm/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= eventemitter3@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== + version "3.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha1-LT1I+cNGaY/Og6hdfWZOmFNd9uc= events@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha1-mgoN+vYok9krh1uPJpjKQRSXPog= eventsource@0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= dependencies: original ">=0.0.5" eventsource@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= dependencies: original "^1.0.0" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" exec-sh@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" + integrity sha1-ZzjeLrfI5nHQNmrqCw24xvfXORs= execa@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -3428,14 +3691,19 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +exenv@^1.2.0: + version "1.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= + exit@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^2.1.4: version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" @@ -3448,69 +3716,69 @@ expand-brackets@^2.1.4: expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" -expect@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.5.0.tgz#492fb0df8378d8474cc84b827776b069f46294ed" - integrity sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw== +expect@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" + integrity sha1-Rx+Owla3thKcolJLKmLwMN84cY0= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" ansi-styles "^3.2.0" - jest-get-type "^24.3.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" + jest-get-type "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" jest-regex-util "^24.3.0" express@^4.16.2, express@^4.16.3: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + version "4.17.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= dependencies: - accepts "~1.3.5" + accepts "~1.3.7" array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" + body-parser "1.19.0" + content-disposition "0.5.3" content-type "~1.0.4" - cookie "0.3.1" + cookie "0.4.0" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.1.1" + finalhandler "~1.1.2" fresh "0.5.2" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" - parseurl "~1.3.2" + parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" @@ -3518,13 +3786,13 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: extend@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= external-editor@^2.0.4: version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha1-BFURz9jRM/OEZnPRBHwVTiFK09U= dependencies: chardet "^0.4.0" iconv-lite "^0.4.17" @@ -3532,8 +3800,8 @@ external-editor@^2.0.4: external-editor@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha1-WGbbKal4Jtvkvzr9JAcOrZ6kOic= dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -3541,8 +3809,8 @@ external-editor@^3.0.3: extglob@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -3555,95 +3823,100 @@ extglob@^2.0.4: extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= faye-websocket@^0.10.0: version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= dependencies: websocket-driver ">=0.5.1" faye-websocket@~0.11.0, faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= + version "0.11.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= dependencies: bser "^2.0.0" +fbjs@^0.8.9: + version "0.8.17" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + figgy-pudding@^3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A= figures@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://repox.jfrog.io/repox/api/npm/npm/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= dependencies: flat-cache "^2.0.1" -fileset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - filesize@3.5.10: version "3.5.10" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" integrity sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8= filesize@3.5.11: version "3.5.11" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" - integrity sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" + integrity sha1-GRkyZ0lDO7PPdzaL0VjKq8wZ6e4= filesize@^3.6.1: version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= fill-range@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" @@ -3651,23 +3924,23 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" + parseurl "~1.3.3" + statuses "~1.5.0" unpipe "~1.0.0" find-cache-dir@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= dependencies: commondir "^1.0.1" make-dir "^2.0.0" @@ -3675,66 +3948,66 @@ find-cache-dir@^2.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= dependencies: locate-path "^3.0.0" flat-cache@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= dependencies: flatted "^2.0.0" rimraf "2.6.3" write "1.0.3" flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg= flatten@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + resolved "https://repox.jfrog.io/repox/api/npm/npm/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= flush-write-stream@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= dependencies: inherits "^2.0.3" readable-stream "^2.3.6" follow-redirects@^1.0.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" + integrity sha1-SJ68GY3A5/ZBZ70jsDxMGbV4THY= dependencies: debug "^3.2.6" for-in@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://repox.jfrog.io/repox/api/npm/npm/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" @@ -3742,39 +4015,39 @@ form-data@~2.3.2: forwarded@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + resolved "https://repox.jfrog.io/repox/api/npm/npm/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= fragment-cache@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= from2@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= dependencies: inherits "^2.0.1" readable-stream "^2.0.0" fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + version "1.2.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha1-LFzDDe2BKCv+ig18fBhT3esQLAc= dependencies: minipass "^2.2.1" fs-write-stream-atomic@^1.0.8: version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= dependencies: graceful-fs "^4.1.2" @@ -3784,26 +4057,26 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== + version "1.2.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha1-P17WZYPM1vQAtaANtvfoYTY+OI8= dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + nan "^2.12.1" + node-pre-gyp "^0.12.0" function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= function.prototype.name@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" + integrity sha1-i9djzAr4YKhZzF1JOE10uTLNIyc= dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -3811,12 +4084,12 @@ function.prototype.name@^1.1.0: functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://repox.jfrog.io/repox/api/npm/npm/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gauge@~2.7.3: version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" @@ -3830,40 +4103,40 @@ gauge@~2.7.3: get-caller-file@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= get-stream@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= dependencies: pump "^3.0.0" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + resolved "https://repox.jfrog.io/repox/api/npm/npm/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" glob-parent@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha1-qmCKL2xXetNX4a5aXCbZqNGWklU= dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3874,8 +4147,8 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: global-modules@1.0.0, global-modules@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o= dependencies: global-prefix "^1.0.1" is-windows "^1.0.1" @@ -3883,7 +4156,7 @@ global-modules@1.0.0, global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + resolved "https://repox.jfrog.io/repox/api/npm/npm/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= dependencies: expand-tilde "^2.0.2" @@ -3893,13 +4166,13 @@ global-prefix@^1.0.1: which "^1.2.14" globals@^11.1.0, globals@^11.7.0: - version "11.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" - integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== + version "11.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= globby@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" @@ -3910,7 +4183,7 @@ globby@^6.1.0: globby@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + resolved "https://repox.jfrog.io/repox/api/npm/npm/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= dependencies: array-union "^1.0.1" @@ -3920,40 +4193,47 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" +good-listener@^1.2.2: + version "1.2.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + version "4.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha1-jY/cc5d8sEEEchy1NmbBymTNMos= growly@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + resolved "https://repox.jfrog.io/repox/api/npm/npm/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= gzip-size@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= dependencies: duplexer "^0.1.1" gzip-size@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" - integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== + version "5.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= dependencies: duplexer "^0.1.1" - pify "^3.0.0" + pify "^4.0.1" handle-thing@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" + integrity sha1-DgOWlf9QyT/CiFV9aW88HcZ3Z1Q= -handlebars@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.1.tgz#6e4e41c18ebe7719ae4d38e5aca3d32fa3dd23d3" - integrity sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA== +handlebars@^4.1.2: + version "4.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + integrity sha1-trN8HO0DBrIh4JT8eso+wjsTG2c= dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -3963,42 +4243,42 @@ handlebars@^4.1.0: har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://repox.jfrog.io/repox/api/npm/npm/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.0: version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= dependencies: ajv "^6.5.5" har-schema "^2.0.0" has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has-unicode@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has-value@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" @@ -4007,7 +4287,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" @@ -4016,12 +4296,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" @@ -4029,14 +4309,14 @@ has-values@^1.0.0: has@^1.0.0, has@^1.0.1, has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= dependencies: function-bind "^1.1.1" hash-base@^3.0.0: version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= dependencies: inherits "^2.0.1" @@ -4044,51 +4324,66 @@ hash-base@^3.0.0: hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.1" he@1.2.x: version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= hex-color-regex@^1.1.0: version "1.1.0" resolved "https://repox.jfrog.io/repox/api/npm/npm/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= +history@3.3.0, history@^3.0.0: + version "3.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/history/-/history-3.3.0.tgz#fcedcce8f12975371545d735461033579a6dae9c" + integrity sha1-/O3M6PEpdTcVRdc1RhAzV5ptrpw= + dependencies: + invariant "^2.2.1" + loose-envify "^1.2.0" + query-string "^4.2.2" + warning "^3.0.0" + hmac-drbg@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.5: + version "2.5.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" + integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= + homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg= dependencies: parse-passwd "^1.0.0" -hoopy@^0.1.2: +hoopy@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= hosted-git-info@^2.1.4: version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha1-l/I2l3vW4SVAiTD/bePuxigewEc= hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= dependencies: inherits "^2.0.1" @@ -4112,28 +4407,28 @@ html-comment-regex@^1.1.0: integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= html-element-map@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.0.tgz#19a41940225153ecdfead74f8509154ff1cdc18b" - integrity sha512-/SP6aOiM5Ai9zALvCxDubIeez0LvG3qP7R9GcRDnJEP/HBmv0A8A9K0o8+HFudcFt46+i921ANjzKsjPjb7Enw== + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592" + integrity sha1-PE/LSHTr3f5Cg7UciZTncTeCtZI= dependencies: array-filter "^1.0.0" html-encoding-sniffer@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= dependencies: whatwg-encoding "^1.0.1" html-entities@1.2.1, html-entities@^1.2.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= html-minifier@^3.2.3: version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= dependencies: camel-case "3.0.x" clean-css "4.2.x" @@ -4145,7 +4440,7 @@ html-minifier@^3.2.3: html-webpack-plugin@3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= dependencies: html-minifier "^3.2.3" @@ -4158,8 +4453,8 @@ html-webpack-plugin@3.2.0: htmlparser2@^3.3.0, htmlparser2@^3.9.1: version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= dependencies: domelementtype "^1.3.1" domhandler "^2.3.0" @@ -4170,12 +4465,23 @@ htmlparser2@^3.3.0, htmlparser2@^3.9.1: http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: +http-errors@1.7.2: + version "1.7.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" @@ -4183,15 +4489,26 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" - integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== +http-errors@~1.7.2: + version "1.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= http-proxy-middleware@^0.19.1: version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= dependencies: http-proxy "^1.17.0" is-glob "^4.0.0" @@ -4200,8 +4517,8 @@ http-proxy-middleware@^0.19.1: http-proxy@^1.17.0: version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + integrity sha1-etOElGWPhGBeL220Q230EPTlvpo= dependencies: eventemitter3 "^3.0.0" follow-redirects "^1.0.0" @@ -4209,7 +4526,7 @@ http-proxy@^1.17.0: http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" @@ -4218,65 +4535,58 @@ http-signature@~1.2.0: https-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= dependencies: safer-buffer ">= 2.1.2 < 3" icss-replace-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + resolved "https://repox.jfrog.io/repox/api/npm/npm/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^4.1.0: - version "4.1.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/icss-utils/-/icss-utils-4.1.0.tgz#339dbbffb9f8729a243b701e1c29d4cc58c52f0e" - integrity sha1-M527/7n4cpokO3AeHCnUzFjFLw4= + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= dependencies: postcss "^7.0.14" ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + version "1.1.13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= iferr@^0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + resolved "https://repox.jfrog.io/repox/api/npm/npm/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha1-qD5i59JyrA47VRqqgoMaGbafgvg= dependencies: minimatch "^3.0.4" ignore@^3.3.5: version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= import-cwd@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= dependencies: import-from "^2.1.0" @@ -4290,70 +4600,70 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg= dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-from@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" integrity sha1-M1238qev/VOqpHHUuAId7ja387E= dependencies: resolve-from "^3.0.0" import-local@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= dependencies: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://repox.jfrog.io/repox/api/npm/npm/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= inherits@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= +inherits@2.0.3: + version "2.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + ini@^1.3.4, ini@~1.3.0: version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= inquirer@3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175" - integrity sha512-QgW3eiPN8gpj/K5vVpHADJJgrrF0ho/dZGylikGX7iqAdRgC9FVKYKWFLx6hZDBFcOLEoSqINYrVPeFAeG/PdA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175" + integrity sha1-Bs6w9UD0XKVIwX1oQJWYeCZfoXU= dependencies: ansi-escapes "^2.0.0" chalk "^2.0.0" @@ -4372,8 +4682,8 @@ inquirer@3.2.1: inquirer@3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + integrity sha1-ndLyrXZdyrH/BEO0kUQqILoifck= dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" @@ -4391,9 +4701,9 @@ inquirer@3.3.0: through "^2.3.6" inquirer@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== + version "6.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/inquirer/-/inquirer-6.4.1.tgz#7bd9e5ab0567cd23b41b0180b68e0cfa82fc3c0b" + integrity sha1-e9nlqwVnzSO0GwGAto4M+oL8PAs= dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -4406,48 +4716,67 @@ inquirer@^6.2.2: run-async "^2.2.0" rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^5.0.0" + strip-ansi "^5.1.0" through "^2.3.6" internal-ip@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.2.0.tgz#46e81b638d84c338e5c67e42b1a17db67d0814fa" - integrity sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw== + version "4.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= dependencies: - default-gateway "^4.0.1" + default-gateway "^4.2.0" ipaddr.js "^1.9.0" -invariant@^2.2.2, invariant@^2.2.4: +intl-format-cache@^2.0.5: + version "2.2.9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-format-cache/-/intl-format-cache-2.2.9.tgz#fb560de20c549cda20b569cf1ffb6dc62b5b93b4" + integrity sha1-+1YN4gxUnNogtWnPH/ttxitbk7Q= + +intl-messageformat-parser@1.4.0: + version "1.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075" + integrity sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU= + +intl-messageformat@^2.0.0, intl-messageformat@^2.1.0: + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-messageformat/-/intl-messageformat-2.2.0.tgz#345bcd46de630b7683330c2e52177ff5eab484fc" + integrity sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw= + dependencies: + intl-messageformat-parser "1.4.0" + +intl-relativeformat@^2.1.0: + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz#6aca95d019ec8d30b6c5653b6629f9983ea5b6c5" + integrity sha1-asqV0BnsjTC2xWU7Zin5mD6ltsU= + dependencies: + intl-messageformat "^2.0.0" + +invariant@^2.1.1, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= dependencies: loose-envify "^1.0.0" invert-kv@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip@^1.1.0, ip@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= - -ipaddr.js@^1.9.0: +ipaddr.js@1.9.0, ipaddr.js@^1.9.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha1-N9905DCg5HVQ/lSi3v4w2KzZX2U= is-absolute-url@^2.0.0: version "2.1.0" @@ -4456,21 +4785,21 @@ is-absolute-url@^2.0.0: is-accessor-descriptor@^0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= dependencies: kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-arrayish@^0.3.1: @@ -4480,30 +4809,30 @@ is-arrayish@^0.3.1: is-binary-path@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" is-boolean-object@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" integrity sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M= is-buffer@^1.1.5: version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= is-callable@^1.1.3, is-callable@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU= is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= dependencies: ci-info "^2.0.0" @@ -4521,27 +4850,27 @@ is-color-stop@^1.0.0: is-data-descriptor@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-descriptor@^0.1.0: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -4549,8 +4878,8 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -4558,65 +4887,65 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= dependencies: is-plain-object "^2.0.4" is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-generator-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" - integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= is-glob@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + version "4.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= dependencies: is-extglob "^2.1.1" is-number-object@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" integrity sha1-8mWrian0RQNO9q/xWo8AsA9VF5k= is-number@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" @@ -4628,50 +4957,57 @@ is-obj@^1.0.0: is-path-cwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= is-path-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.0.0.tgz#d4777a8e227a00096a31f030db3770f84b116c02" - integrity sha512-m5dHHzpOXEiv18JEORttBO64UgTEypx99vCxQLjbBvGhOJxnTNglYoFXxwo6AbsQb79sqqycQEHv2hWkHZAijA== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c" + integrity sha1-Lgx+Rj/1t6DrYIUthRpoCTR6Ekw= is-path-in-cwd@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= dependencies: is-path-inside "^1.0.0" is-path-in-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.0.0.tgz#68e452a6eec260500cec21e029c0a44cc0dcd2ea" - integrity sha512-6Vz5Gc9s/sDA3JBVu0FzWufm8xaBsqy1zn8Q6gmvGP6nSDMw78aS4poBNeatWjaRpTpxxLn1WOndAiOlk+qY8A== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= dependencies: - is-path-inside "^1.0.0" + is-path-inside "^2.1.0" is-path-inside@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= dependencies: path-is-inside "^1.0.1" -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= dependencies: isobject "^3.0.1" is-promise@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= is-regex@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" @@ -4683,22 +5019,22 @@ is-resolvable@^1.0.0: is-root@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" integrity sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU= -is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-string@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ= is-subset@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= is-svg@^3.0.0: @@ -4710,384 +5046,371 @@ is-svg@^3.0.0: is-symbol@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg= dependencies: has-symbols "^1.0.0" is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= is-wsl@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-api@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.1.tgz#194b773f6d9cbc99a9258446848b0f988951c4d0" - integrity sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw== - dependencies: - async "^2.6.1" - compare-versions "^3.2.1" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.3" - istanbul-lib-hook "^2.0.3" - istanbul-lib-instrument "^3.1.0" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.2" - istanbul-reports "^2.1.1" - js-yaml "^3.12.0" - make-dir "^1.3.0" - minimatch "^3.0.4" - once "^1.4.0" - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" - integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== - -istanbul-lib-hook@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" - integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== - dependencies: - append-transform "^1.0.0" +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= -istanbul-lib-instrument@^3.0.0, istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" - integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= dependencies: - "@babel/generator" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - istanbul-lib-coverage "^2.0.3" - semver "^5.5.0" + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" istanbul-lib-report@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" - integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== + version "2.0.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= dependencies: - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - supports-color "^6.0.0" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" -istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" - integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= dependencies: debug "^4.1.1" - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - rimraf "^2.6.2" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" source-map "^0.6.1" istanbul-reports@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.1.tgz#72ef16b4ecb9a4a7bd0e2001e00f95d1eec8afa9" - integrity sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw== + version "2.2.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha1-e08mYNgrKTA6j+YJH4ykvwWNoa8= dependencies: - handlebars "^4.1.0" + handlebars "^4.1.2" -jest-changed-files@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.5.0.tgz#4075269ee115d87194fd5822e642af22133cf705" - integrity sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg== +jest-changed-files@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" + integrity sha1-fn6yHPaHWHqF5Q89JJ0TJ+FbFXs= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.5.0.tgz#598139d3446d1942fb7dc93944b9ba766d756d4b" - integrity sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g== +jest-cli@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" + integrity sha1-sHWskUSS7RFPozit5zYqMBaT6Yk= dependencies: - "@jest/core" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/core" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" - jest-config "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-config "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" prompts "^2.0.1" realpath-native "^1.1.0" yargs "^12.0.2" -jest-config@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.5.0.tgz#404d1bc6bb81aed6bd1890d07e2dca9fbba2e121" - integrity sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ== +jest-config@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" + integrity sha1-d9s9JlpvcmKUaHy7zMNvinbuD08= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" - babel-jest "^24.5.0" + "@jest/test-sequencer" "^24.8.0" + "@jest/types" "^24.8.0" + babel-jest "^24.8.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.5.0" - jest-environment-node "^24.5.0" - jest-get-type "^24.3.0" - jest-jasmine2 "^24.5.0" + jest-environment-jsdom "^24.8.0" + jest-environment-node "^24.8.0" + jest-get-type "^24.8.0" + jest-jasmine2 "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" micromatch "^3.1.10" - pretty-format "^24.5.0" + pretty-format "^24.8.0" realpath-native "^1.1.0" -jest-diff@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.5.0.tgz#a2d8627964bb06a91893c0fbcb28ab228c257652" - integrity sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw== +jest-diff@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" + integrity sha1-FGQ159Hj/98pPVP/l+GT8dFUYXI= dependencies: chalk "^2.0.1" diff-sequences "^24.3.0" - jest-get-type "^24.3.0" - pretty-format "^24.5.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" jest-docblock@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" + integrity sha1-ucMtrHD3LkRkUg0rpK7AKrFNtd0= dependencies: detect-newline "^2.1.0" -jest-each@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.5.0.tgz#da14d017a1b7d0f01fb458d338314cafe7f72318" - integrity sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw== +jest-each@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" + integrity sha1-oF/Sv5TdwLHaZsbRPsJFfzXlJ3U= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" - jest-get-type "^24.3.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" - -jest-environment-jsdom@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz#1c3143063e1374100f8c2723a8b6aad23b6db7eb" - integrity sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ== - dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + jest-get-type "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" + +jest-environment-jsdom@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" + integrity sha1-MA9pSaFGyr4ck1etnp7Pn0PziFc= + dependencies: + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" jsdom "^11.5.1" -jest-environment-node@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.5.0.tgz#763eebdf529f75b60aa600c6cf8cb09873caa6ab" - integrity sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw== +jest-environment-node@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" + integrity sha1-0/cmuovFMIemDnqEygiIOkyJIjE= dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" -jest-get-type@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.3.0.tgz#582cfd1a4f91b5cdad1d43d2932f816d543c65da" - integrity sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow== +jest-get-type@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" + integrity sha1-p0QN4wtlH1pw6j7X/wc6Mt/mRvw= -jest-haste-map@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.5.0.tgz#3f17d0c548b99c0c96ed2893f9c0ccecb2eb9066" - integrity sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ== +jest-haste-map@^24.8.0: + version "24.8.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" + integrity sha1-85zB0rHZB+AUFltL1alXr8uZKYI= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" + anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" jest-serializer "^24.4.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" micromatch "^3.1.10" sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" -jest-jasmine2@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz#e6af4d7f73dc527d007cca5a5b177c0bcc29d111" - integrity sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw== +jest-jasmine2@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" + integrity sha1-qcfhTIPdd9ixXoIFSc6Jh8yM2Jg= dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.5.0" + expect "^24.8.0" is-generator-fn "^2.0.0" - jest-each "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" + jest-each "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" throat "^4.0.0" -jest-leak-detector@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz#21ae2b3b0da252c1171cd494f75696d65fb6fa89" - integrity sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ== +jest-leak-detector@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" + integrity sha1-wAhjhOH2UMLYNICV33afKbSOaYA= dependencies: - pretty-format "^24.5.0" + pretty-format "^24.8.0" -jest-matcher-utils@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz#5995549dcf09fa94406e89526e877b094dad8770" - integrity sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q== +jest-matcher-utils@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" + integrity sha1-K85CIEya8SveRvg9yDnv6L6DJJU= dependencies: chalk "^2.0.1" - jest-diff "^24.5.0" - jest-get-type "^24.3.0" - pretty-format "^24.5.0" + jest-diff "^24.8.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" -jest-message-util@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.5.0.tgz#181420a65a7ef2e8b5c2f8e14882c453c6d41d07" - integrity sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ== +jest-message-util@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" + integrity sha1-DWiR5ypL6swCkrY4aF30LijWIYs= dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.5.0.tgz#976912c99a93f2a1c67497a9414aa4d9da4c7b76" - integrity sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw== +jest-mock@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" + integrity sha1-L50U03aZ6GPx/r9OTVozt/273lY= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" jest-pnp-resolver@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha1-7NrmBMB3p/vHDe+21RfDwciYkjo= jest-regex-util@^24.3.0: version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" + integrity sha1-1aZfYL4a4+MQ1SFKAwdYGZUiezY= -jest-resolve-dependencies@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz#1a0dae9cdd41349ca4a84148b3e78da2ba33fd4b" - integrity sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ== +jest-resolve-dependencies@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" + integrity sha1-Ge7DJB8gRdP5kNujMdDXUmrP+OA= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" jest-regex-util "^24.3.0" - jest-snapshot "^24.5.0" + jest-snapshot "^24.8.0" -jest-resolve@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.5.0.tgz#8c16ba08f60a1616c3b1cd7afb24574f50a24d04" - integrity sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew== +jest-resolve@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" + integrity sha1-hLjlQIwfahFTl5Pitf6xtuciQ58= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.5.0.tgz#9be26ece4fd4ab3dfb528b887523144b7c5ffca8" - integrity sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA== +jest-runner@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" + integrity sha1-T5rge3Z9snt0DX3v+tDPZ8y0xbs= dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.5.0" + jest-config "^24.8.0" jest-docblock "^24.3.0" - jest-haste-map "^24.5.0" - jest-jasmine2 "^24.5.0" - jest-leak-detector "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-haste-map "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-leak-detector "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.5.0.tgz#3a76e0bfef4db3896d5116e9e518be47ba771aa2" - integrity sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw== +jest-runtime@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" + integrity sha1-BflNWwXCH23FTkJ80uSYCSM1BiA= dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" "@types/yargs" "^12.0.2" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" @@ -5095,38 +5418,37 @@ jest-runtime@^24.5.0: jest-serializer@^24.4.0: version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" - integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" + integrity sha1-9wxZGMjqkjXMsSdtIy5FkIBYjbM= -jest-snapshot@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.5.0.tgz#e5d224468a759fd19e36f01217aac912f500f779" - integrity sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA== +jest-snapshot@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" + integrity sha1-O+xqWdov97x9CXqFP7Z/nUFct8Y= dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" chalk "^2.0.1" - expect "^24.5.0" - jest-diff "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" + expect "^24.8.0" + jest-diff "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.5.0" + pretty-format "^24.8.0" semver "^5.5.0" -jest-util@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.5.0.tgz#9d9cb06d9dcccc8e7cc76df91b1635025d7baa84" - integrity sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q== +jest-util@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" + integrity sha1-QfDpRdoR30TMdtZP+5FdBxb0bNE= dependencies: - "@jest/console" "^24.3.0" - "@jest/fake-timers" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.8.0" "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" @@ -5135,71 +5457,61 @@ jest-util@^24.5.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.5.0.tgz#62fd93d81214c070bb2d7a55f329a79d8057c7de" - integrity sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ== +jest-validate@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" + integrity sha1-YkxBUz5t/jVv+txuJCOjXC07SEk= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" camelcase "^5.0.0" chalk "^2.0.1" - jest-get-type "^24.3.0" + jest-get-type "^24.8.0" leven "^2.1.0" - pretty-format "^24.5.0" + pretty-format "^24.8.0" -jest-watcher@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.5.0.tgz#da7bd9cb5967e274889b42078c8f501ae1c47761" - integrity sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA== +jest-watcher@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" + integrity sha1-WNSZFc7d0t6F4jj2ITzvHJNxXeQ= dependencies: - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" "@types/yargs" "^12.0.9" ansi-escapes "^3.0.0" chalk "^2.0.1" - jest-util "^24.5.0" + jest-util "^24.8.0" string-length "^2.0.0" -jest-worker@^24.4.0: - version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.4.0.tgz#fbc452b0120bb5c2a70cdc88fa132b48eeb11dd0" - integrity sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ== +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha1-f4HOrjS3zeDJgnppgMNbfNwBYbM= dependencies: - "@types/node" "*" merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.5.0.tgz#38f11ae2c2baa2f86c2bc4d8a91d2b51612cd19a" - integrity sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ== +jest@24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha1-1d/xmE0NEAIZbpt/Evda8bKAkIE= dependencies: import-local "^2.0.0" - jest-cli "^24.5.0" + jest-cli "^24.8.0" js-levenshtein@^1.1.3: version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0= js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.12.0, js-yaml@^3.9.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" - integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.13.1" @@ -5211,13 +5523,13 @@ js-yaml@^3.13.0, js-yaml@^3.13.1: jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^11.5.1: version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= dependencies: abab "^2.0.0" acorn "^5.5.3" @@ -5248,71 +5560,71 @@ jsdom@^11.5.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= + version "3.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= json5@2.x, json5@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha1-56DGLEgoXGKNIKELhcibuAfDKFA= dependencies: minimist "^1.2.0" json5@^0.5.0: version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + resolved "https://repox.jfrog.io/repox/api/npm/npm/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= json5@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= dependencies: minimist "^1.2.0" jsonify@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsprim@^1.2.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" @@ -5320,67 +5632,68 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= +jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0: + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha1-TUlz6/i50oN+6RqCCMxm86J3bPs= dependencies: array-includes "^3.0.3" + object.assign "^4.1.0" killable@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= kleur@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.2.tgz#83c7ec858a41098b613d5998a7b653962b504f68" - integrity sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q== + version "3.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= lcid@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= dependencies: invert-kv "^2.0.0" left-pad@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= leven@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + resolved "https://repox.jfrog.io/repox/api/npm/npm/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= levn@^0.3.0, levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://repox.jfrog.io/repox/api/npm/npm/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" @@ -5388,7 +5701,7 @@ levn@^0.3.0, levn@~0.3.0: load-json-file@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: graceful-fs "^4.1.2" @@ -5398,7 +5711,7 @@ load-json-file@^2.0.0: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" @@ -5408,12 +5721,12 @@ load-json-file@^4.0.0: loader-runner@^2.3.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= loader-utils@^0.2.16: version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= dependencies: big.js "^3.1.3" @@ -5423,8 +5736,8 @@ loader-utils@^0.2.16: loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= dependencies: big.js "^5.2.2" emojis-list "^2.0.0" @@ -5432,7 +5745,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" @@ -5440,25 +5753,25 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= dependencies: p-locate "^3.0.0" path-exists "^3.0.0" lodash.escape@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash.memoize@^4.1.2: @@ -5468,12 +5781,12 @@ lodash.memoize@^4.1.2: lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= lodash.unescape@4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= lodash.uniq@^4.5.0: @@ -5483,96 +5796,89 @@ lodash.uniq@^4.5.0: lodash@4.17.11, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0: version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha1-s56mIp72B+zYniyN8SU2iRysm40= loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po= + version "1.6.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + integrity sha1-d/LrZL5VpATJ/QStFtV8HW1rEoA= -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= dependencies: js-tokens "^3.0.0 || ^4.0.0" lower-case@^1.1.1: version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + resolved "https://repox.jfrog.io/repox/api/npm/npm/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= dependencies: pseudomap "^1.0.2" yallist "^2.1.2" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= dependencies: yallist "^3.0.2" -make-dir@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= dependencies: pify "^4.0.1" semver "^5.6.0" make-error@1.x: version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha1-7+ToH22yjK3WBccPKcgxtY73dsg= makeerror@1.0.x: version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= dependencies: tmpl "1.0.x" mamacro@^0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= map-age-cleaner@^0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= dependencies: p-defer "^1.0.0" map-cache@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" md5.js@^1.3.4: version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -5585,13 +5891,13 @@ mdn-data@~1.1.0: media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://repox.jfrog.io/repox/api/npm/npm/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" - integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== + version "4.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" @@ -5599,7 +5905,7 @@ mem@^4.0.0: memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + resolved "https://repox.jfrog.io/repox/api/npm/npm/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" @@ -5607,25 +5913,25 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://repox.jfrog.io/repox/api/npm/npm/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= merge-stream@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= dependencies: readable-stream "^2.0.1" methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://repox.jfrog.io/repox/api/npm/npm/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -5643,102 +5949,102 @@ micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: miller-rabin@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= dependencies: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.38.0 < 2", mime-db@~1.38.0: - version "1.38.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" - integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== +mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": + version "1.40.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI= -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: - version "2.1.22" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" - integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.24" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha1-tvjQs+lR77d97eyhlM/20W9nb4E= dependencies: - mime-db "~1.38.0" + mime-db "1.40.0" -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mime@1.6.0: + version "1.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= -mime@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" - integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== +mime@^2.4.2: + version "2.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U= mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= mimic-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" - integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" integrity sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q= dependencies: brace-expansion "^1.0.0" -minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@~0.0.1: version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.4: +minipass@^2.2.1, minipass@^2.3.5: version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha1-ys6+SSAiSX9law8PUeJoKp7S2Eg= dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1: +minizlib@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha1-3SfqYTYkPHyIBoToZyuzpF/ZthQ= dependencies: minipass "^2.2.1" mississippi@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -5752,28 +6058,28 @@ mississippi@^3.0.0: through2 "^2.0.0" mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= dependencies: for-in "^1.0.2" is-extendable "^1.0.1" mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" moo@^0.4.3: version "0.4.3" - resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" - integrity sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" + integrity sha1-P4R6JvMc9iWpVqh/KxD7wBO/0Q4= move-concurrently@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + resolved "https://repox.jfrog.io/repox/api/npm/npm/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= dependencies: aproba "^1.1.1" @@ -5785,41 +6091,46 @@ move-concurrently@^1.0.1: ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@^2.1.1: + version "2.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= multicast-dns-service-types@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + resolved "https://repox.jfrog.io/repox/api/npm/npm/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= multicast-dns@^6.0.1: version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= dependencies: dns-packet "^1.3.1" thunky "^1.0.2" mute-stream@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.9.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" - integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== +nan@^2.12.1: + version "2.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw= nanomatch@^1.2.9: version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -5835,13 +6146,13 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= nearley@^2.7.10: version "2.16.0" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" - integrity sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" + integrity sha1-d8KX0EGUHSaCkOyEtznQ7il+g6c= dependencies: commander "^2.19.0" moo "^0.4.3" @@ -5850,50 +6161,58 @@ nearley@^2.7.10: semver "^5.4.1" needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" + integrity sha1-aDPnSXXERGQlkOFadQKIxfk5tXw= dependencies: - debug "^2.1.2" + debug "^3.2.6" iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= +negotiator@0.6.2: + version "0.6.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= neo-async@^2.5.0, neo-async@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== + version "2.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw= nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= no-case@^2.2.0: version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= dependencies: lower-case "^1.1.1" +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@0.7.5: version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" + integrity sha1-bBUsNFzhHFL0ZcKr2VfoY5zWdN8= node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= node-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -5905,7 +6224,7 @@ node-libs-browser@^2.0.0: events "^3.0.0" https-browserify "^1.0.0" os-browserify "^0.3.0" - path-browserify "0.0.0" + path-browserify "0.0.1" process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" @@ -5917,17 +6236,17 @@ node-libs-browser@^2.0.0: tty-browserify "0.0.0" url "^0.11.0" util "^0.11.0" - vm-browserify "0.0.4" + vm-browserify "^1.0.1" node-modules-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.2.1: version "5.4.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" - integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" + integrity sha1-e0Vf3On33gxjU4KXNU89tGhCbmo= dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -5935,10 +6254,10 @@ node-notifier@^5.2.1: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha1-ObpLsUOdoDApX4meO1ILd4V2YUk= dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -5951,23 +6270,16 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.11.tgz#9a0841a4b0d92b7d5141ed179e764f42ad22724a" - integrity sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.17: - version "1.1.18" - resolved "https://repox.jfrog.io/repox/api/npm/npm/node-releases/-/node-releases-1.1.18.tgz#cc98fd75598a324a77188ebddf6650e9cbd8b1d5" - integrity sha1-zJj9dVmKMkp3GI6932ZQ6cvYsdU= +node-releases@^1.1.23: + version "1.1.25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" + integrity sha1-DC19vH/tMPvgKp7jAHuMkL8BM9M= dependencies: semver "^5.3.0" nopt@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= dependencies: abbrev "1" @@ -5975,8 +6287,8 @@ nopt@^4.0.1: normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" @@ -5985,19 +6297,19 @@ normalize-package-data@^2.3.2: normalize-path@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://repox.jfrog.io/repox/api/npm/npm/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= normalize-url@^3.0.0: @@ -6007,28 +6319,28 @@ normalize-url@^3.0.0: npm-bundled@^1.0.1: version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" + integrity sha1-57qarc75YrthJI+RchzZMrP+a90= npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== + version "1.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha1-hmIkIzhQrFNLY9Gm52BQCStdL0Q= dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" npmlog@^4.0.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -6044,32 +6356,32 @@ nth-check@^1.0.2, nth-check@~1.0.1: num2fraction@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + resolved "https://repox.jfrog.io/repox/api/npm/npm/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nwsapi@^2.0.7: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.1.tgz#08d6d75e69fd791bdea31507ffafe8c843b67e9c" - integrity sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg== + version "2.1.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" + integrity sha1-4AaoeNsjY2+OimfTPKDk7fYahC8= oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" @@ -6078,40 +6390,40 @@ object-copy@^0.1.0: object-inspect@^1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha1-xwtsv3LydKq0w0wMgvUWe/gs8Vs= object-is@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= object-keys@^1.0.11, object-keys@^1.0.12: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032" - integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg== + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= object-visit@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.assign@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= dependencies: define-properties "^1.1.2" function-bind "^1.1.1" has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.0.4: +object.entries@^1.0.4, object.entries@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk= dependencies: define-properties "^1.1.3" es-abstract "^1.12.0" @@ -6120,8 +6432,8 @@ object.entries@^1.0.4: object.fromentries@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" + integrity sha1-SaVD2SFR+Cd7OslgDx6TCxidMKs= dependencies: define-properties "^1.1.2" es-abstract "^1.11.0" @@ -6130,7 +6442,7 @@ object.fromentries@^2.0.0: object.getownpropertydescriptors@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" @@ -6138,15 +6450,15 @@ object.getownpropertydescriptors@^2.0.3: object.pick@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" object.values@^1.0.4, object.values@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha1-v2gQ712j5TJXkOqqK+IT6oRiTak= dependencies: define-properties "^1.1.3" es-abstract "^1.12.0" @@ -6155,64 +6467,64 @@ object.values@^1.0.4, object.values@^1.1.0: obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://repox.jfrog.io/repox/api/npm/npm/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" opener@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0= opn@5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" - integrity sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + integrity sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk= dependencies: is-wsl "^1.1.0" opn@5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" - integrity sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225" + integrity sha1-cf35NNaCfWds7L6hUx+V01RkEiU= dependencies: is-wsl "^1.1.0" opn@^5.1.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= dependencies: is-wsl "^1.1.0" optimist@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + resolved "https://repox.jfrog.io/repox/api/npm/npm/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" @@ -6220,7 +6532,7 @@ optimist@^0.6.1: optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" @@ -6232,25 +6544,25 @@ optionator@^0.8.1, optionator@^0.8.2: original@>=0.0.5, original@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= dependencies: url-parse "^1.4.3" os-browserify@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-homedir@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-locale@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= dependencies: execa "^1.0.0" lcid "^2.0.0" @@ -6258,100 +6570,100 @@ os-locale@^3.0.0: os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://repox.jfrog.io/repox/api/npm/npm/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" p-defer@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-each-series@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= dependencies: p-reduce "^1.0.0" p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" - integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= dependencies: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha1-QXyZQeYCepq8ulCS3SkE4lW1+8I= dependencies: p-try "^2.0.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= dependencies: p-limit "^2.0.0" p-map@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= p-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" - integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= p-reduce@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= p-try@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" - integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== + version "2.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= pako@~1.0.5: version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha1-Qyi621CGpCaqkPVBl31JVdpclzI= parallel-transform@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= dependencies: cyclist "~0.2.2" @@ -6360,22 +6672,22 @@ parallel-transform@^1.1.0: param-case@2.1.x: version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + resolved "https://repox.jfrog.io/repox/api/npm/npm/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: no-case "^2.2.0" parent-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" - integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= dependencies: callsites "^3.0.0" parse-asn1@^5.0.0: version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha1-N/Zij4I/vesic7TVQENKIvPvH8w= dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -6386,14 +6698,14 @@ parse-asn1@^5.0.0: parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" @@ -6401,89 +6713,89 @@ parse-json@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse5@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= parse5@^3.0.1: version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + integrity sha1-BC95L/3TaFFVHPTp4Gazh0q0W1w= dependencies: "@types/node" "*" -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= pascalcase@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= +path-browserify@0.0.1: + version "0.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= path-dirname@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: pify "^2.0.0" path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= dependencies: pify "^3.0.0" pbkdf2@^3.0.3: version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha1-l2wgZTBhexTrsyEUI597CTNuk6Y= dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -6493,66 +6805,66 @@ pbkdf2@^3.0.3: performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= pify@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pirates@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= dependencies: node-modules-regexp "^1.0.0" pkg-dir@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" pkg-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= dependencies: find-up "^3.0.0" pn@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= portfinder@^1.0.9: version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" + integrity sha1-vqaGMuVLLhOrewxHdem0G/Jw5Eo= dependencies: async "^1.5.2" debug "^2.2.0" @@ -6560,7 +6872,7 @@ portfinder@^1.0.9: posix-character-classes@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + resolved "https://repox.jfrog.io/repox/api/npm/npm/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@7.0.1, postcss-calc@^7.0.1: @@ -6629,17 +6941,17 @@ postcss-discard-overridden@^4.0.1: postcss "^7.0.0" postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= dependencies: - cosmiconfig "^4.0.0" + cosmiconfig "^5.0.0" import-cwd "^2.0.0" postcss-loader@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= dependencies: loader-utils "^1.1.0" postcss "^7.0.0" @@ -6861,8 +7173,8 @@ postcss-selector-parser@^3.0.0: postcss-selector-parser@^5.0.0-rc.4: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= dependencies: cssesc "^2.0.0" indexes-of "^1.0.1" @@ -6898,8 +7210,8 @@ postcss-unique-selectors@^4.0.1: postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= postcss-values-parser@^2.0.1: version "2.0.1" @@ -6910,19 +7222,10 @@ postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.5: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.1, postcss@^7.0.6: - version "7.0.16" - resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss/-/postcss-7.0.16.tgz#48f64f1b4b558cb8b52c88987724359acb010da2" - integrity sha1-SPZPG0tVjLi1LIiYdyQ1mssBDaI= +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.17" + resolved "https://repox.jfrog.io/repox/api/npm/npm/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha1-TaG9/1Mi1KCsqrTYfz54JDa60x8= dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -6930,101 +7233,117 @@ postcss@^7.0.1, postcss@^7.0.6: prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prettier@1.16.4: version "1.16.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" - integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" + integrity sha1-c+N+c+AYrS25x2dC4mR+IXkMlxc= pretty-error@^2.0.2: version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= dependencies: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.5.0: - version "24.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.5.0.tgz#cc69a0281a62cd7242633fc135d6930cd889822d" - integrity sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ== +pretty-format@^24.8.0: + version "24.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" + integrity sha1-ja5wRPWNt8uL4kU4O1Zalj48J/I= dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.8.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" private@^0.1.6: version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= process@^0.11.10: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://repox.jfrog.io/repox/api/npm/npm/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= progress@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise@^7.1.1: + version "7.3.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= + dependencies: + asap "~2.0.3" + prompts@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.4.tgz#179f9d4db3128b9933aa35f93a800d8fce76a682" - integrity sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA== + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" + integrity sha1-v5C8cfYGXSVeor3A/mUgSFwbRds= dependencies: kleur "^3.0.2" sisteransi "^1.0.0" -prop-types@^15.6.2, prop-types@^15.7.2: +prop-types-exact@^1.2.0: + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869" + integrity sha1-gl1r5GCUZjhII345JamMbpROmGk= + dependencies: + has "^1.0.3" + object.assign "^4.1.0" + reflect.ownkeys "^0.2.0" + +prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" react-is "^16.8.1" -proxy-addr@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== +proxy-addr@~2.0.5: + version "2.0.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha1-NMvWSi2B9LH9IedvnwbIpFKZ7jQ= dependencies: forwarded "~0.1.2" - ipaddr.js "1.8.0" + ipaddr.js "1.9.0" prr@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + resolved "https://repox.jfrog.io/repox/api/npm/npm/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha1-3xK1sbOjD1HDKerL3vmPOm4TbcY= public-encrypt@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -7035,24 +7354,24 @@ public-encrypt@^4.0.0: pump@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pump@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pumpify@^1.3.3: version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= dependencies: duplexify "^3.6.0" inherits "^2.0.3" @@ -7060,98 +7379,111 @@ pumpify@^1.3.3: punycode@1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= q@^1.1.2: version "1.5.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.5.2, qs@~6.5.2: +qs@6.7.0: + version "6.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^4.2.2: + version "4.3.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" querystring-es3@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystringify@^2.0.0: +querystringify@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4= raf@^3.4.0: version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= dependencies: performance-now "^2.1.0" railroad-diagrams@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= randexp@0.4.6: version "0.4.6" - resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" - integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" + integrity sha1-6YatXl4x2uE93W97MBmqfIf2DKM= dependencies: discontinuous-range "1.0.0" ret "~0.1.10" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= -raw-body@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== +raw-body@2.4.0: + version "2.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" unpipe "1.0.0" rc@^1.2.7: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= dependencies: deep-extend "^0.6.0" ini "~1.3.0" @@ -7160,8 +7492,8 @@ rc@^1.2.7: react-dev-utils@5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-5.0.0.tgz#425ac7c9c40c2603bc4f7ab8836c1406e96bb473" - integrity sha512-j+Rmwct2aOGAbIk046PjBpQ5zxaLtSlTFwyt3yhVfpQgieqyQbtFwATKY4HSB3j+hSQ4UEBBxwjxjSJiGCP+ow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-dev-utils/-/react-dev-utils-5.0.0.tgz#425ac7c9c40c2603bc4f7ab8836c1406e96bb473" + integrity sha1-QlrHycQMJgO8T3q4g2wUBulrtHM= dependencies: address "1.0.3" babel-code-frame "6.26.0" @@ -7184,8 +7516,8 @@ react-dev-utils@5.0.0: react-dev-utils@^3.0.0: version "3.1.3" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-3.1.3.tgz#3883b15892213f7852a279128e0469a785608e8e" - integrity sha512-ycJvru3DaeJiCyHyHJiqp2FOBTY1PeLdWnptskgx5GiavgsvKyRYpJfrxCm3X9qMDJJmyP/+qyvCrBAsHUBfZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-dev-utils/-/react-dev-utils-3.1.3.tgz#3883b15892213f7852a279128e0469a785608e8e" + integrity sha1-OIOxWJIhP3hSonkSjgRpp4Vgjo4= dependencies: address "1.0.2" anser "1.4.1" @@ -7207,19 +7539,27 @@ react-dev-utils@^3.0.0: strip-ansi "3.0.1" text-table "0.2.0" -react-dom@16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.5.tgz#b3e37d152b49e07faaa8de41fdf562be3463335e" - integrity sha512-VIEIvZLpFafsfu4kgmftP5L8j7P1f0YThfVTrANMhZUFMDOsA6e0kfR6wxw/8xxKs4NB59TZYbxNdPCDW34x4w== +react-dom@16.8.6: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" + integrity sha1-cdYwP2MeiwCX9WFl72CPBR/24Q8= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.5" + scheduler "^0.13.6" + +react-draggable@3.2.1: + version "3.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-draggable/-/react-draggable-3.2.1.tgz#45d09a9a227988dc85674b23ab3c75b6e820dae5" + integrity sha1-RdCamiJ5iNyFZ0sjqzx1tugg2uU= + dependencies: + classnames "^2.2.5" + prop-types "^15.6.0" react-error-overlay@1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-1.0.7.tgz#8712fe40cfc194ce992a4136c091c03bfada9148" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-error-overlay/-/react-error-overlay-1.0.7.tgz#8712fe40cfc194ce992a4136c091c03bfada9148" integrity sha1-hxL+QM/BlM6ZKkE2wJHAO/rakUg= dependencies: anser "1.2.5" @@ -7231,37 +7571,98 @@ react-error-overlay@1.0.7: react-error-overlay@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.1.tgz#417addb0814a90f3a7082eacba7cee588d00da89" - integrity sha512-xXUbDAZkU08aAkjtUvldqbvI04ogv+a1XdHxvYuHPYKIVk/42BIOD0zSKTHAWV4+gDy3yGm283z2072rA2gdtw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-error-overlay/-/react-error-overlay-4.0.1.tgz#417addb0814a90f3a7082eacba7cee588d00da89" + integrity sha1-QXrdsIFKkPOnCC6sunzuWI0A2ok= + +react-intl@2.8.0: + version "2.8.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-intl/-/react-intl-2.8.0.tgz#20b0c1f01d1292427768aa8ec9e51ab7e36503ba" + integrity sha1-ILDB8B0SkkJ3aKqOyeUat+NlA7o= + dependencies: + hoist-non-react-statics "^2.5.5" + intl-format-cache "^2.0.5" + intl-messageformat "^2.1.0" + intl-relativeformat "^2.1.0" + invariant "^2.1.1" + +react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.5, react-is@^16.8.6: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" + integrity sha1-W7weLSkUHJ+9/tRWND/ivEMKahY= + +react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= -react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.5.tgz#c54ac229dd66b5afe0de5acbe47647c3da692ff8" - integrity sha512-sudt2uq5P/2TznPV4Wtdi+Lnq3yaYW8LfvPKLM9BKD8jJNBkxMVyB0C9/GmVhLw7Jbdmndk/73n7XQGeN9A3QQ== +react-modal@3.8.2: + version "3.8.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-modal/-/react-modal-3.8.2.tgz#c47397a8602beb7aae0059a3b404f20416241d03" + integrity sha1-xHOXqGAr63quAFmjtATyBBYkHQM= + dependencies: + exenv "^1.2.0" + prop-types "^15.5.10" + react-lifecycles-compat "^3.0.0" + warning "^4.0.3" -react-test-renderer@16.8.5, react-test-renderer@^16.0.0-0: +react-router@3.2.1: + version "3.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-router/-/react-router-3.2.1.tgz#b9a3279962bdfbe684c8bd0482b81ef288f0f244" + integrity sha1-uaMnmWK9++aEyL0Egrge8ojw8kQ= + dependencies: + create-react-class "^15.5.1" + history "^3.0.0" + hoist-non-react-statics "^2.3.1" + invariant "^2.2.1" + loose-envify "^1.2.0" + prop-types "^15.5.6" + warning "^3.0.0" + +react-test-renderer@16.8.5: version "16.8.5" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.5.tgz#4cba7a8aad73f7e8a0bc4379a0fe21632886a563" - integrity sha512-/pFpHYQH4f35OqOae/DgOCXJDxBqD3K3akVfDhLgR0qYHoHjnICI/XS9QDwIhbrOFHWL7okVW9kKMaHuKvt2ng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-test-renderer/-/react-test-renderer-16.8.5.tgz#4cba7a8aad73f7e8a0bc4379a0fe21632886a563" + integrity sha1-TLp6iq1z9+igvEN5oP4hYyiGpWM= dependencies: object-assign "^4.1.1" prop-types "^15.6.2" react-is "^16.8.5" scheduler "^0.13.5" -react@16.8.5: - version "16.8.5" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.5.tgz#49be3b655489d74504ad994016407e8a0445de66" - integrity sha512-daCb9TD6FZGvJ3sg8da1tRAtIuw29PbKZW++NN4wqkbEvxL+bZpaaYb4xuftW/SpXmgacf1skXl/ddX6CdOlDw== +react-test-renderer@^16.0.0-0: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" + integrity sha1-GI2AKbjDnHhvmYqj79P/52QtW6E= + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.13.6" + +react-virtualized@9.21.0: + version "9.21.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-virtualized/-/react-virtualized-9.21.0.tgz#8267c40ffb48db35b242a36dea85edcf280a6506" + integrity sha1-gmfED/tI2zWyQqNt6oXtzygKZQY= + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.3" + dom-helpers "^2.4.0 || ^3.0.0" + loose-envify "^1.3.0" + prop-types "^15.6.0" + react-lifecycles-compat "^3.0.4" + +react@16.8.6: + version "16.8.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" + integrity sha1-rWw6lhT9Ok6e9REX9U2IjaAfK74= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.5" + scheduler "^0.13.6" read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= dependencies: find-up "^2.0.0" @@ -7269,15 +7670,15 @@ read-pkg-up@^2.0.0: read-pkg-up@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= dependencies: find-up "^3.0.0" read-pkg "^3.0.0" read-pkg@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= dependencies: load-json-file "^2.0.0" @@ -7286,7 +7687,7 @@ read-pkg@^2.0.0: read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://repox.jfrog.io/repox/api/npm/npm/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" @@ -7295,8 +7696,8 @@ read-pkg@^3.0.0: "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8= dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -7307,9 +7708,9 @@ read-pkg@^3.0.0: util-deprecate "~1.0.1" readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.2.0.tgz#de17f229864c120a9f56945756e4f32c4045245d" - integrity sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw== + version "3.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w= dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -7317,8 +7718,8 @@ readable-stream@^3.0.6, readable-stream@^3.1.1: readdirp@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= dependencies: graceful-fs "^4.1.11" micromatch "^3.1.10" @@ -7326,69 +7727,79 @@ readdirp@^2.2.1: realpath-native@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= dependencies: util.promisify "^1.0.0" recursive-readdir@2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" + resolved "https://repox.jfrog.io/repox/api/npm/npm/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99" integrity sha1-kO8jHQd4xc4JPJpI105cVCLROpk= dependencies: minimatch "3.0.3" +reflect.ownkeys@^0.2.0: + version "0.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" + integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= + regenerate-unicode-properties@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662" - integrity sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ== + version "8.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha1-71Hg8OpK1CS3e/fLQfPgFccKPw4= dependencies: regenerate "^1.4.0" regenerate@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha1-SoVuxLVuQHfFV1icroXnpMiGmhE= -regenerator-runtime@0.13.2: +regenerator-runtime@0.13.2, regenerator-runtime@^0.13.2: version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" + integrity sha1-MuWcmm+5saSv8JtJMMotRHc0NEc= regenerator-runtime@^0.10.0: version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= -regenerator-transform@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb" - integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A== +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-transform@^0.14.0: + version "0.14.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" + integrity sha1-LKmq96LCOd0y5HYSGEJbjHqG7K8= dependencies: private "^0.1.6" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397" - integrity sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ== +regexp-tree@^0.1.6: + version "0.1.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" + integrity sha1-2DeBagOcevio1k16fDz2odk0ULw= regexpp@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= -regexpu-core@^4.1.3, regexpu-core@^4.5.4: +regexpu-core@^4.5.4: version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" + integrity sha1-CA2dAiiaqH/hZnpPUTa8mKauuq4= dependencies: regenerate "^1.4.0" regenerate-unicode-properties "^8.0.2" @@ -7399,30 +7810,30 @@ regexpu-core@^4.1.3, regexpu-core@^4.5.4: regjsgen@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" + integrity sha1-p2NNwI+JIJwgSa3aNSVxH7lyZd0= regjsparser@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha1-8eaui32iuulsmTmbhozWyTOiupw= dependencies: jsesc "~0.5.0" relateurl@0.2.x: version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= remove-trailing-separator@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + resolved "https://repox.jfrog.io/repox/api/npm/npm/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= renderkid@^2.0.1: version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= dependencies: css-select "^1.1.0" dom-converter "^0.2" @@ -7432,25 +7843,25 @@ renderkid@^2.0.1: repeat-element@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= repeat-string@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://repox.jfrog.io/repox/api/npm/npm/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= request-promise-core@1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" + integrity sha1-M59qq6vK/bMceZ/xWHADNjAdM0Y= dependencies: lodash "^4.17.11" request-promise-native@^1.0.5: version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" + integrity sha1-pJhopiS96lBp8SUdCoNuDYmqLFk= dependencies: request-promise-core "1.1.2" stealthy-require "^1.1.1" @@ -7458,8 +7869,8 @@ request-promise-native@^1.0.5: request@^2.87.0: version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -7484,39 +7895,39 @@ request@^2.87.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + require-package-name@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk= requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + resolved "https://repox.jfrog.io/repox/api/npm/npm/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-cwd@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= dependencies: resolve-from "^3.0.0" resolve-dir@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= dependencies: expand-tilde "^2.0.0" @@ -7524,34 +7935,34 @@ resolve-dir@^1.0.0: resolve-from@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= resolve-url@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== +resolve@1.x, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0: + version "1.11.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha1-6hDYEQN2mC/vV434/DC5rDCgej4= dependencies: path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" @@ -7559,8 +7970,8 @@ restore-cursor@^2.0.0: ret@~0.1.10: version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= rgb-regex@^1.0.1: version "1.0.1" @@ -7572,88 +7983,88 @@ rgba-regex@^1.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= dependencies: hash-base "^3.0.0" inherits "^2.0.1" rst-selector-parser@^2.2.3: version "2.2.3" - resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" integrity sha1-gbIw6i/MYGbInjRy3nlChdmwPZE= dependencies: lodash.flattendeep "^4.4.0" nearley "^2.7.10" rsvp@^4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" - integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA== + version "4.8.5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= run-async@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= dependencies: is-promise "^2.1.0" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + resolved "https://repox.jfrog.io/repox/api/npm/npm/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= dependencies: aproba "^1.1.1" rx-lite-aggregates@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= dependencies: rx-lite "*" rx-lite@*, rx-lite@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= rxjs@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== + version "6.5.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha1-LjXOgVzUbYTQKiCftOWSHgUdvsc= dependencies: tslib "^1.9.0" -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= safe-regex@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= sane@^4.0.3: version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= dependencies: "@cnakazawa/watch" "^1.0.3" anymatch "^2.0.0" @@ -7670,18 +8081,18 @@ sax@^1.2.4, sax@~1.2.4: resolved "https://repox.jfrog.io/repox/api/npm/npm/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= -scheduler@^0.13.5: - version "0.13.5" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.5.tgz#b7226625167041298af3b98088a9dbbf6d7733a8" - integrity sha512-K98vjkQX9OIt/riLhp6F+XtDPtMQhqNcf045vsh+pcuvHq+PHy1xCrH3pq1P40m6yR46lpVvVhKdEOtnimuUJw== +scheduler@^0.13.5, scheduler@^0.13.6: + version "0.13.6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" + integrity sha1-RmpOwzJGezGpG5v3TlNHBy5M2Ik= dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" schema-utils@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= dependencies: ajv "^6.1.0" ajv-errors "^1.0.0" @@ -7689,30 +8100,40 @@ schema-utils@^1.0.0: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + resolved "https://repox.jfrog.io/repox/api/npm/npm/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= +select@^1.1.2: + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + selfsigned@^1.9.1: version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" - integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" + integrity sha1-zdfsz8pO12NdR6CL8tXTB0CS4s0= dependencies: node-forge "0.7.5" -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: + version "5.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha1-eQp89v6lRZuslhELKbYEEtyP+Ws= semver@5.5.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs= + +semver@^6.0.0, semver@^6.1.1: + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" + integrity sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds= -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== +send@0.17.1: + version "0.17.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= dependencies: debug "2.6.9" depd "~1.1.2" @@ -7721,21 +8142,21 @@ send@0.16.2: escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" + range-parser "~1.2.1" + statuses "~1.5.0" -serialize-javascript@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" - integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== +serialize-javascript@^1.4.0, serialize-javascript@^1.7.0: + version "1.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" + integrity sha1-1uDfsqODKoyURo5usduX5VoZKmU= serve-index@^1.7.2: version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= dependencies: accepts "~1.3.4" @@ -7746,79 +8167,74 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== +serve-static@1.14.1: + version "1.14.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" + parseurl "~1.3.3" + send "0.17.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://repox.jfrog.io/repox/api/npm/npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= settle-promise@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/settle-promise/-/settle-promise-1.0.0.tgz#697adb58b821f387ce2757c06efc9de5f0ee33d8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/settle-promise/-/settle-promise-1.0.0.tgz#697adb58b821f387ce2757c06efc9de5f0ee33d8" integrity sha1-aXrbWLgh84fOJ1fAbvyd5fDuM9g= sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shell-quote@1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + resolved "https://repox.jfrog.io/repox/api/npm/npm/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= dependencies: array-filter "~0.0.0" @@ -7828,12 +8244,12 @@ shell-quote@1.6.1: shellwords@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + resolved "https://repox.jfrog.io/repox/api/npm/npm/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://repox.jfrog.io/repox/api/npm/npm/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= simple-swizzle@^0.2.2: @@ -7844,24 +8260,24 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" + integrity sha1-7FfWS28lxPJsDix90j8tfxL35Bg= slash@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + resolved "https://repox.jfrog.io/repox/api/npm/npm/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= slash@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= slice-ansi@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= dependencies: ansi-styles "^3.2.0" astral-regex "^1.0.0" @@ -7869,8 +8285,8 @@ slice-ansi@^2.1.0: snapdragon-node@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -7878,15 +8294,15 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= dependencies: base "^0.11.1" debug "^2.2.0" @@ -7899,7 +8315,7 @@ snapdragon@^0.8.1: sockjs-client@1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" integrity sha1-W6vjhrd15M8U51IJEUUmVAFsixI= dependencies: debug "^2.6.6" @@ -7911,8 +8327,8 @@ sockjs-client@1.1.4: sockjs-client@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha1-EvydbLZj2lc509xftuhofalcsXc= dependencies: debug "^3.2.5" eventsource "^1.0.7" @@ -7923,21 +8339,43 @@ sockjs-client@1.3.0: sockjs@0.3.19: version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= dependencies: faye-websocket "^0.10.0" uuid "^3.0.1" +sonar-ui-common@0.0.10: + version "0.0.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.10.tgz#c51643ff14232d7ef8669bb553a4c694bd2b7c0c" + integrity sha1-xRZD/xQjLX74Zpu1U6TGlL0rfAw= + dependencies: + classnames "2.2.6" + clipboard "2.0.4" + d3-array "1.2.4" + d3-hierarchy "1.1.8" + d3-scale "2.1.2" + d3-selection "1.4.0" + d3-shape "1.2.2" + d3-zoom "1.7.3" + date-fns "1.30.1" + history "3.3.0" + lodash "4.17.11" + react-draggable "3.2.1" + react-intl "2.8.0" + react-modal "3.8.2" + react-router "3.2.1" + react-virtualized "9.21.0" + source-list-map@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= source-map-resolve@^0.5.0: version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk= dependencies: atob "^2.1.1" decode-uri-component "^0.2.0" @@ -7946,63 +8384,63 @@ source-map-resolve@^0.5.0: urix "^0.1.0" source-map-support@^0.5.6, source-map-support@~0.5.10: - version "0.5.11" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.11.tgz#efac2ce0800355d026326a0ca23e162aeac9a4e2" - integrity sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ== + version "0.5.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha1-tPOxDVGFelrwE4086AA7IBYT1Zk= dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@0.5.6: version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= spdx-correct@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ= dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc= spdx-expression-parse@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha1-meEZt6XaAOBUkcn6M4t5BII7QdA= dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" - integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== + version "3.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" + integrity sha1-dezRqI3owYTvAV6vtRtbSL/RG7E= spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= dependencies: debug "^4.1.0" detect-node "^2.0.4" @@ -8013,8 +8451,8 @@ spdy-transport@^3.0.0: spdy@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" + integrity sha1-gfIitadDoymqEs6mo5DmDpthPFI= dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -8024,20 +8462,20 @@ spdy@^4.0.0: split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= dependencies: extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -8051,8 +8489,8 @@ sshpk@^1.7.0: ssri@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= dependencies: figgy-pudding "^3.5.1" @@ -8063,52 +8501,47 @@ stable@^0.1.8: stack-utils@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g= static-extend@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2": +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - stealthy-require@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + resolved "https://repox.jfrog.io/repox/api/npm/npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= stream-browserify@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= dependencies: inherits "~2.0.1" readable-stream "^2.0.2" stream-each@^1.1.0: version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" stream-http@^2.7.2: version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -8118,12 +8551,17 @@ stream-http@^2.7.2: stream-shift@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + resolved "https://repox.jfrog.io/repox/api/npm/npm/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + string-length@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= dependencies: astral-regex "^1.0.0" @@ -8131,7 +8569,7 @@ string-length@^2.0.0: string-width@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" @@ -8140,16 +8578,16 @@ string-width@^1.0.1: "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" string-width@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" @@ -8157,7 +8595,7 @@ string-width@^3.0.0: string.prototype.trim@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + resolved "https://repox.jfrog.io/repox/api/npm/npm/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= dependencies: define-properties "^1.1.2" @@ -8166,58 +8604,58 @@ string.prototype.trim@^1.1.2: string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha1-/obnOLGVRK/nBGkkOyoe6SQOro0= dependencies: safe-buffer "~5.1.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= dependencies: safe-buffer "~5.1.0" strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-ansi@^5.0.0, strip-ansi@^5.1.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= dependencies: ansi-regex "^4.1.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= style-loader@0.23.1: version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" + integrity sha1-y5FUYG8+dxq2xKtjcCahBJF02SU= dependencies: loader-utils "^1.1.0" schema-utils "^1.0.0" @@ -8233,20 +8671,20 @@ stylehacks@^4.0.0: supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= dependencies: has-flag "^3.0.0" -supports-color@^6.0.0, supports-color@^6.1.0: +supports-color@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= dependencies: has-flag "^3.0.0" @@ -8271,14 +8709,14 @@ svgo@^1.0.0: util.promisify "~1.0.0" symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + version "3.2.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= table@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" - integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== + version "5.4.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8" + integrity sha1-BpGuLr6CWYWO+2PlULbV+TABceg= dependencies: ajv "^6.9.1" lodash "^4.17.11" @@ -8286,88 +8724,90 @@ table@^5.2.3: string-width "^3.0.0" tapable@^1.0.0, tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" - integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== + version "1.1.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + version "4.4.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha1-lGsoELml4LJhQM94vqawsNaJ66E= dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" + minipass "^2.3.5" + minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" - yallist "^3.0.2" + yallist "^3.0.3" terser-webpack-plugin@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8" - integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA== + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" + integrity sha1-aaoiQmKZ9LWzd1y+2MssXUGaodQ= dependencies: - cacache "^11.0.2" + cacache "^11.3.2" find-cache-dir "^2.0.0" + is-wsl "^1.1.0" + loader-utils "^1.2.3" schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" + terser "^4.0.0" + webpack-sources "^1.3.0" + worker-farm "^1.7.0" -terser@^3.16.1: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== +terser@^4.0.0: + version "4.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/terser/-/terser-4.0.2.tgz#580cea06c4932f46a48ed13804c93bc93c275968" + integrity sha1-WAzqBsSTL0akjtE4BMk7yTwnWWg= dependencies: commander "^2.19.0" source-map "~0.6.1" source-map-support "~0.5.10" -test-exclude@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.1.0.tgz#6ba6b25179d2d38724824661323b73e03c0c1de1" - integrity sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA== +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= dependencies: - arrify "^1.0.1" + glob "^7.1.3" minimatch "^3.0.4" read-pkg-up "^4.0.0" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" text-table@0.2.0, text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throat@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= through2@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= dependencies: readable-stream "~2.3.6" xtend "~4.0.1" through@^2.3.6: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://repox.jfrog.io/repox/api/npm/npm/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + resolved "https://repox.jfrog.io/repox/api/npm/npm/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" + integrity sha1-9d9zJFNAewkZHa5z4qjMc/OBqCY= timers-browserify@^2.0.4: version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + integrity sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4= dependencies: setimmediate "^1.0.4" @@ -8376,38 +8816,43 @@ timsort@^0.3.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM= + tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= dependencies: os-tmpdir "~1.0.2" tmpl@1.0.x: version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" @@ -8415,56 +8860,61 @@ to-regex-range@^2.1.0: to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" regex-not "^1.0.2" safe-regex "^1.1.0" +toidentifier@1.0.0: + version "1.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + toposort@^1.0.0: version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + resolved "https://repox.jfrog.io/repox/api/npm/npm/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= tough-cookie@^2.3.3, tough-cookie@^2.3.4: version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= dependencies: psl "^1.1.28" punycode "^2.1.1" tough-cookie@~2.4.3: version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha1-U/Nto/R3g7CSWvoG/587FlKA94E= dependencies: psl "^1.1.24" punycode "^1.4.1" tr46@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= dependencies: punycode "^2.1.0" trim-right@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + resolved "https://repox.jfrog.io/repox/api/npm/npm/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -tryer@^1.0.0: +tryer@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= -ts-jest@24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" - integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw== +ts-jest@24.0.2: + version "24.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" + integrity sha1-jd5s7Ol8McA+gOR0x0l1P/0nGU0= dependencies: bs-logger "0.x" buffer-from "1.x" @@ -8478,8 +8928,8 @@ ts-jest@24.0.0: ts-loader@5.3.3: version "5.3.3" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-5.3.3.tgz#8b4af042e773132d86b3c99ef0acf3b4d325f473" - integrity sha512-KwF1SplmOJepnoZ4eRIloH/zXL195F51skt7reEsS6jvDqzgc/YSbz9b8E07GxIUwLXdcD4ssrJu6v8CwaTafA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-loader/-/ts-loader-5.3.3.tgz#8b4af042e773132d86b3c99ef0acf3b4d325f473" + integrity sha1-i0rwQudzEy2Gs8me8KzztNMl9HM= dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" @@ -8488,104 +8938,109 @@ ts-loader@5.3.3: semver "^5.0.1" tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + version "1.10.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= tty-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://repox.jfrog.io/repox/api/npm/npm/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" -type-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://repox.jfrog.io/repox/api/npm/npm/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= dependencies: media-typer "0.3.0" - mime-types "~2.1.18" + mime-types "~2.1.24" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://repox.jfrog.io/repox/api/npm/npm/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@3.3.3333: version "3.3.3333" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" - integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" + integrity sha1-FxssWvZsWelDEZkRejvK3Gb9z9Y= + +ua-parser-js@^0.7.18: + version "0.7.20" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" + integrity sha1-dScXi4L2pioPJD0flP0w4+PCEJg= uglify-js@3.4.x: version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= dependencies: commander "~2.19.0" source-map "~0.6.1" uglify-js@^3.1.4: - version "3.5.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.2.tgz#dc0c7ac2da0a4b7d15e84266818ff30e82529474" - integrity sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg== + version "3.6.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha1-cEaBNFxTqLIHn7bOwpSwXq0kL/U= dependencies: - commander "~2.19.0" + commander "~2.20.0" source-map "~0.6.1" unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= unicode-match-property-ecmascript@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= dependencies: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" unicode-match-property-value-ecmascript@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha1-W0tCbgjROoA2Xg1lesemwexGonc= unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha1-qcxsx85joKMCP8meNBuUQx1AWlc= union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" - set-value "^0.4.3" + set-value "^2.0.1" uniq@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://repox.jfrog.io/repox/api/npm/npm/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= uniqs@^2.0.0: @@ -8595,21 +9050,21 @@ uniqs@^2.0.0: unique-filename@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== + version "2.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= dependencies: imurmurhash "^0.1.4" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unquote@~1.1.1: @@ -8619,7 +9074,7 @@ unquote@~1.1.1: unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + resolved "https://repox.jfrog.io/repox/api/npm/npm/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" @@ -8627,37 +9082,37 @@ unset-value@^1.0.0: upath@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + resolved "https://repox.jfrog.io/repox/api/npm/npm/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + integrity sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg= upper-case@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + resolved "https://repox.jfrog.io/repox/api/npm/npm/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + resolved "https://repox.jfrog.io/repox/api/npm/npm/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse@^1.1.8, url-parse@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" - integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== + version "1.4.7" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= dependencies: - querystringify "^2.0.0" + querystringify "^2.1.1" requires-port "^1.0.0" url@^0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" @@ -8665,103 +9120,115 @@ url@^0.11.0: use@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://repox.jfrog.io/repox/api/npm/npm/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" util@0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + resolved "https://repox.jfrog.io/repox/api/npm/npm/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" util@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= dependencies: inherits "2.0.3" utila@^0.4.0, utila@~0.4: version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://repox.jfrog.io/repox/api/npm/npm/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://repox.jfrog.io/repox/api/npm/npm/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@^3.0.1, uuid@^3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE= validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + resolved "https://repox.jfrog.io/repox/api/npm/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vendors@^1.0.0: - version "1.0.2" - resolved "https://repox.jfrog.io/repox/api/npm/npm/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" - integrity sha1-f8te759WI7FWvOqJ7DfWNnbyGAE= + version "1.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" + integrity sha1-pkZ3gavTZiF8BQ+CAuflDMnu+MA= verror@1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://repox.jfrog.io/repox/api/npm/npm/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" +vm-browserify@^1.0.1: + version "1.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" + integrity sha1-vXbWojMj4sqP+hICjcBFWcdfkBk= w3c-hr-time@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + resolved "https://repox.jfrog.io/repox/api/npm/npm/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= dependencies: browser-process-hrtime "^0.1.2" -walker@~1.0.5: +walker@^1.0.7, walker@~1.0.5: version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= dependencies: makeerror "1.0.x" +warning@^3.0.0: + version "3.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= + dependencies: + loose-envify "^1.0.0" + +warning@^4.0.3: + version "4.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + watchpack@^1.5.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha1-S8EsLr6KonenHx0/FNaFx7RGzQA= dependencies: chokidar "^2.0.2" graceful-fs "^4.1.2" @@ -8769,20 +9236,20 @@ watchpack@^1.5.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= dependencies: minimalistic-assert "^1.0.0" webidl-conversions@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= webpack-bundle-analyzer@3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.1.0.tgz#2f19cbb87bb6d4f3cb4e59cb67c837bd9436e89d" - integrity sha512-nyDyWEs7C6DZlgvu1pR1zzJfIWSiGPbtaByZr8q+Fd2xp70FuM/8ngCJzj3Er1TYRLSFmp1F1OInbEm4DZH8NA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.1.0.tgz#2f19cbb87bb6d4f3cb4e59cb67c837bd9436e89d" + integrity sha1-LxnLuHu21PPLTlnLZ8g3vZQ26J0= dependencies: acorn "^6.0.7" acorn-walk "^6.1.1" @@ -8799,19 +9266,19 @@ webpack-bundle-analyzer@3.1.0: ws "^6.0.0" webpack-dev-middleware@^3.5.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz#91f2531218a633a99189f7de36045a331a4b9cd4" - integrity sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw== + version "3.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" + integrity sha1-73UdJfTppcijXaYAxf2jWCtcbP8= dependencies: memory-fs "^0.4.1" - mime "^2.3.1" - range-parser "^1.0.3" + mime "^2.4.2" + range-parser "^1.2.1" webpack-log "^2.0.0" webpack-dev-server@3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" - integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" + integrity sha1-G0XOPs/FW26+Xjbasnd8ArxQjE4= dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -8846,24 +9313,24 @@ webpack-dev-server@3.2.1: webpack-log@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= dependencies: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-sources@^1.1.0, webpack-sources@^1.3.0: +webpack-sources@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" + integrity sha1-KijcufH0X+lg2PFJMlK17mUw+oU= dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack@4.29.6: version "4.29.6" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955" - integrity sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955" + integrity sha1-Zr8OyL7uTUafi1mNOYj/nY2Q6VU= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -8891,39 +9358,45 @@ webpack@4.29.6: webpack-sources "^1.3.0" websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= + version "0.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha1-otTg1PTxFvHmKX66WLBdQwEA6fk= dependencies: - http-parser-js ">=0.4.0" + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk= whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= dependencies: iconv-lite "0.4.24" whatwg-fetch@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha1-3eal3zFfnTmZGqF2IYU9cguFVm8= + +whatwg-fetch@>=0.10.0: + version "3.0.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha1-/IBORYzEYACbGiuWa8iBfSV4rvs= whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= whatwg-url@^6.4.1: version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -8931,8 +9404,8 @@ whatwg-url@^6.4.1: whatwg-url@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + integrity sha1-/ekm+lSlmfOt+C3/Jan3vgLcbt0= dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -8940,43 +9413,43 @@ whatwg-url@^7.0.0: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://repox.jfrog.io/repox/api/npm/npm/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.14, which@^1.2.9, which@^1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= dependencies: string-width "^1.0.2 || 2" wordwrap@~0.0.2: version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= dependencies: errno "~0.1.7" wrap-ansi@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" @@ -8984,13 +9457,13 @@ wrap-ansi@^2.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://repox.jfrog.io/repox/api/npm/npm/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -8998,74 +9471,74 @@ write-file-atomic@2.4.1: write@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + resolved "https://repox.jfrog.io/repox/api/npm/npm/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= dependencies: mkdirp "^0.5.1" ws@^5.2.0: version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + resolved "https://repox.jfrog.io/repox/api/npm/npm/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= dependencies: async-limiter "~1.0.0" ws@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.0.tgz#13806d9913b2a5f3cbb9ba47b563c002cbc7c526" - integrity sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w== + version "6.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= dependencies: async-limiter "~1.0.0" xml-name-validator@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= xregexp@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== + resolved "https://repox.jfrog.io/repox/api/npm/npm/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha1-5pgYneSd0qGMxWh7BeF8jkOUMCA= xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + resolved "https://repox.jfrog.io/repox/api/npm/npm/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + resolved "https://repox.jfrog.io/repox/api/npm/npm/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://repox.jfrog.io/repox/api/npm/npm/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha1-tLBJ4xS+VF486AIjbWzSLNkcPek= yargs-parser@10.x, yargs-parser@^10.1.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= dependencies: camelcase "^4.1.0" yargs-parser@^11.1.1: version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.2: version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha1-/lgjQ2k5KvM+y+9TgZFx7/D1qtw= dependencies: cliui "^4.0.0" decamelize "^2.0.0" @@ -9082,8 +9555,8 @@ yargs@12.0.2: yargs@^12.0.2: version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + resolved "https://repox.jfrog.io/repox/api/npm/npm/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= dependencies: cliui "^4.0.0" decamelize "^1.2.0" diff --git a/server/sonar-web/.eslintrc b/server/sonar-web/.eslintrc index b10c9ca35a9..652d22c0c7d 100644 --- a/server/sonar-web/.eslintrc +++ b/server/sonar-web/.eslintrc @@ -1,11 +1,6 @@ { "extends": "sonarqube", - "plugins": [ - "react-hooks" - ], "rules": { - "camelcase": "off", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" + "camelcase": "off" } } diff --git a/server/sonar-web/config/utils.js b/server/sonar-web/config/utils.js index 754dd9d78c7..7ad064d3a1f 100644 --- a/server/sonar-web/config/utils.js +++ b/server/sonar-web/config/utils.js @@ -26,14 +26,27 @@ const cssLoader = () => ({ } }); -const theme = require('../src/main/js/app/theme'); - const customProperties = {}; -Object.keys(theme).forEach(key => { - if (typeof theme[key] === 'string') { - customProperties[`--${key}`] = theme[key]; - } -}); +const parseCustomProperties = theme => { + Object.keys(theme).forEach(key => { + if (typeof theme[key] === 'object') { + parseCustomProperties(theme[key]); + } else if (typeof theme[key] === 'string') { + if (!customProperties[`--${key}`]) { + customProperties[`--${key}`] = theme[key]; + } else { + console.error( + `Custom CSS property "${key}" already exists with value "${ + customProperties[`--${key}`] + }".` + ); + process.exit(1); + } + } + }); +}; + +parseCustomProperties(require('../src/main/js/app/theme')); const postcssLoader = production => ({ loader: 'postcss-loader', diff --git a/server/sonar-web/package.json b/server/sonar-web/package.json index 9b053fcfa53..660f59caed9 100644 --- a/server/sonar-web/package.json +++ b/server/sonar-web/package.json @@ -6,7 +6,6 @@ "license": "LGPL-3.0", "dependencies": { "classnames": "2.2.6", - "clipboard": "2.0.1", "core-js": "3.0.0", "create-react-class": "15.6.3", "d3-array": "1.2.4", @@ -15,7 +14,7 @@ "d3-selection": "1.4.0", "d3-shape": "1.2.2", "d3-zoom": "1.7.3", - "date-fns": "1.29.0", + "date-fns": "1.30.1", "dompurify": "1.0.11", "formik": "1.2.0", "history": "3.3.0", @@ -32,7 +31,6 @@ "react-draggable": "3.2.1", "react-helmet": "5.2.0", "react-intl": "2.8.0", - "react-modal": "3.8.1", "react-redux": "5.1.1", "react-router": "3.2.1", "react-select": "1.2.1", @@ -43,6 +41,7 @@ "regenerator-runtime": "0.13.2", "remark-custom-blocks": "2.3.0", "remark-slug": "5.1.0", + "sonar-ui-common": "0.0.10", "unist-util-visit": "1.4.0", "valid-url": "1.0.9", "whatwg-fetch": "2.0.4" @@ -58,7 +57,6 @@ "@babel/preset-env": "7.4.2", "@babel/preset-react": "7.0.0", "@types/classnames": "2.2.6", - "@types/clipboard": "2.0.1", "@types/d3-array": "1.2.4", "@types/d3-hierarchy": "1.1.4", "@types/d3-scale": "2.0.2", @@ -66,16 +64,15 @@ "@types/d3-shape": "1.2.4", "@types/d3-zoom": "1.7.2", "@types/dompurify": "0.0.32", - "@types/enzyme": "3.9.3", + "@types/enzyme": "3.10.1", "@types/jest": "24.0.15", "@types/keymaster": "1.6.28", "@types/lodash": "4.14.123", "@types/prop-types": "15.7.0", - "@types/react": "16.8.22", + "@types/react": "16.8.23", "@types/react-dom": "16.8.4", "@types/react-helmet": "5.0.8", "@types/react-intl": "2.3.17", - "@types/react-modal": "3.8.1", "@types/react-redux": "6.0.6", "@types/react-router": "3.0.20", "@types/react-select": "1.2.6", @@ -98,14 +95,14 @@ "enzyme-adapter-react-16": "1.14.0", "enzyme-to-json": "3.3.5", "escape-string-regexp": "1.0.5", - "eslint": "5.15.3", - "eslint-config-sonarqube": "0.3.0", - "eslint-plugin-import": "2.16.0", + "eslint": "5.16.0", + "eslint-config-sonarqube": "0.5.0", + "eslint-plugin-import": "2.18.0", "eslint-plugin-jsx-a11y": "6.2.1", - "eslint-plugin-promise": "4.0.1", - "eslint-plugin-react": "7.12.4", - "eslint-plugin-react-hooks": "1.6.0", - "eslint-plugin-sonarjs": "0.3.0", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-react": "7.14.2", + "eslint-plugin-react-hooks": "1.6.1", + "eslint-plugin-sonarjs": "0.4.0", "expose-loader": "0.7.5", "glob": "7.1.3", "glob-promise": "3.4.0", @@ -125,7 +122,7 @@ "remark": "9.0.0", "remark-react": "4.0.3", "style-loader": "0.23.1", - "ts-jest": "24.0.0", + "ts-jest": "24.0.2", "ts-loader": "5.3.3", "typescript": "3.3.3333", "webpack": "4.29.6", diff --git a/server/sonar-web/src/main/js/api/__tests__/alm-integration-test.ts b/server/sonar-web/src/main/js/api/__tests__/alm-integration-test.ts index cde81f9f022..eafb2e64c0c 100644 --- a/server/sonar-web/src/main/js/api/__tests__/alm-integration-test.ts +++ b/server/sonar-web/src/main/js/api/__tests__/alm-integration-test.ts @@ -17,12 +17,12 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import { getAlmOrganization } from '../alm-integration'; jest.useFakeTimers(); -jest.mock('../../helpers/request', () => ({ - ...jest.requireActual('../../helpers/request'), +jest.mock('sonar-ui-common/helpers/request', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/request'), getJSON: jest.fn() })); jest.mock('../../app/utils/throwGlobalError', () => ({ diff --git a/server/sonar-web/src/main/js/api/alm-integration.ts b/server/sonar-web/src/main/js/api/alm-integration.ts index b4b55ebe9fd..67896751d0a 100644 --- a/server/sonar-web/src/main/js/api/alm-integration.ts +++ b/server/sonar-web/src/main/js/api/alm-integration.ts @@ -17,7 +17,13 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, postJSON, post, requestTryAndRepeatUntil, getCorsJSON } from '../helpers/request'; +import { + getCorsJSON, + getJSON, + postJSON, + post, + requestTryAndRepeatUntil +} from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; import { AlmLanguagesStats } from '../apps/tutorials/analyzeProject/utils'; diff --git a/server/sonar-web/src/main/js/api/application.ts b/server/sonar-web/src/main/js/api/application.ts index 012bacadee1..b29fec110e3 100644 --- a/server/sonar-web/src/main/js/api/application.ts +++ b/server/sonar-web/src/main/js/api/application.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface ApplicationLeak { diff --git a/server/sonar-web/src/main/js/api/auth.ts b/server/sonar-web/src/main/js/api/auth.ts index cc378949903..1e53c9029d6 100644 --- a/server/sonar-web/src/main/js/api/auth.ts +++ b/server/sonar-web/src/main/js/api/auth.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { request } from '../helpers/request'; +import { request } from 'sonar-ui-common/helpers/request'; export function login(login: string, password: string): Promise<Response> { return request('/api/authentication/login') diff --git a/server/sonar-web/src/main/js/api/billing.ts b/server/sonar-web/src/main/js/api/billing.ts index 62a8fe17a2e..de093e79e0f 100644 --- a/server/sonar-web/src/main/js/api/billing.ts +++ b/server/sonar-web/src/main/js/api/billing.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post } from '../helpers/request'; +import { getJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getSubscriptionPlans(): Promise<T.SubscriptionPlan[]> { diff --git a/server/sonar-web/src/main/js/api/branches.ts b/server/sonar-web/src/main/js/api/branches.ts index 606826c8efb..9985a20b04f 100644 --- a/server/sonar-web/src/main/js/api/branches.ts +++ b/server/sonar-web/src/main/js/api/branches.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post } from '../helpers/request'; +import { getJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getBranches(project: string): Promise<T.Branch[]> { diff --git a/server/sonar-web/src/main/js/api/ce.ts b/server/sonar-web/src/main/js/api/ce.ts index 7fdee30f235..2b08d5ebf99 100644 --- a/server/sonar-web/src/main/js/api/ce.ts +++ b/server/sonar-web/src/main/js/api/ce.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, RequestData } from '../helpers/request'; +import { getJSON, post, RequestData } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getAnalysisStatus(data: { diff --git a/server/sonar-web/src/main/js/api/components.ts b/server/sonar-web/src/main/js/api/components.ts index 2b98f70503f..3ede3247833 100644 --- a/server/sonar-web/src/main/js/api/components.ts +++ b/server/sonar-web/src/main/js/api/components.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { getJSON, postJSON, post, RequestData } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; -import { getJSON, postJSON, post, RequestData } from '../helpers/request'; export interface BaseSearchProjectsParameters { analyzedBefore?: string; diff --git a/server/sonar-web/src/main/js/api/favorites.ts b/server/sonar-web/src/main/js/api/favorites.ts index d3f1f529301..082a2c72332 100644 --- a/server/sonar-web/src/main/js/api/favorites.ts +++ b/server/sonar-web/src/main/js/api/favorites.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { post, getJSON } from '../helpers/request'; +import { post, getJSON } from 'sonar-ui-common/helpers/request'; export function getFavorites(): Promise<any> { return getJSON('/api/favorites/search'); diff --git a/server/sonar-web/src/main/js/api/issue-filters.ts b/server/sonar-web/src/main/js/api/issue-filters.ts index 6d438c2eed4..6c25e2ca70d 100644 --- a/server/sonar-web/src/main/js/api/issue-filters.ts +++ b/server/sonar-web/src/main/js/api/issue-filters.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { post } from '../helpers/request'; +import { post } from 'sonar-ui-common/helpers/request'; export function toggleIssueFilter(id: string): Promise<void> { return post('/issues/toggle_fav', { id }); diff --git a/server/sonar-web/src/main/js/api/issues.ts b/server/sonar-web/src/main/js/api/issues.ts index 769512154d4..b2a5c560825 100644 --- a/server/sonar-web/src/main/js/api/issues.ts +++ b/server/sonar-web/src/main/js/api/issues.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON, RequestData } from '../helpers/request'; +import { getJSON, post, postJSON, RequestData } from 'sonar-ui-common/helpers/request'; import { RawIssue } from '../helpers/issues'; import throwGlobalError from '../app/utils/throwGlobalError'; import getCoverageStatus from '../components/SourceViewer/helpers/getCoverageStatus'; diff --git a/server/sonar-web/src/main/js/api/languages.ts b/server/sonar-web/src/main/js/api/languages.ts index 3787fa2dd2b..207f8655a22 100644 --- a/server/sonar-web/src/main/js/api/languages.ts +++ b/server/sonar-web/src/main/js/api/languages.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getLanguages(): Promise<T.Language[]> { diff --git a/server/sonar-web/src/main/js/api/marketplace.ts b/server/sonar-web/src/main/js/api/marketplace.ts index 7de0fd39644..c0949f95693 100644 --- a/server/sonar-web/src/main/js/api/marketplace.ts +++ b/server/sonar-web/src/main/js/api/marketplace.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface License { diff --git a/server/sonar-web/src/main/js/api/measures.ts b/server/sonar-web/src/main/js/api/measures.ts index 5ebda3a570b..923429bd62e 100644 --- a/server/sonar-web/src/main/js/api/measures.ts +++ b/server/sonar-web/src/main/js/api/measures.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, RequestData, postJSON, post } from '../helpers/request'; +import { getJSON, RequestData, postJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getMeasures( diff --git a/server/sonar-web/src/main/js/api/metrics.ts b/server/sonar-web/src/main/js/api/metrics.ts index 28097802b25..a3a16f05982 100644 --- a/server/sonar-web/src/main/js/api/metrics.ts +++ b/server/sonar-web/src/main/js/api/metrics.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface MetricsResponse { diff --git a/server/sonar-web/src/main/js/api/nav.ts b/server/sonar-web/src/main/js/api/nav.ts index b544fea28de..273730e539e 100644 --- a/server/sonar-web/src/main/js/api/nav.ts +++ b/server/sonar-web/src/main/js/api/nav.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getGlobalNavigation(): Promise<T.AppState> { diff --git a/server/sonar-web/src/main/js/api/news.ts b/server/sonar-web/src/main/js/api/news.ts index a6708be86b8..f8f6476f0e9 100644 --- a/server/sonar-web/src/main/js/api/news.ts +++ b/server/sonar-web/src/main/js/api/news.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getCorsJSON } from '../helpers/request'; +import { getCorsJSON } from 'sonar-ui-common/helpers/request'; interface PrismicRef { id: string; diff --git a/server/sonar-web/src/main/js/api/notifications.ts b/server/sonar-web/src/main/js/api/notifications.ts index 3234f991a07..3639d9d718f 100644 --- a/server/sonar-web/src/main/js/api/notifications.ts +++ b/server/sonar-web/src/main/js/api/notifications.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { getJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; -import { getJSON, post } from '../helpers/request'; export function getNotifications(): Promise<{ channels: string[]; diff --git a/server/sonar-web/src/main/js/api/organizations.ts b/server/sonar-web/src/main/js/api/organizations.ts index 140ed739887..1ce52b9344a 100644 --- a/server/sonar-web/src/main/js/api/organizations.ts +++ b/server/sonar-web/src/main/js/api/organizations.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getOrganizations(data: { diff --git a/server/sonar-web/src/main/js/api/permissions.ts b/server/sonar-web/src/main/js/api/permissions.ts index 51279cbcfe0..61022eec2cf 100644 --- a/server/sonar-web/src/main/js/api/permissions.ts +++ b/server/sonar-web/src/main/js/api/permissions.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { getJSON, post, postJSON, RequestData } from 'sonar-ui-common/helpers/request'; import { BaseSearchProjectsParameters } from './components'; -import { getJSON, post, postJSON, RequestData } from '../helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; const PAGE_SIZE = 100; diff --git a/server/sonar-web/src/main/js/api/plugins.ts b/server/sonar-web/src/main/js/api/plugins.ts index 6c7d43ccf94..23d778a24e5 100644 --- a/server/sonar-web/src/main/js/api/plugins.ts +++ b/server/sonar-web/src/main/js/api/plugins.ts @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { findLastIndex } from 'lodash'; -import { getJSON, post } from '../helpers/request'; +import { isDefined } from 'sonar-ui-common/helpers/types'; +import { getJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; -import { isDefined } from '../helpers/types'; export interface Plugin { key: string; diff --git a/server/sonar-web/src/main/js/api/projectActivity.ts b/server/sonar-web/src/main/js/api/projectActivity.ts index 35b9371c27b..1bf61801bbc 100644 --- a/server/sonar-web/src/main/js/api/projectActivity.ts +++ b/server/sonar-web/src/main/js/api/projectActivity.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, postJSON, post, RequestData } from '../helpers/request'; +import { getJSON, postJSON, post, RequestData } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getProjectActivity( diff --git a/server/sonar-web/src/main/js/api/projectLinks.ts b/server/sonar-web/src/main/js/api/projectLinks.ts index cba0cf732b3..21b6c3fcba4 100644 --- a/server/sonar-web/src/main/js/api/projectLinks.ts +++ b/server/sonar-web/src/main/js/api/projectLinks.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; -import { getJSON, post, postJSON } from '../helpers/request'; export function getProjectLinks(projectKey: string): Promise<T.ProjectLink[]> { return getJSON('/api/project_links/search', { projectKey }).then(r => r.links, throwGlobalError); diff --git a/server/sonar-web/src/main/js/api/quality-gates.ts b/server/sonar-web/src/main/js/api/quality-gates.ts index 5cab317b5ba..3ff4f186284 100644 --- a/server/sonar-web/src/main/js/api/quality-gates.ts +++ b/server/sonar-web/src/main/js/api/quality-gates.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function fetchQualityGates(data: { diff --git a/server/sonar-web/src/main/js/api/quality-profiles.ts b/server/sonar-web/src/main/js/api/quality-profiles.ts index a7c6b3f1f2a..e0f1c948aa9 100644 --- a/server/sonar-web/src/main/js/api/quality-profiles.ts +++ b/server/sonar-web/src/main/js/api/quality-profiles.ts @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { map } from 'lodash'; -import { csvEscape } from '../helpers/csv'; +import { csvEscape } from 'sonar-ui-common/helpers/csv'; import { request, checkStatus, @@ -27,7 +27,7 @@ import { post, postJSON, RequestData -} from '../helpers/request'; +} from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface ProfileActions { diff --git a/server/sonar-web/src/main/js/api/report.ts b/server/sonar-web/src/main/js/api/report.ts index c184250a874..1274f2e1cd3 100644 --- a/server/sonar-web/src/main/js/api/report.ts +++ b/server/sonar-web/src/main/js/api/report.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post } from '../helpers/request'; +import { getJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface ReportStatus { diff --git a/server/sonar-web/src/main/js/api/rules.ts b/server/sonar-web/src/main/js/api/rules.ts index 60b45746e32..f012ccc5b84 100644 --- a/server/sonar-web/src/main/js/api/rules.ts +++ b/server/sonar-web/src/main/js/api/rules.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { post, getJSON, postJSON } from '../helpers/request'; +import { post, getJSON, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export interface GetRulesAppResponse { diff --git a/server/sonar-web/src/main/js/api/settings.ts b/server/sonar-web/src/main/js/api/settings.ts index 0d0c830181f..bc21a900501 100644 --- a/server/sonar-web/src/main/js/api/settings.ts +++ b/server/sonar-web/src/main/js/api/settings.ts @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { omitBy } from 'lodash'; -import { getJSON, RequestData, post, postJSON } from '../helpers/request'; +import { getJSON, RequestData, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; import { isCategoryDefinition } from '../apps/settings/utils'; diff --git a/server/sonar-web/src/main/js/api/system.ts b/server/sonar-web/src/main/js/api/system.ts index d179a092437..57e3210f165 100644 --- a/server/sonar-web/src/main/js/api/system.ts +++ b/server/sonar-web/src/main/js/api/system.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON, requestTryAndRepeatUntil } from '../helpers/request'; +import { getJSON, post, postJSON, requestTryAndRepeatUntil } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function setLogLevel(level: string): Promise<void | Response> { diff --git a/server/sonar-web/src/main/js/api/time-machine.ts b/server/sonar-web/src/main/js/api/time-machine.ts index 5967fab4c1f..af307b524bc 100644 --- a/server/sonar-web/src/main/js/api/time-machine.ts +++ b/server/sonar-web/src/main/js/api/time-machine.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; interface TimeMachineResponse { diff --git a/server/sonar-web/src/main/js/api/user-tokens.ts b/server/sonar-web/src/main/js/api/user-tokens.ts index fd446a35684..b03dc7df457 100644 --- a/server/sonar-web/src/main/js/api/user-tokens.ts +++ b/server/sonar-web/src/main/js/api/user-tokens.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, postJSON, post } from '../helpers/request'; +import { getJSON, postJSON, post } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; /** List tokens for given user login */ diff --git a/server/sonar-web/src/main/js/api/user_groups.ts b/server/sonar-web/src/main/js/api/user_groups.ts index eae50459ee1..14d3900f942 100644 --- a/server/sonar-web/src/main/js/api/user_groups.ts +++ b/server/sonar-web/src/main/js/api/user_groups.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function searchUsersGroups(data: { diff --git a/server/sonar-web/src/main/js/api/users.ts b/server/sonar-web/src/main/js/api/users.ts index 8daacb90b25..9d798401205 100644 --- a/server/sonar-web/src/main/js/api/users.ts +++ b/server/sonar-web/src/main/js/api/users.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function getCurrentUser(): Promise<T.CurrentUser> { diff --git a/server/sonar-web/src/main/js/api/web-api.ts b/server/sonar-web/src/main/js/api/web-api.ts index 944c64e7ea0..4a333a0b689 100644 --- a/server/sonar-web/src/main/js/api/web-api.ts +++ b/server/sonar-web/src/main/js/api/web-api.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; interface RawDomain { diff --git a/server/sonar-web/src/main/js/api/webhooks.ts b/server/sonar-web/src/main/js/api/webhooks.ts index 01a32ea8ce9..3f8f9d92385 100644 --- a/server/sonar-web/src/main/js/api/webhooks.ts +++ b/server/sonar-web/src/main/js/api/webhooks.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON, post, postJSON } from '../helpers/request'; +import { getJSON, post, postJSON } from 'sonar-ui-common/helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; export function createWebhook(data: { diff --git a/server/sonar-web/src/main/js/app/components/AdminContainer.tsx b/server/sonar-web/src/main/js/app/components/AdminContainer.tsx index 51ead6903c8..701043dc7e3 100644 --- a/server/sonar-web/src/main/js/app/components/AdminContainer.tsx +++ b/server/sonar-web/src/main/js/app/components/AdminContainer.tsx @@ -20,14 +20,14 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AdminContext, { defaultPendingPlugins, defaultSystemStatus } from './AdminContext'; import SettingsNav from './nav/settings/SettingsNav'; import { getAppState, Store } from '../../store/rootReducer'; import { getSettingsNavigation } from '../../api/nav'; import { setAdminPages } from '../../store/appState'; -import { translate } from '../../helpers/l10n'; import { PluginPendingResult, getPendingPlugins } from '../../api/plugins'; -import handleRequiredAuthorization from '../utils/handleRequiredAuthorization'; +import handleRequiredAuthorization from '../../app/utils/handleRequiredAuthorization'; import { getSystemStatus, waitSystemUPStatus } from '../../api/system'; interface Props { diff --git a/server/sonar-web/src/main/js/app/components/App.tsx b/server/sonar-web/src/main/js/app/components/App.tsx index 82f566cbcee..3c3a3febc73 100644 --- a/server/sonar-web/src/main/js/app/components/App.tsx +++ b/server/sonar-web/src/main/js/app/components/App.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { fetchLanguages } from '../../store/rootActions'; import { fetchMyOrganizations } from '../../apps/account/organizations/actions'; import { isSonarCloud } from '../../helpers/system'; -import { lazyLoad } from '../../components/lazyLoad'; import { getCurrentUser, getAppState, getGlobalSettingValue, Store } from '../../store/rootReducer'; import { isLoggedIn } from '../../helpers/users'; diff --git a/server/sonar-web/src/main/js/app/components/ComponentContainerNotFound.tsx b/server/sonar-web/src/main/js/app/components/ComponentContainerNotFound.tsx index ecb3ab1716c..f0d6573985c 100644 --- a/server/sonar-web/src/main/js/app/components/ComponentContainerNotFound.tsx +++ b/server/sonar-web/src/main/js/app/components/ComponentContainerNotFound.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { Helmet } from 'react-helmet'; import { Link } from 'react-router'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function ComponentContainerNotFound() { return ( diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooter.tsx b/server/sonar-web/src/main/js/app/components/GlobalFooter.tsx index 56354293a3f..f4eab307286 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooter.tsx +++ b/server/sonar-web/src/main/js/app/components/GlobalFooter.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import GlobalFooterSonarCloud from './GlobalFooterSonarCloud'; import GlobalFooterBranding from './GlobalFooterBranding'; import InstanceMessage from '../../components/common/InstanceMessage'; import { EDITIONS } from '../../apps/marketplace/utils'; -import { translate, translateWithParameters } from '../../helpers/l10n'; import { isSonarCloud } from '../../helpers/system'; -import { Alert } from '../../components/ui/Alert'; interface Props { hideLoggedInInfo?: boolean; diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.tsx b/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.tsx index 25fa55bbd65..98b9fe73096 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.tsx +++ b/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import * as getYear from 'date-fns/get_year'; import { Link } from 'react-router'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function GlobalFooterSonarCloud() { return ( diff --git a/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.tsx b/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.tsx index cc34c55d750..0c8c209569c 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.tsx +++ b/server/sonar-web/src/main/js/app/components/GlobalMessagesContainer.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { connect } from 'react-redux'; -import GlobalMessages from '../../components/controls/GlobalMessages'; +import GlobalMessages from 'sonar-ui-common/components/controls/GlobalMessages'; import { getGlobalMessages, Store } from '../../store/rootReducer'; import { closeGlobalMessage } from '../../store/globalMessages'; diff --git a/server/sonar-web/src/main/js/app/components/MarkdownHelp.tsx b/server/sonar-web/src/main/js/app/components/MarkdownHelp.tsx index 1d68d374012..3c12bfccdc3 100644 --- a/server/sonar-web/src/main/js/app/components/MarkdownHelp.tsx +++ b/server/sonar-web/src/main/js/app/components/MarkdownHelp.tsx @@ -38,13 +38,13 @@ export default function MarkdownHelp() { </td> </tr> <tr> - <td>{'http://sonarqube.org'}</td> + <td>http://sonarqube.org</td> <td className="markdown"> - <a href="http://sonarqube.org">{'http://sonarqube.org'}</a> + <a href="http://sonarqube.org">http://sonarqube.org</a> </td> </tr> <tr> - <td className="text-top">{'[SonarQube™ Home Page](http://www.sonarqube.org)'}</td> + <td className="text-top">[SonarQube™ Home Page](http://www.sonarqube.org)</td> <td className="markdown text-top"> <a href="http://www.sonarqube.org" rel="noopener noreferrer" target="_blank"> SonarQube™ Home Page diff --git a/server/sonar-web/src/main/js/app/components/NotFound.tsx b/server/sonar-web/src/main/js/app/components/NotFound.tsx index f474c4bf7f3..4468ff166ba 100644 --- a/server/sonar-web/src/main/js/app/components/NotFound.tsx +++ b/server/sonar-web/src/main/js/app/components/NotFound.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import { Helmet } from 'react-helmet'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleContainer from './SimpleContainer'; -import { translate } from '../../helpers/l10n'; interface Props { withContainer?: boolean; diff --git a/server/sonar-web/src/main/js/app/components/RecentHistory.ts b/server/sonar-web/src/main/js/app/components/RecentHistory.ts index e95abef5a18..d5def992dcc 100644 --- a/server/sonar-web/src/main/js/app/components/RecentHistory.ts +++ b/server/sonar-web/src/main/js/app/components/RecentHistory.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { get, remove, save } from '../../helpers/storage'; +import { get, remove, save } from 'sonar-ui-common/helpers/storage'; const RECENT_HISTORY = 'sonar_recent_history'; const HISTORY_LIMIT = 10; diff --git a/server/sonar-web/src/main/js/app/components/SimpleContainer.tsx b/server/sonar-web/src/main/js/app/components/SimpleContainer.tsx index cc05e78f486..e567dde3e3d 100644 --- a/server/sonar-web/src/main/js/app/components/SimpleContainer.tsx +++ b/server/sonar-web/src/main/js/app/components/SimpleContainer.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import NavBar from 'sonar-ui-common/components/ui/NavBar'; import GlobalFooterContainer from './GlobalFooterContainer'; -import * as theme from '../theme'; -import NavBar from '../../components/nav/NavBar'; +import { rawSizes } from '../theme'; interface Props { children?: React.ReactNode; @@ -30,7 +30,7 @@ export default function SimpleContainer({ children }: Props) { return ( <div className="global-container"> <div className="page-wrapper" id="container"> - <NavBar className="navbar-global" height={theme.globalNavHeightRaw} /> + <NavBar className="navbar-global" height={rawSizes.globalNavHeightRaw} /> {children} </div> <GlobalFooterContainer /> diff --git a/server/sonar-web/src/main/js/app/components/SimpleSessionsContainer.tsx b/server/sonar-web/src/main/js/app/components/SimpleSessionsContainer.tsx index 32965ae187d..6846dcb5338 100644 --- a/server/sonar-web/src/main/js/app/components/SimpleSessionsContainer.tsx +++ b/server/sonar-web/src/main/js/app/components/SimpleSessionsContainer.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import GlobalFooterContainer from './GlobalFooterContainer'; -import { lazyLoad } from '../../components/lazyLoad'; const PageTracker = lazyLoad(() => import('./PageTracker')); diff --git a/server/sonar-web/src/main/js/app/components/StartupModal.tsx b/server/sonar-web/src/main/js/app/components/StartupModal.tsx index 1162ec0ad5a..a39a2053a5a 100644 --- a/server/sonar-web/src/main/js/app/components/StartupModal.tsx +++ b/server/sonar-web/src/main/js/app/components/StartupModal.tsx @@ -18,16 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { connect } from 'react-redux'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; +import { parseDate, toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { save, get } from 'sonar-ui-common/helpers/storage'; +import { hasMessage } from 'sonar-ui-common/helpers/l10n'; import { OnboardingContext } from './OnboardingContext'; -import { differenceInDays, parseDate, toShortNotSoISOString } from '../../helpers/dates'; import { getCurrentUser, getAppState, Store } from '../../store/rootReducer'; import { skipOnboarding } from '../../store/users'; import { showLicense } from '../../api/marketplace'; -import { hasMessage } from '../../helpers/l10n'; -import { save, get } from '../../helpers/storage'; import { isSonarCloud } from '../../helpers/system'; -import { lazyLoad } from '../../components/lazyLoad'; import { isLoggedIn } from '../../helpers/users'; import { withRouter, Router, Location } from '../../components/hoc/withRouter'; diff --git a/server/sonar-web/src/main/js/app/components/__tests__/ComponentContainer-test.tsx b/server/sonar-web/src/main/js/app/components/__tests__/ComponentContainer-test.tsx index 905e3bfe371..af44a3ed847 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/ComponentContainer-test.tsx +++ b/server/sonar-web/src/main/js/app/components/__tests__/ComponentContainer-test.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ComponentContainer } from '../ComponentContainer'; import { getBranches, getPullRequests } from '../../../api/branches'; import { getTasksForComponent } from '../../../api/ce'; import { getComponentData } from '../../../api/components'; import { getComponentNavigation } from '../../../api/nav'; import { STATUSES } from '../../../apps/background-tasks/constants'; -import { waitAndUpdate } from '../../../helpers/testUtils'; import { isSonarCloud } from '../../../helpers/system'; import { mockLocation, diff --git a/server/sonar-web/src/main/js/app/components/__tests__/ProjectAdminContainer-test.tsx b/server/sonar-web/src/main/js/app/components/__tests__/ProjectAdminContainer-test.tsx index 2935e1b2686..74ef1c3d5c3 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/ProjectAdminContainer-test.tsx +++ b/server/sonar-web/src/main/js/app/components/__tests__/ProjectAdminContainer-test.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { mount, shallow } from 'enzyme'; import ProjectAdminContainer from '../ProjectAdminContainer'; -import handleRequiredAuthorization from '../../utils/handleRequiredAuthorization'; +import handleRequiredAuthorization from '../../../app/utils/handleRequiredAuthorization'; import { mockComponent } from '../../../helpers/testMocks'; jest.mock('../../utils/handleRequiredAuthorization', () => { diff --git a/server/sonar-web/src/main/js/app/components/__tests__/RecentHistory-test.tsx b/server/sonar-web/src/main/js/app/components/__tests__/RecentHistory-test.tsx index c7cd1b57b16..b67f34d85d6 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/RecentHistory-test.tsx +++ b/server/sonar-web/src/main/js/app/components/__tests__/RecentHistory-test.tsx @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { get, remove, save } from 'sonar-ui-common/helpers/storage'; import RecentHistory, { History } from '../RecentHistory'; -import { get, remove, save } from '../../../helpers/storage'; -jest.mock('../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn(), remove: jest.fn(), save: jest.fn() diff --git a/server/sonar-web/src/main/js/app/components/__tests__/StartupModal-test.tsx b/server/sonar-web/src/main/js/app/components/__tests__/StartupModal-test.tsx index e61ab79265a..638dc91f0d4 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/StartupModal-test.tsx +++ b/server/sonar-web/src/main/js/app/components/__tests__/StartupModal-test.tsx @@ -18,13 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { shallow, ShallowWrapper } from 'enzyme'; +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { hasMessage } from 'sonar-ui-common/helpers/l10n'; +import { save, get } from 'sonar-ui-common/helpers/storage'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { StartupModal, ModalKey } from '../StartupModal'; import { showLicense } from '../../../api/marketplace'; -import { save, get } from '../../../helpers/storage'; -import { hasMessage } from '../../../helpers/l10n'; -import { waitAndUpdate } from '../../../helpers/testUtils'; -import { differenceInDays, toShortNotSoISOString } from '../../../helpers/dates'; import { EditionKey } from '../../../apps/marketplace/utils'; import { mockOrganization, mockRouter } from '../../../helpers/testMocks'; @@ -32,21 +33,22 @@ jest.mock('../../../api/marketplace', () => ({ showLicense: jest.fn().mockResolvedValue(undefined) })); -jest.mock('../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn(), save: jest.fn() })); -jest.mock('../../../helpers/l10n', () => ({ +jest.mock('sonar-ui-common/helpers/l10n', () => ({ hasMessage: jest.fn().mockReturnValue(true) })); -jest.mock('../../../helpers/dates', () => ({ - differenceInDays: jest.fn().mockReturnValue(1), +jest.mock('sonar-ui-common/helpers/dates', () => ({ parseDate: jest.fn().mockReturnValue('parsed-date'), toShortNotSoISOString: jest.fn().mockReturnValue('short-not-iso-date') })); +jest.mock('date-fns/difference_in_days', () => jest.fn().mockReturnValue(1)); + const LOGGED_IN_USER: T.LoggedInUser = { groups: [], isLoggedIn: true, diff --git a/server/sonar-web/src/main/js/app/components/a11y/A11ySkipTarget.tsx b/server/sonar-web/src/main/js/app/components/a11y/A11ySkipTarget.tsx index d660403288a..09ed9a377d4 100644 --- a/server/sonar-web/src/main/js/app/components/a11y/A11ySkipTarget.tsx +++ b/server/sonar-web/src/main/js/app/components/a11y/A11ySkipTarget.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { A11yContext } from './A11yContext'; -import { translate } from '../../../helpers/l10n'; interface Props { anchor: string; diff --git a/server/sonar-web/src/main/js/app/components/a11y/__tests__/A11yProvider-test.tsx b/server/sonar-web/src/main/js/app/components/a11y/__tests__/A11yProvider-test.tsx index 22b5e650320..45bee7d508b 100644 --- a/server/sonar-web/src/main/js/app/components/a11y/__tests__/A11yProvider-test.tsx +++ b/server/sonar-web/src/main/js/app/components/a11y/__tests__/A11yProvider-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { A11yContextShape } from '../A11yContext'; import A11yProvider from '../A11yProvider'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; const link1 = { key: 'link1', label: 'Link 1', weight: 0 }; const link2 = { key: 'link2', label: 'Link 2', weight: -10 }; diff --git a/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopup.tsx b/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopup.tsx index 470bc29d579..97bd37fff33 100644 --- a/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopup.tsx +++ b/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopup.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import ProductNewsMenuItem from './ProductNewsMenuItem'; import { SuggestionsContext } from './SuggestionsContext'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; import { isSonarCloud } from '../../../helpers/system'; -import { DropdownOverlay } from '../../../components/controls/Dropdown'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopupHelper.tsx b/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopupHelper.tsx index be13e9494ef..2b894d58996 100644 --- a/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopupHelper.tsx +++ b/server/sonar-web/src/main/js/app/components/embed-docs-modal/EmbedDocsPopupHelper.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { ButtonLink } from '../../../components/ui/buttons'; -import Toggler from '../../../components/controls/Toggler'; -import HelpIcon from '../../../components/icons-components/HelpIcon'; -import { lazyLoad } from '../../../components/lazyLoad'; -import { translate } from '../../../helpers/l10n'; +import HelpIcon from 'sonar-ui-common/components/icons/HelpIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const EmbedDocsPopup = lazyLoad(() => import('./EmbedDocsPopup')); diff --git a/server/sonar-web/src/main/js/app/components/embed-docs-modal/ProductNewsMenuItem.tsx b/server/sonar-web/src/main/js/app/components/embed-docs-modal/ProductNewsMenuItem.tsx index 03574dbbfa4..2fd2e729b66 100644 --- a/server/sonar-web/src/main/js/app/components/embed-docs-modal/ProductNewsMenuItem.tsx +++ b/server/sonar-web/src/main/js/app/components/embed-docs-modal/ProductNewsMenuItem.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { fetchPrismicRefs, fetchPrismicNews, PrismicNews } from '../../../api/news'; import { getGlobalSettingValue, Store } from '../../../store/rootReducer'; import DateFormatter from '../../../components/intl/DateFormatter'; -import ChevronRightIcon from '../../../components/icons-components/ChevronRightcon'; import PlaceholderBar from '../../../components/ui/PlaceholderBar'; -import { translate } from '../../../helpers/l10n'; interface OwnProps { tag?: string; diff --git a/server/sonar-web/src/main/js/app/components/embed-docs-modal/__tests__/ProductNewsMenuItem-test.tsx b/server/sonar-web/src/main/js/app/components/embed-docs-modal/__tests__/ProductNewsMenuItem-test.tsx index fc7e3b4abf5..32c2ae9ec41 100644 --- a/server/sonar-web/src/main/js/app/components/embed-docs-modal/__tests__/ProductNewsMenuItem-test.tsx +++ b/server/sonar-web/src/main/js/app/components/embed-docs-modal/__tests__/ProductNewsMenuItem-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ProductNewsMenuItem } from '../ProductNewsMenuItem'; import { fetchPrismicRefs, fetchPrismicNews } from '../../../../api/news'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/news', () => ({ fetchPrismicRefs: jest.fn().mockResolvedValue({ id: 'master', ref: 'master-ref' }), diff --git a/server/sonar-web/src/main/js/app/components/extensions/Extension.tsx b/server/sonar-web/src/main/js/app/components/extensions/Extension.tsx index c0eb4175997..da994657b3d 100644 --- a/server/sonar-web/src/main/js/app/components/extensions/Extension.tsx +++ b/server/sonar-web/src/main/js/app/components/extensions/Extension.tsx @@ -21,12 +21,13 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { injectIntl, InjectedIntlProps } from 'react-intl'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import getStore from '../../utils/getStore'; import { Location, Router, withRouter } from '../../../components/hoc/withRouter'; import { getExtensionStart } from '../../../helpers/extensions'; import { addGlobalErrorMessage } from '../../../store/globalMessages'; -import { translate } from '../../../helpers/l10n'; import { Store, getCurrentUser } from '../../../store/rootReducer'; +import * as theme from '../../theme'; interface Props extends InjectedIntlProps { currentUser: T.CurrentUser; @@ -72,6 +73,7 @@ export class Extension extends React.PureComponent<Props, State> { intl: this.props.intl, location: this.props.location, router: this.props.router, + theme, ...this.props.options }); diff --git a/server/sonar-web/src/main/js/app/components/extensions/__tests__/Extension-test.tsx b/server/sonar-web/src/main/js/app/components/extensions/__tests__/Extension-test.tsx index 42e27ab3a3e..cdf5d4b0c9b 100644 --- a/server/sonar-web/src/main/js/app/components/extensions/__tests__/Extension-test.tsx +++ b/server/sonar-web/src/main/js/app/components/extensions/__tests__/Extension-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { Extension } from '../Extension'; import { mockCurrentUser, mockLocation, mockRouter } from '../../../../helpers/testMocks'; import { getExtensionStart } from '../../../../helpers/extensions'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../helpers/extensions', () => ({ getExtensionStart: jest.fn().mockResolvedValue(jest.fn()) diff --git a/server/sonar-web/src/main/js/app/components/extensions/exposeLibraries.ts b/server/sonar-web/src/main/js/app/components/extensions/exposeLibraries.ts index 93a942fbbd3..2a74c8b9870 100644 --- a/server/sonar-web/src/main/js/app/components/extensions/exposeLibraries.ts +++ b/server/sonar-web/src/main/js/app/components/extensions/exposeLibraries.ts @@ -20,11 +20,52 @@ import * as ReactRedux from 'react-redux'; import * as ReactRouter from 'react-router'; import { FormattedMessage } from 'react-intl'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; +import AlertWarnIcon from 'sonar-ui-common/components/icons/AlertWarnIcon'; +import CheckIcon from 'sonar-ui-common/components/icons/CheckIcon'; +import ClearIcon from 'sonar-ui-common/components/icons/ClearIcon'; +import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import PlusCircleIcon from 'sonar-ui-common/components/icons/PlusCircleIcon'; +import HelpIcon from 'sonar-ui-common/components/icons/HelpIcon'; +import LockIcon from 'sonar-ui-common/components/icons/LockIcon'; +import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import PullRequestIcon from 'sonar-ui-common/components/icons/PullRequestIcon'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import * as request from 'sonar-ui-common/helpers/request'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { + EditButton, + Button, + SubmitButton, + ResetButtonLink +} from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; +import Level from 'sonar-ui-common/components/ui/Level'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; +import Rating from 'sonar-ui-common/components/ui/Rating'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; +import ReloadButton from 'sonar-ui-common/components/controls/ReloadButton'; import throwGlobalError from '../../utils/throwGlobalError'; import addGlobalSuccessMessage from '../../utils/addGlobalSuccessMessage'; import Suggestions from '../embed-docs-modal/Suggestions'; import * as measures from '../../../helpers/measures'; -import * as request from '../../../helpers/request'; import { getBranchLikeQuery, isBranch, @@ -44,46 +85,13 @@ import DateFormatter from '../../../components/intl/DateFormatter'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; import Favorite from '../../../components/controls/Favorite'; import HomePageSelect from '../../../components/controls/HomePageSelect'; -import ListFooter from '../../../components/controls/ListFooter'; -import Modal from '../../../components/controls/Modal'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import SearchBox from '../../../components/controls/SearchBox'; +import BranchIcon from '../../../components/icons-components/BranchIcon'; import Select from '../../../components/controls/Select'; -import Tooltip from '../../../components/controls/Tooltip'; import SelectList from '../../../components/SelectList/SelectList'; import CoverageRating from '../../../components/ui/CoverageRating'; -import DuplicationsRating from '../../../components/ui/DuplicationsRating'; -import Level from '../../../components/ui/Level'; -import { EditButton, Button, SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import Checkbox from '../../../components/controls/Checkbox'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Dropdown from '../../../components/controls/Dropdown'; -import ReloadButton from '../../../components/controls/ReloadButton'; -import AlertErrorIcon from '../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; -import AlertWarnIcon from '../../../components/icons-components/AlertWarnIcon'; -import CheckIcon from '../../../components/icons-components/CheckIcon'; -import ClearIcon from '../../../components/icons-components/ClearIcon'; -import SecurityHotspotIcon from '../../../components/icons-components/SecurityHotspotIcon'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import PlusCircleIcon from '../../../components/icons-components/PlusCircleIcon'; -import HelpIcon from '../../../components/icons-components/HelpIcon'; -import LockIcon from '../../../components/icons-components/LockIcon'; -import DetachIcon from '../../../components/icons-components/DetachIcon'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import Rating from '../../../components/ui/Rating'; -import BranchIcon from '../../../components/icons-components/BranchIcon'; -import LongLivingBranchIcon from '../../../components/icons-components/LongLivingBranchIcon'; import NotFound from '../../../app/components/NotFound'; -import PullRequestIcon from '../../../components/icons-components/PullRequestIcon'; -import ActionsDropdown, { ActionsDropdownItem } from '../../../components/controls/ActionsDropdown'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; -import SimpleModal from '../../../components/controls/SimpleModal'; import SearchSelect from '../../../components/controls/SearchSelect'; -import RadioToggle from '../../../components/controls/RadioToggle'; import A11ySkipTarget from '../a11y/A11ySkipTarget'; -import { Alert } from '../../../components/ui/Alert'; const exposeLibraries = () => { const global = window as any; @@ -103,7 +111,7 @@ const exposeLibraries = () => { getComponentIssuesUrl, getRulesUrl }; - global.SonarMeasures = measures; + global.SonarMeasures = { ...measures, formatMeasure }; global.SonarRequest = { ...request, throwGlobalError, addGlobalSuccessMessage }; global.SonarComponents = { A11ySkipTarget, diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.tsx index 02e9d6a01de..936977d2ff2 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ContextNavBar from 'sonar-ui-common/components/ui/ContextNavBar'; import ComponentNavHeader from './ComponentNavHeader'; import ComponentNavMeta from './ComponentNavMeta'; import ComponentNavMenu from './ComponentNavMenu'; import ComponentNavBgTaskNotif from './ComponentNavBgTaskNotif'; import RecentHistory from '../../RecentHistory'; -import * as theme from '../../../theme'; -import ContextNavBar from '../../../../components/nav/ContextNavBar'; +import { rawSizes } from '../../../theme'; import { STATUSES } from '../../../../apps/background-tasks/constants'; import './ComponentNav.css'; @@ -68,6 +68,7 @@ export default class ComponentNav extends React.PureComponent<Props> { render() { const { component, currentBranchLike, currentTask, isInProgress, isPending } = this.props; + const contextNavHeight = rawSizes.contextNavHeightRaw; let notifComponent; if (isInProgress || isPending || (currentTask && currentTask.status === STATUSES.FAILED)) { notifComponent = ( @@ -82,7 +83,7 @@ export default class ComponentNav extends React.PureComponent<Props> { } return ( <ContextNavBar - height={notifComponent ? theme.contextNavHeightRaw + 30 : theme.contextNavHeightRaw} + height={notifComponent ? contextNavHeight + 30 : contextNavHeight} id="context-navigation" notif={notifComponent}> <div className="navbar-context-justified"> diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBgTaskNotif.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBgTaskNotif.tsx index 3f9c56757c4..63f4f7d8293 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBgTaskNotif.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBgTaskNotif.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; +import { hasMessage, translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import ComponentNavLicenseNotif from './ComponentNavLicenseNotif'; import { STATUSES } from '../../../../apps/background-tasks/constants'; import { getComponentBackgroundTaskUrl } from '../../../../helpers/urls'; -import { hasMessage, translate } from '../../../../helpers/l10n'; -import { Alert } from '../../../../components/ui/Alert'; interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranch.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranch.tsx index 546558794e6..46e4cf570e4 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranch.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranch.tsx @@ -18,23 +18,23 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import PlusCircleIcon from 'sonar-ui-common/components/icons/PlusCircleIcon'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import ComponentNavBranchesMenu from './ComponentNavBranchesMenu'; -import DocTooltip from '../../../../components/docs/DocTooltip'; -import * as theme from '../../../theme'; import BranchIcon from '../../../../components/icons-components/BranchIcon'; +import DocTooltip from '../../../../components/docs/DocTooltip'; +import { colors } from '../../../theme'; import { isShortLivingBranch, isSameBranchLike, getBranchLikeDisplayName, isPullRequest } from '../../../../helpers/branches'; -import { translate } from '../../../../helpers/l10n'; -import PlusCircleIcon from '../../../../components/icons-components/PlusCircleIcon'; -import HelpTooltip from '../../../../components/controls/HelpTooltip'; -import Toggler from '../../../../components/controls/Toggler'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; import { isSonarCloud } from '../../../../helpers/system'; import { getPortfolioAdminUrl } from '../../../../helpers/urls'; import { withAppState } from '../../../../components/hoc/withAppState'; @@ -151,12 +151,12 @@ export class ComponentNavBranch extends React.PureComponent<Props, State> { <BranchIcon branchLike={currentBranchLike} className="little-spacer-right" - fill={theme.gray80} + fill={colors.gray80} /> <span className="note">{displayName}</span> {configuration && configuration.showSettings && ( <HelpTooltip className="spacer-left" overlay={this.renderOverlay()}> - <PlusCircleIcon className="text-middle" fill={theme.blue} size={12} /> + <PlusCircleIcon className="text-middle" fill={colors.blue} size={12} /> </HelpTooltip> )} </div> @@ -168,13 +168,13 @@ export class ComponentNavBranch extends React.PureComponent<Props, State> { <BranchIcon branchLike={currentBranchLike} className="little-spacer-right" - fill={theme.gray80} + fill={colors.gray80} /> <span className="note">{displayName}</span> <DocTooltip className="spacer-left" doc={import(/* webpackMode: "eager" */ 'Docs/tooltips/branches/no-branch-support.md')}> - <PlusCircleIcon fill={theme.gray71} size={12} /> + <PlusCircleIcon fill={colors.gray71} size={12} /> </DocTooltip> </div> ); @@ -188,7 +188,7 @@ export class ComponentNavBranch extends React.PureComponent<Props, State> { <DocTooltip className="spacer-left" doc={import(/* webpackMode: "eager" */ 'Docs/tooltips/branches/single-branch.md')}> - <PlusCircleIcon fill={theme.blue} size={12} /> + <PlusCircleIcon fill={colors.blue} size={12} /> </DocTooltip> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenu.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenu.tsx index 48fed14c4cd..b5fee98b100 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenu.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenu.tsx @@ -19,6 +19,11 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import ComponentNavBranchesMenuItem from './ComponentNavBranchesMenuItem'; import { sortBranchesAsTree, @@ -29,12 +34,7 @@ import { isPullRequest, isBranch } from '../../../../helpers/branches'; -import { scrollToElement } from '../../../../helpers/scrolling'; -import { translate } from '../../../../helpers/l10n'; import { getBranchLikeUrl } from '../../../../helpers/urls'; -import SearchBox from '../../../../components/controls/SearchBox'; -import HelpTooltip from '../../../../components/controls/HelpTooltip'; -import { DropdownOverlay } from '../../../../components/controls/Dropdown'; import { withRouter, Router } from '../../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenuItem.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenuItem.tsx index 8455831806e..021cbfce88a 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenuItem.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBranchesMenuItem.tsx @@ -20,8 +20,9 @@ import * as React from 'react'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import BranchStatus from '../../../../components/common/BranchStatus'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import BranchIcon from '../../../../components/icons-components/BranchIcon'; +import BranchStatus from '../../../../components/common/BranchStatus'; import { isShortLivingBranch, getBranchLikeDisplayName, @@ -29,7 +30,6 @@ import { isMainBranch, isPullRequest } from '../../../../helpers/branches'; -import { translate } from '../../../../helpers/l10n'; import { getBranchLikeUrl } from '../../../../helpers/urls'; export interface Props { diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx index a2a793eeaf6..0cec4d3a348 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx @@ -18,16 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { connect } from 'react-redux'; import { Link } from 'react-router'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import ComponentNavBranch from './ComponentNavBranch'; -import QualifierIcon from '../../../../components/icons-components/QualifierIcon'; import { getOrganizationByKey, Store } from '../../../../store/rootReducer'; import OrganizationAvatar from '../../../../components/common/OrganizationAvatar'; import OrganizationHelmet from '../../../../components/common/OrganizationHelmet'; import OrganizationLink from '../../../../components/ui/OrganizationLink'; import { sanitizeAlmId } from '../../../../helpers/almIntegrations'; -import { getProjectUrl, getBaseUrl } from '../../../../helpers/urls'; +import { getProjectUrl } from '../../../../helpers/urls'; import { isSonarCloud } from '../../../../helpers/system'; import { isMainBranch } from '../../../../helpers/branches'; diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavLicenseNotif.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavLicenseNotif.tsx index 094142356d6..95c6bcce7c4 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavLicenseNotif.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavLicenseNotif.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { isValidLicense } from '../../../../api/marketplace'; import { withAppState } from '../../../../components/hoc/withAppState'; -import { Alert } from '../../../../components/ui/Alert'; interface Props { appState: Pick<T.AppState, 'canAdmin'>; diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.tsx index 10ab55ba621..7e43462d14a 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMenu.tsx @@ -18,19 +18,19 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import NavBarTabs from 'sonar-ui-common/components/ui/NavBarTabs'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import Dropdown from '../../../../components/controls/Dropdown'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import { withAppState } from '../../../../components/hoc/withAppState'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; -import NavBarTabs from '../../../../components/nav/NavBarTabs'; import { isShortLivingBranch, isPullRequest, isMainBranch, getBranchLikeQuery } from '../../../../helpers/branches'; -import { translate } from '../../../../helpers/l10n'; import { isSonarCloud } from '../../../../helpers/system'; const SETTINGS_URLS = [ diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.tsx index 58497250583..ba9d0af996d 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.tsx @@ -18,21 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import ComponentNavWarnings from './ComponentNavWarnings'; import BranchStatus from '../../../../components/common/BranchStatus'; import DateTimeFormatter from '../../../../components/intl/DateTimeFormatter'; import Favorite from '../../../../components/controls/Favorite'; import HomePageSelect from '../../../../components/controls/HomePageSelect'; -import Tooltip from '../../../../components/controls/Tooltip'; -import DetachIcon from '../../../../components/icons-components/DetachIcon'; import { isShortLivingBranch, isLongLivingBranch, isMainBranch, isPullRequest } from '../../../../helpers/branches'; -import { translate } from '../../../../helpers/l10n'; import { isLoggedIn } from '../../../../helpers/users'; import { getCurrentUser, Store } from '../../../../store/rootReducer'; diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavWarnings.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavWarnings.tsx index 18878b4fc81..39439a91b58 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavWarnings.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavWarnings.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import WarningIcon from 'sonar-ui-common/components/icons/WarningIcon'; import { FormattedMessage } from 'react-intl'; -import { lazyLoad } from '../../../../components/lazyLoad'; -import WarningIcon from '../../../../components/icons-components/WarningIcon'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const AnalysisWarningsModal = lazyLoad(() => import('../../../../components/common/AnalysisWarningsModal') diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBgTaskNotif-test.tsx b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBgTaskNotif-test.tsx index 0fd089c3df6..08f7dc6c76e 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBgTaskNotif-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBgTaskNotif-test.tsx @@ -17,17 +17,15 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* eslint-disable import/first */ -jest.mock('../../../../../helpers/l10n', () => { - const l10n = require.requireActual('../../../../../helpers/l10n'); - l10n.hasMessage = jest.fn(() => true); - return l10n; -}); - import * as React from 'react'; import { shallow } from 'enzyme'; import ComponentNavBgTaskNotif from '../ComponentNavBgTaskNotif'; +jest.mock('sonar-ui-common/helpers/l10n', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/l10n'), + hasMessage: jest.fn().mockReturnValue(true) +})); + const component = { analysisDate: '2017-01-02T00:00:00.000Z', breadcrumbs: [], diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranch-test.tsx b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranch-test.tsx index 59ef798f2d6..6e37c64541d 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranch-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranch-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { ComponentNavBranch } from '../ComponentNavBranch'; -import { click } from '../../../../../helpers/testUtils'; import { isSonarCloud } from '../../../../../helpers/system'; import { mockPullRequest, diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranchesMenu-test.tsx b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranchesMenu-test.tsx index 24b0411de31..28e9e979c57 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranchesMenu-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavBranchesMenu-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { elementKeydown } from 'sonar-ui-common/helpers/testUtils'; import { ComponentNavBranchesMenu } from '../ComponentNavBranchesMenu'; -import { elementKeydown } from '../../../../../helpers/testUtils'; import { mockPullRequest, mockShortLivingBranch, diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavLicenseNotif-test.tsx b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavLicenseNotif-test.tsx index c670e9e1a0a..9e6590bf91a 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavLicenseNotif-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNavLicenseNotif-test.tsx @@ -19,15 +19,14 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ComponentNavLicenseNotif } from '../ComponentNavLicenseNotif'; import { isValidLicense } from '../../../../../api/marketplace'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; -jest.mock('../../../../../helpers/l10n', () => { - const l10n = require.requireActual('../../../../../helpers/l10n'); - l10n.hasMessage = jest.fn(() => true); - return l10n; -}); +jest.mock('sonar-ui-common/helpers/l10n', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/l10n'), + hasMessage: jest.fn().mockReturnValue(true) +})); jest.mock('../../../../../api/marketplace', () => ({ isValidLicense: jest.fn().mockResolvedValue({ isValidLicense: false }) diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.tsx index d106c1236d6..343687c1c9a 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNav.tsx @@ -19,15 +19,16 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import NavBar from 'sonar-ui-common/components/ui/NavBar'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import GlobalNavBranding, { SonarCloudNavBranding } from './GlobalNavBranding'; import GlobalNavMenu from './GlobalNavMenu'; import GlobalNavExplore from './GlobalNavExplore'; import GlobalNavUserContainer from './GlobalNavUserContainer'; import Search from '../../search/Search'; import EmbedDocsPopupHelper from '../../embed-docs-modal/EmbedDocsPopupHelper'; -import * as theme from '../../../theme'; -import NavBar from '../../../../components/nav/NavBar'; -import { lazyLoad } from '../../../../components/lazyLoad'; +import { rawSizes } from '../../../theme'; import { fetchPrismicRefs, fetchPrismicFeatureNews, @@ -44,7 +45,6 @@ import { isSonarCloud } from '../../../../helpers/system'; import { isLoggedIn } from '../../../../helpers/users'; import { OnboardingContext } from '../../OnboardingContext'; import { setCurrentUserSetting } from '../../../../store/users'; -import { parseDate } from '../../../../helpers/dates'; import './GlobalNav.css'; const GlobalNavPlus = lazyLoad(() => import('./GlobalNavPlus'), 'GlobalNavPlus'); @@ -174,7 +174,7 @@ export class GlobalNav extends React.PureComponent<Props, State> { const { appState, currentUser } = this.props; const { news } = this.state; return ( - <NavBar className="navbar-global" height={theme.globalNavHeightRaw} id="global-navigation"> + <NavBar className="navbar-global" height={rawSizes.globalNavHeightRaw} id="global-navigation"> {isSonarCloud() ? <SonarCloudNavBranding /> : <GlobalNavBranding />} <GlobalNavMenu {...this.props} /> diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx index e3038b1b549..b17ccdbe76c 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { Link } from 'react-router'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { getGlobalSettingValue, Store } from '../../../../store/rootReducer'; -import { translate } from '../../../../helpers/l10n'; -import { getBaseUrl } from '../../../../helpers/urls'; interface StateProps { customLogoUrl?: string; diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavExplore.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavExplore.tsx index 0516ed1227b..f1d89ef36ab 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavExplore.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavExplore.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { location: { pathname: string }; diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.tsx index 1c8b5f11448..7595b890b7d 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { Link } from 'react-router'; -import { translate } from '../../../../helpers/l10n'; -import { getQualityGatesUrl } from '../../../../helpers/urls'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import { isMySet } from '../../../../apps/issues/utils'; -import Dropdown from '../../../../components/controls/Dropdown'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; import { isSonarCloud } from '../../../../helpers/system'; import { isLoggedIn } from '../../../../helpers/users'; +import { getQualityGatesUrl } from '../../../../helpers/urls'; interface Props { appState: Pick<T.AppState, 'canAdmin' | 'globalPages' | 'organizationsEnabled' | 'qualifiers'>; diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavPlus.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavPlus.tsx index ab374580b9d..6db1ba0603e 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavPlus.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavPlus.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import PlusIcon from 'sonar-ui-common/components/icons/PlusIcon'; import { Link, withRouter, WithRouterProps } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import CreateFormShim from '../../../../apps/portfolio/components/CreateFormShim'; -import Dropdown from '../../../../components/controls/Dropdown'; -import PlusIcon from '../../../../components/icons-components/PlusIcon'; import { OnboardingContextShape } from '../../OnboardingContext'; import { getComponentNavigation } from '../../../../api/nav'; import { getExtensionStart } from '../../../../helpers/extensions'; -import { translate } from '../../../../helpers/l10n'; import { isSonarCloud } from '../../../../helpers/system'; import { getPortfolioAdminUrl, getPortfolioUrl } from '../../../../helpers/urls'; import { hasGlobalPermission } from '../../../../helpers/users'; diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.tsx b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.tsx index 5be0e49a400..4cff2ebea7e 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.tsx @@ -20,12 +20,12 @@ import * as React from 'react'; import { sortBy } from 'lodash'; import { Link } from 'react-router'; -import * as theme from '../../../theme'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; +import { rawSizes } from '../../../theme'; import Avatar from '../../../../components/ui/Avatar'; import OrganizationListItem from '../../../../components/ui/OrganizationListItem'; -import { translate } from '../../../../helpers/l10n'; -import { getBaseUrl } from '../../../../helpers/urls'; -import Dropdown from '../../../../components/controls/Dropdown'; import { isLoggedIn } from '../../../../helpers/users'; import { withRouter, Router } from '../../../../components/hoc/withRouter'; @@ -102,7 +102,7 @@ export class GlobalNavUser extends React.PureComponent<Props> { <Avatar hash={currentUser.avatar} name={currentUser.name} - size={theme.globalNavContentHeightRaw} + size={rawSizes.globalNavContentHeightRaw} /> </a> </Dropdown> diff --git a/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNav-test.tsx b/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNav-test.tsx index 14c200dff93..5e26c9b94f5 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNav-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNav-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, click } from 'sonar-ui-common/helpers/testUtils'; import { GlobalNav } from '../GlobalNav'; import { isSonarCloud } from '../../../../../helpers/system'; -import { waitAndUpdate, click } from '../../../../../helpers/testUtils'; import { fetchPrismicRefs, fetchPrismicFeatureNews, diff --git a/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNavPlus-test.tsx b/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNavPlus-test.tsx index ac376d0a8dc..83c47c47563 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNavPlus-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/global/__tests__/GlobalNavPlus-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { GlobalNavPlus } from '../GlobalNavPlus'; import { isSonarCloud } from '../../../../../helpers/system'; import { mockRouter } from '../../../../../helpers/testMocks'; -import { click } from '../../../../../helpers/testUtils'; jest.mock('../../../../../helpers/system', () => ({ isSonarCloud: jest.fn() diff --git a/server/sonar-web/src/main/js/app/components/nav/settings/PendingPluginsActionNotif.tsx b/server/sonar-web/src/main/js/app/components/nav/settings/PendingPluginsActionNotif.tsx index 168c76d265b..8b3250b0d1b 100644 --- a/server/sonar-web/src/main/js/app/components/nav/settings/PendingPluginsActionNotif.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/settings/PendingPluginsActionNotif.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import InstanceMessage from '../../../../components/common/InstanceMessage'; import RestartButton from '../../../../components/common/RestartButton'; -import { Alert } from '../../../../components/ui/Alert'; -import { Button } from '../../../../components/ui/buttons'; import { cancelPendingPlugins, PluginPendingResult } from '../../../../api/plugins'; -import { translate } from '../../../../helpers/l10n'; interface Props { fetchSystemStatus: () => void; diff --git a/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.tsx b/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.tsx index 29127e59ac0..c3cfdfe81e2 100644 --- a/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.tsx @@ -20,15 +20,15 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { IndexLink, Link } from 'react-router'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import ContextNavBar from 'sonar-ui-common/components/ui/ContextNavBar'; +import NavBarTabs from 'sonar-ui-common/components/ui/NavBarTabs'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import PendingPluginsActionNotif from './PendingPluginsActionNotif'; import SystemRestartNotif from './SystemRestartNotif'; -import ContextNavBar from '../../../../components/nav/ContextNavBar'; -import Dropdown from '../../../../components/controls/Dropdown'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; -import NavBarTabs from '../../../../components/nav/NavBarTabs'; -import * as theme from '../../../theme'; +import { rawSizes } from '../../../theme'; import { PluginPendingResult } from '../../../../api/plugins'; -import { translate } from '../../../../helpers/l10n'; interface Props { extensions: T.Extension[]; @@ -237,7 +237,7 @@ export default class SettingsNav extends React.PureComponent<Props> { pendingPlugins.installing.length + pendingPlugins.removing.length + pendingPlugins.updating.length; - + const contextNavHeight = rawSizes.contextNavHeightRaw; let notifComponent; if (this.props.systemStatus === 'RESTARTING') { notifComponent = <SystemRestartNotif />; @@ -254,7 +254,7 @@ export default class SettingsNav extends React.PureComponent<Props> { return ( <ContextNavBar - height={notifComponent ? theme.contextNavHeightRaw + 30 : theme.contextNavHeightRaw} + height={notifComponent ? contextNavHeight + 30 : contextNavHeight} id="context-navigation" notif={notifComponent}> <header className="navbar-context-header"> diff --git a/server/sonar-web/src/main/js/app/components/nav/settings/SystemRestartNotif.tsx b/server/sonar-web/src/main/js/app/components/nav/settings/SystemRestartNotif.tsx index 10396631b2d..cef5c5f9906 100644 --- a/server/sonar-web/src/main/js/app/components/nav/settings/SystemRestartNotif.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/settings/SystemRestartNotif.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import { Alert } from '../../../../components/ui/Alert'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { getInstance } from '../../../../helpers/system'; export default function SystemRestartNotif() { diff --git a/server/sonar-web/src/main/js/app/components/nav/settings/__tests__/PendingPluginsActionNotif-test.tsx b/server/sonar-web/src/main/js/app/components/nav/settings/__tests__/PendingPluginsActionNotif-test.tsx index ed7aea757a6..d8a2390813e 100644 --- a/server/sonar-web/src/main/js/app/components/nav/settings/__tests__/PendingPluginsActionNotif-test.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/settings/__tests__/PendingPluginsActionNotif-test.tsx @@ -20,7 +20,7 @@ /* eslint-disable import/order */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import PendingPluginsActionNotif from '../PendingPluginsActionNotif'; jest.mock('../../../../../api/plugins', () => ({ diff --git a/server/sonar-web/src/main/js/app/components/notifications/NavLatestNotification.tsx b/server/sonar-web/src/main/js/app/components/notifications/NavLatestNotification.tsx index 7617d416ebc..a78b8f5a9bb 100644 --- a/server/sonar-web/src/main/js/app/components/notifications/NavLatestNotification.tsx +++ b/server/sonar-web/src/main/js/app/components/notifications/NavLatestNotification.tsx @@ -18,11 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ClearIcon from '../../../components/icons-components/ClearIcon'; -import NotificationIcon from '../../../components/icons-components/NotificationIcon'; +import * as differenceInSeconds from 'date-fns/difference_in_seconds'; +import NotificationIcon from 'sonar-ui-common/components/icons/NotificationIcon'; +import ClearIcon from 'sonar-ui-common/components/icons/ClearIcon'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { PrismicFeatureNews } from '../../../api/news'; -import { differenceInSeconds, parseDate } from '../../../helpers/dates'; -import { translate } from '../../../helpers/l10n'; import './notifications.css'; interface Props { diff --git a/server/sonar-web/src/main/js/app/components/notifications/NotificationsSidebar.tsx b/server/sonar-web/src/main/js/app/components/notifications/NotificationsSidebar.tsx index 7463fae9b79..93418181434 100644 --- a/server/sonar-web/src/main/js/app/components/notifications/NotificationsSidebar.tsx +++ b/server/sonar-web/src/main/js/app/components/notifications/NotificationsSidebar.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import * as differenceInSeconds from 'date-fns/difference_in_seconds'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import DateFormatter from '../../../components/intl/DateFormatter'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Modal from '../../../components/controls/Modal'; -import { ClearButton } from '../../../components/ui/buttons'; import { PrismicFeatureNews } from '../../../api/news'; -import { differenceInSeconds } from '../../../helpers/dates'; -import { translate } from '../../../helpers/l10n'; export interface Props { fetchMoreFeatureNews: () => void; @@ -39,11 +39,12 @@ export interface Props { export default function NotificationsSidebar(props: Props) { const { loading, loadingMore, news, notificationsLastReadDate, paging } = props; + const header = translate('embed_docs.whats_new'); return ( - <Modal onRequestClose={props.onClose}> + <Modal contentLabel={header} onRequestClose={props.onClose}> <div className="notifications-sidebar"> <div className="notifications-sidebar-top"> - <h3>{translate('embed_docs.whats_new')}</h3> + <h3>{header}</h3> <ClearButton className="button-tiny" iconProps={{ size: 12, thin: true }} diff --git a/server/sonar-web/src/main/js/app/components/notifications/__tests__/NavLatestNotification-test.tsx b/server/sonar-web/src/main/js/app/components/notifications/__tests__/NavLatestNotification-test.tsx index 3cd28500982..591a7ac15b7 100644 --- a/server/sonar-web/src/main/js/app/components/notifications/__tests__/NavLatestNotification-test.tsx +++ b/server/sonar-web/src/main/js/app/components/notifications/__tests__/NavLatestNotification-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import NavLatestNotification from '../NavLatestNotification'; import { PrismicFeatureNews } from '../../../../api/news'; -import { parseDate } from '../../../../helpers/dates'; it('should render correctly if there are new features, and the user has not opted out', () => { const wrapper = shallowRender(); diff --git a/server/sonar-web/src/main/js/app/components/notifications/__tests__/NotificationsSidebar-test.tsx b/server/sonar-web/src/main/js/app/components/notifications/__tests__/NotificationsSidebar-test.tsx index b2c6f1427a3..77f0d35997b 100644 --- a/server/sonar-web/src/main/js/app/components/notifications/__tests__/NotificationsSidebar-test.tsx +++ b/server/sonar-web/src/main/js/app/components/notifications/__tests__/NotificationsSidebar-test.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import NotificationsSidebar, { Props, isUnread, Notification, Feature } from '../NotificationsSidebar'; -import { parseDate } from '../../../../helpers/dates'; const news: Props['news'] = [ { diff --git a/server/sonar-web/src/main/js/app/components/notifications/__tests__/__snapshots__/NotificationsSidebar-test.tsx.snap b/server/sonar-web/src/main/js/app/components/notifications/__tests__/__snapshots__/NotificationsSidebar-test.tsx.snap index ddcd230ef57..4936ee19ea8 100644 --- a/server/sonar-web/src/main/js/app/components/notifications/__tests__/__snapshots__/NotificationsSidebar-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/notifications/__tests__/__snapshots__/NotificationsSidebar-test.tsx.snap @@ -124,6 +124,7 @@ exports[`#Notification should render correctly 2`] = ` exports[`#NotificationSidebar should render correctly if there are new features 1`] = ` <Modal + contentLabel="embed_docs.whats_new" onRequestClose={[MockFunction]} > <div @@ -164,6 +165,7 @@ exports[`#NotificationSidebar should render correctly if there are new features exports[`#NotificationSidebar should render correctly if there are new features 2`] = ` <Modal + contentLabel="embed_docs.whats_new" onRequestClose={[MockFunction]} > <div diff --git a/server/sonar-web/src/main/js/app/components/search/Search.tsx b/server/sonar-web/src/main/js/app/components/search/Search.tsx index 299dacc1f58..028241d51e9 100644 --- a/server/sonar-web/src/main/js/app/components/search/Search.tsx +++ b/server/sonar-web/src/main/js/app/components/search/Search.tsx @@ -18,21 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ClockIcon from 'sonar-ui-common/components/icons/ClockIcon'; import * as key from 'keymaster'; import { debounce, keyBy, uniqBy } from 'lodash'; import { FormattedMessage } from 'react-intl'; import { withRouter, WithRouterProps } from 'react-router'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import OutsideClickHandler from 'sonar-ui-common/components/controls/OutsideClickHandler'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import { sortQualifiers, More, Results, ComponentResult } from './utils'; import RecentHistory from '../RecentHistory'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { DropdownOverlay } from '../../../components/controls/Dropdown'; -import ClockIcon from '../../../components/icons-components/ClockIcon'; -import OutsideClickHandler from '../../../components/controls/OutsideClickHandler'; -import SearchBox from '../../../components/controls/SearchBox'; -import { lazyLoad } from '../../../components/lazyLoad'; import { getSuggestions } from '../../../api/components'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { scrollToElement } from '../../../helpers/scrolling'; import { getProjectUrl, getCodeUrl } from '../../../helpers/urls'; import './Search.css'; diff --git a/server/sonar-web/src/main/js/app/components/search/SearchResult.tsx b/server/sonar-web/src/main/js/app/components/search/SearchResult.tsx index 20fd40ae953..9821523e093 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchResult.tsx +++ b/server/sonar-web/src/main/js/app/components/search/SearchResult.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ClockIcon from 'sonar-ui-common/components/icons/ClockIcon'; +import FavoriteIcon from 'sonar-ui-common/components/icons/FavoriteIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { Link } from 'react-router'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import { ComponentResult } from './utils'; -import FavoriteIcon from '../../../components/icons-components/FavoriteIcon'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import ClockIcon from '../../../components/icons-components/ClockIcon'; -import Tooltip from '../../../components/controls/Tooltip'; import { getProjectUrl, getCodeUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/app/components/search/SearchResults.tsx b/server/sonar-web/src/main/js/app/components/search/SearchResults.tsx index 672560a3c69..f56bcfb5718 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchResults.tsx +++ b/server/sonar-web/src/main/js/app/components/search/SearchResults.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SearchShowMore from './SearchShowMore'; import { sortQualifiers, More, ComponentResult, Results } from './utils'; -import { translate } from '../../../helpers/l10n'; export interface Props { allowMore: boolean; diff --git a/server/sonar-web/src/main/js/app/components/search/SearchShowMore.tsx b/server/sonar-web/src/main/js/app/components/search/SearchShowMore.tsx index d528a1a7369..964da6f4f45 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchShowMore.tsx +++ b/server/sonar-web/src/main/js/app/components/search/SearchShowMore.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import * as classNames from 'classnames'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { allowMore: boolean; @@ -65,7 +65,7 @@ export default class SearchShowMore extends React.PureComponent<Props> { <div className="pull-right text-muted-2 menu-footer-note"> <FormattedMessage defaultMessage={translate('search.show_more.hint')} - id={'search.show_more.hint'} + id="search.show_more.hint" values={{ key: <span className="shortcut-button shortcut-button-small">Enter</span> }} diff --git a/server/sonar-web/src/main/js/app/components/search/__tests__/Search-test.tsx b/server/sonar-web/src/main/js/app/components/search/__tests__/Search-test.tsx index 1dd07758c98..7e3aecaffeb 100644 --- a/server/sonar-web/src/main/js/app/components/search/__tests__/Search-test.tsx +++ b/server/sonar-web/src/main/js/app/components/search/__tests__/Search-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { elementKeydown } from 'sonar-ui-common/helpers/testUtils'; import { Search } from '../Search'; -import { elementKeydown } from '../../../../helpers/testUtils'; it('selects results', () => { const form = shallowRender(); diff --git a/server/sonar-web/src/main/js/app/components/search/__tests__/SearchShowMore-test.tsx b/server/sonar-web/src/main/js/app/components/search/__tests__/SearchShowMore-test.tsx index 01f4053c3bb..469f82c967e 100644 --- a/server/sonar-web/src/main/js/app/components/search/__tests__/SearchShowMore-test.tsx +++ b/server/sonar-web/src/main/js/app/components/search/__tests__/SearchShowMore-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import SearchShowMore from '../SearchShowMore'; -import { click } from '../../../../helpers/testUtils'; it('should render', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/app/index.ts b/server/sonar-web/src/main/js/app/index.ts index fd3639bcc05..36085143fe0 100644 --- a/server/sonar-web/src/main/js/app/index.ts +++ b/server/sonar-web/src/main/js/app/index.ts @@ -17,9 +17,9 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { installGlobal, DEFAULT_LANGUAGE, requestMessages } from '../helpers/l10n'; +import { installGlobal, DEFAULT_LANGUAGE, requestMessages } from 'sonar-ui-common/helpers/l10n'; +import { request, parseJSON } from 'sonar-ui-common/helpers/request'; import { installExtensionsHandler, installWebAnalyticsHandler } from '../helpers/extensionsHandler'; -import { request, parseJSON } from '../helpers/request'; import { getSystemStatus } from '../helpers/system'; import './styles/sonar.css'; diff --git a/server/sonar-web/src/main/js/app/styles/components/alerts.css b/server/sonar-web/src/main/js/app/styles/components/alerts.css deleted file mode 100644 index ca05d205291..00000000000 --- a/server/sonar-web/src/main/js/app/styles/components/alerts.css +++ /dev/null @@ -1,113 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.alert { - margin-bottom: var(--gridSize); - border: 1px solid; - border-radius: 2px; -} - -.alert.is-inline { - display: inline-flex; -} - -.alert:empty { - display: none; -} - -.alert-inner { - display: flex; - align-items: stretch; -} - -.alert-inner.is-banner { - min-width: var(--minPageWidth); - max-width: var(--maxPageWidth); - margin-left: auto; - margin-right: auto; - padding-left: var(--pagePadding); - padding-right: var(--pagePadding); - box-sizing: border-box; -} - -.alert-icon { - flex: 0 0 auto; - display: flex; - justify-content: center; - align-items: center; - width: calc(4 * var(--gridSize)); - border-right: 1px solid; -} - -.alert-icon.is-banner { - width: calc(2 * var(--gridSize)); - border-right: none; -} - -.alert-content { - flex: 1 0 0; - padding: var(--gridSize) calc(2 * var(--gridSize)); - overflow: auto; - text-align: left; -} - -.alert-content a, -.alert-content .button-link { - border-color: var(--darkBlue); -} - -.alert-error { - border-color: var(--alertBorderError); - background-color: var(--alertBackgroundError); - color: var(--alertTextError); -} - -.alert-error .alert-icon { - border-color: var(--alertBorderError); -} - -.alert-warning { - border-color: var(--alertBorderWarning); - background-color: var(--alertBackgroundWarning); - color: var(--alertTextWarning); -} - -.alert-warning .alert-icon { - border-color: var(--alertBorderWarning); -} - -.alert-info { - border-color: var(--alertBorderInfo); - background-color: var(--alertBackgroundInfo); - color: var(--alertTextInfo); -} - -.alert-info .alert-icon { - border-color: var(--alertBorderInfo); -} - -.alert-success { - border-color: var(--alertBorderSuccess); - background-color: var(--alertBackgroundSuccess); - color: var(--alertTextSuccess); -} - -.alert-success .alert-icon { - border-color: var(--alertBorderSuccess); -} diff --git a/server/sonar-web/src/main/js/app/styles/components/modals.css b/server/sonar-web/src/main/js/app/styles/components/modals.css deleted file mode 100644 index 0ded3991928..00000000000 --- a/server/sonar-web/src/main/js/app/styles/components/modals.css +++ /dev/null @@ -1,216 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.modal, -.ReactModal__Content { - position: fixed; - z-index: var(--modalZIndex); - top: 0; - left: 50%; - margin-left: -270px; - width: 540px; - background-color: #fff; - opacity: 0; - transition: all 0.2s ease; - border-radius: 3px; -} - -.modal:focus, -.ReactModal__Content:focus { - outline: none; -} - -.modal.in, -.ReactModal__Content--after-open { - top: 15%; - opacity: 1; -} - -.modal-small { - width: 450px; - margin-left: -225px; -} - -.modal-medium { - width: 830px; - margin-left: -415px; -} - -.modal-large { - width: calc(100% - 40px); - max-width: 1280px; - min-width: 1040px; - margin-left: 0; - transform: translateX(-50%); -} - -.modal-overlay, -.ReactModal__Overlay { - position: fixed; - z-index: var(--modalOverlayZIndex); - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: rgba(0, 0, 0, 0.7); - opacity: 0; - transition: all 0.2s ease; -} - -.modal-overlay.in, -.ReactModal__Overlay--after-open { - opacity: 1; -} - -.modal-no-backdrop { - background-color: transparent; -} - -.modal-open, -.ReactModal__Body--open { - overflow: hidden; - margin-right: var(--sbw); -} - -.modal-head { - padding: calc(4 * var(--gridSize)); - padding-bottom: 0; -} - -.modal-head h1, -.modal-head h2 { - margin: 0; - font-size: var(--bigFontSize); - font-weight: bold; - line-height: normal; -} - -.modal-body { - padding: var(--pagePadding) calc(4 * var(--gridSize)); -} - -.modal-container { - max-height: 60vh; - box-sizing: border-box; - overflow-y: scroll; - border-top: 1px solid var(--barBorderColor); - margin-top: var(--pagePadding); - padding-right: calc(4 * var(--gridSize) - var(--sbw)); -} - -.modal-container > :last-child { - margin-bottom: var(--pagePadding); -} - -.modal-field, -.modal-validation-field { - clear: both; - display: block; - padding: 0; - margin-bottom: calc(var(--gridSize) * 2); -} - -.modal-field label, -.modal-validation-field label { - display: block; - font-weight: bold; - padding-bottom: calc(var(--gridSize) / 2); -} - -.modal-field a.icon-checkbox, -.modal-field input, -.modal-field select, -.modal-field textarea, -.modal-field .Select { - margin-right: 5px; -} - -.modal-field a.icon-checkbox { - height: 24px; -} - -.modal-field input[type='radio'], -.modal-field input[type='checkbox'] { - margin-top: 5px; - margin-bottom: 4px; -} - -.modal-field > .icon-checkbox { - padding-top: 6px; - padding-right: 8px; -} - -.modal-field input[type='text'], -.modal-field input[type='email'], -.modal-field input[type='password'], -.modal-field textarea, -.modal-field select, -.modal-field .Select { - width: 100%; -} - -.modal-validation-field input, -.modal-validation-field textarea, -.modal-validation-field .Select { - margin-right: var(--gridSize); - margin-bottom: 2px; - width: calc(100% - 3 * var(--gridSize)); -} - -.modal-field textarea, -.modal-validation-field textarea { - max-width: 100%; - min-width: 100%; - max-height: 50vh; - min-height: var(--controlHeight); -} -.modal-validation-field input:not(.is-invalid), -.modal-validation-field .Select:not(.is-invalid) { - margin-bottom: calc(var(--tinyControlHeight) + 2px); -} - -.modal-field-description { - line-height: 1.4; - color: var(--secondFontColor); - font-size: var(--smallFontSize); - overflow: hidden; - text-overflow: ellipsis; - margin-top: 2px; -} - -.modal-foot { - padding: var(--pagePadding) calc(4 * var(--gridSize)); - border-top: 1px solid var(--barBorderColor); - background-color: var(--barBackgroundColor); - border-radius: 3px; - text-align: right; -} - -.modal-foot button, -.modal-foot .button, -.modal-foot input[type='submit'], -.modal-foot input[type='button'] { - margin-left: var(--gridSize); -} - -.modal-error, -.modal-warning, -.modal-notice { - display: none; -} diff --git a/server/sonar-web/src/main/js/app/styles/components/spinner.css b/server/sonar-web/src/main/js/app/styles/components/spinner.css index e834439fc89..d95c9c292fa 100644 --- a/server/sonar-web/src/main/js/app/styles/components/spinner.css +++ b/server/sonar-web/src/main/js/app/styles/components/spinner.css @@ -27,15 +27,6 @@ animation: spin 0.75s infinite linear; } -.spinner-placeholder { - position: relative; - display: inline-block; - vertical-align: middle; - width: 16px; - height: 16px; - visibility: hidden; -} - .spinner:before, .spinner:after { left: -2px; @@ -67,10 +58,6 @@ transform: rotate(240deg); } -.spinner-margin { - margin: 10px; -} - @keyframes spin { from { transform: rotate(0deg); diff --git a/server/sonar-web/src/main/js/app/styles/init/forms.css b/server/sonar-web/src/main/js/app/styles/init/forms.css index 3a820fe2894..94d5b98d922 100644 --- a/server/sonar-web/src/main/js/app/styles/init/forms.css +++ b/server/sonar-web/src/main/js/app/styles/init/forms.css @@ -214,57 +214,3 @@ em.mandatory { .form-field .Select { width: 250px; } - -.radio-toggle { - display: inline-block; - vertical-align: middle; - font-size: 0; - white-space: nowrap; -} - -.radio-toggle > li { - display: inline-block; - vertical-align: middle; - font-size: var(--smallFontSize); -} - -.radio-toggle > li:first-child > label { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} - -.radio-toggle > li:last-child > label { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} - -.radio-toggle > li + li > label { - border-left: none; -} - -.radio-toggle > li > label { - display: inline-block; - padding: 0 12px; - margin: 0; - border: 1px solid var(--darkBlue); - color: var(--darkBlue); - height: calc(var(--controlHeight) - 2px); - line-height: calc(var(--controlHeight) - 2px); -} - -.radio-toggle input[type='radio'] { - display: none; -} - -.radio-toggle input[type='radio']:checked + label { - background-color: var(--darkBlue); - color: #fff; - font-weight: 600; -} - -.radio-toggle input[type='radio']:disabled + label { - color: var(--disableGrayText); - border-color: var(--disableGrayBorder); - background: var(--disableGrayBg); - cursor: not-allowed; -} diff --git a/server/sonar-web/src/main/js/app/styles/init/icons.css b/server/sonar-web/src/main/js/app/styles/init/icons.css index 13af19b9b80..121d6f706f0 100644 --- a/server/sonar-web/src/main/js/app/styles/init/icons.css +++ b/server/sonar-web/src/main/js/app/styles/init/icons.css @@ -48,59 +48,6 @@ a[class*=' icon-'] { } /* - * Checkbox - */ -.icon-checkbox { - display: inline-block; - vertical-align: top; - padding: 1px 2px; - box-sizing: border-box; -} - -.icon-checkbox:focus { - outline: none; -} - -.icon-checkbox:before { - content: ' '; - display: inline-block; - width: 10px; - height: 10px; - border: 1px solid var(--darkBlue); - border-radius: 2px; - transition: border-color 0.2s ease, background-color 0.2s ease, background-image 0.2s ease, - box-shadow 0.4s ease; -} - -.icon-checkbox:not(.icon-checkbox-disabled):focus:before, -.link-checkbox:not(.disabled):focus:focus .icon-checkbox:before { - box-shadow: 0 0 0 3px rgba(35, 106, 151, 0.25); -} - -.icon-checkbox-checked:before { - background-color: var(--blue); - background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%221.414%22%3E%3Cpath%20d%3D%22M12%204.665c0%20.172-.06.318-.18.438l-5.55%205.55c-.12.12-.266.18-.438.18s-.318-.06-.438-.18L2.18%207.438C2.06%207.317%202%207.17%202%207s.06-.318.18-.44l.878-.876c.12-.12.267-.18.44-.18.17%200%20.317.06.437.18l1.897%201.903%204.233-4.24c.12-.12.266-.18.438-.18s.32.06.44.18l.876.88c.12.12.18.265.18.438z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E'); - border-color: var(--blue); -} - -.icon-checkbox-checked.icon-checkbox-single:before { - background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%221.414%22%3E%3Cpath%20d%3D%22M10%204.698C10%204.312%209.688%204%209.302%204H4.698C4.312%204%204%204.312%204%204.698v4.604c0%20.386.312.698.698.698h4.604c.386%200%20.698-.312.698-.698V4.698z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E'); -} - -.icon-checkbox-disabled:before { - border: 1px solid var(--disableGrayText); - cursor: not-allowed; -} - -.icon-checkbox-disabled.icon-checkbox-checked:before { - background-color: var(--disableGrayText); -} - -.icon-checkbox-invisible { - visibility: hidden; -} - -/* * Radio */ .icon-radio { diff --git a/server/sonar-web/src/main/js/app/styles/init/misc.css b/server/sonar-web/src/main/js/app/styles/init/misc.css index 5e5b2660033..2c6c537f8db 100644 --- a/server/sonar-web/src/main/js/app/styles/init/misc.css +++ b/server/sonar-web/src/main/js/app/styles/init/misc.css @@ -49,6 +49,10 @@ th.hide-overflow { margin-top: -1px; } +.spacer { + margin: 8px !important; +} + .spacer-left { margin-left: 8px !important; } @@ -65,6 +69,10 @@ th.hide-overflow { margin-top: 8px !important; } +.big-spacer { + margin: 16px !important; +} + .big-spacer-left { margin-left: 16px !important; } @@ -81,6 +89,10 @@ th.hide-overflow { margin-top: 16px !important; } +.huge-spacer { + margin: 40px !important; +} + .huge-spacer-bottom { margin-bottom: 40px !important; } @@ -97,6 +109,10 @@ th.hide-overflow { margin-right: 40px !important; } +.little-spacer { + margin: 4px !important; +} + .little-spacer-left { margin-left: 4px !important; } diff --git a/server/sonar-web/src/main/js/app/styles/sonar.css b/server/sonar-web/src/main/js/app/styles/sonar.css index a8676e85ebc..9b5f7b5b866 100644 --- a/server/sonar-web/src/main/js/app/styles/sonar.css +++ b/server/sonar-web/src/main/js/app/styles/sonar.css @@ -29,8 +29,6 @@ @import './components/ui.css'; @import './components/spinner.css'; @import './components/global-loading.css'; -@import './components/modals.css'; -@import './components/alerts.css'; @import './components/issues.css'; @import './components/dropdowns.css'; @import './components/menu.css'; diff --git a/server/sonar-web/src/main/js/app/theme.js b/server/sonar-web/src/main/js/app/theme.js index 0cbdb5bfb06..4dcf95ab312 100644 --- a/server/sonar-web/src/main/js/app/theme.js +++ b/server/sonar-web/src/main/js/app/theme.js @@ -17,116 +17,144 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -// IMPORTANT: any change in this file requires restart of the dev server +// IMPORTANT: any change in this file requires restart of the dev server const grid = 8; module.exports = { - // colors - blue: '#4b9fd5', - veryLightBlue: '#f2faff', - lightBlue: '#cae3f2', - darkBlue: '#236a97', - veryDarkBlue: '#0E516F', - green: '#00aa00', - lineCoverageGreen: '#b4dd78', - lightGreen: '#b0d513', - veryLightGreen: '#f5f9fc', - yellow: '#eabe06', - orange: '#ed7d20', - red: '#d4333f', - lineCoverageRed: '#a4030f', - purple: '#9139d4', - - conciseIssueRed: '#d18582', - - gray94: '#efefef', - gray80: '#cdcdcd', - gray71: '#b4b4b4', - gray67: '#aaa', - gray60: '#999', - gray40: '#404040', - - transparentWhite: 'rgba(255,255,255,0.62)', - transparentGray: 'rgba(200, 200, 200, 0.5)', - - disableGrayText: '#bbb', - disableGrayBorder: '#ddd', - disableGrayBg: '#ebebeb', - - barBackgroundColor: '#f3f3f3', - barBorderColor: '#e6e6e6', - - baseFontColor: '#444', - secondFontColor: '#777', - - leakColor: '#fbf3d5', - leakColorHover: '#f0e7c4', - leakBorderColor: '#eae3c7', - - globalNavBarBg: '#262626', - - snippetFontColor: '#f0f0f0', - - //issues - issueBgColor: '#ffeaea', - hotspotBgColor: '#eeeff4', - - // alerts - warningIconColor: '#e2bf41', - - alertBorderError: '#ebccd1', - alertBackgroundError: '#f2dede', - alertTextError: '#862422', - alertIconError: '#b81723', - - alertBorderWarning: '#faebcc', - alertBackgroundWarning: '#fcf8e3', - alertTextWarning: '#6f4f17', - alertIconWarning: '#db781a', - - alertBorderSuccess: '#d6e9c6', - alertBackgroundSuccess: '#dff0d8', - alertTextSuccess: '#215821', - alertIconSuccess: '#6d9867', - - alertBorderInfo: '#b1dff3', - alertBackgroundInfo: '#d9edf7', - alertTextInfo: '#0e516f', - alertIconInfo: '#0271b9', - - // sizes - grid, - gridSize: `${grid}px`, - - baseFontSize: '13px', - verySmallFontSize: '10px', - smallFontSize: '12px', - mediumFontSize: '14px', - bigFontSize: '16px', - hugeFontSize: '24px', - - hugeControlHeight: `${5 * grid}px`, - largeControlHeight: `${4 * grid}px`, - controlHeight: `${3 * grid}px`, - smallControlHeight: `${2.5 * grid}px`, - tinyControlHeight: `${2 * grid}px`, - - globalNavHeight: `${6 * grid}px`, - globalNavHeightRaw: 6 * grid, - globalNavContentHeight: `${4 * grid}px`, - globalNavContentHeightRaw: 4 * grid, - - contextNavHeightRaw: 9 * grid, - - maxPageWidth: '1320px', - minPageWidth: '1080px', - pagePadding: '20px', - - // different - baseFontFamily: "'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif", - systemFontFamily: "-apple-system,'BlinkMacSystemFont','Segoe UI','Helvetica','Arial',sans-serif", - defaultShadow: '0 6px 12px rgba(0, 0, 0, 0.175)', + colors: { + blue: '#4b9fd5', + veryLightBlue: '#f2faff', + lightBlue: '#cae3f2', + darkBlue: '#236a97', + veryDarkBlue: '#0E516F', + green: '#00aa00', + lineCoverageGreen: '#b4dd78', + lightGreen: '#b0d513', + veryLightGreen: '#f5f9fc', + yellow: '#eabe06', + orange: '#ed7d20', + red: '#d4333f', + lineCoverageRed: '#a4030f', + purple: '#9139d4', + + conciseIssueRed: '#d18582', + + gray94: '#efefef', + gray80: '#cdcdcd', + gray71: '#b4b4b4', + gray67: '#aaa', + gray60: '#999', + gray40: '#404040', + + transparentWhite: 'rgba(255,255,255,0.62)', + transparentGray: 'rgba(200, 200, 200, 0.5)', + + disableGrayText: '#bbb', + disableGrayBorder: '#ddd', + disableGrayBg: '#ebebeb', + + barBackgroundColor: '#f3f3f3', + barBorderColor: '#e6e6e6', + + baseFontColor: '#444', + secondFontColor: '#777', + + leakColor: '#fbf3d5', + leakColorHover: '#f0e7c4', + leakBorderColor: '#eae3c7', + + globalNavBarBg: '#262626', + + snippetFontColor: '#f0f0f0', + + //issues + issueBgColor: '#ffeaea', + hotspotBgColor: '#eeeff4', + + // alerts + warningIconColor: '#e2bf41', + + alertBorderError: '#ebccd1', + alertBackgroundError: '#f2dede', + alertTextError: '#862422', + alertIconError: '#b81723', + + alertBorderWarning: '#faebcc', + alertBackgroundWarning: '#fcf8e3', + alertTextWarning: '#6f4f17', + alertIconWarning: '#db781a', + + alertBorderSuccess: '#d6e9c6', + alertBackgroundSuccess: '#dff0d8', + alertTextSuccess: '#215821', + alertIconSuccess: '#6d9867', + + alertBorderInfo: '#b1dff3', + alertBackgroundInfo: '#d9edf7', + alertTextInfo: '#0e516f', + alertIconInfo: '#0271b9', + + // sonarcloud + sonarcloudOrange500: '#fd6a00', + sonarcloudOrange600: '#e26003', + sonarcloudOrange700: '#db5700', + + sonarcloudBlack100: '#ffffff', + sonarcloudBlack200: '#f9f9fb', + sonarcloudBlack250: '#e6e8ea', + sonarcloudBlack300: '#cfd3d7', + sonarcloudBlack500: '#8a8c8f', + sonarcloudBlack700: '#434447', + sonarcloudBlack800: '#2d3032', + sonarcloudBlack900: '#070706', + + sonarcloudBlue500: '#4c9bd6', + sonarcloudBlue600: '#327bb3', + sonarcloudBlue900: '#0b3c62', + + sonarcloudBorderGray: 'rgba(207, 211, 215, 0.5)' + }, + + sizes: { + gridSize: `${grid}px`, + + baseFontSize: '13px', + verySmallFontSize: '10px', + smallFontSize: '12px', + mediumFontSize: '14px', + bigFontSize: '16px', + hugeFontSize: '24px', + + hugeControlHeight: `${5 * grid}px`, + largeControlHeight: `${4 * grid}px`, + controlHeight: `${3 * grid}px`, + smallControlHeight: `${2.5 * grid}px`, + tinyControlHeight: `${2 * grid}px`, + + globalNavHeight: `${6 * grid}px`, + + globalNavContentHeight: `${4 * grid}px`, + + maxPageWidth: '1320px', + minPageWidth: '1080px', + pagePadding: '20px' + }, + + rawSizes: { + grid, + globalNavHeightRaw: 6 * grid, + globalNavContentHeightRaw: 4 * grid, + contextNavHeightRaw: 9 * grid + }, + + fonts: { + baseFontFamily: "'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif", + systemFontFamily: + "-apple-system,'BlinkMacSystemFont','Segoe UI','Helvetica','Arial',sans-serif", + sonarcloudFontFamily: + "Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif" + }, // z-index // ======= @@ -134,45 +162,28 @@ module.exports = { // 101 - 500 for generic page fixed elements (e.g. navigation, workspace) // 501 - 3000 for page ui elements // 3001 - 8000 for generic ui elements (e.g. dropdowns, tooltips) + zIndexes: { + // common + aboveNormalZIndex: '3', + normalZIndex: '2', + belowNormalZIndex: '1', - // common - aboveNormalZIndex: '3', - normalZIndex: '2', - belowNormalZIndex: '1', - - // ui elements - pageMainZIndex: '50', - - tooltipZIndex: '8000', - - dropdownMenuZIndex: '7500', - - processContainerZIndex: '7000', + // ui elements + pageMainZIndex: '50', - modalZIndex: '6001', - modalOverlayZIndex: '6000', + tooltipZIndex: '8000', - popupZIndex: '5000', + dropdownMenuZIndex: '7500', - // sonarcloud - sonarcloudOrange500: '#fd6a00', - sonarcloudOrange600: '#e26003', - sonarcloudOrange700: '#db5700', + processContainerZIndex: '7000', - sonarcloudBlack100: '#ffffff', - sonarcloudBlack200: '#f9f9fb', - sonarcloudBlack250: '#e6e8ea', - sonarcloudBlack300: '#cfd3d7', - sonarcloudBlack500: '#8a8c8f', - sonarcloudBlack700: '#434447', - sonarcloudBlack800: '#2d3032', - sonarcloudBlack900: '#070706', + modalZIndex: '6001', + modalOverlayZIndex: '6000', - sonarcloudBlue500: '#4c9bd6', - sonarcloudBlue600: '#327bb3', - sonarcloudBlue900: '#0b3c62', + popupZIndex: '5000' + }, - sonarcloudBorderGray: 'rgba(207, 211, 215, 0.5)', - sonarcloudFontFamily: - "Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif" + others: { + defaultShadow: '0 6px 12px rgba(0, 0, 0, 0.175)' + } }; diff --git a/server/sonar-web/src/main/js/app/types.d.ts b/server/sonar-web/src/main/js/app/types.d.ts index 93a3e9383b4..f1f0bc2e88b 100644 --- a/server/sonar-web/src/main/js/app/types.d.ts +++ b/server/sonar-web/src/main/js/app/types.d.ts @@ -18,10 +18,6 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ declare namespace T { - export type Dict<T> = { [key: string]: T }; - - export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; - // Type ordered alphabetically to prevent merge conflicts export interface A11ySkipLink { @@ -375,7 +371,7 @@ declare namespace T { tags?: string[]; textRange?: TextRange; transitions: string[]; - type: IssueType; + type: T.IssueType; } export interface IssueComment { @@ -391,8 +387,6 @@ declare namespace T { updatable: boolean; } - export type IssueType = 'BUG' | 'VULNERABILITY' | 'CODE_SMELL' | 'SECURITY_HOTSPOT'; - export interface IssuesByLine { [key: number]: Issue[]; } diff --git a/server/sonar-web/src/main/js/app/utils/__tests__/handleRequiredAuthentication-test.ts b/server/sonar-web/src/main/js/app/utils/__tests__/handleRequiredAuthentication-test.ts deleted file mode 100644 index 2d1b7ff4fd5..00000000000 --- a/server/sonar-web/src/main/js/app/utils/__tests__/handleRequiredAuthentication-test.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import handleRequiredAuthentication from '../handleRequiredAuthentication'; -import getHistory from '../getHistory'; - -jest.mock('../getHistory', () => ({ - default: jest.fn() -})); - -it('should not render for anonymous user', () => { - const replace = jest.fn(); - (getHistory as jest.Mock<any>).mockReturnValue({ replace }); - handleRequiredAuthentication(); - expect(replace).toBeCalledWith(expect.objectContaining({ pathname: '/sessions/new' })); -}); diff --git a/server/sonar-web/src/main/js/app/utils/getHistory.ts b/server/sonar-web/src/main/js/app/utils/getHistory.ts deleted file mode 100644 index e27e4924de1..00000000000 --- a/server/sonar-web/src/main/js/app/utils/getHistory.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { useRouterHistory } from 'react-router'; -import { createHistory, History } from 'history'; - -let history: History; - -function ensureHistory() { - // eslint-disable-next-line react-hooks/rules-of-hooks - history = useRouterHistory(createHistory)({ - // do not use `getBaseUrl` from `helpers/urls` to no import this file with all its dependecies - basename: (window as any).baseUrl - }); - return history; -} - -export default function getHistory() { - return history ? history : ensureHistory(); -} diff --git a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.ts b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.ts deleted file mode 100644 index 2c2b65ee7ef..00000000000 --- a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthentication.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import getHistory from './getHistory'; - -export default function handleRequiredAuthentication() { - const history = getHistory(); - const returnTo = window.location.pathname + window.location.search + window.location.hash; - history.replace({ pathname: '/sessions/new', query: { return_to: returnTo } }); -} diff --git a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.ts b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.ts index 9bf1bde91f9..b0a9b8191a5 100644 --- a/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.ts +++ b/server/sonar-web/src/main/js/app/utils/handleRequiredAuthorization.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import getHistory from 'sonar-ui-common/helpers/getHistory'; import getStore from './getStore'; -import getHistory from './getHistory'; import { requireAuthorization } from '../../store/appState'; export default function handleRequiredAuthorization() { diff --git a/server/sonar-web/src/main/js/app/utils/startReactApp.tsx b/server/sonar-web/src/main/js/app/utils/startReactApp.tsx index 64d954aed09..714cba17a37 100644 --- a/server/sonar-web/src/main/js/app/utils/startReactApp.tsx +++ b/server/sonar-web/src/main/js/app/utils/startReactApp.tsx @@ -24,9 +24,12 @@ import { Router, Route, IndexRoute, Redirect, RouteProps, RouteConfig } from 're import { Provider } from 'react-redux'; import { IntlProvider } from 'react-intl'; import { Location } from 'history'; +import ThemeContext from 'sonar-ui-common/components/ThemeContext'; +import getHistory from 'sonar-ui-common/helpers/getHistory'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import getStore from './getStore'; -import getHistory from './getHistory'; import MigrationContainer from '../components/MigrationContainer'; +import * as theme from '../theme'; import App from '../components/App'; import GlobalContainer from '../components/GlobalContainer'; import aboutRoutes from '../../apps/about/routes'; @@ -66,7 +69,6 @@ import documentationRoutes from '../../apps/documentation/routes'; import webhooksRoutes from '../../apps/webhooks/routes'; import { maintenanceRoutes, setupRoutes } from '../../apps/maintenance/routes'; import { globalPermissionsRoutes, projectPermissionsRoutes } from '../../apps/permissions/routes'; -import { lazyLoad } from '../../components/lazyLoad'; import { isSonarCloud } from '../../helpers/system'; function handleUpdate(this: { state: { location: Location } }) { @@ -95,237 +97,242 @@ export default function startReactApp( render( <Provider store={store}> <IntlProvider defaultLocale={lang} locale={lang}> - <Router history={history} onUpdate={handleUpdate}> - <Route - path="/account/issues" - onEnter={(_, replace) => { - replace({ pathname: '/issues', query: { myIssues: 'true', resolved: 'false' } }); - }} - /> + <ThemeContext.Provider value={{ theme }}> + <Router history={history} onUpdate={handleUpdate}> + <Route + path="/account/issues" + onEnter={(_, replace) => { + replace({ pathname: '/issues', query: { myIssues: 'true', resolved: 'false' } }); + }} + /> - <Route - path="/codingrules" - onEnter={(_, replace) => { - replace('/coding_rules' + window.location.hash); - }} - /> + <Route + path="/codingrules" + onEnter={(_, replace) => { + replace('/coding_rules' + window.location.hash); + }} + /> - <Route - path="/dashboard/index/:key" - onEnter={(nextState, replace) => { - replace({ pathname: '/dashboard', query: { id: nextState.params.key } }); - }} - /> + <Route + path="/dashboard/index/:key" + onEnter={(nextState, replace) => { + replace({ pathname: '/dashboard', query: { id: nextState.params.key } }); + }} + /> - <Route - path="/issues/search" - onEnter={(_, replace) => { - replace('/issues' + window.location.hash); - }} - /> + <Route + path="/issues/search" + onEnter={(_, replace) => { + replace('/issues' + window.location.hash); + }} + /> - <Redirect from="/admin" to="/admin/settings" /> - <Redirect from="/background_tasks" to="/admin/background_tasks" /> - <Redirect from="/component/index" to="/component" /> - <Redirect from="/component_issues" to="/project/issues" /> - <Redirect from="/dashboard/index" to="/dashboard" /> - <Redirect from="/governance" to="/portfolio" /> - <Redirect from="/groups" to="/admin/groups" /> - <Redirect from="/extension/governance/portfolios" to="/portfolios" /> - <Redirect from="/metrics" to="/admin/custom_metrics" /> - <Redirect from="/permission_templates" to="/admin/permission_templates" /> - <Redirect from="/profiles/index" to="/profiles" /> - <Redirect from="/projects_admin" to="/admin/projects_management" /> - <Redirect from="/quality_gates/index" to="/quality_gates" /> - <Redirect from="/roles/global" to="/admin/permissions" /> - <Redirect from="/admin/roles/global" to="/admin/permissions" /> - <Redirect from="/settings" to="/admin/settings" /> - <Redirect from="/settings/encryption" to="/admin/settings/encryption" /> - <Redirect from="/settings/index" to="/admin/settings" /> - <Redirect from="/sessions/login" to="/sessions/new" /> - <Redirect from="/system" to="/admin/system" /> - <Redirect from="/system/index" to="/admin/system" /> - <Redirect from="/view" to="/portfolio" /> - <Redirect from="/users" to="/admin/users" /> + <Redirect from="/admin" to="/admin/settings" /> + <Redirect from="/background_tasks" to="/admin/background_tasks" /> + <Redirect from="/component/index" to="/component" /> + <Redirect from="/component_issues" to="/project/issues" /> + <Redirect from="/dashboard/index" to="/dashboard" /> + <Redirect from="/governance" to="/portfolio" /> + <Redirect from="/groups" to="/admin/groups" /> + <Redirect from="/extension/governance/portfolios" to="/portfolios" /> + <Redirect from="/metrics" to="/admin/custom_metrics" /> + <Redirect from="/permission_templates" to="/admin/permission_templates" /> + <Redirect from="/profiles/index" to="/profiles" /> + <Redirect from="/projects_admin" to="/admin/projects_management" /> + <Redirect from="/quality_gates/index" to="/quality_gates" /> + <Redirect from="/roles/global" to="/admin/permissions" /> + <Redirect from="/admin/roles/global" to="/admin/permissions" /> + <Redirect from="/settings" to="/admin/settings" /> + <Redirect from="/settings/encryption" to="/admin/settings/encryption" /> + <Redirect from="/settings/index" to="/admin/settings" /> + <Redirect from="/sessions/login" to="/sessions/new" /> + <Redirect from="/system" to="/admin/system" /> + <Redirect from="/system/index" to="/admin/system" /> + <Redirect from="/view" to="/portfolio" /> + <Redirect from="/users" to="/admin/users" /> - <Route - path="markdown/help" - component={lazyLoad(() => import('../components/MarkdownHelp'))} - /> + <Route + path="markdown/help" + component={lazyLoad(() => import('../components/MarkdownHelp'))} + /> - <Route component={lazyLoad(() => import('../components/SimpleContainer'))}> - <Route path="maintenance">{maintenanceRoutes}</Route> - <Route path="setup">{setupRoutes}</Route> - </Route> - - <Route component={MigrationContainer}> - <Route component={lazyLoad(() => import('../components/SimpleSessionsContainer'))}> - <RouteWithChildRoutes path="/sessions" childRoutes={sessionsRoutes} /> + <Route component={lazyLoad(() => import('../components/SimpleContainer'))}> + <Route path="maintenance">{maintenanceRoutes}</Route> + <Route path="setup">{setupRoutes}</Route> </Route> - <Route path="/" component={App}> - <IndexRoute component={lazyLoad(() => import('../components/Landing'))} /> - <RouteWithChildRoutes path="about" childRoutes={aboutRoutes} /> + <Route component={MigrationContainer}> + <Route component={lazyLoad(() => import('../components/SimpleSessionsContainer'))}> + <RouteWithChildRoutes path="/sessions" childRoutes={sessionsRoutes} /> + </Route> - <Route component={GlobalContainer}> - <RouteWithChildRoutes path="account" childRoutes={accountRoutes} /> - {!isSonarCloud() && ( - <RouteWithChildRoutes path="coding_rules" childRoutes={codingRulesRoutes} /> - )} - <RouteWithChildRoutes path="documentation" childRoutes={documentationRoutes} /> - <Route path="explore" component={Explore}> - <Route path="issues" component={ExploreIssues} /> - <Route path="projects" component={ExploreProjects} /> - </Route> - <Route - path="extension/:pluginKey/:extensionKey" - component={lazyLoad(() => import('../components/extensions/GlobalPageExtension'))} - /> - <Route path="issues" component={IssuesPageSelector} /> - <RouteWithChildRoutes path="onboarding" childRoutes={onboardingRoutes} /> - {isSonarCloud() && ( - <> - <Route - path="create-organization" - component={lazyLoad(() => - import('../../apps/create/organization/CreateOrganization') - )} - /> - <Route - path="feedback/downgrade" - component={lazyLoad(() => - import('../../apps/feedback/downgrade/DowngradeFeedback') - )} - /> - </> - )} - <RouteWithChildRoutes path="organizations" childRoutes={organizationsRoutes} /> - <RouteWithChildRoutes path="projects" childRoutes={projectsRoutes} /> - <RouteWithChildRoutes path="quality_gates" childRoutes={qualityGatesRoutes} /> - <Route - path="portfolios" - component={lazyLoad(() => import('../components/extensions/PortfoliosPage'))} - /> - {!isSonarCloud() && ( - <RouteWithChildRoutes path="profiles" childRoutes={qualityProfilesRoutes} /> - )} - <RouteWithChildRoutes path="web_api" childRoutes={webAPIRoutes} /> + <Route path="/" component={App}> + <IndexRoute component={lazyLoad(() => import('../components/Landing'))} /> + <RouteWithChildRoutes path="about" childRoutes={aboutRoutes} /> - <Route component={lazyLoad(() => import('../components/ComponentContainer'))}> - <RouteWithChildRoutes path="code" childRoutes={codeRoutes} /> - <RouteWithChildRoutes - path="component_measures" - childRoutes={componentMeasuresRoutes} - /> - <RouteWithChildRoutes path="dashboard" childRoutes={overviewRoutes} /> - <RouteWithChildRoutes path="portfolio" childRoutes={portfolioRoutes} /> - <RouteWithChildRoutes - path="project/activity" - childRoutes={projectActivityRoutes} - /> + <Route component={GlobalContainer}> + <RouteWithChildRoutes path="account" childRoutes={accountRoutes} /> + {!isSonarCloud() && ( + <RouteWithChildRoutes path="coding_rules" childRoutes={codingRulesRoutes} /> + )} + <RouteWithChildRoutes path="documentation" childRoutes={documentationRoutes} /> + <Route path="explore" component={Explore}> + <Route path="issues" component={ExploreIssues} /> + <Route path="projects" component={ExploreProjects} /> + </Route> <Route - path="project/extension/:pluginKey/:extensionKey" + path="extension/:pluginKey/:extensionKey" component={lazyLoad(() => - import('../components/extensions/ProjectPageExtension') + import('../components/extensions/GlobalPageExtension') )} /> - <Route path="project/issues" component={Issues} /> - <RouteWithChildRoutes - path="project/quality_gate" - childRoutes={projectQualityGateRoutes} - /> - <RouteWithChildRoutes - path="project/quality_profiles" - childRoutes={projectQualityProfilesRoutes} - /> - <Route component={lazyLoad(() => import('../components/ProjectAdminContainer'))}> - {!isSonarCloud() && ( - <RouteWithChildRoutes - path="custom_measures" - childRoutes={customMeasuresRoutes} + <Route path="issues" component={IssuesPageSelector} /> + <RouteWithChildRoutes path="onboarding" childRoutes={onboardingRoutes} /> + {isSonarCloud() && ( + <> + <Route + path="create-organization" + component={lazyLoad(() => + import('../../apps/create/organization/CreateOrganization') + )} /> - )} + <Route + path="feedback/downgrade" + component={lazyLoad(() => + import('../../apps/feedback/downgrade/DowngradeFeedback') + )} + /> + </> + )} + <RouteWithChildRoutes path="organizations" childRoutes={organizationsRoutes} /> + <RouteWithChildRoutes path="projects" childRoutes={projectsRoutes} /> + <RouteWithChildRoutes path="quality_gates" childRoutes={qualityGatesRoutes} /> + <Route + path="portfolios" + component={lazyLoad(() => import('../components/extensions/PortfoliosPage'))} + /> + {!isSonarCloud() && ( + <RouteWithChildRoutes path="profiles" childRoutes={qualityProfilesRoutes} /> + )} + <RouteWithChildRoutes path="web_api" childRoutes={webAPIRoutes} /> + + <Route component={lazyLoad(() => import('../components/ComponentContainer'))}> + <RouteWithChildRoutes path="code" childRoutes={codeRoutes} /> + <RouteWithChildRoutes + path="component_measures" + childRoutes={componentMeasuresRoutes} + /> + <RouteWithChildRoutes path="dashboard" childRoutes={overviewRoutes} /> + <RouteWithChildRoutes path="portfolio" childRoutes={portfolioRoutes} /> + <RouteWithChildRoutes + path="project/activity" + childRoutes={projectActivityRoutes} + /> <Route - path="project/admin/extension/:pluginKey/:extensionKey" + path="project/extension/:pluginKey/:extensionKey" component={lazyLoad(() => - import('../components/extensions/ProjectAdminPageExtension') + import('../components/extensions/ProjectPageExtension') )} /> + <Route path="project/issues" component={Issues} /> <RouteWithChildRoutes - path="project/background_tasks" - childRoutes={backgroundTasksRoutes} + path="project/quality_gate" + childRoutes={projectQualityGateRoutes} /> <RouteWithChildRoutes - path="project/branches" - childRoutes={projectBranchesRoutes} - /> - <RouteWithChildRoutes path="project/settings" childRoutes={settingsRoutes} /> - <RouteWithChildRoutes - path="project_roles" - childRoutes={projectPermissionsRoutes} - /> - <RouteWithChildRoutes path="project/webhooks" childRoutes={webhooksRoutes} /> - <Route - path="project/deletion" - component={lazyLoad(() => import('../../apps/projectDeletion/App'))} - /> - <Route - path="project/links" - component={lazyLoad(() => import('../../apps/projectLinks/App'))} + path="project/quality_profiles" + childRoutes={projectQualityProfilesRoutes} /> <Route - path="project/key" - component={lazyLoad(() => import('../../apps/projectKey/Key'))} - /> - </Route> - </Route> - - <Route - component={lazyLoad(() => import('../components/AdminContainer'))} - path="admin"> - <Route - path="extension/:pluginKey/:extensionKey" - component={lazyLoad(() => - import('../components/extensions/GlobalAdminPageExtension') - )} - /> - <RouteWithChildRoutes - path="background_tasks" - childRoutes={backgroundTasksRoutes} - /> - <RouteWithChildRoutes path="custom_metrics" childRoutes={customMetricsRoutes} /> - {!isSonarCloud() && ( - <> - <RouteWithChildRoutes path="groups" childRoutes={groupsRoutes} /> + component={lazyLoad(() => import('../components/ProjectAdminContainer'))}> + {!isSonarCloud() && ( + <RouteWithChildRoutes + path="custom_measures" + childRoutes={customMeasuresRoutes} + /> + )} + <Route + path="project/admin/extension/:pluginKey/:extensionKey" + component={lazyLoad(() => + import('../components/extensions/ProjectAdminPageExtension') + )} + /> <RouteWithChildRoutes - path="permission_templates" - childRoutes={permissionTemplatesRoutes} + path="project/background_tasks" + childRoutes={backgroundTasksRoutes} /> <RouteWithChildRoutes - path="permissions" - childRoutes={globalPermissionsRoutes} + path="project/branches" + childRoutes={projectBranchesRoutes} /> + <RouteWithChildRoutes path="project/settings" childRoutes={settingsRoutes} /> <RouteWithChildRoutes - path="projects_management" - childRoutes={projectsManagementRoutes} + path="project_roles" + childRoutes={projectPermissionsRoutes} /> - </> - )} - <RouteWithChildRoutes path="settings" childRoutes={settingsRoutes} /> - <RouteWithChildRoutes path="system" childRoutes={systemRoutes} /> - <RouteWithChildRoutes path="marketplace" childRoutes={marketplaceRoutes} /> - <RouteWithChildRoutes path="users" childRoutes={usersRoutes} /> - <RouteWithChildRoutes path="webhooks" childRoutes={webhooksRoutes} /> + <RouteWithChildRoutes path="project/webhooks" childRoutes={webhooksRoutes} /> + <Route + path="project/deletion" + component={lazyLoad(() => import('../../apps/projectDeletion/App'))} + /> + <Route + path="project/links" + component={lazyLoad(() => import('../../apps/projectLinks/App'))} + /> + <Route + path="project/key" + component={lazyLoad(() => import('../../apps/projectKey/Key'))} + /> + </Route> + </Route> + + <Route + component={lazyLoad(() => import('../components/AdminContainer'))} + path="admin"> + <Route + path="extension/:pluginKey/:extensionKey" + component={lazyLoad(() => + import('../components/extensions/GlobalAdminPageExtension') + )} + /> + <RouteWithChildRoutes + path="background_tasks" + childRoutes={backgroundTasksRoutes} + /> + <RouteWithChildRoutes path="custom_metrics" childRoutes={customMetricsRoutes} /> + {!isSonarCloud() && ( + <> + <RouteWithChildRoutes path="groups" childRoutes={groupsRoutes} /> + <RouteWithChildRoutes + path="permission_templates" + childRoutes={permissionTemplatesRoutes} + /> + <RouteWithChildRoutes + path="permissions" + childRoutes={globalPermissionsRoutes} + /> + <RouteWithChildRoutes + path="projects_management" + childRoutes={projectsManagementRoutes} + /> + </> + )} + <RouteWithChildRoutes path="settings" childRoutes={settingsRoutes} /> + <RouteWithChildRoutes path="system" childRoutes={systemRoutes} /> + <RouteWithChildRoutes path="marketplace" childRoutes={marketplaceRoutes} /> + <RouteWithChildRoutes path="users" childRoutes={usersRoutes} /> + <RouteWithChildRoutes path="webhooks" childRoutes={webhooksRoutes} /> + </Route> </Route> + <Route + path="not_found" + component={lazyLoad(() => import('../components/NotFound'))} + /> + <Route path="*" component={lazyLoad(() => import('../components/NotFound'))} /> </Route> - <Route - path="not_found" - component={lazyLoad(() => import('../components/NotFound'))} - /> - <Route path="*" component={lazyLoad(() => import('../components/NotFound'))} /> </Route> - </Route> - </Router> + </Router> + </ThemeContext.Provider> </IntlProvider> </Provider>, el diff --git a/server/sonar-web/src/main/js/app/utils/throwGlobalError.ts b/server/sonar-web/src/main/js/app/utils/throwGlobalError.ts index fcd2506af13..4499bb0e347 100644 --- a/server/sonar-web/src/main/js/app/utils/throwGlobalError.ts +++ b/server/sonar-web/src/main/js/app/utils/throwGlobalError.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { parseError } from 'sonar-ui-common/helpers/request'; import getStore from './getStore'; -import { parseError } from '../../helpers/request'; import { addGlobalErrorMessage } from '../../store/globalMessages'; export default function throwGlobalError(error: { response: Response }): Promise<Response> { diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutApp.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutApp.tsx index 4c8f05066db..7d077596d69 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutApp.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutApp.tsx @@ -22,6 +22,8 @@ import { connect } from 'react-redux'; import { keyBy } from 'lodash'; import { Link } from 'react-router'; import { Location } from 'history'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AboutProjects from './AboutProjects'; import AboutLanguages from './AboutLanguages'; import AboutCleanCode from './AboutCleanCode'; @@ -42,8 +44,6 @@ import { getGlobalSettingValue, Store } from '../../../store/rootReducer'; -import { translate } from '../../../helpers/l10n'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; import '../styles.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.tsx index 43ec480ba39..96ead2f9fa8 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ReadMore from './ReadMore'; -import { translate } from '../../../helpers/l10n'; const link = 'https://redirect.sonarsource.com/doc/issues.html'; diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.tsx index 67971b8cdd6..783ed2d6caa 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; const languages = [ { name: 'Java', url: 'https://redirect.sonarsource.com/plugins/java.html' }, diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.tsx index a78f4544e89..c77ddf9ecf6 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ReadMore from './ReadMore'; -import { translate } from '../../../helpers/l10n'; const link = 'https://redirect.sonarsource.com/doc/fix-the-leak.html'; diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutProjects.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutProjects.tsx index b9ab521767f..49cff4ddc61 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutProjects.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutProjects.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; interface Props { count: number; diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.tsx index 4a85abcb757..0dc35da5f6c 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ReadMore from './ReadMore'; -import { translate } from '../../../helpers/l10n'; const link = 'https://redirect.sonarsource.com/doc/quality-gates.html'; diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.tsx index 897b66d2f95..ae85eb31254 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import SecurityHotspotIcon from '../../../components/icons-components/SecurityHotspotIcon'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function AboutQualityModel() { return ( diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutScanners.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutScanners.tsx index faa1e902ee3..43152938a21 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutScanners.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutScanners.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; const scanners = [ { diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutStandards.tsx b/server/sonar-web/src/main/js/apps/about/components/AboutStandards.tsx index 30bfe2aa8b3..a5f69dc8af3 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutStandards.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/AboutStandards.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ReadMore from './ReadMore'; -import TagsIcon from '../../../components/icons-components/TagsIcon'; -import { translate } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; const link = 'https://redirect.sonarsource.com/doc/rules.html'; diff --git a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.tsx b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.tsx index 56896d8e129..322b8a14301 100644 --- a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; import { Link } from 'react-router'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { getIssuesUrl } from '../../../helpers/urls'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import SecurityHotspotIcon from '../../../components/icons-components/SecurityHotspotIcon'; interface Props { bugs?: number; diff --git a/server/sonar-web/src/main/js/apps/about/components/ReadMore.tsx b/server/sonar-web/src/main/js/apps/about/components/ReadMore.tsx index be201ba7c2b..71be35d52e8 100644 --- a/server/sonar-web/src/main/js/apps/about/components/ReadMore.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/ReadMore.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { link: string; diff --git a/server/sonar-web/src/main/js/apps/about/components/__tests__/AboutApp-test.tsx b/server/sonar-web/src/main/js/apps/about/components/__tests__/AboutApp-test.tsx index f76f45071c6..77a896ca802 100644 --- a/server/sonar-web/src/main/js/apps/about/components/__tests__/AboutApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/about/components/__tests__/AboutApp-test.tsx @@ -18,21 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { mount } from 'enzyme'; +import { shallow } from 'enzyme'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { AboutApp } from '../AboutApp'; -import { addWhitePageClass, removeWhitePageClass } from '../../../../helpers/pages'; import { searchProjects } from '../../../../api/components'; import { getFacet } from '../../../../api/issues'; import { mockLocation, mockAppState, mockCurrentUser } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; -jest.mock('../../../../components/icons-components/BugIcon'); -jest.mock('../../../../components/icons-components/VulnerabilityIcon'); -jest.mock('../../../../components/icons-components/CodeSmellIcon'); -jest.mock('../../../../components/icons-components/SecurityHotspotIcon'); -jest.mock('../../../../components/icons-components/TagsIcon'); - -jest.mock('../../../../helpers/pages', () => ({ +jest.mock('sonar-ui-common/helpers/pages', () => ({ addWhitePageClass: jest.fn(), removeWhitePageClass: jest.fn() })); @@ -62,7 +56,7 @@ jest.mock('../../../../app/components/GlobalContainer', () => ({ })); it('should render correctly', async () => { - const wrapper = mountRender(); + const wrapper = shallowRender(); await waitAndUpdate(wrapper); expect(wrapper).toMatchSnapshot(); @@ -72,16 +66,16 @@ it('should render correctly', async () => { expect(removeWhitePageClass).toBeCalled(); }); -it('should load issues, projects, and custom text upon mounting', () => { +it('should load issues, projects, and custom text upon shallowing', () => { const fetchAboutPageSettings = jest.fn(); - mountRender({ fetchAboutPageSettings }); + shallowRender({ fetchAboutPageSettings }); expect(fetchAboutPageSettings).toBeCalled(); expect(searchProjects).toBeCalled(); expect(getFacet).toBeCalled(); }); -function mountRender(props: Partial<AboutApp['props']> = {}) { - return mount( +function shallowRender(props: Partial<AboutApp['props']> = {}) { + return shallow( <AboutApp appState={mockAppState()} currentUser={mockCurrentUser()} diff --git a/server/sonar-web/src/main/js/apps/about/components/__tests__/__snapshots__/AboutApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/about/components/__tests__/__snapshots__/AboutApp-test.tsx.snap index 5a92273dc63..a7785c97c98 100644 --- a/server/sonar-web/src/main/js/apps/about/components/__tests__/__snapshots__/AboutApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/about/components/__tests__/__snapshots__/AboutApp-test.tsx.snap @@ -1,38 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should render correctly 1`] = ` -<AboutApp - appState={ - Object { - "defaultOrganization": "foo", - "edition": "community", - "productionDatabase": true, - "qualifiers": Array [ - "TRK", - ], - "settings": Object {}, - "version": "1.0", - } - } - currentUser={ - Object { - "isLoggedIn": false, - } - } - customText="Lorem ipsum" - fetchAboutPageSettings={ - [MockFunction] { - "calls": Array [ - Array [], - ], - "results": Array [ - Object { - "type": "return", - "value": Promise {}, - }, - ], - } - } +<GlobalContainer location={ Object { "action": "PUSH", @@ -45,974 +14,109 @@ exports[`should render correctly 1`] = ` } } > - <GlobalContainer - location={ - Object { - "action": "PUSH", - "hash": "", - "key": "key", - "pathname": "/path", - "query": Object {}, - "search": "", - "state": Object {}, - } - } + <div + className="page page-limited about-page" + id="about-page" > + <A11ySkipTarget + anchor="about_main" + /> <div - className="page page-limited about-page" - id="about-page" + className="about-page-entry" > - <A11ySkipTarget - anchor="about_main" - > - <A11ySkipTargetInner - addA11ySkipLink={[Function]} - anchor="about_main" - removeA11ySkipLink={[Function]} - > - <span - id="a11y_target__about_main" - /> - </A11ySkipTargetInner> - </A11ySkipTarget> <div - className="about-page-entry" + className="about-page-intro" > - <div - className="about-page-intro" + <h1 + className="big-spacer-bottom" > - <h1 - className="big-spacer-bottom" - > - layout.sonar.slogan - </h1> - <Link - className="button button-active big-spacer-right" - onlyActiveOnIndex={false} - style={Object {}} - to="/sessions/new" - > - <a - className="button button-active big-spacer-right" - onClick={[Function]} - style={Object {}} - > - layout.login - </a> - </Link> - <a - className="button" - href="https://redirect.sonarsource.com/doc/home.html" - rel="noopener noreferrer" - target="_blank" - > - about_page.read_documentation - </a> - </div> - <div - className="about-page-instance" + layout.sonar.slogan + </h1> + <Link + className="button button-active big-spacer-right" + onlyActiveOnIndex={false} + style={Object {}} + to="/sessions/new" > - <AboutProjects - count={5} - loading={false} - > - <div - className="about-page-projects" - > - <div> - <div> - <Link - className="about-page-projects-link" - onlyActiveOnIndex={false} - style={Object {}} - to="/projects" - > - <a - className="about-page-projects-link" - onClick={[Function]} - style={Object {}} - > - 5 - </a> - </Link> - </div> - <div> - about_page.projects_analyzed - </div> - </div> - </div> - </AboutProjects> - <EntryIssueTypes - bugs={10} - codeSmells={5} - loading={false} - securityHotspots={5} - vulnerabilities={0} - > - <div - className="about-page-projects" - > - <table - className="about-page-issue-types" - > - <tbody> - <tr> - <td - className="about-page-issue-type-number" - > - <Link - className="about-page-issue-type-link" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/issues", - "query": Object { - "resolved": "false", - "s": "CREATION_DATE", - "types": "BUG", - }, - } - } - > - <a - className="about-page-issue-type-link" - onClick={[Function]} - style={Object {}} - > - 10 - </a> - </Link> - </td> - <td> - <span - className="little-spacer-right" - > - <MOCKBugIcon /> - </span> - issue.type.BUG.plural - </td> - </tr> - <tr> - <td - className="about-page-issue-type-number" - > - <Link - className="about-page-issue-type-link" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/issues", - "query": Object { - "resolved": "false", - "s": "CREATION_DATE", - "types": "VULNERABILITY", - }, - } - } - > - <a - className="about-page-issue-type-link" - onClick={[Function]} - style={Object {}} - > - 0 - </a> - </Link> - </td> - <td> - <span - className="little-spacer-right" - > - <MOCKVulnerabilityIcon /> - </span> - issue.type.VULNERABILITY.plural - </td> - </tr> - <tr> - <td - className="about-page-issue-type-number" - > - <Link - className="about-page-issue-type-link" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/issues", - "query": Object { - "resolved": "false", - "s": "CREATION_DATE", - "types": "CODE_SMELL", - }, - } - } - > - <a - className="about-page-issue-type-link" - onClick={[Function]} - style={Object {}} - > - 5 - </a> - </Link> - </td> - <td> - <span - className="little-spacer-right" - > - <MOCKCodeSmellIcon /> - </span> - issue.type.CODE_SMELL.plural - </td> - </tr> - <tr> - <td - className="about-page-issue-type-number" - > - <Link - className="about-page-issue-type-link" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/issues", - "query": Object { - "resolved": "false", - "s": "CREATION_DATE", - "types": "SECURITY_HOTSPOT", - }, - } - } - > - <a - className="about-page-issue-type-link" - onClick={[Function]} - style={Object {}} - > - 5 - </a> - </Link> - </td> - <td> - <span - className="little-spacer-right" - > - <MOCKSecurityHotspotIcon /> - </span> - issue.type.SECURITY_HOTSPOT.plural - </td> - </tr> - </tbody> - </table> - </div> - </EntryIssueTypes> - </div> + layout.login + </Link> + <a + className="button" + href="https://redirect.sonarsource.com/doc/home.html" + rel="noopener noreferrer" + target="_blank" + > + about_page.read_documentation + </a> </div> <div - className="about-page-section" - dangerouslySetInnerHTML={ - Object { - "__html": "Lorem ipsum", - } + className="about-page-instance" + > + <AboutProjects + count={5} + loading={false} + /> + <EntryIssueTypes + bugs={10} + codeSmells={5} + loading={false} + securityHotspots={5} + vulnerabilities={0} + /> + </div> + </div> + <div + className="about-page-section" + dangerouslySetInnerHTML={ + Object { + "__html": "Lorem ipsum", } - /> - <AboutLanguages> - <div - className="boxed-group" - > - <h2> - about_page.languages - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.languages.text - </p> - <ul - className="about-page-languages" - > - <li - key="0" - > - <a - href="https://redirect.sonarsource.com/plugins/java.html" - > - Java - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/vbnet.html" - > - VB.NET - </a> - </li> - <li - key="1" - > - <a - href="https://redirect.sonarsource.com/plugins/cpp.html" - > - C/C++ - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/plsql.html" - > - PL/SQL - </a> - </li> - <li - key="2" - > - <a - href="https://redirect.sonarsource.com/plugins/csharp.html" - > - C# - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/tsql.html" - > - T-SQL - </a> - </li> - <li - key="3" - > - <a - href="https://redirect.sonarsource.com/plugins/cobol.html" - > - COBOL - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/flex.html" - > - Flex - </a> - </li> - <li - key="4" - > - <a - href="https://redirect.sonarsource.com/plugins/abap.html" - > - ABAP - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/python.html" - > - Python - </a> - </li> - <li - key="5" - > - <a - href="https://redirect.sonarsource.com/plugins/web.html" - > - HTML - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/groovy.html" - > - Groovy - </a> - </li> - <li - key="6" - > - <a - href="https://redirect.sonarsource.com/plugins/rpg.html" - > - RPG - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/php.html" - > - PHP - </a> - </li> - <li - key="7" - > - <a - href="https://redirect.sonarsource.com/plugins/javascript.html" - > - JavaScript - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/swift.html" - > - Swift - </a> - </li> - <li - key="8" - > - <a - href="https://redirect.sonarsource.com/plugins/typescript.html" - > - TypeScript - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/vb.html" - > - Visual Basic - </a> - </li> - <li - key="9" - > - <a - href="https://redirect.sonarsource.com/plugins/objectivec.html" - > - Objective C - </a> - <br /> - <a - href="https://redirect.sonarsource.com/plugins/pli.html" - > - PL/I - </a> - </li> - <li - key="10" - > - <a - href="https://redirect.sonarsource.com/plugins/xml.html" - > - XML - </a> - <br /> - </li> - </ul> - </div> - </div> - </AboutLanguages> - <AboutQualityModel> - <div - className="boxed-group about-quality-model" - > - <h2> - about_page.quality_model - </h2> - <div - className="boxed-group-inner clearfix" - > - <div - className="flex-columns" - > - <div - className="flex-column flex-column-third" - > - <h3> - metric_domain.Reliability - </h3> - <div - className="pull-left little-spacer-right" - > - <MOCKBugIcon /> - </div> - <p - className="about-page-text overflow-hidden" - > - <strong> - issue.type.BUG.plural - </strong> - - about_page.quality_model.bugs - </p> - </div> - <div - className="flex-column flex-column-third" - > - <h3> - metric_domain.Security - </h3> - <div - className="pull-left little-spacer-right" - > - <MOCKVulnerabilityIcon /> - </div> - <p - className="about-page-text overflow-hidden" - > - <strong> - issue.type.VULNERABILITY.plural - </strong> - - about_page.quality_model.vulnerabilities - </p> - <br /> - <div - className="pull-left little-spacer-right" - > - <MOCKSecurityHotspotIcon /> - </div> - <p - className="about-page-text overflow-hidden" - > - <strong> - issue.type.SECURITY_HOTSPOT.plural - </strong> - - about_page.quality_model.security_hotspots - </p> - </div> - <div - className="flex-column flex-column-third" - > - <h3> - metric_domain.Maintainability - </h3> - <div - className="pull-left little-spacer-right" - > - <MOCKCodeSmellIcon /> - </div> - <p - className="about-page-text overflow-hidden" - > - <strong> - issue.type.CODE_SMELL.plural - </strong> - - about_page.quality_model.code_smells - </p> - </div> - </div> - </div> - </div> - </AboutQualityModel> + } + /> + <AboutLanguages /> + <AboutQualityModel /> + <div + className="flex-columns" + > <div - className="flex-columns" + className="flex-column flex-column-half about-page-group-boxes" > - <div - className="flex-column flex-column-half about-page-group-boxes" - > - <AboutCleanCode> - <div - className="boxed-group" - > - <h2> - about_page.clean_code - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.clean_code.text - </p> - <ReadMore - link="https://redirect.sonarsource.com/doc/issues.html" - > - <div - className="big-spacer-top" - > - <a - className="about-page-link-more" - href="https://redirect.sonarsource.com/doc/issues.html" - rel="noopener noreferrer" - target="_blank" - > - <span> - about_page.read_more - </span> - </a> - </div> - </ReadMore> - </div> - </div> - </AboutCleanCode> - </div> - <div - className="flex-column flex-column-half about-page-group-boxes" - > - <AboutLeakPeriod> - <div - className="boxed-group" - > - <h2> - about_page.fix_the_leak - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.fix_the_leak_on_new_code.text - </p> - <ReadMore - link="https://redirect.sonarsource.com/doc/fix-the-leak.html" - > - <div - className="big-spacer-top" - > - <a - className="about-page-link-more" - href="https://redirect.sonarsource.com/doc/fix-the-leak.html" - rel="noopener noreferrer" - target="_blank" - > - <span> - about_page.read_more - </span> - </a> - </div> - </ReadMore> - </div> - </div> - </AboutLeakPeriod> - </div> + <AboutCleanCode /> </div> <div - className="flex-columns" + className="flex-column flex-column-half about-page-group-boxes" > - <div - className="flex-column flex-column-half about-page-group-boxes" - > - <AboutQualityGates> - <div - className="boxed-group" - > - <h2> - about_page.quality_gates - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.quality_gates.text - </p> - <ReadMore - link="https://redirect.sonarsource.com/doc/quality-gates.html" - > - <div - className="big-spacer-top" - > - <a - className="about-page-link-more" - href="https://redirect.sonarsource.com/doc/quality-gates.html" - rel="noopener noreferrer" - target="_blank" - > - <span> - about_page.read_more - </span> - </a> - </div> - </ReadMore> - </div> - </div> - </AboutQualityGates> - </div> - <div - className="flex-column flex-column-half about-page-group-boxes" - > - <AboutStandards - appState={ - Object { - "defaultOrganization": "foo", - "edition": "community", - "productionDatabase": true, - "qualifiers": Array [ - "TRK", - ], - "settings": Object {}, - "version": "1.0", - } + <AboutLeakPeriod /> + </div> + </div> + <div + className="flex-columns" + > + <div + className="flex-column flex-column-half about-page-group-boxes" + > + <AboutQualityGates /> + </div> + <div + className="flex-column flex-column-half about-page-group-boxes" + > + <AboutStandards + appState={ + Object { + "defaultOrganization": "foo", + "edition": "community", + "productionDatabase": true, + "qualifiers": Array [ + "TRK", + ], + "settings": Object {}, + "version": "1.0", } - > - <div - className="boxed-group" - > - <h2> - about_page.standards - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.standards.text - </p> - <div - className="spacer-top" - > - <ul - className="list-inline" - > - <li> - <Link - className="link-with-icon" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/coding_rules", - "query": Object { - "tags": "misra", - }, - } - } - > - <a - className="link-with-icon" - onClick={[Function]} - style={Object {}} - > - <MOCKTagsIcon /> - <span - className="little-spacer-left" - > - MISRA - </span> - </a> - </Link> - </li> - <li> - <Link - className="link-with-icon" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/coding_rules", - "query": Object { - "tags": "cert", - }, - } - } - > - <a - className="link-with-icon" - onClick={[Function]} - style={Object {}} - > - <MOCKTagsIcon /> - <span - className="little-spacer-left" - > - CERT - </span> - </a> - </Link> - </li> - <li> - <Link - className="link-with-icon" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/coding_rules", - "query": Object { - "tags": "cwe", - }, - } - } - > - <a - className="link-with-icon" - onClick={[Function]} - style={Object {}} - > - <MOCKTagsIcon /> - <span - className="little-spacer-left" - > - CWE - </span> - </a> - </Link> - </li> - <li> - <Link - className="link-with-icon" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/coding_rules", - "query": Object { - "tags": "owasp-a1,owasp-a2,owasp-a3,owasp-a4,owasp-a5,owasp-a6,owasp-a7,owasp-a8,owasp-a9,owasp-a10", - }, - } - } - > - <a - className="link-with-icon" - onClick={[Function]} - style={Object {}} - > - <MOCKTagsIcon /> - <span - className="little-spacer-left" - > - OWASP Top 10 - </span> - </a> - </Link> - </li> - <li> - <Link - className="link-with-icon" - onlyActiveOnIndex={false} - style={Object {}} - to={ - Object { - "pathname": "/coding_rules", - "query": Object { - "tags": "sans-top25-porous,sans-top25-risky,sans-top25-insecure", - }, - } - } - > - <a - className="link-with-icon" - onClick={[Function]} - style={Object {}} - > - <MOCKTagsIcon /> - <span - className="little-spacer-left" - > - SANS Top 25 - </span> - </a> - </Link> - </li> - </ul> - </div> - <ReadMore - link="https://redirect.sonarsource.com/doc/rules.html" - > - <div - className="big-spacer-top" - > - <a - className="about-page-link-more" - href="https://redirect.sonarsource.com/doc/rules.html" - rel="noopener noreferrer" - target="_blank" - > - <span> - about_page.read_more - </span> - </a> - </div> - </ReadMore> - </div> - </div> - </AboutStandards> - </div> + } + /> </div> - <AboutScanners> - <div - className="boxed-group" - > - <h2> - about_page.scanners - </h2> - <div - className="boxed-group-inner" - > - <p - className="about-page-text" - > - about_page.scanners.text - </p> - <div - className="about-page-analyzers" - > - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/doc/install-configure-scanner.html" - key="sonarqube" - > - <img - alt="about_page.scanners.sonarqube" - height={60} - src="/images/scanner-logos/sonarqube.svg" - /> - </a> - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/doc/install-configure-scanner-msbuild.html" - key="msbuild" - > - <img - alt="about_page.scanners.msbuild" - height={60} - src="/images/scanner-logos/msbuild.svg" - /> - </a> - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/doc/install-configure-scanner-maven.html" - key="maven" - > - <img - alt="about_page.scanners.maven" - height={60} - src="/images/scanner-logos/maven.svg" - /> - </a> - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/doc/gradle.html" - key="gradle" - > - <img - alt="about_page.scanners.gradle" - height={60} - src="/images/scanner-logos/gradle.svg" - /> - </a> - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/plugins/jenkins.html" - key="jenkins" - > - <img - alt="about_page.scanners.jenkins" - height={60} - src="/images/scanner-logos/jenkins.svg" - /> - </a> - <a - className="about-page-analyzer-box" - href="https://redirect.sonarsource.com/doc/install-configure-scanner-ant.html" - key="ant" - > - <img - alt="about_page.scanners.ant" - height={60} - src="/images/scanner-logos/ant.svg" - /> - </a> - </div> - </div> - </div> - </AboutScanners> </div> - </GlobalContainer> -</AboutApp> + <AboutScanners /> + </div> +</GlobalContainer> `; diff --git a/server/sonar-web/src/main/js/apps/about/routes.ts b/server/sonar-web/src/main/js/apps/about/routes.ts index b0eba5f6853..b843ce6da90 100644 --- a/server/sonar-web/src/main/js/apps/about/routes.ts +++ b/server/sonar-web/src/main/js/apps/about/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { isSonarCloud } from '../../helpers/system'; const routes = [ diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/AsAService.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/AsAService.tsx index 6307a74ac2d..9e9b347ca9d 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/AsAService.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/AsAService.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import SQPageContainer from './components/SQPageContainer'; import SQStartUsing from './components/SQStartUsing'; import SQTopNav from './components/SQTopNav'; import { isLoggedIn } from '../../../helpers/users'; -import { getBaseUrl } from '../../../helpers/urls'; import './style.css'; export default function AsAService() { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/AzureDevOps.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/AzureDevOps.tsx index 56e48711740..47aaa007f5d 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/AzureDevOps.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/AzureDevOps.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { Link } from 'react-router'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import SQPageContainer from './components/SQPageContainer'; import { isLoggedIn } from '../../../helpers/users'; -import { getBaseUrl } from '../../../helpers/urls'; import './style.css'; const LANGUAGES = [ diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/BranchAnalysis.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/BranchAnalysis.tsx index e0f5e54902a..3b647b1fd9d 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/BranchAnalysis.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/BranchAnalysis.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import SQPageContainer from './components/SQPageContainer'; import SQStartUsing from './components/SQStartUsing'; import SQTopNav from './components/SQTopNav'; import { isLoggedIn } from '../../../helpers/users'; -import { getBaseUrl } from '../../../helpers/urls'; import './style.css'; export default function BranchAnalysis() { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/Contact.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/Contact.tsx index 138a5e68c1a..515391ad595 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/Contact.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/Contact.tsx @@ -21,9 +21,9 @@ import * as React from 'react'; import { Helmet } from 'react-helmet'; import { Link } from 'react-router'; import { Location } from 'history'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import SQPageContainer from './components/SQPageContainer'; import Select from '../../../components/controls/Select'; -import { Alert } from '../../../components/ui/Alert'; import { isLoggedIn } from '../../../helpers/users'; import './style.css'; diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/Home.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/Home.tsx index 6f003a2dffb..c1aeb7c27ba 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/Home.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/Home.tsx @@ -20,6 +20,8 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { FixedNavBar, TopNavBar } from './components/NavBars'; import FeaturedProjects from './components/FeaturedProjects'; import Footer from './components/Footer'; @@ -28,8 +30,6 @@ import LoginButtons from './components/LoginButtons'; import Statistics from './components/Statistics'; import { requestHomepageData, HomepageData, FeaturedProject } from './utils'; import { getGlobalSettingValue, Store } from '../../../store/rootReducer'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; -import { getBaseUrl } from '../../../helpers/urls'; import './new_style.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/Pricing.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/Pricing.tsx index da1b5b8e255..caf1dbdef45 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/Pricing.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/Pricing.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import Footer from './components/Footer'; import { TopNavBar, FixedNavBar } from './components/NavBars'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; -import { scrollToElement } from '../../../helpers/scrolling'; -import { getBaseUrl } from '../../../helpers/urls'; import './new_style.css'; export default class Pricing extends React.PureComponent { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/SQHome.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/SQHome.tsx index 716e5d19def..500d2c478d8 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/SQHome.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/SQHome.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { Link } from 'react-router'; import Helmet from 'react-helmet'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import LoginButtons from './components/LoginButtons'; import Pricing from './components/Pricing'; import SQPageContainer from './components/SQPageContainer'; import StartUsing from './components/StartUsing'; import { LANGUAGES } from './utils'; import { isLoggedIn } from '../../../helpers/users'; -import { getBaseUrl } from '../../../helpers/urls'; import './style.css'; const NB_LANGUAGE_PER_ROW = 8; diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/SonarLintIntegration.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/SonarLintIntegration.tsx index 4356e53c449..83b07d31705 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/SonarLintIntegration.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/SonarLintIntegration.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import SQPageContainer from './components/SQPageContainer'; import SQStartUsing from './components/SQStartUsing'; import SQTopNav from './components/SQTopNav'; import { isLoggedIn } from '../../../helpers/users'; -import { getBaseUrl } from '../../../helpers/urls'; import './style.css'; export default function SonarLintIntegration() { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/BranchAnalysis-test.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/BranchAnalysis-test.tsx index 1d1795354fc..9d325efacd9 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/BranchAnalysis-test.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/BranchAnalysis-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import BranchAnalysis from '../BranchAnalysis'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; // necessary to make the test run jest.mock('Docs/EmbedDocsSuggestions.json', () => {}, { virtual: true }); diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/Home-test.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/Home-test.tsx index bb3374ffe14..c43e784f9bd 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/Home-test.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/__tests__/Home-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import Home from '../Home'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { mockStore } from '../../../../helpers/testMocks'; import { requestHomepageData } from '../utils'; diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/FeaturedProjects.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/FeaturedProjects.tsx index da10093def3..cdeb2225206 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/FeaturedProjects.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/FeaturedProjects.tsx @@ -21,15 +21,16 @@ import * as React from 'react'; import * as classNames from 'classnames'; import CountUp from 'react-countup'; import { throttle } from 'lodash'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; +import Rating from 'sonar-ui-common/components/ui/Rating'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { getBaseUrl, getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; import { FeaturedProject } from '../utils'; import CoverageRating from '../../../../components/ui/CoverageRating'; -import DuplicationsRating from '../../../../components/ui/DuplicationsRating'; import OrganizationAvatar from '../../../../components/common/OrganizationAvatar'; import ProjectCardLanguagesContainer from '../../../projects/components/ProjectCardLanguagesContainer'; -import Rating from '../../../../components/ui/Rating'; -import { formatMeasure } from '../../../../helpers/measures'; import { getMetricName } from '../../../overview/utils'; -import { getProjectUrl, getBaseUrl, getPathUrlAsString } from '../../../../helpers/urls'; +import { getProjectUrl } from '../../../../helpers/urls'; import './FeaturedProjects.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Footer.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Footer.tsx index 6861dd29370..8350a24f5bc 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Footer.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Footer.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { getBaseUrl } from '../../../../helpers/urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import './Footer.css'; export default function Footer() { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Languages.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Languages.tsx index 3547de42993..ca612e21751 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Languages.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Languages.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import SCChevronDownIcon from './SCChevronDownIcon'; import { LANGUAGES } from '../utils'; -import { getBaseUrl } from '../../../../helpers/urls'; interface State { height?: number; diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/LoginButtons.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/LoginButtons.tsx index 30c2ff57147..0a45de2722e 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/LoginButtons.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/LoginButtons.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getBaseUrl } from '../../../../helpers/urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import './LoginButtons.css'; export default function LoginButtons() { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/NavBars.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/NavBars.tsx index 6cac713d18d..fa8bf5b42cd 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/NavBars.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/NavBars.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { throttle } from 'lodash'; -import { getBaseUrl } from '../../../../helpers/urls'; -import NavBar from '../../../../components/nav/NavBar'; +import NavBar from 'sonar-ui-common/components/ui/NavBar'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import './NavBars.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SCChevronDownIcon.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SCChevronDownIcon.tsx index 1b375f3df2e..588400c7e9b 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SCChevronDownIcon.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SCChevronDownIcon.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Icon, { IconProps } from '../../../../components/icons-components/Icon'; +import Icon, { IconProps } from 'sonar-ui-common/components/icons/Icon'; export default function SCChevronDownIcon({ className, fill = 'currentColor', size }: IconProps) { return ( diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SQPageContainer.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SQPageContainer.tsx index ed333b1dd7c..8a7da1fcc7d 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SQPageContainer.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/SQPageContainer.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { withRouter, WithRouterProps } from 'react-router'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; import Footer from './Footer'; import GlobalContainer from '../../../../app/components/GlobalContainer'; import { getCurrentUser, getMyOrganizations, Store } from '../../../../store/rootReducer'; -import { addWhitePageClass, removeWhitePageClass } from '../../../../helpers/pages'; interface StateProps { currentUser: T.CurrentUser; diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/StartUsing.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/StartUsing.tsx index 4b5804cea65..640d1f8accd 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/StartUsing.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/StartUsing.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { Link } from 'react-router'; -import ChevronRightIcon from '../../../../components/icons-components/ChevronRightcon'; export default function StartUsing() { return ( diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Statistics.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Statistics.tsx index 91be927f973..b811b96feb2 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Statistics.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/Statistics.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { throttle } from 'lodash'; import CountUp from 'react-countup'; -import { formatMeasure } from '../../../../helpers/measures'; -import { translate } from '../../../../helpers/l10n'; -import { getBaseUrl } from '../../../../helpers/urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import './Statistics.css'; interface Statistic { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/FeaturedProjects-test.tsx b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/FeaturedProjects-test.tsx index 03d67846cf1..5b16d9f91e1 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/FeaturedProjects-test.tsx +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/FeaturedProjects-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import FeaturedProjects, { ProjectCard, ProjectIssues } from '../FeaturedProjects'; -import { click } from '../../../../../helpers/testUtils'; const PROJECTS = [ { diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud/utils.ts b/server/sonar-web/src/main/js/apps/about/sonarcloud/utils.ts index 8dbec41e9b3..592fcf6e831 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud/utils.ts +++ b/server/sonar-web/src/main/js/apps/about/sonarcloud/utils.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getJSON } from '../../../helpers/request'; +import { getJSON } from 'sonar-ui-common/helpers/request'; export interface FeaturedProject { key: string; diff --git a/server/sonar-web/src/main/js/apps/account/components/Account.tsx b/server/sonar-web/src/main/js/apps/account/components/Account.tsx index 6ca884d44ce..fddb4315da3 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Account.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/Account.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { connect } from 'react-redux'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; import Nav from './Nav'; import UserCard from './UserCard'; import { getCurrentUser, areThereCustomOrganizations, Store } from '../../../store/rootReducer'; -import { translate } from '../../../helpers/l10n'; -import handleRequiredAuthentication from '../../../app/utils/handleRequiredAuthentication'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import '../account.css'; diff --git a/server/sonar-web/src/main/js/apps/account/components/Nav.tsx b/server/sonar-web/src/main/js/apps/account/components/Nav.tsx index 2843cd604da..8df08c901fd 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Nav.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/Nav.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link, IndexLink } from 'react-router'; -import NavBarTabs from '../../../components/nav/NavBarTabs'; -import { translate } from '../../../helpers/l10n'; +import NavBarTabs from 'sonar-ui-common/components/ui/NavBarTabs'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { customOrganizations?: boolean; diff --git a/server/sonar-web/src/main/js/apps/account/components/Password.tsx b/server/sonar-web/src/main/js/apps/account/components/Password.tsx index 66e2aa43986..dbaa7cbd582 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Password.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/Password.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { changePassword } from '../../../api/users'; -import { SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; interface Props { user: T.LoggedInUser; diff --git a/server/sonar-web/src/main/js/apps/account/components/Security.tsx b/server/sonar-web/src/main/js/apps/account/components/Security.tsx index 5e08620a52f..95fd1aff8ab 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Security.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/Security.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Password from './Password'; import Tokens from './Tokens'; -import { translate } from '../../../helpers/l10n'; import { getCurrentUser, Store } from '../../../store/rootReducer'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/account/components/Tokens.tsx b/server/sonar-web/src/main/js/apps/account/components/Tokens.tsx index aeef02fbf00..269de10d43d 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Tokens.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/Tokens.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import InstanceMessage from '../../../components/common/InstanceMessage'; import TokensForm from '../../users/components/TokensForm'; -import { translate } from '../../../helpers/l10n'; interface Props { login: string; diff --git a/server/sonar-web/src/main/js/apps/account/components/__tests__/Account-test.tsx b/server/sonar-web/src/main/js/apps/account/components/__tests__/Account-test.tsx index f109395c50f..1df5387f94d 100644 --- a/server/sonar-web/src/main/js/apps/account/components/__tests__/Account-test.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/__tests__/Account-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; import { Account } from '../Account'; import { mockCurrentUser } from '../../../../helpers/testMocks'; -import handleRequiredAuthentication from '../../../../app/utils/handleRequiredAuthentication'; -jest.mock('../../../../app/utils/handleRequiredAuthentication', () => ({ +jest.mock('sonar-ui-common/helpers/handleRequiredAuthentication', () => ({ default: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.tsx b/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.tsx index 973f7c1f94b..81189d46004 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import NotificationsList from './NotificationsList'; import SonarCloudNotifications from './SonarCloudNotifications'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/account/notifications/Notifications.tsx b/server/sonar-web/src/main/js/apps/account/notifications/Notifications.tsx index addd5161955..ad807f8d948 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/Notifications.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/Notifications.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { groupBy, partition, uniq, uniqBy, uniqWith } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import GlobalNotifications from './GlobalNotifications'; import Projects from './Projects'; import { NotificationProject } from './types'; import * as api from '../../../api/notifications'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; import { withAppState } from '../../../components/hoc/withAppState'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.tsx b/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.tsx index 3ba0a60f57c..a0a47476da5 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Checkbox from '../../../components/controls/Checkbox'; -import { translate, hasMessage } from '../../../helpers/l10n'; +import { translate, hasMessage } from 'sonar-ui-common/helpers/l10n'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; interface Props { onAdd: (n: T.Notification) => void; diff --git a/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.tsx b/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.tsx index 18a5079ac75..807f970eab1 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import NotificationsList from './NotificationsList'; import { NotificationProject } from './types'; import Organization from '../../../components/shared/Organization'; -import { translate } from '../../../helpers/l10n'; import { getProjectUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/account/notifications/Projects.tsx b/server/sonar-web/src/main/js/apps/account/notifications/Projects.tsx index 5c116e15665..b774d40881b 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/Projects.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/Projects.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { differenceWith } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectNotifications from './ProjectNotifications'; import { NotificationProject } from './types'; import { getSuggestions } from '../../../api/components'; import { AsyncSelect } from '../../../components/controls/Select'; import Organization from '../../../components/shared/Organization'; -import { translate } from '../../../helpers/l10n'; export interface Props { addNotification: (n: T.Notification) => void; diff --git a/server/sonar-web/src/main/js/apps/account/notifications/SonarCloudNotifications.tsx b/server/sonar-web/src/main/js/apps/account/notifications/SonarCloudNotifications.tsx index 5eb942f8745..c930000fc46 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/SonarCloudNotifications.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/SonarCloudNotifications.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; -import Checkbox from '../../../components/controls/Checkbox'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import { getCurrentUserSetting, Store } from '../../../store/rootReducer'; import { setCurrentUserSetting } from '../../../store/users'; diff --git a/server/sonar-web/src/main/js/apps/account/notifications/__tests__/Notifications-test.tsx b/server/sonar-web/src/main/js/apps/account/notifications/__tests__/Notifications-test.tsx index 32b2286afe0..7760dbbff44 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/__tests__/Notifications-test.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/__tests__/Notifications-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { Notifications } from '../Notifications'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/notifications', () => ({ addNotification: jest.fn(() => Promise.resolve()), diff --git a/server/sonar-web/src/main/js/apps/account/notifications/__tests__/NotificationsList-test.tsx b/server/sonar-web/src/main/js/apps/account/notifications/__tests__/NotificationsList-test.tsx index f215967c3fb..c46b98c8459 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/__tests__/NotificationsList-test.tsx +++ b/server/sonar-web/src/main/js/apps/account/notifications/__tests__/NotificationsList-test.tsx @@ -17,18 +17,16 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* eslint-disable import/first */ -jest.mock('../../../../helpers/l10n', () => { - const l10n = require.requireActual('../../../../helpers/l10n'); - l10n.hasMessage = jest.fn(); - return l10n; -}); - import * as React from 'react'; import { shallow } from 'enzyme'; +import { hasMessage } from 'sonar-ui-common/helpers/l10n'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import NotificationsList from '../NotificationsList'; -import Checkbox from '../../../../components/controls/Checkbox'; -import { hasMessage } from '../../../../helpers/l10n'; + +jest.mock('sonar-ui-common/helpers/l10n', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/l10n'), + hasMessage: jest.fn() +})); const channels = ['channel1', 'channel2']; const types = ['type1', 'type2']; diff --git a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.tsx b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.tsx index 8d03195e613..29c9402ed0c 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.tsx +++ b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; import OrganizationLink from '../../../components/ui/OrganizationLink'; -import { translate } from '../../../helpers/l10n'; interface Props { organization: T.Organization; diff --git a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.tsx b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.tsx index 2ffc1a5c23f..9d1d0ef29b3 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.tsx +++ b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationCard from './OrganizationCard'; -import { translate } from '../../../helpers/l10n'; interface Props { organizations: T.Organization[]; diff --git a/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.tsx b/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.tsx index ff144f8dedd..695da58d85f 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.tsx +++ b/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.tsx @@ -21,9 +21,9 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationsList from './OrganizationsList'; import { fetchIfAnyoneCanCreateOrganizations } from './actions'; -import { translate } from '../../../helpers/l10n'; import { getAppState, getMyOrganizations, diff --git a/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx b/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx index 73c6f255596..b752f8fa8b3 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx +++ b/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import UserExternalIdentity from './UserExternalIdentity'; import UserGroups from './UserGroups'; import UserScmAccounts from './UserScmAccounts'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.tsx b/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.tsx index 4c983b161ed..523529ae9ca 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.tsx +++ b/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getTextColor } from 'sonar-ui-common/helpers/colors'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { getIdentityProviders } from '../../../api/users'; -import * as theme from '../../../app/theme'; -import { getTextColor } from '../../../helpers/colors'; -import { getBaseUrl } from '../../../helpers/urls'; +import { colors } from '../../../app/theme'; interface Props { user: T.LoggedInUser; @@ -95,7 +95,7 @@ export default class UserExternalIdentity extends React.PureComponent<Props, Sta className="identity-provider" style={{ backgroundColor: identityProvider.backgroundColor, - color: getTextColor(identityProvider.backgroundColor, theme.secondFontColor) + color: getTextColor(identityProvider.backgroundColor, colors.secondFontColor) }}> <img alt={identityProvider.name} diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserGroups.tsx b/server/sonar-web/src/main/js/apps/account/profile/UserGroups.tsx index 9c1a8d51cbf..a818818ddd0 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserGroups.tsx +++ b/server/sonar-web/src/main/js/apps/account/profile/UserGroups.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { groups: string[]; diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.tsx b/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.tsx index e4f3a11e066..194c837432b 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.tsx +++ b/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { scmAccounts: string[]; diff --git a/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.tsx b/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.tsx index 6444c7c77d6..0d29fd77e5c 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.tsx +++ b/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; import DateFromNow from '../../../components/intl/DateFromNow'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import Level from '../../../components/ui/Level'; -import Tooltip from '../../../components/controls/Tooltip'; import MetaLink from '../../overview/meta/MetaLink'; import { orderLinks } from '../../projectLinks/utils'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; interface Props { project: T.MyProject; diff --git a/server/sonar-web/src/main/js/apps/account/projects/Projects.tsx b/server/sonar-web/src/main/js/apps/account/projects/Projects.tsx index 54e5fdd4596..74014ec1edd 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/Projects.tsx +++ b/server/sonar-web/src/main/js/apps/account/projects/Projects.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import ProjectCard from './ProjectCard'; -import ListFooter from '../../../components/controls/ListFooter'; -import { translate } from '../../../helpers/l10n'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/account/projects/ProjectsContainer.tsx b/server/sonar-web/src/main/js/apps/account/projects/ProjectsContainer.tsx index 7a81f015f94..44f0cfe435f 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/ProjectsContainer.tsx +++ b/server/sonar-web/src/main/js/apps/account/projects/ProjectsContainer.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Projects from './Projects'; import { getMyProjects } from '../../../api/components'; -import { translate } from '../../../helpers/l10n'; interface State { loading: boolean; @@ -67,7 +67,7 @@ export default class ProjectsContainer extends React.PureComponent<{}, State> { return ( <div className="text-center"> {helmet} - <i className="spinner spinner-margin" /> + <i className="spinner spacer" /> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/account/projects/__tests__/Projects-test.tsx b/server/sonar-web/src/main/js/apps/account/projects/__tests__/Projects-test.tsx index 2c1a3c308f6..fc82404339f 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/__tests__/Projects-test.tsx +++ b/server/sonar-web/src/main/js/apps/account/projects/__tests__/Projects-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Projects from '../Projects'; import ProjectCard from '../ProjectCard'; -import ListFooter from '../../../../components/controls/ListFooter'; const PROJECTS = [ { key: 'key1', links: [], name: 'name1' }, diff --git a/server/sonar-web/src/main/js/apps/account/routes.ts b/server/sonar-web/src/main/js/apps/account/routes.ts index 61244c964f6..9ecf83909af 100644 --- a/server/sonar-web/src/main/js/apps/account/routes.ts +++ b/server/sonar-web/src/main/js/apps/account/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/__tests__/BackgroundTasks-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/__tests__/BackgroundTasks-test.tsx index 2d529a67187..654a8e07e0a 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/__tests__/BackgroundTasks-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/__tests__/BackgroundTasks-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Search from '../components/Search'; import { STATUSES, CURRENTS, DEBOUNCE_DELAY, DEFAULT_FILTERS } from '../constants'; import { formatDuration } from '../utils'; -import { click } from '../../../helpers/testUtils'; describe('Constants', () => { it('should have STATUSES', () => { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx index 9dcc3931657..8562271fa7c 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx @@ -21,6 +21,9 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { debounce, uniq } from 'lodash'; import { connect } from 'react-redux'; +import { parseAsDate } from 'sonar-ui-common/helpers/query'; +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import Footer from './Footer'; import Stats from './Stats'; @@ -38,9 +41,6 @@ import { } from '../../../api/ce'; import { updateTask, mapFiltersToParameters, Query } from '../utils'; import { fetchOrganizations } from '../../../store/rootActions'; -import { translate } from '../../../helpers/l10n'; -import { parseAsDate } from '../../../helpers/query'; -import { toShortNotSoISOString } from '../../../helpers/dates'; import '../background-tasks.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/CurrentsFilter.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/CurrentsFilter.tsx index 65d6b5869bb..5890931fa27 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/CurrentsFilter.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/CurrentsFilter.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Checkbox from '../../../components/controls/Checkbox'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import { CURRENTS } from '../constants'; -import { translate } from '../../../helpers/l10n'; interface Props { value?: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Footer.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Footer.tsx index 70e084628f1..fe6b5c76d89 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Footer.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Footer.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translateWithParameters } from '../../../helpers/l10n'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; const LIMIT = 1000; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Header.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Header.tsx index 5d7655a3c3b..18af9258f6c 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Header.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Header.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Workers from './Workers'; -import { translate } from '../../../helpers/l10n'; interface Props { component?: any; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/NoWorkersSupportPopup.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/NoWorkersSupportPopup.tsx index e9d2126fb61..82b8cf08919 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/NoWorkersSupportPopup.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/NoWorkersSupportPopup.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function NoWorkersSupportPopup() { return ( diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.tsx index 72c73262ce1..2319474622a 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { getTask } from '../../../api/ce'; -import { translate } from '../../../helpers/l10n'; -import Modal from '../../../components/controls/Modal'; interface Props { onClose: () => void; @@ -62,7 +62,7 @@ export default class ScannerContext extends React.PureComponent<Props, State> { const { scannerContext } = this.state; return ( - <Modal contentLabel="scanner context" onRequestClose={this.props.onClose} size={'large'}> + <Modal contentLabel="scanner context" onRequestClose={this.props.onClose} size="large"> <div className="modal-head"> <h2> {translate('background_tasks.scanner_context')} diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Search.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Search.tsx index 4d13a2fb9da..3c87bc36390 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Search.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Search.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import StatusFilter from './StatusFilter'; import TypesFilter from './TypesFilter'; import CurrentsFilter from './CurrentsFilter'; import DateFilter from './DateFilter'; import { DEFAULT_FILTERS } from '../constants'; -import SearchBox from '../../../components/controls/SearchBox'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { Query } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.tsx index 9ac1066d96f..d769dbae798 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { getTask } from '../../../api/ce'; -import { translate } from '../../../helpers/l10n'; -import Modal from '../../../components/controls/Modal'; interface Props { onClose: () => void; @@ -70,7 +70,7 @@ export default class Stacktrace extends React.PureComponent<Props, State> { const { loading, stacktrace } = this.state; return ( - <Modal contentLabel="stacktrace" onRequestClose={this.props.onClose} size={'large'}> + <Modal contentLabel="stacktrace" onRequestClose={this.props.onClose} size="large"> <div className="modal-head"> <h2> {translate('background_tasks.error_stacktrace')} diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingCount.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingCount.tsx index abe98e089d3..8fb7a39fc9e 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingCount.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingCount.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; -import * as theme from '../../../app/theme'; -import { ClearButton } from '../../../components/ui/buttons'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; +import { colors } from '../../../app/theme'; import { getAppState, Store } from '../../../store/rootReducer'; export interface Props { @@ -52,7 +52,7 @@ export function StatPendingCount({ isSystemAdmin, onCancelAllPending, pendingCou onConfirm={onCancelAllPending}> {({ onClick }) => ( <Tooltip overlay={translate('background_tasks.cancel_all_tasks')}> - <ClearButton className="little-spacer-left" color={theme.red} onClick={onClick} /> + <ClearButton className="little-spacer-left" color={colors.red} onClick={onClick} /> </Tooltip> )} </ConfirmButton> diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingTime.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingTime.tsx index 52d34f201a8..6b0150610f7 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingTime.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/StatPendingTime.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; // Do not display the pending time for values smaller than this threshold (in ms) const MIN_PENDING_TIME_THRESHOLD = 1000; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/StatStillFailing.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/StatStillFailing.tsx index 9bede3d54c5..035f1178c54 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/StatStillFailing.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/StatStillFailing.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { ButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; export interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/StatusFilter.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/StatusFilter.tsx index b11e59ce30b..83cd481c5a6 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/StatusFilter.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/StatusFilter.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { STATUSES } from '../constants'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; interface Props { value?: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskActions.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskActions.tsx index 4b154caabde..c7c34c37d85 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskActions.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskActions.tsx @@ -18,13 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import ScannerContext from './ScannerContext'; import Stacktrace from './Stacktrace'; import { STATUSES } from '../constants'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import ActionsDropdown, { ActionsDropdownItem } from '../../../components/controls/ActionsDropdown'; -import { lazyLoad } from '../../../components/lazyLoad'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; const AnalysisWarningsModal = lazyLoad( () => import('../../../components/common/AnalysisWarningsModal'), diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.tsx index 98db6667d97..b99889a7c91 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.tsx @@ -18,9 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import PullRequestIcon from 'sonar-ui-common/components/icons/PullRequestIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import ShortLivingBranchIcon from 'sonar-ui-common/components/icons/ShortLivingBranchIcon'; import { Link } from 'react-router'; import TaskType from './TaskType'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; import Organization from '../../../components/shared/Organization'; import { getProjectUrl, @@ -28,9 +31,6 @@ import { getLongLivingBranchUrl, getPullRequestUrl } from '../../../helpers/urls'; -import ShortLivingBranchIcon from '../../../components/icons-components/ShortLivingBranchIcon'; -import LongLivingBranchIcon from '../../../components/icons-components/LongLivingBranchIcon'; -import PullRequestIcon from '../../../components/icons-components/PullRequestIcon'; interface Props { task: T.Task; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.tsx index bfe340906ad..8b980caa833 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.tsx @@ -18,8 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; +import { isValidDate, parseDate } from 'sonar-ui-common/helpers/dates'; import TimeFormatter from '../../../components/intl/TimeFormatter'; -import { differenceInDays, isValidDate, parseDate } from '../../../helpers/dates'; interface Props { date?: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDay.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDay.tsx index f443dec159a..2c5608fb7cd 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDay.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDay.tsx @@ -18,8 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as isSameDay from 'date-fns/is_same_day'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import DateFormatter from '../../../components/intl/DateFormatter'; -import { isSameDay, parseDate } from '../../../helpers/dates'; interface Props { submittedAt: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.tsx index c6e270a8ce7..192907dd60f 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import PendingIcon from 'sonar-ui-common/components/icons/PendingIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { STATUSES } from '../constants'; -import PendingIcon from '../../../components/icons-components/PendingIcon'; -import { translate } from '../../../helpers/l10n'; interface Props { status: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskSubmitter.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskSubmitter.tsx index 3566222f968..91f51e42aa9 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskSubmitter.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskSubmitter.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { submitter?: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskType.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskType.tsx index 400b819fe38..d62c01b9f5c 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskType.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskType.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { type: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.tsx index 80744ba9c95..9fc950f879d 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Task from './Task'; -import { translate } from '../../../helpers/l10n'; interface Props { tasks: T.Task[]; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.tsx index e04aa38542c..3059784a750 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { ALL_TYPES } from '../constants'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; interface Props { value: string; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Workers.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/Workers.tsx index eff62fff02a..796e04b40c1 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Workers.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Workers.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import AlertWarnIcon from 'sonar-ui-common/components/icons/AlertWarnIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { EditButton } from 'sonar-ui-common/components/controls/buttons'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import WorkersForm from './WorkersForm'; import NoWorkersSupportPopup from './NoWorkersSupportPopup'; -import AlertWarnIcon from '../../../components/icons-components/AlertWarnIcon'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import Tooltip from '../../../components/controls/Tooltip'; import { getWorkers } from '../../../api/ce'; -import { translate } from '../../../helpers/l10n'; -import { EditButton } from '../../../components/ui/buttons'; interface State { canSetWorkerCount: boolean; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/WorkersForm.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/WorkersForm.tsx index c94e4fc57fb..2f32217bc5d 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/WorkersForm.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/WorkersForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { setWorkerCount } from '../../../api/ce'; -import Modal from '../../../components/controls/Modal'; import Select from '../../../components/controls/Select'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; const MAX_WORKERS = 10; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/BackgroundTasksApp-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/BackgroundTasksApp-test.tsx index 0c52d27c0e5..35089b798d2 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/BackgroundTasksApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/BackgroundTasksApp-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { BackgroundTasksApp } from '../BackgroundTasksApp'; import { mockLocation, mockRouter } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/ce', () => ({ getTypes: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/ScannerContext-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/ScannerContext-test.tsx index 66f00f42c38..4ac9bdd3a0b 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/ScannerContext-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/ScannerContext-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import ScannerContext from '../ScannerContext'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/ce', () => ({ getTask: jest.fn(() => Promise.resolve({ scannerContext: 'context' })) diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Stacktrace-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Stacktrace-test.tsx index c45a4878215..4bb4b4339b3 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Stacktrace-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Stacktrace-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import Stacktrace from '../Stacktrace'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/ce', () => ({ getTask: jest.fn(() => Promise.resolve({ errorStacktrace: 'stacktrace' })) diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/StatStillFailing-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/StatStillFailing-test.tsx index ffd9cf82d36..01babc019fe 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/StatStillFailing-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/StatStillFailing-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import StatStillFailing, { Props } from '../StatStillFailing'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/TaskActions-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/TaskActions-test.tsx index 1cd7755ec7d..eb2a42191ca 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/TaskActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/TaskActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import TaskActions from '../TaskActions'; -import { click } from '../../../../helpers/testUtils'; it('renders', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Workers-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Workers-test.tsx index 88c519d042b..0a404a52446 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Workers-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/Workers-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Workers from '../Workers'; -import { click } from '../../../../helpers/testUtils'; it('renders', () => { const wrapper = shallow(<Workers />); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/WorkersForm-test.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/WorkersForm-test.tsx index 64b98749462..61b46961fb3 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/WorkersForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/WorkersForm-test.tsx @@ -25,7 +25,7 @@ jest.mock('../../../../api/ce', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import WorkersForm from '../WorkersForm'; -import { submit } from '../../../../helpers/testUtils'; +import { submit } from 'sonar-ui-common/helpers/testUtils'; it('changes select', () => { const wrapper = shallow(<WorkersForm onClose={jest.fn()} workerCount={1} />); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/routes.ts b/server/sonar-web/src/main/js/apps/background-tasks/routes.ts index 9723226afee..e580915515c 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/routes.ts +++ b/server/sonar-web/src/main/js/apps/background-tasks/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/utils.ts b/server/sonar-web/src/main/js/apps/background-tasks/utils.ts index 76aa8c4aa98..b6ad34fd8fa 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/utils.ts +++ b/server/sonar-web/src/main/js/apps/background-tasks/utils.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; import { STATUSES, CURRENTS, ALL_TYPES } from './constants'; -import { toShortNotSoISOString } from '../../helpers/dates'; export interface Query { currents: string; diff --git a/server/sonar-web/src/main/js/apps/code/components/App.tsx b/server/sonar-web/src/main/js/apps/code/components/App.tsx index 6a6f152dda5..0d2ccde10a6 100644 --- a/server/sonar-web/src/main/js/apps/code/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/App.tsx @@ -23,6 +23,8 @@ import { connect } from 'react-redux'; import Helmet from 'react-helmet'; import { InjectedRouter } from 'react-router'; import { Location } from 'history'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Components from './Components'; import Breadcrumbs from './Breadcrumbs'; import Search from './Search'; @@ -30,12 +32,10 @@ import SourceViewerWrapper from './SourceViewerWrapper'; import { addComponent, addComponentBreadcrumbs, clearBucket } from '../bucket'; import { retrieveComponentChildren, retrieveComponent, loadMoreChildren } from '../utils'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; -import ListFooter from '../../../components/controls/ListFooter'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { fetchMetrics, fetchBranchStatus } from '../../../store/rootActions'; import { getMetrics } from '../../../store/rootReducer'; import { isSameBranchLike, isPullRequest, isShortLivingBranch } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; import { getProjectUrl, getCodeUrl } from '../../../helpers/urls'; import '../code.css'; diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentName.tsx b/server/sonar-web/src/main/js/apps/code/components/ComponentName.tsx index 03669f6c250..ab46a4ec50f 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentName.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentName.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import * as theme from '../../../app/theme'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { colors } from '../../../app/theme'; import { getBranchLikeQuery } from '../../../helpers/branches'; -import LongLivingBranchIcon from '../../../components/icons-components/LongLivingBranchIcon'; -import { translate } from '../../../helpers/l10n'; export function getTooltip(component: T.ComponentMeasure) { const isFile = component.qualifier === 'FIL' || component.qualifier === 'UTS'; @@ -71,7 +71,7 @@ export default function ComponentName({ : ''; const name = prefix ? ( <span> - <span style={{ color: theme.secondFontColor }}>{prefix}</span> + <span style={{ color: colors.secondFontColor }}>{prefix}</span> <span>{component.name.substr(prefix.length)}</span> </span> ) : ( diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentPin.tsx b/server/sonar-web/src/main/js/apps/code/components/ComponentPin.tsx index aec5938c73d..5db17fbcdac 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentPin.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentPin.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import PinIcon from '../../../components/icons-components/PinIcon'; +import PinIcon from 'sonar-ui-common/components/icons/PinIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { WorkspaceContextShape } from '../../../components/workspace/context'; -import { translate } from '../../../helpers/l10n'; interface Props { branchLike?: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentsEmpty.tsx b/server/sonar-web/src/main/js/apps/code/components/ComponentsEmpty.tsx index 6f314ebf25d..c724ebec0e6 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentsEmpty.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentsEmpty.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { canBePinned?: boolean; diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.tsx b/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.tsx index 1d075872fa0..05c70f4721d 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { baseComponent?: T.ComponentMeasure; diff --git a/server/sonar-web/src/main/js/apps/code/components/Search.tsx b/server/sonar-web/src/main/js/apps/code/components/Search.tsx index 1f71cc3eda8..616d43e33ac 100644 --- a/server/sonar-web/src/main/js/apps/code/components/Search.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/Search.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import { getTree } from '../../../api/components'; -import SearchBox from '../../../components/controls/SearchBox'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import { getBranchLikeQuery } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; import { withRouter, Router, Location } from '../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/code/components/SourceViewerWrapper.tsx b/server/sonar-web/src/main/js/apps/code/components/SourceViewerWrapper.tsx index 3feaea65861..5c9f6fbd1af 100644 --- a/server/sonar-web/src/main/js/apps/code/components/SourceViewerWrapper.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/SourceViewerWrapper.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { Location } from 'history'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import SourceViewer from '../../../components/SourceViewer/SourceViewer'; import withKeyboardNavigation from '../../../components/hoc/withKeyboardNavigation'; -import { scrollToElement } from '../../../helpers/scrolling'; interface Props { branchLike?: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/code/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/code/components/__tests__/App-test.tsx index 05d2bca6da2..8ad174bf7c5 100644 --- a/server/sonar-web/src/main/js/apps/code/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/code/components/__tests__/App-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { App } from '../App'; import { retrieveComponent } from '../../utils'; import { mockRouter, mockPullRequest, mockIssue } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../utils', () => ({ retrieveComponent: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/code/routes.ts b/server/sonar-web/src/main/js/apps/code/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/code/routes.ts +++ b/server/sonar-web/src/main/js/apps/code/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationButton.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationButton.tsx index 5f12bdcc8b4..ebcc04a173f 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationButton.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationButton.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ActivationFormModal from './ActivationFormModal'; import { Profile as BaseProfile } from '../../../api/quality-profiles'; -import { Button } from '../../../components/ui/buttons'; interface Props { activation?: T.RuleActivation; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationFormModal.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationFormModal.tsx index 9d9b7611608..1adfff4951f 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationFormModal.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationFormModal.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Modal from '../../../components/controls/Modal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import Select from '../../../components/controls/Select'; import SeverityHelper from '../../../components/shared/SeverityHelper'; import { activateRule, Profile } from '../../../api/quality-profiles'; import { SEVERITIES } from '../../../helpers/constants'; -import { translate } from '../../../helpers/l10n'; import { sortProfiles } from '../../quality-profiles/utils'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { Alert } from '../../../components/ui/Alert'; interface Props { activation?: T.RuleActivation; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationSeverityFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationSeverityFacet.tsx index 8a0523351ed..71e8702cc60 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationSeverityFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/ActivationSeverityFacet.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; import SeverityHelper from '../../../components/shared/SeverityHelper'; import { SEVERITIES } from '../../../helpers/constants'; -import { translate } from '../../../helpers/l10n'; interface Props extends BasicProps { disabled: boolean; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/App.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/App.tsx index e9e9ef63943..78624c9c3e9 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/App.tsx @@ -18,11 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as key from 'keymaster'; +import { keyBy } from 'lodash'; import { Helmet } from 'react-helmet'; import { connect } from 'react-redux'; import { withRouter, WithRouterProps } from 'react-router'; -import * as key from 'keymaster'; -import { keyBy } from 'lodash'; +import { + addSideBarClass, + addWhitePageClass, + removeSideBarClass, + removeWhitePageClass +} from 'sonar-ui-common/helpers/pages'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import BulkChange from './BulkChange'; import FacetsList from './FacetsList'; import PageActions from './PageActions'; @@ -46,9 +56,7 @@ import { } from '../query'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper'; -import ListFooter from '../../../components/controls/ListFooter'; import FiltersHeader from '../../../components/common/FiltersHeader'; -import SearchBox from '../../../components/controls/SearchBox'; import { searchRules, getRulesApp } from '../../../api/rules'; import { searchQualityProfiles, Profile } from '../../../api/quality-profiles'; import { @@ -64,16 +72,7 @@ import { shouldOpenStandardsChildFacet, STANDARDS } from '../../issues/utils'; -import { translate } from '../../../helpers/l10n'; import { hasPrivateAccess } from '../../../helpers/organizations'; -import { - addSideBarClass, - addWhitePageClass, - removeSideBarClass, - removeWhitePageClass -} from '../../../helpers/pages'; -import { RawQuery } from '../../../helpers/query'; -import { scrollToElement } from '../../../helpers/scrolling'; import '../../../components/search-navigator.css'; import '../styles.css'; @@ -255,7 +254,7 @@ export class App extends React.PureComponent<Props, State> { ); }; - makeFetchRequest = (query?: RawQuery) => + makeFetchRequest = (query?: T.RawQuery) => searchRules({ ...this.getSearchParameters(), ...query }).then( ({ actives: rawActives, facets: rawFacets, p, ps, rules, total }) => { const actives = rawActives && parseActives(rawActives); @@ -265,7 +264,7 @@ export class App extends React.PureComponent<Props, State> { } ); - fetchFirstRules = (query?: RawQuery) => { + fetchFirstRules = (query?: T.RawQuery) => { this.setState({ loading: true }); this.makeFetchRequest(query).then(({ actives, facets, paging, rules }) => { if (this.mounted) { diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/AvailableSinceFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/AvailableSinceFacet.tsx index 968d6b99e7b..bb464f86d38 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/AvailableSinceFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/AvailableSinceFacet.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { injectIntl, InjectedIntlProps } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query } from '../query'; import DateInput from '../../../components/controls/DateInput'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import { longFormatterOption } from '../../../components/intl/DateFormatter'; -import { translate } from '../../../helpers/l10n'; interface Props { onChange: (changes: Partial<Query>) => void; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChange.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChange.tsx index 4a7fe801eb5..7f111e83c4d 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChange.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChange.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import BulkChangeModal from './BulkChangeModal'; import { Query } from '../query'; import { Profile } from '../../../api/quality-profiles'; -import Dropdown from '../../../components/controls/Dropdown'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { languages: T.Languages; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChangeModal.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChangeModal.tsx index 922c6bb563c..6f6e053128d 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChangeModal.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/BulkChangeModal.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { Query, serializeQuery } from '../query'; -import Modal from '../../../components/controls/Modal'; import Select from '../../../components/controls/Select'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; import { Profile, bulkActivateRules, bulkDeactivateRules } from '../../../api/quality-profiles'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; interface Props { action: string; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/CustomRuleFormModal.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/CustomRuleFormModal.tsx index 42b022b64e7..0adff48cbf5 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/CustomRuleFormModal.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/CustomRuleFormModal.tsx @@ -18,18 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Modal from '../../../components/controls/Modal'; -import { translate } from '../../../helpers/l10n'; +import { csvEscape } from 'sonar-ui-common/helpers/csv'; +import { latinize } from 'sonar-ui-common/helpers/strings'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import MarkdownTips from '../../../components/common/MarkdownTips'; -import { SEVERITIES, RULE_TYPES, RULE_STATUSES } from '../../../helpers/constants'; import Select from '../../../components/controls/Select'; -import TypeHelper from '../../../components/shared/TypeHelper'; import SeverityHelper from '../../../components/shared/SeverityHelper'; +import TypeHelper from '../../../components/shared/TypeHelper'; import { createRule, updateRule } from '../../../api/rules'; -import { csvEscape } from '../../../helpers/csv'; -import { latinize } from '../../../helpers/strings'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { Alert } from '../../../components/ui/Alert'; +import { SEVERITIES, RULE_TYPES, RULE_STATUSES } from '../../../helpers/constants'; interface Props { customRule?: T.RuleDetails; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/DefaultSeverityFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/DefaultSeverityFacet.tsx index 54565381ca3..8c08b742f95 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/DefaultSeverityFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/DefaultSeverityFacet.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; import SeverityHelper from '../../../components/shared/SeverityHelper'; import { SEVERITIES } from '../../../helpers/constants'; -import { translate } from '../../../helpers/l10n'; export default class DefaultSeverityFacet extends React.PureComponent<BasicProps> { renderName = (severity: string) => <SeverityHelper severity={severity} />; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/Facet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/Facet.tsx index 2a766236a32..bd7a381fef7 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/Facet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/Facet.tsx @@ -20,14 +20,14 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { orderBy, without, sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { FacetKey } from '../query'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; export interface BasicProps { onChange: (changes: T.Dict<string | string[] | undefined>) => void; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/InheritanceFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/InheritanceFacet.tsx index 1fb63734e04..c16d4201652 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/InheritanceFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/InheritanceFacet.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; -import { translate } from '../../../helpers/l10n'; interface Props extends T.Omit<BasicProps, 'values'> { disabled: boolean; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx index 23ae3dba8ee..1904a3081b9 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { uniqBy } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { BasicProps } from './Facet'; import { getLanguages, Store } from '../../../store/rootReducer'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; interface InstalledLanguage { key: string; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/PageActions.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/PageActions.tsx index 65b5d8ffbbb..e0486cafceb 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/PageActions.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/PageActions.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ReloadButton from 'sonar-ui-common/components/controls/ReloadButton'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import PageCounter from '../../../components/common/PageCounter'; -import ReloadButton from '../../../components/controls/ReloadButton'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/ProfileFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/ProfileFacet.tsx index 2e15cea1b9c..6197f0adf1a 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/ProfileFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/ProfileFacet.tsx @@ -20,6 +20,7 @@ import * as React from 'react'; import { sortBy } from 'lodash'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query, FacetKey } from '../query'; import { Profile } from '../../../api/quality-profiles'; import DocTooltip from '../../../components/docs/DocTooltip'; @@ -27,7 +28,6 @@ import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; -import { translate } from '../../../helpers/l10n'; interface Props { activation: boolean | undefined; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RemoveExtendedDescriptionModal.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RemoveExtendedDescriptionModal.tsx index d0eff0f48ef..fc6712657fb 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RemoveExtendedDescriptionModal.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RemoveExtendedDescriptionModal.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; interface Props { onCancel: () => void; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetails.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetails.tsx index a2a66f8050a..c12426d713c 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetails.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetails.tsx @@ -18,6 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import CustomRuleButton from './CustomRuleButton'; import RuleDetailsCustomRules from './RuleDetailsCustomRules'; import RuleDetailsDescription from './RuleDetailsDescription'; @@ -28,11 +32,7 @@ import RuleDetailsProfiles from './RuleDetailsProfiles'; import { Query, Activation } from '../query'; import { Profile } from '../../../api/quality-profiles'; import { getRuleDetails, deleteRule, updateRule } from '../../../api/rules'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { Button } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { allowCustomRules?: boolean; @@ -133,10 +133,12 @@ export default class RuleDetails extends React.PureComponent<Props, State> { handleDeactivate = () => this.fetchRuleDetails().then(() => { const { ruleKey, selectedProfile } = this.props; - if (selectedProfile && this.state.actives) { - if (!this.state.actives.find(active => active.qProfile === selectedProfile.key)) { - this.props.onDeactivate(selectedProfile.key, ruleKey); - } + if ( + selectedProfile && + this.state.actives && + !this.state.actives.find(active => active.qProfile === selectedProfile.key) + ) { + this.props.onDeactivate(selectedProfile.key, ruleKey); } }); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsCustomRules.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsCustomRules.tsx index c0aceb9a116..6f88046a22d 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsCustomRules.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsCustomRules.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { Link } from 'react-router'; import { sortBy } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import CustomRuleButton from './CustomRuleButton'; import { searchRules, deleteRule } from '../../../api/rules'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; import SeverityHelper from '../../../components/shared/SeverityHelper'; -import { Button } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { getRuleUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsDescription.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsDescription.tsx index fc0ec48363e..a5c4397451b 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsDescription.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsDescription.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; import RemoveExtendedDescriptionModal from './RemoveExtendedDescriptionModal'; import { updateRule } from '../../../api/rules'; import MarkdownTips from '../../../components/common/MarkdownTips'; -import { Button, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { canWrite: boolean | undefined; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsIssues.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsIssues.tsx index 5a6dbfc9f85..86b9e3fb5c6 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsIssues.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsIssues.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Tooltip from '../../../components/controls/Tooltip'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { getFacet } from '../../../api/issues'; import { getIssuesUrl } from '../../../helpers/urls'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; import { withAppState } from '../../../components/hoc/withAppState'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx index 93ba7ba04a4..da19cbce288 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx @@ -19,22 +19,22 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import LinkIcon from 'sonar-ui-common/components/icons/LinkIcon'; +import RuleScopeIcon from 'sonar-ui-common/components/icons/RuleScopeIcon'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import RuleDetailsTagsPopup from './RuleDetailsTagsPopup'; import SimilarRulesFilter from './SimilarRulesFilter'; import DateFormatter from '../../../components/intl/DateFormatter'; import DocTooltip from '../../../components/docs/DocTooltip'; -import Dropdown from '../../../components/controls/Dropdown'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; -import LinkIcon from '../../../components/icons-components/LinkIcon'; -import RuleScopeIcon from '../../../components/icons-components/RuleScopeIcon'; import SeverityHelper from '../../../components/shared/SeverityHelper'; import TagsList from '../../../components/tags/TagsList'; -import Tooltip from '../../../components/controls/Tooltip'; -import { ButtonLink } from '../../../components/ui/buttons'; -import { PopupPlacement } from '../../../components/ui/popups'; import { Query } from '../query'; import { getRuleUrl } from '../../../helpers/urls'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { canWrite: boolean | undefined; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsParameters.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsParameters.tsx index 57f42d438a1..db7ff604408 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsParameters.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsParameters.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { params: T.RuleParameter[]; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsProfiles.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsProfiles.tsx index 58dae28f955..a79d58e48b0 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsProfiles.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsProfiles.tsx @@ -20,17 +20,17 @@ import * as React from 'react'; import { filter } from 'lodash'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import ActivationButton from './ActivationButton'; import RuleInheritanceIcon from './RuleInheritanceIcon'; import { Profile, deactivateRule, activateRule } from '../../../api/quality-profiles'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; import BuiltInQualityProfileBadge from '../../quality-profiles/components/BuiltInQualityProfileBadge'; import InstanceMessage from '../../../components/common/InstanceMessage'; import SeverityHelper from '../../../components/shared/SeverityHelper'; -import Tooltip from '../../../components/controls/Tooltip'; -import { Button } from '../../../components/ui/buttons'; import { getQualityProfileUrl } from '../../../helpers/urls'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { activations: T.RuleActivation[] | undefined; @@ -115,7 +115,7 @@ export default class RuleDetailsProfiles extends React.PureComponent<Props> { return ( <div className="coding-rules-detail-quality-profile-parameter" key={param.key}> <span className="key">{param.key}</span> - <span className="sep">{': '}</span> + <span className="sep">: </span> <span className="value" title={param.value}> {param.value} </span> diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleInheritanceIcon.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleInheritanceIcon.tsx index 47195eca575..7fd6ea7be5b 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleInheritanceIcon.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleInheritanceIcon.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import * as theme from '../../../app/theme'; +import { colors } from '../../../app/theme'; interface Props { className?: string; @@ -26,7 +26,7 @@ interface Props { } export default function RuleInheritanceIcon({ className, inheritance, ...other }: Props) { - const fill = inheritance === 'OVERRIDES' ? theme.red : theme.baseFontColor; + const fill = inheritance === 'OVERRIDES' ? colors.red : colors.baseFontColor; return ( <svg diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleListItem.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleListItem.tsx index faa9b262d8b..8c2b5c7f63d 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RuleListItem.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RuleListItem.tsx @@ -20,18 +20,18 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { Link } from 'react-router'; +import SeverityIcon from 'sonar-ui-common/components/icons/SeverityIcon'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import ActivationButton from './ActivationButton'; import RuleInheritanceIcon from './RuleInheritanceIcon'; import SimilarRulesFilter from './SimilarRulesFilter'; import { Activation, Query } from '../query'; import { Profile, deactivateRule } from '../../../api/quality-profiles'; -import { Button } from '../../../components/ui/buttons'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; -import SeverityIcon from '../../../components/icons-components/SeverityIcon'; import TagsList from '../../../components/tags/TagsList'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { getRuleUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx index 598aa7ed66b..f61d9278356 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import FilterIcon from 'sonar-ui-common/components/icons/FilterIcon'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import { Query } from '../query'; -import Dropdown from '../../../components/controls/Dropdown'; -import { translate } from '../../../helpers/l10n'; import SeverityHelper from '../../../components/shared/SeverityHelper'; -import FilterIcon from '../../../components/icons-components/FilterIcon'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import TagsIcon from '../../../components/icons-components/TagsIcon'; interface Props { onFilterChange: (changes: Partial<Query>) => void; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/StatusFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/StatusFacet.tsx index 3f48340caa7..6739f0b974f 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/StatusFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/StatusFacet.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; import { RULE_STATUSES } from '../../../helpers/constants'; -import { translate } from '../../../helpers/l10n'; export default class StatusFacet extends React.PureComponent<BasicProps> { renderName = (status: string) => translate('rules.status', status.toLowerCase()); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx index 2ba2fc99696..9cab40f1045 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; import { uniq } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { BasicProps } from './Facet'; import { getRuleTags } from '../../../api/rules'; -import * as theme from '../../../app/theme'; -import TagsIcon from '../../../components/icons-components/TagsIcon'; +import { colors } from '../../../app/theme'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; interface Props extends BasicProps { organization: string | undefined; @@ -49,14 +49,14 @@ export default class TagFacet extends React.PureComponent<Props> { renderTag = (tag: string) => ( <> - <TagsIcon className="little-spacer-right" fill={theme.gray60} /> + <TagsIcon className="little-spacer-right" fill={colors.gray60} /> {tag} </> ); renderSearchResult = (tag: string, term: string) => ( <> - <TagsIcon className="little-spacer-right" fill={theme.gray60} /> + <TagsIcon className="little-spacer-right" fill={colors.gray60} /> {highlightTerm(tag, term)} </> ); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/TemplateFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/TemplateFacet.tsx index ef2702af7cd..8f02d5373c6 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/TemplateFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/TemplateFacet.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate } from '../../../helpers/l10n'; interface Props extends T.Omit<BasicProps, 'onChange' | 'values'> { onChange: (changes: { template: boolean | undefined }) => void; diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/TypeFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/TypeFacet.tsx index 4fe12be1485..53e666401bb 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/TypeFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/TypeFacet.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Facet, { BasicProps } from './Facet'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; -import { translate } from '../../../helpers/l10n'; export default class TypeFacet extends React.PureComponent<BasicProps> { renderName = (type: string) => ( diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/CustomRuleFormModal-test.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/CustomRuleFormModal-test.tsx index d76fff3242e..b5d62422781 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/CustomRuleFormModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/CustomRuleFormModal-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import CustomRuleFormModal from '../CustomRuleFormModal'; import { createRule } from '../../../../api/rules'; import { mockRule } from '../../../../helpers/testMocks'; -import { submit, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/rules', () => ({ createRule: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetails-test.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetails-test.tsx index 3d2baaff55f..c3c858daf42 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetails-test.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetails-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import RuleDetails from '../RuleDetails'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { updateRule } from '../../../../api/rules'; jest.mock('../../../../api/rules', () => ({ diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsDescription-test.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsDescription-test.tsx index c9e7df9b2cd..0a5891616e3 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsDescription-test.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsDescription-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, change, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import RuleDetailsDescription from '../RuleDetailsDescription'; -import { click, change, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/rules', () => ({ updateRule: jest.fn().mockResolvedValue('updatedrule') diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsIssues-test.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsIssues-test.tsx index 4930381524d..107b7cb18ae 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsIssues-test.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/RuleDetailsIssues-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { RuleDetailsIssues } from '../RuleDetailsIssues'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getFacet } from '../../../../api/issues'; jest.mock('../../../../api/issues', () => ({ diff --git a/server/sonar-web/src/main/js/apps/coding-rules/query.ts b/server/sonar-web/src/main/js/apps/coding-rules/query.ts index 54f84651a61..e3bd82cbbd2 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/query.ts +++ b/server/sonar-web/src/main/js/apps/coding-rules/query.ts @@ -18,7 +18,6 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { - RawQuery, parseAsString, parseAsArray, serializeString, @@ -30,7 +29,7 @@ import { parseAsOptionalBoolean, serializeOptionalBoolean, parseAsOptionalString -} from '../../helpers/query'; +} from 'sonar-ui-common/helpers/query'; export interface Query { activation: boolean | undefined; @@ -75,7 +74,7 @@ export interface Actives { }; } -export function parseQuery(query: RawQuery): Query { +export function parseQuery(query: T.RawQuery): Query { return { activation: parseAsOptionalBoolean(query.activation), activationSeverities: parseAsArray(query.active_severities, parseAsString), @@ -99,7 +98,7 @@ export function parseQuery(query: RawQuery): Query { }; } -export function serializeQuery(query: Query): RawQuery { +export function serializeQuery(query: Query): T.RawQuery { return cleanQuery({ activation: serializeOptionalBoolean(query.activation), active_severities: serializeStringArray(query.activationSeverities), @@ -123,7 +122,7 @@ export function serializeQuery(query: Query): RawQuery { }); } -export function areQueriesEqual(a: RawQuery, b: RawQuery) { +export function areQueriesEqual(a: T.RawQuery, b: T.RawQuery) { return queriesEqual(parseQuery(a), parseQuery(b)); } @@ -153,7 +152,7 @@ export function getAppFacet(serverFacet: string): FacetKey { return serverFacet === 'active_severities' ? 'activationSeverities' : (serverFacet as FacetKey); } -export function getOpen(query: RawQuery) { +export function getOpen(query: T.RawQuery) { return query.open; } diff --git a/server/sonar-web/src/main/js/apps/coding-rules/routes.ts b/server/sonar-web/src/main/js/apps/coding-rules/routes.ts index e352ce368da..91f5e869529 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/routes.ts +++ b/server/sonar-web/src/main/js/apps/coding-rules/routes.ts @@ -18,12 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { RouterState, RedirectFunction } from 'react-router'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { parseQuery, serializeQuery } from './query'; -import { lazyLoad } from '../../components/lazyLoad'; -import { RawQuery } from '../../helpers/query'; -function parseHash(hash: string): RawQuery { - const query: RawQuery = {}; +function parseHash(hash: string): T.RawQuery { + const query: T.RawQuery = {}; const parts = hash.split('|'); parts.forEach(part => { const tokens = part.split('='); diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/App.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/App.tsx index 44dc101b0fb..8063add6faf 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/App.tsx @@ -19,10 +19,21 @@ */ import * as React from 'react'; import * as key from 'keymaster'; +import { keyBy } from 'lodash'; import { connect } from 'react-redux'; import { withRouter, WithRouterProps } from 'react-router'; import Helmet from 'react-helmet'; -import { keyBy } from 'lodash'; +import { + addSideBarClass, + addWhitePageClass, + removeSideBarClass, + removeWhitePageClass +} from 'sonar-ui-common/helpers/pages'; +import { + getLocalizedMetricDomain, + translateWithParameters, + translate +} from 'sonar-ui-common/helpers/l10n'; import MeasureContent from './MeasureContent'; import MeasuresEmpty from './MeasuresEmpty'; import MeasureOverviewContainer from './MeasureOverviewContainer'; @@ -48,17 +59,6 @@ import { isPullRequest } from '../../../helpers/branches'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; -import { - getLocalizedMetricDomain, - translateWithParameters, - translate -} from '../../../helpers/l10n'; -import { - addSideBarClass, - addWhitePageClass, - removeSideBarClass, - removeWhitePageClass -} from '../../../helpers/pages'; import '../../../components/search-navigator.css'; import '../style.css'; import { getAllMetrics } from '../../../api/metrics'; @@ -295,7 +295,7 @@ export class App extends React.PureComponent<Props, State> { render() { if (this.state.loading) { - return <i className="spinner spinner-margin" />; + return <i className="spinner spacer" />; } const { branchLike } = this.props; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/Breadcrumb.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/Breadcrumb.tsx index 36bac8830a3..d5362273356 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/Breadcrumb.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/Breadcrumb.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Tooltip from '../../../components/controls/Tooltip'; -import { collapsePath, limitComponentName } from '../../../helpers/path'; +import { collapsePath, limitComponentName } from 'sonar-ui-common/helpers/path'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { canBrowse: boolean; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx index e0e0796f45a..dcf5f5d089d 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { injectIntl, InjectedIntlProps } from 'react-intl'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFromNow from '../../../components/intl/DateFromNow'; import DateFormatter, { longFormatterOption } from '../../../components/intl/DateFormatter'; import DateTimeFormatter, { formatterOption } from '../../../components/intl/DateTimeFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; import { getPeriodLabel, getPeriodDate } from '../../../helpers/periods'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { differenceInDays } from '../../../helpers/dates'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx index 7505f27e422..8d79d1b875e 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx @@ -19,11 +19,13 @@ */ import * as React from 'react'; import { InjectedRouter } from 'react-router'; +import PageActions from 'sonar-ui-common/components/ui/PageActions'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { RequestData } from 'sonar-ui-common/helpers/request'; import Breadcrumbs from './Breadcrumbs'; import MeasureContentHeader from './MeasureContentHeader'; import MeasureHeader from './MeasureHeader'; import MeasureViewSelect from './MeasureViewSelect'; -import PageActions from '../../../components/ui/PageActions'; import { complementary } from '../config/complementary'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import SourceViewer from '../../../components/SourceViewer/SourceViewer'; @@ -33,10 +35,8 @@ import { Query, View, isFileType, enhanceComponent, isViewType } from '../utils' import { getComponentTree } from '../../../api/components'; import { isSameBranchLike, getBranchLikeQuery } from '../../../helpers/branches'; import { isDiffMetric, getPeriodValue } from '../../../helpers/measures'; -import { RequestData } from '../../../helpers/request'; import { getProjectUrl } from '../../../helpers/urls'; import { getMeasures } from '../../../api/measures'; -import { translate } from '../../../helpers/l10n'; interface Props { branchLike?: T.BranchLike; @@ -147,17 +147,15 @@ export default class MeasureContent extends React.PureComponent<Props, State> { this.setState({ loadingMoreComponents: true }); getComponentTree(strategy, baseComponent.key, metricKeys, opts).then( r => { - if (metric.key === this.props.requestedMetric.key) { - if (this.mounted) { - this.setState(state => ({ - components: [ - ...state.components, - ...r.components.map(component => enhanceComponent(component, metric, metrics)) - ], - loadingMoreComponents: false, - paging: r.paging - })); - } + if (this.mounted && metric.key === this.props.requestedMetric.key) { + this.setState(state => ({ + components: [ + ...state.components, + ...r.components.map(component => enhanceComponent(component, metric, metrics)) + ], + loadingMoreComponents: false, + paging: r.paging + })); } }, () => { diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureHeader.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureHeader.tsx index 1bfe27a0c5a..931f45bc374 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureHeader.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureHeader.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import HistoryIcon from 'sonar-ui-common/components/icons/HistoryIcon'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import { Link } from 'react-router'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import LeakPeriodLegend from './LeakPeriodLegend'; -import HistoryIcon from '../../../components/icons-components/HistoryIcon'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; import LanguageDistributionContainer from '../../../components/charts/LanguageDistributionContainer'; import Measure from '../../../components/measure/Measure'; -import Tooltip from '../../../components/controls/Tooltip'; -import { getLocalizedMetricName, translate } from '../../../helpers/l10n'; import { getMeasureHistoryUrl } from '../../../helpers/urls'; import { isDiffMetric } from '../../../helpers/measures'; import { hasFullMeasures } from '../utils'; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.tsx index b53ebb6112e..1aa1f9e0d35 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import PageActions from 'sonar-ui-common/components/ui/PageActions'; import Breadcrumbs from './Breadcrumbs'; import LeakPeriodLegend from './LeakPeriodLegend'; import MeasureContentHeader from './MeasureContentHeader'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; -import PageActions from '../../../components/ui/PageActions'; import BubbleChart from '../drilldown/BubbleChart'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import SourceViewer from '../../../components/SourceViewer/SourceViewer'; import { getComponentLeaves } from '../../../api/components'; import { enhanceComponent, getBubbleMetrics, isFileType, hasFullMeasures } from '../utils'; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureViewSelect.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureViewSelect.tsx index 31ec863137f..d92151cb031 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureViewSelect.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureViewSelect.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ListIcon from '../../../components/icons-components/ListIcon'; -import TreeIcon from '../../../components/icons-components/TreeIcon'; -import TreemapIcon from '../../../components/icons-components/TreemapIcon'; +import TreemapIcon from 'sonar-ui-common/components/icons/TreemapIcon'; +import ListIcon from 'sonar-ui-common/components/icons/ListIcon'; +import TreeIcon from 'sonar-ui-common/components/icons/TreeIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Select from '../../../components/controls/Select'; import { hasList, hasTree, hasTreemap, View } from '../utils'; -import { translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasuresEmpty.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasuresEmpty.tsx index 1d5772fcf5b..32dfc13eee4 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasuresEmpty.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasuresEmpty.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function MeasuresEmpty() { return ( diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/App-test.tsx index 277aab23023..1fef9c3cd94 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/App-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { App } from '../App'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getMeasuresAndMeta } from '../../../../api/measures'; import { mockPullRequest, diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/Breadcrumbs-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/Breadcrumbs-test.tsx index 07530303c51..7830825357a 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/Breadcrumbs-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/Breadcrumbs-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { mount } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import Breadcrumbs from '../Breadcrumbs'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getBreadcrumbs } from '../../../../api/components'; jest.mock('../../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/LeakPeriodLegend-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/LeakPeriodLegend-test.tsx index 290b883692e..b71cc7bb23b 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/LeakPeriodLegend-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/LeakPeriodLegend-test.tsx @@ -18,16 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { shallow } from 'enzyme'; import { InjectedIntlProps } from 'react-intl'; import { LeakPeriodLegend } from '../LeakPeriodLegend'; -import { differenceInDays } from '../../../../helpers/dates'; -jest.mock('../../../../helpers/dates', () => { - const dates = require.requireActual('../../../../helpers/dates'); - dates.differenceInDays = jest.fn().mockReturnValue(10); - return dates; -}); +jest.mock('date-fns/difference_in_days', () => jest.fn().mockReturnValue(10)); const PROJECT = { key: 'foo', diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/MeasureContent-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/MeasureContent-test.tsx index 85b1cca1f08..fce8e72cec1 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/MeasureContent-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/__tests__/MeasureContent-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import MeasureContent from '../MeasureContent'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getComponentTree } from '../../../../api/components'; import { mockComponentMeasure, mockRouter } from '../../../../helpers/testMocks'; diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/BubbleChart.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/BubbleChart.tsx index 16ff032dbb4..3a521540f77 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/BubbleChart.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/BubbleChart.tsx @@ -18,20 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import EmptyResult from './EmptyResult'; -import OriginalBubbleChart from '../../../components/charts/BubbleChart'; -import ColorRatingsLegend from '../../../components/charts/ColorRatingsLegend'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { formatMeasure, isDiffMetric } from '../../../helpers/measures'; +import { isDefined } from 'sonar-ui-common/helpers/types'; import { getLocalizedMetricDomain, getLocalizedMetricName, translate, translateWithParameters -} from '../../../helpers/l10n'; +} from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import OriginalBubbleChart from 'sonar-ui-common/components/charts/BubbleChart'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import EmptyResult from './EmptyResult'; +import ColorRatingsLegend from '../../../components/charts/ColorRatingsLegend'; +import { isDiffMetric } from '../../../helpers/measures'; import { getBubbleMetrics, getBubbleYDomain, isProjectOverview } from '../utils'; import { RATING_COLORS } from '../../../helpers/constants'; -import { isDefined } from '../../../helpers/types'; const HEIGHT = 500; diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentCell.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentCell.tsx index 07c249ce0ed..c69b6b89f6c 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentCell.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentCell.tsx @@ -19,17 +19,17 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import LinkIcon from '../../../components/icons-components/LinkIcon'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import LongLivingBranchIcon from '../../../components/icons-components/LongLivingBranchIcon'; -import { splitPath } from '../../../helpers/path'; +import LinkIcon from 'sonar-ui-common/components/icons/LinkIcon'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { splitPath } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; import { - getPathUrlAsString, getBranchLikeUrl, getComponentDrilldownUrlWithSelection, getProjectUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; import { View } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentsList.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentsList.tsx index 877ea41f70e..36f9d9445c6 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentsList.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentsList.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; import ComponentsListRow from './ComponentsListRow'; import EmptyResult from './EmptyResult'; import { complementary } from '../config/complementary'; -import { getLocalizedMetricName } from '../../../helpers/l10n'; import { View } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/EmptyResult.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/EmptyResult.tsx index d65083bdadf..bc909319e0a 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/EmptyResult.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/EmptyResult.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function EmptyResult() { return <div className="note">{translate('no_results')}</div>; diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/FilesView.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/FilesView.tsx index 3574f0008d5..2093f618380 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/FilesView.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/FilesView.tsx @@ -20,14 +20,15 @@ import * as React from 'react'; import * as key from 'keymaster'; import { throttle } from 'lodash'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import ComponentsList from './ComponentsList'; -import ListFooter from '../../../components/controls/ListFooter'; -import { Button } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { isPeriodBestValue, isDiffMetric, formatMeasure } from '../../../helpers/measures'; -import { scrollToElement } from '../../../helpers/scrolling'; -import { Alert } from '../../../components/ui/Alert'; import { View } from '../utils'; +import { isPeriodBestValue, isDiffMetric } from '../../../helpers/measures'; interface Props { branchLike?: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/component-measures/drilldown/TreeMapView.tsx b/server/sonar-web/src/main/js/apps/component-measures/drilldown/TreeMapView.tsx index 747a761824e..d99a04eaa18 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/drilldown/TreeMapView.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/drilldown/TreeMapView.tsx @@ -18,17 +18,22 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { isDefined } from 'sonar-ui-common/helpers/types'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; import { scaleLinear, scaleOrdinal } from 'd3-scale'; +import ColorGradientLegend from 'sonar-ui-common/components/charts/ColorGradientLegend'; +import TreeMap, { TreeMapItem } from 'sonar-ui-common/components/charts/TreeMap'; +import { + translate, + translateWithParameters, + getLocalizedMetricName +} from 'sonar-ui-common/helpers/l10n'; import EmptyResult from './EmptyResult'; -import * as theme from '../../../app/theme'; +import { colors } from '../../../app/theme'; import ColorBoxLegend from '../../../components/charts/ColorBoxLegend'; -import ColorGradientLegend from '../../../components/charts/ColorGradientLegend'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import TreeMap, { TreeMapItem } from '../../../components/charts/TreeMap'; -import { translate, translateWithParameters, getLocalizedMetricName } from '../../../helpers/l10n'; -import { formatMeasure, isDiffMetric } from '../../../helpers/measures'; -import { isDefined } from '../../../helpers/types'; +import { isDiffMetric } from '../../../helpers/measures'; interface Props { branchLike?: T.BranchLike; @@ -42,8 +47,8 @@ interface State { } const HEIGHT = 500; -const COLORS = [theme.green, theme.lightGreen, theme.yellow, theme.orange, theme.red]; -const LEVEL_COLORS = [theme.red, theme.orange, theme.green, theme.gray71]; +const COLORS = [colors.green, colors.lightGreen, colors.yellow, colors.orange, colors.red]; +const LEVEL_COLORS = [colors.red, colors.orange, colors.green, colors.gray71]; export default class TreeMapView extends React.PureComponent<Props, State> { state: State; @@ -83,8 +88,10 @@ export default class TreeMapView extends React.PureComponent<Props, State> { } return { color: - colorValue !== undefined ? (colorScale as Function)(colorValue) : theme.secondFontColor, - icon: <QualifierIcon fill={theme.baseFontColor} qualifier={component.qualifier} />, + colorValue !== undefined + ? (colorScale as Function)(colorValue) + : colors.secondFontColor, + icon: <QualifierIcon fill={colors.baseFontColor} qualifier={component.qualifier} />, key: component.refKey || component.key, label: component.name, size: sizeValue, @@ -167,7 +174,7 @@ export default class TreeMapView extends React.PureComponent<Props, State> { return ( <ColorGradientLegend className="measure-details-treemap-legend" - colorNA={theme.secondFontColor} + colorNA={colors.secondFontColor} colorScale={colorScale} height={20} width={200} diff --git a/server/sonar-web/src/main/js/apps/component-measures/routes.ts b/server/sonar-web/src/main/js/apps/component-measures/routes.ts index 7b26d3dc843..3ef44ca291b 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/routes.ts +++ b/server/sonar-web/src/main/js/apps/component-measures/routes.ts @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { RouterState, RedirectFunction } from 'react-router'; -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/component-measures/sidebar/DomainFacet.tsx b/server/sonar-web/src/main/js/apps/component-measures/sidebar/DomainFacet.tsx index ae48a9c3838..00945acdf36 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/sidebar/DomainFacet.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/sidebar/DomainFacet.tsx @@ -18,8 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BubblesIcon from 'sonar-ui-common/components/icons/BubblesIcon'; +import { + getLocalizedCategoryMetricName, + getLocalizedMetricDomain, + getLocalizedMetricName, + translate, + hasMessage +} from 'sonar-ui-common/helpers/l10n'; import FacetMeasureValue from './FacetMeasureValue'; -import BubblesIcon from '../../../components/icons-components/BubblesIcon'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; @@ -31,13 +38,6 @@ import { hasFacetStat, sortMeasures } from '../utils'; -import { - getLocalizedCategoryMetricName, - getLocalizedMetricDomain, - getLocalizedMetricName, - translate, - hasMessage -} from '../../../helpers/l10n'; interface Props { domain: { name: string; measures: T.MeasureEnhanced[] }; diff --git a/server/sonar-web/src/main/js/apps/component-measures/sidebar/ProjectOverviewFacet.tsx b/server/sonar-web/src/main/js/apps/component-measures/sidebar/ProjectOverviewFacet.tsx index 9ae2e9b7004..a89bf7f8098 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/sidebar/ProjectOverviewFacet.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/sidebar/ProjectOverviewFacet.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import FacetBox from '../../../components/facet/FacetBox'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; -import { translate } from '../../../helpers/l10n'; interface Props { onChange: (metric: string) => void; diff --git a/server/sonar-web/src/main/js/apps/component-measures/sidebar/Sidebar.tsx b/server/sonar-web/src/main/js/apps/component-measures/sidebar/Sidebar.tsx index f72dd25d0b5..8a2f8e7e581 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/sidebar/Sidebar.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/sidebar/Sidebar.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectOverviewFacet from './ProjectOverviewFacet'; import DomainFacet from './DomainFacet'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import { groupByDomains, KNOWN_DOMAINS, PROJECT_OVERVEW, Query } from '../utils'; -import { translate } from '../../../helpers/l10n'; interface Props { measures: T.MeasureEnhanced[]; diff --git a/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/DomainFacet-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/DomainFacet-test.tsx index 9aa6e8655dc..914d0dfa059 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/DomainFacet-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/DomainFacet-test.tsx @@ -106,7 +106,7 @@ function shallowRender(props: Partial<DomainFacet['props']> = {}) { onChange={() => {}} onToggle={() => {}} open={true} - selected={'foo'} + selected="foo" showFullMeasures={true} {...props} /> diff --git a/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/Sidebar-test.tsx b/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/Sidebar-test.tsx index aee555edc2a..d9c82af64f0 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/Sidebar-test.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/sidebar/__tests__/Sidebar-test.tsx @@ -75,7 +75,7 @@ function shallowRender(props = {}) { leak: '0.0' } ]} - selectedMetric={'duplicated_lines_density'} + selectedMetric="duplicated_lines_density" showFullMeasures={true} updateQuery={() => {}} {...props} diff --git a/server/sonar-web/src/main/js/apps/component-measures/utils.ts b/server/sonar-web/src/main/js/apps/component-measures/utils.ts index 8efbde6ded0..afeae11b6eb 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/utils.ts +++ b/server/sonar-web/src/main/js/apps/component-measures/utils.ts @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { groupBy, memoize, sortBy, toPairs } from 'lodash'; +import { cleanQuery, parseAsString, serializeString } from 'sonar-ui-common/helpers/query'; +import { getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; import { domains } from './config/domains'; import { bubbles } from './config/bubbles'; -import { getLocalizedMetricName } from '../../helpers/l10n'; import { enhanceMeasure } from '../../components/measure/utils'; -import { cleanQuery, parseAsString, RawQuery, serializeString } from '../../helpers/query'; import { isLongLivingBranch, isMainBranch, @@ -198,7 +198,7 @@ export interface Query { } export const parseQuery = memoize( - (urlQuery: RawQuery): Query => { + (urlQuery: T.RawQuery): Query => { const metric = parseAsString(urlQuery['metric']) || DEFAULT_METRIC; return { metric, diff --git a/server/sonar-web/src/main/js/apps/create/components/FreeCardPlan.tsx b/server/sonar-web/src/main/js/apps/create/components/FreeCardPlan.tsx index 494220fe28b..c66055cbe30 100644 --- a/server/sonar-web/src/main/js/apps/create/components/FreeCardPlan.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/FreeCardPlan.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import RadioCard, { RadioCardProps } from '../../../components/controls/RadioCard'; -import { Alert } from '../../../components/ui/Alert'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import RadioCard, { RadioCardProps } from 'sonar-ui-common/components/controls/RadioCard'; import { formatPrice } from '../organization/utils'; -import { translate } from '../../../helpers/l10n'; interface Props extends RadioCardProps { almName?: string; diff --git a/server/sonar-web/src/main/js/apps/create/components/OrganizationAvatarInput.tsx b/server/sonar-web/src/main/js/apps/create/components/OrganizationAvatarInput.tsx index 30655bd237a..637107f38ba 100644 --- a/server/sonar-web/src/main/js/apps/create/components/OrganizationAvatarInput.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/OrganizationAvatarInput.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { isWebUri } from 'valid-url'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ValidationInput from '../../../components/controls/ValidationInput'; -import { translate } from '../../../helpers/l10n'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/create/components/OrganizationKeyInput.tsx b/server/sonar-web/src/main/js/apps/create/components/OrganizationKeyInput.tsx index 408e70b8fc2..6a1cab029fd 100644 --- a/server/sonar-web/src/main/js/apps/create/components/OrganizationKeyInput.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/OrganizationKeyInput.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { debounce } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getHostUrl } from 'sonar-ui-common/helpers/urls'; import { getOrganization } from '../../../api/organizations'; import ValidationInput from '../../../components/controls/ValidationInput'; -import { translate } from '../../../helpers/l10n'; -import { getHostUrl } from '../../../helpers/urls'; interface Props { initialValue?: string; diff --git a/server/sonar-web/src/main/js/apps/create/components/OrganizationSelect.tsx b/server/sonar-web/src/main/js/apps/create/components/OrganizationSelect.tsx index 02b57be8603..74f713c1cd7 100644 --- a/server/sonar-web/src/main/js/apps/create/components/OrganizationSelect.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/OrganizationSelect.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; import { sanitizeAlmId } from '../../../helpers/almIntegrations'; -import { getBaseUrl } from '../../../helpers/urls'; interface Props { hideIcons?: boolean; diff --git a/server/sonar-web/src/main/js/apps/create/components/OrganizationUrlInput.tsx b/server/sonar-web/src/main/js/apps/create/components/OrganizationUrlInput.tsx index b640495f3db..46ec3718406 100644 --- a/server/sonar-web/src/main/js/apps/create/components/OrganizationUrlInput.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/OrganizationUrlInput.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { isWebUri } from 'valid-url'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ValidationInput from '../../../components/controls/ValidationInput'; -import { translate } from '../../../helpers/l10n'; interface Props { initialValue?: string; diff --git a/server/sonar-web/src/main/js/apps/create/components/PaidCardPlan.tsx b/server/sonar-web/src/main/js/apps/create/components/PaidCardPlan.tsx index 2cc3d59e5bd..eb3bc5c6cb1 100644 --- a/server/sonar-web/src/main/js/apps/create/components/PaidCardPlan.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/PaidCardPlan.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import RadioCard, { RadioCardProps } from 'sonar-ui-common/components/controls/RadioCard'; import UpgradeOrganizationAdvantages from './UpgradeOrganizationAdvantages'; -import RadioCard, { RadioCardProps } from '../../../components/controls/RadioCard'; import { formatPrice } from '../organization/utils'; -import { translate } from '../../../helpers/l10n'; interface Props extends RadioCardProps { isRecommended: boolean; diff --git a/server/sonar-web/src/main/js/apps/create/components/ProjectKeyInput.tsx b/server/sonar-web/src/main/js/apps/create/components/ProjectKeyInput.tsx index f347217665e..a07ff276722 100644 --- a/server/sonar-web/src/main/js/apps/create/components/ProjectKeyInput.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/ProjectKeyInput.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { debounce } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ValidationInput from '../../../components/controls/ValidationInput'; import { doesComponentExists } from '../../../api/components'; -import { translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationAdvantages.tsx b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationAdvantages.tsx index f6cdbb6d6b2..961e434e80b 100644 --- a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationAdvantages.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationAdvantages.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import CheckIcon from '../../../components/icons-components/CheckIcon'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import * as theme from '../../../app/theme'; +import CheckIcon from 'sonar-ui-common/components/icons/CheckIcon'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { colors } from '../../../app/theme'; const TRIAL_DURATION_DAYS = 14; @@ -42,7 +42,7 @@ export default function UpgradeOrganizationAdvantages() { export function Advantage({ children }: { children: React.ReactNode }) { return ( <li className="display-flex-center little-spacer-bottom"> - <CheckIcon className="spacer-right" fill={theme.lightGreen} /> + <CheckIcon className="spacer-right" fill={colors.lightGreen} /> {children} </li> ); diff --git a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationBox.tsx b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationBox.tsx index bf54a734288..2ca5f92a050 100644 --- a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationBox.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationBox.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate, hasMessage } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import RadioCard from 'sonar-ui-common/components/controls/RadioCard'; import UpgradeOrganizationAdvantages from './UpgradeOrganizationAdvantages'; import UpgradeOrganizationModal from './UpgradeOrganizationModal'; -import RadioCard from '../../../components/controls/RadioCard'; -import { Button } from '../../../components/ui/buttons'; import { formatPrice } from '../organization/utils'; import { getSubscriptionPlans } from '../../../api/billing'; -import { translate, hasMessage } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationModal.tsx b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationModal.tsx index 4184908eb4d..b1619c23e7e 100644 --- a/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationModal.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/UpgradeOrganizationModal.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import BillingFormShim from './BillingFormShim'; import UpgradeOrganizationAdvantages from './UpgradeOrganizationAdvantages'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Modal from '../../../components/controls/Modal'; -import { ResetButtonLink } from '../../../components/ui/buttons'; import { withCurrentUser } from '../../../components/hoc/withCurrentUser'; import { getExtensionStart } from '../../../helpers/extensions'; -import { translate } from '../../../helpers/l10n'; const BillingForm = withCurrentUser(BillingFormShim); @@ -75,7 +75,7 @@ export default class UpgradeOrganizationModal extends React.PureComponent<Props, noBackdrop={this.props.insideModal} onRequestClose={this.props.onClose} shouldCloseOnOverlayClick={false} - size={'medium'}> + size="medium"> <div className="modal-head"> <h2>{header}</h2> </div> diff --git a/server/sonar-web/src/main/js/apps/create/components/__tests__/OrganizationKeyInput-test.tsx b/server/sonar-web/src/main/js/apps/create/components/__tests__/OrganizationKeyInput-test.tsx index 110c016245d..17b4a49ec73 100644 --- a/server/sonar-web/src/main/js/apps/create/components/__tests__/OrganizationKeyInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/__tests__/OrganizationKeyInput-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import OrganizationKeyInput from '../OrganizationKeyInput'; import { getOrganization } from '../../../../api/organizations'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/organizations', () => ({ getOrganization: jest.fn().mockResolvedValue(undefined) diff --git a/server/sonar-web/src/main/js/apps/create/components/__tests__/ProjectKeyInput-test.tsx b/server/sonar-web/src/main/js/apps/create/components/__tests__/ProjectKeyInput-test.tsx index 14a4b9c33b0..3670a4f08dc 100644 --- a/server/sonar-web/src/main/js/apps/create/components/__tests__/ProjectKeyInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/__tests__/ProjectKeyInput-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProjectKeyInput from '../ProjectKeyInput'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.useFakeTimers(); diff --git a/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationBox-test.tsx b/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationBox-test.tsx index 9c67a3db62f..e93f695e013 100644 --- a/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationBox-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationBox-test.tsx @@ -19,16 +19,15 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { hasMessage } from 'sonar-ui-common/helpers/l10n'; +import { waitAndUpdate, click } from 'sonar-ui-common/helpers/testUtils'; import UpgradeOrganizationBox from '../UpgradeOrganizationBox'; -import { hasMessage } from '../../../../helpers/l10n'; import { getSubscriptionPlans } from '../../../../api/billing'; -import { waitAndUpdate, click } from '../../../../helpers/testUtils'; -jest.mock('../../../../helpers/l10n', () => { - const l10n = require.requireActual('../../../../helpers/l10n'); - l10n.hasMessage = jest.fn().mockReturnValue(true); - return l10n; -}); +jest.mock('sonar-ui-common/helpers/l10n', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/l10n'), + hasMessage: jest.fn().mockReturnValue(true) +})); jest.mock('../../../../api/billing', () => ({ getSubscriptionPlans: jest.fn().mockResolvedValue([{ maxNcloc: 100000, price: 10 }]) diff --git a/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationModal-test.tsx b/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationModal-test.tsx index 292f352afe5..d5767eb0b16 100644 --- a/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/components/__tests__/UpgradeOrganizationModal-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import UpgradeOrganizationModal from '../UpgradeOrganizationModal'; import { getExtensionStart } from '../../../../helpers/extensions'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../helpers/extensions', () => ({ getExtensionStart: jest.fn().mockResolvedValue(undefined) diff --git a/server/sonar-web/src/main/js/apps/create/organization/AlmApplicationInstalling.tsx b/server/sonar-web/src/main/js/apps/create/organization/AlmApplicationInstalling.tsx index 307641af43d..d43f7e2219e 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/AlmApplicationInstalling.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/AlmApplicationInstalling.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { sanitizeAlmId } from '../../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; export default function AlmApplicationInstalling({ almKey }: { almKey?: string }) { return ( diff --git a/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationBind.tsx b/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationBind.tsx index 7936eaa3df2..2e01467abc7 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationBind.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationBind.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import OrganizationSelect from '../components/OrganizationSelect'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { isGithub } from '../../../helpers/almIntegrations'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationCreate.tsx b/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationCreate.tsx index d0fb9543cff..ba1fb55e851 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationCreate.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/AutoOrganizationCreate.tsx @@ -19,18 +19,18 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; import AutoOrganizationBind from './AutoOrganizationBind'; import OrganizationDetailsForm from './OrganizationDetailsForm'; import OrganizationDetailsStep from './OrganizationDetailsStep'; import PlanStep from './PlanStep'; import { Step } from './utils'; -import { Alert } from '../../../components/ui/Alert'; -import { ClearButton } from '../../../components/ui/buttons'; -import RadioToggle from '../../../components/controls/RadioToggle'; import { bindAlmOrganization } from '../../../api/alm-integration'; import { sanitizeAlmId, getAlmMembersUrl, isGithub } from '../../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; enum Filters { Bind = 'bind', diff --git a/server/sonar-web/src/main/js/apps/create/organization/CreateOrganization.tsx b/server/sonar-web/src/main/js/apps/create/organization/CreateOrganization.tsx index 824127e4810..0fba53427c9 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/CreateOrganization.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/CreateOrganization.tsx @@ -19,11 +19,17 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { differenceInMinutes } from 'date-fns'; +import * as differenceInMinutes from 'date-fns/difference_in_minutes'; import { times } from 'lodash'; import { connect } from 'react-redux'; import { Helmet } from 'react-helmet'; import { withRouter, WithRouterProps } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { get, remove } from 'sonar-ui-common/helpers/storage'; +import { slugify } from 'sonar-ui-common/helpers/strings'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Tabs from 'sonar-ui-common/components/controls/Tabs'; import { createOrganization } from './actions'; import { ORGANIZATION_IMPORT_REDIRECT_TO_PROJECT_TIMESTAMP, @@ -40,8 +46,6 @@ import AutoOrganizationCreate from './AutoOrganizationCreate'; import ManualOrganizationCreate from './ManualOrganizationCreate'; import RemoteOrganizationChoose from './RemoteOrganizationChoose'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Tabs from '../../../components/controls/Tabs'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; import { withUserOrganizations } from '../../../components/hoc/withUserOrganizations'; import { deleteOrganization } from '../../organizations/actions'; @@ -55,10 +59,6 @@ import { import { getSubscriptionPlans } from '../../../api/billing'; import * as api from '../../../api/organizations'; import { hasAdvancedALMIntegration, sanitizeAlmId } from '../../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; -import { get, remove } from '../../../helpers/storage'; -import { slugify } from '../../../helpers/strings'; import { getOrganizationUrl } from '../../../helpers/urls'; import { skipOnboarding } from '../../../store/users'; import addGlobalSuccessMessage from '../../../app/utils/addGlobalSuccessMessage'; diff --git a/server/sonar-web/src/main/js/apps/create/organization/ManualOrganizationCreate.tsx b/server/sonar-web/src/main/js/apps/create/organization/ManualOrganizationCreate.tsx index 5c4de459dcf..c366a47ac1e 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/ManualOrganizationCreate.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/ManualOrganizationCreate.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationDetailsForm from './OrganizationDetailsForm'; import OrganizationDetailsStep from './OrganizationDetailsStep'; import PlanStep from './PlanStep'; import { Step } from './utils'; -import { translate } from '../../../helpers/l10n'; interface Props { createOrganization: (organization: T.Organization) => Promise<string>; diff --git a/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsForm.tsx b/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsForm.tsx index 90014303707..93e8a5d536e 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsForm.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsForm.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import OrganizationAvatarInput from '../components/OrganizationAvatarInput'; import OrganizationKeyInput from '../components/OrganizationKeyInput'; import OrganizationUrlInput from '../components/OrganizationUrlInput'; -import { ResetButtonLink, SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; type RequiredOrganization = Required<T.OrganizationBase>; diff --git a/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsStep.tsx b/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsStep.tsx index edaa108fade..6b7b29e9528 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsStep.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/OrganizationDetailsStep.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Step from '../../tutorials/components/Step'; -import { translate } from '../../../helpers/l10n'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; interface Props { children: React.ReactNode; diff --git a/server/sonar-web/src/main/js/apps/create/organization/PlanSelect.tsx b/server/sonar-web/src/main/js/apps/create/organization/PlanSelect.tsx index da1dc977e4f..2b916ce0084 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/PlanSelect.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/PlanSelect.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import FreeCardPlan from '../components/FreeCardPlan'; import PaidCardPlan from '../components/PaidCardPlan'; -import { translate } from '../../../helpers/l10n'; export enum Plan { Free = 'free', diff --git a/server/sonar-web/src/main/js/apps/create/organization/PlanStep.tsx b/server/sonar-web/src/main/js/apps/create/organization/PlanStep.tsx index 84d88a5e8a8..32839e704a4 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/PlanStep.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/PlanStep.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import PlanSelect, { Plan } from './PlanSelect'; import BillingFormShim from '../components/BillingFormShim'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import Step from '../../tutorials/components/Step'; -import { SubmitButton } from '../../../components/ui/buttons'; import { withCurrentUser } from '../../../components/hoc/withCurrentUser'; import { getExtensionStart } from '../../../helpers/extensions'; -import { translate } from '../../../helpers/l10n'; const BillingForm = withCurrentUser(BillingFormShim); diff --git a/server/sonar-web/src/main/js/apps/create/organization/RemoteOrganizationChoose.tsx b/server/sonar-web/src/main/js/apps/create/organization/RemoteOrganizationChoose.tsx index e86d9e0f131..4513383ce55 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/RemoteOrganizationChoose.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/RemoteOrganizationChoose.tsx @@ -22,16 +22,16 @@ import * as classNames from 'classnames'; import { WithRouterProps, withRouter } from 'react-router'; import { FormattedMessage } from 'react-intl'; import { sortBy } from 'lodash'; +import IdentityProviderLink from 'sonar-ui-common/components/controls/IdentityProviderLink'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { serializeQuery, ORGANIZATION_IMPORT_BINDING_IN_PROGRESS_TIMESTAMP } from './utils'; -import IdentityProviderLink from '../../../components/ui/IdentityProviderLink'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; import Select from '../../../components/controls/Select'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton } from '../../../components/ui/buttons'; import { sanitizeAlmId } from '../../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { save } from '../../../helpers/storage'; -import { getBaseUrl } from '../../../helpers/urls'; interface Props { almApplication: T.AlmApplication; @@ -146,8 +146,10 @@ export class RemoteOrganizationChoose extends React.PureComponent<Props & WithRo <div className="display-flex-center"> <div className="display-inline-block"> <IdentityProviderLink + backgroundColor={almApplication.backgroundColor} className="display-inline-block" - identityProvider={almApplication} + iconPath={almApplication.iconPath} + name={almApplication.name} onClick={this.handleInstallAppClick} small={true} url={almApplication.installationUrl}> diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationBind-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationBind-test.tsx index 76234a23f86..ee58e92240f 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationBind-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationBind-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { submit } from 'sonar-ui-common/helpers/testUtils'; import AutoOrganizationBind from '../AutoOrganizationBind'; -import { submit } from '../../../../helpers/testUtils'; import { mockOrganization } from '../../../../helpers/testMocks'; it('should render correctly', () => { diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationCreate-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationCreate-test.tsx index bce78581887..21990d1aa18 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationCreate-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/AutoOrganizationCreate-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, click } from 'sonar-ui-common/helpers/testUtils'; import AutoOrganizationCreate from '../AutoOrganizationCreate'; import { Step } from '../utils'; import { bindAlmOrganization } from '../../../../api/alm-integration'; import { mockAlmOrganization, mockAlmApplication } from '../../../../helpers/testMocks'; -import { waitAndUpdate, click } from '../../../../helpers/testUtils'; jest.mock('../../../../api/alm-integration', () => ({ bindAlmOrganization: jest.fn().mockResolvedValue({}) diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/CreateOrganization-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/CreateOrganization-test.tsx index 7a529d39c70..c51e86e18d7 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/CreateOrganization-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/CreateOrganization-test.tsx @@ -21,6 +21,8 @@ import * as React from 'react'; import { times } from 'lodash'; import { Location } from 'history'; import { shallow, mount } from 'enzyme'; +import { get, remove } from 'sonar-ui-common/helpers/storage'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { CreateOrganization } from '../CreateOrganization'; import { bindAlmOrganization, @@ -30,7 +32,6 @@ import { } from '../../../../api/alm-integration'; import { getSubscriptionPlans } from '../../../../api/billing'; import { getOrganizations } from '../../../../api/organizations'; -import { get, remove } from '../../../../helpers/storage'; import { mockRouter, mockOrganizationWithAdminActions, @@ -39,7 +40,6 @@ import { mockLoggedInUser, mockLocation } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/billing', () => ({ getSubscriptionPlans: jest @@ -76,7 +76,7 @@ jest.mock('../../../../api/organizations', () => ({ getOrganizations: jest.fn().mockResolvedValue({ organizations: [] }) })); -jest.mock('../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn().mockReturnValue(undefined), remove: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/ManualOrganizationCreate-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/ManualOrganizationCreate-test.tsx index 5cc0aed0fc5..6a8f9575555 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/ManualOrganizationCreate-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/ManualOrganizationCreate-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ManualOrganizationCreate from '../ManualOrganizationCreate'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { Step } from '../utils'; import { mockOrganization } from '../../../../helpers/testMocks'; diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/OrganizationDetailsForm-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/OrganizationDetailsForm-test.tsx index d07f2b647f8..453285d15df 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/OrganizationDetailsForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/OrganizationDetailsForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, submit } from 'sonar-ui-common/helpers/testUtils'; import OrganizationDetailsForm from '../OrganizationDetailsForm'; -import { click, submit } from '../../../../helpers/testUtils'; it('should render form', () => { const wrapper = shallowRender(); diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanSelect-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanSelect-test.tsx index fe0b7bda1f5..9b8c8659b7e 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanSelect-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanSelect-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import PlanSelect, { Plan } from '../PlanSelect'; -import { click } from '../../../../helpers/testUtils'; import { mockAlmOrganization } from '../../../../helpers/testMocks'; it('should render and select', () => { diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanStep-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanStep-test.tsx index 8cdf7afba77..ad313c2abcf 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanStep-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/PlanStep-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, submit } from 'sonar-ui-common/helpers/testUtils'; import PlanStep from '../PlanStep'; import { Plan } from '../PlanSelect'; import { mockAlmOrganization } from '../../../../helpers/testMocks'; -import { waitAndUpdate, submit } from '../../../../helpers/testUtils'; jest.mock('../../../../helpers/extensions', () => ({ getExtensionStart: jest.fn().mockResolvedValue(undefined) diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/RemoteOrganizationChoose-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/RemoteOrganizationChoose-test.tsx index 7051a49ab55..d78337d0c63 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/RemoteOrganizationChoose-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/RemoteOrganizationChoose-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { submit } from 'sonar-ui-common/helpers/testUtils'; import { RemoteOrganizationChoose } from '../RemoteOrganizationChoose'; import { mockRouter, mockAlmOrganization } from '../../../../helpers/testMocks'; -import { submit } from '../../../../helpers/testUtils'; it('should render', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/__snapshots__/RemoteOrganizationChoose-test.tsx.snap b/server/sonar-web/src/main/js/apps/create/organization/__tests__/__snapshots__/RemoteOrganizationChoose-test.tsx.snap index cae179cdd68..946d551efa3 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/__snapshots__/RemoteOrganizationChoose-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/__snapshots__/RemoteOrganizationChoose-test.tsx.snap @@ -81,16 +81,10 @@ exports[`should display unbound installations 1`] = ` className="display-inline-block" > <IdentityProviderLink + backgroundColor="blue" className="display-inline-block" - identityProvider={ - Object { - "backgroundColor": "blue", - "iconPath": "icon/path", - "installationUrl": "https://alm.application.url", - "key": "github", - "name": "GitHub", - } - } + iconPath="icon/path" + name="GitHub" onClick={[Function]} small={true} url="https://alm.application.url" @@ -184,16 +178,10 @@ exports[`should render 1`] = ` className="display-inline-block" > <IdentityProviderLink + backgroundColor="blue" className="display-inline-block" - identityProvider={ - Object { - "backgroundColor": "blue", - "iconPath": "icon/path", - "installationUrl": "https://alm.application.url", - "key": "github", - "name": "GitHub", - } - } + iconPath="icon/path" + name="GitHub" onClick={[Function]} small={true} url="https://alm.application.url" diff --git a/server/sonar-web/src/main/js/apps/create/organization/__tests__/utils-test.tsx b/server/sonar-web/src/main/js/apps/create/organization/__tests__/utils-test.tsx index 912962e629a..126aa46049f 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/__tests__/utils-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/organization/__tests__/utils-test.tsx @@ -19,7 +19,7 @@ */ import { formatPrice } from '../utils'; -jest.mock('../../../../helpers/urls', () => ({ +jest.mock('sonar-ui-common/helpers/urls', () => ({ getHostUrl: () => 'http://host.url' })); diff --git a/server/sonar-web/src/main/js/apps/create/organization/utils.ts b/server/sonar-web/src/main/js/apps/create/organization/utils.ts index 0d9485bba1a..6f51cf530e8 100644 --- a/server/sonar-web/src/main/js/apps/create/organization/utils.ts +++ b/server/sonar-web/src/main/js/apps/create/organization/utils.ts @@ -18,16 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { memoize } from 'lodash'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; -import { - RawQuery, - parseAsOptionalString, - cleanQuery, - serializeString -} from '../../../helpers/query'; +import { parseAsOptionalString, cleanQuery, serializeString } from 'sonar-ui-common/helpers/query'; +import { decodeJwt } from 'sonar-ui-common/helpers/strings'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { isBitbucket, isGithub } from '../../../helpers/almIntegrations'; -import { decodeJwt } from '../../../helpers/strings'; export const ORGANIZATION_IMPORT_BINDING_IN_PROGRESS_TIMESTAMP = 'sonarcloud.import_org.binding_in_progress'; @@ -57,7 +52,7 @@ export interface Query { } export const parseQuery = memoize( - (urlQuery: RawQuery = {}): Query => { + (urlQuery: T.RawQuery = {}): Query => { let almInstallId = undefined; let almKey = undefined; @@ -78,7 +73,7 @@ export const parseQuery = memoize( } ); -export const serializeQuery = (query: Query): RawQuery => +export const serializeQuery = (query: Query): T.RawQuery => cleanQuery({ installation_id: isGithub(query.almKey) ? serializeString(query.almInstallId) : undefined, clientKey: isBitbucket(query.almKey) ? serializeString(query.almInstallId) : undefined diff --git a/server/sonar-web/src/main/js/apps/create/project/AlmRepositoryItem.tsx b/server/sonar-web/src/main/js/apps/create/project/AlmRepositoryItem.tsx index 22bb86db23b..71e4e458a29 100644 --- a/server/sonar-web/src/main/js/apps/create/project/AlmRepositoryItem.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/AlmRepositoryItem.tsx @@ -22,13 +22,14 @@ import * as classNames from 'classnames'; import { identity } from 'lodash'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import * as theme from '../../../app/theme'; -import Checkbox from '../../../components/controls/Checkbox'; -import CheckIcon from '../../../components/icons-components/CheckIcon'; -import Tooltip from '../../../components/controls/Tooltip'; -import { getBaseUrl, getProjectUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; -import LockIcon from '../../../components/icons-components/LockIcon'; +import CheckIcon from 'sonar-ui-common/components/icons/CheckIcon'; +import LockIcon from 'sonar-ui-common/components/icons/LockIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import { colors } from '../../../app/theme'; +import { getProjectUrl } from '../../../helpers/urls'; interface Props { disabled: boolean; @@ -77,7 +78,7 @@ export default class AlmRepositoryItem extends React.PureComponent<Props> { role="listitem"> <div className="flex-1 display-flex-center"> {disabled ? ( - <LockIcon fill={theme.disableGrayText} /> + <LockIcon fill={colors.disableGrayText} /> ) : ( <Checkbox checked={selected || alreadyImported} @@ -100,7 +101,7 @@ export default class AlmRepositoryItem extends React.PureComponent<Props> { {repository.linkedProjectKey && ( <span> - <CheckIcon className="little-spacer-right" fill={theme.green} /> + <CheckIcon className="little-spacer-right" fill={colors.green} /> <FormattedMessage defaultMessage={translate('onboarding.create_project.repository_imported')} id="onboarding.create_project.repository_imported" diff --git a/server/sonar-web/src/main/js/apps/create/project/AutoProjectCreate.tsx b/server/sonar-web/src/main/js/apps/create/project/AutoProjectCreate.tsx index 38502912672..4d906242b5f 100644 --- a/server/sonar-web/src/main/js/apps/create/project/AutoProjectCreate.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/AutoProjectCreate.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import IdentityProviderLink from 'sonar-ui-common/components/controls/IdentityProviderLink'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import RemoteRepositories from './RemoteRepositories'; import OrganizationInput from './OrganizationInput'; -import IdentityProviderLink from '../../../components/ui/IdentityProviderLink'; import { ORGANIZATION_IMPORT_BINDING_IN_PROGRESS_TIMESTAMP, ORGANIZATION_IMPORT_REDIRECT_TO_PROJECT_TIMESTAMP } from '../organization/utils'; -import { translate } from '../../../helpers/l10n'; -import { save } from '../../../helpers/storage'; interface Props { almApplication: T.AlmApplication; @@ -85,8 +85,10 @@ export default class AutoProjectCreate extends React.PureComponent<Props, State> {translate('onboarding.create_project.install_app_description', almApplication.key)} </p> <IdentityProviderLink + backgroundColor={almApplication.backgroundColor} className="display-inline-block" - identityProvider={almApplication} + iconPath={almApplication.iconPath} + name={almApplication.name} onClick={this.handleInstallAppClick} small={true} url={almApplication.installationUrl}> diff --git a/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarCloud.tsx b/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarCloud.tsx index 1f69c917380..a80fbca019e 100644 --- a/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarCloud.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarCloud.tsx @@ -18,19 +18,19 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import Helmet from 'react-helmet'; import { connect } from 'react-redux'; import { WithRouterProps } from 'react-router'; -import Helmet from 'react-helmet'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Tabs from 'sonar-ui-common/components/controls/Tabs'; import AutoProjectCreate from './AutoProjectCreate'; import ManualProjectCreate from './ManualProjectCreate'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Tabs from '../../../components/controls/Tabs'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; import { withUserOrganizations } from '../../../components/hoc/withUserOrganizations'; import { getAlmAppInfo } from '../../../api/alm-integration'; import { hasAdvancedALMIntegration } from '../../../helpers/almIntegrations'; -import { translate } from '../../../helpers/l10n'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; import { getProjectUrl, getOrganizationUrl } from '../../../helpers/urls'; import { skipOnboarding } from '../../../store/users'; import './style.css'; diff --git a/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarQube.tsx b/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarQube.tsx index 2f4fd4605a8..92befdd374d 100644 --- a/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarQube.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/CreateProjectPageSonarQube.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { WithRouterProps } from 'react-router'; import Helmet from 'react-helmet'; +import { WithRouterProps } from 'react-router'; +import { addWhitePageClass, removeWhitePageClass } from 'sonar-ui-common/helpers/pages'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ManualProjectCreate from './ManualProjectCreate'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; -import { translate } from '../../../helpers/l10n'; -import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; import { getProjectUrl } from '../../../helpers/urls'; import './style.css'; diff --git a/server/sonar-web/src/main/js/apps/create/project/ManualProjectCreate.tsx b/server/sonar-web/src/main/js/apps/create/project/ManualProjectCreate.tsx index d23090555d9..f1f07936b43 100644 --- a/server/sonar-web/src/main/js/apps/create/project/ManualProjectCreate.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/ManualProjectCreate.tsx @@ -19,15 +19,15 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import OrganizationInput from './OrganizationInput'; import { createProject } from '../../../api/components'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; import ProjectKeyInput from '../components/ProjectKeyInput'; import VisibilitySelector from '../../../components/common/VisibilitySelector'; import UpgradeOrganizationBox from '../components/UpgradeOrganizationBox'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; import './ManualProjectCreate.css'; @@ -200,7 +200,7 @@ export default class ManualProjectCreate extends React.PureComponent<Props, Stat </label> <div className="little-spacer-top spacer-bottom"> <input - className={'input-super-large'} + className="input-super-large" id="project-name" maxLength={255} minLength={1} diff --git a/server/sonar-web/src/main/js/apps/create/project/OrganizationInput.tsx b/server/sonar-web/src/main/js/apps/create/project/OrganizationInput.tsx index 142514dd34e..6f0c8117454 100644 --- a/server/sonar-web/src/main/js/apps/create/project/OrganizationInput.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/OrganizationInput.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { WithRouterProps, withRouter } from 'react-router'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationSelect from '../components/OrganizationSelect'; import { ORGANIZATION_IMPORT_REDIRECT_TO_PROJECT_TIMESTAMP } from '../organization/utils'; -import { translate } from '../../../helpers/l10n'; -import { save } from '../../../helpers/storage'; interface Props { autoImport?: boolean; diff --git a/server/sonar-web/src/main/js/apps/create/project/RemoteRepositories.tsx b/server/sonar-web/src/main/js/apps/create/project/RemoteRepositories.tsx index 646cee5b172..c714b9aca96 100644 --- a/server/sonar-web/src/main/js/apps/create/project/RemoteRepositories.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/RemoteRepositories.tsx @@ -20,17 +20,17 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { keyBy } from 'lodash'; +import { isDefined } from 'sonar-ui-common/helpers/types'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import AlmRepositoryItem from './AlmRepositoryItem'; import SetupProjectBox from './SetupProjectBox'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Checkbox from '../../../components/controls/Checkbox'; -import SearchBox from '../../../components/controls/SearchBox'; import UpgradeOrganizationBox from '../components/UpgradeOrganizationBox'; -import { Alert } from '../../../components/ui/Alert'; import { getRepositories } from '../../../api/alm-integration'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; import { isPaidOrganization } from '../../../helpers/organizations'; -import { isDefined } from '../../../helpers/types'; interface Props { almApplication: T.AlmApplication; diff --git a/server/sonar-web/src/main/js/apps/create/project/SetupProjectBox.tsx b/server/sonar-web/src/main/js/apps/create/project/SetupProjectBox.tsx index e078a7d2cb5..d67fe669c87 100644 --- a/server/sonar-web/src/main/js/apps/create/project/SetupProjectBox.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/SetupProjectBox.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { partition } from 'lodash'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { provisionProject } from '../../../api/alm-integration'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { onProjectCreate: (projectKeys: string[], organization: string) => void; diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/CreateProjectPageSonarCloud-test.tsx b/server/sonar-web/src/main/js/apps/create/project/__tests__/CreateProjectPageSonarCloud-test.tsx index 0a5dc60407f..83c7375fc9f 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/CreateProjectPageSonarCloud-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/CreateProjectPageSonarCloud-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { CreateProjectPageSonarCloud } from '../CreateProjectPageSonarCloud'; import { getAlmAppInfo } from '../../../../api/alm-integration'; import { @@ -26,7 +27,6 @@ import { mockOrganizationWithAdminActions, mockOrganizationWithAlm } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/alm-integration', () => ({ getAlmAppInfo: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/ManualProjectCreate-test.tsx b/server/sonar-web/src/main/js/apps/create/project/__tests__/ManualProjectCreate-test.tsx index 0d608ed45cd..bb290f457e1 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/ManualProjectCreate-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/ManualProjectCreate-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ManualProjectCreate from '../ManualProjectCreate'; -import { change, submit, waitAndUpdate } from '../../../../helpers/testUtils'; import { createProject } from '../../../../api/components'; jest.mock('../../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/RemoteRepositories-test.tsx b/server/sonar-web/src/main/js/apps/create/project/__tests__/RemoteRepositories-test.tsx index 113d220bfba..213ed1086a0 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/RemoteRepositories-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/RemoteRepositories-test.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { times } from 'lodash'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import RemoteRepositories from '../RemoteRepositories'; import { getRepositories } from '../../../../api/alm-integration'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { mockOrganizationWithAlm, mockOrganizationWithAdminActions diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/SetupProjectBox-test.tsx b/server/sonar-web/src/main/js/apps/create/project/__tests__/SetupProjectBox-test.tsx index a7c3844ded7..aa0ab623ddf 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/SetupProjectBox-test.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/SetupProjectBox-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, submit } from 'sonar-ui-common/helpers/testUtils'; import SetupProjectBox from '../SetupProjectBox'; -import { waitAndUpdate, submit } from '../../../../helpers/testUtils'; import { provisionProject } from '../../../../api/alm-integration'; import { mockOrganizationWithAlm } from '../../../../helpers/testMocks'; diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/AutoProjectCreate-test.tsx.snap b/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/AutoProjectCreate-test.tsx.snap index 9e3f0583a8b..2a9d628ad55 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/AutoProjectCreate-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/AutoProjectCreate-test.tsx.snap @@ -76,16 +76,10 @@ exports[`should display the provider app install button 1`] = ` onboarding.create_project.install_app_description.github </p> <IdentityProviderLink + backgroundColor="blue" className="display-inline-block" - identityProvider={ - Object { - "backgroundColor": "blue", - "iconPath": "icon/path", - "installationUrl": "https://alm.installation.url", - "key": "github", - "name": "GitHub", - } - } + iconPath="icon/path" + name="GitHub" onClick={[Function]} small={true} url="https://alm.installation.url" diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/App.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/App.tsx index 7990ca2075c..fcbfb7f0b8d 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/App.tsx @@ -19,6 +19,8 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Header from './Header'; import List from './List'; import { @@ -28,8 +30,6 @@ import { deleteCustomMeasure } from '../../../api/measures'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; -import ListFooter from '../../../components/controls/ListFooter'; -import { translate } from '../../../helpers/l10n'; interface Props { component: { key: string }; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/CreateButton.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/CreateButton.tsx index 86c9464ea05..cb8d5309570 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/CreateButton.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/CreateButton.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import Form from './Form'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onCreate: (data: { description: string; metricKey: string; value: string }) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/DeleteForm.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/DeleteForm.tsx index 0ed22ff3e93..60d949bdf37 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/DeleteForm.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/DeleteForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { measure: T.CustomMeasure; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/Form.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/Form.tsx index 053b0789166..60af16fa436 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/Form.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/Form.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import Select from '../../../components/controls/Select'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; import { getAllMetrics } from '../../../api/metrics'; -import { translate } from '../../../helpers/l10n'; interface Props { confirmButtonText: string; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/Header.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/Header.tsx index 9ba98086a4d..62035962e0f 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/Header.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/Header.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import CreateButton from './CreateButton'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/Item.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/Item.tsx index e3ef794746b..b7ceeab374d 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/Item.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/Item.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeleteForm from './DeleteForm'; -import Form from './Form'; -import MeasureDate from './MeasureDate'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import ActionsDropdown, { ActionsDropdownDivider, ActionsDropdownItem -} from '../../../components/controls/ActionsDropdown'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import DeleteForm from './DeleteForm'; +import Form from './Form'; +import MeasureDate from './MeasureDate'; interface Props { measure: T.CustomMeasure; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/List.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/List.tsx index 231aebc9c08..a2ce72366e9 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/List.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/List.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Item from './Item'; -import { translate } from '../../../helpers/l10n'; interface Props { measures: T.CustomMeasure[]; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/MeasureDate.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/MeasureDate.tsx index 6220d6a5844..0053a745d20 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/MeasureDate.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/MeasureDate.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DateFormatter from '../../../components/intl/DateFormatter'; -import { translate } from '../../../helpers/l10n'; interface Props { measure: T.CustomMeasure; diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/App-test.tsx index ab57c2bfa99..4c51cb2b30d 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/App-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/measures', () => ({ getCustomMeasures: () => diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/CreateButton-test.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/CreateButton-test.tsx index 9acf6d80a27..a4b8f562bcc 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/CreateButton-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/CreateButton-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import CreateButton from '../CreateButton'; -import { click } from '../../../../helpers/testUtils'; it('should create new custom measure', () => { const onCreate = jest.fn(() => Promise.resolve()); diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Form-test.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Form-test.tsx index 6fa8f3a8551..9bf5f2ef9e2 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Form-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Form-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import Form from '../Form'; -import { change, submit, click, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/metrics', () => ({ getAllMetrics: () => diff --git a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Item-test.tsx b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Item-test.tsx index 4bd3e4f4e4c..90fb5c29edc 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Item-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-measures/components/__tests__/Item-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Item from '../Item'; -import { click } from '../../../../helpers/testUtils'; const measure = { createdAt: '2017-01-01', diff --git a/server/sonar-web/src/main/js/apps/custom-measures/routes.ts b/server/sonar-web/src/main/js/apps/custom-measures/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/custom-measures/routes.ts +++ b/server/sonar-web/src/main/js/apps/custom-measures/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/App.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/App.tsx index be55d08a49b..effde5c881a 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/App.tsx @@ -19,6 +19,8 @@ */ import * as React from 'react'; import { Helmet } from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import { MetricProps } from './Form'; import Header from './Header'; import List from './List'; @@ -32,8 +34,6 @@ import { createMetric, MetricsResponse } from '../../../api/metrics'; -import ListFooter from '../../../components/controls/ListFooter'; -import { translate } from '../../../helpers/l10n'; interface Props {} diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/CreateButton.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/CreateButton.tsx index d6cbc66fdc5..9ff279ed47b 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/CreateButton.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/CreateButton.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import Form, { MetricProps } from './Form'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { domains: string[]; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/DeleteForm.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/DeleteForm.tsx index adf05711849..577be8f76f8 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/DeleteForm.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/DeleteForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { metric: T.Metric; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/Form.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/Form.tsx index 77b79a7837b..2458ecbc8b0 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/Form.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/Form.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import SimpleModal from '../../../components/controls/SimpleModal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; import Select, { Creatable } from '../../../components/controls/Select'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; export interface MetricProps { description: string; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/Header.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/Header.tsx index 092133eb656..ed13d6e2cbe 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/Header.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/Header.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import CreateButton from './CreateButton'; import { MetricProps } from './Form'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; interface Props { domains: string[] | undefined; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/Item.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/Item.tsx index 3ad55e020d4..6fb601706d3 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/Item.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/Item.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeleteForm from './DeleteForm'; -import Form, { MetricProps } from './Form'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ActionsDropdown, { ActionsDropdownDivider, ActionsDropdownItem -} from '../../../components/controls/ActionsDropdown'; -import { translate } from '../../../helpers/l10n'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import DeleteForm from './DeleteForm'; +import Form, { MetricProps } from './Form'; interface Props { domains?: string[]; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/List.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/List.tsx index df094ad5a24..e24a5149696 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/List.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/List.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { MetricProps } from './Form'; import Item from './Item'; -import { translate } from '../../../helpers/l10n'; interface Props { domains?: string[]; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/App-test.tsx index 1a95645f60c..3c561277fb5 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/App-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/metrics', () => ({ getMetricDomains: () => Promise.resolve(['Coverage', 'Issues']), diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/CreateButton-test.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/CreateButton-test.tsx index 18cccfc31e1..d9280e4cfaa 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/CreateButton-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/CreateButton-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import CreateButton from '../CreateButton'; -import { click } from '../../../../helpers/testUtils'; it('should create new group', () => { const onCreate = jest.fn(() => Promise.resolve()); diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Form-test.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Form-test.tsx index 279863de774..1f0fb40904b 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Form-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Form-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, click } from 'sonar-ui-common/helpers/testUtils'; import Form from '../Form'; -import { change, submit, click } from '../../../../helpers/testUtils'; it('should render form', async () => { const onClose = jest.fn(); diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Item-test.tsx b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Item-test.tsx index 14c8802a37e..ec03beee3fa 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Item-test.tsx +++ b/server/sonar-web/src/main/js/apps/custom-metrics/components/__tests__/Item-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Item from '../Item'; -import { click } from '../../../../helpers/testUtils'; const metric = { id: '3', key: 'foo', name: 'Foo', type: 'INT' }; diff --git a/server/sonar-web/src/main/js/apps/custom-metrics/routes.ts b/server/sonar-web/src/main/js/apps/custom-metrics/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/custom-metrics/routes.ts +++ b/server/sonar-web/src/main/js/apps/custom-metrics/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/documentation/components/App.tsx b/server/sonar-web/src/main/js/apps/documentation/components/App.tsx index ace8f8b66a8..b72b72e1815 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/App.tsx @@ -20,18 +20,18 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { Link } from 'react-router'; +import { addSideBarClass, removeSideBarClass } from 'sonar-ui-common/helpers/pages'; import { DocNavigationItem } from 'Docs/@types/types'; import * as navigationTreeSonarQube from 'Docs/../static/SonarQubeNavigationTree.json'; import * as navigationTreeSonarCloud from 'Docs/../static/SonarCloudNavigationTree.json'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Sidebar from './Sidebar'; import getPages from '../pages'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import NotFound from '../../../app/components/NotFound'; import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper'; import DocMarkdownBlock from '../../../components/docs/DocMarkdownBlock'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; -import { addSideBarClass, removeSideBarClass } from '../../../helpers/pages'; import '../styles.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/documentation/components/MenuBlock.tsx b/server/sonar-web/src/main/js/apps/documentation/components/MenuBlock.tsx index 8b3f500ead4..1b98a65c07f 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/MenuBlock.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/MenuBlock.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import OpenCloseIcon from 'sonar-ui-common/components/icons/OpenCloseIcon'; import * as classNames from 'classnames'; import { DocsNavigationBlock, DocNavigationItem } from 'Docs/@types/types'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; import { MenuItem } from './MenuItem'; import { isDocsNavigationBlock } from '../navTreeUtils'; import { DocumentationEntry, getNodeFromUrl } from '../utils'; -import OpenCloseIcon from '../../../components/icons-components/OpenCloseIcon'; -import { ButtonLink } from '../../../components/ui/buttons'; interface Props { block: DocsNavigationBlock; diff --git a/server/sonar-web/src/main/js/apps/documentation/components/MenuExternalLink.tsx b/server/sonar-web/src/main/js/apps/documentation/components/MenuExternalLink.tsx index 0face6ee40c..8947815cc2b 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/MenuExternalLink.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/MenuExternalLink.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DetachIcon from '../../../components/icons-components/DetachIcon'; +import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon'; interface Props { title: string; diff --git a/server/sonar-web/src/main/js/apps/documentation/components/SearchResults.tsx b/server/sonar-web/src/main/js/apps/documentation/components/SearchResults.tsx index 644a406918e..251a3ae688c 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/SearchResults.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/SearchResults.tsx @@ -21,10 +21,10 @@ import * as React from 'react'; import lunr, { LunrBuilder, LunrIndex, LunrToken } from 'lunr'; import { sortBy } from 'lodash'; import { DocNavigationItem } from 'Docs/@types/types'; +import { isDefined } from 'sonar-ui-common/helpers/types'; import SearchResultEntry from './SearchResultEntry'; import { getUrlsList } from '../navTreeUtils'; import { DocumentationEntry } from '../utils'; -import { isDefined } from '../../../helpers/types'; interface Props { navigation: DocNavigationItem[]; diff --git a/server/sonar-web/src/main/js/apps/documentation/components/Sidebar.tsx b/server/sonar-web/src/main/js/apps/documentation/components/Sidebar.tsx index c3d3df60e3d..f72c057f888 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/Sidebar.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/Sidebar.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { DocNavigationItem } from 'Docs/@types/types'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import Menu from './Menu'; import SearchResults from './SearchResults'; import { DocumentationEntry } from '../utils'; -import SearchBox from '../../../components/controls/SearchBox'; interface Props { navigation: DocNavigationItem[]; diff --git a/server/sonar-web/src/main/js/apps/documentation/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/documentation/components/__tests__/App-test.tsx index 3f211b75b3e..28c1a97d3b1 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/__tests__/App-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { addSideBarClass, removeSideBarClass } from 'sonar-ui-common/helpers/pages'; import App from '../App'; -import { addSideBarClass, removeSideBarClass } from '../../../../helpers/pages'; import { isSonarCloud } from '../../../../helpers/system'; jest.mock('../../../../components/common/ScreenPositionHelper', () => ({ @@ -86,7 +86,7 @@ jest.mock( { virtual: true } ); -jest.mock('../../../../helpers/pages', () => ({ +jest.mock('sonar-ui-common/helpers/pages', () => ({ addSideBarClass: jest.fn(), removeSideBarClass: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/documentation/components/__tests__/MenuBlock-test.tsx b/server/sonar-web/src/main/js/apps/documentation/components/__tests__/MenuBlock-test.tsx index ddcd636ca58..a1c42e7b001 100644 --- a/server/sonar-web/src/main/js/apps/documentation/components/__tests__/MenuBlock-test.tsx +++ b/server/sonar-web/src/main/js/apps/documentation/components/__tests__/MenuBlock-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import MenuBlock from '../MenuBlock'; -import { click } from '../../../../helpers/testUtils'; it('should render a closed menu block', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/documentation/routes.ts b/server/sonar-web/src/main/js/apps/documentation/routes.ts index 7a8763d7a91..46f9346de33 100644 --- a/server/sonar-web/src/main/js/apps/documentation/routes.ts +++ b/server/sonar-web/src/main/js/apps/documentation/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const App = lazyLoad(() => import(/* webpackChunkName: "docs" */ './components/App')); diff --git a/server/sonar-web/src/main/js/apps/explore/Explore.tsx b/server/sonar-web/src/main/js/apps/explore/Explore.tsx index b2caedaa619..cde4c12ec1d 100644 --- a/server/sonar-web/src/main/js/apps/explore/Explore.tsx +++ b/server/sonar-web/src/main/js/apps/explore/Explore.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import * as theme from '../../app/theme'; -import ContextNavBar from '../../components/nav/ContextNavBar'; -import NavBarTabs from '../../components/nav/NavBarTabs'; -import { translate } from '../../helpers/l10n'; +import ContextNavBar from 'sonar-ui-common/components/ui/ContextNavBar'; +import NavBarTabs from 'sonar-ui-common/components/ui/NavBarTabs'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { rawSizes } from '../../app/theme'; interface Props { children: JSX.Element; @@ -31,7 +31,7 @@ interface Props { export default function Explore(props: Props) { return ( <div id="explore"> - <ContextNavBar height={theme.contextNavHeightRaw} id="explore-navigation"> + <ContextNavBar height={rawSizes.contextNavHeightRaw} id="explore-navigation"> <header className="navbar-context-header"> <h1>{translate('explore')}</h1> </header> diff --git a/server/sonar-web/src/main/js/apps/explore/ExploreIssues.tsx b/server/sonar-web/src/main/js/apps/explore/ExploreIssues.tsx index 1ac4f83c010..7472e0c6285 100644 --- a/server/sonar-web/src/main/js/apps/explore/ExploreIssues.tsx +++ b/server/sonar-web/src/main/js/apps/explore/ExploreIssues.tsx @@ -19,10 +19,9 @@ */ import * as React from 'react'; import AppContainer from '../issues/components/AppContainer'; -import { RawQuery } from '../../helpers/query'; interface Props { - location: { pathname: string; query: RawQuery }; + location: { pathname: string; query: T.RawQuery }; } export default function ExploreIssues(props: Props) { diff --git a/server/sonar-web/src/main/js/apps/explore/ExploreProjects.tsx b/server/sonar-web/src/main/js/apps/explore/ExploreProjects.tsx index c333321e381..279e7243b2d 100644 --- a/server/sonar-web/src/main/js/apps/explore/ExploreProjects.tsx +++ b/server/sonar-web/src/main/js/apps/explore/ExploreProjects.tsx @@ -19,10 +19,9 @@ */ import * as React from 'react'; import AllProjectsContainer from '../projects/components/AllProjectsContainer'; -import { RawQuery } from '../../helpers/query'; interface Props { - location: { pathname: string; query: RawQuery }; + location: { pathname: string; query: T.RawQuery }; } export default function ExploreProjects(props: Props) { diff --git a/server/sonar-web/src/main/js/apps/feedback/downgrade/DowngradeFeedback.tsx b/server/sonar-web/src/main/js/apps/feedback/downgrade/DowngradeFeedback.tsx index a2172bf760e..822013c7415 100644 --- a/server/sonar-web/src/main/js/apps/feedback/downgrade/DowngradeFeedback.tsx +++ b/server/sonar-web/src/main/js/apps/feedback/downgrade/DowngradeFeedback.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { WithRouterProps } from 'react-router'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import Radio from 'sonar-ui-common/components/controls/Radio'; import { giveDowngradeFeedback } from '../../../api/billing'; -import { getBaseUrl } from '../../../helpers/urls'; import addGlobalSuccessMessage from '../../../app/utils/addGlobalSuccessMessage'; -import Radio from '../../../components/controls/Radio'; import './DowngradeFeedback.css'; enum Reason { diff --git a/server/sonar-web/src/main/js/apps/groups/components/App.tsx b/server/sonar-web/src/main/js/apps/groups/components/App.tsx index 02d96255587..f37c184a35b 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/App.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { Helmet } from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Header from './Header'; import List from './List'; -import ListFooter from '../../../components/controls/ListFooter'; -import SearchBox from '../../../components/controls/SearchBox'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { searchUsersGroups, deleteGroup, updateGroup, createGroup } from '../../../api/user_groups'; -import { translate } from '../../../helpers/l10n'; interface Props { organization?: Pick<T.Organization, 'key'>; diff --git a/server/sonar-web/src/main/js/apps/groups/components/DeleteForm.tsx b/server/sonar-web/src/main/js/apps/groups/components/DeleteForm.tsx index cd9173d0024..703ab3eec94 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/DeleteForm.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/DeleteForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { group: T.Group; diff --git a/server/sonar-web/src/main/js/apps/groups/components/EditMembers.tsx b/server/sonar-web/src/main/js/apps/groups/components/EditMembers.tsx index 4b29d067431..5cd8b19ffa8 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/EditMembers.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/EditMembers.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; import EditMembersModal from './EditMembersModal'; -import BulletListIcon from '../../../components/icons-components/BulletListIcon'; -import { ButtonIcon } from '../../../components/ui/buttons'; interface Props { group: T.Group; diff --git a/server/sonar-web/src/main/js/apps/groups/components/EditMembersModal.tsx b/server/sonar-web/src/main/js/apps/groups/components/EditMembersModal.tsx index 6e6ce01ff70..a0f00cf6d6e 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/EditMembersModal.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/EditMembersModal.tsx @@ -17,19 +17,19 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { find, without } from 'lodash'; import * as React from 'react'; +import { find, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SelectList, { Filter } from '../../../components/SelectList/SelectList'; import { addUserToGroup, getUsersInGroup, GroupUser, removeUserFromGroup } from '../../../api/user_groups'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Modal from '../../../components/controls/Modal'; -import SelectList, { Filter } from '../../../components/SelectList/SelectList'; -import { ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { group: T.Group; diff --git a/server/sonar-web/src/main/js/apps/groups/components/Form.tsx b/server/sonar-web/src/main/js/apps/groups/components/Form.tsx index 3f5d72afe08..99c4d2ed3a1 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/Form.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/Form.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import { ResetButtonLink, SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; interface Props { confirmButtonText: string; diff --git a/server/sonar-web/src/main/js/apps/groups/components/Header.tsx b/server/sonar-web/src/main/js/apps/groups/components/Header.tsx index 8373d09ec07..1f76812b7fa 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/Header.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/Header.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import Form from './Form'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/groups/components/List.tsx b/server/sonar-web/src/main/js/apps/groups/components/List.tsx index 2321de1e865..798b00fcaf0 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/List.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/List.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ListItem from './ListItem'; -import { translate } from '../../../helpers/l10n'; interface Props { groups: T.Group[]; diff --git a/server/sonar-web/src/main/js/apps/groups/components/ListItem.tsx b/server/sonar-web/src/main/js/apps/groups/components/ListItem.tsx index 2b7e63c1e86..00579625222 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/ListItem.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/ListItem.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeleteForm from './DeleteForm'; -import EditMembers from './EditMembers'; -import Form from './Form'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { omitNil } from 'sonar-ui-common/helpers/request'; import ActionsDropdown, { ActionsDropdownItem, ActionsDropdownDivider -} from '../../../components/controls/ActionsDropdown'; -import { translate } from '../../../helpers/l10n'; -import { omitNil } from '../../../helpers/request'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import DeleteForm from './DeleteForm'; +import EditMembers from './EditMembers'; +import Form from './Form'; interface Props { group: T.Group; diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/App-test.tsx index 0c4e78abd65..1b4a9b972da 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/App-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; import { mockOrganization } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { createGroup, deleteGroup, diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembers-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembers-test.tsx index 82505385a2c..2e69b46be3d 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembers-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembers-test.tsx @@ -18,26 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { mount } from 'enzyme'; +import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import EditMembers from '../EditMembers'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; -jest.mock('../../../../components/icons-components/SearchIcon'); -jest.mock('../../../../components/icons-components/BulletListIcon'); - -it('should edit members', async () => { +it('should edit members', () => { const group = { id: 3, name: 'Foo', membersCount: 5 }; const onEdit = jest.fn(); - const wrapper = mount(<EditMembers group={group} onEdit={onEdit} organization="org" />); + const wrapper = shallow(<EditMembers group={group} onEdit={onEdit} organization="org" />); expect(wrapper).toMatchSnapshot(); click(wrapper.find('ButtonIcon')); expect(wrapper).toMatchSnapshot(); - await waitAndUpdate(wrapper); - - click(wrapper.find('ResetButtonLink')); + wrapper.find('EditMembersModal').prop<Function>('onClose')(); expect(onEdit).toBeCalled(); expect(wrapper).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembersModal-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembersModal-test.tsx index 88209b8e099..e0d134373c4 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembersModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/EditMembersModal-test.tsx @@ -19,9 +19,9 @@ */ import { shallow } from 'enzyme'; import * as React from 'react'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import EditMembersModal, { SearchParams } from '../EditMembersModal'; import SelectList, { Filter } from '../../../../components/SelectList/SelectList'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getUsersInGroup, addUserToGroup, removeUserFromGroup } from '../../../../api/user_groups'; jest.mock('../../../../api/user_groups', () => ({ @@ -135,7 +135,7 @@ function shallowRender(props: Partial<EditMembersModal['props']> = {}) { <EditMembersModal group={{ id: 1, name: 'foo', membersCount: 1 }} onClose={jest.fn()} - organization={'bar'} + organization="bar" {...props} /> ); diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/Form-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/Form-test.tsx index 7ba0fb6887d..feca1dbee75 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/Form-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/Form-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, click } from 'sonar-ui-common/helpers/testUtils'; import Form from '../Form'; -import { change, submit, click } from '../../../../helpers/testUtils'; it('should render form', async () => { const onClose = jest.fn(); diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/Header-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/Header-test.tsx index 3f4c0490eb8..e8b7228d143 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/Header-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/Header-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Header from '../Header'; -import { click } from '../../../../helpers/testUtils'; it('should create new group', () => { const onCreate = jest.fn(() => Promise.resolve()); diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/ListItem-test.tsx b/server/sonar-web/src/main/js/apps/groups/components/__tests__/ListItem-test.tsx index e4f35df99c6..e6dc9c48d20 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/ListItem-test.tsx +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/ListItem-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ListItem from '../ListItem'; -import { click } from '../../../../helpers/testUtils'; it('should edit group', () => { const group = { id: 3, name: 'Foo', membersCount: 5 }; diff --git a/server/sonar-web/src/main/js/apps/groups/components/__tests__/__snapshots__/EditMembers-test.tsx.snap b/server/sonar-web/src/main/js/apps/groups/components/__tests__/__snapshots__/EditMembers-test.tsx.snap index 084c8fa46fd..555d1b71305 100644 --- a/server/sonar-web/src/main/js/apps/groups/components/__tests__/__snapshots__/EditMembers-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/groups/components/__tests__/__snapshots__/EditMembers-test.tsx.snap @@ -1,87 +1,23 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should edit members 1`] = ` -<EditMembers - group={ - Object { - "id": 3, - "membersCount": 5, - "name": "Foo", - } - } - onEdit={[MockFunction]} - organization="org" -> +<Fragment> <ButtonIcon className="button-small" onClick={[Function]} > - <Button - className="button-small button-icon" - onClick={[Function]} - stopPropagation={true} - style={ - Object { - "color": "#236a97", - } - } - > - <button - className="button button-small button-icon" - onClick={[Function]} - style={ - Object { - "color": "#236a97", - } - } - type="button" - > - <MOCKBulletListIcon /> - </button> - </Button> + <BulletListIcon /> </ButtonIcon> -</EditMembers> +</Fragment> `; exports[`should edit members 2`] = ` -<EditMembers - group={ - Object { - "id": 3, - "membersCount": 5, - "name": "Foo", - } - } - onEdit={[MockFunction]} - organization="org" -> +<Fragment> <ButtonIcon className="button-small" onClick={[Function]} > - <Button - className="button-small button-icon" - onClick={[Function]} - stopPropagation={true} - style={ - Object { - "color": "#236a97", - } - } - > - <button - className="button button-small button-icon" - onClick={[Function]} - style={ - Object { - "color": "#236a97", - } - } - type="button" - > - <MOCKBulletListIcon /> - </button> - </Button> + <BulletListIcon /> </ButtonIcon> <EditMembersModal group={ @@ -93,472 +29,17 @@ exports[`should edit members 2`] = ` } onClose={[Function]} organization="org" - > - <Modal - contentLabel="users.update" - onRequestClose={[Function]} - > - <Modal - ariaHideApp={true} - bodyOpenClassName="ReactModal__Body--open" - className="modal" - closeTimeoutMS={0} - contentLabel="users.update" - isOpen={true} - onRequestClose={[Function]} - overlayClassName="modal-overlay" - parentSelector={[Function]} - portalClassName="ReactModalPortal" - role="dialog" - shouldCloseOnEsc={true} - shouldCloseOnOverlayClick={true} - shouldFocusAfterRender={true} - shouldReturnFocusAfterClose={true} - > - <Portal - containerInfo={ - <div - class="ReactModalPortal" - > - <div - class="ReactModal__Overlay ReactModal__Overlay--after-open modal-overlay" - > - <div - aria-label="users.update" - class="ReactModal__Content ReactModal__Content--after-open modal" - role="dialog" - tabindex="-1" - > - <header - class="modal-head" - > - <h2> - users.update - </h2> - </header> - <div - class="modal-body modal-container" - > - <div - class="select-list" - > - <div - class="display-flex-center" - > - <ul - class="radio-toggle spacer-right" - > - <li> - <input - checked="" - id="filter__selected" - name="filter" - type="radio" - value="selected" - /> - <label - for="filter__selected" - > - selected - </label> - </li> - <li> - <input - id="filter__deselected" - name="filter" - type="radio" - value="deselected" - /> - <label - for="filter__deselected" - > - unselected - </label> - </li> - <li> - <input - id="filter__all" - name="filter" - type="radio" - value="all" - /> - <label - for="filter__all" - > - all - </label> - </li> - </ul> - <div - class="search-box" - title="" - > - <input - aria-label="search_verb" - autocomplete="off" - class="search-box-input" - maxlength="100" - placeholder="search_verb" - type="search" - value="" - /> - - </div> - </div> - <div - class="select-list-list-container spacer-top" - > - <ul - class="menu" - /> - </div> - </div> - </div> - <footer - class="modal-foot" - > - <button - class="button button-link" - type="reset" - > - Done - </button> - </footer> - </div> - </div> - </div> - } - > - <ModalPortal - ariaHideApp={true} - bodyOpenClassName="ReactModal__Body--open" - className="modal" - closeTimeoutMS={0} - contentLabel="users.update" - defaultStyles={ - Object { - "content": Object { - "WebkitOverflowScrolling": "touch", - "background": "#fff", - "border": "1px solid #ccc", - "borderRadius": "4px", - "bottom": "40px", - "left": "40px", - "outline": "none", - "overflow": "auto", - "padding": "20px", - "position": "absolute", - "right": "40px", - "top": "40px", - }, - "overlay": Object { - "backgroundColor": "rgba(255, 255, 255, 0.75)", - "bottom": 0, - "left": 0, - "position": "fixed", - "right": 0, - "top": 0, - }, - } - } - isOpen={true} - onRequestClose={[Function]} - overlayClassName="modal-overlay" - parentSelector={[Function]} - portalClassName="ReactModalPortal" - role="dialog" - shouldCloseOnEsc={true} - shouldCloseOnOverlayClick={true} - shouldFocusAfterRender={true} - shouldReturnFocusAfterClose={true} - style={ - Object { - "content": Object {}, - "overlay": Object {}, - } - } - > - <div - className="ReactModal__Overlay ReactModal__Overlay--after-open modal-overlay" - onClick={[Function]} - onMouseDown={[Function]} - style={Object {}} - > - <div - aria-label="users.update" - className="ReactModal__Content ReactModal__Content--after-open modal" - onClick={[Function]} - onKeyDown={[Function]} - onMouseDown={[Function]} - onMouseUp={[Function]} - role="dialog" - style={Object {}} - tabIndex="-1" - > - <header - className="modal-head" - > - <h2> - users.update - </h2> - </header> - <div - className="modal-body modal-container" - > - <DeferredSpinner - loading={true} - timeout={100} - > - <SelectList - elements={Array []} - needReload={false} - onLoadMore={[Function]} - onReload={[Function]} - onSearch={[Function]} - onSelect={[Function]} - onUnselect={[Function]} - renderElement={[Function]} - selectedElements={Array []} - > - <div - className="select-list" - > - <div - className="display-flex-center" - > - <RadioToggle - className="spacer-right" - disabled={false} - name="filter" - onCheck={[Function]} - options={ - Array [ - Object { - "disabled": false, - "label": "selected", - "value": "selected", - }, - Object { - "disabled": false, - "label": "unselected", - "value": "deselected", - }, - Object { - "disabled": false, - "label": "all", - "value": "all", - }, - ] - } - value="selected" - > - <ul - className="radio-toggle spacer-right" - > - <li - key="selected" - > - <input - checked={true} - disabled={false} - id="filter__selected" - name="filter" - onChange={[Function]} - type="radio" - value="selected" - /> - <Tooltip> - <label - htmlFor="filter__selected" - > - selected - </label> - </Tooltip> - </li> - <li - key="deselected" - > - <input - checked={false} - disabled={false} - id="filter__deselected" - name="filter" - onChange={[Function]} - type="radio" - value="deselected" - /> - <Tooltip> - <label - htmlFor="filter__deselected" - > - unselected - </label> - </Tooltip> - </li> - <li - key="all" - > - <input - checked={false} - disabled={false} - id="filter__all" - name="filter" - onChange={[Function]} - type="radio" - value="all" - /> - <Tooltip> - <label - htmlFor="filter__all" - > - all - </label> - </Tooltip> - </li> - </ul> - </RadioToggle> - <SearchBox - autoFocus={true} - loading={false} - onChange={[Function]} - placeholder="search_verb" - value="" - > - <div - className="search-box" - title="" - > - <input - aria-label="search_verb" - autoComplete="off" - autoFocus={true} - className="search-box-input" - maxLength={100} - onChange={[Function]} - onKeyDown={[Function]} - placeholder="search_verb" - type="search" - value="" - /> - <DeferredSpinner - loading={false} - timeout={100} - > - <MOCKSearchIcon - className="search-box-magnifier" - /> - </DeferredSpinner> - </div> - </SearchBox> - </div> - <SelectListListContainer - disabledElements={Array []} - elements={Array []} - filter="selected" - onSelect={[Function]} - onUnselect={[Function]} - renderElement={[Function]} - selectedElements={Array []} - > - <div - className="select-list-list-container spacer-top" - > - <ul - className="menu" - /> - </div> - </SelectListListContainer> - </div> - </SelectList> - </DeferredSpinner> - </div> - <footer - className="modal-foot" - > - <ResetButtonLink - onClick={[Function]} - > - <ButtonLink - onClick={[Function]} - type="reset" - > - <Button - className="button-link" - onClick={[Function]} - type="reset" - > - <button - className="button button-link" - onClick={[Function]} - type="reset" - > - Done - </button> - </Button> - </ButtonLink> - </ResetButtonLink> - </footer> - </div> - </div> - </ModalPortal> - </Portal> - </Modal> - </Modal> - </EditMembersModal> -</EditMembers> + /> +</Fragment> `; exports[`should edit members 3`] = ` -<EditMembers - group={ - Object { - "id": 3, - "membersCount": 5, - "name": "Foo", - } - } - onEdit={ - [MockFunction] { - "calls": Array [ - Array [], - ], - "results": Array [ - Object { - "type": "return", - "value": undefined, - }, - ], - } - } - organization="org" -> +<Fragment> <ButtonIcon className="button-small" onClick={[Function]} > - <Button - className="button-small button-icon" - onClick={[Function]} - stopPropagation={true} - style={ - Object { - "color": "#236a97", - } - } - > - <button - className="button button-small button-icon" - onClick={[Function]} - style={ - Object { - "color": "#236a97", - } - } - type="button" - > - <MOCKBulletListIcon /> - </button> - </Button> + <BulletListIcon /> </ButtonIcon> -</EditMembers> +</Fragment> `; diff --git a/server/sonar-web/src/main/js/apps/groups/routes.ts b/server/sonar-web/src/main/js/apps/groups/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/groups/routes.ts +++ b/server/sonar-web/src/main/js/apps/groups/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/issues/__tests__/utils-test.ts b/server/sonar-web/src/main/js/apps/issues/__tests__/utils-test.ts index 52b424b12c5..a50edcdcf1a 100644 --- a/server/sonar-web/src/main/js/apps/issues/__tests__/utils-test.ts +++ b/server/sonar-web/src/main/js/apps/issues/__tests__/utils-test.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { scrollToElement } from '../../../helpers/scrolling'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import { shouldOpenSeverityFacet, shouldOpenStandardsFacet, @@ -26,7 +26,7 @@ import { shouldOpenSonarSourceSecurityFacet } from '../utils'; -jest.mock('../../../helpers/scrolling', () => ({ +jest.mock('sonar-ui-common/helpers/scrolling', () => ({ scrollToElement: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/issues/components/App.tsx b/server/sonar-web/src/main/js/apps/issues/components/App.tsx index d7d1b7bf40a..d4482a05dbf 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/App.tsx @@ -18,11 +18,24 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { connect } from 'react-redux'; -import { FormattedMessage } from 'react-intl'; import * as key from 'keymaster'; import Helmet from 'react-helmet'; import { keyBy, omit, without } from 'lodash'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { + addSideBarClass, + addWhitePageClass, + removeSideBarClass, + removeWhitePageClass +} from 'sonar-ui-common/helpers/pages'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import BulkChangeModal, { MAX_PAGE_SIZE } from './BulkChangeModal'; import IssuesList from './IssuesList'; import IssuesSourceViewer from './IssuesSourceViewer'; @@ -33,14 +46,8 @@ import PageActions from './PageActions'; import ConciseIssuesList from '../conciseIssuesList/ConciseIssuesList'; import ConciseIssuesListHeader from '../conciseIssuesList/ConciseIssuesListHeader'; import Sidebar from '../sidebar/Sidebar'; -import { Alert } from '../../../components/ui/Alert'; -import { Button } from '../../../components/ui/buttons'; -import Checkbox from '../../../components/controls/Checkbox'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import EmptySearch from '../../../components/common/EmptySearch'; import FiltersHeader from '../../../components/common/FiltersHeader'; -import handleRequiredAuthentication from '../../../app/utils/handleRequiredAuthentication'; -import ListFooter from '../../../components/controls/ListFooter'; import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; @@ -76,14 +83,6 @@ import { isPullRequest, fillBranchLike } from '../../../helpers/branches'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { - addSideBarClass, - addWhitePageClass, - removeSideBarClass, - removeWhitePageClass -} from '../../../helpers/pages'; -import { RawQuery } from '../../../helpers/query'; import { isSonarCloud } from '../../../helpers/system'; import { fetchBranchStatus } from '../../../store/rootActions'; import '../../../components/search-navigator.css'; @@ -105,7 +104,7 @@ interface Props { component?: T.Component; currentUser: T.CurrentUser; fetchBranchStatus: (branchLike: T.BranchLike, projectKey: string) => Promise<void>; - fetchIssues: (query: RawQuery, requestOrganizations?: boolean) => Promise<FetchIssuesPromise>; + fetchIssues: (query: T.RawQuery, requestOrganizations?: boolean) => Promise<FetchIssuesPromise>; hideAuthorFacet?: boolean; location: Pick<Location, 'pathname' | 'query'>; multiOrganizations?: boolean; @@ -413,7 +412,7 @@ export class App extends React.PureComponent<Props, State> { }; fetchIssues = ( - additional: RawQuery, + additional: T.RawQuery, requestFacets = false, requestOrganizations = true ): Promise<FetchIssuesPromise> => { diff --git a/server/sonar-web/src/main/js/apps/issues/components/AppContainer.tsx b/server/sonar-web/src/main/js/apps/issues/components/AppContainer.tsx index 4fc0a026b2a..7e806e7fe0f 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/AppContainer.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/AppContainer.tsx @@ -20,6 +20,7 @@ import { connect } from 'react-redux'; import { Dispatch } from 'redux'; import { uniq } from 'lodash'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { searchIssues } from '../../../api/issues'; import { getOrganizations } from '../../../api/organizations'; import throwGlobalError from '../../../app/utils/throwGlobalError'; @@ -29,9 +30,7 @@ import { getMyOrganizations, Store } from '../../../store/rootReducer'; -import { lazyLoad } from '../../../components/lazyLoad'; import { parseIssueFromResponse } from '../../../helpers/issues'; -import { RawQuery } from '../../../helpers/query'; import { receiveOrganizations } from '../../../store/organizations'; interface StateProps { @@ -55,7 +54,7 @@ const fetchIssueOrganizations = (organizationKeys: string[]) => (dispatch: Dispa ); }; -const fetchIssues = (query: RawQuery, requestOrganizations = true) => ( +const fetchIssues = (query: T.RawQuery, requestOrganizations = true) => ( // use `Function` to be able to do `dispatch(...).then(...)` dispatch: Function, getState: () => Store @@ -81,7 +80,7 @@ const fetchIssues = (query: RawQuery, requestOrganizations = true) => ( }; interface DispatchProps { - fetchIssues: (query: RawQuery, requestOrganizations?: boolean) => Promise<void>; + fetchIssues: (query: T.RawQuery, requestOrganizations?: boolean) => Promise<void>; } // have to type cast this, because of async action diff --git a/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.tsx b/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.tsx index 9dfbdc53327..9599069623a 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.tsx @@ -20,22 +20,22 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { pickBy, sortBy } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Radio from 'sonar-ui-common/components/controls/Radio'; import { searchAssignees } from '../utils'; import Avatar from '../../../components/ui/Avatar'; -import Checkbox from '../../../components/controls/Checkbox'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; import MarkdownTips from '../../../components/common/MarkdownTips'; -import Modal from '../../../components/controls/Modal'; -import Radio from '../../../components/controls/Radio'; import SearchSelect from '../../../components/controls/SearchSelect'; import Select from '../../../components/controls/Select'; import SeverityHelper from '../../../components/shared/SeverityHelper'; import throwGlobalError from '../../../app/utils/throwGlobalError'; -import { Alert } from '../../../components/ui/Alert'; import { searchIssueTags, bulkChangeIssues } from '../../../api/issues'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { isLoggedIn } from '../../../helpers/users'; interface AssigneeOption { @@ -263,7 +263,7 @@ export default class BulkChangeModal extends React.PureComponent<Props, State> { </div> <div className="modal-body"> <div className="text-center"> - <i className="spinner spinner-margin" /> + <i className="spinner spacer" /> </div> </div> <div className="modal-foot"> @@ -532,7 +532,7 @@ export default class BulkChangeModal extends React.PureComponent<Props, State> { render() { return ( - <Modal contentLabel="modal" onRequestClose={this.props.onClose} size={'small'}> + <Modal contentLabel="modal" onRequestClose={this.props.onClose} size="small"> {this.state.loading ? this.renderLoading() : this.renderForm()} </Modal> ); diff --git a/server/sonar-web/src/main/js/apps/issues/components/ComponentBreadcrumbs.tsx b/server/sonar-web/src/main/js/apps/issues/components/ComponentBreadcrumbs.tsx index 0b9cac8f4bb..1956aec1595 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/ComponentBreadcrumbs.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/ComponentBreadcrumbs.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { collapsePath, limitComponentName } from 'sonar-ui-common/helpers/path'; import { getSelectedLocation } from '../utils'; import Organization from '../../../components/shared/Organization'; -import { collapsePath, limitComponentName } from '../../../helpers/path'; interface Props { component?: T.Component; diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.tsx b/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.tsx index 81dc848e5af..039ead34908 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PageCounter from '../../../components/common/PageCounter'; -import { translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.tsx b/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.tsx index 2ca069c1a46..ec5f83e8400 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { uniq } from 'lodash'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import { getLocations, getSelectedLocation } from '../utils'; -import { scrollToElement } from '../../../helpers/scrolling'; import CrossComponentSourceViewer from '../crossComponentSourceViewer/CrossComponentSourceViewer'; import SourceViewer from '../../../components/SourceViewer/SourceViewer'; diff --git a/server/sonar-web/src/main/js/apps/issues/components/LocationNavigationKeyboardShortcuts.tsx b/server/sonar-web/src/main/js/apps/issues/components/LocationNavigationKeyboardShortcuts.tsx index 069ff623c27..6d0c92f1a89 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/LocationNavigationKeyboardShortcuts.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/LocationNavigationKeyboardShortcuts.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export interface Props { issue: Pick<T.Issue, 'flows' | 'secondaryLocations'> | undefined; diff --git a/server/sonar-web/src/main/js/apps/issues/components/MyIssuesFilter.tsx b/server/sonar-web/src/main/js/apps/issues/components/MyIssuesFilter.tsx index c6780e2fbca..82dc0989d09 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/MyIssuesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/MyIssuesFilter.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; interface Props { myIssues: boolean; diff --git a/server/sonar-web/src/main/js/apps/issues/components/NoIssues.tsx b/server/sonar-web/src/main/js/apps/issues/components/NoIssues.tsx index c3cb2d90d70..499815a6d26 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/NoIssues.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/NoIssues.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import '../../../components/common/EmptySearch.css'; export default function NoIssues() { diff --git a/server/sonar-web/src/main/js/apps/issues/components/NoMyIssues.tsx b/server/sonar-web/src/main/js/apps/issues/components/NoMyIssues.tsx index d370b98d631..b7d03f84727 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/NoMyIssues.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/NoMyIssues.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import '../../../components/common/EmptySearch.css'; export default function NoMyIssues() { diff --git a/server/sonar-web/src/main/js/apps/issues/components/PageActions.tsx b/server/sonar-web/src/main/js/apps/issues/components/PageActions.tsx index 972dd1df024..d5eabf5aa3a 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/PageActions.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/PageActions.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ReloadButton from 'sonar-ui-common/components/controls/ReloadButton'; import IssuesCounter from './IssuesCounter'; import TotalEffort from './TotalEffort'; import HomePageSelect from '../../../components/controls/HomePageSelect'; -import ReloadButton from '../../../components/controls/ReloadButton'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/components/TotalEffort.tsx b/server/sonar-web/src/main/js/apps/issues/components/TotalEffort.tsx index e895125bf88..3e7ed2a3131 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/TotalEffort.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/TotalEffort.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; export default function TotalEffort({ effort }: { effort: number }) { return ( diff --git a/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx index db901c28c1f..8909ef98427 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx @@ -19,6 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; +import { waitAndUpdate, KEYCODE_MAP, keydown } from 'sonar-ui-common/helpers/testUtils'; import { App } from '../App'; import { mockLoggedInUser, @@ -30,7 +32,6 @@ import { mockPullRequest, mockComponent } from '../../../../helpers/testMocks'; -import handleRequiredAuthentication from '../../../../app/utils/handleRequiredAuthentication'; import { enableLocationsNavigator, selectNextLocation, @@ -38,9 +39,8 @@ import { selectNextFlow, selectPreviousFlow } from '../../actions'; -import { waitAndUpdate, KEYCODE_MAP, keydown } from '../../../../helpers/testUtils'; -jest.mock('../../../../app/utils/handleRequiredAuthentication', () => ({ +jest.mock('sonar-ui-common/helpers/handleRequiredAuthentication', () => ({ default: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/issues/components/__tests__/BulkChangeModal-test.tsx b/server/sonar-web/src/main/js/apps/issues/components/__tests__/BulkChangeModal-test.tsx index 39494a70beb..67d19818468 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/__tests__/BulkChangeModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/__tests__/BulkChangeModal-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import BulkChangeModal, { MAX_PAGE_SIZE } from '../BulkChangeModal'; import { mockIssue } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/issues', () => ({ searchIssueTags: () => Promise.resolve([undefined, []]) diff --git a/server/sonar-web/src/main/js/apps/issues/components/__tests__/IssuesList-test.tsx b/server/sonar-web/src/main/js/apps/issues/components/__tests__/IssuesList-test.tsx index 556824173d2..6311073e38b 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/__tests__/IssuesList-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/__tests__/IssuesList-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import IssuesList from '../IssuesList'; import { mockIssue } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; it('should render correctly', async () => { jest.useFakeTimers(); diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.tsx index a2f93116784..7ac678ccca1 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.tsx @@ -65,7 +65,9 @@ export default class ConciseIssueBox extends React.PureComponent<Props> { if (!locations || locations.length < 15) { // if there are no locations, or there are just few // then ensuse that the whole box is visible - if (this.rootElement) this.props.scroll(this.rootElement); + if (this.rootElement) { + this.props.scroll(this.rootElement); + } } else if (this.messageElement) { // otherwise scroll until the the message element is located on top this.props.scroll(this.messageElement, window.innerHeight - 250); diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.tsx index b61abe23ab8..4d84443500c 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { collapsePath } from '../../../helpers/path'; +import { collapsePath } from 'sonar-ui-common/helpers/path'; interface Props { path: string; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.tsx index e76782e6ed4..29610ab6b1c 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import LocationIndex from '../../../components/common/LocationIndex'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; interface Props { count: number; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocations.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocations.tsx index ff99a7558f7..99bb6ff3aba 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocations.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocations.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ConciseIssueLocationBadge from './ConciseIssueLocationBadge'; -import { Button } from '../../../components/ui/buttons'; interface Props { issue: Pick<T.Issue, 'flows' | 'secondaryLocations'>; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.tsx index 8066f5fb7c8..8c86fb63eee 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import ConciseIssue from './ConciseIssue'; -import { scrollToElement } from '../../../helpers/scrolling'; interface Props { issues: T.Issue[]; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesListHeader.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesListHeader.tsx index 728682bc501..9a57ad3cbee 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesListHeader.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesListHeader.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import BackButton from '../../../components/controls/BackButton'; -import ReloadButton from '../../../components/controls/ReloadButton'; +import BackButton from 'sonar-ui-common/components/controls/BackButton'; +import ReloadButton from 'sonar-ui-common/components/controls/ReloadButton'; import IssuesCounter from '../components/IssuesCounter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/CrossFileLocationsNavigator.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/CrossFileLocationsNavigator.tsx index 268c9f3b51a..75a40d84b71 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/CrossFileLocationsNavigator.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/CrossFileLocationsNavigator.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { collapsePath } from 'sonar-ui-common/helpers/path'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import ConciseIssueLocationsNavigatorLocation from './ConciseIssueLocationsNavigatorLocation'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { collapsePath } from '../../../helpers/path'; interface Props { issue: Pick<T.Issue, 'key' | 'type'>; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueBox-test.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueBox-test.tsx index 654bbf8fa6d..3bd98700da9 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueBox-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueBox-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, click } from 'sonar-ui-common/helpers/testUtils'; import ConciseIssueBox from '../ConciseIssueBox'; import { mockIssue } from '../../../../helpers/testMocks'; -import { waitAndUpdate, click } from '../../../../helpers/testUtils'; it('should render correctly', async () => { const onClick = jest.fn(); diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueLocationsNavigatorLocation-test.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueLocationsNavigatorLocation-test.tsx index e65843ee726..c95ff1112e9 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueLocationsNavigatorLocation-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/ConciseIssueLocationsNavigatorLocation-test.tsx @@ -34,8 +34,8 @@ const shallowRender = (props: Partial<ConciseIssueLocationsNavigatorLocation['pr return shallow( <ConciseIssueLocationsNavigatorLocation index={0} - issueType={'BUG'} - message={''} + issueType="BUG" + message="" onClick={jest.fn()} scroll={jest.fn()} selected={true} diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/CrossFileLocationsNavigator-test.tsx b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/CrossFileLocationsNavigator-test.tsx index 2705d36ae5f..e1b9ec81dd8 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/CrossFileLocationsNavigator-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/__tests__/CrossFileLocationsNavigator-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import CrossFileLocationsNavigator from '../CrossFileLocationsNavigator'; -import { click } from '../../../../helpers/testUtils'; const location1: T.FlowLocation = { component: 'foo', diff --git a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewer.tsx b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewer.tsx index 6c81a5744ec..415c59ead02 100644 --- a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewer.tsx +++ b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewer.tsx @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const CrossComponentSourceViewer = lazyLoad( () => import(/* webpackPrefetch: true */ './CrossComponentSourceViewerWrapper'), diff --git a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewerWrapper.tsx b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewerWrapper.tsx index 4b8262b38a0..49376aafc48 100644 --- a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewerWrapper.tsx +++ b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/CrossComponentSourceViewerWrapper.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import ComponentSourceSnippetViewer from './ComponentSourceSnippetViewer'; import { groupLocationsByComponent } from './utils'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import DuplicationPopup from '../../../components/SourceViewer/components/DuplicationPopup'; import { SourceViewerContext } from '../../../components/SourceViewer/SourceViewerContext'; import { WorkspaceContext } from '../../../components/workspace/context'; diff --git a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/SnippetViewer.tsx b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/SnippetViewer.tsx index 75ef569e421..daa6af037f4 100644 --- a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/SnippetViewer.tsx +++ b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/SnippetViewer.tsx @@ -18,8 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ExpandSnippetIcon from 'sonar-ui-common/components/icons/ExpandSnippetIcon'; +import { scrollHorizontally } from 'sonar-ui-common/helpers/scrolling'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { inSnippet, LINES_BELOW_LAST } from './utils'; -import ExpandSnippetIcon from '../../../components/icons-components/ExpandSnippetIcon'; import Line from '../../../components/SourceViewer/components/Line'; import { symbolsByLine } from '../../../components/SourceViewer/helpers/indexing'; import { getSecondaryIssueLocationsForLine } from '../../../components/SourceViewer/helpers/issueLocations'; @@ -28,8 +30,6 @@ import { optimizeHighlightedSymbols, optimizeSelectedIssue } from '../../../components/SourceViewer/helpers/lines'; -import { translate } from '../../../helpers/l10n'; -import { scrollHorizontally } from '../../../helpers/scrolling'; interface Props { branchLike: T.BranchLike | undefined; diff --git a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/ComponentSourceSnippetViewer-test.tsx b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/ComponentSourceSnippetViewer-test.tsx index a1e7fdd29ff..2bfa852f381 100644 --- a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/ComponentSourceSnippetViewer-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/ComponentSourceSnippetViewer-test.tsx @@ -20,6 +20,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { times } from 'lodash'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ComponentSourceSnippetViewer from '../ComponentSourceSnippetViewer'; import { mockMainBranch, @@ -30,7 +31,6 @@ import { mockSourceLine, mockShortLivingBranch } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getSources } from '../../../../api/components'; jest.mock('../../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/CrossComponentSourceViewerWrapper-test.tsx b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/CrossComponentSourceViewerWrapper-test.tsx index 4d283b416d1..d0032b09b4b 100644 --- a/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/CrossComponentSourceViewerWrapper-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/__tests__/CrossComponentSourceViewerWrapper-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import CrossComponentSourceViewerWrapper from '../CrossComponentSourceViewerWrapper'; import { mockFlowLocation, @@ -27,7 +28,6 @@ import { mockSourceLine, mockSourceViewerFile } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getIssueFlowSnippets } from '../../../../api/issues'; import { getDuplications } from '../../../../api/components'; diff --git a/server/sonar-web/src/main/js/apps/issues/redirects.ts b/server/sonar-web/src/main/js/apps/issues/redirects.ts index dc825c60dec..6c5a2325125 100644 --- a/server/sonar-web/src/main/js/apps/issues/redirects.ts +++ b/server/sonar-web/src/main/js/apps/issues/redirects.ts @@ -17,12 +17,11 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { Location } from 'sonar-ui-common/helpers/urls'; import { parseQuery, areMyIssuesSelected, serializeQuery } from './utils'; -import { RawQuery } from '../../helpers/query'; -import { Location } from '../../helpers/urls'; function parseHash(hash: string) { - const query: RawQuery = {}; + const query: T.RawQuery = {}; const parts = hash.split('|'); parts.forEach(part => { const tokens = part.split('='); diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.tsx index ba19f5264f8..caf10424969 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { omit, sortBy, without } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { searchAssignees, Query, ReferencedUser, SearchedAssignee, Facet } from '../utils'; import Avatar from '../../../components/ui/Avatar'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.tsx index 02e0da6331d..461e19f38fb 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { omit } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query, Facet } from '../utils'; -import { translate } from '../../../helpers/l10n'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; import { searchIssueAuthors } from '../../../api/issues'; -import { highlightTerm } from '../../../helpers/search'; interface Props { component: T.Component | undefined; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.tsx index 13bf358cbc1..c390a1ce08a 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.tsx @@ -18,8 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as isSameDay from 'date-fns/is_same_day'; import { max } from 'lodash'; import { injectIntl, InjectedIntlProps } from 'react-intl'; +import BarChart from 'sonar-ui-common/components/charts/BarChart'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { Query } from '../utils'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; @@ -27,11 +32,7 @@ import FacetItem from '../../../components/facet/FacetItem'; import { longFormatterOption } from '../../../components/intl/DateFormatter'; import DateFromNow from '../../../components/intl/DateFromNow'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import BarChart from '../../../components/charts/BarChart'; import DateRangeInput from '../../../components/controls/DateRangeInput'; -import { isSameDay, parseDate } from '../../../helpers/dates'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; interface Props { component: T.Component | undefined; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.tsx index c605a2bf106..a6818b86abc 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { omit } from 'lodash'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { collapsePath } from 'sonar-ui-common/helpers/path'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query, Facet } from '../utils'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { translate } from '../../../helpers/l10n'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; -import { highlightTerm } from '../../../helpers/search'; import { getTree, TreeComponent } from '../../../api/components'; -import { collapsePath } from '../../../helpers/path'; interface Props { componentKey: string; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.tsx index 92b10e4399d..0ed7b7e3df6 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { omit } from 'lodash'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { collapsePath } from 'sonar-ui-common/helpers/path'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query, ReferencedComponent, Facet } from '../utils'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { translate } from '../../../helpers/l10n'; -import { collapsePath } from '../../../helpers/path'; import { TreeComponent, getTree } from '../../../api/components'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; -import { highlightTerm } from '../../../helpers/search'; interface Props { componentKey: string; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.tsx index 1fc34ff91be..09c7fb58203 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { uniqBy, omit } from 'lodash'; import { connect } from 'react-redux'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; import { Query, ReferencedLanguage, Facet } from '../utils'; import { getLanguages, Store } from '../../../store/rootReducer'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; interface InstalledLanguage { key: string; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.tsx index 5b314670034..d850aa896e5 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { omit } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; import { Query, ReferencedComponent, Facet } from '../utils'; import { searchProjects, getTree } from '../../../api/components'; import Organization from '../../../components/shared/Organization'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; interface Props { component: T.Component | undefined; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/ResolutionFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/ResolutionFacet.tsx index 8a667b7d93d..d57abd81a69 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/ResolutionFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/ResolutionFacet.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { orderBy, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { formatFacetStat, Query } from '../utils'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; -import { translate } from '../../../helpers/l10n'; import MultipleSelectionHint from '../../../components/facet/MultipleSelectionHint'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx index 599b401951a..1732e5270ca 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { omit } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; import { Query, ReferencedRule, Facet } from '../utils'; import { searchRules } from '../../../api/rules'; -import { translate } from '../../../helpers/l10n'; interface Props { fetching: boolean; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/SeverityFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/SeverityFacet.tsx index 0a8916e945d..bbd1920b9df 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/SeverityFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/SeverityFacet.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { orderBy, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { formatFacetStat, Query } from '../utils'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; import SeverityHelper from '../../../components/shared/SeverityHelper'; -import { translate } from '../../../helpers/l10n'; import MultipleSelectionHint from '../../../components/facet/MultipleSelectionHint'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx index d932ecdc790..ead34843711 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { sortBy, without, omit } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; import MultipleSelectionHint from '../../../components/facet/MultipleSelectionHint'; -import { translate } from '../../../helpers/l10n'; -import { highlightTerm } from '../../../helpers/search'; import { getStandards, renderCWECategory, diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.tsx index 33ef4e83e7d..dda16cd4290 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { orderBy, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { formatFacetStat, Query } from '../utils'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; import StatusHelper from '../../../components/shared/StatusHelper'; -import { translate } from '../../../helpers/l10n'; import MultipleSelectionHint from '../../../components/facet/MultipleSelectionHint'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.tsx index 682485997bc..4907edc42a2 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; import { omit } from 'lodash'; +import { highlightTerm } from 'sonar-ui-common/helpers/search'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query, Facet } from '../utils'; import { searchIssueTags } from '../../../api/issues'; -import * as theme from '../../../app/theme'; -import TagsIcon from '../../../components/icons-components/TagsIcon'; -import { translate } from '../../../helpers/l10n'; +import { colors } from '../../../app/theme'; import ListStyleFacet from '../../../components/facet/ListStyleFacet'; -import { highlightTerm } from '../../../helpers/search'; interface Props { component: T.Component | undefined; @@ -66,7 +66,7 @@ export default class TagFacet extends React.PureComponent<Props> { renderTag = (tag: string) => { return ( <> - <TagsIcon className="little-spacer-right" fill={theme.gray60} /> + <TagsIcon className="little-spacer-right" fill={colors.gray60} /> {tag} </> ); @@ -74,7 +74,7 @@ export default class TagFacet extends React.PureComponent<Props> { renderSearchResult = (tag: string, term: string) => ( <> - <TagsIcon className="little-spacer-right" fill={theme.gray60} /> + <TagsIcon className="little-spacer-right" fill={colors.gray60} /> {highlightTerm(tag, term)} </> ); diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.tsx index bf3d9f9f428..e10e8ed51b5 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.tsx @@ -21,19 +21,19 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Link } from 'react-router'; import { orderBy, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import NewsBox from 'sonar-ui-common/components/ui/NewsBox'; import FacetBox from '../../../components/facet/FacetBox'; import FacetHeader from '../../../components/facet/FacetHeader'; import FacetItem from '../../../components/facet/FacetItem'; import FacetItemsList from '../../../components/facet/FacetItemsList'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; import MultipleSelectionHint from '../../../components/facet/MultipleSelectionHint'; -import NewsBox from '../../../components/ui/NewsBox'; import { formatFacetStat, Query } from '../utils'; import { getCurrentUser, getCurrentUserSetting, Store } from '../../../store/rootReducer'; import { setCurrentUserSetting } from '../../../store/users'; import { ISSUE_TYPES } from '../../../helpers/constants'; -import { translate } from '../../../helpers/l10n'; interface Props { fetching: boolean; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StandardFacet-test.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StandardFacet-test.tsx index ce603e74fef..c63b7e16743 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StandardFacet-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StandardFacet-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import StandardFacet from '../StandardFacet'; -import { click } from '../../../../helpers/testUtils'; import { Query } from '../../utils'; import { getStandards } from '../../../../helpers/security-standard'; diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StatusFacet-test.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StatusFacet-test.tsx index 3b7b1482d35..73fe8ca3029 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StatusFacet-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/StatusFacet-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import StatusFacet from '../StatusFacet'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/TypeFacet-test.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/TypeFacet-test.tsx index 25e240a7227..52344512ea9 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/TypeFacet-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/TypeFacet-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { TypeFacet } from '../TypeFacet'; -import { click } from '../../../../helpers/testUtils'; it('should render open by default', () => { expect(shallowRender({ types: ['VULNERABILITY', 'CODE_SMELL'] })).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/issues/utils.ts b/server/sonar-web/src/main/js/apps/issues/utils.ts index 26c179693ea..a6c644f645e 100644 --- a/server/sonar-web/src/main/js/apps/issues/utils.ts +++ b/server/sonar-web/src/main/js/apps/issues/utils.ts @@ -17,10 +17,6 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { searchMembers } from '../../api/organizations'; -import { searchUsers } from '../../api/users'; -import { formatMeasure } from '../../helpers/measures'; -import { get, save } from '../../helpers/storage'; import { queriesEqual, cleanQuery, @@ -30,10 +26,13 @@ import { serializeString, serializeStringArray, parseAsDate, - serializeDateShort, - RawQuery -} from '../../helpers/query'; -import { scrollToElement } from '../../helpers/scrolling'; + serializeDateShort +} from 'sonar-ui-common/helpers/query'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { get, save } from 'sonar-ui-common/helpers/storage'; +import { searchMembers } from '../../api/organizations'; +import { searchUsers } from '../../api/users'; export interface Query { assigned: boolean; @@ -76,7 +75,7 @@ export const STANDARD_TYPES: T.StandardType[] = [ const parseAsSort = (sort: string) => (sort === 'CREATION_DATE' ? 'CREATION_DATE' : ''); const ISSUES_DEFAULT = 'sonarqube.issues.default'; -export function parseQuery(query: RawQuery): Query { +export function parseQuery(query: T.RawQuery): Query { return { assigned: parseAsBoolean(query.assigned), assignees: parseAsArray(query.assignees, parseAsString), @@ -107,13 +106,13 @@ export function parseQuery(query: RawQuery): Query { }; } -export function getOpen(query: RawQuery): string { +export function getOpen(query: T.RawQuery): string { return query.open; } -export const areMyIssuesSelected = (query: RawQuery) => query.myIssues === 'true'; +export const areMyIssuesSelected = (query: T.RawQuery) => query.myIssues === 'true'; -export function serializeQuery(query: Query): RawQuery { +export function serializeQuery(query: Query): T.RawQuery { const filter = { assigned: query.assigned ? undefined : 'false', assignees: serializeStringArray(query.assignees), @@ -145,7 +144,7 @@ export function serializeQuery(query: Query): RawQuery { return cleanQuery(filter); } -export const areQueriesEqual = (a: RawQuery, b: RawQuery) => +export const areQueriesEqual = (a: T.RawQuery, b: T.RawQuery) => queriesEqual(parseQuery(a), parseQuery(b)); export interface RawFacet { diff --git a/server/sonar-web/src/main/js/apps/maintenance/components/App.tsx b/server/sonar-web/src/main/js/apps/maintenance/components/App.tsx index c1213f0f1d6..75a83ccc176 100644 --- a/server/sonar-web/src/main/js/apps/maintenance/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/maintenance/components/App.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as classNames from 'classnames'; import Helmet from 'react-helmet'; import { FormattedMessage } from 'react-intl'; -import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl, getReturnUrl } from 'sonar-ui-common/helpers/urls'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { getMigrationStatus, getSystemStatus, migrateDatabase } from '../../../api/system'; import DateFromNow from '../../../components/intl/DateFromNow'; import TimeFormatter from '../../../components/intl/TimeFormatter'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import InstanceMessage from '../../../components/common/InstanceMessage'; -import { getBaseUrl, getReturnUrl } from '../../../helpers/urls'; import { isSonarCloud } from '../../../helpers/system'; import '../styles.css'; diff --git a/server/sonar-web/src/main/js/apps/maintenance/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/maintenance/components/__tests__/App-test.tsx index 436f7aa41c6..2a6e2636c1c 100644 --- a/server/sonar-web/src/main/js/apps/maintenance/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/maintenance/components/__tests__/App-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import App from '../App'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/system', () => ({ getMigrationStatus: jest.fn(), diff --git a/server/sonar-web/src/main/js/apps/maintenance/routes.tsx b/server/sonar-web/src/main/js/apps/maintenance/routes.tsx index 21cb3eb7cb9..f68c170c1d4 100644 --- a/server/sonar-web/src/main/js/apps/maintenance/routes.tsx +++ b/server/sonar-web/src/main/js/apps/maintenance/routes.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { IndexRoute } from 'react-router'; -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; export const maintenanceRoutes = ( <IndexRoute component={lazyLoad(() => import('./components/MaintenanceAppContainer'))} /> diff --git a/server/sonar-web/src/main/js/apps/marketplace/App.tsx b/server/sonar-web/src/main/js/apps/marketplace/App.tsx index 074eaa247a9..78aea8ccad8 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/App.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/App.tsx @@ -20,6 +20,7 @@ import * as React from 'react'; import { sortBy, uniqBy } from 'lodash'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import EditionBoxes from './EditionBoxes'; import Footer from './Footer'; @@ -35,7 +36,6 @@ import { PluginPendingResult, getInstalledPlugins } from '../../api/plugins'; -import { translate } from '../../helpers/l10n'; import { withRouter, Location, Router } from '../../components/hoc/withRouter'; import './style.css'; diff --git a/server/sonar-web/src/main/js/apps/marketplace/AppContainer.tsx b/server/sonar-web/src/main/js/apps/marketplace/AppContainer.tsx index 6092a120d3f..df33131b6ae 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/AppContainer.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/AppContainer.tsx @@ -21,11 +21,10 @@ import * as React from 'react'; import { connect } from 'react-redux'; import App from './App'; import { getAppState, getGlobalSettingValue, Store } from '../../store/rootReducer'; -import { RawQuery } from '../../helpers/query'; import AdminContext from '../../app/components/AdminContext'; interface OwnProps { - location: { pathname: string; query: RawQuery }; + location: { pathname: string; query: T.RawQuery }; } interface StateToProps { diff --git a/server/sonar-web/src/main/js/apps/marketplace/Footer.tsx b/server/sonar-web/src/main/js/apps/marketplace/Footer.tsx index 81ae623a449..fa6d6fc1528 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/Footer.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/Footer.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translateWithParameters } from '../../helpers/l10n'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; interface Props { total: number; diff --git a/server/sonar-web/src/main/js/apps/marketplace/Header.tsx b/server/sonar-web/src/main/js/apps/marketplace/Header.tsx index acae838b2b3..5eb40c31d9d 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/Header.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/Header.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { currentEdition?: T.EditionKey; diff --git a/server/sonar-web/src/main/js/apps/marketplace/Search.tsx b/server/sonar-web/src/main/js/apps/marketplace/Search.tsx index 38bbc98b8f4..2d7a885cdfc 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/Search.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/Search.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; import { Query } from './utils'; -import RadioToggle from '../../components/controls/RadioToggle'; -import SearchBox from '../../components/controls/SearchBox'; -import { translate } from '../../helpers/l10n'; interface Props { query: Query; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/EditionBox.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/EditionBox.tsx index 89fd4d47cf9..bf90ce5a917 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/EditionBox.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/EditionBox.tsx @@ -21,9 +21,9 @@ import * as React from 'react'; import tooltipDCE from 'Docs/tooltips/editions/datacenter.md'; import tooltipDE from 'Docs/tooltips/editions/developer.md'; import tooltipEE from 'Docs/tooltips/editions/enterprise.md'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { Edition, getEditionUrl } from '../utils'; -import { translate } from '../../../helpers/l10n'; -import { lazyLoad } from '../../../components/lazyLoad'; const DocMarkdownBlock = lazyLoad(() => import('../../../components/docs/DocMarkdownBlock')); diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/LicensePromptModal.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/LicensePromptModal.tsx index 72a935bf5b1..d01fb6af074 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/LicensePromptModal.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/LicensePromptModal.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import Modal from '../../../components/controls/Modal'; -import { translate } from '../../../helpers/l10n'; -import { ResetButtonLink } from '../../../components/ui/buttons'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; interface Props { onClose: () => void; @@ -38,7 +38,7 @@ export default function LicensePromptModal({ onClose }: Props) { <div className="modal-body"> <FormattedMessage defaultMessage={translate('license.prompt.description')} - id={'license.prompt.description'} + id="license.prompt.description" values={{ url: ( <Link onClick={onClose} to="/admin/extension/license/app"> diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginActions.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginActions.tsx index 996d73d4931..5ed93ff0ac5 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginActions.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginActions.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import CheckIcon from 'sonar-ui-common/components/icons/CheckIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import PluginUpdateButton from './PluginUpdateButton'; import { isPluginAvailable, isPluginInstalled } from '../utils'; import { Plugin, installPlugin, updatePlugin, uninstallPlugin } from '../../../api/plugins'; -import Checkbox from '../../../components/controls/Checkbox'; -import CheckIcon from '../../../components/icons-components/CheckIcon'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { plugin: Plugin; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginAvailable.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginAvailable.tsx index e5fe1325d37..f14283e3ff0 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginAvailable.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginAvailable.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import PluginChangeLogButton from './PluginChangeLogButton'; import PluginDescription from './PluginDescription'; import PluginLicense from './PluginLicense'; @@ -25,7 +26,6 @@ import PluginOrganization from './PluginOrganization'; import PluginStatus from './PluginStatus'; import PluginUrls from './PluginUrls'; import { PluginAvailable as IPluginAvailable } from '../../../api/plugins'; -import { translateWithParameters } from '../../../helpers/l10n'; interface Props { plugin: IPluginAvailable; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLog.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLog.tsx index 827b17aad26..db5c5e47995 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLog.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLog.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PluginChangeLogItem from './PluginChangeLogItem'; import { Release, Update } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; export interface Props { release: Release; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogButton.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogButton.tsx index 30d184d481f..76149ba2f36 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogButton.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogButton.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import EllipsisIcon from 'sonar-ui-common/components/icons/EllipsisIcon'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import PluginChangeLog from './PluginChangeLog'; -import Dropdown from '../../../components/controls/Dropdown'; -import EllipsisIcon from '../../../components/icons-components/EllipsisIcon'; -import { ButtonLink } from '../../../components/ui/buttons'; import { Release, Update } from '../../../api/plugins'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogItem.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogItem.tsx index a848c47f2d2..63be648be04 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogItem.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogItem.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFormatter from '../../../components/intl/DateFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; import { Release, Update } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { release: Release; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginInstalled.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginInstalled.tsx index a04047ebf8b..a13b8c2d37e 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginInstalled.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginInstalled.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PluginDescription from './PluginDescription'; import PluginLicense from './PluginLicense'; import PluginOrganization from './PluginOrganization'; @@ -25,7 +26,6 @@ import PluginStatus from './PluginStatus'; import PluginUpdates from './PluginUpdates'; import PluginUrls from './PluginUrls'; import { PluginInstalled as IPluginInstalled } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { plugin: IPluginInstalled; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginLicense.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginLicense.tsx index c7b05313075..f2898f44d51 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginLicense.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginLicense.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { license?: string; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginOrganization.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginOrganization.tsx index 048047534b6..3bacb493075 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginOrganization.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginOrganization.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Plugin } from '../../../api/plugins'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginStatus.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginStatus.tsx index 23951456f14..5ea763109f8 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginStatus.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginStatus.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PluginActions from './PluginActions'; import { Plugin } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { plugin: Plugin; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateButton.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateButton.tsx index 564347c70e3..8be60fa6678 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateButton.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateButton.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { Update } from '../../../api/plugins'; -import { Button } from '../../../components/ui/buttons'; -import { translateWithParameters } from '../../../helpers/l10n'; interface Props { disabled: boolean; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateItem.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateItem.tsx index ac5fdc13461..c5e69f6b9c4 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateItem.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdateItem.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import PluginChangeLogButton from './PluginChangeLogButton'; -import Tooltip from '../../../components/controls/Tooltip'; import { Release, Update } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { update: Update; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdates.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdates.tsx index 2f7d243cdb7..8516ac00539 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdates.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUpdates.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PluginUpdateItem from './PluginUpdateItem'; import { Update } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { updates?: Update[]; diff --git a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUrls.tsx b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUrls.tsx index 0815d31c0cf..2769c1a5d03 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/components/PluginUrls.tsx +++ b/server/sonar-web/src/main/js/apps/marketplace/components/PluginUrls.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Plugin } from '../../../api/plugins'; -import { translate } from '../../../helpers/l10n'; interface Props { plugin: Plugin; diff --git a/server/sonar-web/src/main/js/apps/marketplace/routes.ts b/server/sonar-web/src/main/js/apps/marketplace/routes.ts index e8fbb4ccc8f..09ea09a60d9 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/routes.ts +++ b/server/sonar-web/src/main/js/apps/marketplace/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/marketplace/utils.ts b/server/sonar-web/src/main/js/apps/marketplace/utils.ts index 78dc937ec3e..d2e5cbc1f04 100644 --- a/server/sonar-web/src/main/js/apps/marketplace/utils.ts +++ b/server/sonar-web/src/main/js/apps/marketplace/utils.ts @@ -19,9 +19,9 @@ */ import { stringify } from 'querystring'; import { memoize } from 'lodash'; +import { cleanQuery, parseAsString, serializeString } from 'sonar-ui-common/helpers/query'; +import { omitNil } from 'sonar-ui-common/helpers/request'; import { Plugin, PluginAvailable, PluginInstalled, PluginPending } from '../../api/plugins'; -import { cleanQuery, parseAsString, RawQuery, serializeString } from '../../helpers/query'; -import { omitNil } from '../../helpers/request'; export enum EditionKey { community = 'community', @@ -114,14 +114,14 @@ export function isPluginPending(plugin: Plugin): plugin is PluginPending { export const DEFAULT_FILTER = 'all'; export const parseQuery = memoize( - (urlQuery: RawQuery): Query => ({ + (urlQuery: T.RawQuery): Query => ({ filter: parseAsString(urlQuery['filter']) || DEFAULT_FILTER, search: parseAsString(urlQuery['search']) }) ); export const serializeQuery = memoize( - (query: Query): RawQuery => + (query: Query): T.RawQuery => cleanQuery({ filter: query.filter === DEFAULT_FILTER ? undefined : serializeString(query.filter), search: query.search ? serializeString(query.search) : undefined diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/AddMemberForm.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/AddMemberForm.tsx index a60df045b64..e4161058978 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/AddMemberForm.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/AddMemberForm.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink, Button } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import UsersSelectSearch from '../users/components/UsersSelectSearch'; import { searchMembers } from '../../api/organizations'; -import Modal from '../../components/controls/Modal'; -import { translate } from '../../helpers/l10n'; -import { SubmitButton, ResetButtonLink, Button } from '../../components/ui/buttons'; interface Props { addMember: (member: T.OrganizationMember) => void; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/ManageMemberGroupsForm.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/ManageMemberGroupsForm.tsx index 4355c2ab882..3fa085f9562 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/ManageMemberGroupsForm.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/ManageMemberGroupsForm.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { keyBy, pickBy, some } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import OrganizationGroupCheckbox from '../organizations/components/OrganizationGroupCheckbox'; -import SimpleModal from '../../components/controls/SimpleModal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; import { getUserGroups, UserGroup } from '../../api/users'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import DeferredSpinner from '../../components/common/DeferredSpinner'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/MembersList.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/MembersList.tsx index 4cc845a58ce..d42ee011562 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/MembersList.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/MembersList.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MembersListItem from './MembersListItem'; -import { translate } from '../../helpers/l10n'; interface Props { currentUser: T.LoggedInUser; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/MembersListHeader.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/MembersListHeader.tsx index 275e1684dd3..03902e119e8 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/MembersListHeader.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/MembersListHeader.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from '../../components/controls/HelpTooltip'; -import SearchBox from '../../components/controls/SearchBox'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import { getAlmMembersUrl, sanitizeAlmId } from '../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; export interface Props { handleSearch: (query?: string) => void; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/MembersListItem.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/MembersListItem.tsx index 66bd49ce5cd..e5a148a2321 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/MembersListItem.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/MembersListItem.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import RemoveMemberForm from './RemoveMemberForm'; -import ManageMemberGroupsForm from './ManageMemberGroupsForm'; -import Avatar from '../../components/ui/Avatar'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import ActionsDropdown, { ActionsDropdownDivider, ActionsDropdownItem -} from '../../components/controls/ActionsDropdown'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import RemoveMemberForm from './RemoveMemberForm'; +import ManageMemberGroupsForm from './ManageMemberGroupsForm'; +import Avatar from '../../components/ui/Avatar'; interface Props { member: T.OrganizationMember; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/MembersPageHeader.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/MembersPageHeader.tsx index 0fbc42ebcf3..bedc92b8cbb 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/MembersPageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/MembersPageHeader.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import AddMemberForm from './AddMemberForm'; import SyncMemberForm from './SyncMemberForm'; -import DeferredSpinner from '../../components/common/DeferredSpinner'; import DocTooltip from '../../components/docs/DocTooltip'; import { sanitizeAlmId, isGithub } from '../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { Alert } from '../../components/ui/Alert'; export interface Props { handleAddMember: (member: T.OrganizationMember) => void; @@ -48,8 +48,11 @@ export default function MembersPageHeader(props: Props) { return ( <header className="page-header"> - <h1 className="page-title">{translate('organization.members.page')}</h1> - <DeferredSpinner loading={props.loading} /> + <h1 className="page-title"> + {translate('organization.members.page')} + <DeferredSpinner className="little-spacer-left" loading={props.loading} /> + </h1> + {isAdmin && ( <div className="page-actions text-right"> {isSyncEligible && !showSyncNotif && ( diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/OrganizationMembers.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/OrganizationMembers.tsx index c0ee1942a5e..95d53640e09 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/OrganizationMembers.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/OrganizationMembers.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import MembersPageHeader from './MembersPageHeader'; import MembersListHeader from './MembersListHeader'; import MembersList from './MembersList'; import A11ySkipTarget from '../../app/components/a11y/A11ySkipTarget'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; -import ListFooter from '../../components/controls/ListFooter'; -import { translate } from '../../helpers/l10n'; import { searchMembers, addMember, removeMember } from '../../api/organizations'; import { searchUsersGroups, addUserToGroup, removeUserFromGroup } from '../../api/user_groups'; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/RemoveMemberForm.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/RemoveMemberForm.tsx index b349cd85d7c..905f5056bd5 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/RemoveMemberForm.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/RemoveMemberForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Modal from '../../components/controls/Modal'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/SyncMemberForm.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/SyncMemberForm.tsx index c191b573b52..bcde5a4acb8 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/SyncMemberForm.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/SyncMemberForm.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Link } from 'react-router'; -import ConfirmButton from '../../components/controls/ConfirmButton'; -import RadioCard from '../../components/controls/RadioCard'; -import { Alert } from '../../components/ui/Alert'; -import { Button } from '../../components/ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import RadioCard from 'sonar-ui-common/components/controls/RadioCard'; import { setOrganizationMemberSync, syncMembers } from '../../api/organizations'; import { sanitizeAlmId } from '../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../helpers/l10n'; import { fetchOrganization } from '../../store/rootActions'; interface Props { @@ -164,7 +164,7 @@ export class SyncMemberForm extends React.PureComponent<Props, State> { modalHeader={translate('organization.members.management.title')} modalHeaderDescription={this.renderModalDescription()} onConfirm={this.handleConfirm} - size={'medium'}> + size="medium"> {({ onClick }) => <Button onClick={onClick}>{this.props.buttonText}</Button>} </ConfirmButton> ); diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/AddMemberForm-test.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/AddMemberForm-test.tsx index ce643f74760..08a930d9aee 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/AddMemberForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/AddMemberForm-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click, submit } from '../../../helpers/testUtils'; +import { click, submit } from 'sonar-ui-common/helpers/testUtils'; import AddMemberForm from '../AddMemberForm'; import { searchMembers } from '../../../api/organizations'; diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersListItem-test.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersListItem-test.tsx index 58d4daaf89c..88d8c7e2d9f 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersListItem-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersListItem-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import MembersListItem from '../MembersListItem'; -import { click } from '../../../helpers/testUtils'; import { mockOrganizationWithAdminActions, mockOrganization } from '../../../helpers/testMocks'; it('should not render actions and groups for non admin', () => { diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/OrganizationMembers-test.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/OrganizationMembers-test.tsx index 10c05d502af..0eeb0e9ba9d 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/OrganizationMembers-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/OrganizationMembers-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import OrganizationMembers from '../OrganizationMembers'; import { searchMembers, addMember, removeMember } from '../../../api/organizations'; import { searchUsersGroups, addUserToGroup, removeUserFromGroup } from '../../../api/user_groups'; @@ -28,7 +29,6 @@ import { mockOrganizationWithAdminActions, mockOrganizationWithAlm } from '../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../helpers/testUtils'; jest.mock('../../../api/organizations', () => ({ addMember: jest.fn().mockResolvedValue({ login: 'bar', name: 'Bar', groupCount: 1 }), diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/SyncMemberForm-test.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/SyncMemberForm-test.tsx index 8d9d9b55d25..e56a96348eb 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/SyncMemberForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/SyncMemberForm-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { SyncMemberForm } from '../SyncMemberForm'; import { setOrganizationMemberSync, syncMembers } from '../../../api/organizations'; import { mockOrganizationWithAlm } from '../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../helpers/testUtils'; jest.mock('../../../api/organizations', () => ({ setOrganizationMemberSync: jest.fn().mockResolvedValue(undefined), diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/__snapshots__/MembersPageHeader-test.tsx.snap b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/__snapshots__/MembersPageHeader-test.tsx.snap index fe3b38ed772..251baf48b8c 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/__snapshots__/MembersPageHeader-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/__snapshots__/MembersPageHeader-test.tsx.snap @@ -8,11 +8,12 @@ exports[`should render correctly 1`] = ` className="page-title" > organization.members.page + <DeferredSpinner + className="little-spacer-left" + loading={true} + timeout={100} + /> </h1> - <DeferredSpinner - loading={true} - timeout={100} - /> <div className="page-description" > @@ -44,11 +45,12 @@ exports[`should render for Bitbucket bound organization 1`] = ` className="page-title" > organization.members.page + <DeferredSpinner + className="little-spacer-left" + loading={false} + timeout={100} + /> </h1> - <DeferredSpinner - loading={false} - timeout={100} - /> <div className="page-actions text-right" > @@ -111,11 +113,12 @@ exports[`should render for GitHub bound organization without sync 1`] = ` className="page-title" > organization.members.page + <DeferredSpinner + className="little-spacer-left" + loading={false} + timeout={100} + /> </h1> - <DeferredSpinner - loading={false} - timeout={100} - /> <div className="page-actions text-right" > @@ -209,11 +212,12 @@ exports[`should render for admin 1`] = ` className="page-title" > organization.members.page + <DeferredSpinner + className="little-spacer-left" + loading={false} + timeout={100} + /> </h1> - <DeferredSpinner - loading={false} - timeout={100} - /> <div className="page-actions text-right" > @@ -270,11 +274,12 @@ exports[`should render for personal GitHub bound organization without sync 1`] = className="page-title" > organization.members.page + <DeferredSpinner + className="little-spacer-left" + loading={false} + timeout={100} + /> </h1> - <DeferredSpinner - loading={false} - timeout={100} - /> <div className="page-actions text-right" > diff --git a/server/sonar-web/src/main/js/apps/organizations/actions.ts b/server/sonar-web/src/main/js/apps/organizations/actions.ts index 701b632f4cd..0bc1166bfaf 100644 --- a/server/sonar-web/src/main/js/apps/organizations/actions.ts +++ b/server/sonar-web/src/main/js/apps/organizations/actions.ts @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { Dispatch } from 'redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import * as api from '../../api/organizations'; import * as actions from '../../store/organizations'; import { addGlobalSuccessMessage } from '../../store/globalMessages'; -import { translate } from '../../helpers/l10n'; export function updateOrganization(key: string, changes: T.OrganizationBase) { return (dispatch: Dispatch<any>) => { diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationBind.tsx b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationBind.tsx index a46360015c6..b7748f2011c 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationBind.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationBind.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import IdentityProviderLink from 'sonar-ui-common/components/controls/IdentityProviderLink'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { BIND_ORGANIZATION_REDIRECT_TO_ORG_TIMESTAMP, BIND_ORGANIZATION_KEY } from '../../create/organization/utils'; -import IdentityProviderLink from '../../../components/ui/IdentityProviderLink'; import { getAlmAppInfo } from '../../../api/alm-integration'; import { sanitizeAlmId } from '../../../helpers/almIntegrations'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; -import { save } from '../../../helpers/storage'; -import { getBaseUrl } from '../../../helpers/urls'; interface Props { currentUser: T.LoggedInUser; @@ -107,8 +107,10 @@ export default class OrganizationBind extends React.PureComponent<Props, State> </p> {almApplication && ( <IdentityProviderLink + backgroundColor={almApplication.backgroundColor} className="display-inline-block" - identityProvider={almApplication} + iconPath={almApplication.iconPath} + name={almApplication.name} onClick={this.handleInstallAppClick} small={true} url={almApplication.installationUrl}> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.tsx b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.tsx index ab685c20442..24545ac7249 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import InstanceMessage from '../../../components/common/InstanceMessage'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { deleteOrganization } from '../actions'; -import { Button } from '../../../components/ui/buttons'; import { getOrganizationBilling } from '../../../api/organizations'; import { isSonarCloud } from '../../../helpers/system'; -import { Alert } from '../../../components/ui/Alert'; import { withRouter, Router } from '../../../components/hoc/withRouter'; import addGlobalSuccessMessage from '../../../app/utils/addGlobalSuccessMessage'; diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.tsx b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.tsx index 77942da7b55..8c8d98d9c67 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.tsx @@ -21,14 +21,14 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; import { debounce } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; import OrganizationBind from './OrganizationBind'; import OrganizationDelete from './OrganizationDelete'; import { updateOrganization } from '../actions'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; -import { SubmitButton } from '../../../components/ui/buttons'; import { hasAdvancedALMIntegration } from '../../../helpers/almIntegrations'; -import { translate } from '../../../helpers/l10n'; interface DispatchProps { updateOrganization: (organization: string, changes: T.OrganizationBase) => Promise<any>; diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEmpty.tsx b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEmpty.tsx index 078ba67c231..43c0a6a434e 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEmpty.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEmpty.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../../../components/ui/buttons'; -import OnboardingProjectIcon from '../../../components/icons-components/OnboardingProjectIcon'; -import OnboardingAddMembersIcon from '../../../components/icons-components/OnboardingAddMembersIcon'; -import { translate } from '../../../helpers/l10n'; +import OnboardingAddMembersIcon from 'sonar-ui-common/components/icons/OnboardingAddMembersIcon'; +import OnboardingProjectIcon from 'sonar-ui-common/components/icons/OnboardingProjectIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { OnboardingContextShape } from '../../../app/components/OnboardingContext'; import { withRouter, Router } from '../../../components/hoc/withRouter'; import '../../tutorials/styles.css'; diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.tsx b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.tsx index 6056d293ef8..07e4450e8aa 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Checkbox from '../../../components/controls/Checkbox'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; interface Props { group: T.Group; diff --git a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx index 286f9a241b4..c42dea7a07a 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { save } from 'sonar-ui-common/helpers/storage'; import OrganizationBind from '../OrganizationBind'; import { BIND_ORGANIZATION_REDIRECT_TO_ORG_TIMESTAMP, BIND_ORGANIZATION_KEY } from '../../../create/organization/utils'; import { getAlmAppInfo } from '../../../../api/alm-integration'; -import { save } from '../../../../helpers/storage'; import { mockAlmApplication, mockLoggedInUser, @@ -35,7 +35,8 @@ import { jest.mock('../../../../api/alm-integration', () => ({ getAlmAppInfo: jest.fn(() => Promise.resolve({ application: mockAlmApplication() })) })); -jest.mock('../../../../helpers/storage', () => ({ + +jest.mock('sonar-ui-common/helpers/storage', () => ({ save: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationDelete-test.tsx b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationDelete-test.tsx index 0ebb7d63346..29d1d6f8bba 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationDelete-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationDelete-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { OrganizationDelete } from '../OrganizationDelete'; import { getOrganizationBilling } from '../../../../api/organizations'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { isSonarCloud } from '../../../../helpers/system'; jest.mock('../../../../api/organizations', () => ({ diff --git a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEmpty-test.tsx b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEmpty-test.tsx index 43a8c00e93f..b40a3cb4842 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEmpty-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEmpty-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { OrganizationEmpty } from '../OrganizationEmpty'; -import { click } from '../../../../helpers/testUtils'; import { mockRouter, mockOrganization, diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.tsx index e9219a6bffd..a2f791bdc0f 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ContextNavBar from 'sonar-ui-common/components/ui/ContextNavBar'; import OrganizationNavigationHeader from './OrganizationNavigationHeader'; import OrganizationNavigationMeta from './OrganizationNavigationMeta'; import OrganizationNavigationMenuContainer from './OrganizationNavigationMenuContainer'; -import * as theme from '../../../app/theme'; -import ContextNavBar from '../../../components/nav/ContextNavBar'; +import { rawSizes } from '../../../app/theme'; interface Props { currentUser: T.CurrentUser; @@ -38,7 +38,7 @@ export default function OrganizationNavigation({ userOrganizations }: Props) { return ( - <ContextNavBar height={theme.contextNavHeightRaw} id="context-navigation"> + <ContextNavBar height={rawSizes.contextNavHeightRaw} id="context-navigation"> <div className="navbar-context-justified"> <OrganizationNavigationHeader currentUser={currentUser} diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationAdministration.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationAdministration.tsx index f1eb48f7807..9f585ca8bee 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationAdministration.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationAdministration.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import { translate } from '../../../helpers/l10n'; -import Dropdown from '../../../components/controls/Dropdown'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; interface Props { location: { pathname: string }; diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationExtensions.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationExtensions.tsx index 6081ac489d8..25f11add266 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationExtensions.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationExtensions.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import { translate } from '../../../helpers/l10n'; -import Dropdown from '../../../components/controls/Dropdown'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; interface Props { location: { pathname: string }; diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx index 9de2144b635..9c5ecf259c5 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx @@ -18,20 +18,20 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; import { Link } from 'react-router'; import { sortBy } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; -import Dropdown from '../../../components/controls/Dropdown'; -import Tooltip from '../../../components/controls/Tooltip'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; import OrganizationListItem from '../../../components/ui/OrganizationListItem'; import { sanitizeAlmId, hasAdvancedALMIntegration, getUserAlmKey } from '../../../helpers/almIntegrations'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; export interface Props { currentUser: T.CurrentUser; diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMenuContainer.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMenuContainer.tsx index 8c174e0b852..4c8e786326a 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMenuContainer.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMenuContainer.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Link } from 'react-router'; +import NavBarTabs from 'sonar-ui-common/components/ui/NavBarTabs'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationNavigationExtensions from './OrganizationNavigationExtensions'; import OrganizationNavigationAdministration from './OrganizationNavigationAdministration'; -import NavBarTabs from '../../../components/nav/NavBarTabs'; -import { translate } from '../../../helpers/l10n'; import { getQualityGatesUrl } from '../../../helpers/urls'; import { hasPrivateAccess, isCurrentUserMemberOf } from '../../../helpers/organizations'; import { getCurrentUser, getMyOrganizations, Store } from '../../../store/rootReducer'; diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMeta.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMeta.tsx index 0aab2cb9730..e1528c451ad 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMeta.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationMeta.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import HomePageSelect from '../../../components/controls/HomePageSelect'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; import { hasPrivateAccess, isPaidOrganization } from '../../../helpers/organizations'; diff --git a/server/sonar-web/src/main/js/apps/organizations/routes.ts b/server/sonar-web/src/main/js/apps/organizations/routes.ts index 6a5e4df50a0..e25b348a2e8 100644 --- a/server/sonar-web/src/main/js/apps/organizations/routes.ts +++ b/server/sonar-web/src/main/js/apps/organizations/routes.ts @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { RouterState, RedirectFunction } from 'react-router'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import codingRulesRoutes from '../coding-rules/routes'; import qualityGatesRoutes from '../quality-gates/routes'; import qualityProfilesRoutes from '../quality-profiles/routes'; import webhooksRoutes from '../webhooks/routes'; -import { lazyLoad } from '../../components/lazyLoad'; const OrganizationContainer = lazyLoad(() => import('./components/OrganizationContainer')); diff --git a/server/sonar-web/src/main/js/apps/overview/badges/BadgeButton.tsx b/server/sonar-web/src/main/js/apps/overview/badges/BadgeButton.tsx index 59fbc4a8418..ba58b1dbc00 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/BadgeButton.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/BadgeButton.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { BadgeType } from './utils'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onClick: (type: BadgeType) => void; diff --git a/server/sonar-web/src/main/js/apps/overview/badges/BadgeParams.tsx b/server/sonar-web/src/main/js/apps/overview/badges/BadgeParams.tsx index d0b351ff799..6bc63b9205c 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/BadgeParams.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/BadgeParams.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; import { BadgeColors, BadgeType, BadgeOptions, BadgeFormats } from './utils'; import Select from '../../../components/controls/Select'; import { fetchWebApi } from '../../../api/web-api'; -import { getLocalizedMetricName, translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx b/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx index 3f4bf8d33ce..64b5fe1f860 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import BadgeButton from './BadgeButton'; import BadgeParams from './BadgeParams'; import { BadgeType, BadgeOptions, getBadgeUrl, getBadgeSnippet } from './utils'; import CodeSnippet from '../../../components/common/CodeSnippet'; -import Modal from '../../../components/controls/Modal'; import { getBranchLikeQuery } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; -import { Button, ResetButtonLink } from '../../../components/ui/buttons'; import { isSonarCloud } from '../../../helpers/system'; import './styles.css'; diff --git a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgeButton-test.tsx b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgeButton-test.tsx index 69e888a789b..ca5d25df76d 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgeButton-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgeButton-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import BadgeButton from '../BadgeButton'; import { BadgeType } from '../utils'; -import { click } from '../../../../helpers/testUtils'; it('should display correctly', () => { expect(getWrapper()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgesModal-test.tsx b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgesModal-test.tsx index 9657cb46089..2ed4edc72e3 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgesModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/BadgesModal-test.tsx @@ -19,16 +19,20 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { Location } from 'sonar-ui-common/helpers/urls'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import BadgesModal from '../BadgesModal'; -import { click } from '../../../../helpers/testUtils'; import { isSonarCloud } from '../../../../helpers/system'; -import { Location } from '../../../../helpers/urls'; -jest.mock('../../../../helpers/urls', () => ({ +jest.mock('sonar-ui-common/helpers/urls', () => ({ getHostUrl: () => 'host', - getProjectUrl: () => ({ pathname: '/dashboard' } as Location), getPathUrlAsString: (l: Location) => l.pathname })); + +jest.mock('../../../../helpers/urls', () => ({ + getProjectUrl: () => ({ pathname: '/dashboard' } as Location) +})); + jest.mock('../../../../helpers/system', () => ({ isSonarCloud: jest.fn() })); const shortBranch: T.ShortLivingBranch = { diff --git a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/utils-test.ts b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/utils-test.ts index b032bc3688b..ee6fe616726 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/utils-test.ts +++ b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/utils-test.ts @@ -17,11 +17,11 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { Location } from 'sonar-ui-common/helpers/urls'; import { getBadgeUrl, BadgeOptions, BadgeType, getBadgeSnippet } from '../utils'; -import { Location } from '../../../../helpers/urls'; -jest.mock('../../../../helpers/urls', () => ({ - ...require.requireActual('../../../../helpers/urls'), +jest.mock('sonar-ui-common/helpers/urls', () => ({ + ...require.requireActual('sonar-ui-common/helpers/urls'), getHostUrl: () => 'host', getPathUrlAsString: (o: Location) => `host${o.pathname}?id=${o.query ? o.query.id : ''}&branch=${o.query ? o.query.branch : ''}` diff --git a/server/sonar-web/src/main/js/apps/overview/badges/utils.ts b/server/sonar-web/src/main/js/apps/overview/badges/utils.ts index 01fb58a9e0a..86c16974c92 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/utils.ts +++ b/server/sonar-web/src/main/js/apps/overview/badges/utils.ts @@ -18,9 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { stringify } from 'querystring'; -import { omitNil } from '../../../helpers/request'; -import { getHostUrl, getProjectUrl, getPathUrlAsString } from '../../../helpers/urls'; -import { getLocalizedMetricName } from '../../../helpers/l10n'; +import { getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; +import { omitNil } from 'sonar-ui-common/helpers/request'; +import { getHostUrl, getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; +import { getProjectUrl } from '../../../helpers/urls'; export type BadgeColors = 'white' | 'black' | 'orange'; export type BadgeFormats = 'md' | 'url'; diff --git a/server/sonar-web/src/main/js/apps/overview/components/App.tsx b/server/sonar-web/src/main/js/apps/overview/components/App.tsx index 3758f173526..99869f3ffb7 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/App.tsx @@ -19,14 +19,15 @@ */ import * as React from 'react'; import { Helmet } from 'react-helmet'; +import { getBaseUrl, getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import OverviewApp from './OverviewApp'; import ReviewApp from '../pullRequests/ReviewApp'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { withRouter, Router } from '../../../components/hoc/withRouter'; -import { getProjectUrl, getBaseUrl, getPathUrlAsString } from '../../../helpers/urls'; +import { getProjectUrl } from '../../../helpers/urls'; import { isSonarCloud } from '../../../helpers/system'; import { isShortLivingBranch, isPullRequest } from '../../../helpers/branches'; -import { lazyLoad } from '../../../components/lazyLoad'; const EmptyOverview = lazyLoad(() => import('./EmptyOverview')); diff --git a/server/sonar-web/src/main/js/apps/overview/components/ApplicationLeakPeriodLegend.tsx b/server/sonar-web/src/main/js/apps/overview/components/ApplicationLeakPeriodLegend.tsx index 3c4ce5053e9..62d696e2a31 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/ApplicationLeakPeriodLegend.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/ApplicationLeakPeriodLegend.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { sortBy } from 'lodash'; -import Tooltip from '../../../components/controls/Tooltip'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateTooltipFormatter from '../../../components/intl/DateTooltipFormatter'; import { getApplicationLeak } from '../../../api/application'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import DateFromNow from '../../../components/intl/DateFromNow'; interface Props { @@ -88,7 +88,7 @@ export default class ApplicationLeakPeriodLegend extends React.Component<Props, ))} </ul> ) : ( - <i className="spinner spinner-margin" /> + <i className="spinner spacer" /> ); render() { diff --git a/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.tsx b/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.tsx index c31504cb059..85deb63e719 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.tsx @@ -20,14 +20,14 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import AnalyzeTutorial from '../../tutorials/analyzeProject/AnalyzeTutorial'; import AnalyzeTutorialSonarCloud from '../../tutorials/analyzeProject/AnalyzeTutorialSonarCloud'; import MetaContainer from '../meta/MetaContainer'; import { isLongLivingBranch, isBranch, isMainBranch } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; import { isLoggedIn } from '../../../helpers/users'; import { getCurrentUser, Store } from '../../../store/rootReducer'; -import { Alert } from '../../../components/ui/Alert'; import { isSonarCloud } from '../../../helpers/system'; interface OwnProps { diff --git a/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.tsx b/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.tsx index 1e4d18bd19d..49963fa193d 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { injectIntl, InjectedIntlProps } from 'react-intl'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFromNow from '../../../components/intl/DateFromNow'; import DateFormatter, { longFormatterOption } from '../../../components/intl/DateFormatter'; import DateTimeFormatter, { formatterOption } from '../../../components/intl/DateTimeFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; import { getPeriodDate, getPeriodLabel } from '../../../helpers/periods'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { differenceInDays } from '../../../helpers/dates'; interface Props { period: T.Period; diff --git a/server/sonar-web/src/main/js/apps/overview/components/OverviewApp.tsx b/server/sonar-web/src/main/js/apps/overview/components/OverviewApp.tsx index b5bc358dbdf..9c91fb05acd 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/OverviewApp.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/OverviewApp.tsx @@ -20,6 +20,8 @@ import * as React from 'react'; import { uniq } from 'lodash'; import { connect } from 'react-redux'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import ApplicationQualityGate from '../qualityGate/ApplicationQualityGate'; import Bugs from '../main/Bugs'; import CodeSmells from '../main/CodeSmells'; @@ -31,7 +33,6 @@ import QualityGate from '../qualityGate/QualityGate'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import { getMeasuresAndMeta } from '../../../api/measures'; import { getAllTimeMachineData } from '../../../api/time-machine'; -import { parseDate } from '../../../helpers/dates'; import { enhanceMeasuresWithMetrics } from '../../../helpers/measures'; import { getLeakPeriod } from '../../../helpers/periods'; import { METRICS, HISTORY_METRICS_LIST } from '../utils'; @@ -49,7 +50,6 @@ import { } from '../../../helpers/branches'; import { fetchMetrics } from '../../../store/rootActions'; import { getMetrics, Store } from '../../../store/rootReducer'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import '../styles.css'; interface Props { @@ -224,7 +224,7 @@ export class OverviewApp extends React.PureComponent<Props, State> { renderLoading = () => { return ( <div className="text-center"> - <i className="spinner spinner-margin" /> + <i className="spinner spacer" /> </div> ); }; diff --git a/server/sonar-web/src/main/js/apps/overview/components/Timeline.tsx b/server/sonar-web/src/main/js/apps/overview/components/Timeline.tsx index a4b30ea2f71..681cd04a55b 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/Timeline.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/Timeline.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { max } from 'd3-array'; -import LineChart from '../../../components/charts/LineChart'; +import LineChart from 'sonar-ui-common/components/charts/LineChart'; const HEIGHT = 80; diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/ApplicationLeakPeriodLegend-test.tsx b/server/sonar-web/src/main/js/apps/overview/components/__tests__/ApplicationLeakPeriodLegend-test.tsx index 739bb8e679c..d669efcec36 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/ApplicationLeakPeriodLegend-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/ApplicationLeakPeriodLegend-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ApplicationLeakPeriodLegend from '../ApplicationLeakPeriodLegend'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/application', () => ({ getApplicationLeak: jest.fn(() => diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/LeakPeriodLegend-test.tsx b/server/sonar-web/src/main/js/apps/overview/components/__tests__/LeakPeriodLegend-test.tsx index 4d0d60424db..14cf3822ed7 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/LeakPeriodLegend-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/LeakPeriodLegend-test.tsx @@ -18,91 +18,42 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInDays from 'date-fns/difference_in_days'; import { InjectedIntlProps } from 'react-intl'; import { shallow } from 'enzyme'; import { LeakPeriodLegend } from '../LeakPeriodLegend'; -import { differenceInDays } from '../../../../helpers/dates'; -jest.mock('../../../../helpers/dates', () => { - const dates = require.requireActual('../../../../helpers/dates'); - dates.differenceInDays = jest.fn().mockReturnValue(10); - return dates; -}); +jest.mock('date-fns/difference_in_days', () => jest.fn().mockReturnValue(10)); it('10 days', () => { - expect( - getWrapper({ - mode: 'days', - parameter: '10' - }) - ).toMatchSnapshot(); + expect(getWrapper({ mode: 'days', parameter: '10' })).toMatchSnapshot(); }); it('date', () => { - expect( - getWrapper({ - mode: 'date', - parameter: '2013-01-01' - }) - ).toMatchSnapshot(); + expect(getWrapper({ mode: 'date', parameter: '2013-01-01' })).toMatchSnapshot(); }); it('version', () => { - expect( - findLegend( - getWrapper({ - mode: 'version', - parameter: '0.1' - }) - ) - ).toMatchSnapshot(); + expect(findLegend(getWrapper({ mode: 'version', parameter: '0.1' }))).toMatchSnapshot(); }); it('previous_version', () => { - expect( - findLegend( - getWrapper({ - mode: 'previous_version' - }) - ) - ).toMatchSnapshot(); + expect(findLegend(getWrapper({ mode: 'previous_version' }))).toMatchSnapshot(); }); it('previous_analysis', () => { - expect( - findLegend( - getWrapper({ - mode: 'previous_analysis' - }) - ) - ).toMatchSnapshot(); + expect(findLegend(getWrapper({ mode: 'previous_analysis' }))).toMatchSnapshot(); }); it('manual_baseline', () => { - expect( - findLegend( - getWrapper({ - mode: 'manual_baseline' - }) - ) - ).toMatchSnapshot(); - expect( - findLegend( - getWrapper({ - mode: 'manual_baseline', - parameter: '1.1.2' - }) - ) - ).toMatchSnapshot(); + expect(findLegend(getWrapper({ mode: 'manual_baseline' }))).toMatchSnapshot(); + expect(findLegend(getWrapper({ mode: 'manual_baseline', parameter: '1.1.2' }))).toMatchSnapshot(); }); it('should render a more precise date', () => { (differenceInDays as jest.Mock<any>).mockReturnValueOnce(0); expect( - getWrapper({ - date: '2018-08-17T00:00:00+0200', - mode: 'previous_version' - }) + getWrapper({ date: '2018-08-17T00:00:00+0200', mode: 'previous_version' }) ).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/OverviewApp-test.tsx b/server/sonar-web/src/main/js/apps/overview/components/__tests__/OverviewApp-test.tsx index 796edf8c9ce..103fa901c06 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/OverviewApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/OverviewApp-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { OverviewApp } from '../OverviewApp'; import { getMeasuresAndMeta } from '../../../../api/measures'; import { getAllTimeMachineData } from '../../../../api/time-machine'; @@ -29,7 +30,6 @@ import { mockMeasure, mockLongLivingBranch } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/measures', () => { const { mockMeasure, mockMetric } = getMockHelpers(); @@ -44,7 +44,7 @@ jest.mock('../../../../api/measures', () => { }; }); -jest.mock('../../../../helpers/dates', () => ({ +jest.mock('sonar-ui-common/helpers/dates', () => ({ parseDate: jest.fn(date => date) })); diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/Timeline-test.tsx b/server/sonar-web/src/main/js/apps/overview/components/__tests__/Timeline-test.tsx index 84790ff792f..4bbc806e7f2 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/Timeline-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/Timeline-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import Timeline from '../Timeline'; -import { parseDate } from '../../../../helpers/dates'; const range = parseDate('2017-05-01T00:00:00.000Z'); const history = [ diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/ApplicationLeakPeriodLegend-test.tsx.snap b/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/ApplicationLeakPeriodLegend-test.tsx.snap index 089530c0446..c01087c5fcf 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/ApplicationLeakPeriodLegend-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/ApplicationLeakPeriodLegend-test.tsx.snap @@ -4,7 +4,7 @@ exports[`renders 1`] = ` <Tooltip overlay={ <i - className="spinner spinner-margin" + className="spinner spacer" /> } > diff --git a/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/OverviewApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/OverviewApp-test.tsx.snap index 2ca949f0f7f..9ae1295b871 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/OverviewApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/overview/components/__tests__/__snapshots__/OverviewApp-test.tsx.snap @@ -5,7 +5,7 @@ exports[`should render correctly 1`] = ` className="text-center" > <i - className="spinner spinner-margin" + className="spinner spacer" /> </div> `; diff --git a/server/sonar-web/src/main/js/apps/overview/events/AnalysesList.tsx b/server/sonar-web/src/main/js/apps/overview/events/AnalysesList.tsx index c21b0dc01b8..baf3ce3d63c 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/AnalysesList.tsx +++ b/server/sonar-web/src/main/js/apps/overview/events/AnalysesList.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Analysis from './Analysis'; import { getProjectActivity } from '../../../api/projectActivity'; import PreviewGraph from '../../../components/preview-graph/PreviewGraph'; -import { translate } from '../../../helpers/l10n'; import { getBranchLikeQuery, isSameBranchLike } from '../../../helpers/branches'; import { getActivityUrl } from '../../../helpers/urls'; diff --git a/server/sonar-web/src/main/js/apps/overview/events/Analysis.tsx b/server/sonar-web/src/main/js/apps/overview/events/Analysis.tsx index 96da645bdea..b363955c87a 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/Analysis.tsx +++ b/server/sonar-web/src/main/js/apps/overview/events/Analysis.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Event from './Event'; import DateTooltipFormatter from '../../../components/intl/DateTooltipFormatter'; -import { translate } from '../../../helpers/l10n'; interface Props { analysis: T.Analysis; diff --git a/server/sonar-web/src/main/js/apps/overview/events/Event.tsx b/server/sonar-web/src/main/js/apps/overview/events/Event.tsx index d37ad19ff61..3e1c5ff9715 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/Event.tsx +++ b/server/sonar-web/src/main/js/apps/overview/events/Event.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Level from 'sonar-ui-common/components/ui/Level'; import { isRichQualityGateEvent } from '../../projectActivity/components/RichQualityGateEventInner'; -import Level from '../../../components/ui/Level'; -import { translate } from '../../../helpers/l10n'; import { isDefinitionChangeEvent } from '../../projectActivity/components/DefinitionChangeEventInner'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/overview/main/Bugs.tsx b/server/sonar-web/src/main/js/apps/overview/main/Bugs.tsx index e370f3ae8c1..7b3bf1ea23e 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/Bugs.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/Bugs.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import enhance, { ComposedProps } from './enhance'; import ApplicationLeakPeriodLegend from '../components/ApplicationLeakPeriodLegend'; -import BugIcon from '../../../components/icons-components/BugIcon'; import DocTooltip from '../../../components/docs/DocTooltip'; import DateFromNow from '../../../components/intl/DateFromNow'; import LeakPeriodLegend from '../components/LeakPeriodLegend'; import { getMetricName } from '../utils'; import { isLongLivingBranch } from '../../../helpers/branches'; -import { translateWithParameters } from '../../../helpers/l10n'; export class Bugs extends React.PureComponent<ComposedProps> { renderHeader() { diff --git a/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.tsx b/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.tsx index fcf6d78cc6d..75387ffd28b 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import enhance, { ComposedProps } from './enhance'; import DocTooltip from '../../../components/docs/DocTooltip'; import { getMetricName } from '../utils'; -import { formatMeasure } from '../../../helpers/measures'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; import DrilldownLink from '../../../components/shared/DrilldownLink'; export class CodeSmells extends React.PureComponent<ComposedProps> { diff --git a/server/sonar-web/src/main/js/apps/overview/main/Coverage.tsx b/server/sonar-web/src/main/js/apps/overview/main/Coverage.tsx index 6c7990e42c7..d9745621a74 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/Coverage.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/Coverage.tsx @@ -18,12 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import enhance, { ComposedProps } from './enhance'; import DocTooltip from '../../../components/docs/DocTooltip'; import DrilldownLink from '../../../components/shared/DrilldownLink'; import { getMetricName } from '../utils'; -import { formatMeasure, getPeriodValue } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { getPeriodValue } from '../../../helpers/measures'; import CoverageRating from '../../../components/ui/CoverageRating'; export class Coverage extends React.PureComponent<ComposedProps> { diff --git a/server/sonar-web/src/main/js/apps/overview/main/Duplications.tsx b/server/sonar-web/src/main/js/apps/overview/main/Duplications.tsx index edc8c195328..873dc05dd30 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/Duplications.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/Duplications.tsx @@ -18,13 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import enhance, { ComposedProps } from './enhance'; import DocTooltip from '../../../components/docs/DocTooltip'; import DrilldownLink from '../../../components/shared/DrilldownLink'; import { getMetricName } from '../utils'; -import { formatMeasure, getPeriodValue } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; -import DuplicationsRating from '../../../components/ui/DuplicationsRating'; +import { getPeriodValue } from '../../../helpers/measures'; export class Duplications extends React.PureComponent<ComposedProps> { renderHeader() { diff --git a/server/sonar-web/src/main/js/apps/overview/main/VulnerabilitiesAndHotspots.tsx b/server/sonar-web/src/main/js/apps/overview/main/VulnerabilitiesAndHotspots.tsx index 4e021d1bf67..733c527ac33 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/VulnerabilitiesAndHotspots.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/VulnerabilitiesAndHotspots.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; import enhance, { ComposedProps } from './enhance'; import DocTooltip from '../../../components/docs/DocTooltip'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; import { getMetricName } from '../utils'; -import SecurityHotspotIcon from '../../../components/icons-components/SecurityHotspotIcon'; export class VulnerabiltiesAndHotspots extends React.PureComponent<ComposedProps> { renderHeader() { diff --git a/server/sonar-web/src/main/js/apps/overview/main/enhance.tsx b/server/sonar-web/src/main/js/apps/overview/main/enhance.tsx index e4af5bce6b3..7fe6dab4c3d 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/enhance.tsx +++ b/server/sonar-web/src/main/js/apps/overview/main/enhance.tsx @@ -18,21 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import HistoryIcon from 'sonar-ui-common/components/icons/HistoryIcon'; import { Link } from 'react-router'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import DrilldownLink from '../../../components/shared/DrilldownLink'; -import HistoryIcon from '../../../components/icons-components/HistoryIcon'; -import Rating from '../../../components/ui/Rating'; import Timeline from '../components/Timeline'; -import Tooltip from '../../../components/controls/Tooltip'; import { getWrappedDisplayName } from '../../../components/hoc/utils'; import { - formatMeasure, isDiffMetric, getPeriodValue, getShortType, getRatingTooltip } from '../../../helpers/measures'; -import { getLocalizedMetricName, translate } from '../../../helpers/l10n'; import { getPeriodDate } from '../../../helpers/periods'; import { getComponentDrilldownUrl, diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaContainer.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaContainer.tsx index 1a1117177a8..29aa6841570 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaContainer.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaContainer.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MetaKey from './MetaKey'; import MetaOrganizationKey from './MetaOrganizationKey'; import MetaLinks from './MetaLinks'; @@ -28,7 +29,6 @@ import MetaSize from './MetaSize'; import MetaTags from './MetaTags'; import BadgesModal from '../badges/BadgesModal'; import AnalysesList from '../events/AnalysesList'; -import { translate } from '../../../helpers/l10n'; import { hasPrivateAccess } from '../../../helpers/organizations'; import { getCurrentUser, diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaKey.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaKey.tsx index fe5e47a76ee..3bd681a7447 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaKey.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaKey.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; interface Props { componentKey: string; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaLink.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaLink.tsx index aff3dd00055..7e092b7cda3 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaLink.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaLink.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ProjectLinkIcon from '../../../components/icons-components/ProjectLinkIcon'; +import ProjectLinkIcon from 'sonar-ui-common/components/icons/ProjectLinkIcon'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; import isValidUri from '../../../app/utils/isValidUri'; -import { ClearButton } from '../../../components/ui/buttons'; import { getLinkName } from '../../projectLinks/utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaLinks.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaLinks.tsx index f5e7640a0a2..36c5ba4f37e 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaLinks.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaLinks.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MetaLink from './MetaLink'; import { orderLinks } from '../../projectLinks/utils'; import { getProjectLinks } from '../../../api/projectLinks'; -import { translate } from '../../../helpers/l10n'; interface Props { component: T.LightComponent; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.tsx index 89c7854ab8a..2f021d0f32c 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaOrganizationKey.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; interface Props { organization: string; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityGate.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityGate.tsx index e39d507627b..24e75964ab9 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityGate.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityGate.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getQualityGateUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.tsx index ff3850cb1f4..34393bc590e 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaQualityProfiles.tsx @@ -21,8 +21,8 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import { getQualityProfileUrl } from '../../../helpers/urls'; import { searchRules } from '../../../api/rules'; import { getLanguages, Store } from '../../../store/rootReducer'; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.tsx index 472b6add6eb..50b17a83509 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import SizeRating from 'sonar-ui-common/components/ui/SizeRating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import DrilldownLink from '../../../components/shared/DrilldownLink'; import LanguageDistributionContainer from '../../../components/charts/LanguageDistributionContainer'; -import SizeRating from '../../../components/ui/SizeRating'; -import { formatMeasure } from '../../../helpers/measures'; import { getMetricName } from '../utils'; -import { translate } from '../../../helpers/l10n'; interface Props { branchLike?: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaTags.tsx b/server/sonar-web/src/main/js/apps/overview/meta/MetaTags.tsx index 53036c8c2a6..5ab868ab222 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaTags.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaTags.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import MetaTagsSelector from './MetaTagsSelector'; -import Dropdown from '../../../components/controls/Dropdown'; import TagsList from '../../../components/tags/TagsList'; -import { ButtonLink } from '../../../components/ui/buttons'; -import { PopupPlacement } from '../../../components/ui/popups'; import { setProjectTags } from '../../../api/components'; -import { translate } from '../../../helpers/l10n'; interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaLink-test.tsx b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaLink-test.tsx index e7b0ad368d0..b2e1f9c0a19 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaLink-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaLink-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import MetaLink from '../MetaLink'; -import { click } from '../../../../helpers/testUtils'; it('should match snapshot', () => { const link = { diff --git a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaQualityProfiles-test.tsx b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaQualityProfiles-test.tsx index 034aa685747..11785dfc93b 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaQualityProfiles-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaQualityProfiles-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { MetaQualityProfiles } from '../MetaQualityProfiles'; import { mockLanguage, mockQualityProfile } from '../../../../helpers/testMocks'; import { searchRules } from '../../../../api/rules'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/rules', () => { return { diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/AfterMergeEstimate.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/AfterMergeEstimate.tsx index ed0f9da6b35..3acd3c3cb8e 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/AfterMergeEstimate.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/AfterMergeEstimate.tsx @@ -19,8 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { formatMeasure, findMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { findMeasure } from '../../../helpers/measures'; import { MEASUREMENTS_MAP, MeasurementType } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueLabel.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueLabel.tsx index 6a0891c7ee9..69b35c106da 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueLabel.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueLabel.tsx @@ -20,11 +20,12 @@ import * as React from 'react'; import { Link } from 'react-router'; import * as classNames from 'classnames'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { getMetricName, ISSUETYPE_MAP, IssueType } from '../utils'; import { getLeakValue } from '../../../components/measure/utils'; import { getBranchLikeQuery } from '../../../helpers/branches'; import { getComponentIssuesUrl } from '../../../helpers/urls'; -import { formatMeasure, findMeasure } from '../../../helpers/measures'; +import { findMeasure } from '../../../helpers/measures'; import DocTooltip from '../../../components/docs/DocTooltip'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueRating.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueRating.tsx index 1dcf29fb291..6b8a39e1db0 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueRating.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/IssueRating.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import DrilldownLink from '../../../components/shared/DrilldownLink'; -import Rating from '../../../components/ui/Rating'; -import Tooltip from '../../../components/controls/Tooltip'; import { getRatingName, ISSUETYPE_MAP, IssueType } from '../utils'; import { getLeakValue, getRatingTooltip } from '../../../components/measure/utils'; import { findMeasure } from '../../../helpers/measures'; diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/LargeQualityGateBadge.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/LargeQualityGateBadge.tsx index 550a137af4b..b46ed39a052 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/LargeQualityGateBadge.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/LargeQualityGateBadge.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import HelpIcon from 'sonar-ui-common/components/icons/HelpIcon'; import * as classNames from 'classnames'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import HelpIcon from '../../../components/icons-components/HelpIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import { getQualityGateUrl, getQualityGatesUrl } from '../../../helpers/urls'; import { isSonarCloud } from '../../../helpers/system'; -import { translate } from '../../../helpers/l10n'; -import { transparentWhite } from '../../../app/theme'; +import { colors } from '../../../app/theme'; interface Props { component: T.Component; @@ -69,7 +69,7 @@ export default function LargeQualityGateBadge({ component, level }: Props) { }} /> }> - <HelpIcon fill={transparentWhite} size={12} /> + <HelpIcon fill={colors.transparentWhite} size={12} /> </HelpTooltip> </div> {level !== undefined && ( diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/MeasurementLabel.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/MeasurementLabel.tsx index 75abab2105d..b919d59eacd 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/MeasurementLabel.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/MeasurementLabel.tsx @@ -20,9 +20,10 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import DrilldownLink from '../../../components/shared/DrilldownLink'; -import { translate } from '../../../helpers/l10n'; -import { formatMeasure, findMeasure } from '../../../helpers/measures'; +import { findMeasure } from '../../../helpers/measures'; import { getLeakValue } from '../../../components/measure/utils'; import { MEASUREMENTS_MAP, MeasurementType } from '../utils'; diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/ReviewApp.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/ReviewApp.tsx index 2c197bed7d2..156db2c19e8 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/ReviewApp.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/ReviewApp.tsx @@ -20,14 +20,15 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import AfterMergeEstimate from './AfterMergeEstimate'; import LargeQualityGateBadge from './LargeQualityGateBadge'; import IssueLabel from './IssueLabel'; import IssueRating from './IssueRating'; import MeasurementLabel from './MeasurementLabel'; -import { Alert } from '../../../components/ui/Alert'; import DocTooltip from '../../../components/docs/DocTooltip'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; import QualityGateConditions from '../qualityGate/QualityGateConditions'; import { getMeasures } from '../../../api/measures'; import { PR_METRICS, IssueType, MeasurementType } from '../utils'; @@ -35,7 +36,6 @@ import { getBranchLikeQuery, isSameBranchLike } from '../../../helpers/branches' import { isSameStatusConditionList } from '../../../helpers/qualityGates'; import { Store, getBranchStatusByBranchLike } from '../../../store/rootReducer'; import { fetchBranchStatus } from '../../../store/rootActions'; -import { translate } from '../../../helpers/l10n'; import '../styles.css'; interface OwnProps { diff --git a/server/sonar-web/src/main/js/apps/overview/pullRequests/__tests__/ReviewApp-test.tsx b/server/sonar-web/src/main/js/apps/overview/pullRequests/__tests__/ReviewApp-test.tsx index cdbfe0d8ce5..78cea6b9c1e 100644 --- a/server/sonar-web/src/main/js/apps/overview/pullRequests/__tests__/ReviewApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/pullRequests/__tests__/ReviewApp-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ReviewApp } from '../ReviewApp'; import { getMeasures } from '../../../../api/measures'; import { @@ -26,7 +27,6 @@ import { mockPullRequest, mockQualityGateStatusCondition } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/measures', () => { const { mockMeasure } = require.requireActual('../../../../helpers/testMocks'); diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGate.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGate.tsx index a9f23c92c2f..90ef08a71e4 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGate.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGate.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { keyBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; import ApplicationQualityGateProject from './ApplicationQualityGateProject'; -import Level from '../../../components/ui/Level'; import DocTooltip from '../../../components/docs/DocTooltip'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; import { getApplicationQualityGate, ApplicationProject } from '../../../api/quality-gates'; -import { translate } from '../../../helpers/l10n'; interface Props { branch?: T.LongLivingBranch; diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGateProject.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGateProject.tsx index 07c44a34741..3e55351e388 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGateProject.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/ApplicationQualityGateProject.tsx @@ -20,8 +20,9 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { Link } from 'react-router'; -import { getLocalizedMetricName, translate } from '../../../helpers/l10n'; -import { formatMeasure, isDiffMetric } from '../../../helpers/measures'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { isDiffMetric } from '../../../helpers/measures'; import { getProjectUrl } from '../../../helpers/urls'; import './ApplicationQualityGateProject.css'; import { ApplicationProject, ConditionAnalysis } from '../../../api/quality-gates'; diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/EmptyQualityGate.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/EmptyQualityGate.tsx index c7b03bf12ef..852f241dad9 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/EmptyQualityGate.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/EmptyQualityGate.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function EmptyQualityGate() { return ( diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGate.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGate.tsx index 7f0a9794ea8..3055c84bb99 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGate.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGate.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; import QualityGateConditions from './QualityGateConditions'; import EmptyQualityGate from './EmptyQualityGate'; -import { translate } from '../../../helpers/l10n'; -import Level from '../../../components/ui/Level'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { Alert } from '../../../components/ui/Alert'; interface Props { branchLike?: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.tsx index fb39c06bf48..313ee282d9f 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.tsx @@ -20,11 +20,12 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import DrilldownLink from '../../../components/shared/DrilldownLink'; import Measure from '../../../components/measure/Measure'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; -import { getPeriodValue, isDiffMetric, formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { getPeriodValue, isDiffMetric } from '../../../helpers/measures'; import { getComponentIssuesUrl } from '../../../helpers/urls'; import { getBranchLikeQuery, isPullRequest, isShortLivingBranch } from '../../../helpers/branches'; diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.tsx index 5f2d9e5d294..1ca392a5bd2 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ChevronDownIcon from 'sonar-ui-common/components/icons/ChevronDownIcon'; import { sortBy } from 'lodash'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; import QualityGateCondition from './QualityGateCondition'; -import ChevronDownIcon from '../../../components/icons-components/ChevronDownIcon'; -import { ButtonLink } from '../../../components/ui/buttons'; import { getMeasuresAndMeta } from '../../../api/measures'; import { enhanceMeasuresWithMetrics } from '../../../helpers/measures'; import { isSameBranchLike, getBranchLikeQuery } from '../../../helpers/branches'; -import { translateWithParameters } from '../../../helpers/l10n'; const LEVEL_ORDER = ['ERROR', 'WARN']; diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/__tests__/QualityGateConditions-test.tsx b/server/sonar-web/src/main/js/apps/overview/qualityGate/__tests__/QualityGateConditions-test.tsx index 4f82a0f0990..200df59b118 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/__tests__/QualityGateConditions-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/__tests__/QualityGateConditions-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import QualityGateConditions from '../QualityGateConditions'; import { getMeasuresAndMeta } from '../../../../api/measures'; import { mockComponent, mockQualityGateStatusCondition } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/measures', () => { return { diff --git a/server/sonar-web/src/main/js/apps/overview/routes.ts b/server/sonar-web/src/main/js/apps/overview/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/overview/routes.ts +++ b/server/sonar-web/src/main/js/apps/overview/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/overview/utils.ts b/server/sonar-web/src/main/js/apps/overview/utils.ts index 1e55f20dc0f..c4fff32eeca 100644 --- a/server/sonar-web/src/main/js/apps/overview/utils.ts +++ b/server/sonar-web/src/main/js/apps/overview/utils.ts @@ -17,13 +17,13 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { translate } from '../../helpers/l10n'; -import BugIcon from '../../components/icons-components/BugIcon'; -import CodeSmellIcon from '../../components/icons-components/CodeSmellIcon'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import CoverageRating from '../../components/ui/CoverageRating'; -import DuplicationsRating from '../../components/ui/DuplicationsRating'; -import VulnerabilityIcon from '../../components/icons-components/VulnerabilityIcon'; -import SecurityHotspotIcon from '../../components/icons-components/SecurityHotspotIcon'; export const METRICS = [ // quality gate diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.tsx index 4df3fe2b532..df3cf311566 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.tsx @@ -18,7 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { difference } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import DeleteForm from './DeleteForm'; import Form from './Form'; import { @@ -26,9 +31,6 @@ import { deletePermissionTemplate, updatePermissionTemplate } from '../../../api/permissions'; -import ActionsDropdown, { ActionsDropdownItem } from '../../../components/controls/ActionsDropdown'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { translate } from '../../../helpers/l10n'; import { withRouter, Router } from '../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/App.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/App.tsx index d8ecd3ffeb7..19d8b03615b 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/App.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Location } from 'history'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Home from './Home'; import Template from './Template'; import OrganizationHelmet from '../../../components/common/OrganizationHelmet'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { sortPermissions, mergePermissionsToTemplates, mergeDefaultsToTemplates } from '../utils'; import { getPermissionTemplates } from '../../../api/permissions'; -import { translate } from '../../../helpers/l10n'; import { getAppState, Store } from '../../../store/rootReducer'; import '../../permissions/styles.css'; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.tsx index 3bc8912158a..d7bd7c9a3b7 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; interface Props { organization: T.Organization | undefined; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/DeleteForm.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/DeleteForm.tsx index 9107ab592b1..350d0d15fd2 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/DeleteForm.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/DeleteForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Form.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/Form.tsx index 67b1ab5d959..de9cbbd3a34 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Form.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Form.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; interface Props { confirmButtonText: string; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Header.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/Header.tsx index 95048ef79f1..3a63dba8bbd 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Header.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Header.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import Form from './Form'; import { createPermissionTemplate } from '../../../api/permissions'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { withRouter, Router } from '../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Home.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/Home.tsx index cb1b7e4eeeb..aab175279b2 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Home.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Home.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import List from './List'; -import { translate } from '../../../helpers/l10n'; interface Props { organization: T.Organization | undefined; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.tsx index 66c95661543..8499f5f6453 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import InstanceMessage from '../../../components/common/InstanceMessage'; -import { Alert } from '../../../components/ui/Alert'; interface Props { organization: T.Organization | undefined; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.tsx index ab92acbbf9e..5115d65c4f3 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import { isSonarCloud } from '../../../helpers/system'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.tsx index b6380bde052..dcff3c8d116 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import TemplateHeader from './TemplateHeader'; import TemplateDetails from './TemplateDetails'; import HoldersList from '../../permissions/shared/components/HoldersList'; @@ -28,7 +29,6 @@ import { PERMISSIONS_ORDER_FOR_PROJECT_TEMPLATE } from '../../permissions/utils'; import * as api from '../../../api/permissions'; -import { translate } from '../../../helpers/l10n'; interface Props { organization: T.Organization | undefined; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/TemplateHeader.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/TemplateHeader.tsx index f2c04b9aca0..0a6575ccf05 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/TemplateHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/TemplateHeader.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ActionsCell from './ActionsCell'; -import { translate } from '../../../helpers/l10n'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/permission-templates/components/__tests__/App-test.tsx index e3d0c710f76..4f2faace5f2 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/__tests__/App-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { App } from '../App'; import { mockLocation, mockOrganization } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/permissions', () => ({ getPermissionTemplates: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/permission-templates/routes.ts b/server/sonar-web/src/main/js/apps/permission-templates/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/routes.ts +++ b/server/sonar-web/src/main/js/apps/permission-templates/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/permissions/__tests__/utils-test.ts b/server/sonar-web/src/main/js/apps/permissions/__tests__/utils-test.ts index ddfbf54fc1b..fea86e4fb63 100644 --- a/server/sonar-web/src/main/js/apps/permissions/__tests__/utils-test.ts +++ b/server/sonar-web/src/main/js/apps/permissions/__tests__/utils-test.ts @@ -17,9 +17,9 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { resetBundle } from 'sonar-ui-common/helpers/l10n'; import { convertToPermissionDefinitions } from '../utils'; import { isSonarCloud } from '../../../helpers/system'; -import { resetBundle } from '../../../helpers/l10n'; jest.mock('../../../helpers/system', () => ({ isSonarCloud: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.tsx b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.tsx index 0660d47f271..910c83695fb 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import SearchForm from '../../shared/components/SearchForm'; import HoldersList from '../../shared/components/HoldersList'; -import ListFooter from '../../../../components/controls/ListFooter'; import { PERMISSIONS_ORDER_GLOBAL, convertToPermissionDefinitions, diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/App.tsx b/server/sonar-web/src/main/js/apps/permissions/global/components/App.tsx index f9808246cb9..5c590c8ba4f 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/App.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PageHeader from './PageHeader'; import AllHoldersList from './AllHoldersList'; import * as api from '../../../../api/permissions'; import Suggestions from '../../../../app/components/embed-docs-modal/Suggestions'; -import { translate } from '../../../../helpers/l10n'; import '../../styles.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.tsx index d02e41142f6..513058c1e25 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { loading?: boolean; diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/permissions/global/components/__tests__/App-test.tsx index b1440190203..883b877f0f2 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/__tests__/App-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; import { grantPermissionToGroup, @@ -27,7 +28,6 @@ import { revokePermissionFromUser } from '../../../../../api/permissions'; import { mockOrganization } from '../../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; jest.mock('../../../../../api/permissions', () => ({ getGlobalPermissionsGroups: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.tsx index 636674a02b1..b766826b1a4 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { without } from 'lodash'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import SearchForm from '../../shared/components/SearchForm'; import HoldersList from '../../shared/components/HoldersList'; -import ListFooter from '../../../../components/controls/ListFooter'; import { PERMISSIONS_ORDER_BY_QUALIFIER, convertToPermissionDefinitions } from '../../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/App.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/App.tsx index 6beabeebc1f..465e2b800b9 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/App.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AllHoldersList from './AllHoldersList'; import PageHeader from './PageHeader'; import PublicProjectDisclaimer from './PublicProjectDisclaimer'; import UpgradeOrganizationBox from '../../../create/components/UpgradeOrganizationBox'; import VisibilitySelector from '../../../../components/common/VisibilitySelector'; import * as api from '../../../../api/permissions'; -import { translate } from '../../../../helpers/l10n'; import '../../styles.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/ApplyTemplate.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/ApplyTemplate.tsx index d27ac5ad9f8..52ec4548ec5 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/ApplyTemplate.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/ApplyTemplate.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getPermissionTemplates, applyTemplateToProject } from '../../../../api/permissions'; -import DeferredSpinner from '../../../../components/common/DeferredSpinner'; -import SimpleModal from '../../../../components/controls/SimpleModal'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import Select from '../../../../components/controls/Select'; -import { SubmitButton, ResetButtonLink } from '../../../../components/ui/buttons'; -import { translateWithParameters, translate } from '../../../../helpers/l10n'; -import { Alert } from '../../../../components/ui/Alert'; +import { getPermissionTemplates, applyTemplateToProject } from '../../../../api/permissions'; interface Props { onApply?: () => void; diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx index 9d40706931d..b0912321591 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ApplyTemplate from './ApplyTemplate'; -import { Button } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.tsx index eb200dfe735..ef481e78e45 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; -import { Alert } from '../../../../components/ui/Alert'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; interface Props { component: { diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/App-test.tsx index 47839ce1be2..413b44b8d3d 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/App-test.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; import { grantPermissionToGroup, @@ -27,7 +28,6 @@ import { revokePermissionFromUser } from '../../../../../api/permissions'; import { mockComponent, mockOrganization } from '../../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; jest.mock('../../../../../api/permissions', () => ({ getPermissionsGroupsForComponent: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/ApplyTemplate-test.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/ApplyTemplate-test.tsx index 221b9e9e504..be07604a090 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/ApplyTemplate-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/ApplyTemplate-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ApplyTemplate from '../ApplyTemplate'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; jest.mock('../../../../../api/permissions', () => ({ getPermissionTemplates: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/permissions/routes.ts b/server/sonar-web/src/main/js/apps/permissions/routes.ts index 59c004cee0d..e65dc2b1787 100644 --- a/server/sonar-web/src/main/js/apps/permissions/routes.ts +++ b/server/sonar-web/src/main/js/apps/permissions/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; export const globalPermissionsRoutes = [ { diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.tsx index d6d79bca0ae..b37edb40ceb 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import GroupIcon from 'sonar-ui-common/components/icons/GroupIcon'; import { without } from 'lodash'; import PermissionCell from './PermissionCell'; -import GroupIcon from '../../../../components/icons-components/GroupIcon'; import { isPermissionDefinitionGroup } from '../../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.tsx index 839351b2e64..179286c40ba 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { partition, sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import UserHolder from './UserHolder'; import GroupHolder from './GroupHolder'; import PermissionHeader from './PermissionHeader'; -import { translate } from '../../../../helpers/l10n'; import { isPermissionDefinitionGroup } from '../../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionCell.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionCell.tsx index 8415eebcd3e..cb305a463c2 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionCell.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionCell.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import { isPermissionDefinitionGroup } from '../../utils'; -import Checkbox from '../../../../components/controls/Checkbox'; interface Props { loading: string[]; diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionHeader.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionHeader.tsx index ca399cef646..533603c0fef 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/PermissionHeader.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import HelpTooltip from '../../../../components/controls/HelpTooltip'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; import { isPermissionDefinitionGroup } from '../../utils'; -import Tooltip from '../../../../components/controls/Tooltip'; -import { Alert } from '../../../../components/ui/Alert'; interface Props { onSelectPermission?: (permission: string) => void; diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.tsx index 77ffd79b376..6445d95ae66 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import RadioToggle from '../../../../components/controls/RadioToggle'; -import SearchBox from '../../../../components/controls/SearchBox'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; interface Props { filter: string; diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.tsx index 960bead1c4f..6597c652c99 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PermissionCell from './PermissionCell'; import Avatar from '../../../../components/ui/Avatar'; -import { translate } from '../../../../helpers/l10n'; import { isPermissionDefinitionGroup } from '../../utils'; import { isSonarCloud } from '../../../../helpers/system'; diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/GroupHolder-test.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/GroupHolder-test.tsx index 25b06908b9c..483ac46a2b5 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/GroupHolder-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/GroupHolder-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import GroupHolder from '../GroupHolder'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; const group = { id: 'foobar', @@ -43,7 +43,7 @@ const groupHolder = ( }, { key: 'baz', name: 'Baz', description: '' } ]} - selectedPermission={'bar'} + selectedPermission="bar" /> ); diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/HoldersList-test.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/HoldersList-test.tsx index 880309d70fe..f1579ca4061 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/HoldersList-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/HoldersList-test.tsx @@ -51,7 +51,7 @@ const elementsContainer = ( onToggleGroup={jest.fn(() => Promise.resolve())} onToggleUser={jest.fn(() => Promise.resolve())} permissions={permissions} - selectedPermission={'bar'} + selectedPermission="bar" users={users} /> ); diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/UserHolder-test.tsx b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/UserHolder-test.tsx index b0828ee76b4..3419b3a115c 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/UserHolder-test.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/UserHolder-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import UserHolder from '../UserHolder'; import { isSonarCloud } from '../../../../../helpers/system'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; jest.mock('../../../../../helpers/system', () => ({ isSonarCloud: jest.fn() })); @@ -46,7 +46,7 @@ const userHolder = ( }, { key: 'baz', name: 'Baz', description: '' } ]} - selectedPermission={'bar'} + selectedPermission="bar" user={user} /> ); diff --git a/server/sonar-web/src/main/js/apps/permissions/utils.ts b/server/sonar-web/src/main/js/apps/permissions/utils.ts index 5334441715c..2f7230ef579 100644 --- a/server/sonar-web/src/main/js/apps/permissions/utils.ts +++ b/server/sonar-web/src/main/js/apps/permissions/utils.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { hasMessage, translate } from '../../helpers/l10n'; +import { hasMessage, translate } from 'sonar-ui-common/helpers/l10n'; import { isSonarCloud } from '../../helpers/system'; export const PERMISSIONS_ORDER_FOR_PROJECT_TEMPLATE = [ diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/App.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/App.tsx index a24788c0bda..73426f3b3f5 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/App.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MeasuresButtonLink from './MeasuresButtonLink'; import MetricBox from './MetricBox'; import Report from './Report'; @@ -28,7 +29,6 @@ import { PORTFOLIO_METRICS, SUB_COMPONENTS_METRICS, convertMeasures } from '../u import Measure from '../../../components/measure/Measure'; import { getChildren } from '../../../api/components'; import { getMeasures } from '../../../api/measures'; -import { translate } from '../../../helpers/l10n'; import { fetchMetrics } from '../../../store/rootActions'; import { getMetrics, Store } from '../../../store/rootReducer'; import '../styles.css'; @@ -110,7 +110,7 @@ export class App extends React.PureComponent<Props, State> { return ( <div className="page page-limited"> <div className="text-center"> - <i className="spinner spinner-margin" /> + <i className="spinner spacer" /> </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/Effort.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/Effort.tsx index e576fb8fd90..3d8c1c7d40f 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/Effort.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/Effort.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; -import Rating from '../../../components/ui/Rating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import Measure from '../../../components/measure/Measure'; -import { translate } from '../../../helpers/l10n'; import { getComponentDrilldownUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/HistoryButtonLink.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/HistoryButtonLink.tsx index 4232584f30b..cda041d6387 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/HistoryButtonLink.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/HistoryButtonLink.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import HistoryIcon from '../../../components/icons-components/HistoryIcon'; -import { translate } from '../../../helpers/l10n'; +import HistoryIcon from 'sonar-ui-common/components/icons/HistoryIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getMeasureHistoryUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/MainRating.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/MainRating.tsx index c5ad8f0276a..bb02e4fe1a5 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/MainRating.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/MainRating.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import Rating from '../../../components/ui/Rating'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import { getMeasureTreemapUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/MeasuresButtonLink.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/MeasuresButtonLink.tsx index 3d78ef61ebc..97eab4dea0d 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/MeasuresButtonLink.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/MeasuresButtonLink.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import MeasuresIcon from '../../../components/icons-components/MeasuresIcon'; -import { translate } from '../../../helpers/l10n'; +import MeasuresIcon from 'sonar-ui-common/components/icons/MeasuresIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getComponentDrilldownUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/MetricBox.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/MetricBox.tsx index f8f607458a8..18dec3f03f9 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/MetricBox.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/MetricBox.tsx @@ -19,16 +19,16 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; import Effort from './Effort'; import HistoryButtonLink from './HistoryButtonLink'; import MainRating from './MainRating'; import MeasuresButtonLink from './MeasuresButtonLink'; import RatingFreshness from './RatingFreshness'; import { METRICS_PER_TYPE } from '../utils'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import Level from '../../../components/ui/Level'; import Measure from '../../../components/measure/Measure'; -import { translate } from '../../../helpers/l10n'; import { getComponentDrilldownUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/RatingFreshness.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/RatingFreshness.tsx index 8121dfc43fc..885e021ee0d 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/RatingFreshness.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/RatingFreshness.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import DateFromNow from '../../../components/intl/DateFromNow'; -import Rating from '../../../components/ui/Rating'; -import { translate } from '../../../helpers/l10n'; interface Props { lastChange?: string; diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/Report.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/Report.tsx index 87ddf6b25e9..17241cf1686 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/Report.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/Report.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import Subscription from './Subscription'; -import { Button } from '../../../components/ui/buttons'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import Dropdown from '../../../components/controls/Dropdown'; import { getReportStatus, ReportStatus, getReportUrl } from '../../../api/report'; -import { translate } from '../../../helpers/l10n'; interface Props { component: { key: string; name: string }; diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/Subscription.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/Subscription.tsx index 12ff0e52a15..57187bd899f 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/Subscription.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/Subscription.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; -import { ReportStatus, subscribe, unsubscribe } from '../../../api/report'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import addGlobalSuccessMessage from '../../../app/utils/addGlobalSuccessMessage'; import throwGlobalError from '../../../app/utils/throwGlobalError'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { ReportStatus, subscribe, unsubscribe } from '../../../api/report'; import { isLoggedIn } from '../../../helpers/users'; import { getCurrentUser, Store } from '../../../store/rootReducer'; diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/WorstProjects.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/WorstProjects.tsx index 6943e3e9dc1..f110b2325be 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/WorstProjects.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/WorstProjects.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { Link } from 'react-router'; import { max } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { SubComponent } from '../types'; -import * as theme from '../../../app/theme'; +import { colors } from '../../../app/theme'; import Measure from '../../../components/measure/Measure'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; import { getProjectUrl } from '../../../helpers/urls'; interface Props { @@ -132,8 +132,8 @@ function renderNcloc(measures: T.Dict<string | undefined>, maxLoc: number) { <svg className="spacer-left" height="16" width="50"> <rect className="bar-chart-bar" + fill={colors.blue} height="10" - fill={theme.blue} width={barWidth} x="0" y="3" diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/Subscription-test.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/Subscription-test.tsx index e5e33c6ace1..a5ba436d470 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/Subscription-test.tsx +++ b/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/Subscription-test.tsx @@ -28,7 +28,7 @@ jest.mock('../../../../api/report', () => { import * as React from 'react'; import { shallow, mount } from 'enzyme'; import { Subscription } from '../Subscription'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ReportStatus } from '../../../../api/report'; const subscribe = require('../../../../api/report').subscribe as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/portfolio/routes.ts b/server/sonar-web/src/main/js/apps/portfolio/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/portfolio/routes.ts +++ b/server/sonar-web/src/main/js/apps/portfolio/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/actions-test.ts b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/actions-test.ts index 35ac02b7565..8c2cc89fc4f 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/actions-test.ts +++ b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/actions-test.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import { parseDate } from 'sonar-ui-common/helpers/dates'; import * as actions from '../actions'; -import { parseDate } from '../../../helpers/dates'; const ANALYSES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.ts b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.ts index 8b2c9d702eb..9a62d089ac2 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.ts +++ b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.ts @@ -17,19 +17,16 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import * as dates from 'sonar-ui-common/helpers/dates'; import * as utils from '../utils'; -import * as dates from '../../../helpers/dates'; -jest.mock('../../../helpers/dates', () => { - const actual = require.requireActual('../../../helpers/dates'); - return Object.assign({}, actual, { - startOfDay: jest.fn(date => { - const startDay = new Date(date); - startDay.setUTCHours(0, 0, 0, 0); - return startDay; - }) - }); -}); +jest.mock('date-fns/start_of_day', () => + jest.fn(date => { + const startDay = new Date(date); + startDay.setUTCHours(0, 0, 0, 0); + return startDay; + }) +); const ANALYSES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/DefinitionChangeEventInner.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/DefinitionChangeEventInner.tsx index 33f3f0636a5..0621b442da8 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/DefinitionChangeEventInner.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/DefinitionChangeEventInner.tsx @@ -18,17 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as classNames from 'classnames'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; -import * as classNames from 'classnames'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; -import { ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; +import { limitComponentName } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; import { getProjectUrl } from '../../../helpers/urls'; -import LongLivingBranchIcon from '../../../components/icons-components/LongLivingBranchIcon'; import { isMainBranch } from '../../../helpers/branches'; -import { limitComponentName } from '../../../helpers/path'; export type DefinitionChangeEvent = T.AnalysisEvent & Required<Pick<T.AnalysisEvent, 'definitionChange'>>; @@ -119,7 +119,7 @@ export class DefinitionChangeEventInner extends React.PureComponent<Props, State return ( <FormattedMessage defaultMessage={translate('event.definition_change.branch_replaced')} - id={'event.definition_change.branch_replaced'} + id="event.definition_change.branch_replaced" values={{ project: this.renderProjectLink(project, project.newBranch), oldBranch: this.renderBranch(project.oldBranch), diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/Event.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/Event.tsx index 1f06473f387..a801bc551a1 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/Event.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/Event.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { DeleteButton, EditButton } from 'sonar-ui-common/components/controls/buttons'; import EventInner from './EventInner'; import ChangeEventForm from './forms/ChangeEventForm'; import RemoveEventForm from './forms/RemoveEventForm'; -import Tooltip from '../../../components/controls/Tooltip'; -import { DeleteButton, EditButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { analysis: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.tsx index ed35aa43a02..83ad95439a0 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { isRichQualityGateEvent, RichQualityGateEventInner } from './RichQualityGateEventInner'; import { isDefinitionChangeEvent, DefinitionChangeEventInner } from './DefinitionChangeEventInner'; import { ComponentContext } from '../../../app/components/ComponentContext'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; -import { translate } from '../../../helpers/l10n'; interface Props { event: T.AnalysisEvent; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphHistory.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphHistory.tsx index 8bf88d31bc9..a9b058ee709 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphHistory.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphHistory.tsx @@ -19,11 +19,12 @@ */ import * as React from 'react'; import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import AdvancedTimeline from 'sonar-ui-common/components/charts/AdvancedTimeline'; import GraphsTooltips from './GraphsTooltips'; import GraphsLegendCustom from './GraphsLegendCustom'; import GraphsLegendStatic from './GraphsLegendStatic'; -import AdvancedTimeline from '../../../components/charts/AdvancedTimeline'; -import { formatMeasure, getShortType } from '../../../helpers/measures'; +import { getShortType } from '../../../helpers/measures'; import { MeasureHistory, Serie } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.tsx index c27a3f0e5e6..e92ac38e4f1 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.tsx @@ -19,8 +19,9 @@ */ import * as React from 'react'; import { isEqual } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import GraphHistory from './GraphHistory'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import { getSeriesMetricType, hasHistoryData, @@ -29,7 +30,6 @@ import { MeasureHistory, ParsedAnalysis } from '../utils'; -import { translate } from '../../../helpers/l10n'; interface Props { analyses: ParsedAnalysis[]; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.tsx index 4c7524794e4..93a041a9be6 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendCustom.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import GraphsLegendItem from './GraphsLegendItem'; -import Tooltip from '../../../components/controls/Tooltip'; import { hasDataValues, Serie } from '../utils'; -import { translate } from '../../../helpers/l10n'; interface Props { removeMetric: (metric: string) => void; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendItem.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendItem.tsx index 5d440346cb5..67dac1cdeb1 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendItem.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendItem.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import AlertWarnIcon from '../../../components/icons-components/AlertWarnIcon'; -import ChartLegendIcon from '../../../components/icons-components/ChartLegendIcon'; -import { ClearButton } from '../../../components/ui/buttons'; +import AlertWarnIcon from 'sonar-ui-common/components/icons/AlertWarnIcon'; +import ChartLegendIcon from 'sonar-ui-common/components/icons/ChartLegendIcon'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.tsx index ef8e1fc1bee..350e01bf445 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltips.tsx @@ -18,6 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { isDefined } from 'sonar-ui-common/helpers/types'; +import { Popup, PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import GraphsTooltipsContent from './GraphsTooltipsContent'; import GraphsTooltipsContentEvents from './GraphsTooltipsContentEvents'; import GraphsTooltipsContentCoverage from './GraphsTooltipsContentCoverage'; @@ -25,8 +27,6 @@ import GraphsTooltipsContentDuplication from './GraphsTooltipsContentDuplication import GraphsTooltipsContentIssues from './GraphsTooltipsContentIssues'; import { DEFAULT_GRAPH, MeasureHistory, Serie } from '../utils'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import { Popup, PopupPlacement } from '../../../components/ui/popups'; -import { isDefined } from '../../../helpers/types'; interface Props { events: T.AnalysisEvent[]; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.tsx index 57a62e9229e..aa5dc222c81 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ChartLegendIcon from '../../../components/icons-components/ChartLegendIcon'; +import ChartLegendIcon from 'sonar-ui-common/components/icons/ChartLegendIcon'; interface Props { name: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.tsx index fafe854539b..93a08c895c1 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { MeasureHistory } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.tsx index 587513eeb22..f67f841e54a 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { MeasureHistory } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.tsx index 44f23195683..442b214654c 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; -import { translate } from '../../../helpers/l10n'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { addSeparator: boolean; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentIssues.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentIssues.tsx index c99cb179741..837152e3a54 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentIssues.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentIssues.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ChartLegendIcon from '../../../components/icons-components/ChartLegendIcon'; -import Rating from '../../../components/ui/Rating'; +import ChartLegendIcon from 'sonar-ui-common/components/icons/ChartLegendIcon'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import { MeasureHistory } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.tsx index 134649fcd0a..7c01b7f955e 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; -import ZoomTimeLine from '../../../components/charts/ZoomTimeLine'; +import ZoomTimeLine from 'sonar-ui-common/components/charts/ZoomTimeLine'; import { hasHistoryData, Serie } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx index 3928107a2ed..98f1b52317c 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { throttle } from 'lodash'; +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import ProjectActivityAnalysis from './ProjectActivityAnalysis'; import DateFormatter from '../../../components/intl/DateFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; -import { toShortNotSoISOString } from '../../../helpers/dates'; import { activityQueryChanged, getAnalysesByVersionByDay, diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.tsx index 162191bbcfe..f42ef933749 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.tsx @@ -19,17 +19,17 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import ActionsDropdown, { + ActionsDropdownDivider, + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import Events from './Events'; import AddEventForm from './forms/AddEventForm'; import RemoveAnalysisForm from './forms/RemoveAnalysisForm'; import TimeFormatter from '../../../components/intl/TimeFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; -import ActionsDropdown, { - ActionsDropdownDivider, - ActionsDropdownItem -} from '../../../components/controls/ActionsDropdown'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { parseDate } from '../../../helpers/dates'; import { ParsedAnalysis } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.tsx index 96552de1ff4..29faa217d81 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectActivityPageHeader from './ProjectActivityPageHeader'; import ProjectActivityAnalysesList from './ProjectActivityAnalysesList'; import ProjectActivityGraphs from './ProjectActivityGraphs'; import { MeasureHistory, Query, ParsedAnalysis } from '../utils'; -import { parseDate } from '../../../helpers/dates'; -import { translate } from '../../../helpers/l10n'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import './projectActivity.css'; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.tsx index 78e118c7950..52170c3ef3f 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { InjectedRouter } from 'react-router'; import { Location } from 'history'; +import { InjectedRouter } from 'react-router'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityApp from './ProjectActivityApp'; import { getAllTimeMachineData } from '../../../api/time-machine'; import { getAllMetrics } from '../../../api/metrics'; import * as api from '../../../api/projectActivity'; import * as actions from '../actions'; import { getBranchLikeQuery } from '../../../helpers/branches'; -import { parseDate } from '../../../helpers/dates'; import { customMetricsChanged, DEFAULT_GRAPH, @@ -40,7 +40,6 @@ import { serializeQuery, serializeUrlQuery } from '../utils'; -import { RawQuery } from '../../../helpers/query'; interface Props { branchLike?: T.BranchLike; @@ -151,7 +150,7 @@ export default class ProjectActivityAppContainer extends React.PureComponent<Pro }); }; - fetchActivity = (project: string, p: number, ps: number, additional?: RawQuery) => { + fetchActivity = (project: string, p: number, ps: number, additional?: T.RawQuery) => { const parameters = { project, p, ps, ...getBranchLikeQuery(this.props.branchLike) }; return api .getProjectActivity({ ...additional, ...parameters }) diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityDateInput.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityDateInput.tsx index 3d6ee9abade..979315d5f78 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityDateInput.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityDateInput.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import DateRangeInput from '../../../components/controls/DateRangeInput'; -import { translate } from '../../../helpers/l10n'; -import { Button } from '../../../components/ui/buttons'; import { Query } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.tsx index ab51df202d8..f7487709772 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; export interface Option { label: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.tsx index da5dcc2ee87..8ae60ec4f36 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; import { Option } from './ProjectActivityEventSelectOption'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; interface Props { children?: React.ReactNode; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphs.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphs.tsx index 1e5497f9779..d161bd0761f 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphs.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphs.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { debounce, findLast, maxBy, minBy, sortBy } from 'lodash'; +import { save } from 'sonar-ui-common/helpers/storage'; import ProjectActivityGraphsHeader from './ProjectActivityGraphsHeader'; import GraphsZoom from './GraphsZoom'; import GraphsHistory from './GraphsHistory'; -import { save } from '../../../helpers/storage'; import { datesQueryChanged, generateSeries, diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphsHeader.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphsHeader.tsx index 419491b1543..24160d2d57f 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphsHeader.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityGraphsHeader.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AddGraphMetric from './forms/AddGraphMetric'; import { isCustomGraph, GRAPH_TYPES } from '../utils'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; interface Props { addCustomMetric: (metric: string) => void; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageFooter.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageFooter.tsx index 006e2268dc1..41a39b72c2e 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageFooter.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageFooter.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ListFooter from '../../../components/controls/ListFooter'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; interface Props { analyses: unknown[]; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.tsx index 7f897c05140..d056dfe327b 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectActivityEventSelectOption from './ProjectActivityEventSelectOption'; import ProjectActivityEventSelectValue from './ProjectActivityEventSelectValue'; import ProjectActivityDateInput from './ProjectActivityDateInput'; import { EVENT_TYPES, APPLICATION_EVENT_TYPES, Query } from '../utils'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; interface Props { category?: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/RichQualityGateEventInner.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/RichQualityGateEventInner.tsx index dc21ccf4e27..ca9e1602245 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/RichQualityGateEventInner.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/RichQualityGateEventInner.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ProjectEventIcon from 'sonar-ui-common/components/icons/ProjectEventIcon'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; import * as classNames from 'classnames'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import Level from '../../../components/ui/Level'; -import ProjectEventIcon from '../../../components/icons-components/ProjectEventIcon'; -import { ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Level from 'sonar-ui-common/components/ui/Level'; import { getProjectUrl } from '../../../helpers/urls'; export type RichQualityGateEvent = T.AnalysisEvent & Required<Pick<T.AnalysisEvent, 'qualityGate'>>; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/DefinitionChangeEventInner-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/DefinitionChangeEventInner-test.tsx index 47ce66a654d..e089ae5f454 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/DefinitionChangeEventInner-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/DefinitionChangeEventInner-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { DefinitionChangeEventInner, DefinitionChangeEvent } from '../DefinitionChangeEventInner'; -import { click } from '../../../../helpers/testUtils'; it('should render', () => { const event: DefinitionChangeEvent = { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphHistory-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphHistory-test.tsx index a391b497e4a..7b9f4732cc7 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphHistory-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphHistory-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphHistory from '../GraphHistory'; import { DEFAULT_GRAPH } from '../../utils'; -import { parseDate } from '../../../../helpers/dates'; const SERIES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsHistory-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsHistory-test.tsx index 84a24c67db5..0db7568611c 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsHistory-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsHistory-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsHistory from '../GraphsHistory'; import { DEFAULT_GRAPH } from '../../utils'; -import { parseDate } from '../../../../helpers/dates'; const ANALYSES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsLegendCustom-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsLegendCustom-test.tsx index 1978660d4ed..8ce92380a7d 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsLegendCustom-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsLegendCustom-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsLegendCustom from '../GraphsLegendCustom'; -import { parseDate } from '../../../../helpers/dates'; const SERIES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltips-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltips-test.tsx index 77be2c94194..6b40182e280 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltips-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltips-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsTooltips from '../GraphsTooltips'; import { DEFAULT_GRAPH } from '../../utils'; -import { parseDate } from '../../../../helpers/dates'; const SERIES_ISSUES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentCoverage-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentCoverage-test.tsx index bb9c4c815e3..2174c899222 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentCoverage-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentCoverage-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsTooltipsContentCoverage from '../GraphsTooltipsContentCoverage'; -import { parseDate } from '../../../../helpers/dates'; const MEASURES_COVERAGE = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentDuplication-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentDuplication-test.tsx index 625f3b773c4..0ca03e26686 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentDuplication-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentDuplication-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsTooltipsContentDuplication from '../GraphsTooltipsContentDuplication'; -import { parseDate } from '../../../../helpers/dates'; const MEASURES_DUPLICATION = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentIssues-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentIssues-test.tsx index 8adfb4e854a..03f2df12cfd 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentIssues-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/GraphsTooltipsContentIssues-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import GraphsTooltipsContentIssues from '../GraphsTooltipsContentIssues'; -import { parseDate } from '../../../../helpers/dates'; const MEASURES_ISSUES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.tsx index 1e03821b43b..e9f0fe2a6d0 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.tsx @@ -19,32 +19,31 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityAnalysesList from '../ProjectActivityAnalysesList'; import { DEFAULT_GRAPH } from '../../utils'; -import * as dates from '../../../../helpers/dates'; -jest.mock('../../../../helpers/dates', () => { - const actual = require.requireActual('../../../../helpers/dates'); - return Object.assign({}, actual, { - startOfDay: (date: Date) => { - const startDay = new Date(date); - startDay.setUTCHours(0, 0, 0, 0); - return startDay; - }, - toShortNotSoISOString: (date: string) => 'ISO.' + date - }); +jest.mock('date-fns/start_of_day', () => (date: Date) => { + const startDay = new Date(date); + startDay.setUTCHours(0, 0, 0, 0); + return startDay; +}); + +jest.mock('sonar-ui-common/helpers/dates', () => { + const actual = require.requireActual('sonar-ui-common/helpers/dates'); + return { ...actual, toShortNotSoISOString: (date: string) => 'ISO.' + date }; }); const ANALYSES = [ { key: 'A1', - date: dates.parseDate('2016-10-27T16:33:50+0000'), + date: parseDate('2016-10-27T16:33:50+0000'), events: [{ key: 'E1', category: 'VERSION', name: '6.5-SNAPSHOT' }] }, - { key: 'A2', date: dates.parseDate('2016-10-27T12:21:15+0000'), events: [] }, + { key: 'A2', date: parseDate('2016-10-27T12:21:15+0000'), events: [] }, { key: 'A3', - date: dates.parseDate('2016-10-26T12:17:29+0000'), + date: parseDate('2016-10-26T12:17:29+0000'), events: [ { key: 'E2', category: 'VERSION', name: '6.4' }, { key: 'E3', category: 'OTHER', name: 'foo' } @@ -52,7 +51,7 @@ const ANALYSES = [ }, { key: 'A4', - date: dates.parseDate('2016-10-24T16:33:50+0000'), + date: parseDate('2016-10-24T16:33:50+0000'), events: [{ key: 'E1', category: 'QUALITY_GATE', name: 'Quality gate changed to red...' }] } ]; @@ -92,8 +91,8 @@ it('should correctly filter analyses by date range', () => { wrapper.setProps({ query: { ...DEFAULT_PROPS.query, - from: dates.parseDate('2016-10-27T16:33:50+0000'), - to: dates.parseDate('2016-10-27T16:33:50+0000') + from: parseDate('2016-10-27T16:33:50+0000'), + to: parseDate('2016-10-27T16:33:50+0000') } }); expect(wrapper).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysis-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysis-test.tsx index 89125bfe728..b07bc81f2aa 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysis-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysis-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProjectActivityAnalysis from '../ProjectActivityAnalysis'; import { mockParsedAnalysis, mockAnalysisEvent } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; -jest.mock('../../../../helpers/dates', () => ({ +jest.mock('sonar-ui-common/helpers/dates', () => ({ parseDate: () => ({ valueOf: () => 1546333200000, toISOString: () => '2019-01-01T09:00:00.000Z' diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityApp-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityApp-test.tsx index 0491de7cefa..c323a6754bf 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityApp-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityApp from '../ProjectActivityApp'; import { DEFAULT_GRAPH } from '../../utils'; -import { parseDate } from '../../../../helpers/dates'; const ANALYSES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityDateInput-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityDateInput-test.tsx index fb07461de0d..70634f4d10c 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityDateInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityDateInput-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityDateInput from '../ProjectActivityDateInput'; -import { parseDate } from '../../../../helpers/dates'; it('should render correctly the date inputs', () => { expect( diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityGraphs-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityGraphs-test.tsx index a6b578cb390..db359a66394 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityGraphs-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityGraphs-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityGraphs from '../ProjectActivityGraphs'; import { DEFAULT_GRAPH } from '../../utils'; -import { parseDate } from '../../../../helpers/dates'; const ANALYSES = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.tsx index 56436f0bad1..a0a8e922e31 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import ProjectActivityPageHeader from '../ProjectActivityPageHeader'; -import { parseDate } from '../../../../helpers/dates'; it('should render correctly the list of series', () => { expect( diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/RichQualityGateEventInner-test.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/RichQualityGateEventInner-test.tsx index c1ef6603f78..57dbfbb01f6 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/RichQualityGateEventInner-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/RichQualityGateEventInner-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { RichQualityGateEventInner, RichQualityGateEvent } from '../RichQualityGateEventInner'; -import { click } from '../../../../helpers/testUtils'; const event: RichQualityGateEvent = { category: 'QUALITY_GATE', diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.tsx index 1f5bb6c51bf..ab37de8bf64 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; import { ParsedAnalysis } from '../../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.tsx index fd37d410aab..d32e34c254a 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; import { find, sortBy } from 'lodash'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import AddGraphMetricPopup from './AddGraphMetricPopup'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; -import Dropdown from '../../../../components/controls/Dropdown'; -import { Button } from '../../../../components/ui/buttons'; import { isDiffMetric } from '../../../../helpers/measures'; -import { getLocalizedMetricName, translate } from '../../../../helpers/l10n'; interface Props { addMetric: (metric: string) => void; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetricPopup.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetricPopup.tsx index dd66eb690d7..37a957d4600 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetricPopup.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetricPopup.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import MultiSelect from '../../../../components/common/MultiSelect'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; -import { Alert } from '../../../../components/ui/Alert'; interface Props { elements: string[]; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.tsx index 22680c097ad..ccc290d8dc8 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../../helpers/l10n'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; interface Props { changeEvent: (event: string, name: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.tsx index 0e0cd3c2774..4e111415060 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../../helpers/l10n'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; import { ParsedAnalysis } from '../../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.tsx b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.tsx index 6699971bc5b..38acabb7677 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../../helpers/l10n'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; interface Props { analysis: string; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/routes.ts b/server/sonar-web/src/main/js/apps/projectActivity/routes.ts index 5138748ee6b..f085236c6d1 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectActivity/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/utils.ts b/server/sonar-web/src/main/js/apps/projectActivity/utils.ts index 85653d2319d..d62745f3350 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/utils.ts +++ b/server/sonar-web/src/main/js/apps/projectActivity/utils.ts @@ -17,6 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import * as startOfDay from 'date-fns/start_of_day'; import { chunk, flatMap, groupBy, isEqual, sortBy } from 'lodash'; import { cleanQuery, @@ -25,12 +26,11 @@ import { parseAsString, serializeStringArray, serializeDate, - serializeString, - RawQuery -} from '../../helpers/query'; -import { parseDate, startOfDay } from '../../helpers/dates'; -import { getLocalizedMetricName, translate } from '../../helpers/l10n'; -import { get } from '../../helpers/storage'; + serializeString +} from 'sonar-ui-common/helpers/query'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { get } from 'sonar-ui-common/helpers/storage'; +import { getLocalizedMetricName, translate } from 'sonar-ui-common/helpers/l10n'; export type ParsedAnalysis = T.Omit<T.Analysis, 'date'> & { date: Date }; @@ -264,7 +264,7 @@ function serializeGraph(value: string) { return value === DEFAULT_GRAPH ? undefined : value; } -export function parseQuery(urlQuery: RawQuery): Query { +export function parseQuery(urlQuery: T.RawQuery): Query { return { category: parseAsString(urlQuery['category']), customMetrics: parseAsArray(urlQuery['custom_metrics'], parseAsString), @@ -276,7 +276,7 @@ export function parseQuery(urlQuery: RawQuery): Query { }; } -export function serializeQuery(query: Query): RawQuery { +export function serializeQuery(query: Query): T.RawQuery { return cleanQuery({ category: serializeString(query.category), from: serializeDate(query.from), @@ -285,7 +285,7 @@ export function serializeQuery(query: Query): RawQuery { }); } -export function serializeUrlQuery(query: Query): RawQuery { +export function serializeUrlQuery(query: Query): T.RawQuery { return cleanQuery({ category: serializeString(query.category), custom_metrics: serializeStringArray(query.customMetrics), diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/App.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/App.tsx index 61194e73dc3..d72852ebeee 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/App.tsx @@ -20,6 +20,9 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import BranchRow from './BranchRow'; import LongBranchesPattern from './LongBranchesPattern'; import { @@ -28,10 +31,7 @@ import { isShortLivingBranch, isPullRequest } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; import { getValues } from '../../../api/settings'; -import { formatMeasure } from '../../../helpers/measures'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; interface Props { branchLikes: T.BranchLike[]; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/BranchRow.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/BranchRow.tsx index f75fcfb9461..e9141320229 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/BranchRow.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/BranchRow.tsx @@ -19,11 +19,16 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem, + ActionsDropdownDivider +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import DeleteBranchModal from './DeleteBranchModal'; import LeakPeriodForm from './LeakPeriodForm'; import RenameBranchModal from './RenameBranchModal'; -import BranchStatus from '../../../components/common/BranchStatus'; import BranchIcon from '../../../components/icons-components/BranchIcon'; +import BranchStatus from '../../../components/common/BranchStatus'; import { isShortLivingBranch, isLongLivingBranch, @@ -31,12 +36,7 @@ import { getBranchLikeDisplayName, isPullRequest } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; import DateFromNow from '../../../components/intl/DateFromNow'; -import ActionsDropdown, { - ActionsDropdownItem, - ActionsDropdownDivider -} from '../../../components/controls/ActionsDropdown'; interface Props { branchLike: T.BranchLike; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/DeleteBranchModal.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/DeleteBranchModal.tsx index 48ae7917742..a9d87b4914e 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/DeleteBranchModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/DeleteBranchModal.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { deleteBranch, deletePullRequest } from '../../../api/branches'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { isPullRequest, getBranchLikeDisplayName } from '../../../helpers/branches'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/LeakPeriodForm.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/LeakPeriodForm.tsx index 9f0c9245410..6b13c59c835 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/LeakPeriodForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/LeakPeriodForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import SettingForm from './SettingForm'; -import { translate } from '../../../helpers/l10n'; import { getValues } from '../../../api/settings'; -import Modal from '../../../components/controls/Modal'; interface Props { branch: string; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPattern.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPattern.tsx index 94e4421ffe2..319eb46d959 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPattern.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPattern.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { EditButton } from 'sonar-ui-common/components/controls/buttons'; import LongBranchesPatternForm from './LongBranchesPatternForm'; import { getValues } from '../../../api/settings'; -import { EditButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { project: string; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPatternForm.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPatternForm.tsx index 497eaa2405b..842592db598 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPatternForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/LongBranchesPatternForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import SettingForm from './SettingForm'; -import { translate } from '../../../helpers/l10n'; -import Modal from '../../../components/controls/Modal'; interface Props { onChange: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/RenameBranchModal.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/RenameBranchModal.tsx index 0a5ae1e36f0..4826832374d 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/RenameBranchModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/RenameBranchModal.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { renameBranch } from '../../../api/branches'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { branch: T.MainBranch; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/SettingForm.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/SettingForm.tsx index 7dadf716969..6aaaeb599fa 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/SettingForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/SettingForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button, SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; import { setSimpleSettingValue, resetSettingValue } from '../../../api/settings'; -import { Button, SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { sanitizeTranslation } from '../../settings/utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/BranchRow-test.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/BranchRow-test.tsx index 56cf1d127db..479c3489b35 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/BranchRow-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/BranchRow-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import BranchRow from '../BranchRow'; -import { click } from '../../../../helpers/testUtils'; import { mockPullRequest, mockShortLivingBranch } from '../../../../helpers/testMocks'; const mainBranch: T.MainBranch = { isMain: true, name: 'master' }; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/DeleteBranchModal-test.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/DeleteBranchModal-test.tsx index 63ded5dceff..16ebf2e7aed 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/DeleteBranchModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/DeleteBranchModal-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { submit, doAsync, click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import DeleteBranchModal from '../DeleteBranchModal'; -import { submit, doAsync, click, waitAndUpdate } from '../../../../helpers/testUtils'; import { deleteBranch, deletePullRequest } from '../../../../api/branches'; import { mockShortLivingBranch, mockPullRequest } from '../../../../helpers/testMocks'; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/LongBranchesPattern-test.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/LongBranchesPattern-test.tsx index 13a41626be3..291687975ce 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/LongBranchesPattern-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/LongBranchesPattern-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import LongBranchesPattern from '../LongBranchesPattern'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/settings', () => ({ getValues: jest.fn(() => Promise.resolve([])) diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/RenameBranchModal-test.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/RenameBranchModal-test.tsx index cf832f96677..6e8dc328b60 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/RenameBranchModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/RenameBranchModal-test.tsx @@ -22,8 +22,8 @@ jest.mock('../../../../api/branches', () => ({ renameBranch: jest.fn() })); import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { submit, doAsync, click, change, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import RenameBranchModal from '../RenameBranchModal'; -import { submit, doAsync, click, change, waitAndUpdate } from '../../../../helpers/testUtils'; import { renameBranch } from '../../../../api/branches'; beforeEach(() => { diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/SettingForm-test.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/SettingForm-test.tsx index f214187a95e..54976f26ea3 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/SettingForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/SettingForm-test.tsx @@ -26,7 +26,7 @@ jest.mock('../../../../api/settings', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import SettingForm from '../SettingForm'; -import { change, submit, click } from '../../../../helpers/testUtils'; +import { change, submit, click } from 'sonar-ui-common/helpers/testUtils'; const setSimpleSettingValue = require('../../../../api/settings') .setSimpleSettingValue as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/projectBranches/routes.ts b/server/sonar-web/src/main/js/apps/projectBranches/routes.ts index a7747c58bd8..cefd6cdcedd 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectBranches/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/projectDeletion/App.tsx b/server/sonar-web/src/main/js/apps/projectDeletion/App.tsx index 5e5be915cae..bdc1ce9fe58 100644 --- a/server/sonar-web/src/main/js/apps/projectDeletion/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectDeletion/App.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import Form from './Form'; -import { translate } from '../../helpers/l10n'; interface Props { component: Pick<T.Component, 'key' | 'name' | 'qualifier'>; diff --git a/server/sonar-web/src/main/js/apps/projectDeletion/Form.tsx b/server/sonar-web/src/main/js/apps/projectDeletion/Form.tsx index a1d3e684a41..4db17817d6b 100644 --- a/server/sonar-web/src/main/js/apps/projectDeletion/Form.tsx +++ b/server/sonar-web/src/main/js/apps/projectDeletion/Form.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../../components/ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import { withRouter, Router } from '../../components/hoc/withRouter'; import addGlobalSuccessMessage from '../../app/utils/addGlobalSuccessMessage'; -import ConfirmButton from '../../components/controls/ConfirmButton'; import { deleteProject, deletePortfolio } from '../../api/components'; -import { translate, translateWithParameters } from '../../helpers/l10n'; interface Props { component: Pick<T.Component, 'key' | 'name' | 'qualifier'>; diff --git a/server/sonar-web/src/main/js/apps/projectDeletion/Header.tsx b/server/sonar-web/src/main/js/apps/projectDeletion/Header.tsx index 9110d65acb5..d4b692009a7 100644 --- a/server/sonar-web/src/main/js/apps/projectDeletion/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectDeletion/Header.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { component: Pick<T.Component, 'qualifier'>; diff --git a/server/sonar-web/src/main/js/apps/projectKey/Key.tsx b/server/sonar-web/src/main/js/apps/projectKey/Key.tsx index 9e79dfb84af..06727783c59 100644 --- a/server/sonar-web/src/main/js/apps/projectKey/Key.tsx +++ b/server/sonar-web/src/main/js/apps/projectKey/Key.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { withRouter, WithRouterProps } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import UpdateForm from './UpdateForm'; import { changeKey } from '../../api/components'; import RecentHistory from '../../app/components/RecentHistory'; -import { translate } from '../../helpers/l10n'; interface Props { component: Pick<T.Component, 'key' | 'name'>; diff --git a/server/sonar-web/src/main/js/apps/projectKey/UpdateForm.tsx b/server/sonar-web/src/main/js/apps/projectKey/UpdateForm.tsx index 39dbe961d25..dd074484a7d 100644 --- a/server/sonar-web/src/main/js/apps/projectKey/UpdateForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectKey/UpdateForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button, SubmitButton } from '../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import ConfirmButton from '../../components/controls/ConfirmButton'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; interface Props { component: Pick<T.Component, 'key' | 'name'>; diff --git a/server/sonar-web/src/main/js/apps/projectKey/__tests__/UpdateForm-test.tsx b/server/sonar-web/src/main/js/apps/projectKey/__tests__/UpdateForm-test.tsx index 457575b7abf..9c53f5252bd 100644 --- a/server/sonar-web/src/main/js/apps/projectKey/__tests__/UpdateForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectKey/__tests__/UpdateForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { change, click } from 'sonar-ui-common/helpers/testUtils'; import UpdateForm from '../UpdateForm'; -import { change, click } from '../../../helpers/testUtils'; it('should render', () => { const wrapper = shallow( diff --git a/server/sonar-web/src/main/js/apps/projectLinks/App.tsx b/server/sonar-web/src/main/js/apps/projectLinks/App.tsx index 7da834b0e10..213771d8bba 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/App.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import Header from './Header'; import Table from './Table'; import { getProjectLinks, createLink, deleteLink } from '../../api/projectLinks'; -import { translate } from '../../helpers/l10n'; -import DeferredSpinner from '../../components/common/DeferredSpinner'; interface Props { component: Pick<T.Component, 'key'>; diff --git a/server/sonar-web/src/main/js/apps/projectLinks/CreationModal.tsx b/server/sonar-web/src/main/js/apps/projectLinks/CreationModal.tsx index 5ad2acbd937..ebdc7db435f 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/CreationModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/CreationModal.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../components/common/DeferredSpinner'; -import SimpleModal from '../../components/controls/SimpleModal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectLinks/Header.tsx b/server/sonar-web/src/main/js/apps/projectLinks/Header.tsx index 1cd2108b451..c5090a2df91 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/Header.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import CreationModal from './CreationModal'; -import { Button } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; interface Props { onCreate: (name: string, url: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/projectLinks/LinkRow.tsx b/server/sonar-web/src/main/js/apps/projectLinks/LinkRow.tsx index d93af8f9699..a628eb2f2a8 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/LinkRow.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/LinkRow.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import ProjectLinkIcon from 'sonar-ui-common/components/icons/ProjectLinkIcon'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import { isProvided, getLinkName } from './utils'; -import ConfirmButton from '../../components/controls/ConfirmButton'; -import ProjectLinkIcon from '../../components/icons-components/ProjectLinkIcon'; -import { Button } from '../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../helpers/l10n'; import isValidUri from '../../app/utils/isValidUri'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectLinks/Table.tsx b/server/sonar-web/src/main/js/apps/projectLinks/Table.tsx index eda9ca1ed18..a6ccafde131 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/Table.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/Table.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import LinkRow from './LinkRow'; import { orderLinks } from './utils'; -import { translate } from '../../helpers/l10n'; interface Props { links: T.ProjectLink[]; diff --git a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/App-test.tsx index 6586681d5d7..d849e477f82 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/App-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import App from '../App'; -import { waitAndUpdate } from '../../../helpers/testUtils'; import { createLink, deleteLink, getProjectLinks } from '../../../api/projectLinks'; // import { getProjectLinks, createLink, deleteLink } from '../../api/projectLinks'; diff --git a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/CreationModal-test.tsx b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/CreationModal-test.tsx index 025b6770aa0..781303f1a6d 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/CreationModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/CreationModal-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit } from 'sonar-ui-common/helpers/testUtils'; import CreationModal from '../CreationModal'; -import { change, submit } from '../../../helpers/testUtils'; it('should create link', () => { const onClose = jest.fn(); diff --git a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/Header-test.tsx b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/Header-test.tsx index dc59300771c..105117e83ec 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/__tests__/Header-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectLinks/__tests__/Header-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Header from '../Header'; -import { click } from '../../../helpers/testUtils'; it('should render', () => { expect(shallow(<Header onCreate={jest.fn()} />)).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/projectLinks/utils.ts b/server/sonar-web/src/main/js/apps/projectLinks/utils.ts index e2587c7efd5..fca327946a6 100644 --- a/server/sonar-web/src/main/js/apps/projectLinks/utils.ts +++ b/server/sonar-web/src/main/js/apps/projectLinks/utils.ts @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { partition, sortBy } from 'lodash'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; const PROVIDED_TYPES = ['homepage', 'ci', 'issue', 'scm', 'scm_dev']; type NameAndType = Pick<T.ProjectLink, 'name' | 'type'>; diff --git a/server/sonar-web/src/main/js/apps/projectQualityGate/App.tsx b/server/sonar-web/src/main/js/apps/projectQualityGate/App.tsx index 8c58ba0336b..351b224b8da 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityGate/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityGate/App.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import Form from './Form'; import { @@ -31,7 +32,6 @@ import A11ySkipTarget from '../../app/components/a11y/A11ySkipTarget'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; import addGlobalSuccessMessage from '../../app/utils/addGlobalSuccessMessage'; import handleRequiredAuthorization from '../../app/utils/handleRequiredAuthorization'; -import { translate } from '../../helpers/l10n'; interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/apps/projectQualityGate/Form.tsx b/server/sonar-web/src/main/js/apps/projectQualityGate/Form.tsx index 164383e6872..70f312a1524 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityGate/Form.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityGate/Form.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Select from '../../components/controls/Select'; -import { translate } from '../../helpers/l10n'; interface Props { allGates: T.QualityGate[]; diff --git a/server/sonar-web/src/main/js/apps/projectQualityGate/Header.tsx b/server/sonar-web/src/main/js/apps/projectQualityGate/Header.tsx index c9259620488..ef39e9b100e 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityGate/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityGate/Header.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DocTooltip from '../../components/docs/DocTooltip'; -import { translate } from '../../helpers/l10n'; export default function Header() { return ( diff --git a/server/sonar-web/src/main/js/apps/projectQualityGate/routes.ts b/server/sonar-web/src/main/js/apps/projectQualityGate/routes.ts index f204ab41f2f..f7ec351ad29 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityGate/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectQualityGate/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/projectQualityProfiles/App.tsx b/server/sonar-web/src/main/js/apps/projectQualityProfiles/App.tsx index 6f168892b31..795994b4a9b 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityProfiles/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityProfiles/App.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import Header from './Header'; import Table from './Table'; import { @@ -31,7 +32,6 @@ import A11ySkipTarget from '../../app/components/a11y/A11ySkipTarget'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; import addGlobalSuccessMessage from '../../app/utils/addGlobalSuccessMessage'; import handleRequiredAuthorization from '../../app/utils/handleRequiredAuthorization'; -import { translate, translateWithParameters } from '../../helpers/l10n'; interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/apps/projectQualityProfiles/Header.tsx b/server/sonar-web/src/main/js/apps/projectQualityProfiles/Header.tsx index 9ffa33f912b..1f8368b6a32 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityProfiles/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityProfiles/Header.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DocTooltip from '../../components/docs/DocTooltip'; -import { translate } from '../../helpers/l10n'; export default function Header() { return ( diff --git a/server/sonar-web/src/main/js/apps/projectQualityProfiles/ProfileRow.tsx b/server/sonar-web/src/main/js/apps/projectQualityProfiles/ProfileRow.tsx index 36680b4fcdf..90a477ae3a5 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityProfiles/ProfileRow.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityProfiles/ProfileRow.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Profile } from '../../api/quality-profiles'; import Select from '../../components/controls/Select'; -import { translate } from '../../helpers/l10n'; interface Props { onChangeProfile: (oldProfile: string, newProfile: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/projectQualityProfiles/Table.tsx b/server/sonar-web/src/main/js/apps/projectQualityProfiles/Table.tsx index ceaa872d419..2b3c350f8b6 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityProfiles/Table.tsx +++ b/server/sonar-web/src/main/js/apps/projectQualityProfiles/Table.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { groupBy, orderBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProfileRow from './ProfileRow'; import { Profile } from '../../api/quality-profiles'; -import { translate } from '../../helpers/l10n'; interface Props { allProfiles: Profile[]; diff --git a/server/sonar-web/src/main/js/apps/projectQualityProfiles/routes.ts b/server/sonar-web/src/main/js/apps/projectQualityProfiles/routes.ts index f204ab41f2f..f7ec351ad29 100644 --- a/server/sonar-web/src/main/js/apps/projectQualityProfiles/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectQualityProfiles/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx index 19b0afa67d3..2fb44311290 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx @@ -20,13 +20,16 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { omitBy } from 'lodash'; +import { addSideBarClass, removeSideBarClass } from 'sonar-ui-common/helpers/pages'; +import { get, save } from 'sonar-ui-common/helpers/storage'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import PageHeader from './PageHeader'; import ProjectsList from './ProjectsList'; import PageSidebar from './PageSidebar'; -import handleRequiredAuthentication from '../../../app/utils/handleRequiredAuthentication'; import A11ySkipTarget from '../../../app/components/a11y/A11ySkipTarget'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import ListFooter from '../../../components/controls/ListFooter'; import OrganizationEmpty from '../../organizations/components/OrganizationEmpty'; import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; @@ -34,10 +37,6 @@ import Visualizations from '../visualizations/Visualizations'; import { Project, Facets } from '../types'; import { fetchProjects, parseSorting, SORTING_SWITCH } from '../utils'; import { parseUrlQuery, Query, hasFilterParams, hasVisualizationParams } from '../query'; -import { translate } from '../../../helpers/l10n'; -import { addSideBarClass, removeSideBarClass } from '../../../helpers/pages'; -import { RawQuery } from '../../../helpers/query'; -import { get, save } from '../../../helpers/storage'; import { isSonarCloud } from '../../../helpers/system'; import { isLoggedIn } from '../../../helpers/users'; import { OnboardingContext } from '../../../app/components/OnboardingContext'; @@ -237,7 +236,7 @@ export class AllProjects extends React.PureComponent<Props, State> { } }; - updateLocationQuery = (newQuery: RawQuery) => { + updateLocationQuery = (newQuery: T.RawQuery) => { const query = omitBy({ ...this.props.location.query, ...newQuery }, x => !x); this.props.router.push({ pathname: this.props.location.pathname, query }); }; diff --git a/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.tsx b/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.tsx index 0250532e123..0039aa6e1f6 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/AllProjectsContainer.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { connect } from 'react-redux'; -import { lazyLoad } from '../../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { getCurrentUser, areThereCustomOrganizations, Store } from '../../../store/rootReducer'; const stateToProps = (state: Store) => ({ diff --git a/server/sonar-web/src/main/js/apps/projects/components/ClearAll.tsx b/server/sonar-web/src/main/js/apps/projects/components/ClearAll.tsx index d9892cb92ca..dc3801ee475 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ClearAll.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ClearAll.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; interface Props { onClearAll: () => void; diff --git a/server/sonar-web/src/main/js/apps/projects/components/DefaultPageSelector.tsx b/server/sonar-web/src/main/js/apps/projects/components/DefaultPageSelector.tsx index 74139d2c704..2107f27314c 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/DefaultPageSelector.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/DefaultPageSelector.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { get } from 'sonar-ui-common/helpers/storage'; import AllProjectsContainer from './AllProjectsContainer'; import { PROJECTS_DEFAULT_FILTER, PROJECTS_FAVORITE, PROJECTS_ALL } from '../utils'; -import { get } from '../../../helpers/storage'; import { searchProjects } from '../../../api/components'; import { isSonarCloud } from '../../../helpers/system'; import { isLoggedIn } from '../../../helpers/users'; diff --git a/server/sonar-web/src/main/js/apps/projects/components/EmptyFavoriteSearch.tsx b/server/sonar-web/src/main/js/apps/projects/components/EmptyFavoriteSearch.tsx index 91f54a271f8..7519ba586f3 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/EmptyFavoriteSearch.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/EmptyFavoriteSearch.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Query } from '../query'; import '../../../components/common/EmptySearch.css'; diff --git a/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.tsx b/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.tsx index 96d2bd4f4d0..bfd3e2a6250 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import { Button } from '../../../components/ui/buttons'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { isSonarCloud } from '../../../helpers/system'; import { hasGlobalPermission, isLoggedIn } from '../../../helpers/users'; import { OnboardingContextShape } from '../../../app/components/OnboardingContext'; diff --git a/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilter.tsx b/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilter.tsx index 80c16bfb930..4e112bffa6c 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/FavoriteFilter.tsx @@ -19,16 +19,15 @@ */ import * as React from 'react'; import { IndexLink, Link } from 'react-router'; -import { translate } from '../../../helpers/l10n'; -import { save } from '../../../helpers/storage'; -import { RawQuery } from '../../../helpers/query'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { PROJECTS_DEFAULT_FILTER, PROJECTS_FAVORITE, PROJECTS_ALL } from '../utils'; import { isLoggedIn } from '../../../helpers/users'; interface Props { currentUser: T.CurrentUser; organization?: { key: string }; - query?: RawQuery; + query?: T.RawQuery; } export default class FavoriteFilter extends React.PureComponent<Props> { diff --git a/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.tsx b/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.tsx index 9ebb7363683..7132c0bd98b 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; import { Link } from 'react-router'; import { connect } from 'react-redux'; import { sortBy } from 'lodash'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; -import Dropdown from '../../../components/controls/Dropdown'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import OrganizationListItem from '../../../components/ui/OrganizationListItem'; -import { Button } from '../../../components/ui/buttons'; import { getMyOrganizations, Store } from '../../../store/rootReducer'; import { isSonarCloud } from '../../../helpers/system'; -import { translate } from '../../../helpers/l10n'; import { OnboardingContextShape } from '../../../app/components/OnboardingContext'; interface OwnProps { diff --git a/server/sonar-web/src/main/js/apps/projects/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/projects/components/PageHeader.tsx index 63ff287aa5d..29abf49354a 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/PageHeader.tsx @@ -19,13 +19,12 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import PerspectiveSelect from './PerspectiveSelect'; import ProjectsSortingSelect from './ProjectsSortingSelect'; import SearchFilterContainer from '../filters/SearchFilterContainer'; -import Tooltip from '../../../components/controls/Tooltip'; import HomePageSelect from '../../../components/controls/HomePageSelect'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; import { Project } from '../types'; import { isSonarCloud } from '../../../helpers/system'; import { isLoggedIn } from '../../../helpers/users'; @@ -35,11 +34,11 @@ interface Props { isFavorite: boolean; loading: boolean; onPerspectiveChange: (x: { view: string; visualization?: string }) => void; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; onSortChange: (sort: string, desc: boolean) => void; organization?: { key: string }; projects?: Project[]; - query: RawQuery; + query: T.RawQuery; selectedSort: string; total?: number; view: string; diff --git a/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.tsx b/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.tsx index dbb4de5a8b6..6b9ca2629a8 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { flatMap } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import FavoriteFilterContainer from './FavoriteFilterContainer'; import ClearAll from './ClearAll'; import LanguagesFilterContainer from '../filters/LanguagesFilterContainer'; @@ -36,17 +37,15 @@ import ReliabilityFilter from '../filters/ReliabilityFilter'; import SecurityFilter from '../filters/SecurityFilter'; import SizeFilter from '../filters/SizeFilter'; import TagsFilter from '../filters/TagsFilter'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; import { Facets } from '../types'; import { hasFilterParams } from '../query'; interface Props { facets?: Facets; onClearAll: () => void; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; - query: RawQuery; + query: T.RawQuery; showFavoriteFilter: boolean; view: string; visualization: string; @@ -59,7 +58,7 @@ export default function PageSidebar(props: Props) { const maxFacetValue = getMaxFacetValue(facets); const facetProps = { onQueryChange, maxFacetValue, organization, query }; - let linkQuery: RawQuery | undefined = undefined; + let linkQuery: T.RawQuery | undefined = undefined; if (view !== 'overall') { linkQuery = { view }; diff --git a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.tsx b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.tsx index 03213cb6f28..a841f8e0bbd 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PerspectiveSelectOption, { Option } from './PerspectiveSelectOption'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; import { VIEWS, VISUALIZATIONS } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelectOption.tsx b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelectOption.tsx index 5eaf9e52e6b..e5caa34de30 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelectOption.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelectOption.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import BubblesIcon from '../../../components/icons-components/BubblesIcon'; -import ListIcon from '../../../components/icons-components/ListIcon'; +import ListIcon from 'sonar-ui-common/components/icons/ListIcon'; +import BubblesIcon from 'sonar-ui-common/components/icons/BubblesIcon'; export interface Option { label: string; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.tsx index f36fb4b9d30..aae782adfc3 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.tsx index f943afbeefa..4c471ed73d1 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.tsx @@ -20,6 +20,7 @@ import * as React from 'react'; import { Link } from 'react-router'; import * as difference from 'date-fns/difference_in_milliseconds'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import ProjectCardQualityGate from './ProjectCardQualityGate'; import ProjectCardLeakMeasures from './ProjectCardLeakMeasures'; import ProjectCardOrganizationContainer from './ProjectCardOrganizationContainer'; @@ -27,7 +28,6 @@ import Favorite from '../../../components/controls/Favorite'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; import TagsList from '../../../components/tags/TagsList'; import PrivacyBadgeContainer from '../../../components/common/PrivacyBadgeContainer'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { Project } from '../types'; import { formatDuration } from '../utils'; import { getProjectUrl } from '../../../helpers/urls'; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeakMeasures.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeakMeasures.tsx index 1d9875f043a..964abe74301 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeakMeasures.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeakMeasures.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import Rating from 'sonar-ui-common/components/ui/Rating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Measure from '../../../components/measure/Measure'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import Rating from '../../../components/ui/Rating'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import { translate } from '../../../helpers/l10n'; interface Props { measures: T.Dict<string>; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.tsx index 25699239619..34edd81944d 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.tsx @@ -19,6 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import ProjectCardQualityGate from './ProjectCardQualityGate'; import ProjectCardOverallMeasures from './ProjectCardOverallMeasures'; import ProjectCardOrganizationContainer from './ProjectCardOrganizationContainer'; @@ -26,7 +27,6 @@ import Favorite from '../../../components/controls/Favorite'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; import TagsList from '../../../components/tags/TagsList'; import PrivacyBadgeContainer from '../../../components/common/PrivacyBadgeContainer'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { Project } from '../types'; import { getProjectUrl } from '../../../helpers/urls'; import { isLoggedIn } from '../../../helpers/users'; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverallMeasures.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverallMeasures.tsx index 5720f71393c..0d9a4a49e6a 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverallMeasures.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverallMeasures.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; +import Rating from 'sonar-ui-common/components/ui/Rating'; +import SizeRating from 'sonar-ui-common/components/ui/SizeRating'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectCardLanguagesContainer from './ProjectCardLanguagesContainer'; import Measure from '../../../components/measure/Measure'; -import Rating from '../../../components/ui/Rating'; import CoverageRating from '../../../components/ui/CoverageRating'; -import DuplicationsRating from '../../../components/ui/DuplicationsRating'; -import SizeRating from '../../../components/ui/SizeRating'; -import { translate } from '../../../helpers/l10n'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; interface Props { measures: T.Dict<string | undefined>; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardQualityGate.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardQualityGate.tsx index 80a1310b9b7..ba15537458f 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardQualityGate.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardQualityGate.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Level from '../../../components/ui/Level'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import Tooltip from '../../../components/controls/Tooltip'; -import { formatMeasure } from '../../../helpers/measures'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; interface Props { status?: string; diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.tsx b/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.tsx index b6c5529a650..aa3e51e4f0a 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import SortDescIcon from 'sonar-ui-common/components/icons/SortDescIcon'; import { sortBy } from 'lodash'; +import SortAscIcon from 'sonar-ui-common/components/icons/SortAscIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; import ProjectsSortingSelectOption, { Option } from './ProjectsSortingSelectOption'; -import * as theme from '../../../app/theme'; -import SortAscIcon from '../../../components/icons-components/SortAscIcon'; -import SortDescIcon from '../../../components/icons-components/SortDescIcon'; +import { colors } from '../../../app/theme'; import Select from '../../../components/controls/Select'; -import Tooltip from '../../../components/controls/Tooltip'; -import { ButtonIcon } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { SORTING_METRICS, SORTING_LEAK_METRICS, parseSorting } from '../utils'; interface Props { @@ -80,7 +80,7 @@ export default class ProjectsSortingSelect extends React.PureComponent<Props> { }> <ButtonIcon className="js-projects-sorting-invert spacer-left" - color={theme.gray60} + color={colors.gray60} onClick={this.handleDescToggle}> {sortDesc ? <SortDescIcon className="" /> : <SortAscIcon className="" />} </ButtonIcon> diff --git a/server/sonar-web/src/main/js/apps/projects/components/__tests__/AllProjects-test.tsx b/server/sonar-web/src/main/js/apps/projects/components/__tests__/AllProjects-test.tsx index 51910cc0d84..29b8363d5cd 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/__tests__/AllProjects-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/__tests__/AllProjects-test.tsx @@ -21,9 +21,9 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { AllProjects } from '../AllProjects'; -import { get, save } from '../../../../helpers/storage'; +import { get, save } from 'sonar-ui-common/helpers/storage'; import { isSonarCloud } from '../../../../helpers/system'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../ProjectsList', () => ({ // eslint-disable-next-line @@ -52,7 +52,7 @@ jest.mock('../../utils', () => { return utils; }); -jest.mock('../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn(() => null), save: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/projects/components/__tests__/ClearAll-test.tsx b/server/sonar-web/src/main/js/apps/projects/components/__tests__/ClearAll-test.tsx index 57cf308663a..de36c1d738c 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/__tests__/ClearAll-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/__tests__/ClearAll-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ClearAll from '../ClearAll'; -import { click } from '../../../../helpers/testUtils'; it('renders', () => { expect(shallow(<ClearAll onClearAll={jest.fn()} />)).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/projects/components/__tests__/DefaultPageSelector-test.tsx b/server/sonar-web/src/main/js/apps/projects/components/__tests__/DefaultPageSelector-test.tsx index 0d8a08b84f4..0e0399f342c 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/__tests__/DefaultPageSelector-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/__tests__/DefaultPageSelector-test.tsx @@ -17,7 +17,13 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* eslint-disable import/first, import/order */ +import * as React from 'react'; +import { mount } from 'enzyme'; +import { get } from 'sonar-ui-common/helpers/storage'; +import { doAsync } from 'sonar-ui-common/helpers/testUtils'; +import { DefaultPageSelector } from '../DefaultPageSelector'; +import { searchProjects } from '../../../../api/components'; + jest.mock('../AllProjectsContainer', () => ({ // eslint-disable-next-line default: function AllProjectsContainer() { @@ -25,7 +31,7 @@ jest.mock('../AllProjectsContainer', () => ({ } })); -jest.mock('../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn() })); @@ -33,16 +39,8 @@ jest.mock('../../../../api/components', () => ({ searchProjects: jest.fn() })); -import * as React from 'react'; -import { mount } from 'enzyme'; -import { DefaultPageSelector } from '../DefaultPageSelector'; -import { doAsync } from '../../../../helpers/testUtils'; - -const get = require('../../../../helpers/storage').get as jest.Mock<any>; -const searchProjects = require('../../../../api/components').searchProjects as jest.Mock<any>; - beforeEach(() => { - get.mockImplementation(() => '').mockClear(); + (get as jest.Mock).mockImplementation(() => '').mockClear(); }); it('shows all projects with existing filter', () => { @@ -58,21 +56,21 @@ it('shows all projects sorted by analysis date for anonymous', () => { }); it('shows favorite projects', () => { - get.mockImplementation(() => 'favorite'); + (get as jest.Mock).mockImplementation(() => 'favorite'); const replace = jest.fn(); mountRender(undefined, undefined, replace); expect(replace).lastCalledWith({ pathname: '/projects/favorite', query: {} }); }); it('shows all projects', () => { - get.mockImplementation(() => 'all'); + (get as jest.Mock).mockImplementation(() => 'all'); const replace = jest.fn(); mountRender(undefined, undefined, replace); expect(replace).not.toBeCalled(); }); it('fetches favorites', () => { - searchProjects.mockImplementation(() => Promise.resolve({ paging: { total: 3 } })); + (searchProjects as jest.Mock).mockImplementation(() => Promise.resolve({ paging: { total: 3 } })); const replace = jest.fn(); mountRender(undefined, undefined, replace); return doAsync().then(() => { diff --git a/server/sonar-web/src/main/js/apps/projects/components/__tests__/FavoriteFilter-test.tsx b/server/sonar-web/src/main/js/apps/projects/components/__tests__/FavoriteFilter-test.tsx index 1d874be0a69..91e44c29770 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/__tests__/FavoriteFilter-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/__tests__/FavoriteFilter-test.tsx @@ -17,16 +17,15 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* eslint-disable import/first */ -jest.mock('../../../../helpers/storage', () => ({ - save: jest.fn() -})); - import * as React from 'react'; import { shallow } from 'enzyme'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import FavoriteFilter from '../FavoriteFilter'; -import { save } from '../../../../helpers/storage'; -import { click } from '../../../../helpers/testUtils'; + +jest.mock('sonar-ui-common/helpers/storage', () => ({ + save: jest.fn() +})); const currentUser = { isLoggedIn: true }; const query = { size: 1 }; diff --git a/server/sonar-web/src/main/js/apps/projects/components/__tests__/ProjectsSortingSelect-test.tsx b/server/sonar-web/src/main/js/apps/projects/components/__tests__/ProjectsSortingSelect-test.tsx index 64e755aaa0c..5fdaf267cc4 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/__tests__/ProjectsSortingSelect-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/__tests__/ProjectsSortingSelect-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ProjectsSortingSelect from '../ProjectsSortingSelect'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly for overall view', () => { expect( diff --git a/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.tsx index cc2b9b8683b..d6b103de254 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.tsx @@ -18,19 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { + getCoverageRatingLabel, + getCoverageRatingAverageValue +} from 'sonar-ui-common/helpers/ratings'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; import CoverageRating from '../../../components/ui/CoverageRating'; -import { getCoverageRatingLabel, getCoverageRatingAverageValue } from '../../../helpers/ratings'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; export interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.tsx index d0d16e754ed..656bf42fa21 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.tsx @@ -18,22 +18,21 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Filter from './Filter'; -import FilterHeader from './FilterHeader'; -import DuplicationsRating from '../../../components/ui/DuplicationsRating'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; import { getDuplicationsRatingLabel, getDuplicationsRatingAverageValue -} from '../../../helpers/ratings'; -import { translate } from '../../../helpers/l10n'; +} from 'sonar-ui-common/helpers/ratings'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Filter from './Filter'; +import FilterHeader from './FilterHeader'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; export interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/Filter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/Filter.tsx index f5d9ddf3a35..b28aaaf8c91 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/Filter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/Filter.tsx @@ -19,17 +19,16 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; export type Option = string | number; interface Props { property: string; className?: string; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; options: Option[]; query: T.Dict<any>; renderOption: (option: Option, isSelected: boolean) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.tsx index 71592f4d272..08b190a63bb 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.tsx @@ -18,12 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Rating from 'sonar-ui-common/components/ui/Rating'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; -import Rating from '../../../components/ui/Rating'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; @@ -31,7 +30,7 @@ interface Props { headerDetail?: React.ReactNode; maxFacetValue?: number; name: string; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.tsx index aeba3067a00..364033ea765 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.tsx @@ -19,20 +19,19 @@ */ import * as React from 'react'; import { difference, sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; import SearchableFilterFooter from './SearchableFilterFooter'; import SearchableFilterOption from './SearchableFilterOption'; import { getLanguageByKey } from '../../../store/languages'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { facet?: Facet; languages: T.Languages; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/MaintainabilityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/MaintainabilityFilter.tsx index 39cfebbc357..c0e678a4ade 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/MaintainabilityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/MaintainabilityFilter.tsx @@ -18,18 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; import { Facet } from '../types'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; headerDetail?: React.ReactNode; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/NewLinesFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/NewLinesFilter.tsx index a3550fa8e70..0a18a2c8f23 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/NewLinesFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/NewLinesFilter.tsx @@ -18,18 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getSizeRatingLabel } from 'sonar-ui-common/helpers/ratings'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; -import { translate } from '../../../helpers/l10n'; -import { getSizeRatingLabel } from '../../../helpers/ratings'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; export interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/NewMaintainabilityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/NewMaintainabilityFilter.tsx index fc4a94a38e8..89cf199f3a2 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/NewMaintainabilityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/NewMaintainabilityFilter.tsx @@ -18,17 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import CodeSmellIcon from 'sonar-ui-common/components/icons/CodeSmellIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; -import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.tsx index 5646371d4b5..e7735b5eaea 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.tsx @@ -18,17 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/NewSecurityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/NewSecurityFilter.tsx index a1765c4fee8..7f9218e54db 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/NewSecurityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/NewSecurityFilter.tsx @@ -18,17 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx index b5f4d8f4c54..dda19769873 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx @@ -18,19 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; import { Facet } from '../types'; -import Level from '../../../components/ui/Level'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; export interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/ReliabilityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/ReliabilityFilter.tsx index a8a0c354fc2..f1d8b7f3da0 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/ReliabilityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/ReliabilityFilter.tsx @@ -18,18 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BugIcon from 'sonar-ui-common/components/icons/BugIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; import { Facet } from '../types'; -import BugIcon from '../../../components/icons-components/BugIcon'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; headerDetail?: React.ReactNode; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SearchFilterContainer.tsx b/server/sonar-web/src/main/js/apps/projects/filters/SearchFilterContainer.tsx index b0164467c03..5db734ab487 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SearchFilterContainer.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/SearchFilterContainer.tsx @@ -18,14 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SearchBox from '../../../components/controls/SearchBox'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; interface Props { className?: string; query: { search?: string }; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; } diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterFooter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterFooter.tsx index 1348341fc7f..bde972706e9 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterFooter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterFooter.tsx @@ -18,16 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; interface Props { isFavorite?: boolean; isLoading?: boolean; onInputChange?: (query: string) => void; onOpen?: () => void; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; options: Array<{ label: string; value: string }>; organization?: { key: string }; property: string; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.tsx b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.tsx index 4ae93df709a..3928c5442ee 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { option?: { name: string }; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SecurityFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/SecurityFilter.tsx index 5c70922ae34..556840154f6 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SecurityFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/SecurityFilter.tsx @@ -18,18 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssuesFilter from './IssuesFilter'; import { Facet } from '../types'; -import VulnerabilityIcon from '../../../components/icons-components/VulnerabilityIcon'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; interface Props { className?: string; facet?: Facet; headerDetail?: React.ReactNode; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; query: T.Dict<any>; value?: any; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SizeFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/SizeFilter.tsx index 9b19c58e26a..19d51a68b57 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SizeFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/SizeFilter.tsx @@ -18,19 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import SizeRating from 'sonar-ui-common/components/ui/SizeRating'; +import { getSizeRatingLabel, getSizeRatingAverageValue } from 'sonar-ui-common/helpers/ratings'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; -import SizeRating from '../../../components/ui/SizeRating'; -import { translate } from '../../../helpers/l10n'; -import { getSizeRatingLabel, getSizeRatingAverageValue } from '../../../helpers/ratings'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; export interface Props { className?: string; facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/TagsFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/TagsFilter.tsx index 2b1be5918cc..bf3f8db2886 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/TagsFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/TagsFilter.tsx @@ -19,19 +19,18 @@ */ import * as React from 'react'; import { debounce, difference, sortBy, size } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Filter from './Filter'; import FilterHeader from './FilterHeader'; import SearchableFilterFooter from './SearchableFilterFooter'; import SearchableFilterOption from './SearchableFilterOption'; import { searchProjectTags } from '../../../api/components'; -import { translate } from '../../../helpers/l10n'; import { Facet } from '../types'; -import { RawQuery } from '../../../helpers/query'; interface Props { facet?: Facet; maxFacetValue?: number; - onQueryChange: (change: RawQuery) => void; + onQueryChange: (change: T.RawQuery) => void; organization?: { key: string }; property?: string; query: T.Dict<any>; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/utils.ts b/server/sonar-web/src/main/js/apps/projects/filters/utils.ts index 2ac6f2d8c92..445e1514f1b 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/utils.ts +++ b/server/sonar-web/src/main/js/apps/projects/filters/utils.ts @@ -18,20 +18,19 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { each, isNil, omitBy } from 'lodash'; -import { RawQuery } from '../../../helpers/query'; interface OwnProps { isFavorite?: boolean; organization?: { key: string }; - query: RawQuery; + query: T.RawQuery; } -export function getFilterUrl(ownProps: OwnProps, part: RawQuery) { +export function getFilterUrl(ownProps: OwnProps, part: T.RawQuery) { const basePathName = ownProps.organization ? `/organizations/${ownProps.organization.key}/projects` : '/projects'; const pathname = basePathName + (ownProps.isFavorite ? '/favorite' : ''); - const query: RawQuery = omitBy({ ...ownProps.query, ...part }, isNil); + const query: T.RawQuery = omitBy({ ...ownProps.query, ...part }, isNil); each(query, (value, key) => { if (Array.isArray(value)) { query[key] = value.join(','); diff --git a/server/sonar-web/src/main/js/apps/projects/query.ts b/server/sonar-web/src/main/js/apps/projects/query.ts index 33adc5cd096..36831063b2d 100644 --- a/server/sonar-web/src/main/js/apps/projects/query.ts +++ b/server/sonar-web/src/main/js/apps/projects/query.ts @@ -18,7 +18,6 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { VISUALIZATIONS } from './utils'; -import { RawQuery } from '../../helpers/query'; type Level = 'ERROR' | 'WARN' | 'OK'; @@ -45,7 +44,7 @@ export interface Query { [x: string]: string | number | string[] | undefined; } -export function parseUrlQuery(urlQuery: RawQuery): Query { +export function parseUrlQuery(urlQuery: T.RawQuery): Query { return { gate: getAsLevel(urlQuery['gate']), reliability: getAsNumericRating(urlQuery['reliability']), diff --git a/server/sonar-web/src/main/js/apps/projects/routes.ts b/server/sonar-web/src/main/js/apps/projects/routes.ts index 2017955acfd..e382730ea53 100644 --- a/server/sonar-web/src/main/js/apps/projects/routes.ts +++ b/server/sonar-web/src/main/js/apps/projects/routes.ts @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { RouterState, RedirectFunction } from 'react-router'; +import { save } from 'sonar-ui-common/helpers/storage'; +import { isDefined } from 'sonar-ui-common/helpers/types'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import DefaultPageSelectorContainer from './components/DefaultPageSelectorContainer'; import FavoriteProjectsContainer from './components/FavoriteProjectsContainer'; import { PROJECTS_DEFAULT_FILTER, PROJECTS_ALL } from './utils'; -import { save } from '../../helpers/storage'; -import { lazyLoad } from '../../components/lazyLoad'; -import { isDefined } from '../../helpers/types'; const routes = [ { indexRoute: { component: DefaultPageSelectorContainer } }, diff --git a/server/sonar-web/src/main/js/apps/projects/utils.ts b/server/sonar-web/src/main/js/apps/projects/utils.ts index 7f977c72b9c..110e0436d3f 100644 --- a/server/sonar-web/src/main/js/apps/projects/utils.ts +++ b/server/sonar-web/src/main/js/apps/projects/utils.ts @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { uniq } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { RequestData } from 'sonar-ui-common/helpers/request'; import { Query, convertToFilter } from './query'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { RequestData } from '../../helpers/request'; import { getOrganizations } from '../../api/organizations'; import { searchProjects, Facet } from '../../api/components'; import { getMeasuresForProjects } from '../../api/measures'; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Coverage.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Coverage.tsx index 2517f41b433..f91dd5f67f7 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Coverage.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Coverage.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleBubbleChart from './SimpleBubbleChart'; import { Project } from '../types'; -import { translate } from '../../../helpers/l10n'; interface Props { displayOrganizations: boolean; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Duplications.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Duplications.tsx index 28bc530f4a4..f0972d82fe4 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Duplications.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Duplications.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleBubbleChart from './SimpleBubbleChart'; import { Project } from '../types'; -import { translate } from '../../../helpers/l10n'; interface Props { displayOrganizations: boolean; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Maintainability.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Maintainability.tsx index c859eb2f49a..7bd976e0365 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Maintainability.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Maintainability.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleBubbleChart from './SimpleBubbleChart'; import { Project } from '../types'; -import { translate } from '../../../helpers/l10n'; interface Props { displayOrganizations: boolean; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Reliability.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Reliability.tsx index 1e85076c8c9..9b42b27b98c 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Reliability.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Reliability.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleBubbleChart from './SimpleBubbleChart'; import { Project } from '../types'; -import { translate } from '../../../helpers/l10n'; interface Props { displayOrganizations: boolean; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.tsx index 9ed38ef61fb..57583a7ffd2 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BubbleChart from 'sonar-ui-common/components/charts/BubbleChart'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import { Project } from '../types'; import ColorRatingsLegend from '../../../components/charts/ColorRatingsLegend'; -import BubbleChart from '../../../components/charts/BubbleChart'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { RATING_COLORS } from '../../../helpers/constants'; import { getProjectUrl } from '../../../helpers/urls'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; const X_METRIC = 'sqale_index'; const X_METRIC_TYPE = 'SHORT_WORK_DUR'; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Security.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Security.tsx index f6d711f49ec..4e5bd53a8d2 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Security.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Security.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SimpleBubbleChart from './SimpleBubbleChart'; import { Project } from '../types'; -import { translate } from '../../../helpers/l10n'; interface Props { displayOrganizations: boolean; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.tsx index 5b3210f26ff..e6d20dca4f6 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BubbleChart from 'sonar-ui-common/components/charts/BubbleChart'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import ColorRatingsLegend from '../../../components/charts/ColorRatingsLegend'; -import BubbleChart from '../../../components/charts/BubbleChart'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { RATING_COLORS } from '../../../helpers/constants'; import { getProjectUrl } from '../../../helpers/urls'; import { Project } from '../types'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; interface Metric { key: string; diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.tsx b/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.tsx index 153c74fd54b..d1d72100f15 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.tsx +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import Risk from './Risk'; import Reliability from './Reliability'; import Security from './Security'; @@ -26,7 +27,6 @@ import Coverage from './Coverage'; import Duplications from './Duplications'; import { localizeSorting } from '../utils'; import { Project } from '../types'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { displayOrganizations?: boolean; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx index 762e7863539..29b60956fca 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx @@ -20,15 +20,15 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { debounce, uniq, without } from 'lodash'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Header from './Header'; import Search from './Search'; import Projects from './Projects'; import CreateProjectForm from './CreateProjectForm'; -import ListFooter from '../../components/controls/ListFooter'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; import { getComponents, Project } from '../../api/components'; -import { toNotSoISOString } from '../../helpers/dates'; -import { translate } from '../../helpers/l10n'; export interface Props { currentUser: { login: string }; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx index e3c32aa20e4..346cfd598f7 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { getPermissionTemplates, bulkApplyTemplate } from '../../api/permissions'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import Modal from '../../components/controls/Modal'; import Select from '../../components/controls/Select'; -import { ResetButtonLink, SubmitButton } from '../../components/ui/buttons'; -import { toNotSoISOString } from '../../helpers/dates'; -import { Alert } from '../../components/ui/Alert'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx index 0a301474573..be3465b3518 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Modal from '../../components/controls/Modal'; -import { Button, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; -import { Alert } from '../../components/ui/Alert'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; export interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx index a916e81d16e..a1ae7dd12be 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx @@ -20,14 +20,14 @@ import * as React from 'react'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { createProject } from '../../api/components'; import UpgradeOrganizationBox from '../create/components/UpgradeOrganizationBox'; import VisibilitySelector from '../../components/common/VisibilitySelector'; -import Modal from '../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { getProjectUrl } from '../../helpers/urls'; -import { Alert } from '../../components/ui/Alert'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx index 7af92618315..c4ebb6bbd48 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { bulkDeleteProjects } from '../../api/components'; -import Modal from '../../components/controls/Modal'; -import { ResetButtonLink, SubmitButton } from '../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { toNotSoISOString } from '../../helpers/dates'; -import { Alert } from '../../components/ui/Alert'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx index 4aa4f650acf..b3c87ccfc74 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { EditButton, Button } from 'sonar-ui-common/components/controls/buttons'; import ChangeDefaultVisibilityForm from './ChangeDefaultVisibilityForm'; -import { EditButton, Button } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { isSonarCloud } from '../../helpers/system'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx index cb1fe0f2d15..1273e30ffd3 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { Link } from 'react-router'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import ProjectRowActions from './ProjectRowActions'; import PrivacyBadgeContainer from '../../components/common/PrivacyBadgeContainer'; -import Checkbox from '../../components/controls/Checkbox'; -import QualifierIcon from '../../components/icons-components/QualifierIcon'; import DateTooltipFormatter from '../../components/intl/DateTooltipFormatter'; import { Project } from '../../api/components'; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx index ee70b8ffbcc..abff099d1ee 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx @@ -18,12 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import RestoreAccessModal from './RestoreAccessModal'; import ApplyTemplate from '../permissions/project/components/ApplyTemplate'; import { getComponentShow, Project } from '../../api/components'; import { getComponentNavigation } from '../../api/nav'; -import ActionsDropdown, { ActionsDropdownItem } from '../../components/controls/ActionsDropdown'; -import { translate } from '../../helpers/l10n'; import { getComponentPermissionsUrl } from '../../helpers/urls'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx index c593c333c7d..d644c5410d2 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectRow from './ProjectRow'; -import { translate } from '../../helpers/l10n'; import { Project } from '../../api/components'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx index 5f949cef2e4..89fc396db7d 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { grantPermissionToUser } from '../../api/permissions'; -import Modal from '../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { Project } from '../../api/components'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx index 65041f5269b..fe4d6c7c373 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx @@ -18,18 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import BulkApplyTemplateModal from './BulkApplyTemplateModal'; import DeleteModal from './DeleteModal'; -import Checkbox from '../../components/controls/Checkbox'; -import QualifierIcon from '../../components/icons-components/QualifierIcon'; -import HelpTooltip from '../../components/controls/HelpTooltip'; import DateInput from '../../components/controls/DateInput'; import Select from '../../components/controls/Select'; -import SearchBox from '../../components/controls/SearchBox'; -import { Button } from '../../components/ui/buttons'; import { Project } from '../../api/components'; -import { translate } from '../../helpers/l10n'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx index 0cfec7a9349..8bec56364c4 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx @@ -21,8 +21,8 @@ import * as React from 'react'; import { mount, shallow } from 'enzyme'; import BulkApplyTemplateModal, { Props } from '../BulkApplyTemplateModal'; -import { click, waitAndUpdate } from '../../../helpers/testUtils'; -import { parseDate } from '../../../helpers/dates'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; jest.mock('../../../api/permissions', () => ({ bulkApplyTemplate: jest.fn(() => Promise.resolve()), diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx index 9688ed7d87b..2c5045b55c0 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ChangeDefaultVisibilityForm from '../ChangeDefaultVisibilityForm'; -import { click } from '../../../helpers/testUtils'; const organization: T.Organization = { canUpdateProjectsVisibilityToPrivate: true, diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx index faacb172011..111d396074f 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx @@ -27,7 +27,7 @@ jest.mock('../../../api/components', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import CreateProjectForm from '../CreateProjectForm'; -import { change, submit, waitAndUpdate } from '../../../helpers/testUtils'; +import { change, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; const createProject = require('../../../api/components').createProject as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx index 9347161a6f2..7683448ed02 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx @@ -25,8 +25,8 @@ jest.mock('../../../api/components', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import DeleteModal, { Props } from '../DeleteModal'; -import { click } from '../../../helpers/testUtils'; -import { parseDate } from '../../../helpers/dates'; +import { click } from 'sonar-ui-common/helpers/testUtils'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; const bulkDeleteProjects = require('../../../api/components').bulkDeleteProjects as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx index e0314ee5e53..28c593e890c 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Header, { Props } from '../Header'; -import { click } from '../../../helpers/testUtils'; jest.mock('../../../helpers/system', () => ({ isSonarCloud: jest.fn().mockReturnValue(false) })); diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx index dc1c3a04694..93acc646f66 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProjectRowActions, { Props } from '../ProjectRowActions'; -import { click, waitAndUpdate } from '../../../helpers/testUtils'; import { Project } from '../../../api/components'; jest.mock('../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx index bd9d701f2dd..b78e61297db 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Search, { Props } from '../Search'; -import { click } from '../../../helpers/testUtils'; const organization: T.Organization = { key: 'org', name: 'org', projectVisibility: 'public' }; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts b/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts index e8fbb4ccc8f..09ea09a60d9 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/App.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/App.tsx index 3b7d6bff1bc..eaff4833624 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/App.tsx @@ -18,22 +18,22 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { WithRouterProps } from 'react-router'; import Helmet from 'react-helmet'; +import { WithRouterProps } from 'react-router'; +import { + addSideBarClass, + addWhitePageClass, + removeSideBarClass, + removeWhitePageClass +} from 'sonar-ui-common/helpers/pages'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import Details from './Details'; import List from './List'; import ListHeader from './ListHeader'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { fetchQualityGates } from '../../../api/quality-gates'; -import { translate } from '../../../helpers/l10n'; -import { - addSideBarClass, - addWhitePageClass, - removeSideBarClass, - removeWhitePageClass -} from '../../../helpers/pages'; import { getQualityGateUrl } from '../../../helpers/urls'; import '../../../components/search-navigator.css'; import '../styles.css'; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/BuiltInQualityGateBadge.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/BuiltInQualityGateBadge.tsx index da84e9c7297..fd51afca73b 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/BuiltInQualityGateBadge.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/BuiltInQualityGateBadge.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx index 9d7762977d5..79a98095530 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx @@ -18,11 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { + translate, + getLocalizedMetricName, + translateWithParameters +} from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import ConditionModal from './ConditionModal'; -import ActionsDropdown, { ActionsDropdownItem } from '../../../components/controls/ActionsDropdown'; -import { translate, getLocalizedMetricName, translateWithParameters } from '../../../helpers/l10n'; -import { formatMeasure } from '../../../helpers/measures'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; import { deleteCondition } from '../../../api/quality-gates'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx index 92f9219f92c..7ddad4e8b7e 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import MetricSelect from './MetricSelect'; import ConditionOperator from './ConditionOperator'; import ThresholdInput from './ThresholdInput'; -import { translate, getLocalizedMetricName } from '../../../helpers/l10n'; import { createCondition, updateCondition } from '../../../api/quality-gates'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; -import { Alert } from '../../../components/ui/Alert'; import { getPossibleOperators } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionOperator.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionOperator.tsx index b2cb17a398e..c0ae3db5bed 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionOperator.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionOperator.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; import { getPossibleOperators } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.tsx index 04f58b95564..c3e3804f7fc 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { differenceWith, map, sortBy, uniqBy } from 'lodash'; +import { translate, getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ModalButton from 'sonar-ui-common/components/controls/ModalButton'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import Condition from './Condition'; import ConditionModal from './ConditionModal'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate, getLocalizedMetricName } from '../../../helpers/l10n'; -import ModalButton from '../../../components/controls/ModalButton'; -import { Button } from '../../../components/ui/buttons'; -import { Alert } from '../../../components/ui/Alert'; interface Props { canEdit: boolean; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/CopyQualityGateForm.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/CopyQualityGateForm.tsx index a631c273c05..fa2c8bdf741 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/CopyQualityGateForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/CopyQualityGateForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; import { copyQualityGate } from '../../../api/quality-gates'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; -import { translate } from '../../../helpers/l10n'; import { getQualityGateUrl } from '../../../helpers/urls'; import { withRouter, Router } from '../../../components/hoc/withRouter'; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/CreateQualityGateForm.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/CreateQualityGateForm.tsx index c310bb32ab7..90acce88d7d 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/CreateQualityGateForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/CreateQualityGateForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; import { createQualityGate } from '../../../api/quality-gates'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; -import { translate } from '../../../helpers/l10n'; import { getQualityGateUrl } from '../../../helpers/urls'; import { withRouter, Router } from '../../../components/hoc/withRouter'; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/DeleteQualityGateForm.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/DeleteQualityGateForm.tsx index d468f962986..8e6bbe9b863 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/DeleteQualityGateForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/DeleteQualityGateForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import { deleteQualityGate } from '../../../api/quality-gates'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; -import { Button } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { getQualityGatesUrl } from '../../../helpers/urls'; import { withRouter, Router } from '../../../components/hoc/withRouter'; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Details.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/Details.tsx index 614f6ddecea..386fadf2e85 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Details.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Details.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import DetailsHeader from './DetailsHeader'; import DetailsContent from './DetailsContent'; import { getMetrics, Store } from '../../../store/rootReducer'; import { fetchMetrics } from '../../../store/rootActions'; import { fetchQualityGate } from '../../../api/quality-gates'; import { checkIfDefault, addCondition, replaceCondition, deleteCondition } from '../utils'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; interface OwnProps { id: string; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsContent.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsContent.tsx index b420ada7a14..38ea2e8c0b6 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsContent.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsContent.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Conditions from './Conditions'; import Projects from './Projects'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate } from '../../../helpers/l10n'; interface Props { isDefault?: boolean; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.tsx index d58b7d6ddff..b175b15bc5b 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ModalButton from 'sonar-ui-common/components/controls/ModalButton'; import BuiltInQualityGateBadge from './BuiltInQualityGateBadge'; import RenameQualityGateForm from './RenameQualityGateForm'; import CopyQualityGateForm from './CopyQualityGateForm'; import DeleteQualityGateForm from './DeleteQualityGateForm'; -import ModalButton from '../../../components/controls/ModalButton'; import { setQualityGateAsDefault } from '../../../api/quality-gates'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onSetDefault: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/List.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/List.tsx index f073fcb2e90..3d66dd9b26d 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/List.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/List.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import BuiltInQualityGateBadge from './BuiltInQualityGateBadge'; -import { translate } from '../../../helpers/l10n'; import { getQualityGateUrl } from '../../../helpers/urls'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.tsx index 04278309b86..f13b6507bc8 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ModalButton from 'sonar-ui-common/components/controls/ModalButton'; import CreateQualityGateForm from './CreateQualityGateForm'; -import { Button } from '../../../components/ui/buttons'; import DocTooltip from '../../../components/docs/DocTooltip'; -import ModalButton from '../../../components/controls/ModalButton'; -import { translate } from '../../../helpers/l10n'; interface Props { canCreate: boolean; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/MetricSelect.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/MetricSelect.tsx index 86bba914825..348a4bbc098 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/MetricSelect.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/MetricSelect.tsx @@ -19,8 +19,12 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { + translate, + getLocalizedMetricName, + getLocalizedMetricDomain +} from 'sonar-ui-common/helpers/l10n'; import Select from '../../../components/controls/Select'; -import { translate, getLocalizedMetricName, getLocalizedMetricDomain } from '../../../helpers/l10n'; interface Props { metrics: T.Metric[]; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Projects.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/Projects.tsx index 1db75ac3447..70c83e01b15 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Projects.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Projects.tsx @@ -17,15 +17,15 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { find, without } from 'lodash'; import * as React from 'react'; +import { find, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SelectList, { Filter } from '../../../components/SelectList/SelectList'; import { associateGateWithProject, dissociateGateWithProject, searchProjects } from '../../../api/quality-gates'; -import SelectList, { Filter } from '../../../components/SelectList/SelectList'; -import { translate } from '../../../helpers/l10n'; interface Props { canEdit?: boolean; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/RenameQualityGateForm.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/RenameQualityGateForm.tsx index 30bc667f7b7..b6e438e73cb 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/RenameQualityGateForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/RenameQualityGateForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ConfirmModal from '../../../components/controls/ConfirmModal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; import { renameQualityGate } from '../../../api/quality-gates'; -import { translate } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/Projects-test.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/Projects-test.tsx index 0efe2ae9496..fbf453f9302 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/Projects-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/Projects-test.tsx @@ -19,10 +19,10 @@ */ import { shallow } from 'enzyme'; import * as React from 'react'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import Projects, { SearchParams } from '../Projects'; import SelectList, { Filter } from '../../../../components/SelectList/SelectList'; import { mockQualityGate } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { searchProjects, associateGateWithProject, diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/ThresholdInput-test.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/ThresholdInput-test.tsx index b0243de41cf..edc3654e2a0 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/ThresholdInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/ThresholdInput-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change } from 'sonar-ui-common/helpers/testUtils'; import ThresholdInput from '../ThresholdInput'; -import { change } from '../../../../helpers/testUtils'; describe('on strings', () => { const metric = { id: '1', key: 'foo', name: 'Foo', type: 'INTEGER' }; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/routes.ts b/server/sonar-web/src/main/js/apps/quality-gates/routes.ts index 84582835185..a3f4bad12e1 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/routes.ts +++ b/server/sonar-web/src/main/js/apps/quality-gates/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const App = lazyLoad(() => import('./components/App')); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.tsx index ea5e152909c..38515f1a09d 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.tsx @@ -21,11 +21,11 @@ import * as React from 'react'; import { Link } from 'react-router'; import { sortBy } from 'lodash'; import * as isSameMinute from 'date-fns/is_same_minute'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ChangesList from './ChangesList'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import { translate } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; -import { parseDate } from '../../../helpers/dates'; import { ProfileChangelogEvent } from '../types'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogContainer.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogContainer.tsx index 6124d4fcdc9..d0211605f04 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogContainer.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogContainer.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { withRouter, WithRouterProps } from 'react-router'; +import { parseDate, toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Changelog from './Changelog'; import ChangelogSearch from './ChangelogSearch'; import ChangelogEmpty from './ChangelogEmpty'; import { getProfileChangelog } from '../../../api/quality-profiles'; -import { translate } from '../../../helpers/l10n'; import { getProfileChangelogPath } from '../utils'; import { Profile, ProfileChangelogEvent } from '../types'; -import { parseDate, toShortNotSoISOString } from '../../../helpers/dates'; interface Props extends WithRouterProps { organization: string | null; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogEmpty.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogEmpty.tsx index 2382a174a32..458a5a60cee 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogEmpty.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogEmpty.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function ChangelogEmpty() { return <div className="big-spacer-top">{translate('no_results')}</div>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogSearch.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogSearch.tsx index 79777eecee4..f7a9937adef 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogSearch.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangelogSearch.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import DateRangeInput from '../../../components/controls/DateRangeInput'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { dateRange: { from?: Date; to?: Date } | undefined; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ParameterChange.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ParameterChange.tsx index 5276ce9716a..0bd45ab0eee 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ParameterChange.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ParameterChange.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translateWithParameters } from '../../../helpers/l10n'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; interface Props { name: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.tsx index 815224e48a3..472564ee039 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SeverityHelper from '../../../components/shared/SeverityHelper'; -import { translate } from '../../../helpers/l10n'; interface Props { severity: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/__tests__/ChangelogSearch-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/__tests__/ChangelogSearch-test.tsx index 0857a43df09..b8ed2ed55a0 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/__tests__/ChangelogSearch-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/__tests__/ChangelogSearch-test.tsx @@ -19,9 +19,9 @@ */ import { shallow } from 'enzyme'; import * as React from 'react'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ChangelogSearch from '../ChangelogSearch'; -import { click } from '../../../../helpers/testUtils'; -import { parseDate } from '../../../../helpers/dates'; it('should render', () => { const output = shallow( diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonEmpty.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonEmpty.tsx index ba825800c5a..3646339d600 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonEmpty.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonEmpty.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function ComparisonEmpty() { return <div className="big-spacer-top">{translate('quality_profile.empty_comparison')}</div>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonForm.tsx index 1cfccf3c933..96fdf73db3b 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonForm.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Select from '../../../components/controls/Select'; -import { translate } from '../../../helpers/l10n'; import { Profile } from '../types'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResultActivation.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResultActivation.tsx index a3390ae8446..e58e2bf64ce 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResultActivation.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResultActivation.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { Profile } from '../../../api/quality-profiles'; -import { lazyLoad } from '../../../components/lazyLoad'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import { getRuleDetails } from '../../../api/rules'; const ActivationFormModal = lazyLoad( diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.tsx index 34a3e6f7f67..18ccfe9808e 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import ChevronLeftIcon from 'sonar-ui-common/components/icons/ChevronLeftIcon'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; +import SeverityIcon from 'sonar-ui-common/components/icons/SeverityIcon'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import ComparisonEmpty from './ComparisonEmpty'; import ComparisonResultActivation from './ComparisonResultActivation'; -import SeverityIcon from '../../../components/icons-components/SeverityIcon'; -import { translateWithParameters } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; import { CompareResponse, Profile } from '../../../api/quality-profiles'; -import ChevronRightIcon from '../../../components/icons-components/ChevronRightcon'; -import ChevronLeftIcon from '../../../components/icons-components/ChevronLeftIcon'; type Params = T.Dict<string>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/__tests__/ComparisonResultActivation-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/compare/__tests__/ComparisonResultActivation-test.tsx index 1dc15420e1f..2c8d7450b3d 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/__tests__/ComparisonResultActivation-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/__tests__/ComparisonResultActivation-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ComparisonResultActivation from '../ComparisonResultActivation'; import { Profile } from '../../../../api/quality-profiles'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/rules', () => ({ getRuleDetails: jest.fn().mockResolvedValue({ key: 'foo' }) diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/App.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/App.tsx index fe6dbbe0cb2..8af6e8742c0 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/App.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { searchQualityProfiles, getExporters, Actions } from '../../../api/quality-profiles'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { sortProfiles } from '../utils'; import { Exporter, Profile } from '../types'; import OrganizationHelmet from '../../../components/common/OrganizationHelmet'; -import { translate } from '../../../helpers/l10n'; import '../styles.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInQualityProfileBadge.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInQualityProfileBadge.tsx index 7da89fccf18..599cf63a29d 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInQualityProfileBadge.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInQualityProfileBadge.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.tsx index bcd4405a9c2..166ad3a27ee 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { Profile } from '../types'; import { copyProfile } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.tsx index f7bf8d0b95c..8a0e151d704 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { Profile } from '../types'; import { deleteProfile } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/ExtendProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/ExtendProfileForm.tsx index a686ceb5e18..84899c7dd86 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/ExtendProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/ExtendProfileForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { Profile } from '../types'; import { createQualityProfile, changeProfileParent } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.tsx index e5d833fca08..c3a0490d615 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.tsx @@ -18,19 +18,19 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem, + ActionsDropdownDivider +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import RenameProfileForm from './RenameProfileForm'; import CopyProfileForm from './CopyProfileForm'; import DeleteProfileForm from './DeleteProfileForm'; import ExtendProfileForm from './ExtendProfileForm'; -import { translate } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; import { setDefaultProfile } from '../../../api/quality-profiles'; import { getProfilePath, getProfileComparePath, getProfilesPath } from '../utils'; import { Profile } from '../types'; -import ActionsDropdown, { - ActionsDropdownItem, - ActionsDropdownDivider -} from '../../../components/controls/ActionsDropdown'; import { withRouter, Router } from '../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.tsx index bcb2e66f933..0009955b552 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFromNow from '../../../components/intl/DateFromNow'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; interface Props { date?: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileNotFound.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileNotFound.tsx index 8da801ecde9..7da2a0a6c67 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileNotFound.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileNotFound.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { IndexLink } from 'react-router'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getProfilesPath } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.tsx index 714dda6cce8..fe7daff295a 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { Profile } from '../types'; import { renameProfile } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ExtendProfileForm-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ExtendProfileForm-test.tsx index b1438543203..ec078d262eb 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ExtendProfileForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ExtendProfileForm-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ExtendProfileForm from '../ExtendProfileForm'; import { createQualityProfile, changeProfileParent } from '../../../../api/quality-profiles'; import { mockQualityProfile } from '../../../../helpers/testMocks'; -import { click } from '../../../../helpers/testUtils'; jest.mock('../../../../api/quality-profiles', () => ({ createQualityProfile: jest.fn().mockResolvedValue({ profile: { key: 'new-profile' } }), diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ProfileActions-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ProfileActions-test.tsx index badae2e66a0..0e25063f208 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ProfileActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/ProfileActions-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { ProfileActions } from '../ProfileActions'; import { mockQualityProfile, mockRouter } from '../../../../helpers/testMocks'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; const PROFILE = mockQualityProfile({ activeRuleCount: 68, diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.tsx index 1795c8e7045..30c2837000d 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { Profile } from '../types'; import { changeProfileParent } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; import Select from '../../../components/controls/Select'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onChange: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.tsx index 6086c91359f..6b5b1c99a01 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.tsx @@ -17,18 +17,18 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { find, without } from 'lodash'; import * as React from 'react'; +import { find, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import SelectList, { Filter } from '../../../components/SelectList/SelectList'; +import { Profile } from '../types'; import { associateProject, dissociateProject, getProfileProjects, ProfileProject } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import SelectList, { Filter } from '../../../components/SelectList/SelectList'; -import { translate } from '../../../helpers/l10n'; -import { Profile } from '../types'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.tsx index dcc74bc6e65..6514d16aebc 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.tsx @@ -19,7 +19,7 @@ */ import { stringify } from 'querystring'; import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Profile, Exporter } from '../types'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.tsx index 642be99acaf..802f258909c 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { Link, IndexLink } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProfileLink from '../components/ProfileLink'; import ProfileActions from '../components/ProfileActions'; import ProfileDate from '../components/ProfileDate'; import BuiltInQualityProfileBadge from '../components/BuiltInQualityProfileBadge'; -import { translate } from '../../../helpers/l10n'; import { isStagnant, getProfilesPath, diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.tsx index 7e41590a2ea..7626a02a489 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ProfileInheritanceBox from './ProfileInheritanceBox'; import ChangeParentForm from './ChangeParentForm'; import { Profile } from '../types'; import { getProfileInheritance } from '../../../api/quality-profiles'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { organization: string | null; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritanceBox.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritanceBox.tsx index f9350176161..1d7077c7c01 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritanceBox.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritanceBox.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import ProfileLink from '../components/ProfileLink'; import BuiltInQualityProfileBadge from '../components/BuiltInQualityProfileBadge'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissions.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissions.tsx index e980e89ca0a..a9816e9d4be 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissions.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissions.tsx @@ -19,6 +19,8 @@ */ import * as React from 'react'; import { sortBy, uniqBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ProfilePermissionsUser from './ProfilePermissionsUser'; import ProfilePermissionsGroup from './ProfilePermissionsGroup'; import ProfilePermissionsForm from './ProfilePermissionsForm'; @@ -27,8 +29,6 @@ import { searchGroups, SearchUsersGroupsParameters } from '../../../api/quality-profiles'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { Profile } from '../types'; export interface User { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsForm.tsx index 2cb0872c786..574063aaa4a 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsForm.tsx @@ -18,6 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { User, Group } from './ProfilePermissions'; import ProfilePermissionsFormSelect from './ProfilePermissionsFormSelect'; import { @@ -27,9 +30,6 @@ import { addGroup, SearchUsersGroupsParameters } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsFormSelect.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsFormSelect.tsx index 9cf5a9df4b2..3599277ea52 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsFormSelect.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsFormSelect.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import GroupIcon from 'sonar-ui-common/components/icons/GroupIcon'; import { debounce, identity } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import { User, Group } from './ProfilePermissions'; import Select from '../../../components/controls/Select'; import Avatar from '../../../components/ui/Avatar'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import GroupIcon from '../../../components/icons-components/GroupIcon'; type Option = User | Group; type OptionWithValue = Option & { value: string }; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsGroup.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsGroup.tsx index 7b2d1e283ce..ed8b58a2da7 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsGroup.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsGroup.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import GroupIcon from 'sonar-ui-common/components/icons/GroupIcon'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DeleteButton, Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal, { ChildrenProps } from 'sonar-ui-common/components/controls/SimpleModal'; import { Group } from './ProfilePermissions'; import { removeGroup } from '../../../api/quality-profiles'; -import SimpleModal, { ChildrenProps } from '../../../components/controls/SimpleModal'; -import GroupIcon from '../../../components/icons-components/GroupIcon'; -import { DeleteButton, Button, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { group: Group; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsUser.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsUser.tsx index b19408a8f0d..196ba45d7e9 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsUser.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfilePermissionsUser.tsx @@ -19,12 +19,16 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { + DeleteButton, + SubmitButton, + ResetButtonLink +} from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal, { ChildrenProps } from 'sonar-ui-common/components/controls/SimpleModal'; import { User } from './ProfilePermissions'; import { removeUser } from '../../../api/quality-profiles'; -import SimpleModal, { ChildrenProps } from '../../../components/controls/SimpleModal'; -import { DeleteButton, SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; import Avatar from '../../../components/ui/Avatar'; -import { translate } from '../../../helpers/l10n'; interface Props { onDelete: (user: User) => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.tsx index 072e5626aae..a3f1bdb45ee 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import ChangeProjectsForm from './ChangeProjectsForm'; import { Profile } from '../types'; import { getProfileProjects } from '../../../api/quality-profiles'; -import QualifierIcon from '../../../components/icons-components/QualifierIcon'; -import { Button } from '../../../components/ui/buttons'; -import ListFooter from '../../../components/controls/ListFooter'; -import { translate } from '../../../helpers/l10n'; interface Props { organization: string | null; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.tsx index e3afc0d7641..94112a3193c 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.tsx @@ -20,6 +20,8 @@ import * as React from 'react'; import { Link } from 'react-router'; import { keyBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import ProfileRulesRowOfType from './ProfileRulesRowOfType'; import ProfileRulesRowTotal from './ProfileRulesRowTotal'; import ProfileRulesDeprecatedWarning from './ProfileRulesDeprecatedWarning'; @@ -27,9 +29,7 @@ import ProfileRulesSonarWayComparison from './ProfileRulesSonarWayComparison'; import { searchRules, takeFacet } from '../../../api/rules'; import { getQualityProfile } from '../../../api/quality-profiles'; import { getRulesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; import { Profile } from '../types'; -import { Button } from '../../../components/ui/buttons'; import DocTooltip from '../../../components/docs/DocTooltip'; const TYPES = ['BUG', 'VULNERABILITY', 'CODE_SMELL', 'SECURITY_HOTSPOT']; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesDeprecatedWarning.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesDeprecatedWarning.tsx index f4c02d97fdf..f70aeea2992 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesDeprecatedWarning.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesDeprecatedWarning.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import { getDeprecatedActiveRulesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; interface Props { activeDeprecatedRules: number; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowOfType.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowOfType.tsx index cc34eff4c5b..ac0db586a5b 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowOfType.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowOfType.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; -import { formatMeasure } from '../../../helpers/measures'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import { getRulesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; interface Props { count: number | null; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowTotal.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowTotal.tsx index cfaa66ba331..4466edd96f6 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowTotal.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesRowTotal.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { formatMeasure } from '../../../helpers/measures'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { getRulesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; interface Props { count: number | null; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesSonarWayComparison.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesSonarWayComparison.tsx index 3a64bb7c574..e3ee03d5b68 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesSonarWayComparison.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRulesSonarWayComparison.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import { getRulesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; interface Props { language: string; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ChangeProjectsForm-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ChangeProjectsForm-test.tsx index 97f036ce3ab..ddf9f871a2b 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ChangeProjectsForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ChangeProjectsForm-test.tsx @@ -19,9 +19,9 @@ */ import { shallow } from 'enzyme'; import * as React from 'react'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ChangeProjectsForm, { SearchParams } from '../ChangeProjectsForm'; import SelectList, { Filter } from '../../../../components/SelectList/SelectList'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getProfileProjects, associateProject, @@ -124,6 +124,6 @@ it('should handle deselection properly', async () => { function shallowRender(props: Partial<ChangeProjectsForm['props']> = {}) { return shallow<ChangeProjectsForm>( - <ChangeProjectsForm onClose={jest.fn()} organization={'TEST'} profile={profile} {...props} /> + <ChangeProjectsForm onClose={jest.fn()} organization="TEST" profile={profile} {...props} /> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissions-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissions-test.tsx index e53d3678100..aa5f8479673 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissions-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissions-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { mount, shallow } from 'enzyme'; import ProfilePermissions from '../ProfilePermissions'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; jest.mock('../../../../api/quality-profiles', () => ({ searchUsers: jest.fn(() => Promise.resolve([])), diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsForm-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsForm-test.tsx index aa3c06581c3..65517fe1b2a 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsForm-test.tsx @@ -26,7 +26,7 @@ jest.mock('../../../../api/quality-profiles', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import ProfilePermissionsForm from '../ProfilePermissionsForm'; -import { submit } from '../../../../helpers/testUtils'; +import { submit } from 'sonar-ui-common/helpers/testUtils'; const addUser = require('../../../../api/quality-profiles').addUser as jest.Mock<any>; const addGroup = require('../../../../api/quality-profiles').addGroup as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsGroup-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsGroup-test.tsx index 0dbf1dc5a80..f6e3e5388db 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsGroup-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsGroup-test.tsx @@ -25,7 +25,7 @@ jest.mock('../../../../api/quality-profiles', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import ProfilePermissionsGroup from '../ProfilePermissionsGroup'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; const removeGroup = require('../../../../api/quality-profiles').removeGroup as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsUser-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsUser-test.tsx index 5111d989cd9..027390687f1 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsUser-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfilePermissionsUser-test.tsx @@ -25,7 +25,7 @@ jest.mock('../../../../api/quality-profiles', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import ProfilePermissionsUser from '../ProfilePermissionsUser'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; const removeUser = require('../../../../api/quality-profiles').removeUser as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileProjects-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileProjects-test.tsx index dcfdaabdb0e..6aa5238b4f3 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileProjects-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileProjects-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProfileProjects from '../ProfileProjects'; import { mockQualityProfile } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/quality-profiles', () => ({ getProfileProjects: jest.fn().mockResolvedValue({ diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileRules-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileRules-test.tsx index f7a9b045ea1..124fa491bde 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileRules-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ProfileRules-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProfileRules from '../ProfileRules'; import * as apiRules from '../../../../api/rules'; import * as apiQP from '../../../../api/quality-profiles'; import { mockQualityProfile } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; const PROFILE = mockQualityProfile({ activeRuleCount: 68, diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.tsx index e129058fb20..1cc35ee27fe 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.tsx @@ -19,15 +19,15 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { changeProfileParent, createQualityProfile, getImporters } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; import Select from '../../../components/controls/Select'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { Profile } from '../types'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.tsx index c8a11019cc9..8bd88d61349 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { Link } from 'react-router'; import { sortBy } from 'lodash'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; import ProfileLink from '../components/ProfileLink'; import { getDeprecatedActiveRulesUrl } from '../../../helpers/urls'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; import { Profile } from '../types'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx index b0c46e36abe..165b86c633f 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { Link } from 'react-router'; import { sortBy } from 'lodash'; +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; import { searchRules } from '../../../api/rules'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; -import { toShortNotSoISOString } from '../../../helpers/dates'; -import { formatMeasure } from '../../../helpers/measures'; const RULES_LIMIT = 10; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.tsx index 5691cf78dba..adeeb8fe88a 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import DateFormatter from '../../../components/intl/DateFormatter'; import ProfileLink from '../components/ProfileLink'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { isStagnant } from '../utils'; import { Profile } from '../types'; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/PageHeader.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/PageHeader.tsx index 10f8debfa0e..e320068db79 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/PageHeader.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import CreateProfileForm from './CreateProfileForm'; import RestoreProfileForm from './RestoreProfileForm'; import { Profile } from '../types'; import { getProfilePath } from '../utils'; import { Actions } from '../../../api/quality-profiles'; -import { Alert } from '../../../components/ui/Alert'; -import { Button } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import { withRouter, Router } from '../../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.tsx index 122c4cc3df8..1058eb12383 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.tsx @@ -20,12 +20,12 @@ import * as React from 'react'; import { groupBy, pick, sortBy } from 'lodash'; import { Location } from 'history'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import ProfilesListRow from './ProfilesListRow'; import ProfilesListHeader from './ProfilesListHeader'; import DocTooltip from '../../../components/docs/DocTooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; import { Profile } from '../types'; -import { Alert } from '../../../components/ui/Alert'; interface Props { languages: T.Language[]; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.tsx index 279ca353277..7c94219266e 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Option } from 'react-select'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getProfilesPath, getProfilesForLanguagePath } from '../utils'; import Select from '../../../components/controls/Select'; import { withRouter, Router } from '../../../components/hoc/withRouter'; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.tsx index 8819b436843..5b249be9f0c 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.tsx @@ -19,15 +19,15 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import ProfileLink from '../components/ProfileLink'; import ProfileDate from '../components/ProfileDate'; import ProfileActions from '../components/ProfileActions'; import BuiltInQualityProfileBadge from '../components/BuiltInQualityProfileBadge'; -import { translate } from '../../../helpers/l10n'; import { getRulesUrl } from '../../../helpers/urls'; import { isStagnant } from '../utils'; import { Profile } from '../types'; -import Tooltip from '../../../components/controls/Tooltip'; import DocTooltip from '../../../components/docs/DocTooltip'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.tsx index d8462260ce2..1a1e120119f 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { restoreQualityProfile } from '../../../api/quality-profiles'; -import Modal from '../../../components/controls/Modal'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { Alert } from '../../../components/ui/Alert'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/__tests__/PageHeader-test.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/__tests__/PageHeader-test.tsx index e271851d301..28facb5a45c 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/__tests__/PageHeader-test.tsx +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/__tests__/PageHeader-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { PageHeader } from '../PageHeader'; import { mockLanguage, mockQualityProfile, mockRouter } from '../../../../helpers/testMocks'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/routes.ts b/server/sonar-web/src/main/js/apps/quality-profiles/routes.ts index e45be200e5c..d7bde4e2073 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/routes.ts +++ b/server/sonar-web/src/main/js/apps/quality-profiles/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/utils.ts b/server/sonar-web/src/main/js/apps/quality-profiles/utils.ts index 5208ed94781..c288f4cd1e2 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/utils.ts +++ b/server/sonar-web/src/main/js/apps/quality-profiles/utils.ts @@ -17,10 +17,11 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import * as differenceInYears from 'date-fns/difference_in_years'; import { sortBy } from 'lodash'; +import { isValidDate, parseDate } from 'sonar-ui-common/helpers/dates'; import { Profile } from './types'; import { Profile as BaseProfile } from '../../api/quality-profiles'; -import { differenceInYears, isValidDate, parseDate } from '../../helpers/dates'; export function sortProfiles(profiles: BaseProfile[]): Profile[] { const result: Profile[] = []; diff --git a/server/sonar-web/src/main/js/apps/sessions/components/EmailAlreadyExists.tsx b/server/sonar-web/src/main/js/apps/sessions/components/EmailAlreadyExists.tsx index 871586f1e2d..005ec2fb9e6 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/EmailAlreadyExists.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/EmailAlreadyExists.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import * as theme from '../../../app/theme'; -import { Alert } from '../../../components/ui/Alert'; +import { getTextColor } from 'sonar-ui-common/helpers/colors'; +import { getCookie } from 'sonar-ui-common/helpers/cookies'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import { colors } from '../../../app/theme'; import { getIdentityProviders } from '../../../api/users'; -import { getCookie } from '../../../helpers/cookies'; -import { getBaseUrl } from '../../../helpers/urls'; -import { getTextColor } from '../../../helpers/colors'; -import { translate } from '../../../helpers/l10n'; interface State { identityProviders: T.IdentityProvider[]; @@ -77,7 +77,7 @@ export default class EmailAlreadyExists extends React.PureComponent<{}, State> { className="identity-provider" style={{ backgroundColor: identityProvider.backgroundColor, - color: getTextColor(identityProvider.backgroundColor, theme.secondFontColor) + color: getTextColor(identityProvider.backgroundColor, colors.secondFontColor) }}> <img alt={identityProvider.name} diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx b/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx index 2e497e0ca29..fb66dfff36f 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import LoginForm from './LoginForm'; import OAuthProviders from './OAuthProviders'; import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer'; -import { translate } from '../../../helpers/l10n'; import './Login.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/sessions/components/LoginContainer.tsx b/server/sonar-web/src/main/js/apps/sessions/components/LoginContainer.tsx index 57a419ace9e..bc866210dac 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/LoginContainer.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/LoginContainer.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { getReturnUrl } from 'sonar-ui-common/helpers/urls'; import Login from './Login'; import LoginSonarCloud from './LoginSonarCloud'; import { doLogin } from '../../../store/rootActions'; import { getIdentityProviders } from '../../../api/users'; -import { getReturnUrl } from '../../../helpers/urls'; import { isSonarCloud } from '../../../helpers/system'; interface OwnProps { diff --git a/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.tsx b/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.tsx index 2fa113117de..387104d95f8 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import './LoginForm.css'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/sessions/components/LoginSonarCloud.tsx b/server/sonar-web/src/main/js/apps/sessions/components/LoginSonarCloud.tsx index a78b9087d24..877b20d4514 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/LoginSonarCloud.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/LoginSonarCloud.tsx @@ -20,11 +20,11 @@ import * as React from 'react'; import { connect } from 'react-redux'; import * as classNames from 'classnames'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import LoginForm from './LoginForm'; import OAuthProviders from './OAuthProviders'; -import { getBaseUrl } from '../../../helpers/urls'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; import './LoginSonarCloud.css'; import { Store } from '../../../store/rootReducer'; diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Logout.tsx b/server/sonar-web/src/main/js/apps/sessions/components/Logout.tsx index 489e39c7d1d..0ebfab02599 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Logout.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/Logout.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer'; import RecentHistory from '../../../app/components/RecentHistory'; import { doLogout } from '../../../store/rootActions'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; interface Props { doLogout: () => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.tsx b/server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.tsx index a19c0f79f12..acf5012e120 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import IdentityProviderLink from '../../../components/ui/IdentityProviderLink'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; +import IdentityProviderLink from 'sonar-ui-common/components/controls/IdentityProviderLink'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; import './OAuthProviders.css'; interface Props { @@ -60,7 +60,9 @@ function OAuthProvider({ format, identityProvider, returnTo }: ItemProps) { return ( <li> <IdentityProviderLink - identityProvider={identityProvider} + backgroundColor={identityProvider.backgroundColor} + iconPath={identityProvider.iconPath} + name={identityProvider.name} url={ `${getBaseUrl()}/sessions/init/${identityProvider.key}` + `?return_to=${encodeURIComponent(returnTo)}` diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx index 8f7f4fd710d..c3446470a9e 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; -import { getCookie } from '../../../helpers/cookies'; +import { getCookie } from 'sonar-ui-common/helpers/cookies'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; export default function Unauthorized() { const message = decodeURIComponent(getCookie('AUTHENTICATION-ERROR') || ''); diff --git a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/EmailAlreadyExists-test.tsx b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/EmailAlreadyExists-test.tsx index 9b43ee6d4f5..716436e8a7f 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/EmailAlreadyExists-test.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/EmailAlreadyExists-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import EmailAlreadyExists from '../EmailAlreadyExists'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/users', () => ({ getIdentityProviders: () => @@ -42,7 +42,7 @@ jest.mock('../../../../api/users', () => ({ }) })); -jest.mock('../../../../helpers/cookies', () => ({ +jest.mock('sonar-ui-common/helpers/cookies', () => ({ getCookie: jest .fn() .mockReturnValue( diff --git a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/LoginForm-test.tsx b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/LoginForm-test.tsx index d95956521d2..d1aece97c9b 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/LoginForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/LoginForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, click, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import LoginForm from '../LoginForm'; -import { change, click, submit, waitAndUpdate } from '../../../../helpers/testUtils'; it('logs in with simple credentials', () => { const onSubmit = jest.fn(() => Promise.resolve()); diff --git a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/Unauthorized-test.tsx b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/Unauthorized-test.tsx index e8df4c544e1..85552ffaf86 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/Unauthorized-test.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/Unauthorized-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import Unauthorized from '../Unauthorized'; -jest.mock('../../../../helpers/cookies', () => ({ +jest.mock('sonar-ui-common/helpers/cookies', () => ({ getCookie: jest.fn().mockReturnValue('Foo') })); diff --git a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/OAuthProviders-test.tsx.snap b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/OAuthProviders-test.tsx.snap index e8da4c505fe..74f6d72d757 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/OAuthProviders-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/OAuthProviders-test.tsx.snap @@ -39,14 +39,9 @@ exports[`should render correctly 1`] = ` exports[`should render correctly 2`] = ` <li> <IdentityProviderLink - identityProvider={ - Object { - "backgroundColor": "#000", - "iconPath": "/some/path", - "key": "foo", - "name": "Foo", - } - } + backgroundColor="#000" + iconPath="/some/path" + name="Foo" url="/sessions/init/foo?return_to=" > <span> @@ -59,15 +54,9 @@ exports[`should render correctly 2`] = ` exports[`should render correctly 3`] = ` <li> <IdentityProviderLink - identityProvider={ - Object { - "backgroundColor": "#00F", - "helpMessage": "Help message!", - "iconPath": "/icon/path", - "key": "bar", - "name": "Bar", - } - } + backgroundColor="#00F" + iconPath="/icon/path" + name="Bar" url="/sessions/init/bar?return_to=" > <span> @@ -84,14 +73,9 @@ exports[`should render correctly 3`] = ` exports[`should use the custom label formatter 1`] = ` <li> <IdentityProviderLink - identityProvider={ - Object { - "backgroundColor": "#000", - "iconPath": "/some/path", - "key": "foo", - "name": "Foo", - } - } + backgroundColor="#000" + iconPath="/some/path" + name="Foo" url="/sessions/init/foo?return_to=" > <span> diff --git a/server/sonar-web/src/main/js/apps/sessions/routes.ts b/server/sonar-web/src/main/js/apps/sessions/routes.ts index 553104766f7..f95f47a0b56 100644 --- a/server/sonar-web/src/main/js/apps/sessions/routes.ts +++ b/server/sonar-web/src/main/js/apps/sessions/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/settings/components/AppContainer.tsx b/server/sonar-web/src/main/js/apps/settings/components/AppContainer.tsx index 31755a07fe6..bf47b0be1ad 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/AppContainer.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/AppContainer.tsx @@ -21,6 +21,7 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { connect } from 'react-redux'; import { WithRouterProps } from 'react-router'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AllCategoriesList from './AllCategoriesList'; import CategoryDefinitionsList from './CategoryDefinitionsList'; import PageHeader from './PageHeader'; @@ -28,7 +29,6 @@ import WildcardsHelp from './WildcardsHelp'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; import { fetchSettings } from '../store/actions'; import { getSettingsAppDefaultCategory, Store } from '../../../store/rootReducer'; -import { translate } from '../../../helpers/l10n'; import '../styles.css'; import '../side-tabs.css'; diff --git a/server/sonar-web/src/main/js/apps/settings/components/Definition.tsx b/server/sonar-web/src/main/js/apps/settings/components/Definition.tsx index 9be3fb3820b..c9586fdf623 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/Definition.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/Definition.tsx @@ -19,7 +19,10 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; import classNames from 'classnames'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; import Input from './inputs/Input'; import DefinitionActions from './DefinitionActions'; import { @@ -29,9 +32,6 @@ import { isDefaultOrInherited, sanitizeTranslation } from '../utils'; -import AlertErrorIcon from '../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; import { resetValue, saveValue, checkValue } from '../store/actions'; import { cancelChange, changeValue, passValidation } from '../store/settingsPage'; import { diff --git a/server/sonar-web/src/main/js/apps/settings/components/DefinitionActions.tsx b/server/sonar-web/src/main/js/apps/settings/components/DefinitionActions.tsx index b7aae5bb572..bebfc385522 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/DefinitionActions.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/DefinitionActions.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Modal from '../../../components/controls/Modal'; -import { Button, ResetButtonLink, SubmitButton } from '../../../components/ui/buttons'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { isEmptyValue, getDefaultValue, getSettingValue } from '../utils'; -import { translate } from '../../../helpers/l10n'; type Props = { changedValue: string; diff --git a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.tsx b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.tsx index 278937d62d4..a1f9518c9df 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { Alert } from '../../../components/ui/Alert'; -import { SubmitButton } from '../../../components/ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { parseError } from 'sonar-ui-common/helpers/request'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { withCurrentUser } from '../../../components/hoc/withCurrentUser'; import { sendTestEmail } from '../../../api/settings'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { parseError } from '../../../helpers/request'; interface Props { currentUser: T.LoggedInUser; diff --git a/server/sonar-web/src/main/js/apps/settings/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/settings/components/PageHeader.tsx index 323a5feefcc..411d52ece53 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/PageHeader.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import InstanceMessage from '../../../components/common/InstanceMessage'; -import { translate } from '../../../helpers/l10n'; interface Props { component?: T.Component; diff --git a/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.tsx b/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.tsx index 538f1d296e6..2b472c72a9c 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; export default function WildcardsHelp() { return ( @@ -53,65 +53,65 @@ export default function WildcardsHelp() { </thead> <tbody> <tr> - <td>{'**/foo/*.js'}</td> + <td>**/foo/*.js</td> <td> <ul> - <li>{'src/foo/bar.js'}</li> - <li>{'lib/ui/foo/bar.js'}</li> + <li>src/foo/bar.js</li> + <li>lib/ui/foo/bar.js</li> </ul> </td> <td> <ul> - <li>{'src/bar.js'}</li> - <li>{'src/foo2/bar.js'}</li> + <li>src/bar.js</li> + <li>src/foo2/bar.js</li> </ul> </td> </tr> <tr> - <td>{'src/foo/*bar*.js'}</td> + <td>src/foo/*bar*.js</td> <td> <ul> - <li>{'src/foo/bar.js'}</li> - <li>{'src/foo/bar1.js'}</li> - <li>{'src/foo/bar123.js'}</li> - <li>{'src/foo/123bar123.js'}</li> + <li>src/foo/bar.js</li> + <li>src/foo/bar1.js</li> + <li>src/foo/bar123.js</li> + <li>src/foo/123bar123.js</li> </ul> </td> <td> <ul> - <li>{'src/foo/ui/bar.js'}</li> - <li>{'src/bar.js'}</li> + <li>src/foo/ui/bar.js</li> + <li>src/bar.js</li> </ul> </td> </tr> <tr> - <td>{'src/foo/**'}</td> + <td>src/foo/**</td> <td> <ul> - <li>{'src/foo/bar.js'}</li> - <li>{'src/foo/ui/bar.js'}</li> + <li>src/foo/bar.js</li> + <li>src/foo/ui/bar.js</li> </ul> </td> <td> <ul> - <li>{'src/bar/foo/bar.js'}</li> - <li>{'src/bar.js'}</li> + <li>src/bar/foo/bar.js</li> + <li>src/bar.js</li> </ul> </td> </tr> <tr> - <td>{'**/foo?.js'}</td> + <td>**/foo?.js</td> <td> <ul> - <li>{'src/foo1.js'}</li> - <li>{'src/bar/foo1.js'}</li> + <li>src/foo1.js</li> + <li>src/bar/foo1.js</li> </ul> </td> <td> <ul> - <li>{'src/foo.js'}</li> - <li>{'src/foo12.js'}</li> - <li>{'src/12foo3.js'}</li> + <li>src/foo.js</li> + <li>src/foo12.js</li> + <li>src/12foo3.js</li> </ul> </td> </tr> diff --git a/server/sonar-web/src/main/js/apps/settings/components/__tests__/Definition-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/__tests__/Definition-test.tsx index c614101d39f..9babfc9fa6a 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/__tests__/Definition-test.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/__tests__/Definition-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { Definition } from '../Definition'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; const setting: T.Setting = { key: 'foo', diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.tsx index f0842edef3a..3ad0d795302 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Toggle from '../../../../components/controls/Toggle'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Toggle from 'sonar-ui-common/components/controls/Toggle'; import { DefaultSpecializedInputProps } from '../../utils'; interface Props extends DefaultSpecializedInputProps { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.tsx index de465237ca3..e0ebd2a29cf 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import * as theme from '../../../../app/theme'; -import LockIcon from '../../../../components/icons-components/LockIcon'; -import { Button } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; +import LockIcon from 'sonar-ui-common/components/icons/LockIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { colors } from '../../../../app/theme'; import { DefaultSpecializedInputProps } from '../../utils'; interface State { @@ -79,7 +79,7 @@ export default class InputForPassword extends React.PureComponent< return ( <> - <LockIcon className="text-middle big-spacer-right" fill={theme.gray60} /> + <LockIcon className="text-middle big-spacer-right" fill={colors.gray60} /> <Button className="text-middle" onClick={this.handleChangeClick}> {translate('change_verb')} </Button> diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/MultiValueInput.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/MultiValueInput.tsx index 5c614f1d0eb..ebebcc05521 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/MultiValueInput.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/MultiValueInput.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { DeleteButton } from 'sonar-ui-common/components/controls/buttons'; import PrimitiveInput from './PrimitiveInput'; import { getEmptyValue, DefaultInputProps } from '../../utils'; -import { DeleteButton } from '../../../../components/ui/buttons'; export default class MultiValueInput extends React.PureComponent<DefaultInputProps> { ensureValue = () => { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.tsx index 454ccd51702..d730e1a1372 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { DeleteButton } from 'sonar-ui-common/components/controls/buttons'; import PrimitiveInput from './PrimitiveInput'; import { getEmptyValue, getUniqueName, DefaultInputProps, isCategoryDefinition } from '../../utils'; -import { DeleteButton } from '../../../../components/ui/buttons'; export default class PropertySetInput extends React.PureComponent<DefaultInputProps> { ensureValue() { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForPassword-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForPassword-test.tsx index 1956761de83..598143c12c0 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForPassword-test.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForPassword-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, change, submit } from 'sonar-ui-common/helpers/testUtils'; import InputForPassword from '../InputForPassword'; -import { click, change, submit } from '../../../../../helpers/testUtils'; import { DefaultSpecializedInputProps } from '../../../utils'; it('should render lock icon, but no form', () => { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForText-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForText-test.tsx index 8801910fe30..cff5d753ab2 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForText-test.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/InputForText-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change } from 'sonar-ui-common/helpers/testUtils'; import InputForText from '../InputForText'; -import { change } from '../../../../../helpers/testUtils'; import { DefaultSpecializedInputProps } from '../../../utils'; it('should render textarea', () => { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/MultiValueInput-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/MultiValueInput-test.tsx index 598cbcd1d14..314ee84d909 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/MultiValueInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/MultiValueInput-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import MultiValueInput from '../MultiValueInput'; import PrimitiveInput from '../PrimitiveInput'; -import { click } from '../../../../../helpers/testUtils'; import { DefaultInputProps } from '../../../utils'; const settingValue = { diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/SimpleInput-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/SimpleInput-test.tsx index fbb68c014d4..06a481350b2 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/SimpleInput-test.tsx +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/__tests__/SimpleInput-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change } from 'sonar-ui-common/helpers/testUtils'; import SimpleInput from '../SimpleInput'; -import { change } from '../../../../../helpers/testUtils'; it('should render input', () => { const onChange = jest.fn(); diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.tsx b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.tsx index 3769c5bdedf..0638b826410 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.tsx +++ b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import EncryptionForm from './EncryptionForm'; import GenerateSecretKeyForm from './GenerateSecretKeyForm'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; import { checkSecretKey, generateSecretKey } from '../../../api/settings'; -import { translate } from '../../../helpers/l10n'; interface State { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.tsx b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.tsx index 8cfd77b3938..e9040aecc5f 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.tsx +++ b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; import { encryptValue } from '../../../api/settings'; -import { translate } from '../../../helpers/l10n'; interface Props { generateSecretKey: () => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.tsx b/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.tsx index 84b235cd2fc..0df869bbee5 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.tsx +++ b/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; interface Props { generateSecretKey: () => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/settings/routes.ts b/server/sonar-web/src/main/js/apps/settings/routes.ts index ba74ba4a724..274f2fdeb47 100644 --- a/server/sonar-web/src/main/js/apps/settings/routes.ts +++ b/server/sonar-web/src/main/js/apps/settings/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/settings/store/actions.ts b/server/sonar-web/src/main/js/apps/settings/store/actions.ts index 2a24e5d32ed..be5d5a13d8d 100644 --- a/server/sonar-web/src/main/js/apps/settings/store/actions.ts +++ b/server/sonar-web/src/main/js/apps/settings/store/actions.ts @@ -18,6 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { Dispatch } from 'redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { parseError } from 'sonar-ui-common/helpers/request'; import { receiveValues } from './values'; import { receiveDefinitions } from './definitions'; import { @@ -33,10 +35,8 @@ import { setSettingValue, resetSettingValue } from '../../../api/settings'; -import { parseError } from '../../../helpers/request'; import { closeAllGlobalMessages } from '../../../store/globalMessages'; import { isEmptyValue } from '../utils'; -import { translate } from '../../../helpers/l10n'; import { getSettingsAppDefinition, getSettingsAppChangedValue, diff --git a/server/sonar-web/src/main/js/apps/settings/utils.ts b/server/sonar-web/src/main/js/apps/settings/utils.ts index 990a6933591..36979c5d899 100644 --- a/server/sonar-web/src/main/js/apps/settings/utils.ts +++ b/server/sonar-web/src/main/js/apps/settings/utils.ts @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { sanitize } from 'dompurify'; -import { translate, hasMessage } from '../../helpers/l10n'; +import { translate, hasMessage } from 'sonar-ui-common/helpers/l10n'; export const DEFAULT_CATEGORY = 'general'; diff --git a/server/sonar-web/src/main/js/apps/system/components/App.tsx b/server/sonar-web/src/main/js/apps/system/components/App.tsx index 07cec002e46..0c5efb86550 100644 --- a/server/sonar-web/src/main/js/apps/system/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/App.tsx @@ -20,12 +20,12 @@ import * as React from 'react'; import { withRouter, WithRouterProps } from 'react-router'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ClusterSysInfos from './ClusterSysInfos'; import PageHeader from './PageHeader'; import StandaloneSysInfos from './StandaloneSysInfos'; import SystemUpgradeNotif from './system-upgrade/SystemUpgradeNotif'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; -import { translate } from '../../../helpers/l10n'; import { getSystemInfo } from '../../../api/system'; import { getServerId, diff --git a/server/sonar-web/src/main/js/apps/system/components/ChangeLogLevelForm.tsx b/server/sonar-web/src/main/js/apps/system/components/ChangeLogLevelForm.tsx index 3d71507590b..11b2f5212ab 100644 --- a/server/sonar-web/src/main/js/apps/system/components/ChangeLogLevelForm.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/ChangeLogLevelForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { LOGS_LEVELS } from '../utils'; import { setLogLevel } from '../../../api/system'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; interface Props { infoMsg: string; diff --git a/server/sonar-web/src/main/js/apps/system/components/ClusterSysInfos.tsx b/server/sonar-web/src/main/js/apps/system/components/ClusterSysInfos.tsx index 2a86c77b1c3..3c1d6c8c117 100644 --- a/server/sonar-web/src/main/js/apps/system/components/ClusterSysInfos.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/ClusterSysInfos.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import HealthCard from './info-items/HealthCard'; -import { translate } from '../../../helpers/l10n'; import { getAppNodes, getHealth, diff --git a/server/sonar-web/src/main/js/apps/system/components/PageActions.tsx b/server/sonar-web/src/main/js/apps/system/components/PageActions.tsx index ab0113fa757..ff28b7d403c 100644 --- a/server/sonar-web/src/main/js/apps/system/components/PageActions.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/PageActions.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { EditButton, Button } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; import ChangeLogLevelForm from './ChangeLogLevelForm'; import AdminContext from '../../../app/components/AdminContext'; -import Dropdown from '../../../components/controls/Dropdown'; -import DropdownIcon from '../../../components/icons-components/DropdownIcon'; import RestartButton from '../../../components/common/RestartButton'; -import { EditButton, Button } from '../../../components/ui/buttons'; import { getFileNameSuffix } from '../utils'; -import { getBaseUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; interface Props { canDownloadLogs: boolean; diff --git a/server/sonar-web/src/main/js/apps/system/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/system/components/PageHeader.tsx index 3816eb2cb02..938aeeafbb8 100644 --- a/server/sonar-web/src/main/js/apps/system/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/PageHeader.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; import PageActions from './PageActions'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; -import { translate } from '../../../helpers/l10n'; -import { toShortNotSoISOString } from '../../../helpers/dates'; export interface Props { isCluster: boolean; diff --git a/server/sonar-web/src/main/js/apps/system/components/__tests__/PageActions-test.tsx b/server/sonar-web/src/main/js/apps/system/components/__tests__/PageActions-test.tsx index 0c54af7e6af..badecafb644 100644 --- a/server/sonar-web/src/main/js/apps/system/components/__tests__/PageActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/__tests__/PageActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import PageActions from '../PageActions'; -import { click } from '../../../../helpers/testUtils'; jest.mock('../../utils', () => ({ getFileNameSuffix: (suffix?: string) => `filesuffix(${suffix || ''})` diff --git a/server/sonar-web/src/main/js/apps/system/components/__tests__/PageHeader-test.tsx b/server/sonar-web/src/main/js/apps/system/components/__tests__/PageHeader-test.tsx index 382169ee3b9..d284f71c7f3 100644 --- a/server/sonar-web/src/main/js/apps/system/components/__tests__/PageHeader-test.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/__tests__/PageHeader-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import PageHeader, { Props } from '../PageHeader'; -jest.mock('../../../../helpers/dates', () => ({ +jest.mock('sonar-ui-common/helpers/dates', () => ({ toShortNotSoISOString: () => '2019-01-01' })); diff --git a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCard.tsx b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCard.tsx index 95e3d72aef6..8adfdaa2e0d 100644 --- a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCard.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCard.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { map } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import HealthItem from './HealthItem'; import Section from './Section'; -import { Alert } from '../../../../components/ui/Alert'; import BoxedGroupAccordion from '../../../../components/controls/BoxedGroupAccordion'; import { LOGS_LEVELS, groupSections, getLogsLevel } from '../../utils'; -import { translate } from '../../../../helpers/l10n'; interface Props { biggerHealth?: boolean; diff --git a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCauseItem.tsx b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCauseItem.tsx index 79ebc2e1ca4..60e29321155 100644 --- a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCauseItem.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthCauseItem.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { Alert } from '../../../../components/ui/Alert'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthItem.tsx b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthItem.tsx index e5291e8c1be..c1aa70aad0d 100644 --- a/server/sonar-web/src/main/js/apps/system/components/info-items/HealthItem.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/info-items/HealthItem.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import HealthCauseItem from './HealthCauseItem'; import StatusIndicator from '../../../../components/common/StatusIndicator'; -import Tooltip from '../../../../components/controls/Tooltip'; -import { translateWithParameters } from '../../../../helpers/l10n'; interface Props { biggerHealth?: boolean; diff --git a/server/sonar-web/src/main/js/apps/system/components/info-items/SysInfoItem.tsx b/server/sonar-web/src/main/js/apps/system/components/info-items/SysInfoItem.tsx index fc004f88d99..61560dffac6 100644 --- a/server/sonar-web/src/main/js/apps/system/components/info-items/SysInfoItem.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/info-items/SysInfoItem.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; import { map } from 'lodash'; import HealthItem from './HealthItem'; -import AlertErrorIcon from '../../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../../components/icons-components/AlertSuccessIcon'; import { HEALTH_FIELD, STATE_FIELD } from '../../utils'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx index 9bc6c42f038..04aefd232d5 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import SystemUpgradeItem from './SystemUpgradeItem'; -import Modal from '../../../../components/controls/Modal'; -import { translate } from '../../../../helpers/l10n'; -import { ResetButtonLink } from '../../../../components/ui/buttons'; interface Props { systemUpgrades: T.SystemUpgrade[][]; diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx index 14c65114dbd..b5009a722ef 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; import DateFormatter from '../../../../components/intl/DateFormatter'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; -import { ButtonLink } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx index 5881085f99d..ed8eb1596c4 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import SystemUpgradeIntermediate from './SystemUpgradeIntermediate'; import DateFormatter from '../../../../components/intl/DateFormatter'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; interface Props { type?: string; diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeNotif.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeNotif.tsx index c4800cccafa..ebc4edd5425 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeNotif.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeNotif.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import SystemUpgradeForm from './SystemUpgradeForm'; import { sortUpgrades, groupUpgrades } from '../../utils'; import { getSystemUpgrades } from '../../../../api/system'; -import { Button } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; -import { Alert } from '../../../../components/ui/Alert'; interface State { systemUpgrades: T.SystemUpgrade[][]; diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeIntermediate-test.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeIntermediate-test.tsx index 2463af35e3b..d3b8995c790 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeIntermediate-test.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeIntermediate-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import SystemUpgradeIntermediate from '../SystemUpgradeIntermediate'; const UPGRADES = [ diff --git a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeNotif-test.tsx b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeNotif-test.tsx index 316747da6e2..2c630d615c2 100644 --- a/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeNotif-test.tsx +++ b/server/sonar-web/src/main/js/apps/system/components/system-upgrade/__tests__/SystemUpgradeNotif-test.tsx @@ -20,7 +20,7 @@ /* eslint-disable import/order */ import * as React from 'react'; import { mount, shallow } from 'enzyme'; -import { click, waitAndUpdate } from '../../../../../helpers/testUtils'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import SystemUpgradeNotif from '../SystemUpgradeNotif'; jest.mock('../../../../../api/system', () => ({ diff --git a/server/sonar-web/src/main/js/apps/system/routes.ts b/server/sonar-web/src/main/js/apps/system/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/system/routes.ts +++ b/server/sonar-web/src/main/js/apps/system/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/system/utils.ts b/server/sonar-web/src/main/js/apps/system/utils.ts index 85f34adb82b..d9342adbd45 100644 --- a/server/sonar-web/src/main/js/apps/system/utils.ts +++ b/server/sonar-web/src/main/js/apps/system/utils.ts @@ -22,10 +22,9 @@ import { cleanQuery, parseAsArray, parseAsString, - RawQuery, serializeStringArray -} from '../../helpers/query'; -import { formatMeasure } from '../../helpers/measures'; +} from 'sonar-ui-common/helpers/query'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; export interface Query { expandedCards: string[]; @@ -219,13 +218,13 @@ export function groupSections(sysInfoData: T.SysInfoValueObject) { } export const parseQuery = memoize( - (urlQuery: RawQuery): Query => ({ + (urlQuery: T.RawQuery): Query => ({ expandedCards: parseAsArray(urlQuery.expand, parseAsString) }) ); export const serializeQuery = memoize( - (query: Query): RawQuery => + (query: Query): T.RawQuery => cleanQuery({ expand: serializeStringArray(query.expandedCards) }) diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorial.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorial.tsx index 51ce869fa03..41bb0bb9bcd 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorial.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorial.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import AnalyzeTutorialSuggestion from './AnalyzeTutorialSuggestion'; import ProjectAnalysisStep from '../components/ProjectAnalysisStep'; import TokenStep from '../components/TokenStep'; import { isVSTS } from '../../../helpers/almIntegrations'; -import { translate } from '../../../helpers/l10n'; import InstanceMessage from '../../../components/common/InstanceMessage'; import { isSonarCloud } from '../../../helpers/system'; import '../styles.css'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSonarCloud.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSonarCloud.tsx index 6f713d53b0f..314a486af40 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSonarCloud.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSonarCloud.tsx @@ -19,6 +19,10 @@ */ import * as classnames from 'classnames'; import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { get, remove, save } from 'sonar-ui-common/helpers/storage'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import BackButton from 'sonar-ui-common/components/controls/BackButton'; import ConfigureWithAutoScan from './configurations/ConfigureWithAutoScan'; import ConfigureWithTravis from './configurations/ConfigureWithTravis'; import ConfigureWithLocalScanner from './configurations/ConfigureWithLocalScanner'; @@ -41,18 +45,14 @@ import { import { getUniqueTokenName } from '../utils'; import AnalyzeTutorialDone from '../components/AnalyzeTutorialDone'; import InstanceMessage from '../../../components/common/InstanceMessage'; -import BackButton from '../../../components/controls/BackButton'; import TokenStep from '../components/TokenStep'; import ProjectAnalysisStep from '../components/ProjectAnalysisStep'; import { generateToken, getTokens } from '../../../api/user-tokens'; import { getGithubLanguages } from '../../../api/alm-integration'; import { isBitbucket, isGithub, isVSTS } from '../../../helpers/almIntegrations'; -import { translate } from '../../../helpers/l10n'; -import { get, remove, save } from '../../../helpers/storage'; import { isSonarCloud } from '../../../helpers/system'; import '../styles.css'; import './AnalyzeTutorialSonarCloud.css'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; interface Props { component: T.Component; @@ -195,7 +195,7 @@ export default class AnalyzeTutorialSonarCloud extends React.PureComponent<Props }; spinner = () => ( - <div className="display-flex-justify-center spinner-margin"> + <div className="display-flex-justify-center spacer"> <i className="spinner global-loading-spinner" /> </div> ); diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSuggestion.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSuggestion.tsx index 4eca0f23f76..722814d3207 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSuggestion.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/AnalyzeTutorialSuggestion.tsx @@ -19,17 +19,17 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { isBitbucket, isGithub, isVSTS } from '../../../helpers/almIntegrations'; -import { translate } from '../../../helpers/l10n'; -import { getBaseUrl } from '../../../helpers/urls'; -import { Alert } from '../../../components/ui/Alert'; export function TutorialSuggestionBitbucket() { return ( <Alert className="big-spacer-bottom" variant="info"> <FormattedMessage defaultMessage={translate('onboarding.project_analysis.suggestions.bitbucket')} - id={'onboarding.project_analysis.suggestions.bitbucket'} + id="onboarding.project_analysis.suggestions.bitbucket" values={{ link: ( <a @@ -53,7 +53,7 @@ export function TutorialSuggestionGithub() { <p>{translate('onboarding.project_analysis.suggestions.github')}</p> <FormattedMessage defaultMessage={translate('onboarding.project_analysis.simply_link')} - id={'onboarding.project_analysis.simply_link'} + id="onboarding.project_analysis.simply_link" values={{ link: ( <a @@ -74,7 +74,7 @@ export function TutorialSuggestionVSTS() { <Alert className="big-spacer-bottom" variant="info"> <FormattedMessage defaultMessage={translate('onboarding.project_analysis.simply_link')} - id={'onboarding.project_analysis.simply_link'} + id="onboarding.project_analysis.simply_link" values={{ link: ( <a diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/AnalyzeTutorialSonarCloud-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/AnalyzeTutorialSonarCloud-test.tsx index 8a52c8404c1..9ced4c62f27 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/AnalyzeTutorialSonarCloud-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/AnalyzeTutorialSonarCloud-test.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { get } from 'sonar-ui-common/helpers/storage'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import AnalyzeTutorialSonarCloud from '../AnalyzeTutorialSonarCloud'; import { mockComponent, mockLoggedInUser } from '../../../../helpers/testMocks'; -import { get } from '../../../../helpers/storage'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { generateToken, getTokens } from '../../../../api/user-tokens'; import { getUniqueTokenName } from '../../utils'; -jest.mock('../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn(), remove: jest.fn(), save: jest.fn() diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/__snapshots__/AnalyzeTutorialSonarCloud-test.tsx.snap b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/__snapshots__/AnalyzeTutorialSonarCloud-test.tsx.snap index 1f4fe642d6e..777e9501b59 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/__snapshots__/AnalyzeTutorialSonarCloud-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/__tests__/__snapshots__/AnalyzeTutorialSonarCloud-test.tsx.snap @@ -285,7 +285,7 @@ exports[`renders for a manual project 1`] = ` exports[`should have a spinner 1`] = ` <div - className="display-flex-justify-center spinner-margin" + className="display-flex-justify-center spacer" > <i className="spinner global-loading-spinner" diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/AutoScanAlert.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/AutoScanAlert.tsx index 67a27489673..815e308bc8f 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/AutoScanAlert.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/AutoScanAlert.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { Alert } from '../../../../components/ui/Alert'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import DocTooltip from '../../../../components/docs/DocTooltip'; -import { translate } from '../../../../helpers/l10n'; export function AutoScanAlert() { return ( diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithAutoScan.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithAutoScan.tsx index 55f2e3d7b33..0419830ec3a 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithAutoScan.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithAutoScan.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; import { AutoScanAlert } from './AutoScanAlert'; import CodeSnippet from '../../../../components/common/CodeSnippet'; -import { translate } from '../../../../helpers/l10n'; -import { Button, ResetButtonLink } from '../../../../components/ui/buttons'; import Step from '../../components/Step'; -import DropdownIcon from '../../../../components/icons-components/DropdownIcon'; import { TutorialProps } from '../utils'; export default function ConfigureWithAutoScan({ onDone }: TutorialProps) { diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithLocalScanner.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithLocalScanner.tsx index 6c54a287c51..a86b40e55f9 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithLocalScanner.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithLocalScanner.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectAnalysisStepFromBuildTool, { ProjectAnalysisModes } from '../../components/ProjectAnalysisStepFromBuildTool'; import { TutorialProps } from '../utils'; -import { translate } from '../../../../helpers/l10n'; export default function ConfigureWithLocalScanner({ component, diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithOtherCI.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithOtherCI.tsx index a9be6faa269..f2a4c0a65e0 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithOtherCI.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithOtherCI.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectAnalysisStepFromBuildTool, { ProjectAnalysisModes } from '../../components/ProjectAnalysisStepFromBuildTool'; import { TutorialProps } from '../utils'; -import { translate } from '../../../../helpers/l10n'; export default function ConfigureWithOtherCI({ component, diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithTravis.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithTravis.tsx index 3b7c5729fe3..86b3d590038 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithTravis.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/ConfigureWithTravis.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { get, save } from 'sonar-ui-common/helpers/storage'; import EncryptYourTokenStep from '../steps/EncryptYourTokenStep'; import CreateSonarPropertiesStep from '../steps/CreateSonarPropertiesStep'; import EditTravisYmlStep from '../steps/EditTravisYmlStep'; import { isSonarCloud } from '../../../../helpers/system'; import { PROJECT_STEP_PROGRESS, TutorialProps } from '../utils'; -import { translate } from '../../../../helpers/l10n'; -import { get, save } from '../../../../helpers/storage'; enum Steps { ENCRYPT_TOKEN = 1, diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/__tests__/ConfigureWithTravis-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/__tests__/ConfigureWithTravis-test.tsx index 7f563ed805f..cfd719e132c 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/__tests__/ConfigureWithTravis-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/configurations/__tests__/ConfigureWithTravis-test.tsx @@ -23,7 +23,7 @@ import ConfigureWithTravis from '../ConfigureWithTravis'; import { TutorialProps } from '../../utils'; import { mockComponent, mockLoggedInUser } from '../../../../../helpers/testMocks'; -jest.mock('../../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn().mockReturnValue( JSON.stringify({ build: 'maven', diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/CreateSonarPropertiesStep.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/CreateSonarPropertiesStep.tsx index eca879fd1a6..86719078fef 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/CreateSonarPropertiesStep.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/CreateSonarPropertiesStep.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import CodeSnippet from '../../../../components/common/CodeSnippet'; -import { Button } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; import Step from '../../components/Step'; import { StepProps } from '../../utils'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTokenModal.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTokenModal.tsx index 609f82cdba3..816b3ce6bf1 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTokenModal.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTokenModal.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button, DeleteButton } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmModal from 'sonar-ui-common/components/controls/ConfirmModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { generateToken, getTokens, revokeToken } from '../../../../api/user-tokens'; import { getUniqueTokenName } from '../../utils'; -import { translate, translateWithParameters } from '../../../../helpers/l10n'; -import ConfirmModal from '../../../../components/controls/ConfirmModal'; -import { Button, DeleteButton } from '../../../../components/ui/buttons'; import { RenderOptions } from '../../components/RenderOptions'; -import { Alert } from '../../../../components/ui/Alert'; export enum TokenMode { use_existing_token = 'use_existing_token', @@ -193,7 +193,7 @@ export default class EditTokenModal extends React.PureComponent<Props, State> { <> <RenderOptions checked={mode} - name={'token-mode'} + name="token-mode" onCheck={this.setMode} optionLabelKey="onboarding.token" options={[TokenMode.use_existing_token, TokenMode.generate_token]} diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTravisYmlStep.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTravisYmlStep.tsx index dcfd5619f27..c9563ccc710 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTravisYmlStep.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EditTravisYmlStep.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import AnalysisCommandTravis from '../../components/commands/AnalysisCommandTravis'; -import { Button } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; import Step from '../../components/Step'; import BuildSystemForm from '../../components/BuildSystemForm'; import { StepProps } from '../../utils'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EncryptYourTokenStep.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EncryptYourTokenStep.tsx index 2bfaa7bdb34..7208c825ba6 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EncryptYourTokenStep.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/EncryptYourTokenStep.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, EditButton } from 'sonar-ui-common/components/controls/buttons'; import EditTokenModal from './EditTokenModal'; -import { Button, EditButton } from '../../../../components/ui/buttons'; -import { translate } from '../../../../helpers/l10n'; import Step from '../../components/Step'; import CodeSnippet from '../../../../components/common/CodeSnippet'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/__tests__/EditTokenModal-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/__tests__/EditTokenModal-test.tsx index 125cdff3e7c..4a88807c91d 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/__tests__/EditTokenModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/analyzeProject/steps/__tests__/EditTokenModal-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import EditTokenModal, { TokenMode } from '../EditTokenModal'; import { mockComponent, mockEvent, mockLoggedInUser } from '../../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../../helpers/testUtils'; import { generateToken, getTokens, revokeToken } from '../../../../../api/user-tokens'; import { getUniqueTokenName } from '../../../utils'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/AnalyzeTutorialDone.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/AnalyzeTutorialDone.tsx index 68bc9705bbf..b8d1c05aba4 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/AnalyzeTutorialDone.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/AnalyzeTutorialDone.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getBaseUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; -import BackButton from '../../../components/controls/BackButton'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import BackButton from 'sonar-ui-common/components/controls/BackButton'; interface Props { setTutorialDone: (done: boolean) => void; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/BuildSystemForm.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/BuildSystemForm.tsx index 8001f5a1d68..ad5eb192500 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/BuildSystemForm.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/BuildSystemForm.tsx @@ -31,7 +31,7 @@ export default function BuildSystemForm({ build, setBuild }: Props) { checked={build} name="build" onCheck={setBuild} - optionLabelKey={'onboarding.build'} + optionLabelKey="onboarding.build" options={['maven', 'gradle', 'make', 'other']} titleLabelKey="onboarding.build" /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/LanguageForm.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/LanguageForm.tsx index 0ac0e87f557..f3525341d7a 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/LanguageForm.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/LanguageForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; import { RenderOptions } from './RenderOptions'; import NewProjectForm from './NewProjectForm'; -import RadioToggle from '../../../components/controls/RadioToggle'; -import { translate } from '../../../helpers/l10n'; import { isSonarCloud } from '../../../helpers/system'; import { isLanguageConfigured, LanguageConfig } from '../utils'; @@ -45,9 +45,9 @@ export function RenderOS(props: RenderOSProps) { checked={props.os} name="os" onCheck={props.setOS} - optionLabelKey={'onboarding.language.os'} + optionLabelKey="onboarding.language.os" options={['linux', 'win', 'mac']} - titleLabelKey={'onboarding.language.os'} + titleLabelKey="onboarding.language.os" /> ); } @@ -109,9 +109,9 @@ export default class LanguageForm extends React.PureComponent<Props, State> { checked={this.state.cFamilyCompiler} name="c-family-compiler" onCheck={this.handleCFamilyCompilerChange} - optionLabelKey={'onboarding.language.c-family.compiler'} + optionLabelKey="onboarding.language.c-family.compiler" options={['msvc', 'clang-gcc']} - titleLabelKey={'onboarding.language.c-family.compiler'} + titleLabelKey="onboarding.language.c-family.compiler" /> ); diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/NewProjectForm.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/NewProjectForm.tsx index e166bace23a..322563f05b2 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/NewProjectForm.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/NewProjectForm.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DeleteButton, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; import { createProject, deleteProject } from '../../../api/components'; -import { DeleteButton, SubmitButton } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { onDelete: VoidFunction; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStep.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStep.tsx index 1a220fbd42e..6af1907638e 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStep.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStep.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Step from './Step'; import LanguageForm from './LanguageForm'; import AnalysisCommand from './commands/AnalysisCommand'; -import { translate } from '../../../helpers/l10n'; import { LanguageConfig } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStepFromBuildTool.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStepFromBuildTool.tsx index 6a9bfc7169b..c84000b7d64 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStepFromBuildTool.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/ProjectAnalysisStepFromBuildTool.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { get, save } from 'sonar-ui-common/helpers/storage'; import Step from './Step'; import BuildSystemForm from './BuildSystemForm'; import AnalysisCommandCustom from './commands/AnalysisCommandCustom'; import AnalysisCommandOtherCI from './commands/AnalysisCommandOtherCI'; -import { translate } from '../../../helpers/l10n'; -import { get, save } from '../../../helpers/storage'; import { PROJECT_STEP_PROGRESS } from '../analyzeProject/utils'; export enum ProjectAnalysisModes { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/RenderOptions.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/RenderOptions.tsx index 406c3d74f92..e86607b59d7 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/RenderOptions.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/RenderOptions.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import RadioToggle from '../../../components/controls/RadioToggle'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; interface RenderOptionsProps { checked: string | undefined; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/TokenStep.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/TokenStep.tsx index 895073b3f2a..15975a3e086 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/TokenStep.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/TokenStep.tsx @@ -18,15 +18,15 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as classNames from 'classnames'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import * as classNames from 'classnames'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DeleteButton, SubmitButton, Button } from 'sonar-ui-common/components/controls/buttons'; import Step from './Step'; -import AlertErrorIcon from '../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; -import { DeleteButton, SubmitButton, Button } from '../../../components/ui/buttons'; import { getTokens, generateToken, revokeToken } from '../../../api/user-tokens'; -import { translate } from '../../../helpers/l10n'; import { getUniqueTokenName } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/NewProjectForm-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/NewProjectForm-test.tsx index 0d534cd9a59..cf91df3d1a4 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/NewProjectForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/NewProjectForm-test.tsx @@ -19,16 +19,14 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import NewProjectForm from '../NewProjectForm'; -import { change, submit, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/components', () => ({ createProject: () => Promise.resolve(), deleteProject: () => Promise.resolve() })); -jest.mock('../../../../components/icons-components/DeleteIcon'); - it('creates new project', async () => { const onDone = jest.fn(); const wrapper = shallow(<NewProjectForm onDelete={jest.fn()} onDone={onDone} />); diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/ProjectAnalysisStepFromBuildTool-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/ProjectAnalysisStepFromBuildTool-test.tsx index ac35e13598b..50ea22afa34 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/ProjectAnalysisStepFromBuildTool-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/ProjectAnalysisStepFromBuildTool-test.tsx @@ -25,7 +25,7 @@ import ProjectAnalysisStepFromBuildTool, { } from '../ProjectAnalysisStepFromBuildTool'; import { mockComponent, mockLoggedInUser } from '../../../../helpers/testMocks'; -jest.mock('../../../../helpers/storage', () => ({ +jest.mock('sonar-ui-common/helpers/storage', () => ({ get: jest.fn().mockReturnValue( JSON.stringify({ build: 'maven', diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/Step-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/Step-test.tsx index 4ec6359c0dd..17903a15e41 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/Step-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/Step-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Step from '../Step'; -import { click } from '../../../../helpers/testUtils'; it('renders', () => { const wrapper = shallow( diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/TokenStep-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/TokenStep-test.tsx index cdd6c63d6ce..a72a95bfcb7 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/TokenStep-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/__tests__/TokenStep-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, click, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import TokenStep from '../TokenStep'; -import { change, click, submit, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/user-tokens', () => ({ getTokens: () => Promise.resolve([{ name: 'foo' }]), diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommand.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommand.tsx index 03c4a3f7071..c5365be57a9 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommand.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommand.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getHostUrl } from 'sonar-ui-common/helpers/urls'; import JavaMaven from './JavaMaven'; import JavaGradle from './JavaGradle'; import DotNet from './DotNet'; import Msvc from './Msvc'; import ClangGCC from './ClangGCC'; import Other from './Other'; -import { getHostUrl } from '../../../../helpers/urls'; import { LanguageConfig } from '../../utils'; import { getProjectKey } from '../ProjectAnalysisStep'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandCustom.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandCustom.tsx index 5cc1c167e1a..3e4e24c6f39 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandCustom.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandCustom.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getHostUrl } from 'sonar-ui-common/helpers/urls'; import JavaMavenCustom from './Custom/JavaMavenCustom'; import JavaGradleCustom from './Custom/JavaGradleCustom'; import ClangGCCCustom from './Custom/ClangGCCCustom'; import OtherCustom from './Custom/OtherCustom'; import { AnalysisCommandProps, AnalysisCommandRenderProps } from './utils'; import { AnalysisCommandCommon } from './AnalysisCommandOtherCI'; -import { getHostUrl } from '../../../../helpers/urls'; import { getProjectKey } from '../ProjectAnalysisStep'; import { ProjectAnalysisModes } from '../ProjectAnalysisStepFromBuildTool'; import { RenderOS, RenderOSProps } from '../LanguageForm'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandOtherCI.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandOtherCI.tsx index 0537afaa24c..577e9f0eb0c 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandOtherCI.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandOtherCI.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { getHostUrl } from 'sonar-ui-common/helpers/urls'; import OtherOtherCI from './OtherCI/OtherOtherCI'; import ClangGCCOtherCI from './OtherCI/ClangGCCOtherCI'; import { AnalysisCommandProps, AnalysisCommandRenderProps } from './utils'; import { RenderCommandForGradle, RenderCommandForMaven } from './AnalysisCommandCustom'; -import { getHostUrl } from '../../../../helpers/urls'; import { getProjectKey } from '../ProjectAnalysisStep'; import { RenderOS, RenderOSProps } from '../LanguageForm'; import { ProjectAnalysisModes } from '../ProjectAnalysisStepFromBuildTool'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandTravis.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandTravis.tsx index 112e8ad5193..f0e2b5c17d2 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandTravis.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommandTravis.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getHostUrl } from 'sonar-ui-common/helpers/urls'; import { JavaMavenTravisSonarCloud } from './TravisSonarCloud/JavaMavenTravisSonarCloud'; import { JavaGradleTravisSonarCloud } from './TravisSonarCloud/JavaGradleTravisSonarCloud'; import { OtherTravisSonarCloud } from './TravisSonarCloud/OtherTravisSonarCloud'; import { ClangGCCTravisSonarCloud } from './TravisSonarCloud/ClangGCCTravisSonarCloud'; -import { getHostUrl } from '../../../../helpers/urls'; -import CodeSnippet from '../../../../components/common/CodeSnippet'; -import { translate } from '../../../../helpers/l10n'; import { getProjectKey } from '../ProjectAnalysisStep'; +import CodeSnippet from '../../../../components/common/CodeSnippet'; interface Props { buildType: string | undefined; @@ -81,7 +81,7 @@ export function RequirementJavaBuild() { target="_blank"> {translate('onboarding.analysis.with.travis.environment.image.java')} </a> - <CodeSnippet isOneLine={true} noCopy={true} snippet={'language: java'} /> + <CodeSnippet isOneLine={true} noCopy={true} snippet="language: java" /> </div> <div className="display-flex-stretch"> @@ -99,7 +99,7 @@ export function RequirementJavaBuild() { target="_blank"> {translate('onboarding.analysis.with.travis.environment.image.ci')} </a> - <CodeSnippet isOneLine={true} noCopy={true} snippet={'dist: trusty'} /> + <CodeSnippet isOneLine={true} noCopy={true} snippet="dist: trusty" /> </div> </div> </> @@ -119,7 +119,7 @@ export function RequirementOtherBuild() { </a> </p> - <CodeSnippet isOneLine={true} noCopy={true} snippet={'dist: trusty'} /> + <CodeSnippet isOneLine={true} noCopy={true} snippet="dist: trusty" /> </> ); } @@ -180,7 +180,7 @@ export function RenderCommandForOther({ component, organization, token }: Render <OtherTravisSonarCloud host={getHostUrl()} organization={organization} - os={'linux'} + os="linux" projectKey={projectKey} token={token} /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/BuildWrapper.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/BuildWrapper.tsx index 3f16344c420..8bffffacb58 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/BuildWrapper.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/BuildWrapper.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../../helpers/l10n'; -import { getBaseUrl } from '../../../../helpers/urls'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx index ffd7ded0454..74b95b5b3e8 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SQScanner from './SQScanner'; import BuildWrapper from './BuildWrapper'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; import { quote } from '../../utils'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/ClangGCCCustom.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/ClangGCCCustom.tsx index 940ae4fbef8..c73ba8e2dc2 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/ClangGCCCustom.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/ClangGCCCustom.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, EditButton } from 'sonar-ui-common/components/controls/buttons'; import { quote } from '../../../utils'; import SQScanner from '../SQScanner'; import BuildWrapper from '../BuildWrapper'; -import { translate } from '../../../../../helpers/l10n'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; -import { Button, EditButton } from '../../../../../components/ui/buttons'; import { ProjectAnalysisModes } from '../../ProjectAnalysisStepFromBuildTool'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaGradleCustom.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaGradleCustom.tsx index 4743c348ce2..cd0ce89fde2 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaGradleCustom.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaGradleCustom.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { JavaCustomProps, RenderCustomContent } from './JavaMavenCustom'; -import { translate } from '../../../../../helpers/l10n'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; import { ProjectAnalysisModes } from '../../ProjectAnalysisStepFromBuildTool'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaMavenCustom.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaMavenCustom.tsx index c5758791803..44546f6e842 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaMavenCustom.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/JavaMavenCustom.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, EditButton } from 'sonar-ui-common/components/controls/buttons'; import InstanceMessage from '../../../../../components/common/InstanceMessage'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; -import { Button, EditButton } from '../../../../../components/ui/buttons'; import { ProjectAnalysisModes } from '../../ProjectAnalysisStepFromBuildTool'; export interface JavaCustomProps { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/OtherCustom.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/OtherCustom.tsx index 9fd5b17bd50..d54a1cd1f15 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/OtherCustom.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Custom/OtherCustom.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SQScanner from '..//SQScanner'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, EditButton } from 'sonar-ui-common/components/controls/buttons'; +import SQScanner from '../SQScanner'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../../components/common/InstanceMessage'; -import { translate } from '../../../../../helpers/l10n'; import { quote } from '../../../utils'; -import { Button, EditButton } from '../../../../../components/ui/buttons'; import { ProjectAnalysisModes } from '../../ProjectAnalysisStepFromBuildTool'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/DotNet.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/DotNet.tsx index 9c7542f7733..aa5643e82bd 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/DotNet.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/DotNet.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MSBuildScanner from './MSBuildScanner'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; export interface Props { host: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaGradle.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaGradle.tsx index 5ee1c5c1954..8bd1fe39233 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaGradle.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaGradle.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; export interface Props { host: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaMaven.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaMaven.tsx index e0a234c706f..180e28d7fe7 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaMaven.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaMaven.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; export interface Props { host: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/MSBuildScanner.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/MSBuildScanner.tsx index 292adee51df..98d81f5ce51 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/MSBuildScanner.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/MSBuildScanner.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Msvc.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Msvc.tsx index 36fbab52778..20679baf93f 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Msvc.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Msvc.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MSBuildScanner from './MSBuildScanner'; import BuildWrapper from './BuildWrapper'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; interface Props { host: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx index 8e5fd2dc32f..45483b77d3e 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import SQScanner from './SQScanner'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; -import { translate } from '../../../../helpers/l10n'; import { quote } from '../../utils'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/ClangGCCOtherCI.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/ClangGCCOtherCI.tsx index 2e7c1921abc..a0d15f11428 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/ClangGCCOtherCI.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/ClangGCCOtherCI.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { EditButton } from 'sonar-ui-common/components/controls/buttons'; import { quote } from '../../../utils'; import SQScanner from '../SQScanner'; import BuildWrapper from '../BuildWrapper'; -import { translate } from '../../../../../helpers/l10n'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; -import { EditButton } from '../../../../../components/ui/buttons'; import { ClangGCCCommon } from '../Custom/ClangGCCCustom'; export interface Props { @@ -82,9 +82,9 @@ unzip build-wrapper-linux-x86.zip`; <div className="huge-spacer-top"> {props.os === 'win' ? ( <> - <SQScanner os={'ci'} /> + <SQScanner os="ci" /> - <BuildWrapper className="huge-spacer-top" os={'ci'} /> + <BuildWrapper className="huge-spacer-top" os="ci" /> </> ) : ( <> @@ -99,9 +99,9 @@ unzip build-wrapper-linux-x86.zip`; <ClangGCCCommon command1={command1} command2={command2} - renderCommand2={renderCommand2} onDone={props.onDone} os={props.os} + renderCommand2={renderCommand2} /> </div> ); diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/OtherOtherCI.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/OtherOtherCI.tsx index 2701ee3fe0e..5a1569f0931 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/OtherOtherCI.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/OtherCI/OtherOtherCI.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SQScanner from '..//SQScanner'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, EditButton } from 'sonar-ui-common/components/controls/buttons'; +import SQScanner from '../SQScanner'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../../components/common/InstanceMessage'; -import { translate } from '../../../../../helpers/l10n'; import { quote } from '../../../utils'; -import { Button, EditButton } from '../../../../../components/ui/buttons'; export interface Props { component: T.Component; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/SQScanner.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/SQScanner.tsx index 674b59e3d50..5a702932d69 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/SQScanner.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/SQScanner.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaGradleTravisSonarCloud.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaGradleTravisSonarCloud.tsx index 6393b7baa9c..77ab032e910 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaGradleTravisSonarCloud.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaGradleTravisSonarCloud.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getSonarcloudAddonYml, RequirementJavaBuild, getSonarcloudAddonYmlRender } from '../AnalysisCommandTravis'; import { Props } from '../JavaGradle'; -import { translate } from '../../../../../helpers/l10n'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; export function JavaGradleTravisSonarCloud(props: Props) { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaMavenTravisSonarCloud.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaMavenTravisSonarCloud.tsx index 5a5fa44c0dd..aa15d4145bc 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaMavenTravisSonarCloud.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/JavaMavenTravisSonarCloud.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { Props } from '../JavaMaven'; import { getSonarcloudAddonYml, RequirementJavaBuild, getSonarcloudAddonYmlRender } from '../AnalysisCommandTravis'; -import { translate } from '../../../../../helpers/l10n'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; export function JavaMavenTravisSonarCloud(props: Props) { diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/utils.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/utils.tsx index ae2b2ec06dc..54c953c0510 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/utils.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/TravisSonarCloud/utils.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { translate } from '../../../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { RequirementOtherBuild } from '../AnalysisCommandTravis'; import CodeSnippet from '../../../../../components/common/CodeSnippet'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommand-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommand-test.tsx index 7887ab357fa..bf57a1bb502 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommand-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommand-test.tsx @@ -25,7 +25,7 @@ jest.mock('../../../../../helpers/system', () => ({ isSonarCloud: jest.fn().mockReturnValue(true) })); -jest.mock('../../../../../helpers/urls', () => ({ +jest.mock('sonar-ui-common/helpers/urls', () => ({ getHostUrl: () => 'HOST' })); diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommandOtherCI-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommandOtherCI-test.tsx index 897f028f755..899e8c345a4 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommandOtherCI-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/AnalysisCommandOtherCI-test.tsx @@ -54,7 +54,7 @@ it('should render AnalysisCommandCustom correctly', () => { const getBuildOptions = jest.fn().mockResolvedValue(null); const wrapper = shallow( <AnalysisCommandCommon - buildType={'maven'} + buildType="maven" component={mockComponent()} currentUser={mockLoggedInUser()} getBuildOptions={getBuildOptions} diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OnboardingModal.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OnboardingModal.tsx index 1228a602cce..e537bb80abd 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OnboardingModal.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OnboardingModal.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import OnboardingProjectIcon from 'sonar-ui-common/components/icons/OnboardingProjectIcon'; +import OnboardingTeamIcon from 'sonar-ui-common/components/icons/OnboardingTeamIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import OrganizationsShortList from './OrganizationsShortList'; -import Modal from '../../../components/controls/Modal'; -import OnboardingProjectIcon from '../../../components/icons-components/OnboardingProjectIcon'; -import OnboardingTeamIcon from '../../../components/icons-components/OnboardingTeamIcon'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; import { withUserOrganizations } from '../../../components/hoc/withUserOrganizations'; -import { Button, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; import '../styles.css'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortList.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortList.tsx index 2cb0f4c2b13..daf264159d7 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortList.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortList.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import { sortBy } from 'lodash'; import { Link } from 'react-router'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import OrganizationsShortListItem from './OrganizationsShortListItem'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; export interface Props { organizations: T.Organization[]; diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortListItem.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortListItem.tsx index 81f8a8219af..21feb94feff 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortListItem.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationsShortListItem.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { ListButton } from 'sonar-ui-common/components/controls/buttons'; import OrganizationAvatar from '../../../components/common/OrganizationAvatar'; -import { ListButton } from '../../../components/ui/buttons'; import { withRouter, Router } from '../../../components/hoc/withRouter'; import { getOrganizationUrl } from '../../../helpers/urls'; diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx index 722c04598fb..59fd7585b30 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { OnboardingModal, Props } from '../OnboardingModal'; -import { click } from '../../../../helpers/testUtils'; import { mockOrganization } from '../../../../helpers/testMocks'; it('renders correctly', () => { diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OrganizationsShortListItem-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OrganizationsShortListItem-test.tsx index acc2ba83e8f..ace1cc61a37 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OrganizationsShortListItem-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OrganizationsShortListItem-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import { OrganizationsShortListItem } from '../OrganizationsShortListItem'; import { mockRouter, mockOrganization } from '../../../../helpers/testMocks'; -import { click } from '../../../../helpers/testUtils'; it('renders correctly', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/tutorials/routes.ts b/server/sonar-web/src/main/js/apps/tutorials/routes.ts index d779c891054..bfdb9678931 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/routes.ts +++ b/server/sonar-web/src/main/js/apps/tutorials/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import { isSonarCloud } from '../../helpers/system'; const routes = [ diff --git a/server/sonar-web/src/main/js/apps/users/Header.tsx b/server/sonar-web/src/main/js/apps/users/Header.tsx index c7e93e90e6d..3dc772b71f1 100644 --- a/server/sonar-web/src/main/js/apps/users/Header.tsx +++ b/server/sonar-web/src/main/js/apps/users/Header.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import UserForm from './components/UserForm'; -import DeferredSpinner from '../../components/common/DeferredSpinner'; -import { Button } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/users/Search.tsx b/server/sonar-web/src/main/js/apps/users/Search.tsx index 79027ec2a8f..f185faf8d68 100644 --- a/server/sonar-web/src/main/js/apps/users/Search.tsx +++ b/server/sonar-web/src/main/js/apps/users/Search.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import { Query } from './utils'; -import SearchBox from '../../components/controls/SearchBox'; -import { translate } from '../../helpers/l10n'; interface Props { query: Query; diff --git a/server/sonar-web/src/main/js/apps/users/UsersApp.tsx b/server/sonar-web/src/main/js/apps/users/UsersApp.tsx index 95be01e8536..1ff056a5b1c 100644 --- a/server/sonar-web/src/main/js/apps/users/UsersApp.tsx +++ b/server/sonar-web/src/main/js/apps/users/UsersApp.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Header from './Header'; import Search from './Search'; import UsersList from './UsersList'; import { parseQuery, Query, serializeQuery } from './utils'; -import ListFooter from '../../components/controls/ListFooter'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; import { getIdentityProviders, searchUsers } from '../../api/users'; -import { translate } from '../../helpers/l10n'; import { withRouter, Location, Router } from '../../components/hoc/withRouter'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/users/UsersList.tsx b/server/sonar-web/src/main/js/apps/users/UsersList.tsx index 3c437e1212a..c014b240316 100644 --- a/server/sonar-web/src/main/js/apps/users/UsersList.tsx +++ b/server/sonar-web/src/main/js/apps/users/UsersList.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import UserListItem from './components/UserListItem'; -import { translate } from '../../helpers/l10n'; interface Props { currentUser: { isLoggedIn: boolean; login?: string }; diff --git a/server/sonar-web/src/main/js/apps/users/__tests__/Header-test.tsx b/server/sonar-web/src/main/js/apps/users/__tests__/Header-test.tsx index 744a82554c6..a8f8ad22cd6 100644 --- a/server/sonar-web/src/main/js/apps/users/__tests__/Header-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/__tests__/Header-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Header from '../Header'; -import { click } from '../../../helpers/testUtils'; it('should render correctly', () => { expect(getWrapper()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/users/__tests__/UsersApp-test.tsx b/server/sonar-web/src/main/js/apps/users/__tests__/UsersApp-test.tsx index 72f20f45136..bf2cee17d88 100644 --- a/server/sonar-web/src/main/js/apps/users/__tests__/UsersApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/__tests__/UsersApp-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { UsersApp } from '../UsersApp'; -import { waitAndUpdate } from '../../../helpers/testUtils'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { Location } from '../../../components/hoc/withRouter'; jest.mock('../../../api/users', () => ({ diff --git a/server/sonar-web/src/main/js/apps/users/components/DeactivateForm.tsx b/server/sonar-web/src/main/js/apps/users/components/DeactivateForm.tsx index 251e04397b7..bf7ea8f38d1 100644 --- a/server/sonar-web/src/main/js/apps/users/components/DeactivateForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/DeactivateForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { deactivateUser } from '../../../api/users'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; export interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/users/components/GroupsForm.tsx b/server/sonar-web/src/main/js/apps/users/components/GroupsForm.tsx index 43985411dfa..cdf7e5eab4a 100644 --- a/server/sonar-web/src/main/js/apps/users/components/GroupsForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/GroupsForm.tsx @@ -17,13 +17,13 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { find, without } from 'lodash'; import * as React from 'react'; +import { find, without } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import SelectList, { Filter } from '../../../components/SelectList/SelectList'; import { getUserGroups, UserGroup } from '../../../api/users'; import { addUserToGroup, removeUserFromGroup } from '../../../api/user_groups'; -import Modal from '../../../components/controls/Modal'; -import SelectList, { Filter } from '../../../components/SelectList/SelectList'; -import { translate } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/users/components/PasswordForm.tsx b/server/sonar-web/src/main/js/apps/users/components/PasswordForm.tsx index ed6c93b1ef2..516d3102972 100644 --- a/server/sonar-web/src/main/js/apps/users/components/PasswordForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/PasswordForm.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { parseError } from 'sonar-ui-common/helpers/request'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { changePassword } from '../../../api/users'; import addGlobalSuccessMessage from '../../../app/utils/addGlobalSuccessMessage'; import throwGlobalError from '../../../app/utils/throwGlobalError'; -import Modal from '../../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { parseError } from '../../../helpers/request'; -import { Alert } from '../../../components/ui/Alert'; interface Props { isCurrentUser: boolean; diff --git a/server/sonar-web/src/main/js/apps/users/components/TokensForm.tsx b/server/sonar-web/src/main/js/apps/users/components/TokensForm.tsx index cee5f77432b..9d5041ca957 100644 --- a/server/sonar-web/src/main/js/apps/users/components/TokensForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/TokensForm.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import TokensFormItem, { TokenDeleteConfirmation } from './TokensFormItem'; import TokensFormNewToken from './TokensFormNewToken'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton } from '../../../components/ui/buttons'; import { getTokens, generateToken } from '../../../api/user-tokens'; -import { translate } from '../../../helpers/l10n'; interface Props { deleteConfirmation: TokenDeleteConfirmation; diff --git a/server/sonar-web/src/main/js/apps/users/components/TokensFormItem.tsx b/server/sonar-web/src/main/js/apps/users/components/TokensFormItem.tsx index 4c42e26003d..52ce2002b0b 100644 --- a/server/sonar-web/src/main/js/apps/users/components/TokensFormItem.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/TokensFormItem.tsx @@ -19,15 +19,15 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; -import { Button } from '../../../components/ui/buttons'; -import ConfirmButton from '../../../components/controls/ConfirmButton'; +import { limitComponentName } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import DateFormatter from '../../../components/intl/DateFormatter'; import DateFromNowHourPrecision from '../../../components/intl/DateFromNowHourPrecision'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import Tooltip from '../../../components/controls/Tooltip'; -import { limitComponentName } from '../../../helpers/path'; import { revokeToken } from '../../../api/user-tokens'; -import { translate } from '../../../helpers/l10n'; export type TokenDeleteConfirmation = 'inline' | 'modal'; @@ -97,7 +97,7 @@ export default class TokensFormItem extends React.PureComponent<Props, State> { </td> <td className="thin nowrap text-right"> <DeferredSpinner loading={loading}> - <i className="spinner-placeholder" /> + <i className="deferred-spinner-placeholder" /> </DeferredSpinner> {deleteConfirmation === 'modal' ? ( <ConfirmButton diff --git a/server/sonar-web/src/main/js/apps/users/components/TokensFormModal.tsx b/server/sonar-web/src/main/js/apps/users/components/TokensFormModal.tsx index 89e6652db2b..d7d0023c3f4 100644 --- a/server/sonar-web/src/main/js/apps/users/components/TokensFormModal.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/TokensFormModal.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import TokensForm from './TokensForm'; -import Modal from '../../../components/controls/Modal'; -import { translate } from '../../../helpers/l10n'; -import { ResetButtonLink } from '../../../components/ui/buttons'; interface Props { user: T.User; diff --git a/server/sonar-web/src/main/js/apps/users/components/TokensFormNewToken.tsx b/server/sonar-web/src/main/js/apps/users/components/TokensFormNewToken.tsx index f210ddba1ec..af8e72a9a45 100644 --- a/server/sonar-web/src/main/js/apps/users/components/TokensFormNewToken.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/TokensFormNewToken.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ClipboardButton from '../../../components/controls/ClipboardButton'; -import { translateWithParameters } from '../../../helpers/l10n'; -import { Alert } from '../../../components/ui/Alert'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; interface Props { token: { name: string; token: string }; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserActions.tsx b/server/sonar-web/src/main/js/apps/users/components/UserActions.tsx index daf5b9db11a..43b4273c75c 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserActions.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserActions.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeactivateForm from './DeactivateForm'; -import PasswordForm from './PasswordForm'; -import UserForm from './UserForm'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ActionsDropdown, { ActionsDropdownItem, ActionsDropdownDivider -} from '../../../components/controls/ActionsDropdown'; -import { translate } from '../../../helpers/l10n'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import DeactivateForm from './DeactivateForm'; +import PasswordForm from './PasswordForm'; +import UserForm from './UserForm'; interface Props { isCurrentUser: boolean; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx b/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx index 6fa6ff036b2..06e487685e6 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx @@ -19,14 +19,14 @@ */ import * as React from 'react'; import { uniq } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { parseError } from 'sonar-ui-common/helpers/request'; +import { Button, ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import UserScmAccountInput from './UserScmAccountInput'; import { createUser, updateUser } from '../../../api/users'; import throwGlobalError from '../../../app/utils/throwGlobalError'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import { Button, ResetButtonLink, SubmitButton } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { parseError } from '../../../helpers/request'; -import { Alert } from '../../../components/ui/Alert'; export interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserGroups.tsx b/server/sonar-web/src/main/js/apps/users/components/UserGroups.tsx index 807e3a32ae4..98a76b0459f 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserGroups.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserGroups.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; import GroupsForm from './GroupsForm'; -import BulletListIcon from '../../../components/icons-components/BulletListIcon'; -import { ButtonIcon } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { groups: string[]; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserListItem.tsx b/server/sonar-web/src/main/js/apps/users/components/UserListItem.tsx index 1c52666dd64..6b5f9477ca2 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserListItem.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserListItem.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; import TokensFormModal from './TokensFormModal'; import UserActions from './UserActions'; import UserGroups from './UserGroups'; import UserListItemIdentity from './UserListItemIdentity'; import UserScmAccounts from './UserScmAccounts'; import Avatar from '../../../components/ui/Avatar'; -import BulletListIcon from '../../../components/icons-components/BulletListIcon'; import DateFromNowHourPrecision from '../../../components/intl/DateFromNowHourPrecision'; -import { ButtonIcon } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { identityProvider?: T.IdentityProvider; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserListItemIdentity.tsx b/server/sonar-web/src/main/js/apps/users/components/UserListItemIdentity.tsx index b4e53b19b55..f4e1d7d0832 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserListItemIdentity.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserListItemIdentity.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import * as theme from '../../../app/theme'; -import { getTextColor } from '../../../helpers/colors'; -import { getBaseUrl } from '../../../helpers/urls'; +import { getTextColor } from 'sonar-ui-common/helpers/colors'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; +import { colors } from '../../../app/theme'; export interface Props { identityProvider?: T.IdentityProvider; @@ -59,7 +59,7 @@ export function ExternalProvider({ identityProvider, user }: Props) { className="identity-provider" style={{ backgroundColor: identityProvider.backgroundColor, - color: getTextColor(identityProvider.backgroundColor, theme.secondFontColor) + color: getTextColor(identityProvider.backgroundColor, colors.secondFontColor) }}> <img alt={identityProvider.name} diff --git a/server/sonar-web/src/main/js/apps/users/components/UserScmAccountInput.tsx b/server/sonar-web/src/main/js/apps/users/components/UserScmAccountInput.tsx index a39e72ec8e3..81668bf17fa 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserScmAccountInput.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserScmAccountInput.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { DeleteButton } from '../../../components/ui/buttons'; +import { DeleteButton } from 'sonar-ui-common/components/controls/buttons'; export interface Props { idx: number; diff --git a/server/sonar-web/src/main/js/apps/users/components/UserScmAccounts.tsx b/server/sonar-web/src/main/js/apps/users/components/UserScmAccounts.tsx index 05dc4abf096..0c1a466f039 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserScmAccounts.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserScmAccounts.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translateWithParameters } from '../../../helpers/l10n'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; interface Props { scmAccounts: string[]; diff --git a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.tsx b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.tsx index 5b19d4cf57d..60cf8af8227 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { debounce } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import Avatar from '../../../components/ui/Avatar'; import Select from '../../../components/controls/Select'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Option { login: string; diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/GroupsForm-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/GroupsForm-test.tsx index 6c86567a743..6d9846b5efd 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/GroupsForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/GroupsForm-test.tsx @@ -19,9 +19,9 @@ */ import { shallow } from 'enzyme'; import * as React from 'react'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import GroupsForm, { SearchParams } from '../GroupsForm'; import SelectList, { Filter } from '../../../../components/SelectList/SelectList'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; import { getUserGroups } from '../../../../api/users'; import { addUserToGroup, removeUserFromGroup } from '../../../../api/user_groups'; import { mockUser } from '../../../../helpers/testMocks'; diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensForm-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensForm-test.tsx index 19ebe0feea0..1d9ce0340a0 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { change, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import TokensForm from '../TokensForm'; -import { change, submit, waitAndUpdate } from '../../../../helpers/testUtils'; import { generateToken, getTokens } from '../../../../api/user-tokens'; jest.mock('../../../../api/user-tokens', () => ({ diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensFormItem-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensFormItem-test.tsx index 71614fc6ff7..f655299909e 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensFormItem-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/TokensFormItem-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import TokensFormItem from '../TokensFormItem'; import { revokeToken } from '../../../../api/user-tokens'; -import { click, waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../components/intl/DateFormatter'); jest.mock('../../../../components/intl/DateFromNow'); diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserActions-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserActions-test.tsx index 10cb16c6860..6002475bbbe 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserActions-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import UserActions from '../UserActions'; const user = { diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserForm-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserForm-test.tsx index e4c4871d783..70ebba9aedc 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserForm-test.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, submit } from 'sonar-ui-common/helpers/testUtils'; import UserForm from '../UserForm'; import { mockUser } from '../../../../helpers/testMocks'; import { createUser, updateUser } from '../../../../api/users'; -import { waitAndUpdate, submit } from '../../../../helpers/testUtils'; jest.mock('../../../../api/users', () => ({ createUser: jest.fn().mockResolvedValue({}), @@ -41,7 +41,8 @@ it('should render correctly', () => { it('should correctly show errors', async () => { (updateUser as jest.Mock).mockRejectedValue({ response: { - status: 400 + status: 400, + json: jest.fn().mockRejectedValue(undefined) } }); const wrapper = shallowRender(); diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserGroups-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserGroups-test.tsx index 25b7af19df1..b1302d28e3f 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserGroups-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserGroups-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import UserGroups from '../UserGroups'; const user = { diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserListItem-test.tsx b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserListItem-test.tsx index a6e895d5840..49c8d7b6f9f 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UserListItem-test.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UserListItem-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import UserListItem from '../UserListItem'; jest.mock('../../../../components/intl/DateFromNow'); diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/__snapshots__/TokensFormItem-test.tsx.snap b/server/sonar-web/src/main/js/apps/users/components/__tests__/__snapshots__/TokensFormItem-test.tsx.snap index 7a38670adf7..efe5ea7b142 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/__snapshots__/TokensFormItem-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/__snapshots__/TokensFormItem-test.tsx.snap @@ -34,7 +34,7 @@ exports[`should render correctly 1`] = ` timeout={100} > <i - className="spinner-placeholder" + className="deferred-spinner-placeholder" /> </DeferredSpinner> <Button @@ -82,7 +82,7 @@ exports[`should render correctly 2`] = ` timeout={100} > <i - className="spinner-placeholder" + className="deferred-spinner-placeholder" /> </DeferredSpinner> <ConfirmButton diff --git a/server/sonar-web/src/main/js/apps/users/routes.ts b/server/sonar-web/src/main/js/apps/users/routes.ts index 6651bae5296..9a8582579dc 100644 --- a/server/sonar-web/src/main/js/apps/users/routes.ts +++ b/server/sonar-web/src/main/js/apps/users/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/users/utils.ts b/server/sonar-web/src/main/js/apps/users/utils.ts index 658ef591614..82080e483f0 100644 --- a/server/sonar-web/src/main/js/apps/users/utils.ts +++ b/server/sonar-web/src/main/js/apps/users/utils.ts @@ -18,20 +18,20 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { memoize } from 'lodash'; -import { cleanQuery, parseAsString, RawQuery, serializeString } from '../../helpers/query'; +import { cleanQuery, parseAsString, serializeString } from 'sonar-ui-common/helpers/query'; export interface Query { search: string; } export const parseQuery = memoize( - (urlQuery: RawQuery): Query => ({ + (urlQuery: T.RawQuery): Query => ({ search: parseAsString(urlQuery['search']) }) ); export const serializeQuery = memoize( - (query: Query): RawQuery => + (query: Query): T.RawQuery => cleanQuery({ search: query.search ? serializeString(query.search) : undefined }) diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Action.tsx b/server/sonar-web/src/main/js/apps/web-api/components/Action.tsx index bd6c63de706..daa069cbe3a 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Action.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/Action.tsx @@ -18,16 +18,16 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import LinkIcon from 'sonar-ui-common/components/icons/LinkIcon'; import { Link } from 'react-router'; import * as classNames from 'classnames'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import Params from './Params'; import ResponseExample from './ResponseExample'; import ActionChangelog from './ActionChangelog'; import DeprecatedBadge from './DeprecatedBadge'; import InternalBadge from './InternalBadge'; import { getActionKey, serializeQuery } from '../utils'; -import LinkIcon from '../../../components/icons-components/LinkIcon'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { action: T.WebApi.Action; diff --git a/server/sonar-web/src/main/js/apps/web-api/components/DeprecatedBadge.tsx b/server/sonar-web/src/main/js/apps/web-api/components/DeprecatedBadge.tsx index 333a565ba03..a26c19a8665 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/DeprecatedBadge.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/DeprecatedBadge.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import { parseVersion } from '../utils'; export default function DeprecatedBadge({ since }: { since?: string }) { diff --git a/server/sonar-web/src/main/js/apps/web-api/components/InternalBadge.tsx b/server/sonar-web/src/main/js/apps/web-api/components/InternalBadge.tsx index 38a27d8309b..4862967a648 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/InternalBadge.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/InternalBadge.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; export default function InternalBadge() { return ( diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Params.tsx b/server/sonar-web/src/main/js/apps/web-api/components/Params.tsx index 7dbf8b77860..a53e8f20995 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Params.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/Params.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import InternalBadge from './InternalBadge'; import DeprecatedBadge from './DeprecatedBadge'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { params: T.WebApi.Param[]; diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Search.tsx b/server/sonar-web/src/main/js/apps/web-api/components/Search.tsx index e825cd46909..d05e016b7e6 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Search.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/Search.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Checkbox from '../../../components/controls/Checkbox'; -import HelpTooltip from '../../../components/controls/HelpTooltip'; -import { translate } from '../../../helpers/l10n'; -import SearchBox from '../../../components/controls/SearchBox'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import { Query } from '../utils'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.tsx b/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.tsx index 70658e1779e..23016e3a617 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.tsx @@ -19,8 +19,11 @@ */ import * as React from 'react'; import Helmet from 'react-helmet'; -import { Link, withRouter, WithRouterProps } from 'react-router'; import { maxBy } from 'lodash'; +import { Link, withRouter, WithRouterProps } from 'react-router'; +import { addSideBarClass, removeSideBarClass } from 'sonar-ui-common/helpers/pages'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import Domain from './Domain'; import Menu from './Menu'; import Search from './Search'; @@ -36,9 +39,6 @@ import { parseQuery, parseVersion } from '../utils'; -import { translate } from '../../../helpers/l10n'; -import { addSideBarClass, removeSideBarClass } from '../../../helpers/pages'; -import { scrollToElement } from '../../../helpers/scrolling'; import '../styles/web-api.css'; type Props = WithRouterProps; diff --git a/server/sonar-web/src/main/js/apps/web-api/components/__tests__/WebApiApp-test.tsx b/server/sonar-web/src/main/js/apps/web-api/components/__tests__/WebApiApp-test.tsx index 626e2f76bb9..d08a917bdbb 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/__tests__/WebApiApp-test.tsx +++ b/server/sonar-web/src/main/js/apps/web-api/components/__tests__/WebApiApp-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { addSideBarClass, removeSideBarClass } from 'sonar-ui-common/helpers/pages'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { WebApiApp } from '../WebApiApp'; import { fetchWebApi } from '../../../../api/web-api'; -import { addSideBarClass, removeSideBarClass } from '../../../../helpers/pages'; import { mockLocation, mockRouter } from '../../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../../helpers/testUtils'; jest.mock('../../../../api/web-api', () => ({ fetchWebApi: jest.fn().mockResolvedValue([ @@ -37,7 +37,7 @@ jest.mock('../../../../api/web-api', () => ({ ]) })); -jest.mock('../../../../helpers/pages', () => ({ +jest.mock('sonar-ui-common/helpers/pages', () => ({ addSideBarClass: jest.fn(), removeSideBarClass: jest.fn() })); diff --git a/server/sonar-web/src/main/js/apps/web-api/routes.ts b/server/sonar-web/src/main/js/apps/web-api/routes.ts index 120995d5b3e..c02707a721f 100644 --- a/server/sonar-web/src/main/js/apps/web-api/routes.ts +++ b/server/sonar-web/src/main/js/apps/web-api/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/apps/web-api/utils.ts b/server/sonar-web/src/main/js/apps/web-api/utils.ts index 1fbc2849b10..1640e4832fd 100644 --- a/server/sonar-web/src/main/js/apps/web-api/utils.ts +++ b/server/sonar-web/src/main/js/apps/web-api/utils.ts @@ -20,11 +20,10 @@ import { memoize } from 'lodash'; import { cleanQuery, - RawQuery, serializeString, parseAsOptionalBoolean, parseAsString -} from '../../helpers/query'; +} from 'sonar-ui-common/helpers/query'; export interface Query { search: string; @@ -64,7 +63,7 @@ export const isDomainPathActive = (path: string, splat: string) => { }; export const parseQuery = memoize( - (urlQuery: RawQuery): Query => ({ + (urlQuery: T.RawQuery): Query => ({ search: parseAsString(urlQuery['query']), deprecated: parseAsOptionalBoolean(urlQuery['deprecated']) || false, internal: parseAsOptionalBoolean(urlQuery['internal']) || false @@ -72,7 +71,7 @@ export const parseQuery = memoize( ); export const serializeQuery = memoize( - (query: Partial<Query>): RawQuery => + (query: Partial<Query>): T.RawQuery => cleanQuery({ query: query.search ? serializeString(query.search) : undefined, deprecated: query.deprecated || undefined, diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/App.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/App.tsx index f74bbd1f35b..4c4b417fc6e 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/App.tsx @@ -19,12 +19,12 @@ */ import * as React from 'react'; import { Helmet } from 'react-helmet'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import PageActions from './PageActions'; import PageHeader from './PageHeader'; import WebhooksList from './WebhooksList'; import { createWebhook, deleteWebhook, searchWebhooks, updateWebhook } from '../../../api/webhooks'; import Suggestions from '../../../app/components/embed-docs-modal/Suggestions'; -import { translate } from '../../../helpers/l10n'; interface Props { component?: T.LightComponent; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/CreateWebhookForm.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/CreateWebhookForm.tsx index 6ec56842d9b..6fe6ba8bc42 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/CreateWebhookForm.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/CreateWebhookForm.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import { FormikProps } from 'formik'; import { isWebUri } from 'valid-url'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import InputValidationField from 'sonar-ui-common/components/controls/InputValidationField'; import ValidationModal from '../../../components/controls/ValidationModal'; -import InputValidationField from '../../../components/controls/InputValidationField'; -import { translate } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/DeleteWebhookForm.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/DeleteWebhookForm.tsx index 86899bb57c5..6a5cd81de1c 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/DeleteWebhookForm.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/DeleteWebhookForm.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SimpleModal from '../../../components/controls/SimpleModal'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import SimpleModal from 'sonar-ui-common/components/controls/SimpleModal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveriesForm.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveriesForm.tsx index b951845416a..d069f8b0955 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveriesForm.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveriesForm.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import DeliveryAccordion from './DeliveryAccordion'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import ListFooter from '../../../components/controls/ListFooter'; -import Modal from '../../../components/controls/Modal'; -import { ResetButtonLink } from '../../../components/ui/buttons'; import { searchDeliveries } from '../../../api/webhooks'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryAccordion.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryAccordion.tsx index 5ca5be2f344..de01ee7fed1 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryAccordion.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryAccordion.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; import DeliveryItem from './DeliveryItem'; -import AlertErrorIcon from '../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; import BoxedGroupAccordion from '../../../components/controls/BoxedGroupAccordion'; import { getDelivery } from '../../../api/webhooks'; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryItem.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryItem.tsx index 6fa7de50c71..9e17ef0ea96 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryItem.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/DeliveryItem.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import CodeSnippet from '../../../components/common/CodeSnippet'; -import DeferredSpinner from '../../../components/common/DeferredSpinner'; -import { formatMeasure } from '../../../helpers/measures'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/LatestDeliveryForm.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/LatestDeliveryForm.tsx index 7ae4866d9a3..01ffaf67470 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/LatestDeliveryForm.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/LatestDeliveryForm.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translateWithParameters, translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import DeliveryItem from './DeliveryItem'; -import Modal from '../../../components/controls/Modal'; -import { ResetButtonLink } from '../../../components/ui/buttons'; import { getDelivery } from '../../../api/webhooks'; -import { translateWithParameters, translate } from '../../../helpers/l10n'; interface Props { delivery: T.WebhookDelivery; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/PageActions.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/PageActions.tsx index ae40d62638a..5b7829221cf 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/PageActions.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/PageActions.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import CreateWebhookForm from './CreateWebhookForm'; -import { Button } from '../../../components/ui/buttons'; -import Tooltip from '../../../components/controls/Tooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { loading: boolean; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/PageHeader.tsx index 7d1c9ba5485..58332518523 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/PageHeader.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { children?: React.ReactNode; @@ -38,7 +38,7 @@ export default function PageHeader({ children, loading }: Props) { <p className="page-description"> <FormattedMessage defaultMessage={translate('webhooks.description')} - id={'webhooks.description'} + id="webhooks.description" values={{ url: ( <Link to="/documentation/project-administration/webhooks/"> diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookActions.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookActions.tsx index dccf28038fc..490b82ba7fd 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookActions.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookActions.tsx @@ -18,14 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import CreateWebhookForm from './CreateWebhookForm'; -import DeleteWebhookForm from './DeleteWebhookForm'; -import DeliveriesForm from './DeliveriesForm'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ActionsDropdown, { ActionsDropdownItem, ActionsDropdownDivider -} from '../../../components/controls/ActionsDropdown'; -import { translate } from '../../../helpers/l10n'; +} from 'sonar-ui-common/components/controls/ActionsDropdown'; +import CreateWebhookForm from './CreateWebhookForm'; +import DeleteWebhookForm from './DeleteWebhookForm'; +import DeliveriesForm from './DeliveriesForm'; interface Props { onDelete: (webhook: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItem.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItem.tsx index 8a5ebe3ad44..18966485040 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItem.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItem.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import WebhookItemLatestDelivery from './WebhookItemLatestDelivery'; import WebhookActions from './WebhookActions'; -import { translate } from '../../../helpers/l10n'; interface Props { onDelete: (webhook: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItemLatestDelivery.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItemLatestDelivery.tsx index 57318f643a4..67b6325def3 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItemLatestDelivery.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/WebhookItemLatestDelivery.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; +import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; import LatestDeliveryForm from './LatestDeliveryForm'; -import BulletListIcon from '../../../components/icons-components/BulletListIcon'; -import AlertErrorIcon from '../../../components/icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../../../components/icons-components/AlertSuccessIcon'; import DateTimeFormatter from '../../../components/intl/DateTimeFormatter'; -import { ButtonIcon } from '../../../components/ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { webhook: T.Webhook; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/WebhooksList.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/WebhooksList.tsx index b6db6e6f359..5da536c0c00 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/WebhooksList.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/WebhooksList.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import WebhookItem from './WebhookItem'; -import { translate } from '../../../helpers/l10n'; interface Props { onDelete: (webhook: string) => Promise<void>; diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/PageActions-test.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/PageActions-test.tsx index 7038ca65f1c..8174f6b49cf 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/PageActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/PageActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import PageActions from '../PageActions'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly', () => { expect(getWrapper()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookActions-test.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookActions-test.tsx index bd3656b3f75..3262d61fc6d 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import WebhookActions from '../WebhookActions'; -import { click } from '../../../../helpers/testUtils'; const webhook = { key: '1', diff --git a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookItemLatestDelivery-test.tsx b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookItemLatestDelivery-test.tsx index 03d995191e1..580944a4a1b 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookItemLatestDelivery-test.tsx +++ b/server/sonar-web/src/main/js/apps/webhooks/components/__tests__/WebhookItemLatestDelivery-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import WebhookItemLatestDelivery from '../WebhookItemLatestDelivery'; -import { click } from '../../../../helpers/testUtils'; const latestDelivery = { at: '12.02.2018', diff --git a/server/sonar-web/src/main/js/apps/webhooks/routes.ts b/server/sonar-web/src/main/js/apps/webhooks/routes.ts index 094046e8466..0043ba99cc9 100644 --- a/server/sonar-web/src/main/js/apps/webhooks/routes.ts +++ b/server/sonar-web/src/main/js/apps/webhooks/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { diff --git a/server/sonar-web/src/main/js/components/SelectList/SelectList.tsx b/server/sonar-web/src/main/js/components/SelectList/SelectList.tsx index bf5cffcf15a..14c2168c237 100644 --- a/server/sonar-web/src/main/js/components/SelectList/SelectList.tsx +++ b/server/sonar-web/src/main/js/components/SelectList/SelectList.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import RadioToggle from 'sonar-ui-common/components/controls/RadioToggle'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import SelectListListContainer from './SelectListListContainer'; -import { translate } from '../../helpers/l10n'; -import ListFooter from '../controls/ListFooter'; -import RadioToggle from '../controls/RadioToggle'; -import SearchBox from '../controls/SearchBox'; import './styles.css'; export enum Filter { diff --git a/server/sonar-web/src/main/js/components/SelectList/SelectListListContainer.tsx b/server/sonar-web/src/main/js/components/SelectList/SelectListListContainer.tsx index fa2ed489c4b..1398d3eb9f9 100644 --- a/server/sonar-web/src/main/js/components/SelectList/SelectListListContainer.tsx +++ b/server/sonar-web/src/main/js/components/SelectList/SelectListListContainer.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import { Filter } from './SelectList'; import SelectListListElement from './SelectListListElement'; -import Checkbox from '../controls/Checkbox'; -import DeferredSpinner from '../common/DeferredSpinner'; -import { translate } from '../../helpers/l10n'; interface Props { allowBulkSelection?: boolean; diff --git a/server/sonar-web/src/main/js/components/SelectList/SelectListListElement.tsx b/server/sonar-web/src/main/js/components/SelectList/SelectListListElement.tsx index 839b26d0a8d..2991f8b4f28 100644 --- a/server/sonar-web/src/main/js/components/SelectList/SelectListListElement.tsx +++ b/server/sonar-web/src/main/js/components/SelectList/SelectListListElement.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Checkbox from '../controls/Checkbox'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; interface Props { active?: boolean; diff --git a/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectList-test.tsx b/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectList-test.tsx index f7843897089..98401d0f14e 100644 --- a/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectList-test.tsx +++ b/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectList-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import SelectList, { Filter } from '../SelectList'; -import { waitAndUpdate } from '../../../helpers/testUtils'; it('should display selected elements only by default', () => { const wrapper = shallowRender(); diff --git a/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectListListElement-test.tsx b/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectListListElement-test.tsx index ac2e358bc2e..59569846591 100644 --- a/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectListListElement-test.tsx +++ b/server/sonar-web/src/main/js/components/SelectList/__tests__/SelectListListElement-test.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import SelectListListElement from '../SelectListListElement'; -import { waitAndUpdate } from '../../../helpers/testUtils'; const listElement = ( <SelectListListElement - element={'foo'} - key={'foo'} + element="foo" + key="foo" onSelect={jest.fn(() => Promise.resolve())} onUnselect={jest.fn(() => Promise.resolve())} renderElement={(foo: string) => foo} diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.tsx b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.tsx index 6311df20195..466792d0dae 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.tsx @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const SourceViewer = lazyLoad( () => import(/* webpackPrefetch: true */ './SourceViewerBase'), diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerBase.tsx b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerBase.tsx index f1d3e452184..a2c704e0a7b 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerBase.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerBase.tsx @@ -20,6 +20,8 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { intersection, uniqBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import SourceViewerCode from './SourceViewerCode'; import SourceViewerHeader from './SourceViewerHeader'; import SourceViewerHeaderSlim from './SourceViewerHeaderSlim'; @@ -38,7 +40,6 @@ import { locationsByLine, symbolsByLine } from './helpers/indexing'; -import { Alert } from '../ui/Alert'; import { getComponentData, getComponentForSourceViewer, @@ -46,7 +47,6 @@ import { getSources } from '../../api/components'; import { isSameBranchLike, getBranchLikeQuery } from '../../helpers/branches'; -import { translate } from '../../helpers/l10n'; import { WorkspaceContext } from '../workspace/context'; import './styles.css'; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.tsx b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.tsx index 9afe3118d43..cea4dea906f 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.tsx @@ -18,6 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import Line from './components/Line'; import { getSecondaryIssueLocationsForLine } from './helpers/issueLocations'; import { @@ -25,8 +27,6 @@ import { optimizeLocationMessage, optimizeHighlightedSymbols } from './helpers/lines'; -import { translate } from '../../helpers/l10n'; -import { Button } from '../ui/buttons'; const EMPTY_ARRAY: any[] = []; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.tsx b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.tsx index 3b3eb4786da..bc0f2abe487 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.tsx @@ -20,26 +20,21 @@ import { stringify } from 'querystring'; import * as React from 'react'; import { Link } from 'react-router'; +import ListIcon from 'sonar-ui-common/components/icons/ListIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { collapsedDirFromPath, fileFromPath } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { omitNil } from 'sonar-ui-common/helpers/request'; +import { getBaseUrl, getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; +import Dropdown from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import MeasuresOverlay from './components/MeasuresOverlay'; -import Dropdown from '../controls/Dropdown'; import Favorite from '../controls/Favorite'; -import ListIcon from '../icons-components/ListIcon'; -import QualifierIcon from '../icons-components/QualifierIcon'; -import { ButtonIcon } from '../ui/buttons'; -import { PopupPlacement } from '../ui/popups'; import { WorkspaceContextShape } from '../workspace/context'; import { getBranchLikeQuery, isMainBranch } from '../../helpers/branches'; -import { translate } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; -import { collapsedDirFromPath, fileFromPath } from '../../helpers/path'; -import { omitNil } from '../../helpers/request'; -import { - getBranchLikeUrl, - getBaseUrl, - getCodeUrl, - getComponentIssuesUrl, - getPathUrlAsString -} from '../../helpers/urls'; +import { getBranchLikeUrl, getCodeUrl, getComponentIssuesUrl } from '../../helpers/urls'; interface Props { branchLike: T.BranchLike | undefined; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeaderSlim.tsx b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeaderSlim.tsx index 9342c53651b..6668ac19c86 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeaderSlim.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeaderSlim.tsx @@ -18,17 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Link } from 'react-router'; import * as classNames from 'classnames'; -import DeferredSpinner from '../common/DeferredSpinner'; +import { Link } from 'react-router'; +import ExpandSnippetIcon from 'sonar-ui-common/components/icons/ExpandSnippetIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { collapsedDirFromPath, fileFromPath } from 'sonar-ui-common/helpers/path'; +import { getPathUrlAsString } from 'sonar-ui-common/helpers/urls'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import Favorite from '../controls/Favorite'; -import ExpandSnippetIcon from '../icons-components/ExpandSnippetIcon'; -import QualifierIcon from '../icons-components/QualifierIcon'; -import { ButtonIcon } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; -import { getPathUrlAsString, getBranchLikeUrl, getComponentIssuesUrl } from '../../helpers/urls'; -import { collapsedDirFromPath, fileFromPath } from '../../helpers/path'; import { isMainBranch, getBranchLikeQuery } from '../../helpers/branches'; +import { getBranchLikeUrl, getComponentIssuesUrl } from '../../helpers/urls'; import './SourceViewerHeaderSlim.css'; export interface Props { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/DuplicationPopup.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/DuplicationPopup.tsx index 90c2b80ff22..9df54b8899b 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/DuplicationPopup.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/DuplicationPopup.tsx @@ -18,17 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Link } from 'react-router'; import { groupBy, sortBy } from 'lodash'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import QualifierIcon from '../../icons-components/QualifierIcon'; -import { PopupPlacement } from '../../ui/popups'; +import { Link } from 'react-router'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { collapsedDirFromPath, fileFromPath } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import { WorkspaceContextShape } from '../../workspace/context'; import { isShortLivingBranch, isPullRequest } from '../../../helpers/branches'; -import { translate } from '../../../helpers/l10n'; -import { collapsedDirFromPath, fileFromPath } from '../../../helpers/path'; import { getProjectUrl } from '../../../helpers/urls'; -import { Alert } from '../../ui/Alert'; interface Props { blocks: T.DuplicationBlock[]; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineCoverage.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineCoverage.tsx index 46f18aef2fa..4c9e4312bb7 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineCoverage.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineCoverage.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Tooltip from '../../controls/Tooltip'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { line: T.SourceLine; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplicationBlock.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplicationBlock.tsx index cf75f6912a3..969c76cc5c0 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplicationBlock.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplicationBlock.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Tooltip from '../../controls/Tooltip'; -import Toggler from '../../controls/Toggler'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; interface Props { duplicated: boolean; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplications.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplications.tsx index b4fac1599c3..ab3e09de58e 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplications.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineDuplications.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Tooltip from '../../controls/Tooltip'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { line: T.SourceLine; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.tsx index c8d0744a4f2..85f409a073b 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import IssueIcon from '../../icons-components/IssueIcon'; +import IssueIcon from 'sonar-ui-common/components/icons/IssueIcon'; import { sortByType } from '../../../helpers/issues'; interface Props { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineNumber.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineNumber.tsx index 137f14ba526..06f9b61f345 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineNumber.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineNumber.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import LineOptionsPopup from './LineOptionsPopup'; -import Toggler from '../../controls/Toggler'; interface Props { line: T.SourceLine; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineOptionsPopup.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineOptionsPopup.tsx index 5beb76d4c8c..4c48e6181b7 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineOptionsPopup.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineOptionsPopup.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import { PopupPlacement } from '../../ui/popups'; -import { translate } from '../../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import { getCodeUrl } from '../../../helpers/urls'; import { SourceViewerContext } from '../SourceViewerContext'; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineSCM.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/LineSCM.tsx index 151dc7422b0..c69345c246a 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineSCM.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineSCM.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import SCMPopup from './SCMPopup'; -import Toggler from '../../controls/Toggler'; interface Props { line: T.SourceLine; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlay.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlay.tsx index c7486388662..60198f81617 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlay.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlay.tsx @@ -20,28 +20,25 @@ import * as React from 'react'; import { Link } from 'react-router'; import { keyBy, sortBy, groupBy } from 'lodash'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; +import { translate, getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating'; import MeasuresOverlayMeasure from './MeasuresOverlayMeasure'; -import { ResetButtonLink } from '../../ui/buttons'; import { getFacets } from '../../../api/issues'; import { getMeasures } from '../../../api/measures'; import { getAllMetrics } from '../../../api/metrics'; -import Modal from '../../controls/Modal'; import Measure from '../../measure/Measure'; -import QualifierIcon from '../../icons-components/QualifierIcon'; import SeverityHelper from '../../shared/SeverityHelper'; import CoverageRating from '../../ui/CoverageRating'; -import DuplicationsRating from '../../ui/DuplicationsRating'; -import IssueTypeIcon from '../../ui/IssueTypeIcon'; import { SEVERITIES, ISSUE_TYPES } from '../../../helpers/constants'; -import { translate, getLocalizedMetricName } from '../../../helpers/l10n'; -import { - formatMeasure, - getDisplayMetrics, - enhanceMeasuresWithMetrics -} from '../../../helpers/measures'; +import { getDisplayMetrics, enhanceMeasuresWithMetrics } from '../../../helpers/measures'; import { getBranchLikeUrl } from '../../../helpers/urls'; import { getBranchLikeQuery } from '../../../helpers/branches'; -import TagsIcon from '../../icons-components/TagsIcon'; interface Props { branchLike: T.BranchLike | undefined; @@ -381,7 +378,7 @@ export default class MeasuresOverlay extends React.PureComponent<Props, State> { const { loading } = this.state; return ( - <Modal contentLabel="" onRequestClose={this.props.onClose} size={'large'}> + <Modal contentLabel="" onRequestClose={this.props.onClose} size="large"> <div className="modal-container source-viewer-measures-modal"> <div className="source-viewer-header-component source-viewer-measures-component"> <div className="source-viewer-header-component-project"> diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlayMeasure.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlayMeasure.tsx index fdb970d8bf0..67503c885aa 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlayMeasure.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/MeasuresOverlayMeasure.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import { getLocalizedMetricName } from 'sonar-ui-common/helpers/l10n'; import Measure from '../../measure/Measure'; -import IssueTypeIcon from '../../ui/IssueTypeIcon'; -import { getLocalizedMetricName } from '../../../helpers/l10n'; export interface MeasureWithMetric { metric: T.Metric; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/SCMPopup.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/SCMPopup.tsx index cfd3aec3604..27168a3664c 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/SCMPopup.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/SCMPopup.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { DropdownOverlay } from '../../controls/Dropdown'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import DateFormatter from '../../intl/DateFormatter'; -import { PopupPlacement } from '../../ui/popups'; interface Props { line: T.SourceLine; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplicationBlock-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplicationBlock-test.tsx index 486475e34b1..11bb3bd059b 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplicationBlock-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplicationBlock-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import LineDuplicationBlock from '../LineDuplicationBlock'; it('render duplicated line', () => { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplications-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplications-test.tsx index 69cd65e7616..f8b5dd25ddd 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplications-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineDuplications-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import LineDuplications from '../LineDuplications'; it('render duplicated line', () => { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineIssuesIndicator-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineIssuesIndicator-test.tsx index f3a5ac92361..f14eeb40849 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineIssuesIndicator-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineIssuesIndicator-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import LineIssuesIndicator from '../LineIssuesIndicator'; -import { click } from '../../../../helpers/testUtils'; import { mockIssue } from '../../../../helpers/testMocks'; it('should render correctly', () => { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineNumber-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineNumber-test.tsx index 2b4a7453a9f..a5842ee9dfe 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineNumber-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineNumber-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import LineNumber from '../LineNumber'; it('render line 3', () => { diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineSCM-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineSCM-test.tsx index 7ad98384c5d..b6ccb034820 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineSCM-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/LineSCM-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import LineSCM from '../LineSCM'; -import { click } from '../../../../helpers/testUtils'; it('render scm details', () => { const line = { line: 3, scmAuthor: 'foo', scmDate: '2017-01-01' }; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/MeasuresOverlay-test.tsx b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/MeasuresOverlay-test.tsx index 0abc29938c7..938ec371dde 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/MeasuresOverlay-test.tsx +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/__tests__/MeasuresOverlay-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate, click } from 'sonar-ui-common/helpers/testUtils'; import MeasuresOverlay from '../MeasuresOverlay'; -import { waitAndUpdate, click } from '../../../../helpers/testUtils'; jest.mock('../../../../api/issues', () => ({ getFacets: () => diff --git a/server/sonar-web/src/main/js/components/SourceViewer/helpers/loadIssues.ts b/server/sonar-web/src/main/js/components/SourceViewer/helpers/loadIssues.ts index 0bf83942ced..40070593100 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/helpers/loadIssues.ts +++ b/server/sonar-web/src/main/js/components/SourceViewer/helpers/loadIssues.ts @@ -20,7 +20,6 @@ import { searchIssues } from '../../../api/issues'; import { getBranchLikeQuery } from '../../../helpers/branches'; import { parseIssueFromResponse } from '../../../helpers/issues'; -import { RawQuery } from '../../../helpers/query'; // maximum possible value const PAGE_SIZE = 500; @@ -35,7 +34,11 @@ function buildQuery(component: string, branchLike: T.BranchLike | undefined) { }; } -export function loadPage(query: RawQuery, page: number, pageSize = PAGE_SIZE): Promise<T.Issue[]> { +export function loadPage( + query: T.RawQuery, + page: number, + pageSize = PAGE_SIZE +): Promise<T.Issue[]> { return searchIssues({ ...query, p: page, @@ -46,7 +49,7 @@ export function loadPage(query: RawQuery, page: number, pageSize = PAGE_SIZE): P } export function loadPageAndNext( - query: RawQuery, + query: T.RawQuery, toLine: number, page: number, pageSize = PAGE_SIZE diff --git a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.css b/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.css deleted file mode 100644 index b9a2ee03b90..00000000000 --- a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.css +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.line-tooltip { - fill: none; - stroke: var(--secondFontColor); - stroke-width: 1px; - shape-rendering: crispEdges; -} - -.chart-mouse-events-overlay { - fill: none; - stroke: none; - pointer-events: all; -} - -.chart-zoomed .line-chart-area { - clip-path: url(#chart-clip); -} - -.chart-zoomed .line-chart-path { - clip-path: url(#chart-clip); -} - -.chart-zoomed .leak-chart-rect { - clip-path: url(#chart-clip); -} - -.line-chart-dot { - fill: var(--blue); -} - -.line-chart-dot.line-chart-dot-1 { - fill: var(--darkBlue); -} - -.line-chart-dot.line-chart-dot-2 { - fill: #24c6e0; -} - -.line-chart-event { - fill: #fff; - stroke: var(--blue); - stroke-width: 2px; -} - -.line-chart-event.VERSION { - stroke: var(--blue); -} - -.line-chart-event.QUALITY_GATE { - stroke: var(--green); -} - -.line-chart-event.QUALITY_PROFILE { - stroke: var(--orange); -} - -.line-chart-event.OTHER { - stroke: var(--purple); -} diff --git a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.tsx b/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.tsx deleted file mode 100644 index daac2836c82..00000000000 --- a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.tsx +++ /dev/null @@ -1,542 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { flatten, isEqual, sortBy, throttle, uniq } from 'lodash'; -import { bisector, extent, max } from 'd3-array'; -import { scaleLinear, scalePoint, scaleTime, ScaleTime } from 'd3-scale'; -import { line as d3Line, area, curveBasis } from 'd3-shape'; -import * as theme from '../../app/theme'; -import { Serie, Point } from '../../apps/projectActivity/utils'; -import { isDefined } from '../../helpers/types'; -import './LineChart.css'; -import './AdvancedTimeline.css'; - -export interface Props { - basisCurve?: boolean; - endDate?: Date; - disableZoom?: boolean; - formatYTick?: (tick: number | string) => string; - hideGrid?: boolean; - hideXAxis?: boolean; - height: number; - width: number; - leakPeriodDate?: Date; - // used to avoid same y ticks labels - maxYTicksCount: number; - metricType: string; - padding: number[]; - selectedDate?: Date; - series: Serie[]; - showAreas?: boolean; - startDate?: Date; - updateSelectedDate?: (selectedDate?: Date) => void; - updateTooltip?: (selectedDate?: Date, tooltipXPos?: number, tooltipIdx?: number) => void; - updateZoom?: (start?: Date, endDate?: Date) => void; - zoomSpeed: number; -} - -type XScale = ScaleTime<number, number>; -// TODO it should be `ScaleLinear<number, number> | ScalePoint<number> | ScalePoint<string>`, but it's super hard to make it work :'( -type YScale = any; - -interface State { - maxXRange: number[]; - mouseOver?: boolean; - selectedDate?: Date; - selectedDateXPos?: number; - selectedDateIdx?: number; - yScale: YScale; - xScale: XScale; -} - -export default class AdvancedTimeline extends React.PureComponent<Props, State> { - static defaultProps = { - eventSize: 8, - maxYTicksCount: 4, - padding: [10, 10, 30, 60], - zoomSpeed: 1 - }; - - constructor(props: Props) { - super(props); - const scales = this.getScales(props); - const selectedDatePos = this.getSelectedDatePos(scales.xScale, props.selectedDate); - this.state = { ...scales, ...selectedDatePos }; - this.updateTooltipPos = throttle(this.updateTooltipPos, 40); - this.handleZoomUpdate = throttle(this.handleZoomUpdate, 40); - } - - componentWillReceiveProps(nextProps: Props) { - let scales; - let selectedDatePos; - if ( - nextProps.metricType !== this.props.metricType || - nextProps.startDate !== this.props.startDate || - nextProps.endDate !== this.props.endDate || - nextProps.width !== this.props.width || - nextProps.padding !== this.props.padding || - nextProps.height !== this.props.height || - nextProps.series !== this.props.series - ) { - scales = this.getScales(nextProps); - if (this.state.selectedDate != null) { - selectedDatePos = this.getSelectedDatePos(scales.xScale, this.state.selectedDate); - } - } - - if (!isEqual(nextProps.selectedDate, this.props.selectedDate)) { - const xScale = scales ? scales.xScale : this.state.xScale; - selectedDatePos = this.getSelectedDatePos(xScale, nextProps.selectedDate); - } - - if (scales || selectedDatePos) { - if (scales) { - this.setState({ ...scales }); - } - if (selectedDatePos) { - this.setState({ ...selectedDatePos }); - } - - if (selectedDatePos && nextProps.updateTooltip) { - nextProps.updateTooltip( - selectedDatePos.selectedDate, - selectedDatePos.selectedDateXPos, - selectedDatePos.selectedDateIdx - ); - } - } - } - - getRatingScale = (availableHeight: number) => { - return scalePoint<number>() - .domain([5, 4, 3, 2, 1]) - .range([availableHeight, 0]); - }; - - getLevelScale = (availableHeight: number) => { - return scalePoint() - .domain(['ERROR', 'WARN', 'OK']) - .range([availableHeight, 0]); - }; - - getYScale = (props: Props, availableHeight: number, flatData: Point[]): YScale => { - if (props.metricType === 'RATING') { - return this.getRatingScale(availableHeight); - } else if (props.metricType === 'LEVEL') { - return this.getLevelScale(availableHeight); - } else { - return scaleLinear() - .range([availableHeight, 0]) - .domain([0, max(flatData, d => Number(d.y || 0)) || 1]) - .nice(); - } - }; - - getXScale = ({ startDate, endDate }: Props, availableWidth: number, flatData: Point[]) => { - const dateRange = extent(flatData, d => d.x) as [Date, Date]; - const start = startDate && startDate > dateRange[0] ? startDate : dateRange[0]; - const end = endDate && endDate < dateRange[1] ? endDate : dateRange[1]; - const xScale: ScaleTime<number, number> = scaleTime() - .domain(sortBy([start, end])) - .range([0, availableWidth]) - .clamp(false); - return { - xScale, - maxXRange: dateRange.map(xScale) - }; - }; - - getScales = (props: Props) => { - const availableWidth = props.width - props.padding[1] - props.padding[3]; - const availableHeight = props.height - props.padding[0] - props.padding[2]; - const flatData = flatten(props.series.map(serie => serie.data)); - return { - ...this.getXScale(props, availableWidth, flatData), - yScale: this.getYScale(props, availableHeight, flatData) - }; - }; - - getSelectedDatePos = (xScale: XScale, selectedDate?: Date) => { - const firstSerie = this.props.series[0]; - if (selectedDate && firstSerie) { - const idx = firstSerie.data.findIndex(p => p.x.valueOf() === selectedDate.valueOf()); - const xRange = sortBy(xScale.range()); - const xPos = xScale(selectedDate); - if (idx >= 0 && xPos >= xRange[0] && xPos <= xRange[1]) { - return { - selectedDate, - selectedDateXPos: xScale(selectedDate), - selectedDateIdx: idx - }; - } - } - return { selectedDate: undefined, selectedDateXPos: undefined, selectedDateIdx: undefined }; - }; - - getEventMarker = (size: number) => { - const half = size / 2; - return `M${half} 0 L${size} ${half} L ${half} ${size} L0 ${half} L${half} 0 L${size} ${half}`; - }; - - handleWheel = (event: React.WheelEvent<SVGElement>) => { - event.preventDefault(); - const { maxXRange, xScale } = this.state; - const parentBbox = event.currentTarget.getBoundingClientRect(); - const mouseXPos = (event.pageX - parentBbox.left) / parentBbox.width; - const xRange = xScale.range(); - const speed = event.deltaMode - ? (25 / event.deltaMode) * this.props.zoomSpeed - : this.props.zoomSpeed; - const leftPos = xRange[0] - Math.round(speed * event.deltaY * mouseXPos); - const rightPos = xRange[1] + Math.round(speed * event.deltaY * (1 - mouseXPos)); - const startDate = leftPos > maxXRange[0] ? xScale.invert(leftPos) : undefined; - const endDate = rightPos < maxXRange[1] ? xScale.invert(rightPos) : undefined; - this.handleZoomUpdate(startDate, endDate); - }; - - handleZoomUpdate = (startDate?: Date, endDate?: Date) => { - if (this.props.updateZoom) { - this.props.updateZoom(startDate, endDate); - } - }; - - handleMouseMove = (event: React.MouseEvent<SVGElement>) => { - const parentBbox = event.currentTarget.getBoundingClientRect(); - this.updateTooltipPos(event.pageX - parentBbox.left); - }; - - handleMouseEnter = () => { - this.setState({ mouseOver: true }); - }; - - handleMouseOut = () => { - const { updateTooltip } = this.props; - if (updateTooltip) { - this.setState({ - mouseOver: false, - selectedDate: undefined, - selectedDateXPos: undefined, - selectedDateIdx: undefined - }); - updateTooltip(undefined, undefined, undefined); - } - }; - - handleClick = () => { - const { updateSelectedDate } = this.props; - if (updateSelectedDate) { - updateSelectedDate(this.state.selectedDate || undefined); - } - }; - - updateTooltipPos = (xPos: number) => { - const firstSerie = this.props.series[0]; - if (this.state.mouseOver && firstSerie) { - const { updateTooltip } = this.props; - const date = this.state.xScale.invert(xPos); - const bisectX = bisector<Point, Date>(d => d.x).right; - let idx = bisectX(firstSerie.data, date); - if (idx >= 0) { - const previousPoint = firstSerie.data[idx - 1]; - const nextPoint = firstSerie.data[idx]; - if ( - !nextPoint || - (previousPoint && - date.valueOf() - previousPoint.x.valueOf() <= nextPoint.x.valueOf() - date.valueOf()) - ) { - idx--; - } - const selectedDate = firstSerie.data[idx].x; - const xPos = this.state.xScale(selectedDate); - this.setState({ selectedDate, selectedDateXPos: xPos, selectedDateIdx: idx }); - if (updateTooltip) { - updateTooltip(selectedDate, xPos, idx); - } - } - } - }; - - renderHorizontalGrid = () => { - const { formatYTick } = this.props; - const { xScale, yScale } = this.state; - const hasTicks = typeof yScale.ticks === 'function'; - let ticks: Array<string | number> = hasTicks - ? yScale.ticks(this.props.maxYTicksCount) - : yScale.domain(); - - if (!ticks.length) { - ticks.push(yScale.domain()[1]); - } - - // if there are duplicated ticks, that means 4 ticks are too much for this data - // so let's just use the domain values (min and max) - if (formatYTick) { - const formattedTicks = ticks.map(tick => formatYTick(tick)); - if (ticks.length > uniq(formattedTicks).length) { - ticks = yScale.domain(); - } - } - - return ( - <g> - {ticks.map(tick => ( - <g key={tick}> - {formatYTick != null && ( - <text - className="line-chart-tick line-chart-tick-x" - dx="-1em" - dy="0.3em" - textAnchor="end" - x={xScale.range()[0]} - y={yScale(tick)}> - {formatYTick(tick)} - </text> - )} - <line - className="line-chart-grid" - x1={xScale.range()[0]} - x2={xScale.range()[1]} - y1={yScale(tick)} - y2={yScale(tick)} - /> - </g> - ))} - </g> - ); - }; - - renderXAxisTicks = () => { - const { xScale, yScale } = this.state; - const format = xScale.tickFormat(7); - const ticks = xScale.ticks(7); - const y = yScale.range()[0]; - return ( - <g> - {ticks.slice(0, -1).map((tick, index) => { - const nextTick = index + 1 < ticks.length ? ticks[index + 1] : xScale.domain()[1]; - const x = (xScale(tick) + xScale(nextTick)) / 2; - return ( - <text className="line-chart-tick" dy="1.5em" key={index} x={x} y={y}> - {format(tick)} - </text> - ); - })} - </g> - ); - }; - - renderLeak = () => { - const { leakPeriodDate } = this.props; - if (!leakPeriodDate) { - return null; - } - const { xScale, yScale } = this.state; - const yRange = yScale.range(); - const xRange = xScale.range(); - const leakWidth = xRange[xRange.length - 1] - xScale(leakPeriodDate); - if (leakWidth < 0) { - return null; - } - return ( - <rect - className="leak-chart-rect" - fill={theme.leakColor} - height={yRange[0] - yRange[yRange.length - 1]} - width={leakWidth} - x={xScale(leakPeriodDate)} - y={yRange[yRange.length - 1]} - /> - ); - }; - - renderLines = () => { - const lineGenerator = d3Line<Point>() - .defined(d => Boolean(d.y || d.y === 0)) - .x(d => this.state.xScale(d.x)) - .y(d => this.state.yScale(d.y)); - if (this.props.basisCurve) { - lineGenerator.curve(curveBasis); - } - return ( - <g> - {this.props.series.map((serie, idx) => ( - <path - className={classNames('line-chart-path', 'line-chart-path-' + idx)} - d={lineGenerator(serie.data) || undefined} - key={serie.name} - /> - ))} - </g> - ); - }; - - renderDots = () => { - return ( - <g> - {this.props.series - .map((serie, serieIdx) => - serie.data - .map((point, idx) => { - const pointNotDefined = !point.y && point.y !== 0; - const hasPointBefore = - serie.data[idx - 1] && (serie.data[idx - 1].y || serie.data[idx - 1].y === 0); - const hasPointAfter = - serie.data[idx + 1] && (serie.data[idx + 1].y || serie.data[idx + 1].y === 0); - if (pointNotDefined || (hasPointBefore || hasPointAfter)) { - return undefined; - } - return ( - <circle - className={classNames('line-chart-dot', 'line-chart-dot-' + serieIdx)} - cx={this.state.xScale(point.x)} - cy={this.state.yScale(point.y)} - key={serie.name + idx} - r="2" - /> - ); - }) - .filter(isDefined) - ) - .filter(dots => dots.length > 0)} - </g> - ); - }; - - renderAreas = () => { - const areaGenerator = area<Point>() - .defined(d => Boolean(d.y || d.y === 0)) - .x(d => this.state.xScale(d.x)) - .y1(d => this.state.yScale(d.y)) - .y0(this.state.yScale(0)); - if (this.props.basisCurve) { - areaGenerator.curve(curveBasis); - } - return ( - <g> - {this.props.series.map((serie, idx) => ( - <path - className={classNames('line-chart-area', 'line-chart-area-' + idx)} - d={areaGenerator(serie.data) || undefined} - key={serie.name} - /> - ))} - </g> - ); - }; - - renderSelectedDate = () => { - const { selectedDateIdx, selectedDateXPos, yScale } = this.state; - const firstSerie = this.props.series[0]; - if (selectedDateIdx == null || selectedDateXPos == null || !firstSerie) { - return null; - } - - return ( - <g> - <line - className="line-tooltip" - x1={selectedDateXPos} - x2={selectedDateXPos} - y1={yScale.range()[0]} - y2={yScale.range()[1]} - /> - {this.props.series.map((serie, idx) => { - const point = serie.data[selectedDateIdx]; - if (!point || (!point.y && point.y !== 0)) { - return null; - } - return ( - <circle - className={classNames('line-chart-dot', 'line-chart-dot-' + idx)} - cx={selectedDateXPos} - cy={yScale(point.y)} - key={serie.name} - r="4" - /> - ); - })} - </g> - ); - }; - - renderClipPath = () => { - return ( - <defs> - <clipPath id="chart-clip"> - <rect - height={this.state.yScale.range()[0] + 10} - transform="translate(0,-5)" - width={this.state.xScale.range()[1]} - /> - </clipPath> - </defs> - ); - }; - - renderMouseEventsOverlay = (zoomEnabled: boolean) => { - const mouseEvents: Partial<React.SVGProps<SVGRectElement>> = {}; - if (zoomEnabled) { - mouseEvents.onWheel = this.handleWheel; - } - if (this.props.updateTooltip) { - mouseEvents.onMouseEnter = this.handleMouseEnter; - mouseEvents.onMouseMove = this.handleMouseMove; - mouseEvents.onMouseOut = this.handleMouseOut; - } - if (this.props.updateSelectedDate) { - mouseEvents.onClick = this.handleClick; - } - return ( - <rect - className="chart-mouse-events-overlay" - height={this.state.yScale.range()[0]} - width={this.state.xScale.range()[1]} - {...mouseEvents} - /> - ); - }; - - render() { - if (!this.props.width || !this.props.height) { - return <div />; - } - const zoomEnabled = !this.props.disableZoom && this.props.updateZoom != null; - const isZoomed = Boolean(this.props.startDate || this.props.endDate); - return ( - <svg - className={classNames('line-chart', { 'chart-zoomed': isZoomed })} - height={this.props.height} - width={this.props.width}> - {zoomEnabled && this.renderClipPath()} - <g transform={`translate(${this.props.padding[3]}, ${this.props.padding[0]})`}> - {this.props.leakPeriodDate != null && this.renderLeak()} - {!this.props.hideGrid && this.renderHorizontalGrid()} - {!this.props.hideXAxis && this.renderXAxisTicks()} - {this.props.showAreas && this.renderAreas()} - {this.renderLines()} - {this.renderDots()} - {this.renderSelectedDate()} - {this.renderMouseEventsOverlay(zoomEnabled)} - </g> - </svg> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/BarChart.css b/server/sonar-web/src/main/js/components/charts/BarChart.css deleted file mode 100644 index 75927cbe745..00000000000 --- a/server/sonar-web/src/main/js/components/charts/BarChart.css +++ /dev/null @@ -1,28 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.bar-chart-bar { - fill: var(--blue); -} - -.bar-chart-tick { - fill: var(--secondFontColor); - font-size: var(--smallFontSize); - text-anchor: middle; -} diff --git a/server/sonar-web/src/main/js/components/charts/BarChart.tsx b/server/sonar-web/src/main/js/components/charts/BarChart.tsx deleted file mode 100644 index ddc0c84211b..00000000000 --- a/server/sonar-web/src/main/js/components/charts/BarChart.tsx +++ /dev/null @@ -1,170 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { max } from 'd3-array'; -import { scaleLinear, scaleBand, ScaleLinear, ScaleBand } from 'd3-scale'; -import Tooltip from '../controls/Tooltip'; -import './BarChart.css'; - -interface DataPoint { - tooltip?: React.ReactNode; - x: number; - y: number; -} - -interface Props<T> { - barsWidth: number; - data: Array<DataPoint & T>; - height: number; - onBarClick?: (point: DataPoint & T) => void; - padding?: [number, number, number, number]; - width: number; - xTicks?: string[]; - xValues?: string[]; -} - -export default class BarChart<T> extends React.PureComponent<Props<T>> { - handleClick = (point: DataPoint & T) => { - if (this.props.onBarClick) { - this.props.onBarClick(point); - } - }; - - renderXTicks = (xScale: ScaleBand<number>, yScale: ScaleLinear<number, number>) => { - const { data, xTicks = [] } = this.props; - - if (!xTicks.length) { - return null; - } - - const ticks = xTicks.map((tick, index) => { - const point = data[index]; - const x = Math.round((xScale(point.x) as number) + xScale.bandwidth() / 2); - const y = yScale.range()[0]; - const d = data[index]; - const text = ( - <text - className="bar-chart-tick" - dy="1.5em" - key={index} - onClick={() => this.handleClick(point)} - style={{ cursor: this.props.onBarClick ? 'pointer' : 'default' }} - x={x} - y={y}> - {tick} - </text> - ); - return ( - <Tooltip key={index} overlay={d.tooltip || undefined}> - {text} - </Tooltip> - ); - }); - return <g>{ticks}</g>; - }; - - renderXValues = (xScale: ScaleBand<number>, yScale: ScaleLinear<number, number>) => { - const { data, xValues = [] } = this.props; - - if (!xValues.length) { - return null; - } - - const ticks = xValues.map((value, index) => { - const point = data[index]; - const x = Math.round((xScale(point.x) as number) + xScale.bandwidth() / 2); - const y = yScale(point.y); - const text = ( - <text - className="bar-chart-tick" - dy="-1em" - key={index} - onClick={() => this.handleClick(point)} - style={{ cursor: this.props.onBarClick ? 'pointer' : 'default' }} - x={x} - y={y}> - {value} - </text> - ); - return ( - <Tooltip key={index} overlay={point.tooltip || undefined}> - {text} - </Tooltip> - ); - }); - return <g>{ticks}</g>; - }; - - renderBars = (xScale: ScaleBand<number>, yScale: ScaleLinear<number, number>) => { - const bars = this.props.data.map((point, index) => { - const x = Math.round(xScale(point.x) as number); - const maxY = yScale.range()[0]; - const y = Math.round(yScale(point.y)) - /* minimum bar height */ 1; - const height = maxY - y; - const rect = ( - <rect - className="bar-chart-bar" - height={height} - key={index} - onClick={() => this.handleClick(point)} - style={{ cursor: this.props.onBarClick ? 'pointer' : 'default' }} - width={this.props.barsWidth} - x={x} - y={y} - /> - ); - return ( - <Tooltip key={index} overlay={point.tooltip || undefined}> - {rect} - </Tooltip> - ); - }); - return <g>{bars}</g>; - }; - - render() { - const { barsWidth, data, width, height, padding = [10, 10, 10, 10] } = this.props; - - const availableWidth = width - padding[1] - padding[3]; - const availableHeight = height - padding[0] - padding[2]; - - const innerPadding = (availableWidth - barsWidth * data.length) / (data.length - 1); - const relativeInnerPadding = innerPadding / (innerPadding + barsWidth); - - const maxY = max(data, d => d.y) as number; - const xScale = scaleBand<number>() - .domain(data.map(d => d.x)) - .range([0, availableWidth]) - .paddingInner(relativeInnerPadding); - const yScale = scaleLinear() - .domain([0, maxY]) - .range([availableHeight, 0]); - - return ( - <svg className="bar-chart" height={height} width={width}> - <g transform={`translate(${padding[3]}, ${padding[0]})`}> - {this.renderXTicks(xScale, yScale)} - {this.renderXValues(xScale, yScale)} - {this.renderBars(xScale, yScale)} - </g> - </svg> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/BubbleChart.css b/server/sonar-web/src/main/js/components/charts/BubbleChart.css deleted file mode 100644 index 260b24b3287..00000000000 --- a/server/sonar-web/src/main/js/components/charts/BubbleChart.css +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.bubble-chart text { - user-select: none; -} - -.bubble-chart-bubble { - fill: var(--blue); - fill-opacity: 0.2; - stroke: var(--blue); - cursor: pointer; - transition: fill-opacity 0.2s ease; -} - -.bubble-chart-bubble:hover { - fill-opacity: 0.8; -} - -.bubble-chart-grid { - shape-rendering: crispedges; - stroke: #eee; -} - -.bubble-chart-tick { - fill: var(--secondFontColor); - font-size: var(--smallFontSize); - text-anchor: middle; -} - -.bubble-chart-tick-y { - text-anchor: end; -} - -.bubble-chart-zoom { - position: absolute; - right: 20px; - top: 20px; - z-index: var(--aboveNormalZIndex); -} diff --git a/server/sonar-web/src/main/js/components/charts/BubbleChart.tsx b/server/sonar-web/src/main/js/components/charts/BubbleChart.tsx deleted file mode 100644 index 5d357eb9655..00000000000 --- a/server/sonar-web/src/main/js/components/charts/BubbleChart.tsx +++ /dev/null @@ -1,382 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; -import { Link } from 'react-router'; -import { min, max } from 'd3-array'; -import { scaleLinear, ScaleLinear } from 'd3-scale'; -import { zoom, zoomIdentity, ZoomBehavior } from 'd3-zoom'; -import { event, select, Selection } from 'd3-selection'; -import { sortBy, uniq } from 'lodash'; -import Tooltip from '../controls/Tooltip'; -import { translate } from '../../helpers/l10n'; -import { Location } from '../../helpers/urls'; -import './BubbleChart.css'; - -const TICKS_COUNT = 5; - -interface BubbleItem<T> { - color?: string; - key?: string; - link?: string | Location; - data?: T; - size: number; - tooltip?: React.ReactNode; - x: number; - y: number; -} - -interface Props<T> { - displayXGrid?: boolean; - displayXTicks?: boolean; - displayYGrid?: boolean; - displayYTicks?: boolean; - formatXTick: (tick: number) => string; - formatYTick: (tick: number) => string; - height: number; - items: BubbleItem<T>[]; - onBubbleClick?: (ref?: T) => void; - padding: [number, number, number, number]; - sizeDomain?: [number, number]; - sizeRange?: [number, number]; - xDomain?: [number, number]; - yDomain?: [number, number]; -} - -interface State { - transform: { x: number; y: number; k: number }; -} - -type Scale = ScaleLinear<number, number>; - -export default class BubbleChart<T> extends React.PureComponent<Props<T>, State> { - node?: Element; - selection?: Selection<Element, {}, null, undefined>; - zoom?: ZoomBehavior<Element, {}>; - - static defaultProps = { - displayXGrid: true, - displayXTicks: true, - displayYGrid: true, - displayYTicks: true, - formatXTick: (d: number) => String(d), - formatYTick: (d: number) => String(d), - padding: [10, 10, 10, 10], - sizeRange: [5, 45] - }; - - constructor(props: Props<T>) { - super(props); - this.state = { transform: { x: 0, y: 0, k: 1 } }; - } - - componentDidUpdate() { - if (this.zoom && this.node) { - const rect = this.node.getBoundingClientRect(); - this.zoom.translateExtent([[0, 0], [rect.width, rect.height]]); - } - } - - boundNode = (node: SVGSVGElement) => { - this.node = node; - this.zoom = zoom() - .scaleExtent([1, 10]) - .on('zoom', this.zoomed); - this.selection = select(this.node).call(this.zoom); - }; - - zoomed = () => { - const { padding } = this.props; - const { x, y, k } = event.transform as { x: number; y: number; k: number }; - this.setState({ - transform: { - x: x + padding[3] * (k - 1), - y: y + padding[0] * (k - 1), - k - } - }); - }; - - resetZoom = (event: React.MouseEvent<Link>) => { - event.stopPropagation(); - event.preventDefault(); - if (this.zoom && this.node) { - select(this.node).call(this.zoom.transform, zoomIdentity); - } - }; - - getXRange(xScale: Scale, sizeScale: Scale, availableWidth: number) { - const minX = min(this.props.items, d => xScale(d.x) - sizeScale(d.size)) || 0; - const maxX = max(this.props.items, d => xScale(d.x) + sizeScale(d.size)) || 0; - const dMinX = minX < 0 ? xScale.range()[0] - minX : xScale.range()[0]; - const dMaxX = maxX > xScale.range()[1] ? maxX - xScale.range()[1] : 0; - return [dMinX, availableWidth - dMaxX]; - } - - getYRange(yScale: Scale, sizeScale: Scale, availableHeight: number) { - const minY = min(this.props.items, d => yScale(d.y) - sizeScale(d.size)) || 0; - const maxY = max(this.props.items, d => yScale(d.y) + sizeScale(d.size)) || 0; - const dMinY = minY < 0 ? yScale.range()[1] - minY : yScale.range()[1]; - const dMaxY = maxY > yScale.range()[0] ? maxY - yScale.range()[0] : 0; - return [availableHeight - dMaxY, dMinY]; - } - - getTicks(scale: Scale, format: (d: number) => string) { - const zoom = Math.ceil(this.state.transform.k); - const ticks = scale.ticks(TICKS_COUNT * zoom).map(tick => format(tick)); - const uniqueTicksCount = uniq(ticks).length; - const ticksCount = - uniqueTicksCount < TICKS_COUNT * zoom ? uniqueTicksCount - 1 : TICKS_COUNT * zoom; - return scale.ticks(ticksCount); - } - - getZoomLevelLabel = () => Math.floor(this.state.transform.k * 100) + '%'; - - renderXGrid = (ticks: number[], xScale: Scale, yScale: Scale) => { - if (!this.props.displayXGrid) { - return null; - } - - const { transform } = this.state; - const lines = ticks.map((tick, index) => { - const x = xScale(tick); - const y1 = yScale.range()[0]; - const y2 = yScale.range()[1]; - return ( - <line - className="bubble-chart-grid" - key={index} - x1={x * transform.k + transform.x} - x2={x * transform.k + transform.x} - y1={y1 * transform.k} - y2={transform.k > 1 ? 0 : y2} - /> - ); - }); - - return <g>{lines}</g>; - }; - - renderYGrid = (ticks: number[], xScale: Scale, yScale: Scale) => { - if (!this.props.displayYGrid) { - return null; - } - - const { transform } = this.state; - const lines = ticks.map((tick, index) => { - const y = yScale(tick); - const x1 = xScale.range()[0]; - const x2 = xScale.range()[1]; - return ( - <line - className="bubble-chart-grid" - key={index} - x1={transform.k > 1 ? 0 : x1} - x2={x2 * transform.k} - y1={y * transform.k + transform.y} - y2={y * transform.k + transform.y} - /> - ); - }); - - return <g>{lines}</g>; - }; - - renderXTicks = (xTicks: number[], xScale: Scale, yScale: Scale) => { - if (!this.props.displayXTicks) { - return null; - } - - const { transform } = this.state; - const ticks = xTicks.map((tick, index) => { - const x = xScale(tick) * transform.k + transform.x; - const y = yScale.range()[0]; - const innerText = this.props.formatXTick(tick); - // as we modified the `x` using `transform`, check that it is inside the range again - return x > 0 && x < xScale.range()[1] ? ( - <text className="bubble-chart-tick" dy="1.5em" key={index} x={x} y={y}> - {innerText} - </text> - ) : null; - }); - - return <g>{ticks}</g>; - }; - - renderYTicks = (yTicks: number[], xScale: Scale, yScale: Scale) => { - if (!this.props.displayYTicks) { - return null; - } - - const { transform } = this.state; - const ticks = yTicks.map((tick, index) => { - const x = xScale.range()[0]; - const y = yScale(tick) * transform.k + transform.y; - const innerText = this.props.formatYTick(tick); - // as we modified the `y` using `transform`, check that it is inside the range again - return y > 0 && y < yScale.range()[0] ? ( - <text - className="bubble-chart-tick bubble-chart-tick-y" - dx="-0.5em" - dy="0.3em" - key={index} - x={x} - y={y}> - {innerText} - </text> - ) : null; - }); - - return <g>{ticks}</g>; - }; - - renderChart = (width: number) => { - const { transform } = this.state; - const availableWidth = width - this.props.padding[1] - this.props.padding[3]; - const availableHeight = this.props.height - this.props.padding[0] - this.props.padding[2]; - - const xScale = scaleLinear() - .domain(this.props.xDomain || [0, max(this.props.items, d => d.x) || 0]) - .range([0, availableWidth]) - .nice(); - const yScale = scaleLinear() - .domain(this.props.yDomain || [0, max(this.props.items, d => d.y) || 0]) - .range([availableHeight, 0]) - .nice(); - const sizeScale = scaleLinear() - .domain(this.props.sizeDomain || [0, max(this.props.items, d => d.size) || 0]) - .range(this.props.sizeRange || []); - - const xScaleOriginal = xScale.copy(); - const yScaleOriginal = yScale.copy(); - - xScale.range(this.getXRange(xScale, sizeScale, availableWidth)); - yScale.range(this.getYRange(yScale, sizeScale, availableHeight)); - - const bubbles = sortBy(this.props.items, b => -b.size).map((item, index) => { - return ( - <Bubble - color={item.color} - data={item.data} - key={item.key || index} - link={item.link} - onClick={this.props.onBubbleClick} - r={sizeScale(item.size)} - scale={1 / transform.k} - tooltip={item.tooltip} - x={xScale(item.x)} - y={yScale(item.y)} - /> - ); - }); - - const xTicks = this.getTicks(xScale, this.props.formatXTick); - const yTicks = this.getTicks(yScale, this.props.formatYTick); - - return ( - <svg - className={classNames('bubble-chart')} - height={this.props.height} - ref={this.boundNode} - width={width}> - <defs> - <clipPath id="graph-region"> - <rect - // Extend clip by 2 pixels: one for clipRect border, and one for Bubble borders - height={availableHeight + 4} - width={availableWidth + 4} - x={-2} - y={-2} - /> - </clipPath> - </defs> - <g transform={`translate(${this.props.padding[3]}, ${this.props.padding[0]})`}> - <g clipPath="url(#graph-region)"> - {this.renderXGrid(xTicks, xScale, yScale)} - {this.renderYGrid(yTicks, xScale, yScale)} - <g transform={`translate(${transform.x}, ${transform.y}) scale(${transform.k})`}> - {bubbles} - </g> - </g> - {this.renderXTicks(xTicks, xScale, yScaleOriginal)} - {this.renderYTicks(yTicks, xScaleOriginal, yScale)} - </g> - </svg> - ); - }; - - render() { - return ( - <div> - <div className="bubble-chart-zoom"> - <Tooltip overlay={translate('component_measures.bubble_chart.zoom_level')}> - <Link onClick={this.resetZoom} to="#"> - {this.getZoomLevelLabel()} - </Link> - </Tooltip> - </div> - <AutoSizer disableHeight={true}>{size => this.renderChart(size.width)}</AutoSizer> - </div> - ); - } -} - -interface BubbleProps<T> { - color?: string; - link?: string | Location; - onClick?: (ref?: T) => void; - data?: T; - r: number; - scale: number; - tooltip?: string | React.ReactNode; - x: number; - y: number; -} - -function Bubble<T>(props: BubbleProps<T>) { - const handleClick = (event: React.MouseEvent<SVGCircleElement>) => { - if (props.onClick) { - event.stopPropagation(); - event.preventDefault(); - props.onClick(props.data); - } - }; - - let circle = ( - <circle - className="bubble-chart-bubble" - onClick={props.onClick ? handleClick : undefined} - r={props.r} - style={{ fill: props.color, stroke: props.color }} - transform={`translate(${props.x}, ${props.y}) scale(${props.scale})`} - /> - ); - - if (props.link && !props.onClick) { - circle = <Link to={props.link}>{circle}</Link>; - } - - return ( - <Tooltip overlay={props.tooltip || undefined}> - <g>{circle}</g> - </Tooltip> - ); -} diff --git a/server/sonar-web/src/main/js/components/charts/ColorBoxLegend.tsx b/server/sonar-web/src/main/js/components/charts/ColorBoxLegend.tsx index 8b64f10e09f..b2d388d38e9 100644 --- a/server/sonar-web/src/main/js/components/charts/ColorBoxLegend.tsx +++ b/server/sonar-web/src/main/js/components/charts/ColorBoxLegend.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { ScaleLinear, ScaleOrdinal } from 'd3-scale'; -import { formatMeasure } from '../../helpers/measures'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import './ColorBoxLegend.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.css b/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.css deleted file mode 100644 index de3c8d83160..00000000000 --- a/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.css +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.gradient-legend-text, -.gradient-legend-na { - text-anchor: middle; - fill: var(--secondFontColor); - font-size: 10px; -} - -.gradient-legend-text:first-of-type { - text-anchor: start; -} - -.gradient-legend-text:last-of-type { - text-anchor: end; -} diff --git a/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.tsx b/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.tsx deleted file mode 100644 index 921976e6b6f..00000000000 --- a/server/sonar-web/src/main/js/components/charts/ColorGradientLegend.tsx +++ /dev/null @@ -1,93 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { ScaleLinear, ScaleOrdinal } from 'd3-scale'; -import './ColorGradientLegend.css'; - -interface Props { - className?: string; - colorNA?: string; - colorScale: - | ScaleOrdinal<string, string> // used for LEVEL type - | ScaleLinear<string, string | number>; // used for RATING or PERCENT type - height: number; - padding?: [number, number, number, number]; - width: number; -} - -const NA_SPACING = 4; - -export default function ColorGradientLegend({ - className, - colorScale, - colorNA, - padding = [12, 24, 0, 0], - height, - width -}: Props) { - const colorRange: Array<string | number> = colorScale.range(); - const colorDomain: Array<string | number> = colorScale.domain(); - const lastColorIdx = colorRange.length - 1; - const lastDomainIdx = colorDomain.length - 1; - const widthNoPadding = width - padding[1]; - const rectHeight = height - padding[0]; - return ( - <svg className={className} height={height} width={width}> - <defs> - <linearGradient id="gradient-legend"> - {colorRange.map((color, idx) => ( - <stop key={idx} offset={idx / lastColorIdx} stopColor={String(color)} /> - ))} - </linearGradient> - </defs> - <g transform={`translate(${padding[3]}, ${padding[0]})`}> - <rect fill="url(#gradient-legend)" height={rectHeight} width={widthNoPadding} x={0} y={0} /> - {colorDomain.map((d, idx) => ( - <text - className="gradient-legend-text" - dy="-2px" - key={idx} - x={widthNoPadding * (idx / lastDomainIdx)} - y={0}> - {d} - </text> - ))} - </g> - {colorNA && ( - <g transform={`translate(${widthNoPadding}, ${padding[0]})`}> - <rect - fill={colorNA} - height={rectHeight} - width={padding[1] - NA_SPACING} - x={NA_SPACING} - y={0} - /> - <text - className="gradient-legend-na" - dy="-2px" - x={NA_SPACING + (padding[1] - NA_SPACING) / 2} - y={0}> - N/A - </text> - </g> - )} - </svg> - ); -} diff --git a/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx b/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx index 3b4032f5289..21f951c9548 100644 --- a/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx +++ b/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { formatMeasure } from '../../helpers/measures'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { RATING_COLORS } from '../../helpers/constants'; import './ColorBoxLegend.css'; diff --git a/server/sonar-web/src/main/js/components/charts/DonutChart.tsx b/server/sonar-web/src/main/js/components/charts/DonutChart.tsx deleted file mode 100644 index bd77124f223..00000000000 --- a/server/sonar-web/src/main/js/components/charts/DonutChart.tsx +++ /dev/null @@ -1,83 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { arc as d3Arc, pie as d3Pie, PieArcDatum } from 'd3-shape'; - -interface DataPoint { - fill: string; - value: number; -} - -interface Props { - data: DataPoint[]; - height: number; - thickness: number; - padding?: [number, number, number, number]; - width: number; -} - -export default function DonutChart(props: Props) { - const { height, padding = [0, 0, 0, 0], width } = props; - - const availableWidth = width - padding[1] - padding[3]; - const availableHeight = height - padding[0] - padding[2]; - - const size = Math.min(availableWidth, availableHeight); - const radius = Math.floor(size / 2); - - const pie = d3Pie<any, DataPoint>() - .sort(null) - .value(d => d.value); - - const sectors = pie(props.data).map((d, i) => { - return ( - <Sector - data={d} - fill={props.data[i].fill} - key={i} - radius={radius} - thickness={props.thickness} - /> - ); - }); - - return ( - <svg className="donut-chart" height={height} width={width}> - <g transform={`translate(${padding[3]}, ${padding[0]})`}> - <g transform={`translate(${radius}, ${radius})`}>{sectors}</g> - </g> - </svg> - ); -} - -interface SectorProps { - data: PieArcDatum<DataPoint>; - fill: string; - radius: number; - thickness: number; -} - -function Sector(props: SectorProps) { - const arc = d3Arc<any, PieArcDatum<DataPoint>>() - .outerRadius(props.radius) - .innerRadius(props.radius - props.thickness); - const d = arc(props.data) as string; - return <path d={d} style={{ fill: props.fill }} />; -} diff --git a/server/sonar-web/src/main/js/components/charts/Histogram.css b/server/sonar-web/src/main/js/components/charts/Histogram.css deleted file mode 100644 index 972f41d30e8..00000000000 --- a/server/sonar-web/src/main/js/components/charts/Histogram.css +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.histogram-tick { - text-anchor: end; -} - -.histogram-tick-start { - text-anchor: start; -} - -.histogram-value { - text-anchor: start; -} diff --git a/server/sonar-web/src/main/js/components/charts/Histogram.tsx b/server/sonar-web/src/main/js/components/charts/Histogram.tsx deleted file mode 100644 index 3baa9d6a2ce..00000000000 --- a/server/sonar-web/src/main/js/components/charts/Histogram.tsx +++ /dev/null @@ -1,138 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { max } from 'd3-array'; -import { scaleLinear, scaleBand, ScaleLinear, ScaleBand } from 'd3-scale'; -import Tooltip from '../controls/Tooltip'; -import './BarChart.css'; -import './Histogram.css'; - -interface Props { - alignTicks?: boolean; - bars: number[]; - height: number; - padding?: [number, number, number, number]; - yTicks?: string[]; - yTooltips?: string[]; - yValues?: string[]; - width: number; -} - -const BAR_HEIGHT = 10; -const DEFAULT_PADDING = [10, 10, 10, 10]; - -type XScale = ScaleLinear<number, number>; -type YScale = ScaleBand<number>; - -export default class Histogram extends React.PureComponent<Props> { - renderBar(d: number, index: number, xScale: XScale, yScale: YScale) { - const { alignTicks, padding = DEFAULT_PADDING } = this.props; - - const width = Math.round(xScale(d)) + /* minimum bar width */ 1; - const x = xScale.range()[0] + (alignTicks ? padding[3] : 0); - const y = Math.round(yScale(index)! + yScale.bandwidth() / 2); - - return <rect className="bar-chart-bar" height={BAR_HEIGHT} width={width} x={x} y={y} />; - } - - renderValue(d: number, index: number, xScale: XScale, yScale: YScale) { - const { alignTicks, padding = DEFAULT_PADDING, yValues } = this.props; - - const value = yValues && yValues[index]; - - if (!value) { - return null; - } - - const x = xScale(d) + (alignTicks ? padding[3] : 0); - const y = Math.round(yScale(index)! + yScale.bandwidth() / 2 + BAR_HEIGHT / 2); - - return ( - <Tooltip overlay={this.props.yTooltips && this.props.yTooltips[index]}> - <text className="bar-chart-tick histogram-value" dx="1em" dy="0.3em" x={x} y={y}> - {value} - </text> - </Tooltip> - ); - } - - renderTick(index: number, xScale: XScale, yScale: YScale) { - const { alignTicks, yTicks } = this.props; - - const tick = yTicks && yTicks[index]; - - if (!tick) { - return null; - } - - const x = xScale.range()[0]; - const y = Math.round(yScale(index)! + yScale.bandwidth() / 2 + BAR_HEIGHT / 2); - const historyTickClass = alignTicks ? 'histogram-tick-start' : 'histogram-tick'; - - return ( - <text - className={'bar-chart-tick ' + historyTickClass} - dx={alignTicks ? 0 : '-1em'} - dy="0.3em" - x={x} - y={y}> - {tick} - </text> - ); - } - - renderBars(xScale: XScale, yScale: YScale) { - return ( - <g> - {this.props.bars.map((d, index) => { - return ( - <g key={index}> - {this.renderBar(d, index, xScale, yScale)} - {this.renderValue(d, index, xScale, yScale)} - {this.renderTick(index, xScale, yScale)} - </g> - ); - })} - </g> - ); - } - - render() { - const { bars, width, height, padding = DEFAULT_PADDING } = this.props; - - const availableWidth = width - padding[1] - padding[3]; - const xScale: XScale = scaleLinear() - .domain([0, max(bars)!]) - .range([0, availableWidth]); - - const availableHeight = height - padding[0] - padding[2]; - const yScale: YScale = scaleBand<number>() - .domain(bars.map((_, index) => index)) - .rangeRound([0, availableHeight]); - - return ( - <svg className="bar-chart" height={this.props.height} width={this.props.width}> - <g transform={`translate(${this.props.alignTicks ? 4 : padding[3]}, ${padding[0]})`}> - {this.renderBars(xScale, yScale)} - </g> - </svg> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/LanguageDistribution.tsx b/server/sonar-web/src/main/js/components/charts/LanguageDistribution.tsx index 06bde9d3a9c..900cdf57c55 100644 --- a/server/sonar-web/src/main/js/components/charts/LanguageDistribution.tsx +++ b/server/sonar-web/src/main/js/components/charts/LanguageDistribution.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { sortBy } from 'lodash'; -import Histogram from './Histogram'; -import { formatMeasure } from '../../helpers/measures'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Histogram from 'sonar-ui-common/components/charts/Histogram'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; interface Props { alignTicks?: boolean; diff --git a/server/sonar-web/src/main/js/components/charts/LineChart.css b/server/sonar-web/src/main/js/components/charts/LineChart.css deleted file mode 100644 index 42a87c23671..00000000000 --- a/server/sonar-web/src/main/js/components/charts/LineChart.css +++ /dev/null @@ -1,70 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.line-chart-path { - fill: none; - stroke: var(--blue); - stroke-width: 2px; -} - -.line-chart-path.line-chart-path-1 { - stroke: var(--darkBlue); -} - -.line-chart-path.line-chart-path-2 { - stroke: #24c6e0; -} - -.line-chart-area { - fill: rgba(75, 159, 213, 0.3); - stroke-width: 0; -} - -.line-chart-area.line-chart-area-1 { - fill: rgba(35, 106, 151, 0.3); -} - -.line-chart-area.line-chart-area-2 { - fill: rgba(36, 198, 224, 0.3); -} - -.line-chart-point { - fill: #fff; - stroke: var(--blue); - stroke-width: 2px; -} - -.line-chart-tick { - fill: var(--secondFontColor); - font-size: var(--smallFontSize); - text-anchor: middle; -} - -.line-chart-tick-x { - text-anchor: end; -} - -.line-chart-tick-x-right { - text-anchor: start; -} - -.line-chart-grid { - shape-rendering: crispedges; - stroke: #eee; -} diff --git a/server/sonar-web/src/main/js/components/charts/LineChart.tsx b/server/sonar-web/src/main/js/components/charts/LineChart.tsx deleted file mode 100644 index a937fa7e7fd..00000000000 --- a/server/sonar-web/src/main/js/components/charts/LineChart.tsx +++ /dev/null @@ -1,195 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { extent, max } from 'd3-array'; -import { scaleLinear, ScaleLinear } from 'd3-scale'; -import { area as d3Area, line as d3Line, curveBasis } from 'd3-shape'; -import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; -import './LineChart.css'; - -interface DataPoint { - x: number; - y?: number; -} - -interface Props { - backdropConstraints?: [number, number]; - data: DataPoint[]; - displayBackdrop?: boolean; - displayPoints?: boolean; - displayVerticalGrid?: boolean; - domain?: [number, number]; - height: number; - padding?: [number, number, number, number]; - width?: number; - xTicks?: {}[]; - xValues?: {}[]; -} - -export default class LineChart extends React.PureComponent<Props> { - renderBackdrop(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const { displayBackdrop = true } = this.props; - - if (!displayBackdrop) { - return null; - } - - const area = d3Area<DataPoint>() - .x(d => xScale(d.x)) - .y0(yScale.range()[0]) - .y1(d => yScale(d.y || 0)) - .defined(d => d.y != null) - .curve(curveBasis); - - let { data } = this.props; - if (this.props.backdropConstraints) { - const c = this.props.backdropConstraints; - data = data.filter(d => c[0] <= d.x && d.x <= c[1]); - } - - return <path className="line-chart-backdrop" d={area(data) as string} />; - } - - renderPoints(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const { displayPoints = true } = this.props; - - if (!displayPoints) { - return null; - } - - const points = this.props.data - .filter(point => point.y != null) - .map((point, index) => { - const x = xScale(point.x); - const y = yScale(point.y || 0); - return <circle className="line-chart-point" cx={x} cy={y} key={index} r="3" />; - }); - return <g>{points}</g>; - } - - renderVerticalGrid(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const { displayVerticalGrid = true } = this.props; - - if (!displayVerticalGrid) { - return null; - } - - const lines = this.props.data.map((point, index) => { - const x = xScale(point.x); - const y1 = yScale.range()[0]; - const y2 = yScale(point.y || 0); - return <line className="line-chart-grid" key={index} x1={x} x2={x} y1={y1} y2={y2} />; - }); - return <g>{lines}</g>; - } - - renderXTicks(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const { xTicks = [] } = this.props; - - if (!xTicks.length) { - return null; - } - - const ticks = xTicks.map((tick, index) => { - const point = this.props.data[index]; - const x = xScale(point.x); - const y = yScale.range()[0]; - return ( - <text className="line-chart-tick" dy="1.5em" key={index} x={x} y={y}> - {tick} - </text> - ); - }); - return <g>{ticks}</g>; - } - - renderXValues(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const { xValues = [] } = this.props; - - if (!xValues.length) { - return null; - } - - const ticks = xValues.map((value, index) => { - const point = this.props.data[index]; - const x = xScale(point.x); - const y = yScale(point.y || 0); - return ( - <text className="line-chart-tick" dy="-1em" key={index} x={x} y={y}> - {value} - </text> - ); - }); - return <g>{ticks}</g>; - } - - renderLine(xScale: ScaleLinear<number, number>, yScale: ScaleLinear<number, number>) { - const p = d3Line<DataPoint>() - .x(d => xScale(d.x)) - .y(d => yScale(d.y || 0)) - .defined(d => d.y != null) - .curve(curveBasis); - return <path className="line-chart-path" d={p(this.props.data) as string} />; - } - - renderChart = (width: number) => { - const { height, padding = [10, 10, 10, 10] } = this.props; - - if (!width || !height) { - return <div />; - } - - const availableWidth = width - padding[1] - padding[3]; - const availableHeight = height - padding[0] - padding[2]; - - const xScale = scaleLinear() - .domain(extent(this.props.data, d => d.x) as [number, number]) - .range([0, availableWidth]); - const yScale = scaleLinear().range([availableHeight, 0]); - - if (this.props.domain) { - yScale.domain(this.props.domain); - } else { - const maxY = max(this.props.data, d => d.y) as number; - yScale.domain([0, maxY]); - } - - return ( - <svg className="line-chart" height={height} width={width}> - <g transform={`translate(${padding[3]}, ${padding[0]})`}> - {this.renderVerticalGrid(xScale, yScale)} - {this.renderBackdrop(xScale, yScale)} - {this.renderLine(xScale, yScale)} - {this.renderPoints(xScale, yScale)} - {this.renderXTicks(xScale, yScale)} - {this.renderXValues(xScale, yScale)} - </g> - </svg> - ); - }; - - render() { - return this.props.width !== undefined ? ( - this.renderChart(this.props.width) - ) : ( - <AutoSizer disableHeight={true}>{size => this.renderChart(size.width)}</AutoSizer> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/TreeMap.css b/server/sonar-web/src/main/js/components/charts/TreeMap.css deleted file mode 100644 index 8f02d205e07..00000000000 --- a/server/sonar-web/src/main/js/components/charts/TreeMap.css +++ /dev/null @@ -1,82 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.sonar-d3 .treemap-container { - position: relative; -} - -.sonar-d3 .treemap-cell { - position: absolute; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - box-sizing: border-box; - text-align: center; -} - -.sonar-d3 .treemap-cell:focus { - outline: none; -} - -.sonar-d3 .treemap-inner { - display: inline-flex; - vertical-align: middle; - align-items: center; - justify-content: center; - flex-wrap: wrap; - padding: 0 4px; - box-sizing: border-box; - line-height: 1.2; -} - -.sonar-d3 .treemap-inner .treemap-icon { - flex-shrink: 0; -} - -.sonar-d3 .treemap-inner .treemap-icon svg { - margin-top: 2px; -} - -.sonar-d3 .treemap-inner .treemap-text { - flex-shrink: 1; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - text-align: left; -} - -.sonar-d3 .treemap-link { - position: absolute; - z-index: var(--normalZIndex); - top: 5px; - right: 5px; - line-height: 14px; - font-size: var(--smallFontSize); - border-bottom: none; -} - -.sonar-d3 .treemap-link:hover { - color: #d1eafb; -} - -.sonar-d3 .treemap-link i, -.sonar-d3 .treemap-link i:before { - vertical-align: top; - font-size: inherit; - line-height: inherit; -} diff --git a/server/sonar-web/src/main/js/components/charts/TreeMap.tsx b/server/sonar-web/src/main/js/components/charts/TreeMap.tsx deleted file mode 100644 index dd0ee34003e..00000000000 --- a/server/sonar-web/src/main/js/components/charts/TreeMap.tsx +++ /dev/null @@ -1,101 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { treemap as d3Treemap, hierarchy as d3Hierarchy } from 'd3-hierarchy'; -import TreeMapRect from './TreeMapRect'; -import { Location } from '../../helpers/urls'; -import './TreeMap.css'; - -export interface TreeMapItem { - color: string; - icon?: React.ReactNode; - key: string; - label: string; - link?: string | Location; - size: number; - tooltip?: React.ReactNode; -} - -interface HierarchicalTreemapItem extends TreeMapItem { - children?: TreeMapItem[]; -} - -interface Props { - height: number; - items: TreeMapItem[]; - onRectangleClick?: (item: string) => void; - width: number; -} - -export default class TreeMap extends React.PureComponent<Props> { - mostCommitPrefix = (labels: string[]) => { - const sortedLabels = labels.slice(0).sort(); - const firstLabel = sortedLabels[0]; - const firstLabelLength = firstLabel.length; - const lastLabel = sortedLabels[sortedLabels.length - 1]; - let i = 0; - while (i < firstLabelLength && firstLabel.charAt(i) === lastLabel.charAt(i)) { - i++; - } - const prefix = firstLabel.substr(0, i); - const prefixTokens = prefix.split(/[\s\\/]/); - const lastPrefixPart = prefixTokens[prefixTokens.length - 1]; - return prefix.substr(0, prefix.length - lastPrefixPart.length); - }; - - render() { - const { items, height, width } = this.props; - const hierarchy = d3Hierarchy({ children: items } as HierarchicalTreemapItem) - .sum(d => d.size) - .sort((a, b) => (b.value || 0) - (a.value || 0)); - - const treemap = d3Treemap<TreeMapItem>() - .round(true) - .size([width, height]); - - const nodes = treemap(hierarchy).leaves(); - const prefix = this.mostCommitPrefix(items.map(item => item.label)); - const halfWidth = width / 2; - return ( - <div className="sonar-d3"> - <div className="treemap-container" style={{ width, height }}> - {nodes.map(node => ( - <TreeMapRect - fill={node.data.color} - height={node.y1 - node.y0} - icon={node.data.icon} - itemKey={node.data.key} - key={node.data.key} - label={node.data.label} - link={node.data.link} - onClick={this.props.onRectangleClick} - placement={node.x0 === 0 || node.x1 < halfWidth ? 'right' : 'left'} - prefix={prefix} - tooltip={node.data.tooltip} - width={node.x1 - node.x0} - x={node.x0} - y={node.y0} - /> - ))} - </div> - </div> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/TreeMapRect.tsx b/server/sonar-web/src/main/js/components/charts/TreeMapRect.tsx deleted file mode 100644 index bf21da958f5..00000000000 --- a/server/sonar-web/src/main/js/components/charts/TreeMapRect.tsx +++ /dev/null @@ -1,124 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { Link } from 'react-router'; -import * as classNames from 'classnames'; -import { scaleLinear } from 'd3-scale'; -import LinkIcon from '../icons-components/LinkIcon'; -import Tooltip, { Placement } from '../controls/Tooltip'; -import { Location } from '../../helpers/urls'; - -const SIZE_SCALE = scaleLinear() - .domain([3, 15]) - .range([11, 18]) - .clamp(true); - -interface Props { - fill: string; - height: number; - icon?: React.ReactNode; - itemKey: string; - label: string; - link?: string | Location; - onClick?: (item: string) => void; - placement?: Placement; - prefix: string; - tooltip?: React.ReactNode; - width: number; - x: number; - y: number; -} - -export default class TreeMapRect extends React.PureComponent<Props> { - handleLinkClick = (event: React.MouseEvent<HTMLAnchorElement>) => { - event.stopPropagation(); - }; - - handleRectClick = () => { - if (this.props.onClick) { - this.props.onClick(this.props.itemKey); - } - }; - - renderLink = () => { - const { link, height, width } = this.props; - const hasMinSize = width >= 24 && height >= 24 && (width >= 48 || height >= 50); - if (!hasMinSize || link == null) { - return null; - } - return ( - <Link className="treemap-link" onClick={this.handleLinkClick} to={link}> - <LinkIcon /> - </Link> - ); - }; - - renderCell = () => { - const cellStyles = { - left: this.props.x, - top: this.props.y, - width: this.props.width, - height: this.props.height, - backgroundColor: this.props.fill, - fontSize: SIZE_SCALE(this.props.width / this.props.label.length), - lineHeight: `${this.props.height}px`, - cursor: this.props.onClick != null ? 'pointer' : 'default' - }; - const isTextVisible = this.props.width >= 40 && this.props.height >= 45; - const isIconVisible = this.props.width >= 24 && this.props.height >= 26; - - return ( - <div - className="treemap-cell" - onClick={this.handleRectClick} - role="treeitem" - style={cellStyles} - tabIndex={0}> - <div className="treemap-inner" style={{ maxWidth: this.props.width }}> - {isIconVisible && ( - <span className={classNames('treemap-icon', { 'spacer-right': isTextVisible })}> - {this.props.icon} - </span> - )} - {isTextVisible && - (this.props.prefix ? ( - <span className="treemap-text"> - {this.props.prefix} - <br /> - {this.props.label.substr(this.props.prefix.length)} - </span> - ) : ( - <span className="treemap-text">{this.props.label}</span> - ))} - </div> - {this.renderLink()} - </div> - ); - }; - - render() { - const { placement, tooltip } = this.props; - return ( - <Tooltip overlay={tooltip || undefined} placement={placement || 'left'}> - {this.renderCell()} - </Tooltip> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.css b/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.css deleted file mode 100644 index 5b4bac3d2cc..00000000000 --- a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.css +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.chart-zoom-tick { - fill: var(--secondFontColor); - font-size: 10px; - text-anchor: middle; - user-select: none; -} - -.chart-zoom .zoom-overlay { - fill: none; - stroke: none; - cursor: crosshair; - pointer-events: all; -} - -.chart-zoom .zoom-selection { - fill: var(--secondFontColor); - fill-opacity: 0.2; - stroke: var(--secondFontColor); - shape-rendering: crispEdges; - cursor: move; -} - -.chart-zoom .zoom-selection-handle { - cursor: ew-resize; - fill-opacity: 0; - stroke: none; -} diff --git a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.tsx b/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.tsx deleted file mode 100644 index ebd98dc7a65..00000000000 --- a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.tsx +++ /dev/null @@ -1,399 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { flatten, sortBy, throttle } from 'lodash'; -import { extent, max } from 'd3-array'; -import { scaleLinear, scalePoint, scaleTime, ScaleTime } from 'd3-scale'; -import { line as d3Line, area, curveBasis } from 'd3-shape'; -import Draggable, { DraggableCore, DraggableBounds, DraggableData } from 'react-draggable'; -import * as theme from '../../app/theme'; -import { Serie, Point } from '../../apps/projectActivity/utils'; -import './LineChart.css'; -import './ZoomTimeLine.css'; - -export interface Props { - basisCurve?: boolean; - endDate?: Date; - height: number; - leakPeriodDate?: Date; - metricType: string; - padding: number[]; - series: Serie[]; - showAreas?: boolean; - showXTicks: boolean; - startDate?: Date; - updateZoom: (start?: Date, endDate?: Date) => void; - width: number; -} - -interface State { - overlayLeftPos?: number; - newZoomStart?: number; -} - -type XScale = ScaleTime<number, number>; -// TODO it should be `ScaleLinear<number, number> | ScalePoint<number> | ScalePoint<string>`, but it's super hard to make it work :'( -type YScale = any; - -export default class ZoomTimeLine extends React.PureComponent<Props, State> { - static defaultProps = { - padding: [0, 0, 18, 0], - showXTicks: true - }; - - constructor(props: Props) { - super(props); - this.state = {}; - this.handleZoomUpdate = throttle(this.handleZoomUpdate, 40); - } - - getRatingScale = (availableHeight: number) => { - return scalePoint<number>() - .domain([5, 4, 3, 2, 1]) - .range([availableHeight, 0]); - }; - - getLevelScale = (availableHeight: number) => { - return scalePoint() - .domain(['ERROR', 'WARN', 'OK']) - .range([availableHeight, 0]); - }; - - getYScale = (availableHeight: number, flatData: Point[]): YScale => { - if (this.props.metricType === 'RATING') { - return this.getRatingScale(availableHeight); - } else if (this.props.metricType === 'LEVEL') { - return this.getLevelScale(availableHeight); - } else { - return scaleLinear() - .range([availableHeight, 0]) - .domain([0, max(flatData, d => Number(d.y || 0)) as number]) - .nice(); - } - }; - - getXScale = (availableWidth: number, flatData: Point[]): XScale => { - return scaleTime() - .domain(extent(flatData, d => d.x) as [Date, Date]) - .range([0, availableWidth]) - .clamp(true); - }; - - getScales = () => { - const availableWidth = this.props.width - this.props.padding[1] - this.props.padding[3]; - const availableHeight = this.props.height - this.props.padding[0] - this.props.padding[2]; - const flatData = flatten(this.props.series.map(serie => serie.data)); - return { - xScale: this.getXScale(availableWidth, flatData), - yScale: this.getYScale(availableHeight, flatData) - }; - }; - - getEventMarker = (size: number) => { - const half = size / 2; - return `M${half} 0 L${size} ${half} L ${half} ${size} L0 ${half} L${half} 0 L${size} ${half}`; - }; - - handleDoubleClick = (xScale: XScale, xDim: number[]) => () => { - this.handleZoomUpdate(xScale, xDim); - }; - - handleSelectionDrag = (xScale: XScale, width: number, xDim: number[], checkDelta?: boolean) => ( - _: MouseEvent, - data: DraggableData - ) => { - if (!checkDelta || data.deltaX) { - const x = Math.max(xDim[0], Math.min(data.x, xDim[1] - width)); - this.handleZoomUpdate(xScale, [x, width + x]); - } - }; - - handleSelectionHandleDrag = ( - xScale: XScale, - fixedX: number, - xDim: number[], - handleDirection: string, - checkDelta?: boolean - ) => (_: MouseEvent, data: DraggableData) => { - if (!checkDelta || data.deltaX) { - const x = Math.max(xDim[0], Math.min(data.x, xDim[1])); - this.handleZoomUpdate(xScale, handleDirection === 'right' ? [fixedX, x] : [x, fixedX]); - } - }; - - handleNewZoomDragStart = (xDim: number[]) => (_: MouseEvent, data: DraggableData) => { - const overlayLeftPos = data.node.getBoundingClientRect().left; - this.setState({ - overlayLeftPos, - newZoomStart: Math.round(Math.max(xDim[0], Math.min(data.x - overlayLeftPos, xDim[1]))) - }); - }; - - handleNewZoomDrag = (xScale: XScale, xDim: number[]) => (_: MouseEvent, data: DraggableData) => { - const { newZoomStart, overlayLeftPos } = this.state; - if (newZoomStart != null && overlayLeftPos != null && data.deltaX) { - this.handleZoomUpdate( - xScale, - sortBy([newZoomStart, Math.max(xDim[0], Math.min(data.x - overlayLeftPos, xDim[1]))]) - ); - } - }; - - handleNewZoomDragEnd = (xScale: XScale, xDim: number[]) => ( - _: MouseEvent, - data: DraggableData - ) => { - const { newZoomStart, overlayLeftPos } = this.state; - if (newZoomStart !== undefined && overlayLeftPos !== undefined) { - const x = Math.round(Math.max(xDim[0], Math.min(data.x - overlayLeftPos, xDim[1]))); - this.handleZoomUpdate(xScale, newZoomStart === x ? xDim : sortBy([newZoomStart, x])); - this.setState({ newZoomStart: undefined, overlayLeftPos: undefined }); - } - }; - - handleZoomUpdate = (xScale: XScale, xArray: number[]) => { - const xRange = xScale.range(); - const startDate = - xArray[0] > xRange[0] && xArray[0] < xRange[xRange.length - 1] - ? xScale.invert(xArray[0]) - : undefined; - const endDate = - xArray[1] > xRange[0] && xArray[1] < xRange[xRange.length - 1] - ? xScale.invert(xArray[1]) - : undefined; - if (this.props.startDate !== startDate || this.props.endDate !== endDate) { - this.props.updateZoom(startDate, endDate); - } - }; - - renderBaseLine = (xScale: XScale, yScale: YScale) => { - return ( - <line - className="line-chart-grid" - x1={xScale.range()[0]} - x2={xScale.range()[1]} - y1={yScale.range()[0]} - y2={yScale.range()[0]} - /> - ); - }; - - renderTicks = (xScale: XScale, yScale: YScale) => { - const format = xScale.tickFormat(7); - const ticks = xScale.ticks(7); - const y = yScale.range()[0]; - return ( - <g> - {ticks.slice(0, -1).map((tick, index) => { - const nextTick = index + 1 < ticks.length ? ticks[index + 1] : xScale.domain()[1]; - const x = (xScale(tick) + xScale(nextTick)) / 2; - return ( - <text className="chart-zoom-tick" dy="1.3em" key={index} x={x} y={y}> - {format(tick)} - </text> - ); - })} - </g> - ); - }; - - renderLeak = (xScale: XScale, yScale: YScale) => { - if (!this.props.leakPeriodDate) { - return null; - } - const yRange = yScale.range(); - return ( - <rect - fill={theme.leakColor} - height={yRange[0] - yRange[yRange.length - 1]} - width={xScale.range()[1] - xScale(this.props.leakPeriodDate)} - x={xScale(this.props.leakPeriodDate)} - y={yRange[yRange.length - 1]} - /> - ); - }; - - renderLines = (xScale: XScale, yScale: YScale) => { - const lineGenerator = d3Line<Point>() - .defined(d => Boolean(d.y || d.y === 0)) - .x(d => xScale(d.x)) - .y(d => yScale(d.y)); - if (this.props.basisCurve) { - lineGenerator.curve(curveBasis); - } - return ( - <g> - {this.props.series.map((serie, idx) => ( - <path - className={classNames('line-chart-path', 'line-chart-path-' + idx)} - d={lineGenerator(serie.data) || undefined} - key={serie.name} - /> - ))} - </g> - ); - }; - - renderAreas = (xScale: XScale, yScale: YScale) => { - const areaGenerator = area<Point>() - .defined(d => Boolean(d.y || d.y === 0)) - .x(d => xScale(d.x)) - .y1(d => yScale(d.y)) - .y0(yScale(0)); - if (this.props.basisCurve) { - areaGenerator.curve(curveBasis); - } - return ( - <g> - {this.props.series.map((serie, idx) => ( - <path - className={classNames('line-chart-area', 'line-chart-area-' + idx)} - d={areaGenerator(serie.data) || undefined} - key={serie.name} - /> - ))} - </g> - ); - }; - - renderZoomHandle = (options: { - xScale: XScale; - xPos: number; - fixedPos: number; - yDim: number[]; - xDim: number[]; - direction: string; - }) => ( - <Draggable - axis="x" - bounds={{ left: options.xDim[0], right: options.xDim[1] } as DraggableBounds} - onDrag={this.handleSelectionHandleDrag( - options.xScale, - options.fixedPos, - options.xDim, - options.direction, - true - )} - onStop={this.handleSelectionHandleDrag( - options.xScale, - options.fixedPos, - options.xDim, - options.direction - )} - position={{ x: options.xPos, y: 0 }}> - <rect - className="zoom-selection-handle" - height={options.yDim[0] - options.yDim[1] + 1} - width={6} - x={-3} - y={options.yDim[1]} - /> - </Draggable> - ); - - renderZoom = (xScale: XScale, yScale: YScale) => { - const xRange = xScale.range(); - const yRange = yScale.range(); - const xDim = [xRange[0], xRange[xRange.length - 1]]; - const yDim = [yRange[0], yRange[yRange.length - 1]]; - const startX = Math.round(this.props.startDate ? xScale(this.props.startDate) : xDim[0]); - const endX = Math.round(this.props.endDate ? xScale(this.props.endDate) : xDim[1]); - const xArray = sortBy([startX, endX]); - const zoomBoxWidth = xArray[1] - xArray[0]; - const showZoomArea = - this.state.newZoomStart == null || - this.state.newZoomStart === startX || - this.state.newZoomStart === endX; - - return ( - <g className="chart-zoom"> - <DraggableCore - onDrag={this.handleNewZoomDrag(xScale, xDim)} - onStart={this.handleNewZoomDragStart(xDim)} - onStop={this.handleNewZoomDragEnd(xScale, xDim)}> - <rect - className="zoom-overlay" - height={yDim[0] - yDim[1]} - width={xDim[1] - xDim[0]} - x={xDim[0]} - y={yDim[1]} - /> - </DraggableCore> - {showZoomArea && ( - <Draggable - axis="x" - bounds={{ left: xDim[0], right: Math.floor(xDim[1] - zoomBoxWidth) } as DraggableBounds} - onDrag={this.handleSelectionDrag(xScale, zoomBoxWidth, xDim, true)} - onStop={this.handleSelectionDrag(xScale, zoomBoxWidth, xDim)} - position={{ x: xArray[0], y: 0 }}> - <rect - className="zoom-selection" - height={yDim[0] - yDim[1] + 1} - onDoubleClick={this.handleDoubleClick(xScale, xDim)} - width={zoomBoxWidth} - x={0} - y={yDim[1]} - /> - </Draggable> - )} - {showZoomArea && - this.renderZoomHandle({ - xScale, - xPos: startX, - fixedPos: endX, - xDim, - yDim, - direction: 'left' - })} - {showZoomArea && - this.renderZoomHandle({ - xScale, - xPos: endX, - fixedPos: startX, - xDim, - yDim, - direction: 'right' - })} - </g> - ); - }; - - render() { - if (!this.props.width || !this.props.height) { - return <div />; - } - - const { xScale, yScale } = this.getScales(); - - return ( - <svg className="line-chart " height={this.props.height} width={this.props.width}> - <g transform={`translate(${this.props.padding[3]}, ${this.props.padding[0] + 2})`}> - {this.renderLeak(xScale, yScale)} - {this.renderBaseLine(xScale, yScale)} - {this.props.showXTicks && this.renderTicks(xScale, yScale)} - {this.props.showAreas && this.renderAreas(xScale, yScale)} - {this.renderLines(xScale, yScale)} - {this.renderZoom(xScale, yScale)} - </g> - </svg> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/BarChart-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/BarChart-test.tsx deleted file mode 100644 index c67a4e09e2d..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/BarChart-test.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import BarChart from '../BarChart'; - -it('should display bars', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const chart = shallow(<BarChart barsWidth={20} data={data} height={100} width={100} />); - expect(chart.find('.bar-chart-bar').length).toBe(3); -}); - -it('should display ticks', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const ticks = ['A', 'B', 'C']; - const chart = shallow( - <BarChart barsWidth={20} data={data} height={100} width={100} xTicks={ticks} /> - ); - expect(chart.find('.bar-chart-tick').length).toBe(3); -}); - -it('should display values', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const values = ['A', 'B', 'C']; - const chart = shallow( - <BarChart barsWidth={20} data={data} height={100} width={100} xValues={values} /> - ); - expect(chart.find('.bar-chart-tick').length).toBe(3); -}); - -it('should display bars, ticks and values', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const ticks = ['A', 'B', 'C']; - const values = ['A', 'B', 'C']; - const chart = shallow( - <BarChart barsWidth={20} data={data} height={100} width={100} xTicks={ticks} xValues={values} /> - ); - expect(chart.find('.bar-chart-bar').length).toBe(3); - expect(chart.find('.bar-chart-tick').length).toBe(6); -}); diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/BubbleChart-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/BubbleChart-test.tsx deleted file mode 100644 index 557908db903..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/BubbleChart-test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { mount } from 'enzyme'; -import { AutoSizerProps } from 'react-virtualized'; -import BubbleChart from '../BubbleChart'; - -jest.mock('react-virtualized/dist/commonjs/AutoSizer', () => ({ - AutoSizer: ({ children }: AutoSizerProps) => children({ width: 100, height: NaN }) -})); - -it('should display bubbles', () => { - const items = [{ x: 1, y: 10, size: 7 }, { x: 2, y: 30, size: 5 }]; - const chart = mount(<BubbleChart height={100} items={items} padding={[0, 0, 0, 0]} />); - chart.find('Bubble').forEach(bubble => expect(bubble).toMatchSnapshot()); -}); - -it('should render bubble links', () => { - const items = [{ x: 1, y: 10, size: 7, link: 'foo' }, { x: 2, y: 30, size: 5, link: 'bar' }]; - const chart = mount(<BubbleChart height={100} items={items} padding={[0, 0, 0, 0]} />); - chart.find('Bubble').forEach(bubble => expect(bubble).toMatchSnapshot()); -}); - -it('should render bubbles with click handlers', () => { - const onClick = jest.fn(); - const items = [{ x: 1, y: 10, size: 7, data: 'foo' }, { x: 2, y: 30, size: 5, data: 'bar' }]; - const chart = mount( - <BubbleChart height={100} items={items} onBubbleClick={onClick} padding={[0, 0, 0, 0]} /> - ); - chart.find('Bubble').forEach(bubble => expect(bubble).toMatchSnapshot()); -}); diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/Histogram-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/Histogram-test.tsx deleted file mode 100644 index 35eca9230e4..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/Histogram-test.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Histogram from '../Histogram'; - -it('renders', () => { - expect(shallow(<Histogram bars={[100, 75, 150]} height={75} width={100} />)).toMatchSnapshot(); -}); - -it('renders with yValues', () => { - expect( - shallow( - <Histogram - bars={[100, 75, 150]} - height={75} - width={100} - yValues={['100.0', '75.0', '150.0']} - /> - ) - ).toMatchSnapshot(); -}); - -it('renders with yValues and yTicks', () => { - expect( - shallow( - <Histogram - bars={[100, 75, 150]} - height={75} - width={100} - yTicks={['a', 'b', 'c']} - yValues={['100.0', '75.0', '150.0']} - /> - ) - ).toMatchSnapshot(); -}); - -it('renders with yValues, yTicks and yTooltips', () => { - expect( - shallow( - <Histogram - bars={[100, 75, 150]} - height={75} - width={100} - yTicks={['a', 'b', 'c']} - yTooltips={['a - 100', 'b - 75', 'c - 150']} - yValues={['100.0', '75.0', '150.0']} - /> - ) - ).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/LineChart-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/LineChart-test.tsx deleted file mode 100644 index 2f9f16b1d72..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/LineChart-test.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import LineChart from '../LineChart'; - -it('should display line', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const chart = shallow(<LineChart data={data} height={100} width={100} />); - expect(chart.find('.line-chart-path').length).toBe(1); -}); - -it('should display ticks', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const ticks = ['A', 'B', 'C']; - const chart = shallow(<LineChart data={data} height={100} width={100} xTicks={ticks} />); - expect(chart.find('.line-chart-tick').length).toBe(3); -}); - -it('should display values', () => { - const data = [{ x: 1, y: 10 }, { x: 2, y: 30 }, { x: 3, y: 20 }]; - const values = ['A', 'B', 'C']; - const chart = shallow(<LineChart data={data} height={100} width={100} xValues={values} />); - expect(chart.find('.line-chart-tick').length).toBe(3); -}); diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/TreeMap-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/TreeMap-test.tsx deleted file mode 100644 index 0f5959e5fe2..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/TreeMap-test.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { mount } from 'enzyme'; -import TreeMap from '../TreeMap'; -import TreeMapRect from '../TreeMapRect'; -import { mockEvent } from '../../../helpers/testMocks'; - -it('should render correctly', () => { - const items = [ - { key: '1', size: 10, color: '#777', label: 'SonarQube :: Server' }, - { key: '2', size: 30, color: '#777', label: 'SonarQube :: Web' }, - { key: '3', size: 20, color: '#777', label: 'SonarQube :: Search' } - ]; - const onRectClick = jest.fn(); - const chart = mount( - <TreeMap height={100} items={items} onRectangleClick={onRectClick} width={100} /> - ); - const rects = chart.find(TreeMapRect); - expect(rects).toHaveLength(3); - - const event: React.MouseEvent<HTMLAnchorElement> = mockEvent({ stopPropagation: jest.fn() }); - (rects.first().instance() as TreeMapRect).handleLinkClick(event); - expect(event.stopPropagation).toHaveBeenCalled(); - - (rects.first().instance() as TreeMapRect).handleRectClick(); - expect(onRectClick).toHaveBeenCalledWith('2'); -}); diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/BubbleChart-test.tsx.snap b/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/BubbleChart-test.tsx.snap deleted file mode 100644 index 29a3fd2a7e1..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/BubbleChart-test.tsx.snap +++ /dev/null @@ -1,187 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should display bubbles 1`] = ` -<Bubble - key="0" - r={45} - scale={1} - x={33.21428571428572} - y={70.07936507936508} -> - <Tooltip> - <g> - <circle - className="bubble-chart-bubble" - r={45} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(33.21428571428572, 70.07936507936508) scale(1)" - /> - </g> - </Tooltip> -</Bubble> -`; - -exports[`should display bubbles 2`] = ` -<Bubble - key="1" - r={33.57142857142857} - scale={1} - x={66.42857142857144} - y={33.57142857142857} -> - <Tooltip> - <g> - <circle - className="bubble-chart-bubble" - r={33.57142857142857} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(66.42857142857144, 33.57142857142857) scale(1)" - /> - </g> - </Tooltip> -</Bubble> -`; - -exports[`should render bubble links 1`] = ` -<Bubble - key="0" - link="foo" - r={45} - scale={1} - x={33.21428571428572} - y={70.07936507936508} -> - <Tooltip> - <g> - <Link - onlyActiveOnIndex={false} - style={Object {}} - to="foo" - > - <a - onClick={[Function]} - style={Object {}} - > - <circle - className="bubble-chart-bubble" - r={45} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(33.21428571428572, 70.07936507936508) scale(1)" - /> - </a> - </Link> - </g> - </Tooltip> -</Bubble> -`; - -exports[`should render bubble links 2`] = ` -<Bubble - key="1" - link="bar" - r={33.57142857142857} - scale={1} - x={66.42857142857144} - y={33.57142857142857} -> - <Tooltip> - <g> - <Link - onlyActiveOnIndex={false} - style={Object {}} - to="bar" - > - <a - onClick={[Function]} - style={Object {}} - > - <circle - className="bubble-chart-bubble" - r={33.57142857142857} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(66.42857142857144, 33.57142857142857) scale(1)" - /> - </a> - </Link> - </g> - </Tooltip> -</Bubble> -`; - -exports[`should render bubbles with click handlers 1`] = ` -<Bubble - data="foo" - key="0" - onClick={[MockFunction]} - r={45} - scale={1} - x={33.21428571428572} - y={70.07936507936508} -> - <Tooltip> - <g> - <circle - className="bubble-chart-bubble" - onClick={[Function]} - r={45} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(33.21428571428572, 70.07936507936508) scale(1)" - /> - </g> - </Tooltip> -</Bubble> -`; - -exports[`should render bubbles with click handlers 2`] = ` -<Bubble - data="bar" - key="1" - onClick={[MockFunction]} - r={33.57142857142857} - scale={1} - x={66.42857142857144} - y={33.57142857142857} -> - <Tooltip> - <g> - <circle - className="bubble-chart-bubble" - onClick={[Function]} - r={33.57142857142857} - style={ - Object { - "fill": undefined, - "stroke": undefined, - } - } - transform="translate(66.42857142857144, 33.57142857142857) scale(1)" - /> - </g> - </Tooltip> -</Bubble> -`; diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/Histogram-test.tsx.snap b/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/Histogram-test.tsx.snap deleted file mode 100644 index f52a4ea6cf3..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/__snapshots__/Histogram-test.tsx.snap +++ /dev/null @@ -1,352 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders 1`] = ` -<svg - className="bar-chart" - height={75} - width={100} -> - <g - transform="translate(10, 10)" - > - <g> - <g - key="0" - > - <rect - className="bar-chart-bar" - height={10} - width={54} - x={0} - y={10} - /> - </g> - <g - key="1" - > - <rect - className="bar-chart-bar" - height={10} - width={41} - x={0} - y={28} - /> - </g> - <g - key="2" - > - <rect - className="bar-chart-bar" - height={10} - width={81} - x={0} - y={46} - /> - </g> - </g> - </g> -</svg> -`; - -exports[`renders with yValues 1`] = ` -<svg - className="bar-chart" - height={75} - width={100} -> - <g - transform="translate(10, 10)" - > - <g> - <g - key="0" - > - <rect - className="bar-chart-bar" - height={10} - width={54} - x={0} - y={10} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={53.33333333333333} - y={15} - > - 100.0 - </text> - </Tooltip> - </g> - <g - key="1" - > - <rect - className="bar-chart-bar" - height={10} - width={41} - x={0} - y={28} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={40} - y={33} - > - 75.0 - </text> - </Tooltip> - </g> - <g - key="2" - > - <rect - className="bar-chart-bar" - height={10} - width={81} - x={0} - y={46} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={80} - y={51} - > - 150.0 - </text> - </Tooltip> - </g> - </g> - </g> -</svg> -`; - -exports[`renders with yValues and yTicks 1`] = ` -<svg - className="bar-chart" - height={75} - width={100} -> - <g - transform="translate(10, 10)" - > - <g> - <g - key="0" - > - <rect - className="bar-chart-bar" - height={10} - width={54} - x={0} - y={10} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={53.33333333333333} - y={15} - > - 100.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={15} - > - a - </text> - </g> - <g - key="1" - > - <rect - className="bar-chart-bar" - height={10} - width={41} - x={0} - y={28} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={40} - y={33} - > - 75.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={33} - > - b - </text> - </g> - <g - key="2" - > - <rect - className="bar-chart-bar" - height={10} - width={81} - x={0} - y={46} - /> - <Tooltip> - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={80} - y={51} - > - 150.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={51} - > - c - </text> - </g> - </g> - </g> -</svg> -`; - -exports[`renders with yValues, yTicks and yTooltips 1`] = ` -<svg - className="bar-chart" - height={75} - width={100} -> - <g - transform="translate(10, 10)" - > - <g> - <g - key="0" - > - <rect - className="bar-chart-bar" - height={10} - width={54} - x={0} - y={10} - /> - <Tooltip - overlay="a - 100" - > - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={53.33333333333333} - y={15} - > - 100.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={15} - > - a - </text> - </g> - <g - key="1" - > - <rect - className="bar-chart-bar" - height={10} - width={41} - x={0} - y={28} - /> - <Tooltip - overlay="b - 75" - > - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={40} - y={33} - > - 75.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={33} - > - b - </text> - </g> - <g - key="2" - > - <rect - className="bar-chart-bar" - height={10} - width={81} - x={0} - y={46} - /> - <Tooltip - overlay="c - 150" - > - <text - className="bar-chart-tick histogram-value" - dx="1em" - dy="0.3em" - x={80} - y={51} - > - 150.0 - </text> - </Tooltip> - <text - className="bar-chart-tick histogram-tick" - dx="-1em" - dy="0.3em" - x={0} - y={51} - > - c - </text> - </g> - </g> - </g> -</svg> -`; diff --git a/server/sonar-web/src/main/js/components/common/AnalysisWarningsModal.tsx b/server/sonar-web/src/main/js/components/common/AnalysisWarningsModal.tsx index 20b45408644..8195123b99d 100644 --- a/server/sonar-web/src/main/js/components/common/AnalysisWarningsModal.tsx +++ b/server/sonar-web/src/main/js/components/common/AnalysisWarningsModal.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DeferredSpinner from './DeferredSpinner'; -import Modal from '../controls/Modal'; -import { ResetButtonLink } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; -import WarningIcon from '../icons-components/WarningIcon'; +import WarningIcon from 'sonar-ui-common/components/icons/WarningIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { getTask } from '../../api/ce'; interface Props { diff --git a/server/sonar-web/src/main/js/components/common/BranchStatus.tsx b/server/sonar-web/src/main/js/components/common/BranchStatus.tsx index 7d236b565a0..ab9be8f8c18 100644 --- a/server/sonar-web/src/main/js/components/common/BranchStatus.tsx +++ b/server/sonar-web/src/main/js/components/common/BranchStatus.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; -import Level from '../ui/Level'; +import Level from 'sonar-ui-common/components/ui/Level'; import { Store, getBranchStatusByBranchLike } from '../../store/rootReducer'; interface Props { diff --git a/server/sonar-web/src/main/js/components/common/CodeSnippet.tsx b/server/sonar-web/src/main/js/components/common/CodeSnippet.tsx index 660cbcbe196..50014de9392 100644 --- a/server/sonar-web/src/main/js/components/common/CodeSnippet.tsx +++ b/server/sonar-web/src/main/js/components/common/CodeSnippet.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import ClipboardButton from '../controls/ClipboardButton'; +import ClipboardButton from 'sonar-ui-common/components/controls/ClipboardButton'; import './CodeSnippet.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/common/DeferredSpinner.tsx b/server/sonar-web/src/main/js/components/common/DeferredSpinner.tsx deleted file mode 100644 index ee975911617..00000000000 --- a/server/sonar-web/src/main/js/components/common/DeferredSpinner.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; - -interface Props { - children?: React.ReactNode; - className?: string; - loading?: boolean; - customSpinner?: JSX.Element; - timeout?: number; -} - -interface State { - showSpinner: boolean; -} - -export default class DeferredSpinner extends React.PureComponent<Props, State> { - timer: any; - - static defaultProps = { - timeout: 100 - }; - - state: State = { showSpinner: false }; - - componentDidMount() { - if (this.props.loading == null || this.props.loading === true) { - this.startTimer(); - } - } - - componentWillReceiveProps(nextProps: Props) { - if (this.props.loading === false && nextProps.loading === true) { - this.stopTimer(); - this.startTimer(); - } - if (this.props.loading === true && nextProps.loading === false) { - this.stopTimer(); - this.setState({ showSpinner: false }); - } - } - - componentWillUnmount() { - this.stopTimer(); - } - - startTimer = () => { - this.timer = setTimeout(() => this.setState({ showSpinner: true }), this.props.timeout); - }; - - stopTimer = () => { - clearTimeout(this.timer); - }; - - render() { - if (this.state.showSpinner) { - return ( - this.props.customSpinner || <i className={classNames('spinner', this.props.className)} /> - ); - } - return this.props.children || null; - } -} diff --git a/server/sonar-web/src/main/js/components/common/EmptySearch.tsx b/server/sonar-web/src/main/js/components/common/EmptySearch.tsx index 0aad15253d3..c77573fd6fe 100644 --- a/server/sonar-web/src/main/js/components/common/EmptySearch.tsx +++ b/server/sonar-web/src/main/js/components/common/EmptySearch.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import './EmptySearch.css'; export default function EmptySearch() { diff --git a/server/sonar-web/src/main/js/components/common/FiltersHeader.tsx b/server/sonar-web/src/main/js/components/common/FiltersHeader.tsx index a10c05e5f4b..4fc764b7ca9 100644 --- a/server/sonar-web/src/main/js/components/common/FiltersHeader.tsx +++ b/server/sonar-web/src/main/js/components/common/FiltersHeader.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; interface Props { displayReset: boolean; diff --git a/server/sonar-web/src/main/js/components/common/MarkdownTips.tsx b/server/sonar-web/src/main/js/components/common/MarkdownTips.tsx index 2c99b2f74a4..0616d4adfc4 100644 --- a/server/sonar-web/src/main/js/components/common/MarkdownTips.tsx +++ b/server/sonar-web/src/main/js/components/common/MarkdownTips.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import { getMarkdownHelpUrl } from '../../helpers/urls'; -import { translate } from '../../helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/common/MultiSelect.tsx b/server/sonar-web/src/main/js/components/common/MultiSelect.tsx index ab0d53888b6..6e51ef57f19 100644 --- a/server/sonar-web/src/main/js/components/common/MultiSelect.tsx +++ b/server/sonar-web/src/main/js/components/common/MultiSelect.tsx @@ -20,9 +20,9 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { difference } from 'lodash'; +import { translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import MultiSelectOption from './MultiSelectOption'; -import SearchBox from '../controls/SearchBox'; -import { translateWithParameters } from '../../helpers/l10n'; interface Props { allowNewElements?: boolean; diff --git a/server/sonar-web/src/main/js/components/common/OrganizationAvatar.tsx b/server/sonar-web/src/main/js/components/common/OrganizationAvatar.tsx index 8c0bd6d1729..245708408db 100644 --- a/server/sonar-web/src/main/js/components/common/OrganizationAvatar.tsx +++ b/server/sonar-web/src/main/js/components/common/OrganizationAvatar.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import GenericAvatar from '../ui/GenericAvatar'; +import GenericAvatar from 'sonar-ui-common/components/ui/GenericAvatar'; import './OrganizationAvatar.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/common/PageCounter.tsx b/server/sonar-web/src/main/js/components/common/PageCounter.tsx index dafdf0e4502..3edbe600000 100644 --- a/server/sonar-web/src/main/js/components/common/PageCounter.tsx +++ b/server/sonar-web/src/main/js/components/common/PageCounter.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { formatMeasure } from '../../helpers/measures'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/common/PrivacyBadgeContainer.tsx b/server/sonar-web/src/main/js/components/common/PrivacyBadgeContainer.tsx index c8f7004abe4..6e302873b8f 100644 --- a/server/sonar-web/src/main/js/components/common/PrivacyBadgeContainer.tsx +++ b/server/sonar-web/src/main/js/components/common/PrivacyBadgeContainer.tsx @@ -19,10 +19,11 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import VisibleIcon from 'sonar-ui-common/components/icons/VisibleIcon'; import { connect } from 'react-redux'; -import * as theme from '../../app/theme'; -import Tooltip from '../controls/Tooltip'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { colors } from '../../app/theme'; import { isSonarCloud } from '../../helpers/system'; import { isCurrentUserMemberOf, isPaidOrganization } from '../../helpers/organizations'; import { @@ -31,7 +32,6 @@ import { getMyOrganizations, Store } from '../../store/rootReducer'; -import VisibleIcon from '../icons-components/VisibleIcon'; import DocTooltip from '../docs/DocTooltip'; interface StateToProps { @@ -71,7 +71,7 @@ export function PrivacyBadge({ let icon = null; if (isPaidOrganization(organization) && visibility === 'public') { - icon = <VisibleIcon className="little-spacer-right" fill={theme.blue} />; + icon = <VisibleIcon className="little-spacer-right" fill={colors.blue} />; } const badge = ( diff --git a/server/sonar-web/src/main/js/components/common/RestartButton.tsx b/server/sonar-web/src/main/js/components/common/RestartButton.tsx index ddb583ce466..68f85c783f0 100644 --- a/server/sonar-web/src/main/js/components/common/RestartButton.tsx +++ b/server/sonar-web/src/main/js/components/common/RestartButton.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import ConfirmButton from '../controls/ConfirmButton'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton'; import { restart } from '../../api/system'; -import { Button } from '../ui/buttons'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/common/SelectListItem.tsx b/server/sonar-web/src/main/js/components/common/SelectListItem.tsx index 04896eaaf3a..3fdbc272847 100644 --- a/server/sonar-web/src/main/js/components/common/SelectListItem.tsx +++ b/server/sonar-web/src/main/js/components/common/SelectListItem.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import classNames from 'classnames'; -import Tooltip from '../controls/Tooltip'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; interface Props { active?: string; diff --git a/server/sonar-web/src/main/js/components/common/VisibilitySelector.tsx b/server/sonar-web/src/main/js/components/common/VisibilitySelector.tsx index 447da212416..d5d7e878075 100644 --- a/server/sonar-web/src/main/js/components/common/VisibilitySelector.tsx +++ b/server/sonar-web/src/main/js/components/common/VisibilitySelector.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { canTurnToPrivate?: boolean; diff --git a/server/sonar-web/src/main/js/components/common/__tests__/AnalysisWarningsModal-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/AnalysisWarningsModal-test.tsx index 7f5aa7e95ca..b3f4a335725 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/AnalysisWarningsModal-test.tsx +++ b/server/sonar-web/src/main/js/components/common/__tests__/AnalysisWarningsModal-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import AnalysisWarningsModal from '../AnalysisWarningsModal'; -import { waitAndUpdate } from '../../../helpers/testUtils'; import { getTask } from '../../../api/ce'; jest.mock('../../../api/ce', () => ({ diff --git a/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.tsx deleted file mode 100644 index f7834084171..00000000000 --- a/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.tsx +++ /dev/null @@ -1,67 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { mount } from 'enzyme'; -import DeferredSpinner from '../DeferredSpinner'; - -jest.useFakeTimers(); - -it('renders spinner after timeout', () => { - const spinner = mount(<DeferredSpinner />); - expect(spinner).toMatchSnapshot(); - jest.runAllTimers(); - spinner.update(); - expect(spinner).toMatchSnapshot(); -}); - -it('add custom className', () => { - const spinner = mount(<DeferredSpinner className="foo" />); - jest.runAllTimers(); - spinner.update(); - expect(spinner).toMatchSnapshot(); -}); - -it('renders children before timeout', () => { - const spinner = mount( - <DeferredSpinner> - <div>foo</div> - </DeferredSpinner> - ); - expect(spinner).toMatchSnapshot(); - jest.runAllTimers(); - spinner.update(); - expect(spinner).toMatchSnapshot(); -}); - -it('is controlled by loading prop', () => { - const spinner = mount( - <DeferredSpinner loading={false}> - <div>foo</div> - </DeferredSpinner> - ); - expect(spinner).toMatchSnapshot(); - spinner.setProps({ loading: true }); - expect(spinner).toMatchSnapshot(); - jest.runAllTimers(); - spinner.update(); - expect(spinner).toMatchSnapshot(); - spinner.setProps({ loading: false }); - expect(spinner).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/PrivacyBadgeContainer-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/PrivacyBadgeContainer-test.tsx index d004b3ecd6a..d770a34e538 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/PrivacyBadgeContainer-test.tsx +++ b/server/sonar-web/src/main/js/components/common/__tests__/PrivacyBadgeContainer-test.tsx @@ -61,7 +61,7 @@ function getWrapper(props = {}) { organization={organization} qualifier="TRK" userOrganizations={[organization]} - visibility={'private'} + visibility="private" {...props} /> ); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/RestartButton-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/RestartButton-test.tsx index 3aecf0ae55f..8cbfd883a33 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/RestartButton-test.tsx +++ b/server/sonar-web/src/main/js/components/common/__tests__/RestartButton-test.tsx @@ -26,5 +26,5 @@ it('should render correctly', () => { }); function shallowRender(props: Partial<RestartButton['props']> = {}) { - return shallow(<RestartButton fetchSystemStatus={jest.fn()} systemStatus={'UP'} {...props} />); + return shallow(<RestartButton fetchSystemStatus={jest.fn()} systemStatus="UP" {...props} />); } diff --git a/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.tsx index 97c97712bca..f114f7ee055 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.tsx +++ b/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow, mount } from 'enzyme'; +import { click, keydown } from 'sonar-ui-common/helpers/testUtils'; import SelectList from '../SelectList'; import SelectListItem from '../SelectListItem'; -import { click, keydown } from '../../../helpers/testUtils'; it('should render correctly without children', () => { const onSelect = jest.fn(); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/VisibilitySelector-test.tsx b/server/sonar-web/src/main/js/components/common/__tests__/VisibilitySelector-test.tsx index 20a9b70e706..2e0ae3b8128 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/VisibilitySelector-test.tsx +++ b/server/sonar-web/src/main/js/components/common/__tests__/VisibilitySelector-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import VisibilitySelector from '../VisibilitySelector'; -import { click } from '../../../helpers/testUtils'; it('changes visibility', () => { const onChange = jest.fn(); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/__snapshots__/DeferredSpinner-test.tsx.snap b/server/sonar-web/src/main/js/components/common/__tests__/__snapshots__/DeferredSpinner-test.tsx.snap deleted file mode 100644 index 51d17f504c7..00000000000 --- a/server/sonar-web/src/main/js/components/common/__tests__/__snapshots__/DeferredSpinner-test.tsx.snap +++ /dev/null @@ -1,92 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`add custom className 1`] = ` -<DeferredSpinner - className="foo" - timeout={100} -> - <i - className="spinner foo" - /> -</DeferredSpinner> -`; - -exports[`is controlled by loading prop 1`] = ` -<DeferredSpinner - loading={false} - timeout={100} -> - <div> - foo - </div> -</DeferredSpinner> -`; - -exports[`is controlled by loading prop 2`] = ` -<DeferredSpinner - loading={true} - timeout={100} -> - <div> - foo - </div> -</DeferredSpinner> -`; - -exports[`is controlled by loading prop 3`] = ` -<DeferredSpinner - loading={true} - timeout={100} -> - <i - className="spinner" - /> -</DeferredSpinner> -`; - -exports[`is controlled by loading prop 4`] = ` -<DeferredSpinner - loading={false} - timeout={100} -> - <div> - foo - </div> -</DeferredSpinner> -`; - -exports[`renders children before timeout 1`] = ` -<DeferredSpinner - timeout={100} -> - <div> - foo - </div> -</DeferredSpinner> -`; - -exports[`renders children before timeout 2`] = ` -<DeferredSpinner - timeout={100} -> - <i - className="spinner" - /> -</DeferredSpinner> -`; - -exports[`renders spinner after timeout 1`] = ` -<DeferredSpinner - timeout={100} -/> -`; - -exports[`renders spinner after timeout 2`] = ` -<DeferredSpinner - timeout={100} -> - <i - className="spinner" - /> -</DeferredSpinner> -`; diff --git a/server/sonar-web/src/main/js/components/controls/ActionsDropdown.tsx b/server/sonar-web/src/main/js/components/controls/ActionsDropdown.tsx deleted file mode 100644 index f8cca23cd06..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ActionsDropdown.tsx +++ /dev/null @@ -1,113 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { Link } from 'react-router'; -import { LocationDescriptor } from 'history'; -import Dropdown from './Dropdown'; -import DropdownIcon from '../icons-components/DropdownIcon'; -import SettingsIcon from '../icons-components/SettingsIcon'; -import { Button } from '../ui/buttons'; - -interface Props { - className?: string; - children: React.ReactNode; - onOpen?: () => void; - small?: boolean; - toggleClassName?: string; -} - -export default function ActionsDropdown(props: Props) { - return ( - <Dropdown - className={props.className} - onOpen={props.onOpen} - overlay={<ul className="menu">{props.children}</ul>}> - <Button - className={classNames('dropdown-toggle', props.toggleClassName, { - 'button-small': props.small - })}> - <SettingsIcon size={props.small ? 12 : 14} /> - <DropdownIcon className="little-spacer-left" /> - </Button> - </Dropdown> - ); -} - -interface ItemProps { - className?: string; - children: React.ReactNode; - destructive?: boolean; - /** used to pass a name of downloaded file */ - download?: string; - id?: string; - onClick?: () => void; - to?: LocationDescriptor; -} - -export class ActionsDropdownItem extends React.PureComponent<ItemProps> { - handleClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - if (this.props.onClick) { - this.props.onClick(); - } - }; - - render() { - const className = classNames(this.props.className, { 'text-danger': this.props.destructive }); - - if (this.props.download && typeof this.props.to === 'string') { - return ( - <li> - <a - className={className} - download={this.props.download} - href={this.props.to} - id={this.props.id}> - {this.props.children} - </a> - </li> - ); - } - - if (this.props.to) { - return ( - <li> - <Link className={className} id={this.props.id} to={this.props.to}> - {this.props.children} - </Link> - </li> - ); - } - - return ( - <li> - <a className={className} href="#" id={this.props.id} onClick={this.handleClick}> - {this.props.children} - </a> - </li> - ); - } -} - -export function ActionsDropdownDivider() { - return <li className="divider" />; -} diff --git a/server/sonar-web/src/main/js/components/controls/BackButton.tsx b/server/sonar-web/src/main/js/components/controls/BackButton.tsx deleted file mode 100644 index 37b20a214f5..00000000000 --- a/server/sonar-web/src/main/js/components/controls/BackButton.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Tooltip from './Tooltip'; -import * as theme from '../../app/theme'; -import { translate } from '../../helpers/l10n'; - -interface Props { - className?: string; - disabled?: boolean; - onClick: () => void; - tooltip?: string; -} - -export default class BackButton extends React.PureComponent<Props> { - handleClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - if (!this.props.disabled) { - this.props.onClick(); - } - }; - - renderIcon = () => ( - <svg height="24" viewBox="0 0 21 24" width="21"> - <path - d="M3.845 12.9992l5.993 5.993.052.056c.049.061.093.122.129.191.082.159.121.339.111.518-.006.102-.028.203-.064.298-.149.39-.537.652-.954.644-.102-.002-.204-.019-.301-.052-.148-.05-.273-.135-.387-.241l-8.407-8.407 8.407-8.407.056-.052c.061-.048.121-.092.19-.128.116-.06.237-.091.366-.108.076-.004.075-.004.153-.003.155.015.3.052.437.129.088.051.169.115.239.19.246.266.33.656.214.999-.051.149-.135.273-.241.387l-5.983 5.984c5.287-.044 10.577-.206 15.859.013.073.009.091.009.163.027.187.047.359.15.49.292.075.081.136.175.18.276.044.101.072.209.081.319.032.391-.175.775-.521.962-.097.052-.202.089-.311.107-.073.012-.091.01-.165.013H3.845z" - fill={this.props.disabled ? theme.disableGrayText : theme.secondFontColor} - /> - </svg> - ); - - render() { - const { tooltip = translate('issues.return_to_list') } = this.props; - return ( - <Tooltip overlay={tooltip}> - <a - className={classNames( - 'link-no-underline', - { 'cursor-not-allowed': this.props.disabled }, - this.props.className - )} - href="#" - onClick={this.handleClick}> - {this.renderIcon()} - </a> - </Tooltip> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/BoxedGroupAccordion.tsx b/server/sonar-web/src/main/js/components/controls/BoxedGroupAccordion.tsx index e3a5507b7da..8e1a4cd99ad 100644 --- a/server/sonar-web/src/main/js/components/controls/BoxedGroupAccordion.tsx +++ b/server/sonar-web/src/main/js/components/controls/BoxedGroupAccordion.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import OpenCloseIcon from '../icons-components/OpenCloseIcon'; +import OpenCloseIcon from 'sonar-ui-common/components/icons/OpenCloseIcon'; interface Props { children: React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/controls/Checkbox.tsx b/server/sonar-web/src/main/js/components/controls/Checkbox.tsx deleted file mode 100644 index b73e3003d3b..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Checkbox.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import DeferredSpinner from '../common/DeferredSpinner'; - -interface Props { - checked: boolean; - disabled?: boolean; - children?: React.ReactNode; - className?: string; - id?: string; - loading?: boolean; - onCheck: (checked: boolean, id?: string) => void; - right?: boolean; - thirdState?: boolean; - title?: string; -} - -export default class Checkbox extends React.PureComponent<Props> { - static defaultProps = { - thirdState: false - }; - - handleClick = (event: React.SyntheticEvent<HTMLElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - if (!this.props.disabled) { - this.props.onCheck(!this.props.checked, this.props.id); - } - }; - - render() { - const { checked, children, disabled, id, loading, right, thirdState, title } = this.props; - const className = classNames('icon-checkbox', { - 'icon-checkbox-checked': checked, - 'icon-checkbox-single': thirdState, - 'icon-checkbox-disabled': disabled - }); - - if (children) { - return ( - <a - aria-checked={checked} - className={classNames('link-checkbox', this.props.className, { - note: disabled, - disabled - })} - href="#" - id={id} - onClick={this.handleClick} - role="checkbox" - title={title}> - {right && children} - <DeferredSpinner loading={Boolean(loading)}> - <i className={className} /> - </DeferredSpinner> - {!right && children} - </a> - ); - } - - if (loading) { - return <DeferredSpinner />; - } - - return ( - <a - aria-checked={checked} - className={classNames(className, this.props.className)} - href="#" - id={id} - onClick={this.handleClick} - role="checkbox" - title={title} - /> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ClipboardButton.tsx b/server/sonar-web/src/main/js/components/controls/ClipboardButton.tsx deleted file mode 100644 index 474d8d8c516..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ClipboardButton.tsx +++ /dev/null @@ -1,91 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import * as Clipboard from 'clipboard'; -import Tooltip from './Tooltip'; -import { Button } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; - -interface Props { - className?: string; - copyValue: string; - label?: string; -} - -interface State { - tooltipShown: boolean; -} - -export default class ClipboardButton extends React.PureComponent<Props, State> { - clipboard?: Clipboard; - copyButton?: HTMLElement | null; - mounted = false; - state: State = { tooltipShown: false }; - - componentDidMount() { - this.mounted = true; - if (this.copyButton) { - this.clipboard = new Clipboard(this.copyButton); - this.clipboard.on('success', this.showTooltip); - } - } - - componentDidUpdate() { - if (this.clipboard) { - this.clipboard.destroy(); - } - if (this.copyButton) { - this.clipboard = new Clipboard(this.copyButton); - this.clipboard.on('success', this.showTooltip); - } - } - - componentWillUnmount() { - this.mounted = false; - if (this.clipboard) { - this.clipboard.destroy(); - } - } - - showTooltip = () => { - if (this.mounted) { - this.setState({ tooltipShown: true }); - setTimeout(() => { - if (this.mounted) { - this.setState({ tooltipShown: false }); - } - }, 1000); - } - }; - - render() { - return ( - <Tooltip overlay={translate('copied_action')} visible={this.state.tooltipShown}> - <Button - className={classNames('no-select', this.props.className)} - data-clipboard-text={this.props.copyValue} - innerRef={node => (this.copyButton = node)}> - {this.props.label ? this.props.label : translate('copy')} - </Button> - </Tooltip> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ConfirmButton.tsx b/server/sonar-web/src/main/js/components/controls/ConfirmButton.tsx deleted file mode 100644 index 984ff40dc6a..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ConfirmButton.tsx +++ /dev/null @@ -1,58 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import ConfirmModal, { ConfirmModalProps } from './ConfirmModal'; -import ModalButton, { ChildrenProps, ModalProps } from './ModalButton'; - -interface Props<T> extends ConfirmModalProps<T> { - children: (props: ChildrenProps) => React.ReactNode; - modalBody: React.ReactNode; - modalHeader: string; - modalHeaderDescription?: React.ReactNode; -} - -interface State { - modal: boolean; -} - -export default class ConfirmButton<T> extends React.PureComponent<Props<T>, State> { - renderConfirmModal = ({ onClose }: ModalProps) => { - const { - children, - modalBody, - modalHeader, - modalHeaderDescription, - ...confirmModalProps - } = this.props; - return ( - <ConfirmModal - header={modalHeader} - headerDescription={modalHeaderDescription} - onClose={onClose} - {...confirmModalProps}> - {modalBody} - </ConfirmModal> - ); - }; - - render() { - return <ModalButton modal={this.renderConfirmModal}>{this.props.children}</ModalButton>; - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ConfirmModal.tsx b/server/sonar-web/src/main/js/components/controls/ConfirmModal.tsx deleted file mode 100644 index 2b018709630..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ConfirmModal.tsx +++ /dev/null @@ -1,105 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { ModalProps } from './Modal'; -import SimpleModal, { ChildrenProps } from './SimpleModal'; -import DeferredSpinner from '../common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; - -export interface ConfirmModalProps<T> extends ModalProps { - cancelButtonText?: string; - confirmButtonText: string; - confirmData?: T; - confirmDisable?: boolean; - isDestructive?: boolean; - onConfirm: (data?: T) => void | Promise<void | Response>; -} - -interface Props<T> extends ConfirmModalProps<T> { - header: string; - headerDescription?: React.ReactNode; - onClose: () => void; -} - -export default class ConfirmModal<T = string> extends React.PureComponent<Props<T>> { - mounted = false; - - componentDidMount() { - this.mounted = true; - } - - componentWillUnmount() { - this.mounted = false; - } - - handleSubmit = () => { - const result = this.props.onConfirm(this.props.confirmData); - if (result) { - return result.then(this.props.onClose, () => {}); - } else { - this.props.onClose(); - return undefined; - } - }; - - renderModalContent = ({ onCloseClick, onFormSubmit, submitting }: ChildrenProps) => { - const { - children, - confirmButtonText, - confirmDisable, - header, - headerDescription, - isDestructive, - cancelButtonText = translate('cancel') - } = this.props; - return ( - <form onSubmit={onFormSubmit}> - <header className="modal-head"> - <h2>{header}</h2> - {headerDescription} - </header> - <div className="modal-body">{children}</div> - <footer className="modal-foot"> - <DeferredSpinner className="spacer-right" loading={submitting} /> - <SubmitButton - autoFocus={true} - className={isDestructive ? 'button-red' : undefined} - disabled={submitting || confirmDisable}> - {confirmButtonText} - </SubmitButton> - <ResetButtonLink disabled={submitting} onClick={onCloseClick}> - {cancelButtonText} - </ResetButtonLink> - </footer> - </form> - ); - }; - - render() { - const { header, onClose, noBackdrop, size } = this.props; - const modalProps = { header, onClose, noBackdrop, size }; - return ( - <SimpleModal onSubmit={this.handleSubmit} {...modalProps}> - {this.renderModalContent} - </SimpleModal> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/DateInput.tsx b/server/sonar-web/src/main/js/components/controls/DateInput.tsx index f7155206822..dcb777c8573 100644 --- a/server/sonar-web/src/main/js/components/controls/DateInput.tsx +++ b/server/sonar-web/src/main/js/components/controls/DateInput.tsx @@ -19,6 +19,9 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import CalendarIcon from 'sonar-ui-common/components/icons/CalendarIcon'; +import ChevronLeftIcon from 'sonar-ui-common/components/icons/ChevronLeftIcon'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { DayModifiers, Modifier, Modifiers } from 'react-day-picker'; import { InjectedIntlProps, injectIntl } from 'react-intl'; import { range } from 'lodash'; @@ -26,14 +29,15 @@ import * as addMonths from 'date-fns/add_months'; import * as setMonth from 'date-fns/set_month'; import * as setYear from 'date-fns/set_year'; import * as subMonths from 'date-fns/sub_months'; -import OutsideClickHandler from './OutsideClickHandler'; +import { + getShortMonthName, + getWeekDayName, + getShortWeekDayName +} from 'sonar-ui-common/helpers/l10n'; +import { ButtonIcon, ClearButton } from 'sonar-ui-common/components/controls/buttons'; +import OutsideClickHandler from 'sonar-ui-common/components/controls/OutsideClickHandler'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import Select from './Select'; -import { lazyLoad } from '../lazyLoad'; -import CalendarIcon from '../icons-components/CalendarIcon'; -import ChevronLeftIcon from '../icons-components/ChevronLeftIcon'; -import ChevronRightIcon from '../icons-components/ChevronRightcon'; -import { ButtonIcon, ClearButton } from '../ui/buttons'; -import { getShortMonthName, getWeekDayName, getShortWeekDayName } from '../../helpers/l10n'; import './DayPicker.css'; import './styles.css'; diff --git a/server/sonar-web/src/main/js/components/controls/DateRangeInput.tsx b/server/sonar-web/src/main/js/components/controls/DateRangeInput.tsx index d16903836a7..1cc3a2ee2a6 100644 --- a/server/sonar-web/src/main/js/components/controls/DateRangeInput.tsx +++ b/server/sonar-web/src/main/js/components/controls/DateRangeInput.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import DateInput from './DateInput'; -import { translate } from '../../helpers/l10n'; type DateRange = { from?: Date; to?: Date }; diff --git a/server/sonar-web/src/main/js/components/controls/DocumentClickHandler.tsx b/server/sonar-web/src/main/js/components/controls/DocumentClickHandler.tsx deleted file mode 100644 index 83543fd6b32..00000000000 --- a/server/sonar-web/src/main/js/components/controls/DocumentClickHandler.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; - -interface Props { - children: React.ReactNode; - onClick: () => void; -} - -export default class DocumentClickHandler extends React.Component<Props> { - componentDidMount() { - setTimeout(() => { - this.addClickHandler(); - }, 0); - } - - componentWillUnmount() { - this.removeClickHandler(); - } - - addClickHandler = () => { - document.addEventListener('click', this.handleDocumentClick); - }; - - removeClickHandler = () => { - document.removeEventListener('click', this.handleDocumentClick); - }; - - handleDocumentClick = () => { - this.props.onClick(); - }; - - render() { - return this.props.children; - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Dropdown.tsx b/server/sonar-web/src/main/js/components/controls/Dropdown.tsx deleted file mode 100644 index 56e583e71cb..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Dropdown.tsx +++ /dev/null @@ -1,159 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import ScreenPositionFixer from './ScreenPositionFixer'; -import Toggler from './Toggler'; -import { Popup, PopupPlacement } from '../ui/popups'; - -interface OnClickCallback { - (event?: React.SyntheticEvent<HTMLElement>): void; -} - -interface RenderProps { - closeDropdown: () => void; - onToggleClick: OnClickCallback; - open: boolean; -} - -interface Props { - children: - | ((renderProps: RenderProps) => JSX.Element) - | React.ReactElement<{ onClick: OnClickCallback }>; - className?: string; - closeOnClick?: boolean; - closeOnClickOutside?: boolean; - onOpen?: () => void; - overlay: React.ReactNode; - overlayPlacement?: PopupPlacement; - noOverlayPadding?: boolean; - tagName?: string; -} - -interface State { - open: boolean; -} - -export default class Dropdown extends React.PureComponent<Props, State> { - state: State = { open: false }; - - componentDidUpdate(_: Props, prevState: State) { - if (!prevState.open && this.state.open && this.props.onOpen) { - this.props.onOpen(); - } - } - - closeDropdown = () => this.setState({ open: false }); - - handleToggleClick = (event?: React.SyntheticEvent<HTMLElement>) => { - if (event) { - event.preventDefault(); - event.currentTarget.blur(); - } - this.setState(state => ({ open: !state.open })); - }; - - render() { - const a11yAttrs = { - 'aria-expanded': String(this.state.open), - 'aria-haspopup': 'true' - }; - - const child = React.isValidElement(this.props.children) - ? React.cloneElement(this.props.children, { onClick: this.handleToggleClick, ...a11yAttrs }) - : this.props.children({ - closeDropdown: this.closeDropdown, - onToggleClick: this.handleToggleClick, - open: this.state.open - }); - - const { closeOnClick = true, closeOnClickOutside = false } = this.props; - - const toggler = ( - <Toggler - closeOnClick={closeOnClick} - closeOnClickOutside={closeOnClickOutside} - onRequestClose={this.closeDropdown} - open={this.state.open} - overlay={ - <DropdownOverlay - noPadding={this.props.noOverlayPadding} - placement={this.props.overlayPlacement}> - {this.props.overlay} - </DropdownOverlay> - }> - {child} - </Toggler> - ); - - return React.createElement( - this.props.tagName || 'div', - { className: classNames('dropdown', this.props.className) }, - toggler - ); - } -} - -interface OverlayProps { - className?: string; - children: React.ReactNode; - noPadding?: boolean; - placement?: PopupPlacement; -} - -// TODO use the same styling for <Select /> -// TODO use the same styling for <DateInput /> - -export class DropdownOverlay extends React.Component<OverlayProps> { - get placement() { - return this.props.placement || PopupPlacement.Bottom; - } - - renderPopup = (leftFix?: number, topFix?: number) => ( - <Popup - arrowStyle={ - leftFix !== undefined && topFix !== undefined - ? { transform: `translate(${-leftFix}px, ${-topFix}px)` } - : undefined - } - className={this.props.className} - noPadding={this.props.noPadding} - placement={this.placement} - style={ - leftFix !== undefined && topFix !== undefined - ? { marginLeft: `calc(50% + ${leftFix}px)` } - : undefined - }> - {this.props.children} - </Popup> - ); - - render() { - if (this.placement === PopupPlacement.Bottom) { - return ( - <ScreenPositionFixer> - {({ leftFix, topFix }) => this.renderPopup(leftFix, topFix)} - </ScreenPositionFixer> - ); - } else { - return this.renderPopup(); - } - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Favorite.tsx b/server/sonar-web/src/main/js/components/controls/Favorite.tsx index 59e3028ac15..a75341bbe11 100644 --- a/server/sonar-web/src/main/js/components/controls/Favorite.tsx +++ b/server/sonar-web/src/main/js/components/controls/Favorite.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import FavoriteBase from './FavoriteBase'; +import FavoriteBase from 'sonar-ui-common/components/controls/FavoriteBase'; import { addFavorite, removeFavorite } from '../../api/favorites'; interface Props { diff --git a/server/sonar-web/src/main/js/components/controls/FavoriteBase.tsx b/server/sonar-web/src/main/js/components/controls/FavoriteBase.tsx deleted file mode 100644 index 45a812d5425..00000000000 --- a/server/sonar-web/src/main/js/components/controls/FavoriteBase.tsx +++ /dev/null @@ -1,102 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Tooltip from './Tooltip'; -import { ButtonLink } from '../ui/buttons'; -import FavoriteIcon from '../icons-components/FavoriteIcon'; -import { translate } from '../../helpers/l10n'; - -export interface Props { - addFavorite: () => Promise<void>; - className?: string; - favorite: boolean; - qualifier: string; - removeFavorite: () => Promise<void>; -} - -interface State { - favorite: boolean; -} - -export default class FavoriteBase extends React.PureComponent<Props, State> { - mounted = false; - - constructor(props: Props) { - super(props); - this.state = { favorite: this.props.favorite }; - } - - componentDidMount() { - this.mounted = true; - } - - componentWillUnmount() { - this.mounted = false; - } - - toggleFavorite = () => { - if (this.state.favorite) { - this.removeFavorite(); - } else { - this.addFavorite(); - } - }; - - addFavorite() { - this.props.addFavorite().then( - () => { - if (this.mounted) { - this.setState({ favorite: true }); - } - }, - () => {} - ); - } - - removeFavorite() { - this.props.removeFavorite().then( - () => { - if (this.mounted) { - this.setState({ favorite: false }); - } - }, - () => {} - ); - } - - render() { - const { favorite } = this.state; - const tooltip = favorite - ? translate('favorite.current', this.props.qualifier) - : translate('favorite.check', this.props.qualifier); - const ariaLabel = translate('favorite.action', favorite ? 'remove' : 'add'); - return ( - <Tooltip overlay={tooltip}> - <ButtonLink - aria-label={ariaLabel} - className={classNames('favorite-link', 'link-no-underline', this.props.className)} - onClick={this.toggleFavorite}> - <FavoriteIcon favorite={favorite} /> - </ButtonLink> - </Tooltip> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/GlobalMessages.css b/server/sonar-web/src/main/js/components/controls/GlobalMessages.css deleted file mode 100644 index e7425fc2713..00000000000 --- a/server/sonar-web/src/main/js/components/controls/GlobalMessages.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.processes-container { - position: fixed; - z-index: var(--processContainerZIndex); - top: 0; - left: 50%; - width: 350px; - margin-left: -175px; -} - -.process-spinner { - position: relative; - padding: 0 10px; - line-height: var(--controlHeight); - border-radius: 0 0 3px 3px; - box-sizing: border-box; - background-color: #f0e8ac; - text-align: center; - opacity: 0; - transition: all 0.2s ease; -} - -.process-spinner.shown { - opacity: 1; -} - -.process-spinner + .process-spinner { - margin-top: 5px; - border-radius: 3px; -} - -.process-spinner-failed { - padding-right: 30px; - background-color: var(--red); - color: #ffffff; -} - -.process-spinner-success { - padding-right: 30px; - background-color: var(--green); - color: #ffffff; -} - -.process-spinner-close { - position: absolute; - top: 2px; - right: 2px; -} - -.process-spinner-close:hover path, -.process-spinner-close:focus path { - fill: var(--red) !important; -} diff --git a/server/sonar-web/src/main/js/components/controls/GlobalMessages.tsx b/server/sonar-web/src/main/js/components/controls/GlobalMessages.tsx deleted file mode 100644 index 037aabf5ff3..00000000000 --- a/server/sonar-web/src/main/js/components/controls/GlobalMessages.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { ClearButton } from '../ui/buttons'; -import { cutLongWords } from '../../helpers/path'; -import './GlobalMessages.css'; - -interface Message { - id: string; - level: 'ERROR' | 'SUCCESS'; - message: string; -} - -export interface Props { - closeGlobalMessage: (id: string) => void; - messages: Message[]; -} - -export default function GlobalMessages({ closeGlobalMessage, messages }: Props) { - if (messages.length === 0) { - return null; - } - - return ( - <div className="processes-container"> - {messages.map(message => ( - <GlobalMessage closeGlobalMessage={closeGlobalMessage} key={message.id} message={message} /> - ))} - </div> - ); -} - -export class GlobalMessage extends React.PureComponent<{ - closeGlobalMessage: (id: string) => void; - message: Message; -}> { - handleClose = () => { - this.props.closeGlobalMessage(this.props.message.id); - }; - - render() { - const { message } = this.props; - return ( - <div - className={classNames('process-spinner', 'shown', { - 'process-spinner-failed': message.level === 'ERROR', - 'process-spinner-success': message.level === 'SUCCESS' - })} - key={message.id}> - {cutLongWords(message.message)} - <ClearButton - className="button-small process-spinner-close" - color="#fff" - onClick={this.handleClose} - /> - </div> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/HelpTooltip.css b/server/sonar-web/src/main/js/components/controls/HelpTooltip.css deleted file mode 100644 index c2e34191ca1..00000000000 --- a/server/sonar-web/src/main/js/components/controls/HelpTooltip.css +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.help-tooltip { - display: inline-flex; - align-items: center; - vertical-align: middle; -} - -.help-toolip-link { - display: block; - width: 12px; - height: 12px; - border: none; -} diff --git a/server/sonar-web/src/main/js/components/controls/HelpTooltip.tsx b/server/sonar-web/src/main/js/components/controls/HelpTooltip.tsx deleted file mode 100644 index 9790e972d0e..00000000000 --- a/server/sonar-web/src/main/js/components/controls/HelpTooltip.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Tooltip, { Placement } from './Tooltip'; -import HelpIcon from '../icons-components/HelpIcon'; -import * as theme from '../../app/theme'; -import './HelpTooltip.css'; - -interface Props { - className?: string; - children?: React.ReactNode; - onShow?: () => void; - overlay: React.ReactNode; - placement?: Placement; - tagName?: string; -} - -export default function HelpTooltip(props: Props) { - const { children = <HelpIcon fill={theme.gray71} size={12} />, tagName = 'div' } = props; - - return React.createElement( - tagName, - { className: classNames('help-tooltip', props.className) }, - <Tooltip - mouseLeaveDelay={0.25} - onShow={props.onShow} - overlay={props.overlay} - placement={props.placement}> - <span className="display-inline-flex-center">{children}</span> - </Tooltip> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/HomePageSelect.tsx b/server/sonar-web/src/main/js/components/controls/HomePageSelect.tsx index 1562f3f97d8..cf52da98d81 100644 --- a/server/sonar-web/src/main/js/components/controls/HomePageSelect.tsx +++ b/server/sonar-web/src/main/js/components/controls/HomePageSelect.tsx @@ -20,10 +20,10 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { connect } from 'react-redux'; -import Tooltip from './Tooltip'; -import { ButtonLink } from '../ui/buttons'; -import HomeIcon from '../icons-components/HomeIcon'; -import { translate } from '../../helpers/l10n'; +import HomeIcon from 'sonar-ui-common/components/icons/HomeIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; import { getCurrentUser, Store } from '../../store/rootReducer'; import { setHomePage } from '../../store/users'; import { isLoggedIn } from '../../helpers/users'; diff --git a/server/sonar-web/src/main/js/components/controls/InputValidationField.tsx b/server/sonar-web/src/main/js/components/controls/InputValidationField.tsx deleted file mode 100644 index 91707869288..00000000000 --- a/server/sonar-web/src/main/js/components/controls/InputValidationField.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import ModalValidationField from './ModalValidationField'; - -interface Props { - autoFocus?: boolean; - className?: string; - description?: string; - dirty: boolean; - disabled: boolean; - error: string | undefined; - id?: string; - label?: React.ReactNode; - name: string; - onBlur: (event: React.FocusEvent<any>) => void; - onChange: (event: React.ChangeEvent<any>) => void; - placeholder?: string; - touched: boolean | undefined; - type?: string; - value: string; -} - -export default function InputValidationField({ className, ...props }: Props) { - const { description, dirty, error, label, touched, ...inputProps } = props; - const modalValidationProps = { description, dirty, error, label, touched }; - return ( - <ModalValidationField {...modalValidationProps}> - {({ className: validationClassName }) => ( - <input className={classNames(className, validationClassName)} {...inputProps} /> - )} - </ModalValidationField> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/ListFooter.tsx b/server/sonar-web/src/main/js/components/controls/ListFooter.tsx deleted file mode 100644 index 922899cd67a..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ListFooter.tsx +++ /dev/null @@ -1,93 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import DeferredSpinner from '../common/DeferredSpinner'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; - -export interface Props { - count: number; - className?: string; - loading?: boolean; - loadMore?: () => void; - needReload?: boolean; - reload?: () => void; - ready?: boolean; - total?: number; -} - -export default function ListFooter({ ready = true, ...props }: Props) { - const handleLoadMore = (event: React.SyntheticEvent<HTMLElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - if (props.loadMore) { - props.loadMore(); - } - }; - - const handleReload = (event: React.SyntheticEvent<HTMLElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - if (props.reload) { - props.reload(); - } - }; - - const hasMore = props.total && props.total > props.count; - - const loadMoreLink = ( - <a className="spacer-left" href="#" onClick={handleLoadMore}> - {translate('show_more')} - </a> - ); - - const reloadLink = ( - <a className="spacer-left" href="#" onClick={handleReload}> - {translate('reload')} - </a> - ); - - const className = classNames( - 'spacer-top note text-center', - { 'new-loading': !ready }, - props.className - ); - - let link; - - if (props.needReload && props.reload) { - link = reloadLink; - } else if (hasMore && props.loadMore) { - link = loadMoreLink; - } - - return ( - <footer className={className}> - {translateWithParameters( - 'x_of_y_shown', - formatMeasure(props.count, 'INT', null), - formatMeasure(props.total, 'INT', null) - )} - {link} - {props.loading && <DeferredSpinner className="text-bottom spacer-left position-absolute" />} - </footer> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/Modal.tsx b/server/sonar-web/src/main/js/components/controls/Modal.tsx deleted file mode 100644 index c250470f9af..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Modal.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as ReactModal from 'react-modal'; -import * as classNames from 'classnames'; - -ReactModal.setAppElement('#content'); - -export interface ModalProps { - children: React.ReactNode; - size?: 'small' | 'medium' | 'large'; - noBackdrop?: boolean; -} - -type MandatoryProps = Pick<ReactModal.Props, 'contentLabel'>; - -type Props = Partial<ReactModal.Props> & MandatoryProps & ModalProps; - -export default function Modal(props: Props) { - return ( - <ReactModal - className={classNames('modal', { - 'modal-small': props.size === 'small', - 'modal-medium': props.size === 'medium', - 'modal-large': props.size === 'large' - })} - isOpen={true} - overlayClassName={classNames('modal-overlay', { 'modal-no-backdrop': props.noBackdrop })} - {...props} - /> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/ModalButton.tsx b/server/sonar-web/src/main/js/components/controls/ModalButton.tsx deleted file mode 100644 index 1a145044166..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ModalButton.tsx +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; - -export interface ChildrenProps { - onClick: () => void; - onFormSubmit: (event: React.FormEvent<HTMLFormElement>) => void; -} - -export interface ModalProps { - onClose: () => void; -} - -export interface Props { - children: (props: ChildrenProps) => React.ReactNode; - modal: (props: ModalProps) => React.ReactNode; -} - -interface State { - modal: boolean; -} - -export default class ModalButton extends React.PureComponent<Props, State> { - mounted = false; - state: State = { modal: false }; - - componentDidMount() { - this.mounted = true; - } - - componentWillUnmount() { - this.mounted = false; - } - - handleButtonClick = () => { - this.setState({ modal: true }); - }; - - handleFormSubmit = (event?: React.FormEvent<HTMLFormElement>) => { - if (event) { - event.preventDefault(); - } - this.setState({ modal: true }); - }; - - handleCloseModal = () => { - if (this.mounted) { - this.setState({ modal: false }); - } - }; - - render() { - return ( - <> - {this.props.children({ - onClick: this.handleButtonClick, - onFormSubmit: this.handleFormSubmit - })} - {this.state.modal && this.props.modal({ onClose: this.handleCloseModal })} - </> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ModalValidationField.tsx b/server/sonar-web/src/main/js/components/controls/ModalValidationField.tsx deleted file mode 100644 index cba79506f52..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ModalValidationField.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import AlertErrorIcon from '../icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../icons-components/AlertSuccessIcon'; - -interface Props { - children: (props: { className?: string }) => React.ReactNode; - description?: string; - dirty: boolean; - error: string | undefined; - label?: React.ReactNode; - touched: boolean | undefined; -} - -export default function ModalValidationField(props: Props) { - const { description, dirty, error } = props; - - const isValid = dirty && props.touched && error === undefined; - const showError = dirty && props.touched && error !== undefined; - return ( - <div className="modal-validation-field"> - {props.label} - {props.children({ className: classNames({ 'is-invalid': showError, 'is-valid': isValid }) })} - {showError && <AlertErrorIcon className="little-spacer-top" />} - {isValid && <AlertSuccessIcon className="little-spacer-top" />} - {showError && <p className="text-danger">{error}</p>} - {description && <div className="modal-field-description">{description}</div>} - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/OutsideClickHandler.tsx b/server/sonar-web/src/main/js/components/controls/OutsideClickHandler.tsx deleted file mode 100644 index 2e29bf413b6..00000000000 --- a/server/sonar-web/src/main/js/components/controls/OutsideClickHandler.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { findDOMNode } from 'react-dom'; - -interface Props { - children: React.ReactNode; - onClickOutside: () => void; -} - -export default class OutsideClickHandler extends React.Component<Props> { - element?: Element | null; - - componentDidMount() { - setTimeout(() => { - this.addClickHandler(); - }, 0); - } - - componentWillUnmount() { - this.removeClickHandler(); - } - - addClickHandler = () => { - window.addEventListener('click', this.handleWindowClick); - }; - - removeClickHandler = () => { - window.removeEventListener('click', this.handleWindowClick); - }; - - handleWindowClick = (event: MouseEvent) => { - // eslint-disable-next-line react/no-find-dom-node - const node = findDOMNode(this); - if (!node || !node.contains(event.target as Node)) { - this.props.onClickOutside(); - } - }; - - render() { - return this.props.children; - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Radio.tsx b/server/sonar-web/src/main/js/components/controls/Radio.tsx deleted file mode 100644 index ba030d96b61..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Radio.tsx +++ /dev/null @@ -1,54 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; - -interface Props { - checked: boolean; - className?: string; - onCheck: (value: string) => void; - value: string; -} - -export default class Radio extends React.PureComponent<Props> { - handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - this.props.onCheck(this.props.value); - }; - - render() { - return ( - <a - aria-checked={this.props.checked} - className={classNames('display-inline-flex-center link-checkbox', this.props.className)} - href="#" - onClick={this.handleClick} - role="radio"> - <i - className={classNames('icon-radio', 'spacer-right', { - 'is-checked': this.props.checked - })} - /> - {this.props.children} - </a> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/RadioCard.css b/server/sonar-web/src/main/js/components/controls/RadioCard.css deleted file mode 100644 index a5099a9a239..00000000000 --- a/server/sonar-web/src/main/js/components/controls/RadioCard.css +++ /dev/null @@ -1,115 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.radio-card { - display: flex; - flex-direction: column; - width: 450px; - min-height: 210px; - background-color: #fff; - border: solid 1px var(--barBorderColor); - border-radius: 3px; - box-sizing: border-box; - margin-right: calc(2 * var(--gridSize)); - transition: all 0.2s ease; -} - -.radio-card.animated { - height: 0; - border-width: 0; - overflow: hidden; -} - -.radio-card.animated.open { - height: 210px; - border-width: 1px; -} - -.radio-card.highlight { - box-shadow: var(--defaultShadow); -} - -.radio-card:last-child { - margin-right: 0; -} - -.radio-card:focus { - outline: none; -} - -.radio-card-actionable { - cursor: pointer; -} - -.radio-card-actionable:not(.disabled):hover { - box-shadow: var(--defaultShadow); - transform: translateY(-2px); -} - -.radio-card-actionable.selected { - border-color: var(--darkBlue); -} - -.radio-card-actionable.selected .radio-card-recommended { - border: solid 1px var(--darkBlue); - border-top: none; -} - -.radio-card-actionable.disabled { - cursor: not-allowed; - background-color: var(--disableGrayBg); - border-color: var(--disableGrayBorder); -} - -.radio-card-actionable.disabled h2, -.radio-card-actionable.disabled ul { - color: var(--disableGrayText); -} - -.radio-card-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: calc(2 * var(--gridSize)) calc(2 * var(--gridSize)) 0; -} - -.radio-card-body { - flex-grow: 1; - display: flex; - flex-direction: column; - justify-content: space-between; - padding: 0 calc(2 * var(--gridSize)) calc(2 * var(--gridSize)); -} - -.radio-card-body .alert { - margin-bottom: 0; -} - -.radio-card-recommended { - position: relative; - padding: 6px calc(var(--gridSize) * 2); - left: -1px; - bottom: -1px; - width: 450px; - color: #fff; - background-color: var(--blue); - border-radius: 0 0 3px 3px; - box-sizing: border-box; - font-size: var(--smallFontSize); -} diff --git a/server/sonar-web/src/main/js/components/controls/RadioCard.tsx b/server/sonar-web/src/main/js/components/controls/RadioCard.tsx deleted file mode 100644 index 96726369abf..00000000000 --- a/server/sonar-web/src/main/js/components/controls/RadioCard.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { FormattedMessage } from 'react-intl'; -import RecommendedIcon from '../icons-components/RecommendedIcon'; -import { translate } from '../../helpers/l10n'; -import './RadioCard.css'; - -export interface RadioCardProps { - className?: string; - disabled?: boolean; - onClick?: () => void; - selected?: boolean; -} - -interface Props extends RadioCardProps { - children: React.ReactNode; - recommended?: string; - title: React.ReactNode; - titleInfo?: React.ReactNode; -} - -export default function RadioCard(props: Props) { - const { className, disabled, onClick, recommended, selected, titleInfo } = props; - const isActionable = Boolean(onClick); - return ( - <div - aria-checked={selected} - className={classNames( - 'radio-card', - { 'radio-card-actionable': isActionable, disabled, selected }, - className - )} - onClick={isActionable && !disabled ? onClick : undefined} - role="radio" - tabIndex={0}> - <h2 className="radio-card-header big-spacer-bottom"> - <span className="display-flex-center"> - {isActionable && ( - <i className={classNames('icon-radio', 'spacer-right', { 'is-checked': selected })} /> - )} - {props.title} - </span> - {titleInfo} - </h2> - <div className="radio-card-body">{props.children}</div> - {recommended && ( - <div className="radio-card-recommended"> - <RecommendedIcon className="spacer-right" /> - <FormattedMessage - defaultMessage={recommended} - id={recommended} - values={{ recommended: <strong>{translate('recommended')}</strong> }} - /> - </div> - )} - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/RadioToggle.tsx b/server/sonar-web/src/main/js/components/controls/RadioToggle.tsx deleted file mode 100644 index a114b022f8c..00000000000 --- a/server/sonar-web/src/main/js/components/controls/RadioToggle.tsx +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Tooltip from './Tooltip'; - -interface Option { - disabled?: boolean; - label: string; - tooltip?: string; - value: string; -} - -interface Props { - className?: string; - name: string; - onCheck: (value: string) => void; - options: Option[]; - value?: string; -} - -export default class RadioToggle extends React.PureComponent<Props> { - static defaultProps = { - disabled: false, - value: null - }; - - handleChange = (e: React.SyntheticEvent<HTMLInputElement>) => { - const newValue = e.currentTarget.value; - this.props.onCheck(newValue); - }; - - renderOption = (option: Option) => { - const checked = option.value === this.props.value; - const htmlId = this.props.name + '__' + option.value; - return ( - <li key={option.value}> - <input - checked={checked} - disabled={option.disabled} - id={htmlId} - name={this.props.name} - onChange={this.handleChange} - type="radio" - value={option.value} - /> - <Tooltip overlay={option.tooltip || undefined}> - <label htmlFor={htmlId}>{option.label}</label> - </Tooltip> - </li> - ); - }; - - render() { - return ( - <ul className={classNames('radio-toggle', this.props.className)}> - {this.props.options.map(this.renderOption)} - </ul> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ReloadButton.tsx b/server/sonar-web/src/main/js/components/controls/ReloadButton.tsx deleted file mode 100644 index aa6808c18e3..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ReloadButton.tsx +++ /dev/null @@ -1,61 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Tooltip from './Tooltip'; -import * as theme from '../../app/theme'; -import { translate } from '../../helpers/l10n'; - -interface Props { - className?: string; - tooltip?: string; - onClick: () => void; -} - -export default class ReloadButton extends React.PureComponent<Props> { - handleClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => { - event.preventDefault(); - event.currentTarget.blur(); - this.props.onClick(); - }; - - renderIcon = () => ( - <svg height="24" viewBox="0 0 18 24" width="18"> - <path - d="M16.6454 8.1084c-.3-.5-.9-.7-1.4-.4-.5.3-.7.9-.4 1.4.9 1.6 1.1 3.4.6 5.1-.5 1.7-1.7 3.2-3.2 4-3.3 1.8-7.4.6-9.1-2.7-1.8-3.1-.8-6.9 2.1-8.8v3.3h2v-7h-7v2h3.9c-3.7 2.5-5 7.5-2.8 11.4 1.6 3 4.6 4.6 7.7 4.6 1.4 0 2.8-.3 4.2-1.1 2-1.1 3.5-3 4.2-5.2.6-2.2.3-4.6-.8-6.6z" - fill={theme.secondFontColor} - /> - </svg> - ); - - render() { - const { tooltip = translate('reload') } = this.props; - return ( - <Tooltip overlay={tooltip}> - <a - className={classNames('link-no-underline', this.props.className)} - href="#" - onClick={this.handleClick}> - {this.renderIcon()} - </a> - </Tooltip> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ScreenPositionFixer.tsx b/server/sonar-web/src/main/js/components/controls/ScreenPositionFixer.tsx deleted file mode 100644 index 7c84151eaee..00000000000 --- a/server/sonar-web/src/main/js/components/controls/ScreenPositionFixer.tsx +++ /dev/null @@ -1,108 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { findDOMNode } from 'react-dom'; -import { throttle } from 'lodash'; -import { grid } from '../../app/theme'; - -const EDGE_MARGIN = 0.5 * grid; - -interface Props { - /** - * First time `children` are rendered with `undefined` fixes to measure the offset. - * Second time it renders with the computed fixes. - */ - children: (props: Fixes) => React.ReactNode; - - /** - * Use this flag to force re-positioning. - * Use cases: - * - when you need to measure `children` size first - * - when you load content asynchronously - */ - ready?: boolean; -} - -interface Fixes { - leftFix?: number; - topFix?: number; -} - -export default class ScreenPositionFixer extends React.Component<Props, Fixes> { - throttledPosition: () => void; - - constructor(props: Props) { - super(props); - this.state = {}; - this.throttledPosition = throttle(this.position, 50); - } - - componentDidMount() { - this.addEventListeners(); - this.position(); - } - - componentDidUpdate(prevProps: Props) { - if (!prevProps.ready && this.props.ready) { - this.position(); - } - } - - componentWillUnmount() { - this.removeEventListeners(); - } - - addEventListeners = () => { - window.addEventListener('resize', this.throttledPosition); - }; - - removeEventListeners = () => { - window.removeEventListener('resize', this.throttledPosition); - }; - - position = () => { - // eslint-disable-next-line react/no-find-dom-node - const node = findDOMNode(this); - if (node && node instanceof Element) { - const { width, height, left, top } = node.getBoundingClientRect(); - const { clientHeight, clientWidth } = document.body; - - let leftFix = 0; - if (left < EDGE_MARGIN) { - leftFix = EDGE_MARGIN - left; - } else if (left + width > clientWidth - EDGE_MARGIN) { - leftFix = clientWidth - EDGE_MARGIN - left - width; - } - - let topFix = 0; - if (top < EDGE_MARGIN) { - topFix = EDGE_MARGIN - top; - } else if (top + height > clientHeight - EDGE_MARGIN) { - topFix = clientHeight - EDGE_MARGIN - top - height; - } - - this.setState({ leftFix, topFix }); - } - }; - - render() { - return this.props.children(this.state); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/SearchBox.css b/server/sonar-web/src/main/js/components/controls/SearchBox.css deleted file mode 100644 index ea129a95b57..00000000000 --- a/server/sonar-web/src/main/js/components/controls/SearchBox.css +++ /dev/null @@ -1,104 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.search-box { - position: relative; - display: inline-block; - vertical-align: middle; - font-size: 0; - white-space: nowrap; -} - -.search-box, -.search-box-input { - width: 100%; - max-width: 300px; -} - -.search-box-input { - /* for magnifier icon */ - padding-left: var(--controlHeight) !important; - /* for clear button */ - padding-right: var(--controlHeight) !important; - font-size: var(--baseFontSize); -} - -.search-box-input::-webkit-search-decoration, -.search-box-input::-webkit-search-cancel-button, -.search-box-input::-webkit-search-results-button, -.search-box-input::-webkit-search-results-decoration { - -webkit-appearance: none; - display: none; -} - -.search-box-input::-ms-clear, -.search-box-input::-ms-reveal { - display: none; - width: 0; - height: 0; -} - -.search-box-note { - position: absolute; - top: 1px; - left: 40px; - right: var(--controlHeight); - line-height: var(--controlHeight); - color: var(--secondFontColor); - font-size: var(--smallFontSize); - text-align: right; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - pointer-events: none; -} - -.search-box-input:focus ~ .search-box-magnifier { - color: var(--blue); -} - -.search-box-magnifier { - position: absolute; - top: 4px; - left: 4px; - color: var(--gray60); - transition: color 0.3s ease; -} - -.search-box > .spinner { - position: absolute; - top: 4px; - left: 5px; -} - -.search-box-clear { - position: absolute; - top: 4px; - right: 4px; -} - -.search-box-input-note { - position: absolute; - top: 100%; - left: 0; - line-height: 1; - color: var(--secondFontColor); - font-size: var(--smallFontSize); - white-space: nowrap; -} diff --git a/server/sonar-web/src/main/js/components/controls/SearchBox.tsx b/server/sonar-web/src/main/js/components/controls/SearchBox.tsx deleted file mode 100644 index 0a6d8e62f09..00000000000 --- a/server/sonar-web/src/main/js/components/controls/SearchBox.tsx +++ /dev/null @@ -1,172 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { debounce, Cancelable } from 'lodash'; -import SearchIcon from '../icons-components/SearchIcon'; -import DeferredSpinner from '../common/DeferredSpinner'; -import { ClearButton } from '../ui/buttons'; -import { translateWithParameters, translate } from '../../helpers/l10n'; -import './SearchBox.css'; - -interface Props { - autoFocus?: boolean; - className?: string; - id?: string; - innerRef?: (node: HTMLInputElement | null) => void; - loading?: boolean; - minLength?: number; - onChange: (value: string) => void; - onClick?: React.MouseEventHandler<HTMLInputElement>; - onFocus?: React.FocusEventHandler<HTMLInputElement>; - onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>; - placeholder: string; - value?: string; -} - -interface State { - value: string; -} - -export default class SearchBox extends React.PureComponent<Props, State> { - debouncedOnChange: ((query: string) => void) & Cancelable; - input?: HTMLInputElement | null; - - constructor(props: Props) { - super(props); - this.state = { value: props.value || '' }; - this.debouncedOnChange = debounce(this.props.onChange, 250); - } - - componentWillReceiveProps(nextProps: Props) { - if ( - // input is controlled - nextProps.value !== undefined && - // parent is aware of last change - // can happen when previous value was less than min length - this.state.value === this.props.value && - nextProps.value !== this.state.value - ) { - this.setState({ value: nextProps.value }); - } - } - - changeValue = (value: string, debounced = true) => { - const { minLength } = this.props; - if (value.length === 0) { - // immediately notify when value is empty - this.props.onChange(''); - // and cancel scheduled callback - this.debouncedOnChange.cancel(); - } else if (!minLength || minLength <= value.length) { - if (debounced) { - this.debouncedOnChange(value); - } else { - this.props.onChange(value); - } - } - }; - - handleInputChange = (event: React.SyntheticEvent<HTMLInputElement>) => { - const { value } = event.currentTarget; - this.setState({ value }); - this.changeValue(value); - }; - - handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => { - if (event.keyCode === 27) { - // escape - event.preventDefault(); - this.handleResetClick(); - } - if (this.props.onKeyDown) { - this.props.onKeyDown(event); - } - }; - - handleResetClick = () => { - this.changeValue('', false); - if (this.props.value === undefined || this.props.value === '') { - this.setState({ value: '' }); - } - if (this.input) { - this.input.focus(); - } - }; - - ref = (node: HTMLInputElement | null) => { - this.input = node; - if (this.props.innerRef) { - this.props.innerRef(node); - } - }; - - render() { - const { loading, minLength } = this.props; - const { value } = this.state; - - const inputClassName = classNames('search-box-input', { - touched: value.length > 0 && (!minLength || minLength > value.length) - }); - - const tooShort = minLength !== undefined && value.length > 0 && value.length < minLength; - - return ( - <div - className={classNames('search-box', this.props.className)} - id={this.props.id} - title={tooShort ? translateWithParameters('select2.tooShort', minLength!) : ''}> - <input - aria-label={translate('search_verb')} - autoComplete="off" - autoFocus={this.props.autoFocus} - className={inputClassName} - maxLength={100} - onChange={this.handleInputChange} - onClick={this.props.onClick} - onFocus={this.props.onFocus} - onKeyDown={this.handleInputKeyDown} - placeholder={this.props.placeholder} - ref={this.ref} - type="search" - value={value} - /> - - <DeferredSpinner loading={loading !== undefined ? loading : false}> - <SearchIcon className="search-box-magnifier" /> - </DeferredSpinner> - - {value && ( - <ClearButton - className="button-tiny search-box-clear" - iconProps={{ size: 12 }} - onClick={this.handleResetClick} - /> - )} - - {tooShort && ( - <span className="search-box-note"> - {translateWithParameters('select2.tooShort', minLength!)} - </span> - )} - </div> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/SearchSelect.tsx b/server/sonar-web/src/main/js/components/controls/SearchSelect.tsx index 43558ccdf90..c4b681624e6 100644 --- a/server/sonar-web/src/main/js/components/controls/SearchSelect.tsx +++ b/server/sonar-web/src/main/js/components/controls/SearchSelect.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { debounce } from 'lodash'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import Select, { Creatable } from './Select'; -import { translate, translateWithParameters } from '../../helpers/l10n'; interface Props<T> { autofocus?: boolean; diff --git a/server/sonar-web/src/main/js/components/controls/Select.tsx b/server/sonar-web/src/main/js/components/controls/Select.tsx index 05be7b0c5e3..2086716ac0f 100644 --- a/server/sonar-web/src/main/js/components/controls/Select.tsx +++ b/server/sonar-web/src/main/js/components/controls/Select.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { ReactSelectProps, ReactCreatableSelectProps, ReactAsyncSelectProps } from 'react-select'; -import { ClearButton } from '../ui/buttons'; -import { lazyLoad } from '../lazyLoad'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; import './react-select.css'; const ReactSelectLib = import('react-select'); diff --git a/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx b/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx deleted file mode 100644 index 9870f0e6ec7..00000000000 --- a/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx +++ /dev/null @@ -1,101 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Modal, { ModalProps } from './Modal'; - -export interface ChildrenProps { - onCloseClick: (event?: React.SyntheticEvent<HTMLElement>) => void; - onFormSubmit: (event: React.SyntheticEvent<HTMLFormElement>) => void; - onSubmitClick: (event?: React.SyntheticEvent<HTMLElement>) => void; - submitting: boolean; -} - -interface Props extends ModalProps { - children: (props: ChildrenProps) => React.ReactNode; - header: string; - onClose: () => void; - onSubmit: () => void | Promise<void>; -} - -interface State { - submitting: boolean; -} - -export default class SimpleModal extends React.Component<Props, State> { - mounted = false; - state: State = { submitting: false }; - - componentDidMount() { - this.mounted = true; - } - - componentWillUnmount() { - this.mounted = false; - } - - stopSubmitting = () => { - if (this.mounted) { - this.setState({ submitting: false }); - } - }; - - handleCloseClick = (event?: React.SyntheticEvent<HTMLElement>) => { - if (event) { - event.preventDefault(); - event.currentTarget.blur(); - } - this.props.onClose(); - }; - - handleFormSubmit = (event: React.SyntheticEvent<HTMLFormElement>) => { - event.preventDefault(); - this.submit(); - }; - - handleSubmitClick = (event?: React.SyntheticEvent<HTMLElement>) => { - if (event) { - event.preventDefault(); - event.currentTarget.blur(); - } - this.submit(); - }; - - submit = () => { - const result = this.props.onSubmit(); - if (result) { - this.setState({ submitting: true }); - result.then(this.stopSubmitting, this.stopSubmitting); - } - }; - - render() { - const { children, header, onClose, onSubmit, ...modalProps } = this.props; - return ( - <Modal contentLabel={header} onRequestClose={onClose} {...modalProps}> - {children({ - onCloseClick: this.handleCloseClick, - onFormSubmit: this.handleFormSubmit, - onSubmitClick: this.handleSubmitClick, - submitting: this.state.submitting - })} - </Modal> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Tabs.css b/server/sonar-web/src/main/js/components/controls/Tabs.css deleted file mode 100644 index 971439ab61e..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Tabs.css +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.flex-tabs { - display: flex; - clear: left; - margin-bottom: calc(3 * var(--gridSize)); - border-bottom: 1px solid var(--barBorderColor); - font-size: var(--mediumFontSize); -} - -.flex-tabs > li > a { - position: relative; - display: block; - top: 1px; - height: 100%; - width: 100%; - box-sizing: border-box; - color: var(--secondFontColor); - font-weight: 600; - cursor: pointer; - padding-bottom: calc(1.5 * var(--gridSize)); - border-bottom: 3px solid transparent; - transition: color 0.2s ease; -} - -.flex-tabs > li ~ li { - margin-left: calc(4 * var(--gridSize)); -} - -.flex-tabs > li > a:hover { - color: var(--baseFontColor); -} - -.flex-tabs > li > a.selected { - color: var(--blue); - border-bottom-color: var(--blue); -} - -.flex-tabs > li > a.disabled { - color: var(--disableGrayText) !important; - cursor: not-allowed !important; - pointer-events: none !important; -} diff --git a/server/sonar-web/src/main/js/components/controls/Tabs.tsx b/server/sonar-web/src/main/js/components/controls/Tabs.tsx deleted file mode 100644 index 33d20ee4118..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Tabs.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import './Tabs.css'; - -interface Props<T extends string> { - onChange: (tab: T) => void; - selected?: T; - tabs: Array<{ disabled?: boolean; key: T; node: React.ReactNode }>; -} - -export default function Tabs<T extends string>({ onChange, selected, tabs }: Props<T>) { - return ( - <ul className="flex-tabs"> - {tabs.map(tab => ( - <Tab - disabled={tab.disabled} - key={tab.key} - name={tab.key} - onSelect={onChange} - selected={selected === tab.key}> - {tab.node} - </Tab> - ))} - </ul> - ); -} - -interface TabProps<T> { - children: React.ReactNode; - disabled?: boolean; - name: T; - onSelect: (tab: T) => void; - selected: boolean; -} - -export class Tab<T> extends React.PureComponent<TabProps<T>> { - handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => { - event.preventDefault(); - event.stopPropagation(); - if (!this.props.disabled) { - this.props.onSelect(this.props.name); - } - }; - - render() { - const { children, disabled, name, selected } = this.props; - return ( - <li> - <a - className={classNames('js-' + name, { disabled, selected })} - href="#" - onClick={this.handleClick}> - {children} - </a> - </li> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Toggle.tsx b/server/sonar-web/src/main/js/components/controls/Toggle.tsx deleted file mode 100644 index 337172a9980..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Toggle.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { Button } from '../ui/buttons'; -import CheckIcon from '../icons-components/CheckIcon'; -import './styles.css'; - -export interface Props { - name?: string; - onChange?: (value: boolean) => void; - value: boolean | string; -} - -export default class Toggle extends React.PureComponent<Props> { - getValue = () => { - const { value } = this.props; - return typeof value === 'string' ? value === 'true' : value; - }; - - handleClick = () => { - if (this.props.onChange) { - const value = this.getValue(); - this.props.onChange(!value); - } - }; - - render() { - const value = this.getValue(); - const className = classNames('boolean-toggle', { 'boolean-toggle-on': value }); - - return ( - <Button className={className} name={this.props.name} onClick={this.handleClick}> - <div className="boolean-toggle-handle"> - <CheckIcon size={12} /> - </div> - </Button> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Toggler.tsx b/server/sonar-web/src/main/js/components/controls/Toggler.tsx deleted file mode 100644 index 1f01d5b3a1e..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Toggler.tsx +++ /dev/null @@ -1,102 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import DocumentClickHandler from './DocumentClickHandler'; -import OutsideClickHandler from './OutsideClickHandler'; - -export interface Props { - children?: React.ReactNode; - closeOnClick?: boolean; - closeOnClickOutside?: boolean; - closeOnEscape?: boolean; - onRequestClose: () => void; - open: boolean; - overlay: React.ReactNode; -} - -export default class Toggler extends React.Component<Props> { - componentDidMount() { - if (this.props.open && isTrueOrUndefined(this.props.closeOnEscape)) { - this.addEventListeners(); - } - } - - componentDidUpdate(prevProps: Props) { - if (!prevProps.open && this.props.open && isTrueOrUndefined(this.props.closeOnEscape)) { - this.addEventListeners(); - } else if (prevProps.open && !this.props.open) { - this.removeEventListeners(); - } else if ( - isTrueOrUndefined(prevProps.closeOnEscape) && - !isTrueOrUndefined(this.props.closeOnEscape) - ) { - this.removeEventListeners(); - } - } - - componentWillUnmount() { - this.removeEventListeners(); - } - - addEventListeners() { - document.addEventListener('keydown', this.handleKeyDown, false); - } - - removeEventListeners() { - document.removeEventListener('keydown', this.handleKeyDown, false); - } - - handleKeyDown = (event: KeyboardEvent) => { - // Escape key - if (event.keyCode === 27) { - this.props.onRequestClose(); - } - }; - - renderOverlay() { - const { - closeOnClick = false, - closeOnClickOutside = true, - onRequestClose, - overlay - } = this.props; - - if (closeOnClick) { - return <DocumentClickHandler onClick={onRequestClose}>{overlay}</DocumentClickHandler>; - } else if (closeOnClickOutside) { - return <OutsideClickHandler onClickOutside={onRequestClose}>{overlay}</OutsideClickHandler>; - } else { - return overlay; - } - } - - render() { - return ( - <> - {this.props.children} - {this.props.open && this.renderOverlay()} - </> - ); - } -} - -function isTrueOrUndefined(x: boolean | undefined) { - return x === true || x === undefined; -} diff --git a/server/sonar-web/src/main/js/components/controls/Tooltip.css b/server/sonar-web/src/main/js/components/controls/Tooltip.css deleted file mode 100644 index f41c3b096e7..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Tooltip.css +++ /dev/null @@ -1,147 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.tooltip { - position: absolute; - z-index: var(--tooltipZIndex); - display: block; - height: auto; - box-sizing: border-box; -} - -.tooltip { - font-size: var(--smallFontSize); - font-weight: 300; - line-height: 1.5; - animation: fadeIn 0.3s forwards; -} - -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} - -.tooltip-inner { - max-width: 300px; - text-align: left; - text-decoration: none; - border-radius: 4px; - overflow: hidden; - word-break: break-word; -} - -.tooltip-inner { - padding: 12px 17px; - color: #fff; - background-color: #475760; - letter-spacing: 0.04em; -} - -.tooltip-inner .alert { - margin-bottom: 5px; - border-radius: 4px; -} - -.tooltip-inner a { - border-bottom-color: #8da6b3; - color: #a5d0ea; -} - -.tooltip-inner hr { - background-color: #5d6d75; -} - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border: solid transparent; -} - -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - border-width: 5px 5px 0; - transform: translateX(-5px); -} - -.tooltip.top .tooltip-arrow { - border-top-color: #475760; -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - transform: translateY(-5px); - border-width: 5px 5px 5px 0; - border-right-color: #475760; -} - -.tooltip.right .tooltip-arrow { - border-right-color: #475760; -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - transform: translateY(-5px); - border-width: 5px 0 5px 5px; - border-left-color: #475760; -} - -.tooltip.left .tooltip-arrow { - border-left-color: #475760; -} - -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - transform: translateX(-5px); - border-width: 0 5px 5px; - border-bottom-color: #475760; -} - -.tooltip.bottom .tooltip-arrow { - border-bottom-color: #475760; -} - -@keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} diff --git a/server/sonar-web/src/main/js/components/controls/Tooltip.tsx b/server/sonar-web/src/main/js/components/controls/Tooltip.tsx deleted file mode 100644 index 7917b491ff8..00000000000 --- a/server/sonar-web/src/main/js/components/controls/Tooltip.tsx +++ /dev/null @@ -1,320 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { createPortal, findDOMNode } from 'react-dom'; -import { throttle } from 'lodash'; -import ScreePositionFixer from './ScreenPositionFixer'; -import './Tooltip.css'; - -export type Placement = 'bottom' | 'right' | 'left' | 'top'; - -interface Props { - classNameSpace?: string; - children: React.ReactElement<{}>; - mouseEnterDelay?: number; - mouseLeaveDelay?: number; - onShow?: () => void; - onHide?: () => void; - overlay: React.ReactNode; - placement?: Placement; - visible?: boolean; -} - -interface Measurements { - height: number; - left: number; - top: number; - width: number; -} - -interface OwnState { - visible: boolean; -} - -type State = OwnState & Partial<Measurements>; - -function isMeasured(state: State): state is OwnState & Measurements { - return state.height !== undefined; -} - -export default function Tooltip(props: Props) { - // overlay is a ReactNode, so it can be `undefined` or `null` - // this allows to easily render a tooltip conditionally - // more generaly we avoid rendering empty tooltips - return props.overlay != null && props.overlay !== '' ? ( - <TooltipInner {...props} /> - ) : ( - props.children - ); -} - -export class TooltipInner extends React.Component<Props, State> { - throttledPositionTooltip: () => void; - mouseEnterTimeout?: number; - mouseLeaveTimeout?: number; - tooltipNode?: HTMLElement | null; - mounted = false; - mouseIn = false; - - static defaultProps = { - mouseEnterDelay: 0.1 - }; - - constructor(props: Props) { - super(props); - this.state = { - visible: props.visible !== undefined ? props.visible : false - }; - this.throttledPositionTooltip = throttle(this.positionTooltip, 10); - } - - componentDidMount() { - this.mounted = true; - if (this.props.visible === true) { - this.positionTooltip(); - this.addEventListeners(); - } - } - - componentDidUpdate(prevProps: Props, prevState: State) { - if ( - // opens - (this.props.visible === true && prevProps.visible === false) || - (this.props.visible === undefined && - this.state.visible === true && - prevState.visible === false) - ) { - this.positionTooltip(); - this.addEventListeners(); - } else if ( - // closes - (this.props.visible === false && prevProps.visible === true) || - (this.props.visible === undefined && - this.state.visible === false && - prevState.visible === true) - ) { - this.clearPosition(); - this.removeEventListeners(); - } - } - - componentWillUnmount() { - this.mounted = false; - this.removeEventListeners(); - this.clearTimeouts(); - } - - addEventListeners = () => { - window.addEventListener('resize', this.throttledPositionTooltip); - window.addEventListener('scroll', this.throttledPositionTooltip); - }; - - removeEventListeners = () => { - window.removeEventListener('resize', this.throttledPositionTooltip); - window.removeEventListener('scroll', this.throttledPositionTooltip); - }; - - clearTimeouts = () => { - window.clearTimeout(this.mouseEnterTimeout); - window.clearTimeout(this.mouseLeaveTimeout); - }; - - isVisible = () => { - return this.props.visible !== undefined ? this.props.visible : this.state.visible; - }; - - getPlacement = (): Placement => { - return this.props.placement || 'bottom'; - }; - - tooltipNodeRef = (node: HTMLElement | null) => { - this.tooltipNode = node; - }; - - positionTooltip = () => { - // `findDOMNode(this)` will search for the DOM node for the current component - // first it will find a React.Fragment (see `render`), - // so it will get the DOM node of the first child, i.e. DOM node of `this.props.children` - // docs: https://reactjs.org/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components - - // eslint-disable-next-line react/no-find-dom-node - const toggleNode = findDOMNode(this); - - if (toggleNode && toggleNode instanceof Element && this.tooltipNode) { - const toggleRect = toggleNode.getBoundingClientRect(); - const tooltipRect = this.tooltipNode.getBoundingClientRect(); - const { width, height } = tooltipRect; - - let left = 0; - let top = 0; - - switch (this.getPlacement()) { - case 'bottom': - left = toggleRect.left + toggleRect.width / 2 - width / 2; - top = toggleRect.top + toggleRect.height; - break; - case 'top': - left = toggleRect.left + toggleRect.width / 2 - width / 2; - top = toggleRect.top - height; - break; - case 'right': - left = toggleRect.left + toggleRect.width; - top = toggleRect.top + toggleRect.height / 2 - height / 2; - break; - case 'left': - left = toggleRect.left - width; - top = toggleRect.top + toggleRect.height / 2 - height / 2; - break; - } - - // save width and height (and later set in `render`) to avoid resizing the tooltip element, - // when it's placed close to the window edge - const measurements: Measurements = { - left: window.pageXOffset + left, - top: window.pageYOffset + top, - width, - height - }; - this.setState(measurements); - } - }; - - clearPosition = () => { - this.setState({ - left: undefined, - top: undefined, - width: undefined, - height: undefined - }); - }; - - handleMouseEnter = () => { - this.mouseEnterTimeout = window.setTimeout(() => { - // for some reason even after the `this.mouseEnterTimeout` is cleared, it still triggers - // to workaround this issue, check that its value is not `undefined` - // (if it's `undefined`, it means the timer has been reset) - if ( - this.mounted && - this.props.visible === undefined && - this.mouseEnterTimeout !== undefined - ) { - this.setState({ visible: true }); - } - }, (this.props.mouseEnterDelay || 0) * 1000); - - if (this.props.onShow) { - this.props.onShow(); - } - }; - - handleMouseLeave = () => { - if (this.mouseEnterTimeout !== undefined) { - window.clearTimeout(this.mouseEnterTimeout); - this.mouseEnterTimeout = undefined; - } - - if (!this.mouseIn) { - this.mouseLeaveTimeout = window.setTimeout(() => { - if (this.mounted && this.props.visible === undefined && !this.mouseIn) { - this.setState({ visible: false }); - } - }, (this.props.mouseLeaveDelay || 0) * 1000); - - if (this.props.onHide) { - this.props.onHide(); - } - } - }; - - handleOverlayMouseEnter = () => { - this.mouseIn = true; - }; - - handleOverlayMouseLeave = () => { - this.mouseIn = false; - this.handleMouseLeave(); - }; - - render() { - const { classNameSpace = 'tooltip' } = this.props; - return ( - <> - {React.cloneElement(this.props.children, { - onMouseEnter: this.handleMouseEnter, - onMouseLeave: this.handleMouseLeave - })} - {this.isVisible() && ( - <TooltipPortal> - <ScreePositionFixer ready={isMeasured(this.state)}> - {({ leftFix = 0, topFix = 0 }) => ( - <div - className={`${classNameSpace} ${this.getPlacement()}`} - onMouseEnter={this.handleOverlayMouseEnter} - onMouseLeave={this.handleOverlayMouseLeave} - ref={this.tooltipNodeRef} - style={ - isMeasured(this.state) - ? { - left: this.state.left + leftFix, - top: this.state.top + topFix, - width: this.state.width, - height: this.state.height - } - : undefined - }> - <div className={`${classNameSpace}-inner`}>{this.props.overlay}</div> - <div - className={`${classNameSpace}-arrow`} - style={ - isMeasured(this.state) - ? { marginLeft: -leftFix, marginTop: -topFix } - : undefined - } - /> - </div> - )} - </ScreePositionFixer> - </TooltipPortal> - )} - </> - ); - } -} - -class TooltipPortal extends React.Component { - el: HTMLElement; - - constructor(props: {}) { - super(props); - this.el = document.createElement('div'); - } - - componentDidMount() { - document.body.appendChild(this.el); - } - - componentWillUnmount() { - document.body.removeChild(this.el); - } - - render() { - return createPortal(this.props.children, this.el); - } -} diff --git a/server/sonar-web/src/main/js/components/controls/ValidationInput.tsx b/server/sonar-web/src/main/js/components/controls/ValidationInput.tsx index 6384d9783f8..3d7a78104a1 100644 --- a/server/sonar-web/src/main/js/components/controls/ValidationInput.tsx +++ b/server/sonar-web/src/main/js/components/controls/ValidationInput.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from './HelpTooltip'; -import AlertErrorIcon from '../icons-components/AlertErrorIcon'; -import AlertSuccessIcon from '../icons-components/AlertSuccessIcon'; +import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon'; +import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; interface Props { description?: string; diff --git a/server/sonar-web/src/main/js/components/controls/ValidationModal.tsx b/server/sonar-web/src/main/js/components/controls/ValidationModal.tsx index d359d8daebf..110bbc84237 100644 --- a/server/sonar-web/src/main/js/components/controls/ValidationModal.tsx +++ b/server/sonar-web/src/main/js/components/controls/ValidationModal.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Modal, { ModalProps } from './Modal'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import Modal, { ModalProps } from 'sonar-ui-common/components/controls/Modal'; import ValidationForm, { ChildrenProps } from './ValidationForm'; -import DeferredSpinner from '../common/DeferredSpinner'; -import { SubmitButton, ResetButtonLink } from '../ui/buttons'; -import { translate } from '../../helpers/l10n'; interface Props<V> extends ModalProps { children: (props: ChildrenProps<V>) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/BoxedGroupAccordion-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/BoxedGroupAccordion-test.tsx index 1685dc728a8..b77c4c5bbcd 100644 --- a/server/sonar-web/src/main/js/components/controls/__tests__/BoxedGroupAccordion-test.tsx +++ b/server/sonar-web/src/main/js/components/controls/__tests__/BoxedGroupAccordion-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import BoxedGroupAccordion from '../BoxedGroupAccordion'; it('should render correctly', () => { diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Checkbox-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Checkbox-test.tsx deleted file mode 100644 index 8353052c830..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Checkbox-test.tsx +++ /dev/null @@ -1,115 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { shallow } from 'enzyme'; -import * as React from 'react'; -import Checkbox from '../Checkbox'; -import { click } from '../../../helpers/testUtils'; - -it('should render', () => { - const checkbox = shallow(<Checkbox checked={true} onCheck={() => {}} title="Title value" />); - expect(checkbox).toMatchSnapshot(); -}); - -it('should render unchecked', () => { - const checkbox = shallow(<Checkbox checked={false} onCheck={() => true} />); - expect(checkbox.is('.icon-checkbox-checked')).toBeFalsy(); - expect(checkbox.prop('aria-checked')).toBe(false); -}); - -it('should render checked', () => { - const checkbox = shallow(<Checkbox checked={true} onCheck={() => true} />); - expect(checkbox.is('.icon-checkbox-checked')).toBeTruthy(); - expect(checkbox.prop('aria-checked')).toBe(true); -}); - -it('should render disabled', () => { - const checkbox = shallow(<Checkbox checked={true} disabled={true} onCheck={() => true} />); - expect(checkbox.is('.icon-checkbox-disabled')).toBeTruthy(); -}); - -it('should render unchecked third state', () => { - const checkbox = shallow(<Checkbox checked={false} onCheck={() => true} thirdState={true} />); - expect(checkbox.is('.icon-checkbox-single')).toBeTruthy(); - expect(checkbox.is('.icon-checkbox-checked')).toBeFalsy(); -}); - -it('should render checked third state', () => { - const checkbox = shallow(<Checkbox checked={true} onCheck={() => true} thirdState={true} />); - expect(checkbox.is('.icon-checkbox-single')).toBeTruthy(); - expect(checkbox.is('.icon-checkbox-checked')).toBeTruthy(); -}); - -it('should render with a spinner', () => { - const checkbox = shallow(<Checkbox checked={false} loading={true} onCheck={() => true} />); - expect(checkbox.find('DeferredSpinner')).toBeTruthy(); -}); - -it('should render children', () => { - const checkbox = shallow( - <Checkbox checked={false} onCheck={() => true}> - <span>foo</span> - </Checkbox> - ); - expect(checkbox.hasClass('link-checkbox')).toBeTruthy(); - expect(checkbox.find('span').exists()).toBeTruthy(); -}); - -it('should render children with a spinner', () => { - const checkbox = shallow( - <Checkbox checked={false} loading={true} onCheck={() => true}> - <span>foo</span> - </Checkbox> - ); - expect(checkbox.hasClass('link-checkbox')).toBeTruthy(); - expect(checkbox.find('span').exists()).toBeTruthy(); - expect(checkbox.find('DeferredSpinner').exists()).toBeTruthy(); -}); - -it('should call onCheck', () => { - const onCheck = jest.fn(); - const checkbox = shallow(<Checkbox checked={false} onCheck={onCheck} />); - click(checkbox); - expect(onCheck).toBeCalledWith(true, undefined); -}); - -it('should not call onCheck when disabled', () => { - const onCheck = jest.fn(); - const checkbox = shallow(<Checkbox checked={false} disabled={true} onCheck={onCheck} />); - click(checkbox); - expect(onCheck).toHaveBeenCalledTimes(0); -}); - -it('should call onCheck with id as second parameter', () => { - const onCheck = jest.fn(); - const checkbox = shallow(<Checkbox checked={false} id="foo" onCheck={onCheck} />); - click(checkbox); - expect(onCheck).toBeCalledWith(true, 'foo'); -}); - -it('should apply custom class', () => { - const checkbox = shallow( - <Checkbox checked={true} className="customclass" onCheck={() => true} /> - ); - expect(checkbox.is('.customclass')).toBeTruthy(); -}); - -it('should render the checkbox on the right', () => { - expect(shallow(<Checkbox checked={true} onCheck={() => true} right={true} />)).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ClipboardButton-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ClipboardButton-test.tsx deleted file mode 100644 index b9bd71c1fca..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ClipboardButton-test.tsx +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow, mount } from 'enzyme'; -import ClipboardButton from '../ClipboardButton'; - -const constructor = jest.fn(); -const destroy = jest.fn(); -const on = jest.fn(); - -jest.mock( - 'clipboard', - () => - function(...args: any) { - constructor(...args); - return { - destroy, - on - }; - } -); - -jest.useFakeTimers(); - -it('should display correctly', () => { - const wrapper = shallowRender(); - expect(wrapper).toMatchSnapshot(); - wrapper.instance().showTooltip(); - wrapper.update(); - expect(wrapper).toMatchSnapshot(); - jest.runAllTimers(); - wrapper.update(); - expect(wrapper).toMatchSnapshot(); -}); - -it('should render a custom label if provided', () => { - expect(shallowRender({ label: 'Foo Bar' })).toMatchSnapshot(); -}); - -it('should allow its content to be copied', () => { - const wrapper = mountRender(); - const button = wrapper.find('button').getDOMNode(); - const instance = wrapper.instance(); - - expect(constructor).toBeCalledWith(button); - expect(on).toBeCalledWith('success', instance.showTooltip); - - jest.clearAllMocks(); - - wrapper.setProps({ label: 'Some new label' }); - expect(destroy).toBeCalled(); - expect(constructor).toBeCalledWith(button); - expect(on).toBeCalledWith('success', instance.showTooltip); - - jest.clearAllMocks(); - - wrapper.unmount(); - expect(destroy).toBeCalled(); -}); - -function shallowRender(props: Partial<ClipboardButton['props']> = {}) { - return shallow<ClipboardButton>(createComponent(props)); -} - -function mountRender(props: Partial<ClipboardButton['props']> = {}) { - return mount<ClipboardButton>(createComponent(props)); -} - -function createComponent(props: Partial<ClipboardButton['props']> = {}) { - return <ClipboardButton copyValue="foo" {...props} />; -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmButton-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmButton-test.tsx deleted file mode 100644 index 2bfe5cf21b4..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmButton-test.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import ConfirmButton from '../ConfirmButton'; - -it('should display a modal button', () => { - expect(shallowRender()).toMatchSnapshot(); -}); - -it('should display a confirm modal', () => { - expect( - shallowRender() - .find('ModalButton') - .prop<Function>('modal')({ onClose: jest.fn() }) - ).toMatchSnapshot(); -}); - -function shallowRender() { - return shallow( - <ConfirmButton - confirmButtonText="submit" - modalBody={<div />} - modalHeader="title" - onConfirm={jest.fn()}> - {() => 'Confirm button'} - </ConfirmButton> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmModal-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmModal-test.tsx deleted file mode 100644 index 35c95c9b138..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ConfirmModal-test.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import ConfirmModal from '../ConfirmModal'; -import { submit, waitAndUpdate } from '../../../helpers/testUtils'; - -it('should render correctly', () => { - const wrapper = shallow( - <ConfirmModal - confirmButtonText="confirm" - confirmData="data" - header="title" - onClose={jest.fn()} - onConfirm={jest.fn()}> - <p>My confirm message</p> - </ConfirmModal> - ); - expect(wrapper).toMatchSnapshot(); - expect(wrapper.find('SimpleModal').dive()).toMatchSnapshot(); -}); - -it('should confirm and close after confirm', async () => { - const onClose = jest.fn(); - const onConfirm = jest.fn(() => Promise.resolve()); - const wrapper = shallow( - <ConfirmModal - confirmButtonText="confirm" - confirmData="data" - header="title" - onClose={onClose} - onConfirm={onConfirm}> - <p>My confirm message</p> - </ConfirmModal> - ); - const modalContent = wrapper.find('SimpleModal').dive(); - submit(modalContent.find('form')); - expect(onConfirm).toBeCalledWith('data'); - expect(modalContent.find('footer')).toMatchSnapshot(); - - await waitAndUpdate(wrapper); - expect(onClose).toHaveBeenCalled(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/DateInput-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/DateInput-test.tsx index 714ea80472d..40d91a5a211 100644 --- a/server/sonar-web/src/main/js/components/controls/__tests__/DateInput-test.tsx +++ b/server/sonar-web/src/main/js/components/controls/__tests__/DateInput-test.tsx @@ -24,10 +24,10 @@ import * as setMonth from 'date-fns/set_month'; import * as setYear from 'date-fns/set_year'; import * as subDays from 'date-fns/sub_days'; import * as subMonths from 'date-fns/sub_months'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import DateInput from '../DateInput'; -import { parseDate } from '../../../helpers/dates'; -jest.mock('../../lazyLoad', () => ({ +jest.mock('sonar-ui-common/components/lazyLoad', () => ({ lazyLoad: () => { return function DayPicker() { return null; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/DateRangeInput-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/DateRangeInput-test.tsx index f4fd73a2bd7..f033c841e61 100644 --- a/server/sonar-web/src/main/js/components/controls/__tests__/DateRangeInput-test.tsx +++ b/server/sonar-web/src/main/js/components/controls/__tests__/DateRangeInput-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import DateRangeInput from '../DateRangeInput'; -import { parseDate } from '../../../helpers/dates'; const dateA = parseDate('2018-01-17T00:00:00.000Z'); const dateB = parseDate('2018-02-05T00:00:00.000Z'); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Dropdown-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Dropdown-test.tsx deleted file mode 100644 index d7bf484d7f9..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Dropdown-test.tsx +++ /dev/null @@ -1,109 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow, mount, ShallowWrapper } from 'enzyme'; -import Dropdown, { DropdownOverlay } from '../Dropdown'; -import { Button } from '../../ui/buttons'; -import { click } from '../../../helpers/testUtils'; -import { PopupPlacement } from '../../ui/popups'; - -describe('Dropdown', () => { - it('renders', () => { - expect( - shallow(<Dropdown overlay={<div id="overlay" />}>{() => <div />}</Dropdown>) - .find('div') - .exists() - ).toBeTruthy(); - }); - - it('toggles with element child', () => { - checkToggle( - shallow( - <Dropdown overlay={<div id="overlay" />}> - <Button /> - </Dropdown> - ) - ); - - checkToggle( - shallow( - <Dropdown overlay={<div id="overlay" />}> - <a href="#">click me!</a> - </Dropdown> - ), - 'a' - ); - }); - - it('toggles with render prop', () => { - checkToggle( - shallow( - <Dropdown overlay={<div id="overlay" />}> - {({ onToggleClick }) => <Button onClick={onToggleClick} />} - </Dropdown> - ) - ); - }); - - it('should call onOpen', () => { - const onOpen = jest.fn(); - const wrapper = mount( - <Dropdown onOpen={onOpen} overlay={<div id="overlay" />}> - <Button /> - </Dropdown> - ); - expect(onOpen).not.toBeCalled(); - click(wrapper.find('Button')); - expect(onOpen).toBeCalled(); - }); - - function checkToggle(wrapper: ShallowWrapper, selector = 'Button') { - expect(wrapper.state()).toEqual({ open: false }); - - click(wrapper.find(selector)); - expect(wrapper.state()).toEqual({ open: true }); - - click(wrapper.find(selector)); - expect(wrapper.state()).toEqual({ open: false }); - } -}); - -describe('DropdownOverlay', () => { - it('should render overlay with screen fixer', () => { - const wrapper = shallow( - <DropdownOverlay> - <div /> - </DropdownOverlay>, - // disable ScreenPositionFixer positioning - { disableLifecycleMethods: true } - ); - expect(wrapper.is('ScreenPositionFixer')).toBe(true); - expect(wrapper.dive().is('Popup')).toBe(true); - }); - - it('should render overlay without screen fixer', () => { - const wrapper = shallow( - <DropdownOverlay placement={PopupPlacement.BottomRight}> - <div /> - </DropdownOverlay> - ); - expect(wrapper.is('Popup')).toBe(true); - }); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/FavoriteBase-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/FavoriteBase-test.tsx deleted file mode 100644 index 7368291c8c7..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/FavoriteBase-test.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import FavoriteBase, { Props } from '../FavoriteBase'; -import { click } from '../../../helpers/testUtils'; - -it('should render favorite', () => { - const favorite = renderFavoriteBase({ favorite: true }); - expect(favorite).toMatchSnapshot(); -}); - -it('should render not favorite', () => { - const favorite = renderFavoriteBase({ favorite: false }); - expect(favorite).toMatchSnapshot(); -}); - -it('should add favorite', () => { - const addFavorite = jest.fn(() => Promise.resolve()); - const favorite = renderFavoriteBase({ favorite: false, addFavorite }); - click(favorite.find('ButtonLink')); - expect(addFavorite).toBeCalled(); -}); - -it('should remove favorite', () => { - const removeFavorite = jest.fn(() => Promise.resolve()); - const favorite = renderFavoriteBase({ favorite: true, removeFavorite }); - click(favorite.find('ButtonLink')); - expect(removeFavorite).toBeCalled(); -}); - -function renderFavoriteBase(props: Partial<Props> = {}) { - return shallow( - <FavoriteBase - addFavorite={jest.fn()} - favorite={true} - qualifier="TRK" - removeFavorite={jest.fn()} - {...props} - /> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/GlobalMessages-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/GlobalMessages-test.tsx deleted file mode 100644 index f4632492e35..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/GlobalMessages-test.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import GlobalMessages, { Props } from '../GlobalMessages'; - -it('should not render when no message', () => { - expect(shallowRender({ messages: [] }).type()).toBeNull(); -}); - -it('should render correctly with a message', () => { - const wrapper = shallowRender(); - expect(wrapper).toMatchSnapshot(); - expect( - wrapper - .find('GlobalMessage') - .first() - .dive() - ).toMatchSnapshot(); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow( - <GlobalMessages - closeGlobalMessage={jest.fn()} - messages={[ - { id: '1', level: 'ERROR', message: 'Test' }, - { id: '2', level: 'ERROR', message: 'Test 2' } - ]} - {...props} - /> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/HomePageSelect-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/HomePageSelect-test.tsx index 899985011e2..b5e563f08ed 100644 --- a/server/sonar-web/src/main/js/components/controls/__tests__/HomePageSelect-test.tsx +++ b/server/sonar-web/src/main/js/components/controls/__tests__/HomePageSelect-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import HomePageSelect from '../HomePageSelect'; import { setHomePage } from '../../../api/users'; -import { click } from '../../../helpers/testUtils'; import rootReducer, { getCurrentUser, Store } from '../../../store/rootReducer'; import configureStore from '../../../store/utils/configureStore'; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/InputValidationField-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/InputValidationField-test.tsx deleted file mode 100644 index 594f01d8373..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/InputValidationField-test.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import InputValidationField from '../InputValidationField'; - -it('should render correctly', () => { - expect(getWrapper()).toMatchSnapshot(); -}); - -function getWrapper(props = {}) { - return shallow( - <InputValidationField - description="Field description" - dirty={true} - disabled={false} - error="Bad formatting" - label="Foo field" - name="field" - onBlur={jest.fn()} - onChange={jest.fn()} - touched={true} - value="foo" - {...props} - /> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ListFooter-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ListFooter-test.tsx deleted file mode 100644 index 901cfb75637..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ListFooter-test.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import ListFooter, { Props } from '../ListFooter'; -import { click } from '../../../helpers/testUtils'; - -it('should render "3 of 5 shown"', () => { - const listFooter = shallowRender(); - expect(listFooter.text()).toContain('x_of_y_shown.3.5'); - expect(listFooter).toMatchSnapshot(); -}); - -it('should not render "show more"', () => { - const listFooter = shallowRender({ loadMore: undefined }); - expect(listFooter.find('a').length).toBe(0); -}); - -it('should not render "show more"', () => { - const listFooter = shallowRender({ count: 5 }); - expect(listFooter.find('a').length).toBe(0); -}); - -it('should "show more"', () => { - const loadMore = jest.fn(); - const listFooter = shallowRender({ loadMore }); - const link = listFooter.find('a'); - expect(link.length).toBe(1); - click(link); - expect(loadMore).toBeCalled(); -}); - -it('should render "reload" properly', () => { - const listFooter = shallowRender({ needReload: true }); - expect(listFooter).toMatchSnapshot(); - - const reload = jest.fn(); - - listFooter.setProps({ reload }); - expect(listFooter).toMatchSnapshot(); - - const link = listFooter.find('a'); - expect(link.length).toBe(1); - - click(link); - expect(reload).toBeCalled(); -}); - -it('should display spinner while loading', () => { - expect( - shallowRender({ loading: true }) - .find('DeferredSpinner') - .exists() - ).toBe(true); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow(<ListFooter count={3} loadMore={jest.fn()} total={5} {...props} />); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ModalButton-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ModalButton-test.tsx deleted file mode 100644 index 0fde228795c..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ModalButton-test.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import ModalButton from '../ModalButton'; -import { click } from '../../../helpers/testUtils'; - -it('should open/close modal', () => { - const wrapper = shallow( - <ModalButton modal={({ onClose }) => <button id="js-close" onClick={onClose} type="button" />}> - {({ onClick }) => <button id="js-open" onClick={onClick} type="button" />} - </ModalButton> - ); - - expect(wrapper.find('#js-open').exists()).toBeTruthy(); - expect(wrapper.find('#js-close').exists()).toBeFalsy(); - click(wrapper.find('#js-open')); - expect(wrapper.find('#js-close').exists()).toBeTruthy(); - click(wrapper.find('#js-close')); - expect(wrapper.find('#js-close').exists()).toBeFalsy(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ModalValidationField-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ModalValidationField-test.tsx deleted file mode 100644 index 4dec371480e..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ModalValidationField-test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import ModalValidationField from '../ModalValidationField'; - -it('should display the field without any error/validation', () => { - expect(getWrapper({ description: 'Describe Foo.', touched: false })).toMatchSnapshot(); - expect(getWrapper({ dirty: false })).toMatchSnapshot(); -}); - -it('should display the field as valid', () => { - expect(getWrapper({ error: undefined })).toMatchSnapshot(); -}); - -it('should display the field with an error', () => { - expect(getWrapper()).toMatchSnapshot(); -}); - -function getWrapper(props = {}) { - return shallow( - <ModalValidationField - dirty={true} - error="Is required" - label={<label>Foo</label>} - touched={true} - {...props}> - {({ className }) => <input className={className} type="text" />} - </ModalValidationField> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Radio-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Radio-test.tsx deleted file mode 100644 index a0f9eabdc8d..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Radio-test.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Radio from '../Radio'; -import { click } from '../../../helpers/testUtils'; - -it('should render and check', () => { - const onCheck = jest.fn(); - const value = 'value'; - const wrapper = shallow(<Radio checked={false} onCheck={onCheck} value={value} />); - expect(wrapper).toMatchSnapshot(); - - click(wrapper); - expect(onCheck).toBeCalledWith(value); - wrapper.setProps({ checked: true }); - expect(wrapper).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/RadioCard-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/RadioCard-test.tsx deleted file mode 100644 index da11ea3458c..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/RadioCard-test.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import RadioCard from '../RadioCard'; -import { click } from '../../../helpers/testUtils'; - -it('should render correctly', () => { - expect( - shallow( - <RadioCard recommended="Recommended for you" title="Radio Card" titleInfo="info"> - <div>content</div> - </RadioCard> - ) - ).toMatchSnapshot(); -}); - -it('should be actionable', () => { - const onClick = jest.fn(); - const wrapper = shallow( - <RadioCard onClick={onClick} title="Radio Card"> - <div>content</div> - </RadioCard> - ); - - expect(wrapper).toMatchSnapshot(); - click(wrapper); - wrapper.setProps({ selected: true, titleInfo: 'info' }); - expect(wrapper).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/RadioToggle-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/RadioToggle-test.tsx deleted file mode 100644 index 18355b3c0f5..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/RadioToggle-test.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import RadioToggle from '../RadioToggle'; -import { change } from '../../../helpers/testUtils'; - -it('renders', () => { - expect(shallow(getSample())).toMatchSnapshot(); -}); - -it('calls onCheck', () => { - const onCheck = jest.fn(); - const wrapper = shallow(getSample({ onCheck })); - change(wrapper.find('input[value="two"]'), 'two'); - expect(onCheck).toBeCalledWith('two'); -}); - -it('accepts advanced options fields', () => { - expect( - shallow( - getSample({ - options: [ - { value: 'one', label: 'first', tooltip: 'foo' }, - { value: 'two', label: 'second', tooltip: 'bar', disabled: true } - ] - }) - ) - ).toMatchSnapshot(); -}); - -function getSample(props?: any) { - const options = [{ value: 'one', label: 'first' }, { value: 'two', label: 'second' }]; - return <RadioToggle name="sample" onCheck={() => true} options={options} {...props} />; -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/ScreenPositionFixer-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/ScreenPositionFixer-test.tsx deleted file mode 100644 index 9c97be57921..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/ScreenPositionFixer-test.tsx +++ /dev/null @@ -1,89 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { mount } from 'enzyme'; -import ScreenPositionFixer from '../ScreenPositionFixer'; -import { resizeWindowTo, setNodeRect } from '../../../helpers/testUtils'; - -jest.mock('lodash', () => { - const lodash = require.requireActual('lodash'); - lodash.throttle = (fn: any) => () => fn(); - return lodash; -}); - -jest.mock('react-dom', () => ({ - findDOMNode: jest.fn() -})); - -beforeEach(() => { - setNodeRect({ left: 50, top: 50 }); - resizeWindowTo(1000, 1000); -}); - -it('should fix position', () => { - const renderer = jest.fn(() => <div />); - mount(<ScreenPositionFixer>{renderer}</ScreenPositionFixer>); - - setNodeRect({ left: 50, top: 50 }); - resizeWindowTo(75, 1000); - expect(renderer).toHaveBeenLastCalledWith({ leftFix: -29, topFix: 0 }); - - resizeWindowTo(1000, 75); - expect(renderer).toHaveBeenLastCalledWith({ leftFix: 0, topFix: -29 }); - - setNodeRect({ left: -10, top: 50 }); - resizeWindowTo(1000, 1000); - expect(renderer).toHaveBeenLastCalledWith({ leftFix: 14, topFix: 0 }); - - setNodeRect({ left: 50, top: -10 }); - resizeWindowTo(); - expect(renderer).toHaveBeenLastCalledWith({ leftFix: 0, topFix: 14 }); -}); - -it('should render two times', () => { - const renderer = jest.fn(() => <div />); - mount(<ScreenPositionFixer>{renderer}</ScreenPositionFixer>); - expect(renderer).toHaveBeenCalledTimes(2); - expect(renderer).toHaveBeenCalledWith({}); - expect(renderer).toHaveBeenLastCalledWith({ leftFix: 0, topFix: 0 }); -}); - -it('should re-position when `ready` turns to `true`', () => { - const renderer = jest.fn(() => <div />); - const wrapper = mount(<ScreenPositionFixer ready={false}>{renderer}</ScreenPositionFixer>); - expect(renderer).toHaveBeenCalledTimes(2); - wrapper.setProps({ ready: true }); - // 2 + 1 (props change) + 1 (new measurement) - expect(renderer).toHaveBeenCalledTimes(4); -}); - -it('should re-position when window is resized', () => { - const renderer = jest.fn(() => <div />); - const wrapper = mount(<ScreenPositionFixer>{renderer}</ScreenPositionFixer>); - expect(renderer).toHaveBeenCalledTimes(2); - - resizeWindowTo(); - // 2 + 1 (new measurement) - expect(renderer).toHaveBeenCalledTimes(3); - - wrapper.unmount(); - resizeWindowTo(); - expect(renderer).toHaveBeenCalledTimes(3); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/SearchBox-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/SearchBox-test.tsx deleted file mode 100644 index 940def409b0..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/SearchBox-test.tsx +++ /dev/null @@ -1,84 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow, mount } from 'enzyme'; -import SearchBox from '../SearchBox'; -import { click, change } from '../../../helpers/testUtils'; - -jest.mock('lodash', () => { - const lodash = require.requireActual('lodash'); - const debounce = (fn: Function) => { - const debounced: any = (...args: any[]) => fn(...args); - debounced.cancel = jest.fn(); - return debounced; - }; - return Object.assign({}, lodash, { debounce }); -}); - -it('renders', () => { - const wrapper = shallow( - <SearchBox minLength={2} onChange={jest.fn()} placeholder="placeholder" value="foo" /> - ); - expect(wrapper).toMatchSnapshot(); -}); - -it('warns when input is too short', () => { - const wrapper = shallow( - <SearchBox minLength={2} onChange={jest.fn()} placeholder="placeholder" value="f" /> - ); - expect(wrapper.find('.search-box-note').exists()).toBeTruthy(); -}); - -it('shows clear button only when there is a value', () => { - const wrapper = shallow(<SearchBox onChange={jest.fn()} placeholder="placeholder" value="f" />); - expect(wrapper.find('.search-box-clear').exists()).toBeTruthy(); - wrapper.setProps({ value: '' }); - expect(wrapper.find('.search-box-clear').exists()).toBeFalsy(); -}); - -it('attaches ref', () => { - const ref = jest.fn(); - mount(<SearchBox innerRef={ref} onChange={jest.fn()} placeholder="placeholder" value="f" />); - expect(ref).toBeCalled(); - expect(ref.mock.calls[0][0]).toBeInstanceOf(HTMLInputElement); -}); - -it('resets', () => { - const onChange = jest.fn(); - const wrapper = shallow(<SearchBox onChange={onChange} placeholder="placeholder" value="f" />); - click(wrapper.find('.search-box-clear')); - expect(onChange).toBeCalledWith(''); -}); - -it('changes', () => { - const onChange = jest.fn(); - const wrapper = shallow(<SearchBox onChange={onChange} placeholder="placeholder" value="f" />); - change(wrapper.find('.search-box-input'), 'foo'); - expect(onChange).toBeCalledWith('foo'); -}); - -it('does not change when value is too short', () => { - const onChange = jest.fn(); - const wrapper = shallow( - <SearchBox minLength={3} onChange={onChange} placeholder="placeholder" value="" /> - ); - change(wrapper.find('.search-box-input'), 'fo'); - expect(onChange).not.toBeCalled(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/SimpleModal-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/SimpleModal-test.tsx deleted file mode 100644 index 36fa5e1093a..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/SimpleModal-test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import SimpleModal, { ChildrenProps } from '../SimpleModal'; -import { Button } from '../../ui/buttons'; -import { click, waitAndUpdate } from '../../../helpers/testUtils'; - -it('renders', () => { - const inner = () => <div />; - expect( - shallow( - <SimpleModal header="" onClose={jest.fn()} onSubmit={jest.fn()}> - {inner} - </SimpleModal> - ) - ).toMatchSnapshot(); -}); - -it('closes', () => { - const onClose = jest.fn(); - const inner = ({ onCloseClick }: ChildrenProps) => <Button onClick={onCloseClick}>close</Button>; - const wrapper = shallow( - <SimpleModal header="" onClose={onClose} onSubmit={jest.fn()}> - {inner} - </SimpleModal> - ); - click(wrapper.find('Button')); - expect(onClose).toBeCalled(); -}); - -it('submits', async () => { - const onSubmit = jest.fn(() => Promise.resolve()); - const inner = ({ onSubmitClick, submitting }: ChildrenProps) => ( - <Button disabled={submitting} onClick={onSubmitClick}> - close - </Button> - ); - const wrapper = shallow( - <SimpleModal header="" onClose={jest.fn()} onSubmit={onSubmit}> - {inner} - </SimpleModal> - ); - (wrapper.instance() as SimpleModal).mounted = true; - expect(wrapper).toMatchSnapshot(); - - click(wrapper.find('Button')); - expect(onSubmit).toBeCalled(); - expect(wrapper).toMatchSnapshot(); - - await waitAndUpdate(wrapper); - expect(wrapper).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Tabs-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Tabs-test.tsx deleted file mode 100644 index 89ca62b4345..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Tabs-test.tsx +++ /dev/null @@ -1,75 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Tabs, { Tab } from '../Tabs'; -import { click } from '../../../helpers/testUtils'; - -it('should render correctly', () => { - const wrapper = shallow( - <Tabs - onChange={jest.fn()} - selected={'bar'} - tabs={[{ key: 'foo', node: 'Foo' }, { key: 'bar', node: 'Bar' }]} - /> - ); - - expect(wrapper).toMatchSnapshot(); -}); - -it('should switch tabs', () => { - const onChange = jest.fn(); - const wrapper = shallow( - <Tabs - onChange={onChange} - selected={'bar'} - tabs={[{ key: 'foo', node: 'Foo' }, { key: 'bar', node: 'Bar' }]} - /> - ); - - click(shallow(wrapper.find('Tab').get(0)).find('.js-foo')); - expect(onChange).toBeCalledWith('foo'); - click(shallow(wrapper.find('Tab').get(1)).find('.js-bar')); - expect(onChange).toBeCalledWith('bar'); -}); - -it('should render single tab correctly', () => { - const onSelect = jest.fn(); - const wrapper = shallow( - <Tab name="foo" onSelect={onSelect} selected={true}> - <span>Foo</span> - </Tab> - ); - expect(wrapper).toMatchSnapshot(); - click(wrapper.find('a')); - expect(onSelect).toBeCalledWith('foo'); -}); - -it('should disable single tab', () => { - const onSelect = jest.fn(); - const wrapper = shallow( - <Tab disabled={true} name="foo" onSelect={onSelect} selected={true}> - <span>Foo</span> - </Tab> - ); - expect(wrapper).toMatchSnapshot(); - click(wrapper.find('a')); - expect(onSelect).not.toBeCalled(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Toggle-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Toggle-test.tsx deleted file mode 100644 index 4f805453025..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Toggle-test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Toggle, { Props } from '../Toggle'; -import { click } from '../../../helpers/testUtils'; - -it('should render', () => { - const Toggle = shallowRender(); - expect(Toggle.is('Button')).toBe(true); -}); - -it('should call onChange', () => { - const onChange = jest.fn(); - const Toggle = shallowRender({ onChange }); - click(Toggle); - expect(onChange).toBeCalledWith(false); -}); - -function shallowRender(props?: Partial<Props>) { - return shallow(<Toggle onChange={() => true} value={true} {...props} />); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Toggler-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Toggler-test.tsx deleted file mode 100644 index a0f747c51c6..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Toggler-test.tsx +++ /dev/null @@ -1,71 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Toggler, { Props } from '../Toggler'; -import { keydown } from '../../../helpers/testUtils'; - -it('should render only children', () => { - expect(shallowRender({ open: false })).toMatchSnapshot(); -}); - -it('should render children and overlay', () => { - expect(shallowRender()).toMatchSnapshot(); -}); - -it('should render when closeOnClick=true', () => { - expect(shallowRender({ closeOnClick: true })).toMatchSnapshot(); -}); - -it('should not render click wrappers', () => { - expect(shallowRender({ closeOnClick: false, closeOnClickOutside: false })).toMatchSnapshot(); -}); - -it('should close on escape', () => { - const onRequestClose = jest.fn(); - const wrapper = shallowRender({ - closeOnClick: false, - closeOnClickOutside: false, - onRequestClose - }); - keydown(27); - expect(onRequestClose).toHaveBeenCalledTimes(1); - - wrapper.setProps({ closeOnEscape: false }); - keydown(27); - expect(onRequestClose).toHaveBeenCalledTimes(1); - - wrapper.setProps({ open: false }); - wrapper.setProps({ closeOnEscape: true, open: true }); - keydown(27); - expect(onRequestClose).toHaveBeenCalledTimes(2); - - wrapper.unmount(); - keydown(27); - expect(onRequestClose).toHaveBeenCalledTimes(2); -}); - -function shallowRender(props?: Partial<Props>) { - return shallow( - <Toggler onRequestClose={jest.fn()} open={true} overlay={<div id="overlay" />} {...props}> - <div id="toggle" /> - </Toggler> - ); -} diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/Tooltip-test.tsx b/server/sonar-web/src/main/js/components/controls/__tests__/Tooltip-test.tsx deleted file mode 100644 index 46ef24037ea..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/Tooltip-test.tsx +++ /dev/null @@ -1,112 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Tooltip, { TooltipInner } from '../Tooltip'; - -jest.useFakeTimers(); -jest.mock('react-dom', () => { - const actual = require.requireActual('react-dom'); - return Object.assign({}, actual, { - findDOMNode: () => undefined - }); -}); - -it('should render', () => { - expect( - shallow( - <TooltipInner overlay={<span id="overlay" />} visible={false}> - <div id="tooltip" /> - </TooltipInner> - ) - ).toMatchSnapshot(); - expect( - shallow( - <TooltipInner overlay={<span id="overlay" />} visible={true}> - <div id="tooltip" /> - </TooltipInner>, - { disableLifecycleMethods: true } - ) - ).toMatchSnapshot(); -}); - -it('should open & close', () => { - const onShow = jest.fn(); - const onHide = jest.fn(); - const wrapper = shallow( - <TooltipInner onHide={onHide} onShow={onShow} overlay={<span id="overlay" />}> - <div id="tooltip" /> - </TooltipInner> - ); - wrapper.find('#tooltip').simulate('mouseenter'); - jest.runOnlyPendingTimers(); - wrapper.update(); - expect(wrapper.find('TooltipPortal').exists()).toBe(true); - expect(onShow).toBeCalled(); - - wrapper.find('#tooltip').simulate('mouseleave'); - jest.runOnlyPendingTimers(); - wrapper.update(); - expect(wrapper.find('TooltipPortal').exists()).toBe(false); - expect(onHide).toBeCalled(); -}); - -it('should not open when mouse goes away quickly', () => { - const onShow = jest.fn(); - const onHide = jest.fn(); - const wrapper = shallow( - <TooltipInner onHide={onHide} onShow={onShow} overlay={<span id="overlay" />}> - <div id="tooltip" /> - </TooltipInner> - ); - - wrapper.find('#tooltip').simulate('mouseenter'); - wrapper.find('#tooltip').simulate('mouseleave'); - jest.runOnlyPendingTimers(); - wrapper.update(); - - expect(wrapper.find('TooltipPortal').exists()).toBe(false); -}); - -it('should not render tooltip without overlay', () => { - const wrapper = shallow( - <Tooltip overlay={undefined}> - <div id="tooltip" /> - </Tooltip> - ); - expect(wrapper.type()).toBe('div'); -}); - -it('should not render empty tooltips', () => { - expect( - shallow( - <Tooltip overlay={undefined} visible={true}> - <div id="tooltip" /> - </Tooltip> - ) - ).toMatchSnapshot(); - expect( - shallow( - <Tooltip overlay="" visible={true}> - <div id="tooltip" /> - </Tooltip> - ) - ).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Checkbox-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Checkbox-test.tsx.snap deleted file mode 100644 index 69c0c60af8c..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Checkbox-test.tsx.snap +++ /dev/null @@ -1,22 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render 1`] = ` -<a - aria-checked={true} - className="icon-checkbox icon-checkbox-checked" - href="#" - onClick={[Function]} - role="checkbox" - title="Title value" -/> -`; - -exports[`should render the checkbox on the right 1`] = ` -<a - aria-checked={true} - className="icon-checkbox icon-checkbox-checked" - href="#" - onClick={[Function]} - role="checkbox" -/> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ClipboardButton-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ClipboardButton-test.tsx.snap deleted file mode 100644 index 3c0c80d0958..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ClipboardButton-test.tsx.snap +++ /dev/null @@ -1,61 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should display correctly 1`] = ` -<Tooltip - overlay="copied_action" - visible={false} -> - <Button - className="no-select" - data-clipboard-text="foo" - innerRef={[Function]} - > - copy - </Button> -</Tooltip> -`; - -exports[`should display correctly 2`] = ` -<Tooltip - overlay="copied_action" - visible={true} -> - <Button - className="no-select" - data-clipboard-text="foo" - innerRef={[Function]} - > - copy - </Button> -</Tooltip> -`; - -exports[`should display correctly 3`] = ` -<Tooltip - overlay="copied_action" - visible={false} -> - <Button - className="no-select" - data-clipboard-text="foo" - innerRef={[Function]} - > - copy - </Button> -</Tooltip> -`; - -exports[`should render a custom label if provided 1`] = ` -<Tooltip - overlay="copied_action" - visible={false} -> - <Button - className="no-select" - data-clipboard-text="foo" - innerRef={[Function]} - > - Foo Bar - </Button> -</Tooltip> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmButton-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmButton-test.tsx.snap deleted file mode 100644 index f94c3829503..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmButton-test.tsx.snap +++ /dev/null @@ -1,20 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should display a confirm modal 1`] = ` -<ConfirmModal - confirmButtonText="submit" - header="title" - onClose={[MockFunction]} - onConfirm={[MockFunction]} -> - <div /> -</ConfirmModal> -`; - -exports[`should display a modal button 1`] = ` -<ModalButton - modal={[Function]} -> - <Component /> -</ModalButton> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmModal-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmModal-test.tsx.snap deleted file mode 100644 index 709b6ecd2a5..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ConfirmModal-test.tsx.snap +++ /dev/null @@ -1,81 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should confirm and close after confirm 1`] = ` -<footer - className="modal-foot" -> - <DeferredSpinner - className="spacer-right" - loading={true} - timeout={100} - /> - <SubmitButton - autoFocus={true} - disabled={true} - > - confirm - </SubmitButton> - <ResetButtonLink - disabled={true} - onClick={[Function]} - > - cancel - </ResetButtonLink> -</footer> -`; - -exports[`should render correctly 1`] = ` -<SimpleModal - header="title" - onClose={[MockFunction]} - onSubmit={[Function]} -> - <Component /> -</SimpleModal> -`; - -exports[`should render correctly 2`] = ` -<Modal - contentLabel="title" - onRequestClose={[MockFunction]} -> - <form - onSubmit={[Function]} - > - <header - className="modal-head" - > - <h2> - title - </h2> - </header> - <div - className="modal-body" - > - <p> - My confirm message - </p> - </div> - <footer - className="modal-foot" - > - <DeferredSpinner - className="spacer-right" - loading={false} - timeout={100} - /> - <SubmitButton - autoFocus={true} - > - confirm - </SubmitButton> - <ResetButtonLink - disabled={false} - onClick={[Function]} - > - cancel - </ResetButtonLink> - </footer> - </form> -</Modal> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/FavoriteBase-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/FavoriteBase-test.tsx.snap deleted file mode 100644 index 22815684de0..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/FavoriteBase-test.tsx.snap +++ /dev/null @@ -1,33 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render favorite 1`] = ` -<Tooltip - overlay="favorite.current.TRK" -> - <ButtonLink - aria-label="favorite.action.remove" - className="favorite-link link-no-underline" - onClick={[Function]} - > - <FavoriteIcon - favorite={true} - /> - </ButtonLink> -</Tooltip> -`; - -exports[`should render not favorite 1`] = ` -<Tooltip - overlay="favorite.check.TRK" -> - <ButtonLink - aria-label="favorite.action.add" - className="favorite-link link-no-underline" - onClick={[Function]} - > - <FavoriteIcon - favorite={false} - /> - </ButtonLink> -</Tooltip> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/GlobalMessages-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/GlobalMessages-test.tsx.snap deleted file mode 100644 index cf1235d7cd2..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/GlobalMessages-test.tsx.snap +++ /dev/null @@ -1,44 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly with a message 1`] = ` -<div - className="processes-container" -> - <GlobalMessage - closeGlobalMessage={[MockFunction]} - key="1" - message={ - Object { - "id": "1", - "level": "ERROR", - "message": "Test", - } - } - /> - <GlobalMessage - closeGlobalMessage={[MockFunction]} - key="2" - message={ - Object { - "id": "2", - "level": "ERROR", - "message": "Test 2", - } - } - /> -</div> -`; - -exports[`should render correctly with a message 2`] = ` -<div - className="process-spinner shown process-spinner-failed" - key="1" -> - Test - <ClearButton - className="button-small process-spinner-close" - color="#fff" - onClick={[Function]} - /> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/InputValidationField-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/InputValidationField-test.tsx.snap deleted file mode 100644 index 16f3e1c2dfa..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/InputValidationField-test.tsx.snap +++ /dev/null @@ -1,13 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<ModalValidationField - description="Field description" - dirty={true} - error="Bad formatting" - label="Foo field" - touched={true} -> - <Component /> -</ModalValidationField> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ListFooter-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ListFooter-test.tsx.snap deleted file mode 100644 index c2aa7f064fe..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ListFooter-test.tsx.snap +++ /dev/null @@ -1,46 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render "3 of 5 shown" 1`] = ` -<footer - className="spacer-top note text-center" -> - x_of_y_shown.3.5 - <a - className="spacer-left" - href="#" - onClick={[Function]} - > - show_more - </a> -</footer> -`; - -exports[`should render "reload" properly 1`] = ` -<footer - className="spacer-top note text-center" -> - x_of_y_shown.3.5 - <a - className="spacer-left" - href="#" - onClick={[Function]} - > - show_more - </a> -</footer> -`; - -exports[`should render "reload" properly 2`] = ` -<footer - className="spacer-top note text-center" -> - x_of_y_shown.3.5 - <a - className="spacer-left" - href="#" - onClick={[Function]} - > - reload - </a> -</footer> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ModalValidationField-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ModalValidationField-test.tsx.snap deleted file mode 100644 index 4b4e605c0ad..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/ModalValidationField-test.tsx.snap +++ /dev/null @@ -1,73 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should display the field as valid 1`] = ` -<div - className="modal-validation-field" -> - <label> - Foo - </label> - <input - className="is-valid" - type="text" - /> - <AlertSuccessIcon - className="little-spacer-top" - /> -</div> -`; - -exports[`should display the field with an error 1`] = ` -<div - className="modal-validation-field" -> - <label> - Foo - </label> - <input - className="is-invalid" - type="text" - /> - <AlertErrorIcon - className="little-spacer-top" - /> - <p - className="text-danger" - > - Is required - </p> -</div> -`; - -exports[`should display the field without any error/validation 1`] = ` -<div - className="modal-validation-field" -> - <label> - Foo - </label> - <input - className="" - type="text" - /> - <div - className="modal-field-description" - > - Describe Foo. - </div> -</div> -`; - -exports[`should display the field without any error/validation 2`] = ` -<div - className="modal-validation-field" -> - <label> - Foo - </label> - <input - className="" - type="text" - /> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Radio-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Radio-test.tsx.snap deleted file mode 100644 index cd6bc65b080..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Radio-test.tsx.snap +++ /dev/null @@ -1,29 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render and check 1`] = ` -<a - aria-checked={false} - className="display-inline-flex-center link-checkbox" - href="#" - onClick={[Function]} - role="radio" -> - <i - className="icon-radio spacer-right" - /> -</a> -`; - -exports[`should render and check 2`] = ` -<a - aria-checked={true} - className="display-inline-flex-center link-checkbox" - href="#" - onClick={[Function]} - role="radio" -> - <i - className="icon-radio spacer-right is-checked" - /> -</a> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioCard-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioCard-test.tsx.snap deleted file mode 100644 index 3013f367162..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioCard-test.tsx.snap +++ /dev/null @@ -1,128 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should be actionable 1`] = ` -<div - className="radio-card radio-card-actionable" - onClick={[MockFunction]} - role="radio" - tabIndex={0} -> - <h2 - className="radio-card-header big-spacer-bottom" - > - <span - className="display-flex-center" - > - <i - className="icon-radio spacer-right" - /> - Radio Card - </span> - </h2> - <div - className="radio-card-body" - > - <div> - content - </div> - </div> -</div> -`; - -exports[`should be actionable 2`] = ` -<div - aria-checked={true} - className="radio-card radio-card-actionable selected" - onClick={ - [MockFunction] { - "calls": Array [ - Array [ - Object { - "currentTarget": Object { - "blur": [Function], - }, - "preventDefault": [Function], - "stopPropagation": [Function], - "target": Object { - "blur": [Function], - }, - }, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": undefined, - }, - ], - } - } - role="radio" - tabIndex={0} -> - <h2 - className="radio-card-header big-spacer-bottom" - > - <span - className="display-flex-center" - > - <i - className="icon-radio spacer-right is-checked" - /> - Radio Card - </span> - info - </h2> - <div - className="radio-card-body" - > - <div> - content - </div> - </div> -</div> -`; - -exports[`should render correctly 1`] = ` -<div - className="radio-card" - role="radio" - tabIndex={0} -> - <h2 - className="radio-card-header big-spacer-bottom" - > - <span - className="display-flex-center" - > - Radio Card - </span> - info - </h2> - <div - className="radio-card-body" - > - <div> - content - </div> - </div> - <div - className="radio-card-recommended" - > - <RecommendedIcon - className="spacer-right" - /> - <FormattedMessage - defaultMessage="Recommended for you" - id="Recommended for you" - values={ - Object { - "recommended": <strong> - recommended - </strong>, - } - } - /> - </div> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioToggle-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioToggle-test.tsx.snap deleted file mode 100644 index bfc31e1a9e6..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/RadioToggle-test.tsx.snap +++ /dev/null @@ -1,96 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`accepts advanced options fields 1`] = ` -<ul - className="radio-toggle" -> - <li - key="one" - > - <input - checked={false} - id="sample__one" - name="sample" - onChange={[Function]} - type="radio" - value="one" - /> - <Tooltip - overlay="foo" - > - <label - htmlFor="sample__one" - > - first - </label> - </Tooltip> - </li> - <li - key="two" - > - <input - checked={false} - disabled={true} - id="sample__two" - name="sample" - onChange={[Function]} - type="radio" - value="two" - /> - <Tooltip - overlay="bar" - > - <label - htmlFor="sample__two" - > - second - </label> - </Tooltip> - </li> -</ul> -`; - -exports[`renders 1`] = ` -<ul - className="radio-toggle" -> - <li - key="one" - > - <input - checked={false} - id="sample__one" - name="sample" - onChange={[Function]} - type="radio" - value="one" - /> - <Tooltip> - <label - htmlFor="sample__one" - > - first - </label> - </Tooltip> - </li> - <li - key="two" - > - <input - checked={false} - id="sample__two" - name="sample" - onChange={[Function]} - type="radio" - value="two" - /> - <Tooltip> - <label - htmlFor="sample__two" - > - second - </label> - </Tooltip> - </li> -</ul> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SearchBox-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SearchBox-test.tsx.snap deleted file mode 100644 index 3a61b8d4358..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SearchBox-test.tsx.snap +++ /dev/null @@ -1,37 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders 1`] = ` -<div - className="search-box" - title="" -> - <input - aria-label="search_verb" - autoComplete="off" - className="search-box-input" - maxLength={100} - onChange={[Function]} - onKeyDown={[Function]} - placeholder="placeholder" - type="search" - value="foo" - /> - <DeferredSpinner - loading={false} - timeout={100} - > - <SearchIcon - className="search-box-magnifier" - /> - </DeferredSpinner> - <ClearButton - className="button-tiny search-box-clear" - iconProps={ - Object { - "size": 12, - } - } - onClick={[Function]} - /> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SimpleModal-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SimpleModal-test.tsx.snap deleted file mode 100644 index 49b14a9e20f..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/SimpleModal-test.tsx.snap +++ /dev/null @@ -1,52 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders 1`] = ` -<Modal - contentLabel="" - onRequestClose={[MockFunction]} -> - <div /> -</Modal> -`; - -exports[`submits 1`] = ` -<Modal - contentLabel="" - onRequestClose={[MockFunction]} -> - <Button - disabled={false} - onClick={[Function]} - > - close - </Button> -</Modal> -`; - -exports[`submits 2`] = ` -<Modal - contentLabel="" - onRequestClose={[MockFunction]} -> - <Button - disabled={true} - onClick={[Function]} - > - close - </Button> -</Modal> -`; - -exports[`submits 3`] = ` -<Modal - contentLabel="" - onRequestClose={[MockFunction]} -> - <Button - disabled={false} - onClick={[Function]} - > - close - </Button> -</Modal> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tabs-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tabs-test.tsx.snap deleted file mode 100644 index 2db4cec05a8..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tabs-test.tsx.snap +++ /dev/null @@ -1,52 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should disable single tab 1`] = ` -<li> - <a - className="js-foo disabled selected" - href="#" - onClick={[Function]} - > - <span> - Foo - </span> - </a> -</li> -`; - -exports[`should render correctly 1`] = ` -<ul - className="flex-tabs" -> - <Tab - key="foo" - name="foo" - onSelect={[MockFunction]} - selected={false} - > - Foo - </Tab> - <Tab - key="bar" - name="bar" - onSelect={[MockFunction]} - selected={true} - > - Bar - </Tab> -</ul> -`; - -exports[`should render single tab correctly 1`] = ` -<li> - <a - className="js-foo selected" - href="#" - onClick={[Function]} - > - <span> - Foo - </span> - </a> -</li> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Toggler-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Toggler-test.tsx.snap deleted file mode 100644 index 727c0c70559..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Toggler-test.tsx.snap +++ /dev/null @@ -1,50 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should not render click wrappers 1`] = ` -<Fragment> - <div - id="toggle" - /> - <div - id="overlay" - /> -</Fragment> -`; - -exports[`should render children and overlay 1`] = ` -<Fragment> - <div - id="toggle" - /> - <OutsideClickHandler - onClickOutside={[MockFunction]} - > - <div - id="overlay" - /> - </OutsideClickHandler> -</Fragment> -`; - -exports[`should render only children 1`] = ` -<Fragment> - <div - id="toggle" - /> -</Fragment> -`; - -exports[`should render when closeOnClick=true 1`] = ` -<Fragment> - <div - id="toggle" - /> - <DocumentClickHandler - onClick={[MockFunction]} - > - <div - id="overlay" - /> - </DocumentClickHandler> -</Fragment> -`; diff --git a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tooltip-test.tsx.snap b/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tooltip-test.tsx.snap deleted file mode 100644 index de3df03b6e5..00000000000 --- a/server/sonar-web/src/main/js/components/controls/__tests__/__snapshots__/Tooltip-test.tsx.snap +++ /dev/null @@ -1,40 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should not render empty tooltips 1`] = ` -<div - id="tooltip" -/> -`; - -exports[`should not render empty tooltips 2`] = ` -<div - id="tooltip" -/> -`; - -exports[`should render 1`] = ` -<Fragment> - <div - id="tooltip" - onMouseEnter={[Function]} - onMouseLeave={[Function]} - /> -</Fragment> -`; - -exports[`should render 2`] = ` -<Fragment> - <div - id="tooltip" - onMouseEnter={[Function]} - onMouseLeave={[Function]} - /> - <TooltipPortal> - <ScreenPositionFixer - ready={false} - > - <Component /> - </ScreenPositionFixer> - </TooltipPortal> -</Fragment> -`; diff --git a/server/sonar-web/src/main/js/components/controls/styles.css b/server/sonar-web/src/main/js/components/controls/styles.css index 15baab3a649..2f2f4aaccfe 100644 --- a/server/sonar-web/src/main/js/components/controls/styles.css +++ b/server/sonar-web/src/main/js/components/controls/styles.css @@ -80,67 +80,3 @@ .date-input-calender-month-select { width: 70px; } - -.button.boolean-toggle { - display: inline-block; - vertical-align: middle; - width: 48px; - height: var(--controlHeight); - padding: 1px; - border: 1px solid var(--gray80); - border-radius: var(--controlHeight); - box-sizing: border-box; - background-color: #fff; - cursor: pointer; - transition: all 0.3s ease; -} - -.button.boolean-toggle:hover { - background-color: #fff; -} - -.button.boolean-toggle:focus { - border-color: var(--blue); - background-color: #f6f6f6; -} - -.boolean-toggle-handle { - display: flex; - justify-content: center; - align-items: center; - width: 20px; - height: 20px; - border: 1px solid var(--gray80); - border-radius: 22px; - box-sizing: border-box; - background-color: #f6f6f6; - transition: transform 0.3s cubic-bezier(0.87, -0.41, 0.19, 1.44), border 0.3s ease; -} - -.boolean-toggle-handle > * { - opacity: 0; - transition: opacity 0.3s ease; -} - -.button.boolean-toggle-on { - border-color: var(--darkBlue); - background-color: var(--darkBlue); - color: var(--darkBlue); -} - -.button.boolean-toggle-on:hover { - background-color: var(--darkBlue); -} - -.button.boolean-toggle-on:focus { - background-color: var(--darkBlue); -} - -.button.boolean-toggle-on .boolean-toggle-handle { - border-color: #f6f6f6; - transform: translateX(var(--controlHeight)); -} - -.button.boolean-toggle-on .boolean-toggle-handle > * { - opacity: 1; -} diff --git a/server/sonar-web/src/main/js/components/docs/DocCollapsibleBlock.tsx b/server/sonar-web/src/main/js/components/docs/DocCollapsibleBlock.tsx index c45eb7eb46a..3c726224b30 100644 --- a/server/sonar-web/src/main/js/components/docs/DocCollapsibleBlock.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocCollapsibleBlock.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import OpenCloseIcon from '../icons-components/OpenCloseIcon'; +import OpenCloseIcon from 'sonar-ui-common/components/icons/OpenCloseIcon'; interface State { open: boolean; diff --git a/server/sonar-web/src/main/js/components/docs/DocImg.tsx b/server/sonar-web/src/main/js/components/docs/DocImg.tsx index 563cc38fd38..95995d5d2db 100644 --- a/server/sonar-web/src/main/js/components/docs/DocImg.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocImg.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { getBaseUrl } from '../../helpers/urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; export default function DocImg(props: React.ImgHTMLAttributes<HTMLImageElement>) { const { alt, src, ...other } = props; diff --git a/server/sonar-web/src/main/js/components/docs/DocLink.tsx b/server/sonar-web/src/main/js/components/docs/DocLink.tsx index 7995cef2b36..4a44bed5cac 100644 --- a/server/sonar-web/src/main/js/components/docs/DocLink.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocLink.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { Link } from 'react-router'; -import DetachIcon from '../icons-components/DetachIcon'; +import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon'; import { isSonarCloud } from '../../helpers/system'; import { withAppState } from '../hoc/withAppState'; diff --git a/server/sonar-web/src/main/js/components/docs/DocMarkdownBlock.tsx b/server/sonar-web/src/main/js/components/docs/DocMarkdownBlock.tsx index 01b5f4c5b78..629ed725057 100644 --- a/server/sonar-web/src/main/js/components/docs/DocMarkdownBlock.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocMarkdownBlock.tsx @@ -23,13 +23,14 @@ import remark from 'remark'; import reactRenderer from 'remark-react'; import slug from 'remark-slug'; import remarkCustomBlocks from 'remark-custom-blocks'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import DocLink from './DocLink'; import DocImg from './DocImg'; import DocToc from './DocToc'; import DocTooltipLink from './DocTooltipLink'; import DocCollapsibleBlock from './DocCollapsibleBlock'; import { separateFrontMatter, filterContent } from '../../helpers/markdown'; -import { scrollToElement } from '../../helpers/scrolling'; +import 'sonar-ui-common/components/ui/Alert.css'; // eslint-disable-line import/extension interface Props { childProps?: T.Dict<string>; diff --git a/server/sonar-web/src/main/js/components/docs/DocToc.tsx b/server/sonar-web/src/main/js/components/docs/DocToc.tsx index 7ff1d48a12d..915feef77b2 100644 --- a/server/sonar-web/src/main/js/components/docs/DocToc.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocToc.tsx @@ -23,8 +23,8 @@ import reactRenderer from 'remark-react'; import { findDOMNode } from 'react-dom'; import * as classNames from 'classnames'; import { debounce, memoize } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import onlyToc from './plugins/remark-only-toc'; -import { translate } from '../../helpers/l10n'; interface Props { content: string; diff --git a/server/sonar-web/src/main/js/components/docs/DocTooltip.tsx b/server/sonar-web/src/main/js/components/docs/DocTooltip.tsx index c6e3da12fd0..8aba588c848 100644 --- a/server/sonar-web/src/main/js/components/docs/DocTooltip.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocTooltip.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import HelpTooltip from '../controls/HelpTooltip'; -import { lazyLoad } from '../lazyLoad'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const DocMarkdownBlock = lazyLoad(() => import('./DocMarkdownBlock')); diff --git a/server/sonar-web/src/main/js/components/docs/DocTooltipLink.tsx b/server/sonar-web/src/main/js/components/docs/DocTooltipLink.tsx index 10c32b3ed63..cd1770f7f63 100644 --- a/server/sonar-web/src/main/js/components/docs/DocTooltipLink.tsx +++ b/server/sonar-web/src/main/js/components/docs/DocTooltipLink.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { Link } from 'react-router'; import { forEach } from 'lodash'; -import DetachIcon from '../icons-components/DetachIcon'; +import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon'; interface OwnProps { customProps?: T.Dict<string>; diff --git a/server/sonar-web/src/main/js/components/docs/__tests__/DocCollapsibleBlock-test.tsx b/server/sonar-web/src/main/js/components/docs/__tests__/DocCollapsibleBlock-test.tsx index 118166884a3..a324dbf11d3 100644 --- a/server/sonar-web/src/main/js/components/docs/__tests__/DocCollapsibleBlock-test.tsx +++ b/server/sonar-web/src/main/js/components/docs/__tests__/DocCollapsibleBlock-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import DocCollapsibleBlock from '../DocCollapsibleBlock'; -import { click } from '../../../helpers/testUtils'; const children = ( <div> diff --git a/server/sonar-web/src/main/js/components/docs/__tests__/DocToc-test.tsx b/server/sonar-web/src/main/js/components/docs/__tests__/DocToc-test.tsx index 39958cdfcca..0206ea149cb 100644 --- a/server/sonar-web/src/main/js/components/docs/__tests__/DocToc-test.tsx +++ b/server/sonar-web/src/main/js/components/docs/__tests__/DocToc-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { mount } from 'enzyme'; +import { click, scrollTo } from 'sonar-ui-common/helpers/testUtils'; import DocToc from '../DocToc'; -import { click, scrollTo } from '../../../helpers/testUtils'; const OFFSET = 300; diff --git a/server/sonar-web/src/main/js/components/docs/__tests__/DocTooltip-test.tsx b/server/sonar-web/src/main/js/components/docs/__tests__/DocTooltip-test.tsx index 3614ad712d5..4675f0fc87b 100644 --- a/server/sonar-web/src/main/js/components/docs/__tests__/DocTooltip-test.tsx +++ b/server/sonar-web/src/main/js/components/docs/__tests__/DocTooltip-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import DocTooltip from '../DocTooltip'; -import { waitAndUpdate } from '../../../helpers/testUtils'; it('should render', async () => { const wrapper = shallow(<DocTooltip doc={Promise.resolve({ default: 'this is *bold* text' })} />); diff --git a/server/sonar-web/src/main/js/components/facet/FacetHeader.tsx b/server/sonar-web/src/main/js/components/facet/FacetHeader.tsx index 9fc909e9a9f..74499c71543 100644 --- a/server/sonar-web/src/main/js/components/facet/FacetHeader.tsx +++ b/server/sonar-web/src/main/js/components/facet/FacetHeader.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../ui/buttons'; -import DeferredSpinner from '../common/DeferredSpinner'; -import HelpTooltip from '../controls/HelpTooltip'; -import OpenCloseIcon from '../icons-components/OpenCloseIcon'; -import { translate, translateWithParameters } from '../../helpers/l10n'; +import OpenCloseIcon from 'sonar-ui-common/components/icons/OpenCloseIcon'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; interface Props { children?: React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/facet/ListStyleFacet.tsx b/server/sonar-web/src/main/js/components/facet/ListStyleFacet.tsx index f5c7dd0f9d2..7544e444f73 100644 --- a/server/sonar-web/src/main/js/components/facet/ListStyleFacet.tsx +++ b/server/sonar-web/src/main/js/components/facet/ListStyleFacet.tsx @@ -20,19 +20,19 @@ import * as React from 'react'; import * as classNames from 'classnames'; import { sortBy, without } from 'lodash'; +import { queriesEqual } from 'sonar-ui-common/helpers/query'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import FacetBox from './FacetBox'; import FacetHeader from './FacetHeader'; import FacetItem from './FacetItem'; import FacetItemsList from './FacetItemsList'; import ListStyleFacetFooter from './ListStyleFacetFooter'; import MultipleSelectionHint from './MultipleSelectionHint'; -import { Alert } from '../ui/Alert'; -import ListFooter from '../controls/ListFooter'; -import SearchBox from '../controls/SearchBox'; -import Tooltip from '../controls/Tooltip'; -import { formatMeasure } from '../../helpers/measures'; -import { queriesEqual, RawQuery } from '../../helpers/query'; -import { translate } from '../../helpers/l10n'; interface SearchResponse<S> { maxResults?: boolean; @@ -60,7 +60,7 @@ export interface Props<S> { onToggle: (property: string) => void; open: boolean; property: string; - query?: RawQuery; + query?: T.RawQuery; renderFacetItem: (item: string) => React.ReactNode; renderSearchResult: (result: S, query: string) => React.ReactNode; searchPlaceholder: string; @@ -156,7 +156,9 @@ export default class ListStyleFacet<S> extends React.Component<Props<S>, State<S handleClear = () => { if (this.props.onClear) { this.props.onClear(); - } else this.props.onChange({ [this.props.property]: [] }); + } else { + this.props.onChange({ [this.props.property]: [] }); + } }; stopSearching = () => { diff --git a/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx b/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx index f469684eeac..2a0cf27a064 100644 --- a/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx +++ b/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/facet/MultipleSelectionHint.tsx b/server/sonar-web/src/main/js/components/facet/MultipleSelectionHint.tsx index 9892dc0c666..d4e9fc62543 100644 --- a/server/sonar-web/src/main/js/components/facet/MultipleSelectionHint.tsx +++ b/server/sonar-web/src/main/js/components/facet/MultipleSelectionHint.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import './MultipleSelectionHint.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/facet/__tests__/FacetHeader-test.tsx b/server/sonar-web/src/main/js/components/facet/__tests__/FacetHeader-test.tsx index 98c980fec5e..4f44bf99aae 100644 --- a/server/sonar-web/src/main/js/components/facet/__tests__/FacetHeader-test.tsx +++ b/server/sonar-web/src/main/js/components/facet/__tests__/FacetHeader-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import FacetHeader from '../FacetHeader'; -import { click } from '../../../helpers/testUtils'; it('should render open facet with value', () => { expect( diff --git a/server/sonar-web/src/main/js/components/facet/__tests__/FacetItem-test.tsx b/server/sonar-web/src/main/js/components/facet/__tests__/FacetItem-test.tsx index 8df60bc6b73..c76279e5742 100644 --- a/server/sonar-web/src/main/js/components/facet/__tests__/FacetItem-test.tsx +++ b/server/sonar-web/src/main/js/components/facet/__tests__/FacetItem-test.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import { click } from '../../../helpers/testUtils'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import FacetItem, { Props } from '../FacetItem'; it('should render active', () => { diff --git a/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacet-test.tsx b/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacet-test.tsx index 1caccaed664..3a965d16cee 100644 --- a/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacet-test.tsx +++ b/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacet-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ListStyleFacet, { Props } from '../ListStyleFacet'; -import { waitAndUpdate } from '../../../helpers/testUtils'; it('should render', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacetFooter-test.tsx b/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacetFooter-test.tsx index 6db2e579720..e508ad5f168 100644 --- a/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacetFooter-test.tsx +++ b/server/sonar-web/src/main/js/components/facet/__tests__/ListStyleFacetFooter-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ListStyleFacetFooter from '../ListStyleFacetFooter'; -import { click } from '../../../helpers/testUtils'; it('should not render "show more"', () => { expect( diff --git a/server/sonar-web/src/main/js/components/hoc/__tests__/whenLoggedIn-test.tsx b/server/sonar-web/src/main/js/components/hoc/__tests__/whenLoggedIn-test.tsx index 967c3d8b1df..ddfd6fffcd1 100644 --- a/server/sonar-web/src/main/js/components/hoc/__tests__/whenLoggedIn-test.tsx +++ b/server/sonar-web/src/main/js/components/hoc/__tests__/whenLoggedIn-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; -import handleRequiredAuthentication from '../../../app/utils/handleRequiredAuthentication'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; import { whenLoggedIn } from '../whenLoggedIn'; import { mockStore } from '../../../helpers/testMocks'; -jest.mock('../../../app/utils/handleRequiredAuthentication', () => ({ +jest.mock('sonar-ui-common/helpers/handleRequiredAuthentication', () => ({ default: jest.fn() })); diff --git a/server/sonar-web/src/main/js/components/hoc/__tests__/withKeyboardNavigation-test.tsx b/server/sonar-web/src/main/js/components/hoc/__tests__/withKeyboardNavigation-test.tsx index ffab89a8596..45eb9c9a15f 100644 --- a/server/sonar-web/src/main/js/components/hoc/__tests__/withKeyboardNavigation-test.tsx +++ b/server/sonar-web/src/main/js/components/hoc/__tests__/withKeyboardNavigation-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import { keydown, KEYCODE_MAP } from 'sonar-ui-common/helpers/testUtils'; import withKeyboardNavigation, { WithKeyboardNavigationProps } from '../withKeyboardNavigation'; import { mockComponent } from '../../../helpers/testMocks'; -import { keydown, KEYCODE_MAP } from '../../../helpers/testUtils'; class X extends React.Component<{ components?: T.ComponentMeasure[]; diff --git a/server/sonar-web/src/main/js/components/hoc/whenLoggedIn.tsx b/server/sonar-web/src/main/js/components/hoc/whenLoggedIn.tsx index c9b44d0f7bd..800c04e5aaf 100644 --- a/server/sonar-web/src/main/js/components/hoc/whenLoggedIn.tsx +++ b/server/sonar-web/src/main/js/components/hoc/whenLoggedIn.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import handleRequiredAuthentication from 'sonar-ui-common/helpers/handleRequiredAuthentication'; import { getWrappedDisplayName } from './utils'; import { withCurrentUser } from './withCurrentUser'; import { isLoggedIn } from '../../helpers/users'; -import handleRequiredAuthentication from '../../app/utils/handleRequiredAuthentication'; export function whenLoggedIn<P>(WrappedComponent: React.ComponentType<P>) { class Wrapper extends React.Component<P & { currentUser: T.CurrentUser }> { diff --git a/server/sonar-web/src/main/js/components/hoc/withKeyboardNavigation.tsx b/server/sonar-web/src/main/js/components/hoc/withKeyboardNavigation.tsx index 0f7b8913bb9..bc4197d76b7 100644 --- a/server/sonar-web/src/main/js/components/hoc/withKeyboardNavigation.tsx +++ b/server/sonar-web/src/main/js/components/hoc/withKeyboardNavigation.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as key from 'keymaster'; +import PageActions from 'sonar-ui-common/components/ui/PageActions'; import { getWrappedDisplayName } from './utils'; -import PageActions from '../ui/PageActions'; export interface WithKeyboardNavigationProps { components?: T.ComponentMeasure[]; diff --git a/server/sonar-web/src/main/js/components/icons-components/AlertErrorIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/AlertErrorIcon.tsx deleted file mode 100644 index 35c0f54e3b2..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/AlertErrorIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function AlertErrorIcon({ className, fill = theme.red, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M11.402 10.018q0-0.232-0.17-0.402l-1.616-1.616 1.616-1.616q0.17-0.17 0.17-0.402 0-0.241-0.17-0.411l-0.804-0.804q-0.17-0.17-0.411-0.17-0.232 0-0.402 0.17l-1.616 1.616-1.616-1.616q-0.17-0.17-0.402-0.17-0.241 0-0.411 0.17l-0.804 0.804q-0.17 0.17-0.17 0.411 0 0.232 0.17 0.402l1.616 1.616-1.616 1.616q-0.17 0.17-0.17 0.402 0 0.241 0.17 0.411l0.804 0.804q0.17 0.17 0.411 0.17 0.232 0 0.402-0.17l1.616-1.616 1.616 1.616q0.17 0.17 0.402 0.17 0.241 0 0.411-0.17l0.804-0.804q0.17-0.17 0.17-0.411zM14.857 8q0 1.866-0.92 3.442t-2.496 2.496-3.442 0.92-3.442-0.92-2.496-2.496-0.92-3.442 0.92-3.442 2.496-2.496 3.442-0.92 3.442 0.92 2.496 2.496 0.92 3.442z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/AlertSuccessIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/AlertSuccessIcon.tsx deleted file mode 100644 index 6c1279b7261..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/AlertSuccessIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function AlertSuccessIcon({ className, fill = theme.green, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M12.607 6.554q0-0.25-0.161-0.411l-0.813-0.804q-0.17-0.17-0.402-0.17t-0.402 0.17l-3.643 3.634-2.018-2.018q-0.17-0.17-0.402-0.17t-0.402 0.17l-0.813 0.804q-0.161 0.161-0.161 0.411 0 0.241 0.161 0.402l3.232 3.232q0.17 0.17 0.402 0.17 0.241 0 0.411-0.17l4.848-4.848q0.161-0.161 0.161-0.402zM14.857 8q0 1.866-0.92 3.442t-2.496 2.496-3.442 0.92-3.442-0.92-2.496-2.496-0.92-3.442 0.92-3.442 2.496-2.496 3.442-0.92 3.442 0.92 2.496 2.496 0.92 3.442z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/AlertWarnIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/AlertWarnIcon.tsx deleted file mode 100644 index a8381679c1d..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/AlertWarnIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function AlertWarnIcon({ className, fill = theme.orange, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 1.143q1.866 0 3.442.92t2.496 2.496.92 3.442-.92 3.442-2.496 2.496-3.442.92-3.442-.92-2.496-2.496-.92-3.442.92-3.442 2.496-2.496T8 1.143zm1.143 11.134v-1.696q0-.125-.08-.21t-.196-.085H7.153q-.116 0-.205.089t-.089.205v1.696q0 .116.089.205t.205.089h1.714q.116 0 .196-.085t.08-.21zm-.018-3.072l.161-5.545q0-.107-.089-.161-.089-.071-.214-.071H7.019q-.125 0-.214.071-.089.054-.089.161l.152 5.545q0 .089.089.156t.214.067h1.652q.125 0 .21-.067t.094-.156z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/BranchIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/BranchIcon.tsx index 441b6598ad9..95cb79bb6e5 100644 --- a/server/sonar-web/src/main/js/components/icons-components/BranchIcon.tsx +++ b/server/sonar-web/src/main/js/components/icons-components/BranchIcon.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ShortLivingBranchIcon from './ShortLivingBranchIcon'; -import LongLivingBranchIcon from './LongLivingBranchIcon'; -import PullRequestIcon from './PullRequestIcon'; -import { IconProps } from './Icon'; +import { IconProps } from 'sonar-ui-common/components/icons/Icon'; +import ShortLivingBranchIcon from 'sonar-ui-common/components/icons/ShortLivingBranchIcon'; +import LongLivingBranchIcon from 'sonar-ui-common/components/icons/LongLivingBranchIcon'; +import PullRequestIcon from 'sonar-ui-common/components/icons/PullRequestIcon'; import { isShortLivingBranch, isPullRequest } from '../../helpers/branches'; interface Props extends IconProps { diff --git a/server/sonar-web/src/main/js/components/icons-components/BubblesIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/BubblesIcon.tsx deleted file mode 100644 index 1ade7cf66c7..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/BubblesIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function BubblesIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size} style={{ fillRule: 'nonzero' }}> - <path - d="M4.1 10.2c1 0 1.9.8 1.9 1.9S5.1 14 4.1 14s-1.9-.8-1.9-1.9.8-1.9 1.9-1.9m0-2C2 8.2.2 9.9.2 12.1S1.9 16 4.1 16 8 14.3 8 12.1 6.2 8.2 4.1 8.2zM10.3 2c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7-3.8-1.6-3.8-3.7S8.2 2 10.3 2m0-2C7.1 0 4.5 2.6 4.5 5.7s2.6 5.7 5.7 5.7S16 8.9 16 5.7 13.4 0 10.3 0z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/BugIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/BugIcon.tsx deleted file mode 100644 index b57d0c3d67e..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/BugIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function BugIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8.01 10.9885h1v-5h-1v5zm3-2h1.265l.46.771.775-.543-.733-1.228H11.01v-.316l2-2.343v-2.341h-1v1.972l-1 1.172v-1.144h-.029c-.101-.826-.658-1.52-1.436-1.853l1.472-1.349-.676-.736-1.831 1.678-1.831-1.678-.676.736 1.472 1.349c-.778.333-1.335 1.027-1.436 1.853H6.01v1.144l-1-1.172v-1.972h-1v2.341l2 2.343v.316H4.243l-.733 1.228.775.543.46-.771H6.01v.287l-2 1.912v2.801h1v-2.374l1.003-.959c.018 1.289 1.07 2.333 2.363 2.333h.768c.741 0 1.418-.347 1.767-.907.258-.411.304-.887.16-1.365l.939.898v2.374h1v-2.801l-2-1.912v-.287z" - fillRule="evenodd" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/BugTrackerIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/BugTrackerIcon.tsx deleted file mode 100644 index 73d70927d5e..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/BugTrackerIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function BugTrackerIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.5 9.5c1.003.033 1.466 1.952 0 2h-2.618L9.685 9.107 8 14.162 6.096 8.45l-.832 3.05-2.829-.002c-.984-.097-1.369-1.951.065-1.998h1.236l2.168-7.95L8 7.838l1.315-3.945L12.118 9.5H13.5z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/BulletListIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/BulletListIcon.tsx deleted file mode 100644 index 495f056500f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/BulletListIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function BulletListIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M2.968 11.274v1.51q0 0.102-0.075 0.177t-0.177 0.075h-1.51q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h1.51q0.102 0 0.177 0.075t0.075 0.177zM2.968 8.255v1.51q0 0.102-0.075 0.177t-0.177 0.075h-1.51q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h1.51q0.102 0 0.177 0.075t0.075 0.177zM2.968 5.235v1.51q0 0.102-0.075 0.177t-0.177 0.075h-1.51q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h1.51q0.102 0 0.177 0.075t0.075 0.177zM15.045 11.274v1.51q0 0.102-0.075 0.177t-0.177 0.075h-10.568q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h10.568q0.102 0 0.177 0.075t0.075 0.177zM2.968 2.216v1.51q0 0.102-0.075 0.177t-0.177 0.075h-1.51q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h1.51q0.102 0 0.177 0.075t0.075 0.177zM15.045 8.255v1.51q0 0.102-0.075 0.177t-0.177 0.075h-10.568q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h10.568q0.102 0 0.177 0.075t0.075 0.177zM15.045 5.235v1.51q0 0.102-0.075 0.177t-0.177 0.075h-10.568q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h10.568q0.102 0 0.177 0.075t0.075 0.177zM15.045 2.216v1.51q0 0.102-0.075 0.177t-0.177 0.075h-10.568q-0.102 0-0.177-0.075t-0.075-0.177v-1.51q0-0.102 0.075-0.177t0.177-0.075h10.568q0.102 0 0.177 0.075t0.075 0.177z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/CalendarIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/CalendarIcon.tsx deleted file mode 100644 index 77bf66a30b0..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/CalendarIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function CalendarIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M2 14h2.25v-2.25H2V14zm2.75 0h2.5v-2.25h-2.5V14zM2 11.25h2.25v-2.5H2v2.5zm2.75 0h2.5v-2.5h-2.5v2.5zM2 8.25h2.25V6H2v2.25zM7.75 14h2.5v-2.25h-2.5V14zm-3-5.75h2.5V6h-2.5v2.25zm6 5.75H13v-2.25h-2.25V14zm-3-2.75h2.5v-2.5h-2.5v2.5zM5 4.5V2.25a.24.24 0 0 0-.074-.176A.24.24 0 0 0 4.75 2h-.5a.24.24 0 0 0-.176.074A.24.24 0 0 0 4 2.25V4.5a.24.24 0 0 0 .074.176.24.24 0 0 0 .176.074h.5a.24.24 0 0 0 .176-.074A.24.24 0 0 0 5 4.5zm5.75 6.75H13v-2.5h-2.25v2.5zm-3-3h2.5V6h-2.5v2.25zm3 0H13V6h-2.25v2.25zM11 4.5V2.25a.24.24 0 0 0-.074-.176A.24.24 0 0 0 10.75 2h-.5a.24.24 0 0 0-.176.074.24.24 0 0 0-.074.176V4.5a.24.24 0 0 0 .074.176.24.24 0 0 0 .176.074h.5a.24.24 0 0 0 .176-.074A.24.24 0 0 0 11 4.5zm3-.5v10c0 .27-.099.505-.297.703A.961.961 0 0 1 13 15H2a.961.961 0 0 1-.703-.297A.961.961 0 0 1 1 14V4c0-.27.099-.505.297-.703A.961.961 0 0 1 2 3h1v-.75c0-.344.122-.638.367-.883S3.907 1 4.25 1h.5c.344 0 .638.122.883.367S6 1.907 6 2.25V3h3v-.75c0-.344.122-.638.367-.883S9.907 1 10.25 1h.5c.344 0 .638.122.883.367s.367.54.367.883V3h1c.27 0 .505.099.703.297A.961.961 0 0 1 14 4z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ChartLegendIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ChartLegendIcon.tsx deleted file mode 100644 index 318715beb6f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ChartLegendIcon.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon from './Icon'; -import * as theme from '../../app/theme'; - -interface Props { - className?: string; - index: number; - size?: number; -} - -const COLORS = [theme.blue, theme.darkBlue, '#24c6e0']; - -export default function ChartLegendIcon({ className, index, size }: Props) { - const fill = COLORS[index] || COLORS[0]; - return ( - <Icon className={className} size={size}> - <path - d="M14.325 7.143v1.714q0 0.357-0.25 0.607t-0.607 0.25h-10.857q-0.357 0-0.607-0.25t-0.25-0.607v-1.714q0-0.357 0.25-0.607t0.607-0.25h10.857q0.357 0 0.607 0.25t0.25 0.607z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/CheckIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/CheckIcon.tsx deleted file mode 100644 index a2dcbfc11eb..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/CheckIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function CheckIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14.92 4.804q0 0.357-0.25 0.607l-7.679 7.679q-0.25 0.25-0.607 0.25t-0.607-0.25l-4.446-4.446q-0.25-0.25-0.25-0.607t0.25-0.607l1.214-1.214q0.25-0.25 0.607-0.25t0.607 0.25l2.625 2.634 5.857-5.866q0.25-0.25 0.607-0.25t0.607 0.25l1.214 1.214q0.25 0.25 0.25 0.607z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ChevronDownIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ChevronDownIcon.tsx deleted file mode 100644 index 7fd0926953c..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ChevronDownIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ChevronDownIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M7.72 11.596L3.119 6.992A.382.382 0 0 1 3 6.713c0-.108.04-.2.118-.279l1.03-1.03a.382.382 0 0 1 .278-.117c.108 0 .201.04.28.117L8 8.7l3.294-3.295a.382.382 0 0 1 .28-.117c.108 0 .2.04.279.117l1.03 1.03a.382.382 0 0 1 .117.28c0 .107-.04.2-.118.278L8.28 11.596a.382.382 0 0 1-.279.117.382.382 0 0 1-.28-.117z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ChevronLeftIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ChevronLeftIcon.tsx deleted file mode 100644 index 1142bf6db57..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ChevronLeftIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ChevronLeftIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M4.404 8.28l4.604 4.602a.382.382 0 0 0 .279.118c.108 0 .2-.04.279-.118l1.03-1.03a.382.382 0 0 0 .117-.278.382.382 0 0 0-.117-.28L7.3 8l3.295-3.294a.382.382 0 0 0 .117-.28.382.382 0 0 0-.117-.279l-1.03-1.03A.382.382 0 0 0 9.286 3a.382.382 0 0 0-.278.118L4.404 7.72A.382.382 0 0 0 4.287 8c0 .108.04.201.117.28z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ChevronRightcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ChevronRightcon.tsx deleted file mode 100644 index 8f7aa29b2e8..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ChevronRightcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ChevronRightIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M11.596 8.28l-4.604 4.602a.382.382 0 0 1-.279.118.382.382 0 0 1-.279-.118l-1.03-1.03a.382.382 0 0 1-.117-.278c0-.108.04-.201.117-.28L8.7 8 5.404 4.706a.382.382 0 0 1-.117-.28c0-.108.04-.2.117-.279l1.03-1.03A.382.382 0 0 1 6.714 3c.107 0 .2.04.278.118l4.604 4.603a.382.382 0 0 1 .117.279c0 .108-.04.201-.117.28z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ChevronUpIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ChevronUpIcon.tsx deleted file mode 100644 index 739fc3b2e25..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ChevronUpIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ChevronUpIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8.28 4.404l4.602 4.604a.382.382 0 0 1 .118.279c0 .108-.04.2-.118.279l-1.03 1.03a.382.382 0 0 1-.278.117.382.382 0 0 1-.28-.117L8 7.3l-3.294 3.295a.382.382 0 0 1-.28.117.382.382 0 0 1-.279-.117l-1.03-1.03A.382.382 0 0 1 3 9.286c0-.107.04-.2.118-.278L7.72 4.404A.382.382 0 0 1 8 4.287c.108 0 .201.04.28.117z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ClearIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ClearIcon.tsx deleted file mode 100644 index 0e2f39e113d..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ClearIcon.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -interface Props extends IconProps { - thin?: boolean; -} - -export default function ClearIcon({ className, fill = 'currentColor', size, thin }: Props) { - return ( - <Icon className={className} size={size}> - {thin ? ( - <path - d="M14 3.209l-1.209-1.209-4.791 4.791-4.791-4.791-1.209 1.209 4.791 4.791-4.791 4.791 1.209 1.209 4.791-4.791 4.791 4.791 1.209-1.209-4.791-4.791z" - style={{ fill }} - /> - ) : ( - <path - d="M14 4.242L11.758 2l-3.76 3.76L4.242 2 2 4.242l3.756 3.756L2 11.758 4.242 14l3.756-3.76 3.76 3.76L14 11.758l-3.76-3.76L14 4.242z" - style={{ fill }} - /> - )} - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ClockIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ClockIcon.tsx deleted file mode 100644 index 90a6a5e015b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ClockIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Icon, { IconProps } from './Icon'; - -export default function ClockIcon({ className, size = 16 }: IconProps) { - return ( - <Icon className={classNames('icon-clock', className)} size={size}> - <g fill="#fff" stroke="#ADADAD" transform="matrix(1.4 0 0 1.4 .3 .7)"> - <circle cx="5.5" cy="5.2" r="5" /> - <path d="M5.6 2.9v2.7l2-.5" fillRule="nonzero" /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/CodeSmellIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/CodeSmellIcon.tsx deleted file mode 100644 index ee87da4b6c8..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/CodeSmellIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function CodeSmellIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2C4.7 2 2 4.7 2 8s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zm-.5 5.5h.9v.9h-.9v-.9zm-3.8.2c-.1 0-.2-.1-.2-.2 0-.4.1-1.2.6-2S5.3 4.2 5.6 4c.2 0 .3 0 .3.1l1.3 2.3c0 .1 0 .2-.1.2-.1.2-.2.3-.3.5-.1.2-.2.4-.2.5 0 .1-.1.2-.2.2l-2.7-.1zM9.9 12c-.3.2-1.1.5-2 .5-.9 0-1.7-.3-2-.5-.1 0-.1-.2-.1-.3l1.3-2.3c0-.1.1-.1.2-.1.2.1.3.1.5.1s.4 0 .5-.1c.1 0 .2 0 .2.1l1.3 2.3c.2.2.2.3.1.3zm2.5-4.1L9.7 8c-.1 0-.2-.1-.2-.2 0-.2-.1-.4-.2-.5 0-.1-.2-.3-.3-.4-.1 0-.1-.1-.1-.2l1.3-2.3c.1-.1.2-.1.3-.1.3.2 1 .7 1.5 1.5s.6 1.6.6 2c0 0-.1.1-.2.1z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/CollapseIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/CollapseIcon.tsx deleted file mode 100644 index c0a24863b70..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/CollapseIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function CollapseIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 8.509v3.56c0 .138-.05.257-.151.357-.1.101-.22.151-.358.151a.489.489 0 0 1-.357-.15l-1.145-1.145-2.638 2.639a.251.251 0 0 1-.366 0l-.906-.906a.251.251 0 0 1 0-.366l2.639-2.638-1.144-1.145a.489.489 0 0 1-.151-.357c0-.138.05-.257.15-.358.101-.1.22-.151.358-.151h3.56c.138 0 .257.05.358.151.1.1.151.22.151.358zm6-5.34c0 .068-.026.129-.08.182l-2.638 2.638 1.144 1.145c.101.1.151.22.151.357 0 .138-.05.257-.15.358-.101.1-.22.151-.358.151h-3.56a.489.489 0 0 1-.358-.151A.489.489 0 0 1 8 7.491v-3.56c0-.138.05-.257.151-.357.1-.101.22-.151.358-.151.137 0 .257.05.357.15l1.145 1.145 2.638-2.639a.251.251 0 0 1 .366 0l.906.906c.053.053.079.114.079.183z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ContinuousIntegrationIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ContinuousIntegrationIcon.tsx deleted file mode 100644 index 0f243d8c162..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ContinuousIntegrationIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ContinuousIntegrationIcon({ - className, - fill = 'currentColor', - size -}: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.805 9.25c0 .016 0 .04-.008.055C13.133 12.07 10.852 14 7.969 14c-1.524 0-3-.602-4.11-1.656l-1.007 1.008a.497.497 0 0 1-.352.148.504.504 0 0 1-.5-.5V9.5c0-.273.227-.5.5-.5H6c.273 0 .5.227.5.5a.497.497 0 0 1-.148.352l-1.07 1.07a3.988 3.988 0 0 0 6.125-.828c.187-.305.28-.602.413-.914.04-.11.117-.18.235-.18h1.5c.14 0 .25.117.25.25zM14 3v3.5c0 .273-.227.5-.5.5H10a.504.504 0 0 1-.5-.5c0-.133.055-.258.148-.352l1.079-1.078A4.019 4.019 0 0 0 8 4c-1.39 0-2.68.719-3.406 1.906-.188.305-.282.602-.414.914-.04.11-.117.18-.235.18H2.391a.252.252 0 0 1-.25-.25v-.055C2.812 3.922 5.117 2 8 2c1.531 0 3.023.61 4.133 1.656l1.015-1.008A.497.497 0 0 1 13.5 2.5c.273 0 .5.227.5.5z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/DeleteIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/DeleteIcon.tsx deleted file mode 100644 index 34f1f1ac0d3..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/DeleteIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function DeleteIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.571429 1.8750019h-3.214285l-.251787-.5113283a.64285716.65624976 0 0 0-.5758927-.3636718H6.4678572a.63535718.64859353 0 0 0-.5732142.3636718l-.2517858.5113283H2.4285714A.42857144.43749984 0 0 0 2 2.3125018v.8749996a.42857144.43749984 0 0 0 .4285714.4374999H13.571429A.42857144.43749984 0 0 0 14 3.1875014v-.8749996a.42857144.43749984 0 0 0-.428571-.4374999zM3.4250001 13.769529a1.2857144 1.3124996 0 0 0 1.2830357 1.230468h6.5839282A1.2857144 1.3124996 0 0 0 12.575 13.769529l.567857-9.269528H2.8571428z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/DetachIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/DetachIcon.tsx deleted file mode 100644 index d65dee0afa4..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/DetachIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function DetachIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M12 9.25v2.5A2.25 2.25 0 0 1 9.75 14h-6.5A2.25 2.25 0 0 1 1 11.75v-6.5A2.25 2.25 0 0 1 3.25 3h5.5c.14 0 .25.11.25.25v.5c0 .14-.11.25-.25.25h-5.5C2.562 4 2 4.563 2 5.25v6.5c0 .688.563 1.25 1.25 1.25h6.5c.688 0 1.25-.563 1.25-1.25v-2.5c0-.14.11-.25.25-.25h.5c.14 0 .25.11.25.25zm3-6.75v4c0 .273-.227.5-.5.5a.497.497 0 0 1-.352-.148l-1.375-1.375L7.68 10.57a.27.27 0 0 1-.18.078.27.27 0 0 1-.18-.078l-.89-.89a.27.27 0 0 1-.078-.18.27.27 0 0 1 .078-.18l5.093-5.093-1.375-1.375A.497.497 0 0 1 10 2.5c0-.273.227-.5.5-.5h4c.273 0 .5.227.5.5z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/DropdownIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/DropdownIcon.tsx deleted file mode 100644 index 2471ddc3e85..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/DropdownIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -interface DropdownIconProps { - turned?: boolean; -} - -export default function DropdownIcon({ - className, - fill = 'currentColor', - size = 16, - turned = false -}: IconProps & DropdownIconProps) { - return ( - <Icon - className={className} - height={size} - style={turned ? { transform: 'rotate(180deg)' } : undefined} - viewBox="0 0 7 16" - width={(size / 16) * 7}> - <path - d="M7 6.469a.42.42 0 0 1-.13.307L3.808 9.84a.42.42 0 0 1-.308.13.42.42 0 0 1-.308-.13L.13 6.776A.42.42 0 0 1 0 6.47a.42.42 0 0 1 .13-.308.42.42 0 0 1 .307-.13h6.126a.42.42 0 0 1 .307.13.42.42 0 0 1 .13.308z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/EditIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/EditIcon.tsx deleted file mode 100644 index 50b3c57074d..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/EditIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function EditIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M4.875 12.986l.721-.72-1.861-1.862-.721.72v.848h1.014v1.014h.847zm4.143-7.35c0-.117-.058-.175-.174-.175a.183.183 0 0 0-.135.056L4.416 9.81a.183.183 0 0 0-.056.135c0 .116.058.174.175.174a.183.183 0 0 0 .134-.056L8.962 5.77a.183.183 0 0 0 .056-.134zM8.59 4.115l3.295 3.295L5.295 14H2v-3.295l6.59-6.59zm5.41.76a.97.97 0 0 1-.293.713l-1.315 1.315-3.295-3.295L10.412 2.3c.19-.2.428-.301.713-.301.28 0 .52.1.72.301l1.862 1.853c.195.206.293.447.293.721z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/EllipsisIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/EllipsisIcon.tsx deleted file mode 100644 index d76bad7782e..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/EllipsisIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function EllipsisIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M5.273 7.182v1.636a.818.818 0 0 1-.818.818H2.818A.818.818 0 0 1 2 8.818V7.182c0-.452.366-.818.818-.818h1.637c.451 0 .818.366.818.818zm4.363 0v1.636a.818.818 0 0 1-.818.818H7.182a.818.818 0 0 1-.818-.818V7.182c0-.452.366-.818.818-.818h1.636c.452 0 .818.366.818.818zm4.364 0v1.636a.818.818 0 0 1-.818.818h-1.637a.818.818 0 0 1-.818-.818V7.182c0-.452.367-.818.818-.818h1.637c.452 0 .818.366.818.818z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ExpandIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ExpandIcon.tsx deleted file mode 100644 index 4b16f8f8f23..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ExpandIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ExpandIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M7.898 9.25a.247.247 0 0 1-.078.18l-2.593 2.593 1.125 1.125a.48.48 0 0 1 .148.352.48.48 0 0 1-.148.352A.48.48 0 0 1 6 14H2.5a.48.48 0 0 1-.352-.148A.48.48 0 0 1 2 13.5V10a.48.48 0 0 1 .148-.352A.48.48 0 0 1 2.5 9.5a.48.48 0 0 1 .352.148l1.125 1.125L6.57 8.18a.247.247 0 0 1 .36 0l.89.89a.247.247 0 0 1 .078.18zM14 2.5V6a.48.48 0 0 1-.148.352.48.48 0 0 1-.352.148.48.48 0 0 1-.352-.148l-1.125-1.125L9.43 7.82a.247.247 0 0 1-.36 0l-.89-.89a.247.247 0 0 1 0-.36l2.593-2.593-1.125-1.125A.48.48 0 0 1 9.5 2.5a.48.48 0 0 1 .148-.352A.48.48 0 0 1 10 2h3.5a.48.48 0 0 1 .352.148A.48.48 0 0 1 14 2.5z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ExpandSnippetIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ExpandSnippetIcon.tsx deleted file mode 100644 index e99d2ba414f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ExpandSnippetIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ExpandSnippetIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g fill="none" fillRule="evenodd"> - <path - d="M8 1v4H4" - stroke={fill} - strokeWidth="2" - transform="scale(-.83333 -.84583) rotate(45 7.66 -19.75)" - /> - <path d="M3 5.78h10v1.7H3z" fill={fill} /> - <path d="M7.17 2.4h1.66v5.07H7.17z" fill={fill} /> - <g> - <path - d="M8.16 1.81V6.1H3.9" - stroke={fill} - strokeWidth="2" - transform="scale(.83333 .84583) rotate(45 -4.2 13.2)" - /> - <path d="M13 10.01H3v-1.7h10z" fill={fill} /> - <path d="M8.83 13.4H7.17V9.15h1.66z" fill={fill} /> - </g> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/FavoriteIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/FavoriteIcon.tsx deleted file mode 100644 index 6bd3bb71d22..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/FavoriteIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export interface Props extends IconProps { - favorite: boolean; -} - -export default function FavoriteIcon({ className, favorite, fill = theme.orange, size }: Props) { - return ( - <Icon - className={classNames('icon-outline', { 'is-filled': favorite }, className)} - size={size} - style={{ color: fill }}> - <g transform="matrix(0.988024,0,0,0.988024,0.0957953,0.717719)"> - <path d="M15.428,5.777C15.428,5.908 15.35,6.051 15.195,6.205L11.954,9.366L12.722,13.83C12.728,13.872 12.731,13.932 12.731,14.009C12.731,14.134 12.7,14.24 12.637,14.326C12.575,14.412 12.484,14.455 12.365,14.455C12.252,14.455 12.133,14.42 12.008,14.348L7.999,12.241L3.99,14.348C3.859,14.42 3.74,14.455 3.633,14.455C3.508,14.455 3.414,14.412 3.352,14.326C3.289,14.24 3.258,14.134 3.258,14.009C3.258,13.973 3.264,13.914 3.276,13.83L4.044,9.366L0.794,6.205C0.645,6.045 0.57,5.902 0.57,5.777C0.57,5.557 0.737,5.42 1.07,5.366L5.552,4.714L7.561,0.652C7.674,0.408 7.82,0.286 7.999,0.286C8.177,0.286 8.323,0.408 8.436,0.652L10.445,4.714L14.927,5.366C15.261,5.42 15.427,5.557 15.427,5.777L15.428,5.777Z" /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/FilterIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/FilterIcon.tsx deleted file mode 100644 index 8d80a659943..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/FilterIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function FilterIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.957 2.333a.536.536 0 0 1-.12.596l-4.2 4.202v6.323a.552.552 0 0 1-.333.503.632.632 0 0 1-.213.043.51.51 0 0 1-.384-.162l-2.181-2.182a.542.542 0 0 1-.162-.383V7.13L2.162 2.929a.536.536 0 0 1-.12-.596A.552.552 0 0 1 2.547 2h10.908c.222 0 .418.137.503.333z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/GroupIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/GroupIcon.tsx deleted file mode 100644 index f98893feaed..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/GroupIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function GroupIcon({ className, fill = theme.gray67, size = 36 }: IconProps) { - return ( - <Icon className={className} size={size} viewBox="0 0 36 36"> - <g transform="matrix(0.0625,0,0,0.0625,3,4)"> - <path - d="M148.25,224C121.25,224.833 99.167,235.5 82,256L48.5,256C34.833,256 23.333,252.625 14,245.875C4.667,239.125 0,229.25 0,216.25C0,157.417 10.333,128 31,128C32,128 35.625,129.75 41.875,133.25C48.125,136.75 56.25,140.292 66.25,143.875C76.25,147.458 86.167,149.25 96,149.25C107.167,149.25 118.25,147.333 129.25,143.5C128.417,149.667 128,155.167 128,160C128,183.167 134.75,204.5 148.25,224ZM416,383.25C416,403.25 409.917,419.042 397.75,430.625C385.583,442.208 369.417,448 349.25,448L130.75,448C110.583,448 94.417,442.208 82.25,430.625C70.083,419.042 64,403.25 64,383.25C64,374.417 64.292,365.792 64.875,357.375C65.458,348.958 66.625,339.875 68.375,330.125C70.125,320.375 72.333,311.333 75,303C77.667,294.667 81.25,286.542 85.75,278.625C90.25,270.708 95.417,263.958 101.25,258.375C107.083,252.792 114.208,248.333 122.625,245C131.042,241.667 140.333,240 150.5,240C152.167,240 155.75,241.792 161.25,245.375C166.75,248.958 172.833,252.958 179.5,257.375C186.167,261.792 195.083,265.792 206.25,269.375C217.417,272.958 228.667,274.75 240,274.75C251.333,274.75 262.583,272.958 273.75,269.375C284.917,265.792 293.833,261.792 300.5,257.375C307.167,252.958 313.25,248.958 318.75,245.375C324.25,241.792 327.833,240 329.5,240C339.667,240 348.958,241.667 357.375,245C365.792,248.333 372.917,252.792 378.75,258.375C384.583,263.958 389.75,270.708 394.25,278.625C398.75,286.542 402.333,294.667 405,303C407.667,311.333 409.875,320.375 411.625,330.125C413.375,339.875 414.542,348.958 415.125,357.375C415.708,365.792 416,374.417 416,383.25ZM160,64C160,81.667 153.75,96.75 141.25,109.25C128.75,121.75 113.667,128 96,128C78.333,128 63.25,121.75 50.75,109.25C38.25,96.75 32,81.667 32,64C32,46.333 38.25,31.25 50.75,18.75C63.25,6.25 78.333,0 96,0C113.667,0 128.75,6.25 141.25,18.75C153.75,31.25 160,46.333 160,64ZM336,160C336,186.5 326.625,209.125 307.875,227.875C289.125,246.625 266.5,256 240,256C213.5,256 190.875,246.625 172.125,227.875C153.375,209.125 144,186.5 144,160C144,133.5 153.375,110.875 172.125,92.125C190.875,73.375 213.5,64 240,64C266.5,64 289.125,73.375 307.875,92.125C326.625,110.875 336,133.5 336,160ZM480,216.25C480,229.25 475.333,239.125 466,245.875C456.667,252.625 445.167,256 431.5,256L398,256C380.833,235.5 358.75,224.833 331.75,224C345.25,204.5 352,183.167 352,160C352,155.167 351.583,149.667 350.75,143.5C361.75,147.333 372.833,149.25 384,149.25C393.833,149.25 403.75,147.458 413.75,143.875C423.75,140.292 431.875,136.75 438.125,133.25C444.375,129.75 448,128 449,128C469.667,128 480,157.417 480,216.25ZM448,64C448,81.667 441.75,96.75 429.25,109.25C416.75,121.75 401.667,128 384,128C366.333,128 351.25,121.75 338.75,109.25C326.25,96.75 320,81.667 320,64C320,46.333 326.25,31.25 338.75,18.75C351.25,6.25 366.333,0 384,0C401.667,0 416.75,6.25 429.25,18.75C441.75,31.25 448,46.333 448,64Z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/HelpIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/HelpIcon.tsx deleted file mode 100644 index d80136a4c4b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/HelpIcon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function HelpIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g transform="matrix(0.0364583,0,0,0.0364583,1,-0.166667)"> - <path - d="M224,344L224,296C224,293.667 223.25,291.75 221.75,290.25C220.25,288.75 218.333,288 216,288L168,288C165.667,288 163.75,288.75 162.25,290.25C160.75,291.75 160,293.667 160,296L160,344C160,346.333 160.75,348.25 162.25,349.75C163.75,351.25 165.667,352 168,352L216,352C218.333,352 220.25,351.25 221.75,349.75C223.25,348.25 224,346.333 224,344ZM288,176C288,161.333 283.375,147.75 274.125,135.25C264.875,122.75 253.333,113.083 239.5,106.25C225.667,99.417 211.5,96 197,96C156.5,96 125.583,113.75 104.25,149.25C101.75,153.25 102.417,156.75 106.25,159.75L139.25,184.75C140.417,185.75 142,186.25 144,186.25C146.667,186.25 148.75,185.25 150.25,183.25C159.083,171.917 166.25,164.25 171.75,160.25C177.417,156.25 184.583,154.25 193.25,154.25C201.25,154.25 208.375,156.417 214.625,160.75C220.875,165.083 224,170 224,175.5C224,181.833 222.333,186.917 219,190.75C215.667,194.583 210,198.333 202,202C191.5,206.667 181.875,213.875 173.125,223.625C164.375,233.375 160,243.833 160,255L160,264C160,266.333 160.75,268.25 162.25,269.75C163.75,271.25 165.667,272 168,272L216,272C218.333,272 220.25,271.25 221.75,269.75C223.25,268.25 224,266.333 224,264C224,260.833 225.792,256.708 229.375,251.625C232.958,246.542 237.5,242.417 243,239.25C248.333,236.25 252.417,233.875 255.25,232.125C258.083,230.375 261.917,227.458 266.75,223.375C271.583,219.292 275.292,215.292 277.875,211.375C280.458,207.458 282.792,202.417 284.875,196.25C286.958,190.083 288,183.333 288,176ZM384,224C384,258.833 375.417,290.958 358.25,320.375C341.083,349.792 317.792,373.083 288.375,390.25C258.958,407.417 226.833,416 192,416C157.167,416 125.042,407.417 95.625,390.25C66.208,373.083 42.917,349.792 25.75,320.375C8.583,290.958 0,258.833 0,224C0,189.167 8.583,157.042 25.75,127.625C42.917,98.208 66.208,74.917 95.625,57.75C125.042,40.583 157.167,32 192,32C226.833,32 258.958,40.583 288.375,57.75C317.792,74.917 341.083,98.208 358.25,127.625C375.417,157.042 384,189.167 384,224Z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/HistoryIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/HistoryIcon.tsx deleted file mode 100644 index d4098ee4176..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/HistoryIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function HistoryIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14.7 3.4v3.3c0 .1 0 .2-.1.2s-.2 0-.3-.1l-.9-.9-4.8 4.8c-.1.1-.1.1-.2.1s-.1 0-.2-.1L6.4 9l-3.2 3.2-1.5-1.5 4.5-4.5c.1-.1.1-.1.2-.1s.1 0 .2.1L8.4 8l3.5-3.5-.9-1c-.1-.1-.1-.2-.1-.3s.1-.1.2-.1h3.3c.1 0 .1 0 .2.1.1 0 .1.1.1.2z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/HomeIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/HomeIcon.tsx deleted file mode 100644 index 3de1aa458a0..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/HomeIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export interface Props extends IconProps { - filled?: boolean; -} - -export default function HomeIcon({ className, fill = theme.orange, filled = false, size }: Props) { - return ( - <Icon - className={classNames(className, 'icon-outline', { 'is-filled': filled })} - size={size} - style={{ color: fill }}> - <g transform="matrix(0.870918,0,0,0.870918,0.978227,0.978227)"> - <path d="M15.9,7.8L8.2,0.1C8.1,0 7.9,0 7.8,0.1L0.1,7.8C0,7.9 0,8.1 0.1,8.2C0.2,8.3 0.2,8.3 0.3,8.3L2.2,8.3L2.2,15.8C2.2,15.9 2.2,15.9 2.3,16C2.3,16 2.4,16.1 2.5,16.1L6.2,16.1C6.3,16.1 6.5,16 6.5,15.8L6.5,10.5L9.7,10.5L9.7,15.8C9.7,15.9 9.8,16.1 10,16.1L13.7,16.1C13.8,16.1 14,16 14,15.8L14,8.2L15.9,8.2C16,8.2 16,8.2 16.1,8.1C16,8 16.1,7.9 15.9,7.8Z" /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/HouseIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/HouseIcon.tsx deleted file mode 100644 index 5b5d3679fe2..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/HouseIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function HouseIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.002 8.848v4.168a.56.56 0 0 1-.556.555H9.11v-3.334H6.89v3.334H3.554a.56.56 0 0 1-.556-.555V8.848c0-.018.01-.035.01-.052L8 4.68l4.993 4.116c.009.017.009.034.009.052zm1.936-.6l-.538.643a.289.289 0 0 1-.183.096h-.026a.273.273 0 0 1-.182-.061L8 3.916l-6.009 5.01a.297.297 0 0 1-.208.06.289.289 0 0 1-.183-.095l-.538-.642a.285.285 0 0 1 .035-.391L7.34 2.656a1.07 1.07 0 0 1 1.32 0l2.119 1.772V2.735c0-.157.121-.278.278-.278h1.667c.156 0 .278.121.278.278v3.542l1.901 1.58c.113.096.13.279.035.392z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/Icon.tsx b/server/sonar-web/src/main/js/components/icons-components/Icon.tsx deleted file mode 100644 index 389e0cb0a8b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/Icon.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; - -export interface IconProps { - className?: string; - fill?: string; - size?: number; -} - -interface Props { - children: React.ReactNode; - className?: string; - size?: number; - style?: React.CSSProperties; - - // try to avoid using these: - width?: number; - height?: number; - viewBox?: string; -} - -export default function Icon({ - children, - className, - size = 16, - style, - height = size, - width = size, - viewBox = '0 0 16 16', - ...other -}: Props) { - return ( - <svg - className={className} - height={height} - style={{ - fillRule: 'evenodd', - clipRule: 'evenodd', - strokeLinejoin: 'round', - strokeMiterlimit: 1.41421, - ...style - }} - version="1.1" - viewBox={viewBox} - width={width} - xmlSpace="preserve" - xmlnsXlink="http://www.w3.org/1999/xlink" - {...other}> - {children} - </svg> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/InfoIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/InfoIcon.tsx deleted file mode 100644 index a97c4d3b326..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/InfoIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function InfoIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/IssueIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/IssueIcon.tsx deleted file mode 100644 index d408777d4a8..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/IssueIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import BugIcon from '../icons-components/BugIcon'; -import VulnerabilityIcon from '../icons-components/VulnerabilityIcon'; -import CodeSmellIcon from '../icons-components/CodeSmellIcon'; -import SecurityHotspotIcon from '../icons-components/SecurityHotspotIcon'; - -interface Props { - className?: string; - type: T.IssueType; - size?: number; -} - -export default function IssueIcon({ className, type, size }: Props) { - switch (type) { - case 'BUG': - return <BugIcon className={className} size={size} />; - case 'VULNERABILITY': - return <VulnerabilityIcon className={className} size={size} />; - case 'CODE_SMELL': - return <CodeSmellIcon className={className} size={size} />; - case 'SECURITY_HOTSPOT': - return <SecurityHotspotIcon className={className} size={size} />; - default: - return null; - } -} diff --git a/server/sonar-web/src/main/js/components/icons-components/LightBulbIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/LightBulbIcon.tsx deleted file mode 100644 index 12a9b06b1b7..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/LightBulbIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function LightBulbIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10.042 5.083a.3.3 0 0 1-.292.292.3.3 0 0 1-.292-.292c0-.629-.975-.875-1.458-.875a.3.3 0 0 1-.292-.291A.3.3 0 0 1 8 3.625c.848 0 2.042.447 2.042 1.458zm1.458 0c0-1.823-1.85-2.916-3.5-2.916S4.5 3.26 4.5 5.083c0 .584.237 1.194.62 1.641.173.2.373.392.556.602.647.774 1.194 1.686 1.285 2.716h2.078c.091-1.03.638-1.942 1.285-2.716.183-.21.383-.402.556-.602.383-.447.62-1.057.62-1.64zm1.167 0c0 .94-.31 1.75-.94 2.443-.628.693-1.457 1.668-1.53 2.643a.876.876 0 0 1 .428.748.852.852 0 0 1-.228.583.852.852 0 0 1 .228.583c0 .301-.155.575-.41.739a.89.89 0 0 1 .118.428c0 .592-.465.875-.993.875A1.479 1.479 0 0 1 8 15a1.479 1.479 0 0 1-1.34-.875c-.528 0-.993-.283-.993-.875 0-.146.045-.3.118-.428a.876.876 0 0 1-.41-.739c0-.218.082-.428.228-.583a.852.852 0 0 1-.228-.583c0-.301.164-.593.428-.748-.073-.975-.902-1.95-1.53-2.643a3.507 3.507 0 0 1-.94-2.443C3.333 2.604 5.694 1 8 1c2.306 0 4.667 1.604 4.667 4.083z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/LinkIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/LinkIcon.tsx deleted file mode 100644 index 16ca7bd160b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/LinkIcon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function LinkIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g transform="matrix(0.823497,0,0,0.823497,1.47008,1.4122)"> - <path - d="M13.501,11.429C13.501,11.191 13.418,10.989 13.251,10.822L11.394,8.965C11.227,8.798 11.025,8.715 10.787,8.715C10.537,8.715 10.323,8.81 10.144,9.001C10.162,9.019 10.219,9.074 10.314,9.166C10.409,9.258 10.473,9.322 10.506,9.358C10.539,9.394 10.583,9.451 10.64,9.528C10.697,9.605 10.735,9.681 10.756,9.756C10.777,9.831 10.787,9.913 10.787,10.002C10.787,10.24 10.704,10.442 10.537,10.609C10.37,10.776 10.168,10.859 9.93,10.859C9.841,10.859 9.759,10.849 9.684,10.828C9.609,10.807 9.533,10.769 9.456,10.712C9.379,10.655 9.322,10.611 9.286,10.578C9.25,10.545 9.186,10.481 9.094,10.386C9.002,10.291 8.947,10.234 8.929,10.216C8.732,10.401 8.634,10.618 8.634,10.868C8.634,11.106 8.717,11.308 8.884,11.475L10.723,13.323C10.884,13.484 11.086,13.564 11.33,13.564C11.568,13.564 11.77,13.487 11.937,13.332L13.25,12.028C13.417,11.861 13.5,11.662 13.5,11.43L13.501,11.429ZM7.224,5.134C7.224,4.896 7.141,4.694 6.974,4.527L5.135,2.679C4.968,2.512 4.766,2.429 4.528,2.429C4.296,2.429 4.094,2.509 3.921,2.67L2.608,3.974C2.441,4.141 2.358,4.34 2.358,4.572C2.358,4.81 2.441,5.012 2.608,5.179L4.465,7.036C4.626,7.197 4.828,7.277 5.072,7.277C5.322,7.277 5.536,7.185 5.715,7C5.697,6.982 5.64,6.927 5.545,6.835C5.45,6.743 5.386,6.679 5.353,6.643C5.32,6.607 5.276,6.55 5.219,6.473C5.162,6.396 5.124,6.32 5.103,6.245C5.082,6.17 5.072,6.088 5.072,5.999C5.072,5.761 5.155,5.559 5.322,5.392C5.489,5.225 5.691,5.142 5.929,5.142C6.018,5.142 6.1,5.152 6.175,5.173C6.25,5.194 6.326,5.232 6.403,5.289C6.48,5.346 6.537,5.39 6.573,5.423C6.609,5.456 6.673,5.52 6.765,5.615C6.857,5.71 6.912,5.767 6.93,5.785C7.127,5.6 7.225,5.383 7.225,5.133L7.224,5.134ZM15.215,11.429C15.215,12.143 14.962,12.747 14.456,13.242L13.143,14.546C12.649,15.04 12.045,15.287 11.33,15.287C10.61,15.287 10.003,15.034 9.509,14.528L7.67,12.68C7.176,12.186 6.929,11.582 6.929,10.867C6.929,10.135 7.191,9.513 7.715,9.001L6.929,8.215C6.417,8.739 5.798,9.001 5.072,9.001C4.358,9.001 3.751,8.751 3.251,8.251L1.394,6.394C0.894,5.894 0.644,5.287 0.644,4.573C0.644,3.859 0.897,3.255 1.403,2.76L2.716,1.456C3.21,0.962 3.814,0.715 4.529,0.715C5.249,0.715 5.856,0.968 6.35,1.474L8.189,3.322C8.683,3.816 8.93,4.42 8.93,5.135C8.93,5.867 8.668,6.489 8.144,7.001L8.93,7.787C9.442,7.263 10.061,7.001 10.787,7.001C11.501,7.001 12.108,7.251 12.608,7.751L14.465,9.608C14.965,10.108 15.215,10.715 15.215,11.429L15.215,11.429Z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ListIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ListIcon.tsx deleted file mode 100644 index b001d192750..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ListIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ListIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M15.045 11.526v1.007q0 0.204-0.149 0.354t-0.354 0.149h-13.084q-0.204 0-0.354-0.149t-0.149-0.354v-1.006q0-0.204 0.149-0.354t0.354-0.149h13.084q0.204 0 0.354 0.149t0.149 0.354zM15.045 8.506v1.006q0 0.204-0.149 0.354t-0.354 0.149h-13.084q-0.204 0-0.354-0.149t-0.149-0.354v-1.006q0-0.204 0.149-0.354t0.354-0.149h13.084q0.204 0 0.354 0.149t0.149 0.354zM15.045 5.487v1.006q0 0.204-0.149 0.354t-0.354 0.149h-13.084q-0.204 0-0.354-0.149t-0.149-0.354v-1.006q0-0.204 0.149-0.354t0.354-0.149h13.084q0.204 0 0.354 0.149t0.149 0.354zM15.045 2.468v1.006q0 0.204-0.149 0.354t-0.354 0.149h-13.084q-0.204 0-0.354-0.149t-0.149-0.354v-1.006q0-0.204 0.149-0.354t0.354-0.149h13.084q0.204 0 0.354 0.149t0.149 0.354z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/LockIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/LockIcon.tsx deleted file mode 100644 index e2f2ff80ccf..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/LockIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function LockIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M5.455 7.364h5.09v-1.91A2.55 2.55 0 0 0 8 2.91a2.55 2.55 0 0 0-2.545 2.546v1.909zm8.272.954v5.727a.955.955 0 0 1-.954.955H3.227a.955.955 0 0 1-.954-.955V8.318c0-.527.427-.954.954-.954h.318v-1.91C3.545 3.01 5.554 1 8 1s4.455 2.009 4.455 4.455v1.909h.318c.527 0 .954.427.954.954z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/LongLivingBranchIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/LongLivingBranchIcon.tsx deleted file mode 100644 index ea688864f9a..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/LongLivingBranchIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function LongLivingBranchIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g transform="translate(5, 0)"> - <path - d="M4.5 8c0-.9-.6-1.7-1.5-1.9V4c.9-.2 1.5-1 1.5-1.9 0-1.1-.9-2-2-2s-2 .9-2 2C.5 3 1.1 3.8 2 4v2.1C1.1 6.3.5 7.1.5 8s.6 1.7 1.5 2v2.1c-.9.2-1.5 1-1.5 1.9 0 1.1.9 2 2 2s2-.9 2-2c0-.9-.6-1.7-1.5-1.9V10c.9-.3 1.5-1 1.5-2zm-3-5.9c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1-1-.5-1-1zm0 5.9c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1-1-.4-1-1zm2 6c0 .6-.4 1-1 1s-1-.4-1-1 .4-1 1-1 1 .5 1 1z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/MeasuresIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/MeasuresIcon.tsx deleted file mode 100644 index 4747e582eab..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/MeasuresIcon.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function MeasuresIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size} style={{ fillRule: 'nonzero' }}> - <path d="M3.33 6.13h2v6.54h-2zm3.74-2.8h1.86v9.34H7.07zm3.73 5.34h1.87v4H10.8z" fill={fill} /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/MinimizeIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/MinimizeIcon.tsx deleted file mode 100644 index 6d288c28b4e..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/MinimizeIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function MinimizeIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 12.1v1.267c0 .176-.08.325-.239.448a.918.918 0 0 1-.58.185H2.819a.918.918 0 0 1-.58-.185C2.08 13.692 2 13.543 2 13.367V12.1c0-.176.08-.326.239-.449a.918.918 0 0 1 .58-.185h10.363c.227 0 .42.062.58.185.158.123.238.273.238.449z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/NotificationIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/NotificationIcon.tsx deleted file mode 100644 index 36ecc360633..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/NotificationIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import { blue } from '../../app/theme'; - -interface Props extends IconProps { - hasUnread?: boolean; -} - -export default function NotificationIcon({ - className, - fill = 'currentColor', - hasUnread, - size -}: Props) { - return ( - <Icon className={className} size={size}> - {hasUnread ? ( - <> - <path - d="M8 1a.875.875 0 0 0-.875.875v.57c-2.009.418-3.498 2.118-3.498 4.242 0 2.798-.987 3.652-1.516 4.22a.856.856 0 0 0-.236.593.875.875 0 0 0 .877.875h10.496a.875.875 0 0 0 .877-.875.854.854 0 0 0-.236-.594c-.497-.534-1.388-1.342-1.494-3.76a2.814 2.814 0 0 1-.768.108A2.814 2.814 0 0 1 8.814 4.44a2.814 2.814 0 0 1 .665-1.818 4.543 4.543 0 0 0-.604-.178v-.57A.875.875 0 0 0 8 1zM6.25 13.25a1.75 1.75 0 0 0 3.5 0h-3.5z" - style={{ fill }} - /> - <circle cx="11.627" cy="4.441" r="2" style={{ fill: blue }} /> - </> - ) : ( - <path - d="M8 15a1.75 1.75 0 0 0 1.75-1.75h-3.5c0 .967.784 1.75 1.75 1.75zm5.89-4.094c-.529-.567-1.517-1.421-1.517-4.218 0-2.125-1.49-3.826-3.499-4.243v-.57a.875.875 0 1 0-1.748 0v.57c-2.01.417-3.499 2.118-3.499 4.243 0 2.797-.988 3.65-1.517 4.218a.854.854 0 0 0-.235.594.876.876 0 0 0 .878.875h10.494a.876.876 0 0 0 .878-.875.853.853 0 0 0-.235-.594z" - style={{ fill }} - /> - )} - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/OnboardingAddMembersIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/OnboardingAddMembersIcon.tsx deleted file mode 100644 index f0e0f2db583..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/OnboardingAddMembersIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function OnboardingAddMembersIcon({ - className, - fill = theme.darkBlue, - size = 64 -}: IconProps) { - return ( - <Icon className={className} height={(size / 64) * 80} viewBox="0 0 64 80" width={size}> - <path - d="M49 34c0 9.389-7.611 17-17 17s-17-7.611-17-17 7.611-17 17-17 17 7.611 17 17z" - style={{ fill: 'none', stroke: fill, strokeWidth: 2 }} - /> - <path - d="M36 32c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1zm4 39a8 8 0 1 1-16 0 8 8 0 0 1 16 0z" - style={{ fill: 'none', stroke: fill, strokeWidth: 2 }} - /> - <path - d="M33 70h2v2h-2v2h-2v-2h-2v-2h2v-2h2v2zm-5-14l-.072-.001c-1.521-.054-2.834-1.337-2.925-2.855L25 50h2c0 1.745-.532 3.91.952 3.999L28 54h8v.002l.072-.005c.506-.042.922-.489.928-1.003V50h2c0 1.024.011 2.048-.001 3.072-.054 1.518-1.337 2.834-2.855 2.925l-.072.002L36 56v8h-2v-7.982c-1.333.007-2.667.007-4 0V64h-2v-8zm-7 0H1V10 0h62v56H43v-2h18V10H3v44h18v2zm38-4H43v-2h14V14H7v36h14v2H5V12h54v40zm-19-9l1 .017c-.03 1.79-2.454 2.506-3.918 2.717-4.074.584-8.503.911-12.176-.477-.949-.358-1.887-1.119-1.906-2.24l.191-.017H23v-3.566l5.38-3.228.913-.913 1.414 1.414-1.087 1.087L25 40.566v2.438c.067 1.304 10.98 2.117 13.844.157.076-.052.152-.172.156-.178v-2.417l-4.62-2.772-1.087-1.087 1.414-1.414.913.913L41 39.434V43h-1zm14-4h-2v-2h2v2zm-42 0h-2v-2h2v2zm42-4h-2v-2h2v2zm-42 0h-2v-2h2v2zm42-4h-2v-2h2v2zm-42 0h-2v-2h2v2zm20.198-10.999c3.529.062 6.837 1.669 9.386 4.169l-1.289 1.539c-4.178-4.152-11.167-5.254-16.359-.228l-.231.228-1.41-1.418c2.633-2.617 6.031-4.313 9.903-4.29zM3 2v6h58V2H3zm56 4H17V4h42v2zM11 6H9V4h2v2zM7 6H5V4h2v2zm8 0h-2V4h2v2z" - style={{ fill, fillRule: 'nonzero' }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/OnboardingProjectIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/OnboardingProjectIcon.tsx deleted file mode 100644 index 31c0a27fbde..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/OnboardingProjectIcon.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function OnboardingProjectIcon({ - className, - fill = theme.darkBlue, - size -}: IconProps) { - return ( - <Icon className={className} size={size || 64} viewBox="0 0 64 64"> - <g fill="none" fillRule="evenodd" stroke={fill} strokeWidth="2"> - <path d="M2 59h60V13H2zm0-46h60V5H2zm3-4h2m2 0h2m2 0h2m2 0h42" /> - <path d="M59 34h-6l-2-4h-6l-2 5h-6l-2 2h-6l-2-4h-6l-2 5h-6l-2 4H5m1 14v-9m4 9v-6m4 6V43m4 13V45m4 11V42m4 14V39m4 17V41m4 15V46m4 10V40m4 16V44m4 12V37m4 19V38m4 18V43m4 13V39m-3-18h-2m-2 0h-2m-2 0h-2M9 29h14M9 33h7m17-12h8m-14 4h8m-8-4h4m-21 4h12v-4H10z" /> - <path d="M58 31V17H6v22" /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/OnboardingTeamIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/OnboardingTeamIcon.tsx deleted file mode 100644 index ebedfeb2745..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/OnboardingTeamIcon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function OnboardingTeamIcon({ className, fill = theme.darkBlue, size }: IconProps) { - return ( - <Icon className={className} size={size || 64} viewBox="0 0 64 64"> - <g fill="none" fillRule="evenodd" stroke={fill} strokeWidth="2"> - <path d="M32 9v5M11.5195 43.0898l7.48-4.091m33.481-18.0994l-7.48 4.1m-33.481-4.1l7.48 4.1M45 38.999l7.48 4.101M32 50v5m15-23c0 8.284-6.715 15-15 15s-15-6.716-15-15c0-8.285 6.715-15 15-15s15 6.715 15 15z" /> - <path d="M40 38c0 1.656-3.58 2-8 2s-8-.344-8-2m16 0v-3l-5-3-1-1m-10 7v-3l5-3 1-1m6-4c0 2.2-1.8 4-4 4s-4-1.8-4-4v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1zm-.0098-21.71c7.18 1.069 13.439 4.96 17.609 10.51m-17.609 42.91c7.18-1.07 13.439-4.96 17.609-10.51M6.6299 41.25c-1.06-2.88-1.63-6-1.63-9.25s.57-6.37 1.63-9.25m3.7705-6.9502c4.17-5.55 10.43-9.44 17.609-10.51m-17.609 42.9104c4.17 5.55 10.43 9.439 17.609 10.51M57.3701 22.75c1.06 2.88 1.63 6 1.63 9.25s-.57 6.37-1.63 9.25" /> - <path d="M36 5c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2M12 19c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2m51 0c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2M12 45c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2m51 0c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2M36 59c0 2.209-1.79 4-4 4-2.209 0-4-1.791-4-4 0-2.21 1.791-4 4-4 2.21 0 4 1.79 4 4zm-5 0h2" /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/OpenCloseIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/OpenCloseIcon.tsx deleted file mode 100644 index 87916d47434..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/OpenCloseIcon.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { IconProps } from './Icon'; -import ChevronDownIcon from './ChevronDownIcon'; -import ChevronRightIcon from './ChevronRightcon'; - -interface Props extends IconProps { - open: boolean; -} - -export default function OpenCloseIcon({ open, ...props }: Props) { - return open ? <ChevronDownIcon {...props} /> : <ChevronRightIcon {...props} />; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/PendingIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/PendingIcon.tsx deleted file mode 100644 index 22a097fadb7..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/PendingIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function PendingIcon({ className, fill = theme.gray67, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g transform="matrix(0.0364583,0,0,0.0364583,1,-0.166667)"> - <path - d="M224,136L224,248C224,250.333 223.25,252.25 221.75,253.75C220.25,255.25 218.333,256 216,256L136,256C133.667,256 131.75,255.25 130.25,253.75C128.75,252.25 128,250.333 128,248L128,232C128,229.667 128.75,227.75 130.25,226.25C131.75,224.75 133.667,224 136,224L192,224L192,136C192,133.667 192.75,131.75 194.25,130.25C195.75,128.75 197.667,128 200,128L216,128C218.333,128 220.25,128.75 221.75,130.25C223.25,131.75 224,133.667 224,136ZM328,224C328,199.333 321.917,176.583 309.75,155.75C297.583,134.917 281.083,118.417 260.25,106.25C239.417,94.083 216.667,88 192,88C167.333,88 144.583,94.083 123.75,106.25C102.917,118.417 86.417,134.917 74.25,155.75C62.083,176.583 56,199.333 56,224C56,248.667 62.083,271.417 74.25,292.25C86.417,313.083 102.917,329.583 123.75,341.75C144.583,353.917 167.333,360 192,360C216.667,360 239.417,353.917 260.25,341.75C281.083,329.583 297.583,313.083 309.75,292.25C321.917,271.417 328,248.667 328,224ZM384,224C384,258.833 375.417,290.958 358.25,320.375C341.083,349.792 317.792,373.083 288.375,390.25C258.958,407.417 226.833,416 192,416C157.167,416 125.042,407.417 95.625,390.25C66.208,373.083 42.917,349.792 25.75,320.375C8.583,290.958 0,258.833 0,224C0,189.167 8.583,157.042 25.75,127.625C42.917,98.208 66.208,74.917 95.625,57.75C125.042,40.583 157.167,32 192,32C226.833,32 258.958,40.583 288.375,57.75C317.792,74.917 341.083,98.208 358.25,127.625C375.417,157.042 384,189.167 384,224Z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/PinIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/PinIcon.tsx deleted file mode 100644 index 8d1921f8d91..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/PinIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function PinIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M7.25 7.25v-3.5a.243.243 0 0 0-.07-.18A.243.243 0 0 0 7 3.5a.243.243 0 0 0-.18.07.243.243 0 0 0-.07.18v3.5c0 .073.023.133.07.18.047.047.107.07.18.07a.243.243 0 0 0 .18-.07.243.243 0 0 0 .07-.18zM12.5 10a.482.482 0 0 1-.148.352.482.482 0 0 1-.352.148H8.648l-.398 3.773a.29.29 0 0 1-.082.161.219.219 0 0 1-.16.066H8c-.141 0-.224-.07-.25-.211L7.156 10.5H4a.482.482 0 0 1-.352-.148A.482.482 0 0 1 3.5 10c0-.641.204-1.217.613-1.73.409-.513.871-.77 1.387-.77v-4a.96.96 0 0 1-.703-.297A.96.96 0 0 1 4.5 2.5a.96.96 0 0 1 .297-.703A.96.96 0 0 1 5.5 1.5h5a.96.96 0 0 1 .703.297.96.96 0 0 1 .297.703.96.96 0 0 1-.297.703.96.96 0 0 1-.703.297v4c.516 0 .978.257 1.387.77.409.513.613 1.089.613 1.73z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/PlusCircleIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/PlusCircleIcon.tsx deleted file mode 100644 index 967f6c9594c..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/PlusCircleIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function PlusCircleIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 1c3.863 0 7 3.137 7 7s-3.137 7-7 7-7-3.137-7-7 3.137-7 7-7zm3.726 7.985A.274.274 0 0 0 12 8.711V7.289a.274.274 0 0 0-.274-.274H8.985V4.274A.274.274 0 0 0 8.711 4H7.289a.274.274 0 0 0-.274.274v2.741H4.274A.274.274 0 0 0 4 7.289v1.422c0 .152.123.274.274.274h2.741v2.741c0 .151.122.274.274.274h1.422a.274.274 0 0 0 .274-.274V8.985h2.741z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/PlusIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/PlusIcon.tsx deleted file mode 100644 index 13aa20ea0c7..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/PlusIcon.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function PlusIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path d="M1,7L7,7L7,1L9,1L9,7L15,7L15,9L9,9L9,15L7,15L7,9L1,9L1,7Z" style={{ fill }} /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ProjectEventIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ProjectEventIcon.tsx deleted file mode 100644 index 8c7304d7176..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ProjectEventIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function ProjectEventIcon({ className, fill = '#fff', size = 14 }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2 L14 8 L8 14 L2 8 L8 2 L14 8" - style={{ fill, stroke: 'currentColor', strokeWidth: '2px' }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ProjectLinkIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ProjectLinkIcon.tsx deleted file mode 100644 index 98749c25f47..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ProjectLinkIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { IconProps } from './Icon'; -import BugTrackerIcon from './BugTrackerIcon'; -import HouseIcon from './HouseIcon'; -import ContinuousIntegrationIcon from './ContinuousIntegrationIcon'; -import SCMIcon from './SCMIcon'; -import DetachIcon from './DetachIcon'; - -interface ProjectLinkIconProps { - type: string; -} - -export default function ProjectLinkIcon({ type, ...props }: IconProps & ProjectLinkIconProps) { - switch (type) { - case 'issue': - return <BugTrackerIcon {...props} />; - case 'homepage': - return <HouseIcon {...props} />; - case 'ci': - return <ContinuousIntegrationIcon {...props} />; - case 'scm': - return <SCMIcon {...props} />; - default: - return <DetachIcon {...props} />; - } -} diff --git a/server/sonar-web/src/main/js/components/icons-components/PullRequestIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/PullRequestIcon.tsx deleted file mode 100644 index 83a6e5a3e17..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/PullRequestIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function PullRequestIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13,11.9L13,5.5C13,5.4 13.232,1.996 7.9,2L9.1,0.8L8.5,0.1L5.9,2.6L8.5,5.1L9.2,4.4L7.905,3.008C12.256,2.99 12,5.4 12,5.5L12,11.9C11.1,12.1 10.5,12.9 10.5,13.8C10.5,14.9 11.4,15.8 12.5,15.8C13.6,15.8 14.5,14.9 14.5,13.8C14.5,12.9 13.9,12.2 13,11.9ZM4,11.9C4.9,12.2 5.5,12.9 5.5,13.8C5.5,14.9 4.6,15.8 3.5,15.8C2.4,15.8 1.5,14.9 1.5,13.8C1.5,12.9 2.1,12.1 3,11.9L3,4.1C2.1,3.9 1.5,3.1 1.5,2.2C1.5,1.1 2.4,0.2 3.5,0.2C4.6,0.2 5.5,1.1 5.5,2.2C5.5,3.1 4.9,3.9 4,4.1L4,11.9ZM12.5,14.9C11.9,14.9 11.5,14.5 11.5,13.9C11.5,13.3 11.9,12.9 12.5,12.9C13.1,12.9 13.5,13.3 13.5,13.9C13.5,14.5 13.1,14.9 12.5,14.9ZM3.5,14.9C2.9,14.9 2.5,14.5 2.5,13.9C2.5,13.3 2.9,12.9 3.5,12.9C4.1,12.9 4.5,13.3 4.5,13.9C4.5,14.5 4.1,14.9 3.5,14.9ZM2.5,2.2C2.5,1.6 2.9,1.2 3.5,1.2C4.1,1.2 4.5,1.6 4.5,2.2C4.5,2.8 4.1,3.2 3.5,3.2C2.9,3.2 2.5,2.8 2.5,2.2Z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/QualifierIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/QualifierIcon.tsx deleted file mode 100644 index 84475054e9b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/QualifierIcon.tsx +++ /dev/null @@ -1,166 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -const qualifierIcons: T.Dict<(props: IconProps) => React.ReactElement<any>> = { - app: ApplicationIcon, - brc: SubProjectIcon, - dev: DeveloperIcon, - dir: DirectoryIcon, - fil: FileIcon, - svw: SubPortfolioIcon, - trk: ProjectIcon, - uts: UnitTestIcon, - vw: PortfolioIcon, - - // deprecated: - cla: UnitTestIcon, - dev_prj: ProjectIcon, - lib: LibraryIcon, - pac: DirectoryIcon -}; - -interface QualifierIconProps { - className?: string; - fill?: string; - qualifier: string | null | undefined; -} - -export default function QualifierIcon(props: QualifierIconProps) { - if (!props.qualifier) { - return null; - } - - const qualifier = props.qualifier.toLowerCase(); - const FoundIcon = qualifierIcons[qualifier]; - return FoundIcon ? <FoundIcon className={props.className} fill={props.fill} /> : null; -} - -function ApplicationIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M3.014 10.986a2 2 0 1 1-.001 4.001 2 2 0 0 1 .001-4.001zm9.984 0a2 2 0 1 1-.001 4.001 2 2 0 0 1 .001-4.001zm-5.004-.021c1.103 0 2 .896 2 2s-.897 2-2 2a2 2 0 0 1 0-4zm-4.98 1.021a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm9.984 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-5.004-.021a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM2.984 6a2 2 0 1 1-.001 4.001A2 2 0 0 1 2.984 6zm9.984 0a2 2 0 1 1-.001 4.001A2 2 0 0 1 12.968 6zm-5.004-.021c1.103 0 2 .897 2 2a2 2 0 1 1-2-2zM2.984 7a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm9.984 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm-5.004-.021a1.001 1.001 0 0 1 0 2 1 1 0 0 1 0-2zM3 1.025a2 2 0 1 1-.001 4.001A2 2 0 0 1 3 1.025zm9.984 0a2 2 0 1 1-.001 4.001 2 2 0 0 1 .001-4.001zM7.98 1.004c1.103 0 2 .896 2 2s-.897 2-2 2a2 2 0 0 1 0-4zM3 2.025a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm9.984 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM7.98 2.004a1.001 1.001 0 0 1 0 2 1 1 0 0 1 0-2z" - style={{ fill }} - /> - </Icon> - ); -} - -function DeveloperIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M7.974 8.02a3.5 3.5 0 0 1-2.482-1.017 3.428 3.428 0 0 1-1.028-2.455c0-.927.365-1.8 1.028-2.455a3.505 3.505 0 0 1 2.482-1.017 3.5 3.5 0 0 1 2.482 1.017 3.434 3.434 0 0 1 1.027 2.455c0 .928-.365 1.8-1.027 2.455A3.504 3.504 0 0 1 7.974 8.02zm0-5.778c-1.286 0-2.332 1.034-2.332 2.306s1.046 2.307 2.332 2.307c1.285 0 2.332-1.035 2.332-2.307S9.258 2.242 7.974 2.242zm3.534 6.418c.127.016.243.045.348.086.17.066.302.146.406.246.132.124.253.282.36.47.126.218.226.442.3.668.08.253.15.535.206.838.056.313.095.604.113.867.02.28.03.57.03.862 0 .532-.174.758-.306.882-.142.132-.397.31-.973.31H3.948c-.233 0-.437-.03-.606-.09-.14-.05-.26-.123-.366-.222-.13-.123-.306-.35-.306-.88 0-.294.01-.584.03-.863.018-.263.056-.554.112-.867a6.5 6.5 0 0 1 .207-.838c.073-.226.173-.45.298-.667.108-.19.23-.347.36-.47.106-.1.238-.18.407-.247.105-.04.22-.07.348-.086.202.13.432.277.683.435.342.217.756.4 1.265.564.523.166 1.06.25 1.59.25a5.25 5.25 0 0 0 1.592-.25c.51-.164.923-.348 1.266-.565.25-.158.48-.304.682-.435l-.002.002zm-.244-1.18c-.055 0-.184.066-.387.196-.202.13-.43.276-.685.437-.255.16-.586.307-.994.437-.408.13-.818.196-1.23.196-.41 0-.82-.065-1.228-.196a4.303 4.303 0 0 1-.993-.437c-.255-.16-.484-.306-.686-.437-.202-.13-.33-.196-.386-.196-.374 0-.716.06-1.026.183-.31.12-.572.283-.787.487a3.28 3.28 0 0 0-.57.737 4.662 4.662 0 0 0-.395.888c-.098.303-.18.633-.244.988a9.652 9.652 0 0 0-.128.992c-.02.306-.032.62-.032.942 0 .73.224 1.304.672 1.726.448.42 1.043.632 1.785.632h8.044c.743 0 1.34-.21 1.787-.633.447-.42.67-.996.67-1.725 0-.32-.01-.635-.03-.942a9.159 9.159 0 0 0-.374-1.98c-.098-.304-.23-.6-.395-.888a3.23 3.23 0 0 0-.57-.737 2.404 2.404 0 0 0-.788-.487 2.779 2.779 0 0 0-1.026-.183h-.004z" - style={{ fill }} - /> - </Icon> - ); -} - -function DirectoryIcon({ className, fill = theme.orange, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 12.286V5.703a.673.673 0 0 0-.195-.5.644.644 0 0 0-.49-.203H6.704a.686.686 0 0 1-.5-.214.707.707 0 0 1-.203-.51v-.57c0-.2-.07-.363-.207-.502A.679.679 0 0 0 5.29 3H2.707a.672.672 0 0 0-.5.204.683.683 0 0 0-.206.5v8.582c0 .2.07.367.206.506.137.14.304.208.5.208h10.61a.66.66 0 0 0 .49-.208.685.685 0 0 0 .194-.506H14zm1-6.598v6.65c0 .458-.152.83-.475 1.16-.324.326-.7.502-1.15.502H2.647c-.452 0-.84-.175-1.162-.503a1.572 1.572 0 0 1-.486-1.158V3.654a1.6 1.6 0 0 1 .486-1.17A1.578 1.578 0 0 1 2.648 2h2.7c.45 0 .84.157 1.164.485.324.328.488.714.488 1.17V4h6.373c.452 0 .83.174 1.152.5.323.33.475.73.475 1.187v.001z" - style={{ fill }} - /> - </Icon> - ); -} - -function FileIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 15H2V1l7.997.02c1 .034 1.759.758 2.428 1.42.667.663 1.561 1.605 1.574 2.555H14V15zM9 2H3v12h10V6H9V2zm3 10H4v-1h8v1zm0-2H4V9h8v1zm-1.988-5h3.008c-.012-.674-.714-1.443-1.204-1.937-.488-.495-1.039-1.058-1.816-1.055v2.96l.012.032z" - style={{ fill }} - /> - </Icon> - ); -} - -function LibraryIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M1 13h4V3H1v10zm3-1H2v-2h2v2zM2 4h2v4H2V4zm4 9h4V3H6v10zm3-1H7v-2h2v2zM7 4h2v4H7V4zm4 9h4V3h-4v10zm3-1h-2v-2h2v2zm-2-8h2v4h-2V4z" - style={{ fill }} - /> - </Icon> - ); -} - -function PortfolioIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14.97 14.97H1.016V1.015H14.97V14.97zm-1-12.955H2.015V13.97H13.97V2.015zm-.973 10.982H9V9h3.997v3.997zM7 12.996H3.004V9H7v3.996zM11.997 10H10v1.997h1.997V10zM6 10H4.004v1.996H6V10zm1-3H3.006V3.006H7V7zm5.985 0H9V3.015h3.985V7zM6 4.006H4.006V6H6V4.006zm5.985.009H10V6h1.985V4.015z" - style={{ fill }} - /> - </Icon> - ); -} - -function ProjectIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14.985 13.988L1 14.005 1.02 5h13.966v8.988h-.001zM1.998 5.995l.006 7.02L14.022 13 14 6.004l-12.002-.01v.001zM3 4.5V4h9.996l.004.5h1l-.005-1.497-11.98.003L2 4.5h1zm1-2v-.504h8.002L12 2.5h1l-.004-1.495H3.003L3 2.5h1z" - style={{ fill }} - /> - </Icon> - ); -} - -function SubPortfolioIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 7h2v9H7v-2H0V0h14v7zM8 8v7h7V8H8zm3 6H9v-2h2v2zm3 0h-2v-2h2v2zm-1-7V1H1v12h6V7h6zm-7 5H2V8h4v4zm5-1H9V9h2v2zm3 0h-2V9h2v2zM5 9H3v2h2V9zm1-3H2V2h4v4zm6 0H8V2h4v4zM5 3H3v2h2V3zm6 0H9v2h2V3z" - style={{ fill }} - /> - </Icon> - ); -} - -function SubProjectIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 9V8h6v1h1v1h1v6H6v-6h1V9h1zm7 2H7v4h8v-4zm-1-7v3h-1V5H1v7h4v1H0V4h14zm-1-2v1.5h-1V3H2v.5H1V2h12zm-1-2v1.5h-1V1H3v.5H2V0h10z" - style={{ fill }} - /> - </Icon> - ); -} - -function UnitTestIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 15H2V1l7.997.02c1.013-.03 1.57.893 2.239 1.555.667.663 1.75 1.47 1.763 2.42H14V15zM9 2H3v12h10V6H9V2zM7 8l-3 2.5L7 13V8zm1 5l3-2.5L8 8v5zm2.012-8h3.008c-.012-.674-.78-1.258-1.27-1.752-.488-.495-.973-1.243-1.75-1.24v2.96l.012.032z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/RecommendedIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/RecommendedIcon.tsx deleted file mode 100644 index b9ac04d5456..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/RecommendedIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function RecommendedIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M15.089 13.199l-1.742-3.736c-0.962 1.401-2.464 2.398-4.203 2.701l1.459 3.128c0.186 0.4 0.764 0.373 0.914-0.040l0.748-2.054 0.154-0.072 2.054 0.748c0.412 0.151 0.804-0.276 0.618-0.675zM8.040 0.384c-3.003 0-5.446 2.443-5.446 5.446s2.443 5.446 5.446 5.446c3.003 0 5.446-2.443 5.446-5.446s-2.443-5.446-5.446-5.446zM10.689 5.429l-0.966 0.941 0.228 1.33c0.070 0.406-0.358 0.711-0.718 0.522l-1.194-0.628-1.194 0.628c-0.363 0.19-0.788-0.118-0.718-0.522l0.228-1.33-0.966-0.941c-0.293-0.286-0.131-0.786 0.274-0.844l1.335-0.194 0.597-1.209c0.181-0.367 0.707-0.368 0.888 0l0.597 1.209 1.335 0.194c0.405 0.059 0.568 0.558 0.274 0.844zM2.732 9.463l-1.742 3.736c-0.187 0.4 0.208 0.825 0.618 0.674l2.054-0.748 0.154 0.072 0.748 2.054c0.15 0.412 0.727 0.441 0.914 0.040l1.459-3.128c-1.739-0.302-3.241-1.3-4.203-2.701z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/RuleScopeIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/RuleScopeIcon.tsx deleted file mode 100644 index b8737798993..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/RuleScopeIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function RuleScopeIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 3.071c2.724 0 4.929 2.204 4.929 4.929s-2.204 4.929-4.929 4.929c-2.724 0-4.929-2.204-4.929-4.929s2.204-4.929 4.929-4.929zM8 1.357c-3.669 0-6.643 2.974-6.643 6.643s2.974 6.643 6.643 6.643 6.643-2.974 6.643-6.643-2.974-6.643-6.643-6.643zM8 6.286c0.945 0 1.714 0.769 1.714 1.714s-0.769 1.714-1.714 1.714-1.714-0.769-1.714-1.714 0.769-1.714 1.714-1.714zM8 4.571c-1.893 0-3.429 1.535-3.429 3.429s1.535 3.429 3.429 3.429 3.429-1.535 3.429-3.429-1.535-3.429-3.429-3.429z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SCMIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SCMIcon.tsx deleted file mode 100644 index 64ae2a7eaac..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SCMIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SCMIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M12.557 4.545c.241.247.443.743.443 1.098v7.714c0 .355-.28.643-.625.643h-8.75A.634.634 0 0 1 3 13.357V2.643C3 2.288 3.28 2 3.625 2h5.833c.345 0 .827.208 1.068.455l2.031 2.09zM9.667 2.91v2.518h2.448a.86.86 0 0 0-.144-.275L9.934 3.058a.823.823 0 0 0-.267-.147zm2.5 10.232V6.286H9.458a.634.634 0 0 1-.625-.643V2.857h-5v10.286h8.334z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SearchIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SearchIcon.tsx deleted file mode 100644 index 9eafa25bc04..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SearchIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SearchIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10.308 7.077c0-.89-.316-1.65-.949-2.283a3.111 3.111 0 0 0-2.282-.948c-.89 0-1.65.316-2.283.948a3.111 3.111 0 0 0-.948 2.283c0 .89.316 1.65.948 2.282a3.111 3.111 0 0 0 2.283.949c.89 0 1.65-.316 2.282-.949a3.111 3.111 0 0 0 .949-2.282zm3.692 6c0 .25-.091.466-.274.649a.887.887 0 0 1-.65.274.857.857 0 0 1-.648-.274L9.954 11.26c-.86.596-1.82.894-2.877.894a4.989 4.989 0 0 1-1.972-.4 5.076 5.076 0 0 1-1.623-1.082A5.076 5.076 0 0 1 2.4 9.049 4.989 4.989 0 0 1 2 7.077c0-.688.133-1.345.4-1.972a5.076 5.076 0 0 1 1.082-1.623A5.076 5.076 0 0 1 5.105 2.4 4.989 4.989 0 0 1 7.077 2c.687 0 1.345.133 1.972.4a5.076 5.076 0 0 1 1.623 1.082c.454.454.815.995 1.082 1.623.266.627.4 1.284.4 1.972a4.938 4.938 0 0 1-.894 2.877l2.473 2.474a.883.883 0 0 1 .267.649z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SecurityHotspotIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SecurityHotspotIcon.tsx deleted file mode 100644 index a2664628f91..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SecurityHotspotIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SecurityHotspotIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g fill="none" fillRule="evenodd"> - <path - d="M10.2764 2.3205c-.437-.905-1.273-1.521-2.227-1.521-1.402 0-2.549 1.333-2.549 2.959v5.541" - stroke={fill} - strokeLinecap="round" - strokeWidth="1.14" - /> - <path - d="M5.2227 5.0215h5.555c1.222 0 2.222 1 2.222 2.222v4.444c0 1.223-1 2.223-2.222 2.223h-5.555c-1.223 0-2.223-1-2.223-2.223v-4.444c0-1.222 1-2.222 2.223-2.222zm2.15279 5.73895h1.25683c.00586-.22266.03663-.4065.09229-.55151.05566-.14502.15527-.28638.29883-.42408l.50537-.47021c.21387-.20801.36914-.41162.46582-.61084.09668-.19922.14502-.42041.14502-.66358 0-.55664-.17944-.98583-.53833-1.2876C9.24243 6.45089 8.73633 6.3 8.083 6.3c-.65626 0-1.16602.16333-1.5293.48999-.36328.32666-.54785.78296-.55371 1.3689h1.48535c.00586-.21973.06299-.39405.17139-.52295.1084-.1289.25049-.19336.42627-.19336.38086 0 .57129.22119.57129.66357 0 .18164-.0564.3479-.1692.49878-.11279.15088-.27758.31714-.49438.49878-.2168.18164-.37353.39624-.47021.6438-.09668.24756-.14502.5852-.14502 1.01294zm-.18018 1.33594c0 .2168.07837.39477.23511.53393.15674.13916.3523.20874.58667.20874.23438 0 .42993-.06958.58667-.20874.15674-.13916.2351-.31714.2351-.53393 0-.2168-.07836-.39478-.2351-.53394-.15674-.13916-.3523-.20874-.58667-.20874-.23438 0-.42993.06958-.58667.20874-.15674.13916-.2351.31714-.2351.53394z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SettingsIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SettingsIcon.tsx deleted file mode 100644 index 4d6b31e35ef..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SettingsIcon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SettingsIcon({ className, fill = 'currentColor', size = 14 }: IconProps) { - return ( - <Icon className={className} size={size} viewBox="0 0 14 14"> - <g transform="matrix(0.0364583,0,0,0.0364583,0,-1.16667)"> - <path - d="M256,224C256,206.333 249.75,191.25 237.25,178.75C224.75,166.25 209.667,160 192,160C174.333,160 159.25,166.25 146.75,178.75C134.25,191.25 128,206.333 128,224C128,241.667 134.25,256.75 146.75,269.25C159.25,281.75 174.333,288 192,288C209.667,288 224.75,281.75 237.25,269.25C249.75,256.75 256,241.667 256,224ZM384,196.75L384,252.25C384,254.25 383.333,256.167 382,258C380.667,259.833 379,260.917 377,261.25L330.75,268.25C327.583,277.25 324.333,284.833 321,291C326.833,299.333 335.75,310.833 347.75,325.5C349.417,327.5 350.25,329.583 350.25,331.75C350.25,333.917 349.5,335.833 348,337.5C343.5,343.667 335.25,352.667 323.25,364.5C311.25,376.333 303.417,382.25 299.75,382.25C297.75,382.25 295.583,381.5 293.25,380L258.75,353C251.417,356.833 243.833,360 236,362.5C233.333,385.167 230.917,400.667 228.75,409C227.583,413.667 224.583,416 219.75,416L164.25,416C161.917,416 159.875,415.292 158.125,413.875C156.375,412.458 155.417,410.667 155.25,408.5L148.25,362.5C140.083,359.833 132.583,356.75 125.75,353.25L90.5,380C88.833,381.5 86.75,382.25 84.25,382.25C81.917,382.25 79.833,381.333 78,379.5C57,360.5 43.25,346.5 36.75,337.5C35.583,335.833 35,333.917 35,331.75C35,329.75 35.667,327.833 37,326C39.5,322.5 43.75,316.958 49.75,309.375C55.75,301.792 60.25,295.917 63.25,291.75C58.75,283.417 55.333,275.167 53,267L7.25,260.25C5.083,259.917 3.333,258.875 2,257.125C0.667,255.375 0,253.417 0,251.25L0,195.75C0,193.75 0.667,191.833 2,190C3.333,188.167 4.917,187.083 6.75,186.75L53.25,179.75C55.583,172.083 58.833,164.417 63,156.75C56.333,147.25 47.417,135.75 36.25,122.25C34.583,120.25 33.75,118.25 33.75,116.25C33.75,114.583 34.5,112.667 36,110.5C40.333,104.5 48.542,95.542 60.625,83.625C72.708,71.708 80.583,65.75 84.25,65.75C86.417,65.75 88.583,66.583 90.75,68.25L125.25,95C132.583,91.167 140.167,88 148,85.5C150.667,62.833 153.083,47.333 155.25,39C156.417,34.333 159.417,32 164.25,32L219.75,32C222.083,32 224.125,32.708 225.875,34.125C227.625,35.542 228.583,37.333 228.75,39.5L235.75,85.5C243.917,88.167 251.417,91.25 258.25,94.75L293.75,68C295.25,66.5 297.25,65.75 299.75,65.75C301.917,65.75 304,66.583 306,68.25C327.5,88.083 341.25,102.25 347.25,110.75C348.417,112.083 349,113.917 349,116.25C349,118.25 348.333,120.167 347,122C344.5,125.5 340.25,131.042 334.25,138.625C328.25,146.208 323.75,152.083 320.75,156.25C325.083,164.583 328.5,172.75 331,180.75L376.75,187.75C378.917,188.083 380.667,189.125 382,190.875C383.333,192.625 384,194.583 384,196.75Z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SeverityIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SeverityIcon.tsx deleted file mode 100644 index 2fc2a95def7..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SeverityIcon.tsx +++ /dev/null @@ -1,100 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -interface Props { - className?: string; - severity: string | null | undefined; -} - -const severityIcons: T.Dict<(props: IconProps) => React.ReactElement<any>> = { - blocker: BlockerSeverityIcon, - critical: CriticalSeverityIcon, - major: MajorSeverityIcon, - minor: MinorSeverityIcon, - info: InfoSeverityIcon -}; - -export default function SeverityIcon(props: Props) { - if (!props.severity) { - return null; - } - - const severity = props.severity.toLowerCase(); - const Icon = severityIcons[severity]; - return Icon ? <Icon className={props.className} /> : null; -} - -function BlockerSeverityIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 14c-3.311 0-6-2.689-6-6s2.689-6 6-6 6 2.689 6 6-2.689 6-6 6zM7 9h2V4H7v5zm0 3h2v-2H7v2z" - style={{ fill: theme.red, fillRule: 'nonzero' }} - /> - </Icon> - ); -} - -function CriticalSeverityIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2c3.311 0 6 2.689 6 6s-2.689 6-6 6-6-2.689-6-6 2.689-6 6-6zm1 10V7.414l1.893 1.893c.13.124.282.216.457.261a1.006 1.006 0 0 0 1.176-.591 1.01 1.01 0 0 0 .01-.729 1.052 1.052 0 0 0-.229-.355c-1.212-1.212-2.394-2.456-3.638-3.636a1.073 1.073 0 0 0-.169-.123 1.05 1.05 0 0 0-.448-.133h-.104a1.053 1.053 0 0 0-.493.16 1.212 1.212 0 0 0-.162.132C6.08 5.505 4.836 6.687 3.656 7.932a.994.994 0 0 0-.051 1.275c.208.271.548.42.888.389.198-.019.378-.098.535-.218.041-.035.04-.034.079-.071L7 7.414V12h2z" - style={{ fill: theme.red, fillRule: 'nonzero' }} - /> - </Icon> - ); -} - -function MajorSeverityIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2c3.311 0 6 2.689 6 6s-2.689 6-6 6-6-2.689-6-6 2.689-6 6-6zm.08 2.903c.071.008.14.019.208.039.138.042.26.114.37.205 1.244 1.146 2.426 2.357 3.639 3.536.1.103.181.218.234.352a1.01 1.01 0 0 1 .001.728 1.002 1.002 0 0 1-1.169.609 1.042 1.042 0 0 1-.46-.255L8 7.295l-2.903 2.822c-.039.036-.039.036-.08.07a1.002 1.002 0 0 1-1.604-.947c.032-.196.122-.37.253-.519C4.847 7.51 6.09 6.362 7.303 5.183c.052-.048.106-.093.167-.131a1.041 1.041 0 0 1 .61-.149z" - style={{ fill: theme.red }} - /> - </Icon> - ); -} - -function MinorSeverityIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2c3.311 0 6 2.689 6 6s-2.689 6-6 6-6-2.689-6-6 2.689-6 6-6zm1 6.586V4H7v4.586L5.107 6.693a1.178 1.178 0 0 0-.165-.134 1.041 1.041 0 0 0-.662-.152 1 1 0 0 0-.587 1.7c1.212 1.212 2.394 2.456 3.638 3.636.094.08.195.146.311.191a1.008 1.008 0 0 0 1.065-.227c1.213-1.212 2.457-2.394 3.637-3.639a.994.994 0 0 0 .051-1.275 1.012 1.012 0 0 0-.888-.389 1.041 1.041 0 0 0-.535.218c-.04.034-.04.034-.079.071L9 8.586z" - style={{ fill: theme.lightGreen }} - /> - </Icon> - ); -} - -function InfoSeverityIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 2c3.311 0 6 2.689 6 6s-2.689 6-6 6-6-2.689-6-6 2.689-6 6-6zm1 5H7v5h2V7zm0-3H7v2h2V4z" - style={{ fill: theme.blue }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/ShortLivingBranchIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/ShortLivingBranchIcon.tsx deleted file mode 100644 index c99c6644a20..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/ShortLivingBranchIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function ShortLivingBranchIcon({ className, fill = theme.blue, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <g transform="translate(3, 0)"> - <path - d="M9.5 6.5c0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.5 1.5 1.2 1.8-.3.6-.7 1.1-1.2 1.4-.9.5-1.9.5-2.5.4V4c.9-.2 1.5-1 1.5-1.9 0-1.1-.9-2-2-2s-2 .9-2 2C.5 3 1.1 3.8 2 4v8c-.9.2-1.5 1-1.5 1.9 0 1.1.9 2 2 2s2-.9 2-2c0-.9-.6-1.7-1.5-1.9v-1c.2 0 .5.1.7.1.7 0 1.5-.1 2.2-.6.8-.5 1.4-1.2 1.7-2.1 1.1 0 1.9-.9 1.9-1.9zm-8-4.4c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1-1-.5-1-1zm2 11.9c0 .6-.4 1-1 1s-1-.4-1-1 .4-1 1-1 1 .4 1 1zm4-6.5c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1z" - style={{ fill }} - /> - </g> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SortAscIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SortAscIcon.tsx deleted file mode 100644 index 3bcd5f4a47f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SortAscIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SortAscIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M6.571 12.857q0 0.107-0.089 0.214l-2.848 2.848q-0.089 0.080-0.205 0.080-0.107 0-0.205-0.080l-2.857-2.857q-0.134-0.143-0.063-0.313 0.071-0.179 0.268-0.179h1.714v-12.286q0-0.125 0.080-0.205t0.205-0.080h1.714q0.125 0 0.205 0.080t0.080 0.205v12.286h1.714q0.125 0 0.205 0.080t0.080 0.205zM16 14v1.714q0 0.125-0.080 0.205t-0.205 0.080h-7.429q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h7.429q0.125 0 0.205 0.080t0.080 0.205zM14.286 9.429v1.714q0 0.125-0.080 0.205t-0.205 0.080h-5.714q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h5.714q0.125 0 0.205 0.080t0.080 0.205zM12.571 4.857v1.714q0 0.125-0.080 0.205t-0.205 0.080h-4q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h4q0.125 0 0.205 0.080t0.080 0.205zM10.857 0.286v1.714q0 0.125-0.080 0.205t-0.205 0.080h-2.286q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h2.286q0.125 0 0.205 0.080t0.080 0.205z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/SortDescIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/SortDescIcon.tsx deleted file mode 100644 index e74138b02b2..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/SortDescIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function SortDescIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10.857 14v1.714q0 0.125-0.080 0.205t-0.205 0.080h-2.286q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h2.286q0.125 0 0.205 0.080t0.080 0.205zM6.571 12.857q0 0.107-0.089 0.214l-2.848 2.848q-0.089 0.080-0.205 0.080-0.107 0-0.205-0.080l-2.857-2.857q-0.134-0.143-0.063-0.313 0.071-0.179 0.268-0.179h1.714v-12.286q0-0.125 0.080-0.205t0.205-0.080h1.714q0.125 0 0.205 0.080t0.080 0.205v12.286h1.714q0.125 0 0.205 0.080t0.080 0.205zM12.571 9.429v1.714q0 0.125-0.080 0.205t-0.205 0.080h-4q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h4q0.125 0 0.205 0.080t0.080 0.205zM14.286 4.857v1.714q0 0.125-0.080 0.205t-0.205 0.080h-5.714q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h5.714q0.125 0 0.205 0.080t0.080 0.205zM16 0.286v1.714q0 0.125-0.080 0.205t-0.205 0.080h-7.429q-0.125 0-0.205-0.080t-0.080-0.205v-1.714q0-0.125 0.080-0.205t0.205-0.080h7.429q0.125 0 0.205 0.080t0.080 0.205z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/StatusIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/StatusIcon.tsx deleted file mode 100644 index 74fd63f4bd1..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/StatusIcon.tsx +++ /dev/null @@ -1,99 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -interface Props { - className?: string; - status: string; -} - -const statusIcons: T.Dict<(props: IconProps) => React.ReactElement<any>> = { - open: OpenStatusIcon, - confirmed: ConfirmedStatusIcon, - reopened: ReopenedStatusIcon, - resolved: ResolvedStatusIcon, - closed: ClosedStatusIcon, - to_review: OpenStatusIcon, - in_review: ConfirmedStatusIcon, - reviewed: ResolvedStatusIcon -}; - -export default function StatusIcon(props: Props) { - const status = props.status.toLowerCase(); - const Icon = statusIcons[status]; - return Icon ? <Icon className={props.className} /> : null; -} - -function OpenStatusIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 3.75c-.77 0-1.482.19-2.133.57A4.25 4.25 0 0 0 4.32 5.867c-.38.65-.57 1.362-.57 2.133 0 .77.19 1.482.57 2.133.38.65.896 1.167 1.547 1.547.65.38 1.362.57 2.133.57.77 0 1.482-.19 2.133-.57a4.242 4.242 0 0 0 1.547-1.547c.38-.65.57-1.362.57-2.133 0-.77-.19-1.482-.57-2.133a4.25 4.25 0 0 0-1.547-1.547A4.153 4.153 0 0 0 8 3.75zM14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.blue }} - /> - </Icon> - ); -} - -function ConfirmedStatusIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10 8c0 .552-.195 1.023-.586 1.414-.39.39-.862.586-1.414.586a1.926 1.926 0 0 1-1.414-.586A1.928 1.928 0 0 1 6 8c0-.552.195-1.023.586-1.414C6.976 6.196 7.448 6 8 6c.552 0 1.023.195 1.414.586.39.39.586.862.586 1.414zM8 3.75c-.77 0-1.482.19-2.133.57A4.25 4.25 0 0 0 4.32 5.867c-.38.65-.57 1.362-.57 2.133 0 .77.19 1.482.57 2.133.38.65.896 1.167 1.547 1.547.65.38 1.362.57 2.133.57.77 0 1.482-.19 2.133-.57a4.242 4.242 0 0 0 1.547-1.547c.38-.65.57-1.362.57-2.133 0-.77-.19-1.482-.57-2.133a4.25 4.25 0 0 0-1.547-1.547A4.153 4.153 0 0 0 8 3.75zM14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.blue }} - /> - </Icon> - ); -} - -function ReopenedStatusIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M8 12.25v-8.5c-.77 0-1.482.19-2.133.57A4.25 4.25 0 0 0 4.32 5.867c-.38.65-.57 1.362-.57 2.133 0 .77.19 1.482.57 2.133.38.65.896 1.167 1.547 1.547.65.38 1.362.57 2.133.57zM14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.blue }} - /> - </Icon> - ); -} - -function ResolvedStatusIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M12.03 6.734a.49.49 0 0 0-.14-.36l-.71-.702a.48.48 0 0 0-.352-.15.474.474 0 0 0-.35.15l-3.19 3.18-1.765-1.766a.479.479 0 0 0-.35-.15.479.479 0 0 0-.353.15l-.71.703a.482.482 0 0 0-.14.358c0 .14.046.258.14.352l2.828 2.828c.098.1.216.15.35.15.142 0 .26-.05.36-.15l4.243-4.242a.475.475 0 0 0 .14-.352l-.001.001zM14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.baseFontColor }} - /> - </Icon> - ); -} - -function ClosedStatusIcon({ className, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.baseFontColor }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/TagsIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/TagsIcon.tsx deleted file mode 100644 index ceec87a3626..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/TagsIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function TagsIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M4.303 5.36a.94.94 0 0 0-.944-.945.94.94 0 0 0-.944.944c0 .524.42.944.944.944a.94.94 0 0 0 .944-.944zm7.866 4.246a.95.95 0 0 1-.273.663l-3.62 3.627a.95.95 0 0 1-1.334 0L1.671 8.618C1.295 8.249 1 7.534 1 7.01V3.944A.95.95 0 0 1 1.944 3H5.01c.523 0 1.238.295 1.614.67l5.271 5.265a.98.98 0 0 1 .273.67zm2.831 0a.95.95 0 0 1-.273.663l-3.62 3.627a.98.98 0 0 1-.67.273c-.384 0-.575-.177-.826-.435l3.465-3.465a.95.95 0 0 0 0-1.334L7.805 3.67C7.429 3.295 6.714 3 6.19 3h1.651c.524 0 1.239.295 1.615.67l5.271 5.265a.98.98 0 0 1 .273.67z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/TestStatusIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/TestStatusIcon.tsx deleted file mode 100644 index f5cecdecb70..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/TestStatusIcon.tsx +++ /dev/null @@ -1,84 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -interface Props { - className?: string; - status: string; -} - -const statusIcons: T.Dict<(props: IconProps) => React.ReactElement<any>> = { - ok: OkTestStatusIcon, - failure: FailureTestStatusIcon, - error: ErrorTestStatusIcon, - skipped: SkippedTestStatusIcon -}; - -export default function TestStatusIcon(props: Props) { - const status = props.status.toLowerCase(); - const Icon = statusIcons[status]; - return Icon ? <Icon className={props.className} /> : null; -} - -function OkTestStatusIcon({ className }: IconProps) { - return ( - <Icon className={className}> - <path - d="M12.03 6.734a.49.49 0 0 0-.14-.36l-.71-.702a.48.48 0 0 0-.352-.15.474.474 0 0 0-.35.15l-3.19 3.18-1.765-1.766a.479.479 0 0 0-.35-.15.479.479 0 0 0-.353.15l-.71.703a.482.482 0 0 0-.14.358c0 .14.046.258.14.352l2.828 2.828c.098.1.216.15.35.15.142 0 .26-.05.36-.15l4.243-4.242a.475.475 0 0 0 .14-.352l-.001.001zM14 8c0 1.09-.268 2.092-.805 3.012a5.96 5.96 0 0 1-2.183 2.183A5.863 5.863 0 0 1 8 14a5.863 5.863 0 0 1-3.012-.805 5.96 5.96 0 0 1-2.183-2.183A5.863 5.863 0 0 1 2 8c0-1.09.268-2.092.805-3.012a5.96 5.96 0 0 1 2.183-2.183A5.863 5.863 0 0 1 8 2c1.09 0 2.092.268 3.012.805a5.96 5.96 0 0 1 2.183 2.183C13.732 5.908 14 6.91 14 8z" - style={{ fill: theme.green }} - /> - </Icon> - ); -} - -function FailureTestStatusIcon({ className }: IconProps) { - return ( - <Icon className={className}> - <path - d="M8 14c-3.311 0-6-2.689-6-6s2.689-6 6-6 6 2.689 6 6-2.689 6-6 6zM7 9h2V4H7v5zm0 3h2v-2H7v2z" - style={{ fill: theme.orange, fillRule: 'nonzero' }} - /> - </Icon> - ); -} - -function ErrorTestStatusIcon({ className }: IconProps) { - return ( - <Icon className={className}> - <path - d="M10.977 9.766a.497.497 0 0 0-.149-.352L9.414 8l1.414-1.414a.497.497 0 0 0 0-.711l-.703-.703a.497.497 0 0 0-.71 0L8 6.586 6.586 5.172a.497.497 0 0 0-.711 0l-.703.703a.497.497 0 0 0 0 .71L6.586 8 5.172 9.414a.497.497 0 0 0 0 .711l.703.703a.497.497 0 0 0 .71 0L8 9.414l1.414 1.414a.497.497 0 0 0 .711 0l.703-.703a.515.515 0 0 0 .149-.36zM14 8c0 3.313-2.688 6-6 6-3.313 0-6-2.688-6-6 0-3.313 2.688-6 6-6 3.313 0 6 2.688 6 6z" - style={{ fill: theme.red, fillRule: 'nonzero' }} - /> - </Icon> - ); -} - -function SkippedTestStatusIcon({ className }: IconProps) { - return ( - <Icon className={className}> - <path - d="M11.5 8.5v-1c0-.273-.227-.5-.5-.5H5c-.273 0-.5.227-.5.5v1c0 .273.227.5.5.5h6c.273 0 .5-.227.5-.5zM14 8c0 3.313-2.688 6-6 6-3.313 0-6-2.688-6-6 0-3.313 2.688-6 6-6 3.313 0 6 2.688 6 6z" - style={{ fill: theme.gray71, fillRule: 'nonzero' }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/TreeIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/TreeIcon.tsx deleted file mode 100644 index d6d50161d89..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/TreeIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function TreeIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M15.045 2.467c0-0.277-0.225-0.503-0.503-0.503h-13.084c-0.277 0-0.503 0.225-0.503 0.503v1.007c0 0.277 0.225 0.503 0.503 0.503h13.084c0.277 0 0.503-0.225 0.503-0.503v-1.007zM15.045 5.487c0-0.277-0.194-0.503-0.432-0.503h-11.216c-0.238 0-0.432 0.225-0.432 0.503v1.007c0 0.277 0.193 0.503 0.432 0.503h11.216c0.238 0 0.432-0.225 0.432-0.503v-1.007zM15.045 8.506c0-0.277-0.161-0.503-0.359-0.503h-9.346c-0.198 0-0.359 0.225-0.359 0.503v1.007c0 0.277 0.161 0.503 0.359 0.503h9.346c0.198 0 0.359-0.225 0.359-0.503v-1.007zM15.045 11.527c0-0.277-0.129-0.503-0.287-0.503h-7.477c-0.159 0-0.288 0.225-0.288 0.503v1.007c0 0.277 0.129 0.503 0.288 0.503h7.477c0.159 0 0.287-0.225 0.287-0.503v-1.007z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/TreemapIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/TreemapIcon.tsx deleted file mode 100644 index dfdf42ac7d3..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/TreemapIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function TreemapIcon({ className, fill = 'currentColor', size = 14 }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M0 0h8v16h-8zM9.143 0h6.857v9.143h-6.857zM9.143 10.286h6.857v5.714h-6.857z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/VisibleIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/VisibleIcon.tsx deleted file mode 100644 index 679a5da2ba1..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/VisibleIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function VisibleIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M13.524 8.403q-1.093-1.697-2.74-2.539 0.439 0.748 0.439 1.618 0 1.331-0.946 2.276t-2.276 0.946-2.276-0.946-0.946-2.276q0-0.87 0.439-1.618-1.647 0.842-2.74 2.539 0.957 1.474 2.399 2.348t3.125 0.874 3.125-0.874 2.399-2.348zM8.345 5.641q0-0.144-0.101-0.245t-0.245-0.101q-0.899 0-1.543 0.644t-0.644 1.543q0 0.144 0.101 0.245t0.245 0.101 0.245-0.101 0.101-0.245q0-0.619 0.439-1.057t1.057-0.439q0.144 0 0.245-0.101t0.101-0.245zM14.444 8.403q0 0.245-0.144 0.496-1.007 1.654-2.708 2.65t-3.593 0.996-3.593-1-2.708-2.647q-0.144-0.252-0.144-0.496t0.144-0.496q1.007-1.647 2.708-2.647t3.593-1 3.593 1 2.708 2.647q0.144 0.252 0.144 0.496z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/VulnerabilityIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/VulnerabilityIcon.tsx deleted file mode 100644 index 0bfc8483075..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/VulnerabilityIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; - -export default function VulnerabilityIcon({ className, fill = 'currentColor', size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M10.8 5H6V3.9a2.28 2.28 0 0 1 2-2.5 2.22 2.22 0 0 1 1.8 1.2.48.48 0 0 0 .7.2.48.48 0 0 0 .2-.7A3 3 0 0 0 8 .4a3.34 3.34 0 0 0-3 3.5v1.2a2.16 2.16 0 0 0-2 2.1v4.4a2.22 2.22 0 0 0 2.2 2.2h5.6a2.22 2.22 0 0 0 2.2-2.2V7.2A2.22 2.22 0 0 0 10.8 5zm-2.2 5.5v1.2H7.4v-1.2a1.66 1.66 0 0 1-1.1-1.6A1.75 1.75 0 0 1 8 7.2a1.71 1.71 0 0 1 .6 3.3z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/WarningIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/WarningIcon.tsx deleted file mode 100644 index 2be94736d34..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/WarningIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import Icon, { IconProps } from './Icon'; -import * as theme from '../../app/theme'; - -export default function WarningIcon({ className, fill = theme.warningIconColor, size }: IconProps) { - return ( - <Icon className={className} size={size}> - <path - d="M9 12.242v-1.484c0-.14-.11-.258-.25-.258h-1.5c-.14 0-.25.117-.25.258v1.484c0 .14.11.258.25.258h1.5c.14 0 .25-.117.25-.258zM8.984 9.32l.141-3.586a.189.189 0 0 0-.078-.148C9 5.546 8.93 5.5 8.859 5.5H7.141c-.07 0-.141.047-.188.086-.055.039-.078.117-.078.164l.133 3.57c0 .102.117.18.265.18H8.72c.14 0 .258-.078.265-.18zm-.109-7.297l6 11A1 1 0 0 1 14 14.5H2a1 1 0 0 1-.875-1.477l6-11a.994.994 0 0 1 1.75 0z" - style={{ fill }} - /> - </Icon> - ); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/AlertSuccessIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/AlertSuccessIcon.tsx deleted file mode 100644 index c597a641ba6..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/AlertSuccessIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKAlertSuccessIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/BugIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/BugIcon.tsx deleted file mode 100644 index 987265294fc..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/BugIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKBugIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/BulletListIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/BulletListIcon.tsx deleted file mode 100644 index 1ba3b49c79c..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/BulletListIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKBulletListIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/ClearIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/ClearIcon.tsx deleted file mode 100644 index 9565391375c..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/ClearIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKClearIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/CodeSmellIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/CodeSmellIcon.tsx deleted file mode 100644 index 8fb340f47c9..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/CodeSmellIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKCodeSmellIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/DeleteIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/DeleteIcon.tsx deleted file mode 100644 index 8b347e92d5b..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/DeleteIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKDeleteIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/HistoryIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/HistoryIcon.tsx deleted file mode 100644 index 1c71f923fc8..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/HistoryIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKHistoryIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/SearchIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/SearchIcon.tsx deleted file mode 100644 index 323ea37cd8d..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/SearchIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKSearchIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/SecurityHotspotIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/SecurityHotspotIcon.tsx deleted file mode 100644 index 8b817c65826..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/SecurityHotspotIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKSecurityHotspotIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/TagsIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/TagsIcon.tsx deleted file mode 100644 index 17223251155..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/TagsIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKTagsIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__mocks__/VulnerabilityIcon.tsx b/server/sonar-web/src/main/js/components/icons-components/__mocks__/VulnerabilityIcon.tsx deleted file mode 100644 index 77038c6540f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__mocks__/VulnerabilityIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export default function MOCKVulnerabilityIcon() { - return null; -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__tests__/IssueIcon-test.tsx b/server/sonar-web/src/main/js/components/icons-components/__tests__/IssueIcon-test.tsx deleted file mode 100644 index 59f2d13e47f..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__tests__/IssueIcon-test.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import IssueIcon from '../IssueIcon'; - -it('should render correctly', () => { - expect(shallowRender('BUG')).toMatchSnapshot(); - expect(shallowRender('VULNERABILITY')).toMatchSnapshot(); - expect(shallowRender('CODE_SMELL')).toMatchSnapshot(); - expect(shallowRender('SECURITY_HOTSPOT')).toMatchSnapshot(); -}); - -function shallowRender(type: T.IssueType) { - return shallow(<IssueIcon type={type} />); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__tests__/TestStatusIcon-test.tsx b/server/sonar-web/src/main/js/components/icons-components/__tests__/TestStatusIcon-test.tsx deleted file mode 100644 index 2d9b4992447..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__tests__/TestStatusIcon-test.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import TestStatusIcon from '../TestStatusIcon'; - -it('should render correctly', () => { - expect(shallowRender('OK')).toMatchSnapshot(); - expect(shallowRender('failure')).toMatchSnapshot(); - expect(shallowRender('skipped')).toMatchSnapshot(); - expect(shallowRender('Error')).toMatchSnapshot(); -}); - -function shallowRender(status: string) { - return shallow(<TestStatusIcon status={status} />); -} diff --git a/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/IssueIcon-test.tsx.snap b/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/IssueIcon-test.tsx.snap deleted file mode 100644 index f3f5fcf1a7a..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/IssueIcon-test.tsx.snap +++ /dev/null @@ -1,9 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = `<BugIcon />`; - -exports[`should render correctly 2`] = `<VulnerabilityIcon />`; - -exports[`should render correctly 3`] = `<CodeSmellIcon />`; - -exports[`should render correctly 4`] = `<SecurityHotspotIcon />`; diff --git a/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/TestStatusIcon-test.tsx.snap b/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/TestStatusIcon-test.tsx.snap deleted file mode 100644 index 12b493c10ed..00000000000 --- a/server/sonar-web/src/main/js/components/icons-components/__tests__/__snapshots__/TestStatusIcon-test.tsx.snap +++ /dev/null @@ -1,9 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = `<OkTestStatusIcon />`; - -exports[`should render correctly 2`] = `<FailureTestStatusIcon />`; - -exports[`should render correctly 3`] = `<SkippedTestStatusIcon />`; - -exports[`should render correctly 4`] = `<ErrorTestStatusIcon />`; diff --git a/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx index 514aff0d006..0b2afacc621 100644 --- a/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx +++ b/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { DateSource, FormattedDate } from 'react-intl'; -import { parseDate } from '../../helpers/dates'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; interface Props { children?: (formattedDate: string) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx b/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx index 7f54e17de84..cd9ed068de2 100644 --- a/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx +++ b/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { DateSource, FormattedRelative } from 'react-intl'; -import { parseDate } from '../../helpers/dates'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; interface Props { children?: (formattedDate: string) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx b/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx index c8cad8cb0fe..6e8bc731499 100644 --- a/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx +++ b/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import * as differenceInHours from 'date-fns/difference_in_hours'; import { DateSource } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFromNow from './DateFromNow'; import DateTimeFormatter from './DateTimeFormatter'; -import Tooltip from '../controls/Tooltip'; -import { differenceInHours } from '../../helpers/dates'; -import { translate } from '../../helpers/l10n'; interface Props { children?: (formattedDate: string) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx index cb5c9d3146f..3a173bf9ff1 100644 --- a/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx +++ b/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { DateSource, FormattedDate } from 'react-intl'; -import { parseDate } from '../../helpers/dates'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; interface Props { children?: (formattedDate: string) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx index b9c68134406..b47e3a6d678 100644 --- a/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx +++ b/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; import DateFormatter from './DateFormatter'; import DateTimeFormatter from './DateTimeFormatter'; -import Tooltip from '../controls/Tooltip'; -import { parseDate } from '../../helpers/dates'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx b/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx index 1b948ee59d4..b39d9572e7f 100644 --- a/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx +++ b/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx @@ -19,7 +19,7 @@ */ import * as React from 'react'; import { DateSource, FormattedTime } from 'react-intl'; -import { parseDate } from '../../helpers/dates'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; interface Props { children?: (formattedDate: string) => React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/issue/IssueView.tsx b/server/sonar-web/src/main/js/components/issue/IssueView.tsx index e1d2371d4a7..9f48e8a5be7 100644 --- a/server/sonar-web/src/main/js/components/issue/IssueView.tsx +++ b/server/sonar-web/src/main/js/components/issue/IssueView.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import classNames from 'classnames'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import { updateIssue } from './actions'; import IssueTitleBar from './components/IssueTitleBar'; import IssueActionsBar from './components/IssueActionsBar'; import IssueCommentLine from './components/IssueCommentLine'; -import Checkbox from '../controls/Checkbox'; import { deleteIssueComment, editIssueComment } from '../../api/issues'; interface Props { diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueActionsBar.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueActionsBar.tsx index 7c7b2353c9d..398be6a667a 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueActionsBar.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueActionsBar.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; import IssueAssign from './IssueAssign'; import IssueCommentAction from './IssueCommentAction'; import IssueSeverity from './IssueSeverity'; @@ -25,8 +26,6 @@ import IssueTags from './IssueTags'; import IssueTransition from './IssueTransition'; import IssueType from './IssueType'; import { updateIssue } from '../actions'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; import { IssueResponse } from '../../../api/issues'; interface Props { @@ -51,7 +50,7 @@ export default class IssueActionsBar extends React.PureComponent<Props, State> { setIssueProperty = ( property: keyof T.Issue, popup: string, - apiCall: (query: RawQuery) => Promise<IssueResponse>, + apiCall: (query: T.RawQuery) => Promise<IssueResponse>, value: string ) => { const { issue } = this.props; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueAssign.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueAssign.tsx index af3ba46ed68..c13bf63ea1b 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueAssign.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueAssign.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import Avatar from '../../ui/Avatar'; -import DropdownIcon from '../../icons-components/DropdownIcon'; import SetAssigneePopup from '../popups/SetAssigneePopup'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { isOpen: boolean; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.tsx index 8c22691e386..6def0df2907 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import ChangelogPopup from '../popups/ChangelogPopup'; import DateFromNow from '../../intl/DateFromNow'; import DateTimeFormatter from '../../intl/DateTimeFormatter'; -import DropdownIcon from '../../icons-components/DropdownIcon'; -import Toggler from '../../controls/Toggler'; -import Tooltip from '../../controls/Tooltip'; -import { ButtonLink } from '../../ui/buttons'; interface Props { isOpen: boolean; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.tsx index 6b9ad457a22..a4e84cbf7a9 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; export interface ChangelogDiff { key: string; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueCommentAction.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueCommentAction.tsx index f1811fb1f9c..b6347083bd5 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueCommentAction.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueCommentAction.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import CommentPopup from '../popups/CommentPopup'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; import { addIssueComment } from '../../../api/issues'; -import { translate } from '../../../helpers/l10n'; import { updateIssue } from '../actions'; interface Props { diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.tsx index e58535bff9f..117697c19a7 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { sanitize } from 'dompurify'; +import { EditButton, DeleteButton } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import Avatar from '../../ui/Avatar'; -import Toggler from '../../controls/Toggler'; -import { EditButton, DeleteButton } from '../../ui/buttons'; import CommentDeletePopup from '../popups/CommentDeletePopup'; import CommentPopup from '../popups/CommentPopup'; import DateFromNow from '../../intl/DateFromNow'; -import { PopupPlacement } from '../../ui/popups'; interface Props { comment: T.IssueComment; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueMessage.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueMessage.tsx index 96b00e2cf73..08fa42b8984 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueMessage.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueMessage.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import Tooltip from '../../controls/Tooltip'; -import { Button } from '../../ui/buttons'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; import { WorkspaceContextShape } from '../../workspace/context'; -import { translate, translateWithParameters } from '../../../helpers/l10n'; interface Props { engine?: string; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueSeverity.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueSeverity.tsx index 2005cab4dcd..9ff9dc1cc4d 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueSeverity.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueSeverity.tsx @@ -18,13 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DropdownIcon from '../../icons-components/DropdownIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import SetSeverityPopup from '../popups/SetSeverityPopup'; import SeverityHelper from '../../shared/SeverityHelper'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; import { setIssueSeverity, IssueResponse } from '../../../api/issues'; -import { RawQuery } from '../../../helpers/query'; interface Props { canSetSeverity: boolean; @@ -33,7 +32,7 @@ interface Props { setIssueProperty: ( property: keyof T.Issue, popup: string, - apiCall: (query: RawQuery) => Promise<IssueResponse>, + apiCall: (query: T.RawQuery) => Promise<IssueResponse>, value: string ) => void; togglePopup: (popup: string, show?: boolean) => void; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueTags.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueTags.tsx index 2692b3f61ec..efec83f5c8f 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueTags.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueTags.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import SetIssueTagsPopup from '../popups/SetIssueTagsPopup'; import TagsList from '../../tags/TagsList'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; import { setIssueTags } from '../../../api/issues'; -import { translate } from '../../../helpers/l10n'; import { updateIssue } from '../actions'; interface Props { diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.tsx index 963ae5a26f5..136ce3cc943 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { Link } from 'react-router'; +import LinkIcon from 'sonar-ui-common/components/icons/LinkIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import IssueChangelog from './IssueChangelog'; import IssueMessage from './IssueMessage'; import SimilarIssuesFilter from './SimilarIssuesFilter'; -import LinkIcon from '../../icons-components/LinkIcon'; import { getBranchLikeQuery } from '../../../helpers/branches'; import { getComponentIssuesUrl } from '../../../helpers/urls'; -import { translate } from '../../../helpers/l10n'; import { WorkspaceContext } from '../../workspace/context'; interface Props { diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueTransition.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueTransition.tsx index cc4bba9c6b8..8ad432f35d6 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueTransition.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueTransition.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DropdownIcon from '../../icons-components/DropdownIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import SetTransitionPopup from '../popups/SetTransitionPopup'; import StatusHelper from '../../shared/StatusHelper'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; import { setIssueTransition } from '../../../api/issues'; import { updateIssue } from '../actions'; diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueType.tsx b/server/sonar-web/src/main/js/components/issue/components/IssueType.tsx index 7cf5e86a391..49a836b9bf5 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueType.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/IssueType.tsx @@ -18,14 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DropdownIcon from '../../icons-components/DropdownIcon'; -import IssueTypeIcon from '../../ui/IssueTypeIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import SetTypePopup from '../popups/SetTypePopup'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; import { setIssueType, IssueResponse } from '../../../api/issues'; -import { translate } from '../../../helpers/l10n'; -import { RawQuery } from '../../../helpers/query'; interface Props { canSetType: boolean; @@ -34,7 +33,7 @@ interface Props { setIssueProperty: ( property: keyof T.Issue, popup: string, - apiCall: (query: RawQuery) => Promise<IssueResponse>, + apiCall: (query: T.RawQuery) => Promise<IssueResponse>, value: string ) => void; togglePopup: (popup: string, show?: boolean) => void; diff --git a/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.tsx b/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.tsx index 407e14a5ce6..cd4240f90c3 100644 --- a/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import DropdownIcon from '../../icons-components/DropdownIcon'; -import FilterIcon from '../../icons-components/FilterIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import FilterIcon from 'sonar-ui-common/components/icons/FilterIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Toggler from 'sonar-ui-common/components/controls/Toggler'; import SimilarIssuesPopup from '../popups/SimilarIssuesPopup'; -import Toggler from '../../controls/Toggler'; -import { ButtonLink } from '../../ui/buttons'; -import { translate } from '../../../helpers/l10n'; interface Props { isOpen: boolean; diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueAssign-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueAssign-test.tsx index b3d32567124..fcf621c0086 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueAssign-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueAssign-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueAssign from '../IssueAssign'; -import { click } from '../../../../helpers/testUtils'; const issue = { assignee: 'john', diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueChangelog-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueChangelog-test.tsx index 84cc1d412a4..fcf5125658e 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueChangelog-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueChangelog-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueChangelog from '../IssueChangelog'; -import { click } from '../../../../helpers/testUtils'; const issue = { key: 'issuekey', diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentAction-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentAction-test.tsx index 8cf54201ad5..5509f5575c6 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentAction-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentAction-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueCommentAction from '../IssueCommentAction'; -import { click } from '../../../../helpers/testUtils'; it('should render correctly', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentLine-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentLine-test.tsx index 43953e74c4a..14f487b2950 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentLine-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueCommentLine-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueCommentLine from '../IssueCommentLine'; -import { click } from '../../../../helpers/testUtils'; const comment: T.IssueComment = { authorAvatar: 'gravatarhash', diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueSeverity-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueSeverity-test.tsx index 517e907e034..c15017b0cd9 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueSeverity-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueSeverity-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueSeverity from '../IssueSeverity'; -import { click } from '../../../../helpers/testUtils'; const issue = { severity: 'BLOCKER' }; diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTags-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTags-test.tsx index 01647557f6b..f9b14f5c7bc 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTags-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTags-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueTags from '../IssueTags'; -import { click } from '../../../../helpers/testUtils'; const issue = { key: 'issuekey', projectOrganization: 'foo', tags: ['mytag', 'test'] }; diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTransition-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTransition-test.tsx index 3324d049d70..8e398bfe782 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTransition-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueTransition-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueTransition from '../IssueTransition'; -import { click } from '../../../../helpers/testUtils'; const issue: IssueTransition['props']['issue'] = { fromHotspot: false, diff --git a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueType-test.tsx b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueType-test.tsx index 014b6555979..eaa221962a5 100644 --- a/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueType-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/components/__tests__/IssueType-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import IssueType from '../IssueType'; -import { click } from '../../../../helpers/testUtils'; const issue: Pick<T.Issue, 'type'> = { type: 'BUG' }; diff --git a/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.tsx index 5898341214b..2a023866e2a 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import { getIssueChangelog } from '../../../api/issues'; -import { translate } from '../../../helpers/l10n'; import Avatar from '../../ui/Avatar'; import DateTimeFormatter from '../../intl/DateTimeFormatter'; import IssueChangelogDiff, { ChangelogDiff } from '../components/IssueChangelogDiff'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import { PopupPlacement } from '../../ui/popups'; interface Changelog { avatar?: string; diff --git a/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.tsx index 242312b5b63..e6417dd06f2 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Button } from '../../ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import { PopupPlacement } from '../../ui/popups'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; interface Props { onDelete: () => void; diff --git a/server/sonar-web/src/main/js/components/issue/popups/CommentPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/CommentPopup.tsx index 50ee52e2ff3..94bb358351d 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/CommentPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/CommentPopup.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import MarkdownTips from '../../common/MarkdownTips'; -import { Button, ResetButtonLink } from '../../ui/buttons'; -import { translate } from '../../../helpers/l10n'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import { PopupPlacement } from '../../ui/popups'; interface Props { comment?: Pick<T.IssueComment, 'markdown'>; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.tsx index 50b8f33b411..52ed2d9d674 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.tsx @@ -20,15 +20,15 @@ import * as React from 'react'; import { map } from 'lodash'; import { connect } from 'react-redux'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import Avatar from '../../ui/Avatar'; import SelectList from '../../common/SelectList'; import SelectListItem from '../../common/SelectListItem'; -import SearchBox from '../../controls/SearchBox'; import { searchMembers } from '../../../api/organizations'; import { searchUsers } from '../../../api/users'; -import { translate } from '../../../helpers/l10n'; import { getCurrentUser, Store } from '../../../store/rootReducer'; -import { DropdownOverlay } from '../../controls/Dropdown'; import { isSonarCloud } from '../../../helpers/system'; import { isLoggedIn } from '../../../helpers/users'; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.tsx index 7459b1c53f2..517fd5e9b62 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { difference, without } from 'lodash'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import { PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import TagsSelector from '../../tags/TagsSelector'; import { searchIssueTags } from '../../../api/issues'; -import { DropdownOverlay } from '../../controls/Dropdown'; -import { PopupPlacement } from '../../ui/popups'; interface Props { organization: string; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.tsx index 284a0b1becc..5a1b496de71 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; +import SeverityIcon from 'sonar-ui-common/components/icons/SeverityIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import SelectList from '../../common/SelectList'; import SelectListItem from '../../common/SelectListItem'; -import SeverityIcon from '../../icons-components/SeverityIcon'; -import { DropdownOverlay } from '../../controls/Dropdown'; type Props = { issue: Pick<T.Issue, 'severity'>; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetTransitionPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SetTransitionPopup.tsx index d6e1dc388c8..7a281c6e078 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetTransitionPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SetTransitionPopup.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate, hasMessage } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; import SelectList from '../../common/SelectList'; import SelectListItem from '../../common/SelectListItem'; -import { translate, hasMessage } from '../../../helpers/l10n'; -import { DropdownOverlay } from '../../controls/Dropdown'; export interface Props { fromHotspot: boolean; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.tsx index c2ec61fe4cf..6849bb69b42 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { translate } from '../../../helpers/l10n'; -import IssueTypeIcon from '../../ui/IssueTypeIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; import SelectList from '../../common/SelectList'; import SelectListItem from '../../common/SelectListItem'; -import { DropdownOverlay } from '../../controls/Dropdown'; interface Props { issue: Pick<T.Issue, 'type'>; diff --git a/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.tsx b/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.tsx index 66b4e55c12c..2b4c067d78f 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.tsx @@ -18,17 +18,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; +import { fileFromPath, limitComponentName } from 'sonar-ui-common/helpers/path'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown'; +import Avatar from '../../ui/Avatar'; import SelectList from '../../common/SelectList'; import SelectListItem from '../../common/SelectListItem'; -import { DropdownOverlay } from '../../controls/Dropdown'; import SeverityHelper from '../../shared/SeverityHelper'; import StatusHelper from '../../shared/StatusHelper'; -import QualifierIcon from '../../icons-components/QualifierIcon'; -import TagsIcon from '../../icons-components/TagsIcon'; -import IssueTypeIcon from '../../ui/IssueTypeIcon'; -import Avatar from '../../ui/Avatar'; -import { translate } from '../../../helpers/l10n'; -import { fileFromPath, limitComponentName } from '../../../helpers/path'; interface Props { issue: T.Issue; diff --git a/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentDeletePopup-test.tsx b/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentDeletePopup-test.tsx index b585ad26fb9..a4e72ca0de0 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentDeletePopup-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentDeletePopup-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import CommentDeletePopup from '../CommentDeletePopup'; -import { click } from '../../../../helpers/testUtils'; it('should render the comment delete popup correctly', () => { const onDelete = jest.fn(); diff --git a/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentPopup-test.tsx b/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentPopup-test.tsx index 643328d11bb..3eefe780743 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentPopup-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/__tests__/CommentPopup-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import CommentPopup from '../CommentPopup'; -import { click } from '../../../../helpers/testUtils'; it('should render the comment popup correctly without existing comment', () => { const element = shallow( diff --git a/server/sonar-web/src/main/js/components/issue/popups/__tests__/SetTransitionPopup-test.tsx b/server/sonar-web/src/main/js/components/issue/popups/__tests__/SetTransitionPopup-test.tsx index dc197d693e4..cd5692f876f 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/__tests__/SetTransitionPopup-test.tsx +++ b/server/sonar-web/src/main/js/components/issue/popups/__tests__/SetTransitionPopup-test.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { hasMessage } from 'sonar-ui-common/helpers/l10n'; import SetTransitionPopup, { Props } from '../SetTransitionPopup'; -import { hasMessage } from '../../../../helpers/l10n'; -jest.mock('../../../../helpers/l10n', () => ({ - ...jest.requireActual('../../../../helpers/l10n'), +jest.mock('sonar-ui-common/helpers/l10n', () => ({ + ...jest.requireActual('sonar-ui-common/helpers/l10n'), hasMessage: jest.fn().mockReturnValue(false) })); diff --git a/server/sonar-web/src/main/js/components/lazyLoad.tsx b/server/sonar-web/src/main/js/components/lazyLoad.tsx deleted file mode 100644 index dad22b48f66..00000000000 --- a/server/sonar-web/src/main/js/components/lazyLoad.tsx +++ /dev/null @@ -1,97 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { Alert } from './ui/Alert'; -import { translate } from '../helpers/l10n'; -import { get, save } from '../helpers/storage'; - -interface Loader<P> { - (): Promise<{ default: React.ComponentType<P> }>; -} - -export const LAST_FAILED_CHUNK_STORAGE_KEY = 'sonarqube.last_failed_chunk'; - -export function lazyLoad<P>(loader: Loader<P>, displayName?: string) { - interface ImportError { - request?: string; - } - - interface State { - Component?: React.ComponentType<P>; - error?: ImportError; - } - - // use `React.Component`, not `React.PureComponent` to always re-render - // and let the child component decide if it needs to change - // also, use any instead of P because typescript doesn't cope correctly with default props - return class LazyLoader extends React.Component<any, State> { - mounted = false; - static displayName = displayName; - state: State = {}; - - componentDidMount() { - this.mounted = true; - loader().then(i => this.receiveComponent(i.default), this.failToReceiveComponent); - } - - componentWillUnmount() { - this.mounted = false; - } - - receiveComponent = (Component: React.ComponentType<P>) => { - if (this.mounted) { - this.setState({ Component, error: undefined }); - } - }; - - failToReceiveComponent = (error?: ImportError) => { - const lastFailedChunk = get(LAST_FAILED_CHUNK_STORAGE_KEY); - if (error && error.request === lastFailedChunk) { - // BOOM! - // this is the second time we try to load the same file - // usually that means the file does not exist on the server - // so we should not try to reload the page to not fall into infinite reloading - // just show the error message - if (this.mounted) { - this.setState({ Component: undefined, error }); - } - } else { - if (error && error.request) { - save(LAST_FAILED_CHUNK_STORAGE_KEY, error.request); - } - window.location.reload(); - } - }; - - render() { - const { Component, error } = this.state; - - if (error && error.request) { - return <Alert variant="error">{translate('default_error_message')}</Alert>; - } - - if (!Component) { - return null; - } - - return <Component {...this.props as any} />; - } - }; -} diff --git a/server/sonar-web/src/main/js/components/measure/Measure.tsx b/server/sonar-web/src/main/js/components/measure/Measure.tsx index 27bd93a11dc..2d052ef4f3f 100644 --- a/server/sonar-web/src/main/js/components/measure/Measure.tsx +++ b/server/sonar-web/src/main/js/components/measure/Measure.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import Tooltip from 'sonar-ui-common/components/controls/Tooltip'; +import Level from 'sonar-ui-common/components/ui/Level'; +import Rating from 'sonar-ui-common/components/ui/Rating'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import { getRatingTooltip } from './utils'; -import Rating from '../ui/Rating'; -import Level from '../ui/Level'; -import Tooltip from '../controls/Tooltip'; -import { formatMeasure } from '../../helpers/measures'; interface Props { className?: string; @@ -42,7 +42,7 @@ export default function Measure({ value }: Props) { if (value === undefined) { - return <span>{'–'}</span>; + return <span>–</span>; } if (metricType === 'LEVEL') { diff --git a/server/sonar-web/src/main/js/components/nav/ContextNavBar.css b/server/sonar-web/src/main/js/components/nav/ContextNavBar.css deleted file mode 100644 index 886eb85a313..00000000000 --- a/server/sonar-web/src/main/js/components/nav/ContextNavBar.css +++ /dev/null @@ -1,99 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.navbar-context, -.navbar-context .navbar-inner { - background-color: #fff; - z-index: 420; -} - -.navbar-context .navbar-inner { - padding-top: var(--gridSize); - border-bottom: 1px solid var(--barBorderColor); -} - -.navbar-context .navbar-inner-with-notif { - border-bottom: none; -} - -.navbar-context-justified { - display: flex; - justify-content: space-between; -} - -/* use `min-width: 0` to cut breadcrumb links (to end with "...") */ -/* https://stackoverflow.com/questions/38223879/white-space-nowrap-breaks-flexbox-layout */ -.navbar-context-header { - display: flex; - align-items: center; - min-width: 0; - height: calc(4 * var(--gridSize)); - font-size: var(--bigFontSize); -} - -/* disallow icons and slash separators to shrink */ -.navbar-context-header > *:not(.navbar-context-header-breadcrumb-link) { - flex-shrink: 0; -} - -.navbar-context-header-breadcrumb-link { - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.navbar-context-header .slash-separator { - margin-left: var(--gridSize); - margin-right: var(--gridSize); - font-size: 24px; -} - -.navbar-context-header .slash-separator::after { - color: rgba(68, 68, 68, 0.2); -} - -/* set `min-width: 0` to allow flexbox item to shrink */ -/* https://stackoverflow.com/questions/38223879/white-space-nowrap-breaks-flexbox-layout */ -.navbar-context-meta { - display: flex; - align-items: center; - height: calc(4 * var(--gridSize)); - padding-left: 20px; - color: var(--secondFontColor); - font-size: var(--smallFontSize); - text-align: right; -} - -.navbar-context-meta-secondary { - position: absolute; - top: 34px; - right: 0; - padding: 0 20px; - white-space: nowrap; -} - -.navbar-context-description { - display: inline-block; - line-height: var(--controlHeight); - margin-left: var(--gridSize); - padding-top: 4px; - color: var(--secondFontColor); - font-size: var(--smallFontSize); -} diff --git a/server/sonar-web/src/main/js/components/nav/ContextNavBar.tsx b/server/sonar-web/src/main/js/components/nav/ContextNavBar.tsx deleted file mode 100644 index f6118fc87fe..00000000000 --- a/server/sonar-web/src/main/js/components/nav/ContextNavBar.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import NavBar from './NavBar'; -import './ContextNavBar.css'; - -interface Props { - className?: string; - height: number; - [attr: string]: any; -} - -export default function ContextNavBar({ className, ...other }: Props) { - return <NavBar className={classNames('navbar-context', className)} {...other} />; -} diff --git a/server/sonar-web/src/main/js/components/nav/NavBar.css b/server/sonar-web/src/main/js/components/nav/NavBar.css deleted file mode 100644 index b0fb5346c75..00000000000 --- a/server/sonar-web/src/main/js/components/nav/NavBar.css +++ /dev/null @@ -1,47 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.navbar, -[class^='navbar-'], -[class*=' navbar-'] { - box-sizing: border-box; -} - -.navbar { -} - -.navbar-inner { - position: fixed; - left: 0; - right: 0; -} - -.ReactModal__Body--open .navbar-inner { - padding-right: var(--sbw); -} - -.navbar-limited { - position: relative; - min-width: var(--minPageWidth); - max-width: var(--maxPageWidth); - margin-left: auto; - margin-right: auto; - padding-left: var(--pagePadding); - padding-right: var(--pagePadding); -} diff --git a/server/sonar-web/src/main/js/components/nav/NavBar.tsx b/server/sonar-web/src/main/js/components/nav/NavBar.tsx deleted file mode 100644 index af7cc7e7d0a..00000000000 --- a/server/sonar-web/src/main/js/components/nav/NavBar.tsx +++ /dev/null @@ -1,74 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { throttle } from 'lodash'; -import './NavBar.css'; - -interface Props { - children?: any; - className?: string; - height: number; - top?: number; - notif?: React.ReactNode; - [prop: string]: any; -} - -interface State { - left: number; -} - -export default class NavBar extends React.PureComponent<Props, State> { - throttledFollowHorizontalScroll: () => void; - - constructor(props: Props) { - super(props); - this.state = { left: 0 }; - this.throttledFollowHorizontalScroll = throttle(this.followHorizontalScroll, 10); - } - - componentDidMount() { - document.addEventListener('scroll', this.throttledFollowHorizontalScroll); - } - - componentWillUnmount() { - document.removeEventListener('scroll', this.throttledFollowHorizontalScroll); - } - - followHorizontalScroll = () => { - if (document.documentElement) { - this.setState({ left: -document.documentElement.scrollLeft }); - } - }; - - render() { - const { children, className, height, top, notif, ...other } = this.props; - return ( - <nav {...other} className={classNames('navbar', className)} style={{ height, top }}> - <div - className={classNames('navbar-inner', { 'navbar-inner-with-notif': notif != null })} - style={{ height, left: this.state.left }}> - <div className="navbar-limited clearfix">{children}</div> - {notif} - </div> - </nav> - ); - } -} diff --git a/server/sonar-web/src/main/js/components/nav/NavBarTabs.css b/server/sonar-web/src/main/js/components/nav/NavBarTabs.css deleted file mode 100644 index 1d2ca2d7d11..00000000000 --- a/server/sonar-web/src/main/js/components/nav/NavBarTabs.css +++ /dev/null @@ -1,47 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.navbar-tabs { - display: flex; - align-items: center; - clear: left; - height: var(--controlHeight); - margin-top: var(--gridSize); -} - -.navbar-tabs > li + li { - margin-left: 20px; -} - -.navbar-tabs > li > a { - display: block; - height: var(--controlHeight); - line-height: 16px; - padding-top: 2px; - border-bottom: 3px solid transparent; - box-sizing: border-box; - color: var(--baseFontColor); - transition: none; -} - -.navbar-tabs > li > a.active, -.navbar-tabs > li > a:hover, -.navbar-tabs > li > a:focus { - border-bottom-color: var(--blue); -} diff --git a/server/sonar-web/src/main/js/components/nav/NavBarTabs.tsx b/server/sonar-web/src/main/js/components/nav/NavBarTabs.tsx deleted file mode 100644 index e0cf35bb053..00000000000 --- a/server/sonar-web/src/main/js/components/nav/NavBarTabs.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import './NavBarTabs.css'; - -interface Props { - children?: any; - className?: string; - [attr: string]: any; -} - -export default function NavBarTabs({ children, className, ...other }: Props) { - return ( - <ul {...other} className={classNames('navbar-tabs', className)}> - {children} - </ul> - ); -} diff --git a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraph.tsx b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraph.tsx index bbd954e03a7..67f6874f8c8 100644 --- a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraph.tsx +++ b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraph.tsx @@ -20,8 +20,10 @@ import * as React from 'react'; import { minBy } from 'lodash'; import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer'; +import AdvancedTimeline from 'sonar-ui-common/components/charts/AdvancedTimeline'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; import PreviewGraphTooltips from './PreviewGraphTooltips'; -import AdvancedTimeline from '../charts/AdvancedTimeline'; import { DEFAULT_GRAPH, generateSeries, @@ -32,9 +34,8 @@ import { Serie, splitSeriesInGraphs } from '../../apps/projectActivity/utils'; -import { formatMeasure, getShortType } from '../../helpers/measures'; +import { getShortType } from '../../helpers/measures'; import { getBranchLikeQuery } from '../../helpers/branches'; -import { translate } from '../../helpers/l10n'; import { withRouter, Router } from '../hoc/withRouter'; interface History { diff --git a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltips.tsx b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltips.tsx index 715eaa29969..b56c8d053ec 100644 --- a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltips.tsx +++ b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltips.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Popup, PopupPlacement } from 'sonar-ui-common/components/ui/popups'; import PreviewGraphTooltipsContent from './PreviewGraphTooltipsContent'; import DateFormatter from '../intl/DateFormatter'; -import { Popup, PopupPlacement } from '../ui/popups'; import { Serie } from '../../apps/projectActivity/utils'; interface Props { diff --git a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltipsContent.tsx b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltipsContent.tsx index 987d6375e36..ae082fb5ef5 100644 --- a/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltipsContent.tsx +++ b/server/sonar-web/src/main/js/components/preview-graph/PreviewGraphTooltipsContent.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import ChartLegendIcon from '../icons-components/ChartLegendIcon'; +import ChartLegendIcon from 'sonar-ui-common/components/icons/ChartLegendIcon'; interface Props { index: number; diff --git a/server/sonar-web/src/main/js/components/preview-graph/__tests__/PreviewGraphTooltips-test.tsx b/server/sonar-web/src/main/js/components/preview-graph/__tests__/PreviewGraphTooltips-test.tsx index 2d154410c15..ea84be8aaca 100644 --- a/server/sonar-web/src/main/js/components/preview-graph/__tests__/PreviewGraphTooltips-test.tsx +++ b/server/sonar-web/src/main/js/components/preview-graph/__tests__/PreviewGraphTooltips-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; import PreviewGraphTooltips from '../PreviewGraphTooltips'; import { DEFAULT_GRAPH } from '../../../apps/projectActivity/utils'; -import { parseDate } from '../../../helpers/dates'; const SERIES_ISSUES = [ { diff --git a/server/sonar-web/src/main/js/components/shared/SeverityHelper.tsx b/server/sonar-web/src/main/js/components/shared/SeverityHelper.tsx index 7d9e0c42cb8..9272e4155df 100644 --- a/server/sonar-web/src/main/js/components/shared/SeverityHelper.tsx +++ b/server/sonar-web/src/main/js/components/shared/SeverityHelper.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import SeverityIcon from '../icons-components/SeverityIcon'; -import { translate } from '../../helpers/l10n'; +import SeverityIcon from 'sonar-ui-common/components/icons/SeverityIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/shared/StatusHelper.tsx b/server/sonar-web/src/main/js/components/shared/StatusHelper.tsx index 4a57e0d3b12..dc0d08a6981 100644 --- a/server/sonar-web/src/main/js/components/shared/StatusHelper.tsx +++ b/server/sonar-web/src/main/js/components/shared/StatusHelper.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import StatusIcon from '../icons-components/StatusIcon'; -import { translate } from '../../helpers/l10n'; +import StatusIcon from 'sonar-ui-common/components/icons/StatusIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/shared/TypeHelper.tsx b/server/sonar-web/src/main/js/components/shared/TypeHelper.tsx index 7e1a7560b9b..b9711f2e660 100644 --- a/server/sonar-web/src/main/js/components/shared/TypeHelper.tsx +++ b/server/sonar-web/src/main/js/components/shared/TypeHelper.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import IssueTypeIcon from '../ui/IssueTypeIcon'; -import { translate } from '../../helpers/l10n'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon'; interface Props { className?: string; diff --git a/server/sonar-web/src/main/js/components/tags/TagsList.tsx b/server/sonar-web/src/main/js/components/tags/TagsList.tsx index fd027fd163d..6b796b62143 100644 --- a/server/sonar-web/src/main/js/components/tags/TagsList.tsx +++ b/server/sonar-web/src/main/js/components/tags/TagsList.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import DropdownIcon from '../icons-components/DropdownIcon'; -import TagsIcon from '../icons-components/TagsIcon'; +import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon'; +import TagsIcon from 'sonar-ui-common/components/icons/TagsIcon'; import './TagsList.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/tags/TagsSelector.tsx b/server/sonar-web/src/main/js/components/tags/TagsSelector.tsx index 589040cb449..c61d089f3fa 100644 --- a/server/sonar-web/src/main/js/components/tags/TagsSelector.tsx +++ b/server/sonar-web/src/main/js/components/tags/TagsSelector.tsx @@ -18,8 +18,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import MultiSelect from '../common/MultiSelect'; -import { translate } from '../../helpers/l10n'; import './TagsList.css'; interface Props { diff --git a/server/sonar-web/src/main/js/components/ui/Alert.tsx b/server/sonar-web/src/main/js/components/ui/Alert.tsx deleted file mode 100644 index 8e4e37cfe17..00000000000 --- a/server/sonar-web/src/main/js/components/ui/Alert.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import * as theme from '../../app/theme'; -import AlertErrorIcon from '../icons-components/AlertErrorIcon'; -import InfoIcon from '../icons-components/InfoIcon'; -import AlertWarnIcon from '../icons-components/AlertWarnIcon'; -import AlertSuccessIcon from '../icons-components/AlertSuccessIcon'; -import Tooltip from '../controls/Tooltip'; -import { translate } from '../../helpers/l10n'; - -type AlertDisplay = 'banner' | 'block' | 'inline'; -type AlertVariant = 'error' | 'warning' | 'success' | 'info'; - -export interface AlertProps { - display?: AlertDisplay; - variant: AlertVariant; -} - -export function Alert(props: AlertProps & React.HTMLAttributes<HTMLDivElement>) { - const { className, display, variant, ...domProps } = props; - return ( - <div - className={classNames('alert', `alert-${variant}`, className, { - 'is-inline': display === 'inline' - })} - role="alert" - {...domProps}> - <div className={classNames('alert-inner', { 'is-banner': display === 'banner' })}> - <Tooltip overlay={translate('alert.tooltip', variant)}> - <div className={classNames('alert-icon', { 'is-banner': display === 'banner' })}> - {variant === 'error' && <AlertErrorIcon fill={theme.alertIconError} />} - {variant === 'warning' && <AlertWarnIcon fill={theme.alertIconWarning} />} - {variant === 'success' && <AlertSuccessIcon fill={theme.alertIconSuccess} />} - {variant === 'info' && <InfoIcon fill={theme.alertIconInfo} />} - </div> - </Tooltip> - <div className="alert-content">{props.children}</div> - </div> - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/Avatar.tsx b/server/sonar-web/src/main/js/components/ui/Avatar.tsx index e7619fdd6ef..31333e11c1b 100644 --- a/server/sonar-web/src/main/js/components/ui/Avatar.tsx +++ b/server/sonar-web/src/main/js/components/ui/Avatar.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { connect } from 'react-redux'; import * as classNames from 'classnames'; -import GenericAvatar from './GenericAvatar'; +import GenericAvatar from 'sonar-ui-common/components/ui/GenericAvatar'; import { getGlobalSettingValue, Store } from '../../store/rootReducer'; interface Props { diff --git a/server/sonar-web/src/main/js/components/ui/CoverageRating.tsx b/server/sonar-web/src/main/js/components/ui/CoverageRating.tsx index 96b18ac400d..5d8e88ba4a8 100644 --- a/server/sonar-web/src/main/js/components/ui/CoverageRating.tsx +++ b/server/sonar-web/src/main/js/components/ui/CoverageRating.tsx @@ -18,10 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { lazyLoad } from '../lazyLoad'; -import * as theme from '../../app/theme'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; +import { colors } from '../../app/theme'; -const DonutChart = lazyLoad(() => import('../charts/DonutChart')); +const DonutChart = lazyLoad(() => import('sonar-ui-common/components/charts/DonutChart')); const SIZE_TO_WIDTH_MAPPING = { small: 16, normal: 24, big: 40, huge: 60 }; @@ -39,8 +39,8 @@ export default function CoverageRating({ muted = false, size = 'normal', value } if (value != null) { const numberValue = Number(value); data = [ - { value: numberValue, fill: muted ? theme.gray71 : theme.green }, - { value: 100 - numberValue, fill: muted ? theme.barBackgroundColor : theme.red } + { value: numberValue, fill: muted ? colors.gray71 : colors.green }, + { value: 100 - numberValue, fill: muted ? colors.barBackgroundColor : colors.red } ]; } diff --git a/server/sonar-web/src/main/js/components/ui/DuplicationsRating.css b/server/sonar-web/src/main/js/components/ui/DuplicationsRating.css deleted file mode 100644 index 7dbded31780..00000000000 --- a/server/sonar-web/src/main/js/components/ui/DuplicationsRating.css +++ /dev/null @@ -1,171 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.duplications-rating { - position: relative; - display: inline-flex; - vertical-align: top; - justify-content: center; - align-items: center; - width: var(--controlHeight); - height: var(--controlHeight); - border: 3px solid var(--orange); - border-radius: var(--controlHeight); - box-sizing: border-box; -} - -.duplications-rating-small { - width: 16px; - height: 16px; - border-width: 2px; -} - -.duplications-rating-big { - width: 40px; - height: 40px; - border-width: 3px; -} - -.duplications-rating-huge { - width: 60px; - height: 60px; - border-width: 4px; - border-radius: 30px; -} - -.duplications-rating-muted { - border-color: #bdbdbd !important; -} - -.duplications-rating-muted:after { - background-color: #bdbdbd !important; -} - -.duplications-rating:after { - border-radius: var(--controlHeight); - content: ''; -} - -.duplications-rating-A { - border-color: var(--green); -} - -.duplications-rating-A:after { - display: none; -} - -.duplications-rating-B { - border-color: var(--lightGreen); -} - -.duplications-rating-B:after { - width: 6px; - height: 6px; - background-color: var(--lightGreen); -} - -.duplications-rating-small.duplications-rating-B:after { - width: 2px; - height: 2px; -} - -.duplications-rating-big.duplications-rating-B:after { - width: var(--smallFontSize); - height: var(--smallFontSize); -} - -.duplications-rating-huge.duplications-rating-B:after { - width: 18px; - height: 18px; -} - -.duplications-rating-C { - border-color: var(--yellow); -} - -.duplications-rating-C:after { - width: 8px; - height: 8px; - background-color: var(--yellow); -} - -.duplications-rating-small.duplications-rating-C:after { - width: 6px; - height: 6px; -} - -.duplications-rating-big.duplications-rating-C:after { - width: 16px; - height: 16px; -} - -.duplications-rating-huge.duplications-rating-C:after { - width: var(--controlHeight); - height: var(--controlHeight); -} - -.duplications-rating-D { - border-color: var(--orange); -} - -.duplications-rating-D:after { - width: var(--smallFontSize); - height: var(--smallFontSize); - background-color: var(--orange); -} - -.duplications-rating-small.duplications-rating-D:after { - width: 8px; - height: 8px; -} - -.duplications-rating-big.duplications-rating-D:after { - width: var(--controlHeight); - height: var(--controlHeight); -} - -.duplications-rating-huge.duplications-rating-D:after { - width: 36px; - height: 36px; -} - -.duplications-rating-E { - border-color: var(--red); -} - -.duplications-rating-E:after { - width: 14px; - height: 14px; - background-color: var(--red); -} - -.duplications-rating-small.duplications-rating-E:after { - width: 10px; - height: 10px; -} - -.duplications-rating-big.duplications-rating-E:after { - width: 28px; - height: 28px; -} - -.duplications-rating-huge.duplications-rating-E:after { - width: 42px; - height: 42px; -} diff --git a/server/sonar-web/src/main/js/components/ui/DuplicationsRating.tsx b/server/sonar-web/src/main/js/components/ui/DuplicationsRating.tsx deleted file mode 100644 index 94d788853e0..00000000000 --- a/server/sonar-web/src/main/js/components/ui/DuplicationsRating.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { inRange } from 'lodash'; -import './DuplicationsRating.css'; - -interface Props { - muted?: boolean; - size?: 'small' | 'normal' | 'big' | 'huge'; - value: number | null | undefined; -} - -export default function DuplicationsRating({ muted = false, size = 'normal', value }: Props) { - const className = classNames('duplications-rating', { - 'duplications-rating-small': size === 'small', - 'duplications-rating-big': size === 'big', - 'duplications-rating-huge': size === 'huge', - 'duplications-rating-muted': muted || value == null || isNaN(value), - 'duplications-rating-A': inRange(value || 0, 0, 3), - 'duplications-rating-B': inRange(value || 0, 3, 5), - 'duplications-rating-C': inRange(value || 0, 5, 10), - 'duplications-rating-D': inRange(value || 0, 10, 20), - 'duplications-rating-E': (value || 0) >= 20 - }); - - return <div className={className} />; -} diff --git a/server/sonar-web/src/main/js/components/ui/FilesCounter.tsx b/server/sonar-web/src/main/js/components/ui/FilesCounter.tsx deleted file mode 100644 index 09ef95d5005..00000000000 --- a/server/sonar-web/src/main/js/components/ui/FilesCounter.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { translate } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; - -interface Props { - className?: string; - current?: number; - total: number; -} - -export default function FilesCounter({ className, current, total }: Props) { - return ( - <span className={className}> - <strong> - {current !== undefined && ( - <span> - {formatMeasure(current, 'INT')} - {' / '} - </span> - )} - {formatMeasure(total, 'INT')} - </strong>{' '} - {translate('component_measures.files')} - </span> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/GenericAvatar.tsx b/server/sonar-web/src/main/js/components/ui/GenericAvatar.tsx deleted file mode 100644 index d657336a3c0..00000000000 --- a/server/sonar-web/src/main/js/components/ui/GenericAvatar.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { stringToColor, getTextColor } from '../../helpers/colors'; - -interface Props { - className?: string; - name: string; - size: number; -} - -export default function GenericAvatar({ className, name, size }: Props) { - const color = stringToColor(name); - - let text = ''; - const words = name.split(/\s+/).filter(word => word.length > 0); - if (words.length >= 2) { - text = words[0][0] + words[1][0]; - } else if (name.length > 0) { - text = name[0]; - } - - return ( - <div - className={classNames(className, 'rounded')} - style={{ - backgroundColor: color, - color: getTextColor(color), - display: 'inline-block', - fontSize: Math.min(size / 2, 14), - fontWeight: 'normal', - height: size, - lineHeight: `${size}px`, - textAlign: 'center', - verticalAlign: 'top', - width: size - }}> - {text.toUpperCase()} - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.css b/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.css deleted file mode 100644 index 87eb9f7810d..00000000000 --- a/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.css +++ /dev/null @@ -1,67 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -a.identity-provider-link { - display: block; - width: auto; - line-height: 22px; - padding: var(--gridSize) calc(1.5 * var(--gridSize)); - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 2px; - box-sizing: border-box; - background-color: var(--darkBlue); - color: #fff; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -a.identity-provider-link.small { - line-height: 14px; - padding: calc(var(--gridSize) / 2) var(--gridSize); -} - -a.identity-provider-link:hover, -a.identity-provider-link:focus { - box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.1); -} - -a.identity-provider-link.dark-text { - color: var(--secondFontColor); -} - -a.identity-provider-link.dark-text:hover, -a.identity-provider-link.dark-text:focus { - box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.1); -} - -a.identity-provider-link > img { - padding-right: calc(1.5 * var(--gridSize)); -} - -a.identity-provider-link.small > img { - padding-right: var(--gridSize); -} - -a.identity-provider-link > span::before { - content: ''; - opacity: 0.4; - border-left: 1px var(--gray71) solid; - margin-right: calc(1.5 * var(--gridSize)); -} diff --git a/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.tsx b/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.tsx deleted file mode 100644 index eb45ee0d7f1..00000000000 --- a/server/sonar-web/src/main/js/components/ui/IdentityProviderLink.tsx +++ /dev/null @@ -1,64 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { isDarkColor } from '../../helpers/colors'; -import { getBaseUrl } from '../../helpers/urls'; -import './IdentityProviderLink.css'; - -interface Props { - children: React.ReactNode; - className?: string; - identityProvider: T.IdentityProvider; - onClick?: () => void; - small?: boolean; - url: string | undefined; -} - -export default function IdentityProviderLink({ - children, - className, - identityProvider, - onClick, - small, - url -}: Props) { - const size = small ? 14 : 20; - - return ( - <a - className={classNames( - 'identity-provider-link', - { 'dark-text': !isDarkColor(identityProvider.backgroundColor), small }, - className - )} - href={url} - onClick={onClick} - style={{ backgroundColor: identityProvider.backgroundColor }}> - <img - alt={identityProvider.name} - height={size} - src={getBaseUrl() + identityProvider.iconPath} - width={size} - /> - {children} - </a> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.tsx b/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.tsx deleted file mode 100644 index 2ee9eba6117..00000000000 --- a/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import IssueIcon from '../icons-components/IssueIcon'; - -export interface Props { - className?: string; - query: string; - size?: number; -} - -export default function IssueTypeIcon({ className, query, size }: Props) { - let type: T.IssueType; - - switch (query.toLowerCase()) { - case 'bug': - case 'bugs': - case 'new_bugs': - type = 'BUG'; - break; - case 'vulnerability': - case 'vulnerabilities': - case 'new_vulnerabilities': - type = 'VULNERABILITY'; - break; - case 'code_smell': - case 'code_smells': - case 'new_code_smells': - type = 'CODE_SMELL'; - break; - case 'security_hotspot': - case 'security_hotspots': - type = 'SECURITY_HOTSPOT'; - break; - default: - return null; - } - - const icon = <IssueIcon size={size} type={type} />; - return className ? <span className={className}>{icon}</span> : icon; -} diff --git a/server/sonar-web/src/main/js/components/ui/Level.css b/server/sonar-web/src/main/js/components/ui/Level.css deleted file mode 100644 index 7774b965979..00000000000 --- a/server/sonar-web/src/main/js/components/ui/Level.css +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.level { - display: inline-block; - width: auto; - min-width: 80px; - padding-left: 9px; - padding-right: 9px; - height: var(--controlHeight); - line-height: var(--controlHeight); - border-radius: var(--controlHeight); - box-sizing: border-box; - color: #fff; - letter-spacing: 0.02em; - font-size: var(--baseFontSize); - font-weight: 400; - text-align: center; - text-shadow: 0 0 1px rgba(0, 0, 0, 0.35); -} - -.level-small { - width: auto; - min-width: 64px; - padding-left: 9px; - padding-right: 9px; - margin-top: -1px; - margin-bottom: -1px; - height: var(--smallControlHeight); - line-height: var(--smallControlHeight); - font-size: var(--smallFontSize); -} - -.level-muted { - background-color: #bdbdbd !important; -} - -a > .level { - margin-bottom: -1px; - border-bottom: 1px solid; - transition: all 0.2s ease; -} - -a > .level:hover { - opacity: 0.8; -} - -.level-OK { - background-color: var(--green); -} - -.level-WARN { - background-color: var(--orange); -} - -.level-ERROR { - background-color: var(--red); -} - -.level-NONE { - background-color: var(--gray71); -} diff --git a/server/sonar-web/src/main/js/components/ui/Level.tsx b/server/sonar-web/src/main/js/components/ui/Level.tsx deleted file mode 100644 index ba8b84455e8..00000000000 --- a/server/sonar-web/src/main/js/components/ui/Level.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { formatMeasure } from '../../helpers/measures'; -import './Level.css'; - -interface Props { - className?: string; - level: string; - small?: boolean; - muted?: boolean; -} - -export default function Level(props: Props) { - const formatted = formatMeasure(props.level, 'LEVEL'); - const className = classNames(props.className, 'level', 'level-' + props.level, { - 'level-small': props.small, - 'level-muted': props.muted - }); - - return <span className={className}>{formatted}</span>; -} diff --git a/server/sonar-web/src/main/js/components/ui/NewsBox.css b/server/sonar-web/src/main/js/components/ui/NewsBox.css deleted file mode 100644 index 5db753fd211..00000000000 --- a/server/sonar-web/src/main/js/components/ui/NewsBox.css +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.news-box { - border: 1px solid var(--alertBorderInfo); - border-radius: 2px; - background-color: var(--veryLightBlue); - padding: var(--gridSize); -} - -.news-box-header { - display: flex; - align-items: center; - justify-content: space-between; -} diff --git a/server/sonar-web/src/main/js/components/ui/NewsBox.tsx b/server/sonar-web/src/main/js/components/ui/NewsBox.tsx deleted file mode 100644 index b9ba6bca68e..00000000000 --- a/server/sonar-web/src/main/js/components/ui/NewsBox.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { ClearButton } from './buttons'; -import { translate } from '../../helpers/l10n'; -import './NewsBox.css'; - -export interface Props { - children: React.ReactNode; - className?: string; - onClose: () => void; - title: string; -} - -export default function NewsBox({ children, className, onClose, title }: Props) { - return ( - <div className={classNames('news-box', className)} role="alert"> - <div className="news-box-header"> - <div className="display-flex-center"> - <span className="badge badge-new spacer-right">{translate('new')}</span> - <strong>{title}</strong> - </div> - <ClearButton - className="button-tiny" - iconProps={{ size: 12, then: true }} - onClick={onClose} - /> - </div> - <div className="big-spacer-top note">{children}</div> - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/OrganizationListItem.tsx b/server/sonar-web/src/main/js/components/ui/OrganizationListItem.tsx index 4b303340e99..d07c51f54e7 100644 --- a/server/sonar-web/src/main/js/components/ui/OrganizationListItem.tsx +++ b/server/sonar-web/src/main/js/components/ui/OrganizationListItem.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import OrganizationLink from './OrganizationLink'; import OrganizationAvatar from '../common/OrganizationAvatar'; -import { translate } from '../../helpers/l10n'; interface Props { organization: T.Organization; diff --git a/server/sonar-web/src/main/js/components/ui/PageActions.tsx b/server/sonar-web/src/main/js/components/ui/PageActions.tsx deleted file mode 100644 index 3f0f2580664..00000000000 --- a/server/sonar-web/src/main/js/components/ui/PageActions.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import FilesCounter from './FilesCounter'; -import { translate } from '../../helpers/l10n'; - -export interface Props { - current?: number; - showShortcuts?: boolean; - total?: number; -} - -export default function PageActions(props: Props) { - const { current, showShortcuts, total = 0 } = props; - - return ( - <div className="page-actions display-flex-center"> - {showShortcuts && ( - <span className="note nowrap"> - <span className="big-spacer-right"> - <span className="shortcut-button little-spacer-right">↑</span> - <span className="shortcut-button little-spacer-right">↓</span> - {translate('component_measures.to_select_files')} - </span> - - <span> - <span className="shortcut-button little-spacer-right">←</span> - <span className="shortcut-button little-spacer-right">→</span> - {translate('component_measures.to_navigate')} - </span> - </span> - )} - {total > 0 && ( - <div className="nowrap"> - <FilesCounter className="big-spacer-left" current={current} total={total} /> - </div> - )} - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/Rating.css b/server/sonar-web/src/main/js/components/ui/Rating.css deleted file mode 100644 index aeffcdedcf6..00000000000 --- a/server/sonar-web/src/main/js/components/ui/Rating.css +++ /dev/null @@ -1,98 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.rating { - display: inline-block; - width: var(--controlHeight); - height: var(--controlHeight); - line-height: var(--controlHeight); - border-radius: var(--controlHeight); - box-sizing: border-box; - color: #fff; - font-size: var(--bigFontSize); - font-weight: 400; - text-align: center; - text-shadow: 0 0 1px rgba(0, 0, 0, 0.35); -} - -.rating-muted { - background-color: #bdbdbd !important; - color: #fff !important; - text-shadow: 0 0 1px rgba(0, 0, 0, 0.35) !important; -} - -a > .rating { - margin-bottom: -1px; - border-bottom: 1px solid; - transition: all 0.2s ease; -} - -a > .rating:hover { - opacity: 0.8; -} - -.rating-A { - line-height: 23px; - background-color: var(--green); -} - -a > .rating-A { - border-bottom-color: var(--green); -} - -.rating-B { - background-color: var(--lightGreen); -} - -a .rating-B { - border-bottom-color: var(--lightGreen); -} - -.rating-C { - background-color: var(--yellow); -} - -a .rating-C { - border-bottom-color: var(--yellow); -} - -.rating-D { - background-color: var(--orange); -} - -a .rating-D { - border-bottom-color: var(--orange); -} - -.rating-E { - background-color: #e00; -} - -a .rating-E { - border-bottom-color: #e00; -} - -.rating-small { - width: 18px; - height: 18px; - line-height: 18px; - margin-top: -1px; - margin-bottom: -1px; - font-size: var(--smallFontSize); -} diff --git a/server/sonar-web/src/main/js/components/ui/Rating.tsx b/server/sonar-web/src/main/js/components/ui/Rating.tsx deleted file mode 100644 index 06e76b9d848..00000000000 --- a/server/sonar-web/src/main/js/components/ui/Rating.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { formatMeasure } from '../../helpers/measures'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import './Rating.css'; - -interface Props { - className?: string; - muted?: boolean; - small?: boolean; - value: string | number | undefined; -} - -export default function Rating({ className, muted = false, small = false, value }: Props) { - if (value === undefined) { - return <span aria-label={translate('metric.no_rating')}>{'–'}</span>; - } - const formatted = formatMeasure(value, 'RATING'); - return ( - <span - aria-label={translateWithParameters('metric.has_rating_X', formatted)} - className={classNames( - 'rating', - 'rating-' + formatted, - { 'rating-small': small, 'rating-muted': muted }, - className - )}> - {formatted} - </span> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/SizeRating.css b/server/sonar-web/src/main/js/components/ui/SizeRating.css deleted file mode 100644 index 775c63c6f4f..00000000000 --- a/server/sonar-web/src/main/js/components/ui/SizeRating.css +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.size-rating { - display: inline-block; - vertical-align: top; - width: var(--controlHeight); - height: var(--controlHeight); - line-height: var(--controlHeight); - border-radius: var(--controlHeight); - background-color: var(--blue); - color: #fff; - font-size: var(--smallFontSize); - text-align: center; - text-shadow: 0 0 1px rgba(0, 0, 0, 0.35); -} - -.size-rating-small { - width: 18px; - height: 18px; - line-height: 18px; - margin-top: -1px; - margin-bottom: -1px; - font-size: 10px; -} - -.size-rating-muted { - background-color: #bdbdbd; -} diff --git a/server/sonar-web/src/main/js/components/ui/SizeRating.tsx b/server/sonar-web/src/main/js/components/ui/SizeRating.tsx deleted file mode 100644 index c25bd23d881..00000000000 --- a/server/sonar-web/src/main/js/components/ui/SizeRating.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import { inRange } from 'lodash'; -import './SizeRating.css'; - -export interface Props { - muted?: boolean; - small?: boolean; - value: number | null | undefined; -} - -export default function SizeRating({ small = false, muted = false, value }: Props) { - if (value == null) { - return <div className="size-rating size-rating-muted"> </div>; - } - - let letter; - if (inRange(value, 0, 1000)) { - letter = 'XS'; - } else if (inRange(value, 1000, 10000)) { - letter = 'S'; - } else if (inRange(value, 10000, 100000)) { - letter = 'M'; - } else if (inRange(value, 100000, 500000)) { - letter = 'L'; - } else if (value >= 500000) { - letter = 'XL'; - } - - const className = classNames('size-rating', { - 'size-rating-small': small, - 'size-rating-muted': muted - }); - - return ( - <div aria-hidden="true" className={className}> - {letter} - </div> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/Alert-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/Alert-test.tsx deleted file mode 100644 index f808e8b6d30..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/Alert-test.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import { Alert } from '../Alert'; - -it('should render', () => { - expect( - shallow( - <Alert id="error-message" variant="error"> - This is an error! - </Alert> - ) - ).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/FilesCounter-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/FilesCounter-test.tsx deleted file mode 100644 index 374631e3762..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/FilesCounter-test.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import FilesCounter from '../FilesCounter'; - -it('should display x files on y total', () => { - expect(shallow(<FilesCounter current={12} total={123455} />)).toMatchSnapshot(); -}); - -it('should display only total of files', () => { - expect(shallow(<FilesCounter current={undefined} total={123455} />)).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/IdentityProviderLink-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/IdentityProviderLink-test.tsx deleted file mode 100644 index adb21e3c6ee..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/IdentityProviderLink-test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import IdentityProviderLink from '../IdentityProviderLink'; - -const identityProvider = { - backgroundColor: '#000', - iconPath: '/some/path', - key: 'foo', - name: 'Foo' -}; - -it('should render correctly', () => { - expect( - shallow( - <IdentityProviderLink identityProvider={identityProvider} url="/url/foo/bar"> - Link text - </IdentityProviderLink> - ) - ).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/IssueTypeIcon-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/IssueTypeIcon-test.tsx deleted file mode 100644 index a84350b6ec9..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/IssueTypeIcon-test.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import IssueTypeIcon, { Props } from '../IssueTypeIcon'; - -it('should render correctly', () => { - expect(shallowRender()).toMatchSnapshot(); - expect(shallowRender({ className: 'my-class', query: 'security_hotspots' })).toMatchSnapshot(); - expect(shallowRender({ query: 'new_code_smells' })).toMatchSnapshot(); - expect(shallowRender({ query: 'vulnerability' })).toMatchSnapshot(); - expect(shallowRender({ query: 'unknown' }).type()).toBe(null); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow(<IssueTypeIcon query="bugs" {...props} />); -} diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/Level-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/Level-test.tsx deleted file mode 100644 index 5898dc20bec..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/Level-test.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Level from '../Level'; - -it('should render', () => { - const rating = shallow(<Level level="ERROR" />); - expect(rating.is('.level-ERROR')).toBe(true); -}); diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/NewsBox-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/NewsBox-test.tsx deleted file mode 100644 index e3e93e0e266..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/NewsBox-test.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import NewsBox, { Props } from '../NewsBox'; -import { click } from '../../../helpers/testUtils'; - -it('should render correctly', () => { - expect(shallowRender()).toMatchSnapshot(); -}); - -it('should call onClose', () => { - const onClose = jest.fn(); - const wrapper = shallowRender({ onClose }); - click(wrapper.find('ClearButton')); - expect(onClose).toBeCalled(); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow( - <NewsBox onClose={jest.fn()} title="title" {...props}> - <div>description</div> - </NewsBox> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/PageActions-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/PageActions-test.tsx deleted file mode 100644 index 5d5ac58e942..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/PageActions-test.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import PageActions, { Props } from '../PageActions'; - -it('should render correctly', () => { - expect(shallowRender()).toMatchSnapshot(); - expect(shallowRender({ total: 10 })).toMatchSnapshot(); - expect(shallowRender({ current: 12, showShortcuts: false, total: 120 })).toMatchSnapshot(); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow(<PageActions showShortcuts={true} {...props} />); -} diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/Rating-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/Rating-test.tsx deleted file mode 100644 index 9d279dc80c0..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/Rating-test.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import Rating from '../Rating'; - -it('renders numeric value', () => { - expect(shallow(<Rating value={2} />)).toMatchSnapshot(); -}); - -it('renders string value', () => { - expect(shallow(<Rating value="2.0" />)).toMatchSnapshot(); -}); - -it('renders undefined value', () => { - expect(shallow(<Rating value={undefined} />)).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/SizeRating-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/SizeRating-test.tsx deleted file mode 100644 index 26965151d25..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/SizeRating-test.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import SizeRating, { Props } from '../SizeRating'; - -it('should render correctly', () => { - expect(shallowRender()).toMatchSnapshot(); - expect(shallowRender({ muted: true, small: true, value: 1000 })).toMatchSnapshot(); - expect(shallowRender({ value: 10000 })).toMatchSnapshot(); - expect(shallowRender({ value: 100000 })).toMatchSnapshot(); - expect(shallowRender({ value: 500000 })).toMatchSnapshot(); -}); - -function shallowRender(props: Partial<Props> = {}) { - return shallow(<SizeRating value={100} {...props} />); -} diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Alert-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Alert-test.tsx.snap deleted file mode 100644 index 3bf04fdbc0f..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Alert-test.tsx.snap +++ /dev/null @@ -1,30 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render 1`] = ` -<div - className="alert alert-error" - id="error-message" - role="alert" -> - <div - className="alert-inner" - > - <Tooltip - overlay="alert.tooltip.error" - > - <div - className="alert-icon" - > - <AlertErrorIcon - fill="#b81723" - /> - </div> - </Tooltip> - <div - className="alert-content" - > - This is an error! - </div> - </div> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/FilesCounter-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/FilesCounter-test.tsx.snap deleted file mode 100644 index bb01a6121da..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/FilesCounter-test.tsx.snap +++ /dev/null @@ -1,25 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should display only total of files 1`] = ` -<span> - <strong> - 123,455 - </strong> - - component_measures.files -</span> -`; - -exports[`should display x files on y total 1`] = ` -<span> - <strong> - <span> - 12 - / - </span> - 123,455 - </strong> - - component_measures.files -</span> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IdentityProviderLink-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IdentityProviderLink-test.tsx.snap deleted file mode 100644 index d3a38a52376..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IdentityProviderLink-test.tsx.snap +++ /dev/null @@ -1,21 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<a - className="identity-provider-link" - href="/url/foo/bar" - style={ - Object { - "backgroundColor": "#000", - } - } -> - <img - alt="Foo" - height={20} - src="/some/path" - width={20} - /> - Link text -</a> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IssueTypeIcon-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IssueTypeIcon-test.tsx.snap deleted file mode 100644 index 88faea5b26b..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/IssueTypeIcon-test.tsx.snap +++ /dev/null @@ -1,29 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<IssueIcon - type="BUG" -/> -`; - -exports[`should render correctly 2`] = ` -<span - className="my-class" -> - <IssueIcon - type="SECURITY_HOTSPOT" - /> -</span> -`; - -exports[`should render correctly 3`] = ` -<IssueIcon - type="CODE_SMELL" -/> -`; - -exports[`should render correctly 4`] = ` -<IssueIcon - type="VULNERABILITY" -/> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/NewsBox-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/NewsBox-test.tsx.snap deleted file mode 100644 index 05b01c0a492..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/NewsBox-test.tsx.snap +++ /dev/null @@ -1,42 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<div - className="news-box" - role="alert" -> - <div - className="news-box-header" - > - <div - className="display-flex-center" - > - <span - className="badge badge-new spacer-right" - > - new - </span> - <strong> - title - </strong> - </div> - <ClearButton - className="button-tiny" - iconProps={ - Object { - "size": 12, - "then": true, - } - } - onClick={[MockFunction]} - /> - </div> - <div - className="big-spacer-top note" - > - <div> - description - </div> - </div> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/PageActions-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/PageActions-test.tsx.snap deleted file mode 100644 index bb220fbacaf..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/PageActions-test.tsx.snap +++ /dev/null @@ -1,103 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<div - className="page-actions display-flex-center" -> - <span - className="note nowrap" - > - <span - className="big-spacer-right" - > - <span - className="shortcut-button little-spacer-right" - > - ↑ - </span> - <span - className="shortcut-button little-spacer-right" - > - ↓ - </span> - component_measures.to_select_files - </span> - <span> - <span - className="shortcut-button little-spacer-right" - > - ← - </span> - <span - className="shortcut-button little-spacer-right" - > - → - </span> - component_measures.to_navigate - </span> - </span> -</div> -`; - -exports[`should render correctly 2`] = ` -<div - className="page-actions display-flex-center" -> - <span - className="note nowrap" - > - <span - className="big-spacer-right" - > - <span - className="shortcut-button little-spacer-right" - > - ↑ - </span> - <span - className="shortcut-button little-spacer-right" - > - ↓ - </span> - component_measures.to_select_files - </span> - <span> - <span - className="shortcut-button little-spacer-right" - > - ← - </span> - <span - className="shortcut-button little-spacer-right" - > - → - </span> - component_measures.to_navigate - </span> - </span> - <div - className="nowrap" - > - <FilesCounter - className="big-spacer-left" - total={10} - /> - </div> -</div> -`; - -exports[`should render correctly 3`] = ` -<div - className="page-actions display-flex-center" -> - <div - className="nowrap" - > - <FilesCounter - className="big-spacer-left" - current={12} - total={120} - /> - </div> -</div> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Rating-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Rating-test.tsx.snap deleted file mode 100644 index fc8a831828b..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/Rating-test.tsx.snap +++ /dev/null @@ -1,27 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders numeric value 1`] = ` -<span - aria-label="metric.has_rating_X.B" - className="rating rating-B" -> - B -</span> -`; - -exports[`renders string value 1`] = ` -<span - aria-label="metric.has_rating_X.B" - className="rating rating-B" -> - B -</span> -`; - -exports[`renders undefined value 1`] = ` -<span - aria-label="metric.no_rating" -> - – -</span> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/SizeRating-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/SizeRating-test.tsx.snap deleted file mode 100644 index a35517cc685..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/SizeRating-test.tsx.snap +++ /dev/null @@ -1,46 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render correctly 1`] = ` -<div - aria-hidden="true" - className="size-rating" -> - XS -</div> -`; - -exports[`should render correctly 2`] = ` -<div - aria-hidden="true" - className="size-rating size-rating-small size-rating-muted" -> - S -</div> -`; - -exports[`should render correctly 3`] = ` -<div - aria-hidden="true" - className="size-rating" -> - M -</div> -`; - -exports[`should render correctly 4`] = ` -<div - aria-hidden="true" - className="size-rating" -> - L -</div> -`; - -exports[`should render correctly 5`] = ` -<div - aria-hidden="true" - className="size-rating" -> - XL -</div> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/popups-test.tsx.snap b/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/popups-test.tsx.snap deleted file mode 100644 index 750b6a3782e..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/__snapshots__/popups-test.tsx.snap +++ /dev/null @@ -1,31 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should render Popup 1`] = ` -<div - className="popup is-left-top foo" - style={ - Object { - "left": -5, - } - } -> - <PopupArrow - style={ - Object { - "top": -5, - } - } - /> -</div> -`; - -exports[`should render PopupArrow 1`] = ` -<div - className="popup-arrow" - style={ - Object { - "left": -5, - } - } -/> -`; diff --git a/server/sonar-web/src/main/js/components/ui/__tests__/popups-test.tsx b/server/sonar-web/src/main/js/components/ui/__tests__/popups-test.tsx deleted file mode 100644 index 57f61a03801..00000000000 --- a/server/sonar-web/src/main/js/components/ui/__tests__/popups-test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import { shallow } from 'enzyme'; -import { Popup, PopupPlacement, PopupArrow } from '../popups'; - -it('should render Popup', () => { - expect( - shallow( - <Popup - arrowStyle={{ top: -5 }} - className="foo" - placement={PopupPlacement.LeftTop} - style={{ left: -5 }} - /> - ) - ).toMatchSnapshot(); -}); - -it('should render PopupArrow', () => { - expect(shallow(<PopupArrow style={{ left: -5 }} />)).toMatchSnapshot(); -}); diff --git a/server/sonar-web/src/main/js/components/ui/buttons.css b/server/sonar-web/src/main/js/components/ui/buttons.css deleted file mode 100644 index d6a8d642c27..00000000000 --- a/server/sonar-web/src/main/js/components/ui/buttons.css +++ /dev/null @@ -1,316 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.button { - display: inline-flex; - align-items: center; - justify-content: center; - vertical-align: middle; - height: var(--controlHeight); - line-height: calc(var(--controlHeight) - 2px); - padding: 0 12px; - border: 1px solid var(--darkBlue); - border-radius: 2px; - box-sizing: border-box; - background: transparent; - color: var(--darkBlue); - font-weight: 600; - font-size: var(--smallFontSize); - text-decoration: none; - cursor: pointer; - outline: none; - transition: border-color 0.2s ease, box-shadow 0.2s ease; -} - -.button:hover, -.button.button-active { - background: var(--darkBlue); - color: #fff; -} - -.button:active { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} - -.button:focus { - box-shadow: 0 0 0 3px rgba(35, 106, 151, 0.25); -} - -.button.disabled, -.button:disabled, -.button:disabled:hover, -.button:disabled:active, -.button:disabled:focus { - color: var(--disableGrayText) !important; - border-color: var(--disableGrayBorder) !important; - background: var(--disableGrayBg) !important; - cursor: not-allowed !important; - box-shadow: none !important; -} - -/* #region .button-red */ -.button-red { - border-color: var(--red); - color: var(--red); -} - -.button-red:hover, -.button-red.active { - background: var(--red); - color: #fff; -} - -.button-red:focus { - box-shadow: 0 0 0 3px rgba(212, 51, 63, 0.25); -} - -/* #endregion */ - -/* #region .button-success */ -.button-success { - border-color: var(--green); - color: var(--green); -} - -.button-success:hover, -.button-success.active { - background: var(--green); - color: #fff; -} - -.button-success:focus { - box-shadow: 0 0 0 3px rgba(0, 170, 0, 0.25); -} - -/* #endregion */ - -/* #region .button-grey */ -.button-grey { - border-color: var(--gray71); - color: var(--secondFontColor); -} - -.button-grey:hover, -.button-grey.active { - background: var(--gray71); - color: #fff; -} - -.button-grey:focus { - box-shadow: 0 0 0 3px rgba(180, 180, 180, 0.25); -} - -/* #endregion */ - -/* #region .button-link */ -.button-link { - display: inline-flex; - height: auto; - /* Keep this to not inherit the height from .button */ - line-height: 1; - margin: 0; - padding: 0; - border: none; - border-radius: 0; - background: transparent; - color: var(--darkBlue); - border-bottom: 1px solid var(--lightBlue); - font-weight: 400; - font-size: inherit; - transition: all 0.2s ease; -} - -.dropdown .button-link { - border-bottom: none; -} - -.button-link:hover { - background: transparent; - color: var(--blue); -} - -.button-link:active, -.button-link:focus { - box-shadow: none; - outline: 1px dotted var(--blue); -} - -.button-link:disabled, -.button-link:disabled:hover, -.button-link:disabled:active, -.button-link:disabled:focus { - color: var(--secondFontColor); - background: transparent !important; - cursor: default; -} - -/* #endregion */ - -.button-small { - height: var(--smallControlHeight); - line-height: 18px; - padding: 0 6px; - font-size: 11px; -} - -.button-tiny { - height: var(--tinyControlHeight); - line-height: var(--tinyControlHeight); - padding: 0 calc(var(--gridSize) / 2); -} - -.button-large { - height: var(--largeControlHeight); - padding: 0 16px; - font-size: var(--mediumFontSize); -} - -.button-huge { - flex-direction: column; - padding: calc(2 * var(--gridSize)); - width: 200px; - height: 200px; - background-color: #fff; - border: solid 1px #fff; - border-radius: 3px; - transition: all 0.2s ease; - box-shadow: 0 1px 1px 1px var(--barBorderColor); -} - -.button-huge:hover, -.button-huge:focus, -.button-huge:active { - background-color: #fff; - color: var(--darkBlue); - box-shadow: var(--defaultShadow); - transform: translateY(-2px); -} - -/* #region .button-group */ -.button-group { - display: inline-block; - vertical-align: middle; - font-size: 0; - white-space: nowrap; -} - -.button-group > button, -.button-group > .button { - position: relative; - z-index: var(--normalZIndex); - display: inline-block; - vertical-align: middle; - margin: 0; - cursor: pointer; -} - -.button-group > .button:hover:not(:disabled), -.button-group > .button:focus:not(:disabled), -.button-group > .button:active:not(:disabled), -.button-group > .button.active:not(:disabled) { - z-index: var(--aboveNormalZIndex); -} - -.button-group > .button:disabled { - z-index: var(--belowNormalZIndex); -} - -.button-group > .button:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.button-group > .button:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.button-group > .button + .button { - margin-left: -1px; -} - -.button-group > a:not(.button) { - vertical-align: middle; - margin: 0 8px; - font-size: var(--smallFontSize); -} - -/* #endregion */ - -/* #region .button-icon */ -.button-icon { - display: inline-flex; - justify-content: center; - align-items: center; - vertical-align: middle; - width: var(--controlHeight); - height: var(--controlHeight); - padding: 0; - border: none; - color: inherit; -} - -.button-icon.button-small { - width: var(--smallControlHeight); - height: var(--smallControlHeight); - padding: 0; -} - -.button-icon.button-small svg { - margin-top: 0; -} - -.button-icon.button-tiny { - width: var(--tinyControlHeight); - height: var(--tinyControlHeight); - padding: 0; -} - -.button-icon.button-tiny svg { - margin-top: 0; -} - -.button-icon:hover, -.button-icon:focus { - background-color: currentColor; -} - -.button-icon:hover svg, -.button-icon:focus svg { - color: #fff; -} - -/* #endregion */ - -.button-list { - display: inline-flex; - justify-content: space-between; - height: auto; - border: 1px solid var(--barBorderColor); - padding: var(--gridSize); - margin: calc(var(--gridSize) / 2); - color: var(--secondFontColor); - font-weight: normal; -} - -.button-list:hover { - background-color: white; - border-color: var(--blue); - color: var(--darkBlue); -} diff --git a/server/sonar-web/src/main/js/components/ui/buttons.tsx b/server/sonar-web/src/main/js/components/ui/buttons.tsx deleted file mode 100644 index 7b82afc82ee..00000000000 --- a/server/sonar-web/src/main/js/components/ui/buttons.tsx +++ /dev/null @@ -1,159 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import * as theme from '../../app/theme'; -import ChevronRightIcon from '../icons-components/ChevronRightcon'; -import ClearIcon from '../icons-components/ClearIcon'; -import DeleteIcon from '../icons-components/DeleteIcon'; -import EditIcon from '../icons-components/EditIcon'; -import Tooltip from '../controls/Tooltip'; -import { IconProps } from '../icons-components/Icon'; -import './buttons.css'; - -type AllowedButtonAttributes = Pick< - React.ButtonHTMLAttributes<HTMLButtonElement>, - 'className' | 'disabled' | 'id' | 'style' | 'title' ->; - -interface ButtonProps extends AllowedButtonAttributes { - autoFocus?: boolean; - children?: React.ReactNode; - innerRef?: (node: HTMLElement | null) => void; - name?: string; - onClick?: () => void; - preventDefault?: boolean; - stopPropagation?: boolean; - type?: 'button' | 'submit' | 'reset' | undefined; -} - -export class Button extends React.PureComponent<ButtonProps> { - handleClick = (event: React.MouseEvent<HTMLButtonElement>) => { - const { onClick, preventDefault = true, stopPropagation = false } = this.props; - - event.currentTarget.blur(); - if (preventDefault) event.preventDefault(); - if (stopPropagation) event.stopPropagation(); - if (onClick) onClick(); - }; - - render() { - const { - className, - innerRef, - onClick, - preventDefault, - stopPropagation, - type = 'button', - ...props - } = this.props; - return ( - // eslint-disable-next-line react/button-has-type - <button - {...props} - className={classNames('button', className)} - disabled={this.props.disabled} - id={this.props.id} - onClick={this.handleClick} - ref={this.props.innerRef} - type={type} - /> - ); - } -} - -export function ButtonLink({ className, ...props }: ButtonProps) { - return <Button {...props} className={classNames('button-link', className)} />; -} - -export function SubmitButton(props: T.Omit<ButtonProps, 'type'>) { - // do not prevent default to actually submit a form - return <Button {...props} preventDefault={false} type="submit" />; -} - -export function ResetButtonLink(props: T.Omit<ButtonProps, 'type'>) { - return <ButtonLink {...props} type="reset" />; -} - -interface ButtonIconProps extends ButtonProps { - className?: string; - color?: string; - onClick?: () => void; - tooltip?: string; -} - -export function ButtonIcon(props: ButtonIconProps) { - const { className, color = theme.darkBlue, tooltip, ...other } = props; - const buttonComponent = ( - <Button - className={classNames(className, 'button-icon')} - stopPropagation={true} - style={{ color }} - {...other} - /> - ); - if (tooltip) { - return ( - <Tooltip mouseEnterDelay={0.4} overlay={tooltip}> - {buttonComponent} - </Tooltip> - ); - } - return buttonComponent; -} - -interface ActionButtonProps extends ButtonIconProps { - className?: string; - iconProps?: IconProps; - onClick?: () => void; -} - -export function ClearButton({ color = theme.gray60, iconProps = {}, ...props }: ActionButtonProps) { - return ( - <ButtonIcon color={color} {...props}> - <ClearIcon {...iconProps} /> - </ButtonIcon> - ); -} - -export function DeleteButton({ iconProps = {}, ...props }: ActionButtonProps) { - return ( - <ButtonIcon color={theme.red} {...props}> - <DeleteIcon {...iconProps} /> - </ButtonIcon> - ); -} - -export function EditButton({ iconProps = {}, ...props }: ActionButtonProps) { - return ( - <ButtonIcon {...props}> - <EditIcon {...iconProps} /> - </ButtonIcon> - ); -} - -export function ListButton({ className, children, ...props }: ButtonProps) { - return ( - <Button className={classNames('button-list', className)} {...props}> - {children} - <ChevronRightIcon /> - </Button> - ); -} diff --git a/server/sonar-web/src/main/js/components/ui/popups.css b/server/sonar-web/src/main/js/components/ui/popups.css deleted file mode 100644 index a11e62169e8..00000000000 --- a/server/sonar-web/src/main/js/components/ui/popups.css +++ /dev/null @@ -1,215 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -.popup { - position: absolute; - z-index: var(--popupZIndex); - margin-top: -16px; - margin-left: 8px; - padding: var(--gridSize); - border: 1px solid var(--barBorderColor); - border-radius: 3px; - box-sizing: border-box; - background-color: #ffffff; - box-shadow: var(--defaultShadow); - cursor: default; -} - -.popup.no-padding { - padding: 0; -} - -/* #region .popup-arrow */ -.popup-arrow, -.popup-arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border: 6px solid transparent; -} - -.popup-arrow { - top: 15px; - left: -6px; - border-left-width: 0; - border-right-color: var(--barBorderColor); -} - -.popup-arrow:after { - content: ' '; - left: 1px; - bottom: -6px; - border-left-width: 0; - border-right-color: #ffffff; -} -/* #endregion */ - -/* #region .popup.is-bottom */ -.popup.is-bottom { - top: 100%; - left: 0; - margin: 0; - margin-left: 50%; - transform: translate(-50%, 6px); -} - -.popup.is-bottom .popup-arrow { - top: -6px; - left: calc(50% - 6px); - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: var(--barBorderColor); -} - -.popup.is-bottom .popup-arrow.is-left { - left: 8px; -} - -.popup.is-bottom .popup-arrow:after { - left: -6px; - bottom: -7px; - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: #ffffff; -} -/* #endregion */ - -/* #region .popup.is-bottom-right */ -.popup.is-bottom-right { - top: 100%; - right: 0; - margin: 0; - - /* TODO Update like .is-bottom-left, currently it's */ - transform: translateY(6px); -} - -.popup.is-bottom-right .popup-arrow { - top: -6px; - left: auto; - right: 8px; - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: var(--barBorderColor); -} - -.popup.is-bottom-right .popup-arrow:after { - left: -6px; - bottom: -7px; - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: #ffffff; -} -/* #endregion */ - -/* #region .popup.is-bottom-left */ -.popup.is-bottom-left { - top: 100%; - left: 0; - margin: 0; - transform: translate(-8px, 6px); -} - -.popup.is-bottom-left .popup-arrow { - top: -6px; - right: auto; - left: 8px; - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: var(--barBorderColor); -} - -.popup.is-bottom-left .popup-arrow:after { - left: -6px; - bottom: -7px; - border-left-width: 6px; - border-top-width: 0; - border-right-color: transparent; - border-bottom-color: #ffffff; -} -/* #endregion */ - -/* #region .popup.is-left-top */ -.popup.is-left-top { - top: -4px; - right: 100%; - margin: 0; - transform: translateX(-6px); -} - -.popup.is-left-top .popup-arrow { - right: -6px; - left: auto; - top: 8px; - border-right-width: 0; - border-left-width: 6px; - border-left-color: var(--barBorderColor); - border-right-color: transparent; -} - -.popup.is-left-top .popup-arrow:after { - top: -6px; - left: -7px; - border-right-width: 0; - border-left-width: 6px; - border-left-color: #ffffff; - border-right-color: transparent; -} -/* #endregion */ - -/* #region .popup.is-right-top */ -.popup.is-right-top { - top: -4px; - left: 100%; - margin: 0; - transform: translateX(6px); -} - -.popup.is-right-top .popup-arrow { - left: -6px; - right: auto; - top: 8px; - border-left-width: 0; - border-right-width: 6px; - border-right-color: var(--barBorderColor); - border-left-color: transparent; -} - -.popup.is-right-top .popup-arrow:after { - top: -6px; - right: -7px; - border-left-width: 0; - border-right-width: 6px; - border-right-color: #ffffff; - border-left-color: transparent; -} -/* #endregion */ - -/* #region .popup & .menu or .multi-select */ -.popup:not(.no-padding) > .menu, -.popup:not(.no-padding) > .multi-select { - margin: calc(-1 * var(--gridSize)); -} -/* #endregion */ diff --git a/server/sonar-web/src/main/js/components/ui/popups.tsx b/server/sonar-web/src/main/js/components/ui/popups.tsx deleted file mode 100644 index e7e5ec61e31..00000000000 --- a/server/sonar-web/src/main/js/components/ui/popups.tsx +++ /dev/null @@ -1,64 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; -import * as classNames from 'classnames'; -import './popups.css'; - -export enum PopupPlacement { - Bottom = 'bottom', - BottomLeft = 'bottom-left', - BottomRight = 'bottom-right', - LeftTop = 'left-top', - RightTop = 'right-top' -} - -interface PopupProps { - arrowStyle?: React.CSSProperties; - children?: React.ReactNode; - className?: string; - noPadding?: boolean; - placement?: PopupPlacement; - style?: React.CSSProperties; -} - -export function Popup(props: PopupProps) { - const { placement = PopupPlacement.Bottom } = props; - return ( - <div - className={classNames( - 'popup', - `is-${placement}`, - { 'no-padding': props.noPadding }, - props.className - )} - style={props.style}> - {props.children} - <PopupArrow style={props.arrowStyle} /> - </div> - ); -} - -interface PopupArrowProps { - style?: React.CSSProperties; -} - -export function PopupArrow(props: PopupArrowProps) { - return <div className="popup-arrow" style={props.style} />; -} diff --git a/server/sonar-web/src/main/js/components/workspace/Workspace.tsx b/server/sonar-web/src/main/js/components/workspace/Workspace.tsx index 38c419c105c..938fdd4b138 100644 --- a/server/sonar-web/src/main/js/components/workspace/Workspace.tsx +++ b/server/sonar-web/src/main/js/components/workspace/Workspace.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { omit, uniqBy } from 'lodash'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; +import { get, save } from 'sonar-ui-common/helpers/storage'; import { WorkspaceContext, ComponentDescriptor, RuleDescriptor } from './context'; import WorkspacePortal from './WorkspacePortal'; -import { get, save } from '../../helpers/storage'; -import { lazyLoad } from '../lazyLoad'; import './styles.css'; const WORKSPACE = 'sonarqube-workspace'; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentTitle.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentTitle.tsx index ae3014c0cae..e8e7d6f164b 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentTitle.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentTitle.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; +import { collapsePath } from 'sonar-ui-common/helpers/path'; import { ComponentDescriptor } from './context'; -import QualifierIcon from '../icons-components/QualifierIcon'; -import { collapsePath } from '../../helpers/path'; interface Props { component: ComponentDescriptor; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentViewer.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentViewer.tsx index 2e3ae7561cd..a12d22fd256 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentViewer.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceComponentViewer.tsx @@ -19,11 +19,11 @@ */ import * as React from 'react'; import { connect } from 'react-redux'; +import { scrollToElement } from 'sonar-ui-common/helpers/scrolling'; import { ComponentDescriptor } from './context'; import WorkspaceHeader, { Props as WorkspaceHeaderProps } from './WorkspaceHeader'; import WorkspaceComponentTitle from './WorkspaceComponentTitle'; import SourceViewer from '../SourceViewer/SourceViewer'; -import { scrollToElement } from '../../helpers/scrolling'; import { isPullRequest, isShortLivingBranch } from '../../helpers/branches'; import { fetchBranchStatus } from '../../store/rootActions'; import { getParents } from '../../api/components'; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceHeader.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceHeader.tsx index b574d69d8d4..5641f01b7d2 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceHeader.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceHeader.tsx @@ -19,13 +19,13 @@ */ import * as React from 'react'; import { DraggableCore, DraggableData } from 'react-draggable'; -import { translate } from '../../helpers/l10n'; -import { ButtonIcon } from '../ui/buttons'; -import ClearIcon from '../icons-components/ClearIcon'; -import CollapseIcon from '../icons-components/CollapseIcon'; -import ExpandIcon from '../icons-components/ExpandIcon'; -import MinimizeIcon from '../icons-components/MinimizeIcon'; -import { IconProps } from '../icons-components/Icon'; +import { IconProps } from 'sonar-ui-common/components/icons/Icon'; +import ClearIcon from 'sonar-ui-common/components/icons/ClearIcon'; +import CollapseIcon from 'sonar-ui-common/components/icons/CollapseIcon'; +import ExpandIcon from 'sonar-ui-common/components/icons/ExpandIcon'; +import MinimizeIcon from 'sonar-ui-common/components/icons/MinimizeIcon'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons'; export interface Props { children: React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceNavItem.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceNavItem.tsx index bb94c03bc04..41fd3a743bb 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceNavItem.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceNavItem.tsx @@ -18,7 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { ClearButton } from '../ui/buttons'; +import { ClearButton } from 'sonar-ui-common/components/controls/buttons'; export interface Props { children: React.ReactNode; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleDetails.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleDetails.tsx index 159424d0b8c..dfeb97645aa 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleDetails.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleDetails.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { keyBy } from 'lodash'; +import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner'; import { withAppState } from '../hoc/withAppState'; -import DeferredSpinner from '../common/DeferredSpinner'; import RuleDetailsMeta from '../../apps/coding-rules/components/RuleDetailsMeta'; import RuleDetailsDescription from '../../apps/coding-rules/components/RuleDetailsDescription'; import { getRuleDetails, getRulesApp } from '../../api/rules'; diff --git a/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleTitle.tsx b/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleTitle.tsx index c7bd583e68c..b65e1bf0e97 100644 --- a/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleTitle.tsx +++ b/server/sonar-web/src/main/js/components/workspace/WorkspaceRuleTitle.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import LightBulbIcon from 'sonar-ui-common/components/icons/LightBulbIcon'; import { RuleDescriptor } from './context'; -import LightBulbIcon from '../icons-components/LightBulbIcon'; -import * as theme from '../../app/theme'; +import { colors } from '../../app/theme'; interface Props { limited?: boolean; @@ -31,7 +31,7 @@ export default function WorkspaceRuleTitle({ limited, rule }: Props) { const { name = '—' } = rule; return ( <> - <LightBulbIcon className="little-spacer-right" fill={theme.blue} /> + <LightBulbIcon className="little-spacer-right" fill={colors.blue} /> {limited ? <span className="text-limited">{name}</span> : name} </> ); diff --git a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceComponentViewer-test.tsx b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceComponentViewer-test.tsx index c287f6214a1..1780054d98b 100644 --- a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceComponentViewer-test.tsx +++ b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceComponentViewer-test.tsx @@ -19,9 +19,9 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { WorkspaceComponentViewer, Props } from '../WorkspaceComponentViewer'; import { mockPullRequest, mockIssue } from '../../../helpers/testMocks'; -import { waitAndUpdate } from '../../../helpers/testUtils'; import { getParents } from '../../../api/components'; jest.mock('../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceNavItem-test.tsx b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceNavItem-test.tsx index 90ec99f0db8..3568a8ddfc9 100644 --- a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceNavItem-test.tsx +++ b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceNavItem-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import WorkspaceNavItem, { Props } from '../WorkspaceNavItem'; -import { click } from '../../../helpers/testUtils'; it('should render', () => { expect(shallowRender()).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceRuleDetails-test.tsx b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceRuleDetails-test.tsx index dd61d6b8217..82d6e06bad9 100644 --- a/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceRuleDetails-test.tsx +++ b/server/sonar-web/src/main/js/components/workspace/__tests__/WorkspaceRuleDetails-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import { WorkspaceRuleDetails } from '../WorkspaceRuleDetails'; -import { waitAndUpdate } from '../../../helpers/testUtils'; jest.mock('../../../api/rules', () => ({ getRulesApp: jest.fn(() => diff --git a/server/sonar-web/src/main/js/helpers/__tests__/__snapshots__/query-test.ts.snap b/server/sonar-web/src/main/js/helpers/__tests__/__snapshots__/query-test.ts.snap deleted file mode 100644 index 4f0b5538ba8..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/__snapshots__/query-test.ts.snap +++ /dev/null @@ -1,11 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`cleanQuery should remove undefined and null query items 1`] = ` -Object { - "a": "b", - "d": "", - "e": 0, -} -`; - -exports[`parseAsDate should parse string date correctly 1`] = `2016-06-20T13:09:48.256Z`; diff --git a/server/sonar-web/src/main/js/helpers/__tests__/colors-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/colors-test.ts deleted file mode 100644 index 5f9a652e83b..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/colors-test.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as colors from '../colors'; - -describe('#stringToColor', () => { - it('should return a color for a text', () => { - expect(colors.stringToColor('skywalker')).toBe('#97f047'); - }); -}); - -describe('#isDarkColor', () => { - it('should be dark', () => { - expect(colors.isDarkColor('#000000')).toBeTruthy(); - expect(colors.isDarkColor('#222222')).toBeTruthy(); - expect(colors.isDarkColor('#000')).toBeTruthy(); - }); - it('should be light', () => { - expect(colors.isDarkColor('#FFFFFF')).toBeFalsy(); - expect(colors.isDarkColor('#CDCDCD')).toBeFalsy(); - expect(colors.isDarkColor('#FFF')).toBeFalsy(); - }); -}); - -describe('#getTextColor', () => { - it('should return dark color', () => { - expect(colors.getTextColor('#FFF', 'dark', 'light')).toBe('dark'); - expect(colors.getTextColor('#FFF')).toBe('#222'); - }); - it('should return light color', () => { - expect(colors.getTextColor('#000', 'dark', 'light')).toBe('light'); - expect(colors.getTextColor('#000')).toBe('#fff'); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/dates-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/dates-test.ts deleted file mode 100644 index 7fa406200b7..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/dates-test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as dates from '../dates'; - -const { parseDate } = dates; -const recentDate = parseDate('2017-08-16T12:00:00.000Z'); -const recentDate2 = parseDate('2016-12-16T12:00:00.000Z'); -const oldDate = parseDate('2014-01-12T12:00:00.000Z'); - -it('toShortNotSoISOString', () => { - expect(dates.toShortNotSoISOString(recentDate)).toBe('2017-08-16'); -}); - -it('toNotSoISOString', () => { - expect(dates.toNotSoISOString(recentDate)).toBe('2017-08-16T12:00:00+0000'); -}); - -it('startOfDay', () => { - expect(dates.startOfDay(recentDate).toTimeString()).toContain('00:00:00'); - expect(dates.startOfDay(recentDate)).not.toBe(recentDate); -}); - -it('isValidDate', () => { - expect(dates.isValidDate(recentDate)).toBeTruthy(); - expect(dates.isValidDate(new Date())).toBeTruthy(); - expect(dates.isValidDate(parseDate('foo'))).toBeFalsy(); -}); - -it('isSameDay', () => { - expect(dates.isSameDay(recentDate, parseDate(recentDate))).toBeTruthy(); - expect(dates.isSameDay(recentDate, recentDate2)).toBeFalsy(); - expect(dates.isSameDay(recentDate, oldDate)).toBeFalsy(); - expect(dates.isSameDay(recentDate, parseDate('2016-08-16T12:00:00.000Z'))).toBeFalsy(); -}); - -it('differenceInYears', () => { - expect(dates.differenceInYears(recentDate, recentDate2)).toBe(0); - expect(dates.differenceInYears(recentDate, oldDate)).toBe(3); - expect(dates.differenceInYears(oldDate, recentDate)).toBe(-3); -}); - -it('differenceInDays', () => { - expect(dates.differenceInDays(recentDate, parseDate('2017-08-01T12:00:00.000Z'))).toBe(15); - expect(dates.differenceInDays(recentDate, parseDate('2017-08-15T23:00:00.000Z'))).toBe(0); - expect(dates.differenceInDays(recentDate, recentDate2)).toBe(243); - expect(dates.differenceInDays(recentDate, oldDate)).toBe(1312); -}); - -it('differenceInSeconds', () => { - expect(dates.differenceInSeconds(recentDate, parseDate('2017-08-16T10:00:00.000Z'))).toBe(7200); - expect(dates.differenceInSeconds(recentDate, parseDate('2017-08-16T12:00:00.500Z'))).toBeCloseTo( - 0 - ); - expect(dates.differenceInSeconds(recentDate, oldDate)).toBe(113356800); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/l10n-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/l10n-test.ts deleted file mode 100644 index cf5d1769e2b..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/l10n-test.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { resetBundle, translate, translateWithParameters } from '../l10n'; - -afterEach(() => { - resetBundle({}); -}); - -describe('#translate', () => { - it('should translate simple message', () => { - resetBundle({ my_key: 'my message' }); - expect(translate('my_key')).toBe('my message'); - }); - - it('should translate message with composite key', () => { - resetBundle({ 'my.composite.message': 'my message' }); - expect(translate('my', 'composite', 'message')).toBe('my message'); - expect(translate('my.composite', 'message')).toBe('my message'); - expect(translate('my', 'composite.message')).toBe('my message'); - expect(translate('my.composite.message')).toBe('my message'); - }); - - it('should not translate message but return its key', () => { - expect(translate('random')).toBe('random'); - expect(translate('random', 'key')).toBe('random.key'); - expect(translate('composite.random', 'key')).toBe('composite.random.key'); - }); -}); - -describe('#translateWithParameters', () => { - it('should translate message with one parameter in the beginning', () => { - resetBundle({ x_apples: '{0} apples' }); - expect(translateWithParameters('x_apples', 5)).toBe('5 apples'); - }); - - it('should translate message with one parameter in the middle', () => { - resetBundle({ x_apples: 'I have {0} apples' }); - expect(translateWithParameters('x_apples', 5)).toBe('I have 5 apples'); - }); - - it('should translate message with one parameter in the end', () => { - resetBundle({ x_apples: 'Apples: {0}' }); - expect(translateWithParameters('x_apples', 5)).toBe('Apples: 5'); - }); - - it('should translate message with several parameters', () => { - resetBundle({ x_apples: '{0}: I have {2} apples in my {1} baskets - {3}' }); - expect(translateWithParameters('x_apples', 1, 2, 3, 4)).toBe( - '1: I have 3 apples in my 2 baskets - 4' - ); - }); - - it('should not translate message but return its key', () => { - expect(translateWithParameters('random', 5)).toBe('random.5'); - expect(translateWithParameters('random', 1, 2, 3)).toBe('random.1.2.3'); - expect(translateWithParameters('composite.random', 1, 2)).toBe('composite.random.1.2'); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/measures-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/measures-test.ts deleted file mode 100644 index 6cb21fc5aa7..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/measures-test.ts +++ /dev/null @@ -1,177 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { resetBundle } from '../l10n'; -import { formatMeasure } from '../measures'; - -const HOURS_IN_DAY = 8; -const ONE_MINUTE = 1; -const ONE_HOUR = ONE_MINUTE * 60; -const ONE_DAY = HOURS_IN_DAY * ONE_HOUR; - -beforeEach(() => { - resetBundle({ - 'work_duration.x_days': '{0}d', - 'work_duration.x_hours': '{0}h', - 'work_duration.x_minutes': '{0}min', - 'work_duration.about': '~ {0}', - 'metric.level.ERROR': 'Error', - 'metric.level.WARN': 'Warning', - 'metric.level.OK': 'Ok', - 'short_number_suffix.g': 'G', - 'short_number_suffix.k': 'k', - 'short_number_suffix.m': 'M' - }); -}); - -describe('#formatMeasure()', () => { - it('should format INT', () => { - expect(formatMeasure(0, 'INT')).toBe('0'); - expect(formatMeasure(1, 'INT')).toBe('1'); - expect(formatMeasure(-5, 'INT')).toBe('-5'); - expect(formatMeasure(999, 'INT')).toBe('999'); - expect(formatMeasure(1000, 'INT')).toBe('1,000'); - expect(formatMeasure(1529, 'INT')).toBe('1,529'); - expect(formatMeasure(10000, 'INT')).toBe('10,000'); - expect(formatMeasure(1234567890, 'INT')).toBe('1,234,567,890'); - }); - - it('should format SHORT_INT', () => { - expect(formatMeasure(0, 'SHORT_INT')).toBe('0'); - expect(formatMeasure(1, 'SHORT_INT')).toBe('1'); - expect(formatMeasure(999, 'SHORT_INT')).toBe('999'); - expect(formatMeasure(1000, 'SHORT_INT')).toBe('1k'); - expect(formatMeasure(1529, 'SHORT_INT')).toBe('1.5k'); - expect(formatMeasure(10000, 'SHORT_INT')).toBe('10k'); - expect(formatMeasure(10678, 'SHORT_INT')).toBe('11k'); - expect(formatMeasure(9467890, 'SHORT_INT')).toBe('9.5M'); - expect(formatMeasure(994567890, 'SHORT_INT')).toBe('995M'); - expect(formatMeasure(999000001, 'SHORT_INT')).toBe('999M'); - expect(formatMeasure(999567890, 'SHORT_INT')).toBe('1G'); - expect(formatMeasure(1234567890, 'SHORT_INT')).toBe('1.2G'); - expect(formatMeasure(11234567890, 'SHORT_INT')).toBe('11G'); - }); - - it('should format FLOAT', () => { - expect(formatMeasure(0.0, 'FLOAT')).toBe('0.0'); - expect(formatMeasure(1.0, 'FLOAT')).toBe('1.0'); - expect(formatMeasure(1.3, 'FLOAT')).toBe('1.3'); - expect(formatMeasure(1.34, 'FLOAT')).toBe('1.34'); - expect(formatMeasure(50.89, 'FLOAT')).toBe('50.89'); - expect(formatMeasure(100.0, 'FLOAT')).toBe('100.0'); - expect(formatMeasure(123.456, 'FLOAT')).toBe('123.456'); - expect(formatMeasure(123456.7, 'FLOAT')).toBe('123,456.7'); - expect(formatMeasure(1234567890.0, 'FLOAT')).toBe('1,234,567,890.0'); - }); - - it('should respect FLOAT precision', () => { - expect(formatMeasure(0.1, 'FLOAT')).toBe('0.1'); - expect(formatMeasure(0.12, 'FLOAT')).toBe('0.12'); - expect(formatMeasure(0.12345, 'FLOAT')).toBe('0.12345'); - expect(formatMeasure(0.123456, 'FLOAT')).toBe('0.12346'); - }); - - it('should format PERCENT', () => { - expect(formatMeasure(0.0, 'PERCENT')).toBe('0.0%'); - expect(formatMeasure(1.0, 'PERCENT')).toBe('1.0%'); - expect(formatMeasure(1.3, 'PERCENT')).toBe('1.3%'); - expect(formatMeasure(1.34, 'PERCENT')).toBe('1.3%'); - expect(formatMeasure(50.89, 'PERCENT')).toBe('50.9%'); - expect(formatMeasure(100.0, 'PERCENT')).toBe('100%'); - expect(formatMeasure(50.89, 'PERCENT', { decimals: 0 })).toBe('50.9%'); - expect(formatMeasure(50.89, 'PERCENT', { decimals: 1 })).toBe('50.9%'); - expect(formatMeasure(50.89, 'PERCENT', { decimals: 2 })).toBe('50.89%'); - expect(formatMeasure(50.89, 'PERCENT', { decimals: 3 })).toBe('50.890%'); - }); - - it('should format WORK_DUR', () => { - expect(formatMeasure(0, 'WORK_DUR')).toBe('0'); - expect(formatMeasure(5 * ONE_DAY, 'WORK_DUR')).toBe('5d'); - expect(formatMeasure(2 * ONE_HOUR, 'WORK_DUR')).toBe('2h'); - expect(formatMeasure(40 * ONE_MINUTE, 'WORK_DUR')).toBe('40min'); - expect(formatMeasure(ONE_MINUTE, 'WORK_DUR')).toBe('1min'); - expect(formatMeasure(5 * ONE_DAY + 2 * ONE_HOUR, 'WORK_DUR')).toBe('5d 2h'); - expect(formatMeasure(2 * ONE_HOUR + ONE_MINUTE, 'WORK_DUR')).toBe('2h 1min'); - expect(formatMeasure(5 * ONE_DAY + 2 * ONE_HOUR + ONE_MINUTE, 'WORK_DUR')).toBe('5d 2h'); - expect(formatMeasure(15 * ONE_DAY + 2 * ONE_HOUR + ONE_MINUTE, 'WORK_DUR')).toBe('15d'); - expect(formatMeasure(-5 * ONE_DAY, 'WORK_DUR')).toBe('-5d'); - expect(formatMeasure(-2 * ONE_HOUR, 'WORK_DUR')).toBe('-2h'); - expect(formatMeasure(-1 * ONE_MINUTE, 'WORK_DUR')).toBe('-1min'); - }); - - it('should format SHORT_WORK_DUR', () => { - expect(formatMeasure(0, 'SHORT_WORK_DUR')).toBe('0'); - expect(formatMeasure(5 * ONE_DAY, 'SHORT_WORK_DUR')).toBe('5d'); - expect(formatMeasure(2 * ONE_HOUR, 'SHORT_WORK_DUR')).toBe('2h'); - expect(formatMeasure(ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('1min'); - expect(formatMeasure(40 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('40min'); - expect(formatMeasure(58 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('1h'); - expect(formatMeasure(5 * ONE_DAY + 2 * ONE_HOUR, 'SHORT_WORK_DUR')).toBe('5d'); - expect(formatMeasure(2 * ONE_HOUR + ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('2h'); - expect(formatMeasure(ONE_HOUR + 55 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('2h'); - expect(formatMeasure(3 * ONE_DAY + 6 * ONE_HOUR, 'SHORT_WORK_DUR')).toBe('4d'); - expect(formatMeasure(7 * ONE_HOUR + 59 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('1d'); - expect(formatMeasure(5 * ONE_DAY + 2 * ONE_HOUR + ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('5d'); - expect(formatMeasure(15 * ONE_DAY + 2 * ONE_HOUR + ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('15d'); - expect(formatMeasure(7 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('7min'); - expect(formatMeasure(-5 * ONE_DAY, 'SHORT_WORK_DUR')).toBe('-5d'); - expect(formatMeasure(-2 * ONE_HOUR, 'SHORT_WORK_DUR')).toBe('-2h'); - expect(formatMeasure(-1 * ONE_MINUTE, 'SHORT_WORK_DUR')).toBe('-1min'); - - expect(formatMeasure(1529 * ONE_DAY, 'SHORT_WORK_DUR')).toBe('1.5kd'); - expect(formatMeasure(1234567 * ONE_DAY, 'SHORT_WORK_DUR')).toBe('1.2Md'); - expect(formatMeasure(12345670 * ONE_DAY + 4 * ONE_HOUR, 'SHORT_WORK_DUR')).toBe('12Md'); - }); - - it('should format RATING', () => { - expect(formatMeasure(1, 'RATING')).toBe('A'); - expect(formatMeasure(2, 'RATING')).toBe('B'); - expect(formatMeasure(3, 'RATING')).toBe('C'); - expect(formatMeasure(4, 'RATING')).toBe('D'); - expect(formatMeasure(5, 'RATING')).toBe('E'); - }); - - it('should format LEVEL', () => { - expect(formatMeasure('ERROR', 'LEVEL')).toBe('Error'); - expect(formatMeasure('WARN', 'LEVEL')).toBe('Warning'); - expect(formatMeasure('OK', 'LEVEL')).toBe('Ok'); - expect(formatMeasure('UNKNOWN', 'LEVEL')).toBe('UNKNOWN'); - }); - - it('should format MILLISEC', () => { - expect(formatMeasure(0, 'MILLISEC')).toBe('0ms'); - expect(formatMeasure(1, 'MILLISEC')).toBe('1ms'); - expect(formatMeasure(173, 'MILLISEC')).toBe('173ms'); - expect(formatMeasure(3649, 'MILLISEC')).toBe('4s'); - expect(formatMeasure(893481, 'MILLISEC')).toBe('15min'); - expect(formatMeasure(17862325, 'MILLISEC')).toBe('298min'); - }); - - it('should not format unknown type', () => { - expect(formatMeasure('random value', 'RANDOM_TYPE')).toBe('random value'); - }); - - it('should return null if value is empty string', () => { - expect(formatMeasure('', 'PERCENT')).toBe(''); - }); - - it('should not fail with undefined', () => { - expect(formatMeasure(undefined, 'INT')).toBe(''); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/path-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/path-test.ts deleted file mode 100644 index a7f4b1dd993..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/path-test.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { collapsedDirFromPath, cutLongWords, fileFromPath } from '../path'; - -describe('#collapsedDirFromPath()', () => { - it('should return null when pass null', () => { - expect(collapsedDirFromPath(null)).toBeNull(); - }); - - it('should return "/" when pass "/"', () => { - expect(collapsedDirFromPath('/')).toBe('/'); - }); - - it('should not cut short path', () => { - expect(collapsedDirFromPath('src/main/js/components/state.js')).toBe('src/main/js/components/'); - }); - - it('should cut long path', () => { - expect(collapsedDirFromPath('src/main/js/components/navigator/app/models/state.js')).toBe( - 'src/.../js/components/navigator/app/models/' - ); - }); - - it('should cut very long path', () => { - expect( - collapsedDirFromPath('src/main/another/js/components/navigator/app/models/state.js') - ).toBe('src/.../js/components/navigator/app/models/'); - }); -}); - -describe('#fileFromPath()', () => { - it('should return null when pass null', () => { - expect(fileFromPath(null)).toBeNull(); - }); - - it('should return empty string when pass "/"', () => { - expect(fileFromPath('/')).toBe(''); - }); - - it('should return file name when pass only file name', () => { - expect(fileFromPath('file.js')).toBe('file.js'); - }); - - it('should return file name when pass file path', () => { - expect(fileFromPath('src/main/js/file.js')).toBe('file.js'); - }); - - it('should return file name when pass file name without extension', () => { - expect(fileFromPath('src/main/file')).toBe('file'); - }); -}); - -describe('#cutLongWords', () => { - it('should cut the long work in the middle', () => { - expect(cutLongWords('This is a reallylongwordthatdontexistforthe test')).toBe( - 'This is a reallylongwordthatdontexistfor... test' - ); - }); - - it('should not cut anything', () => { - expect(cutLongWords('This is a test')).toBe('This is a test'); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/query-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/query-test.ts deleted file mode 100644 index d5253917e09..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/query-test.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as query from '../query'; -import { parseDate } from '../dates'; - -describe('queriesEqual', () => { - it('should correctly test equality of two queries', () => { - expect(query.queriesEqual({ a: 'test', b: 'test' }, { a: 'test', b: 'test' })).toBeTruthy(); - expect(query.queriesEqual({ a: [1, 2], b: 'test' }, { a: [1, 2], b: 'test' })).toBeTruthy(); - expect(query.queriesEqual({ a: 'a' }, { a: 'test', b: 'test' })).toBeFalsy(); - expect(query.queriesEqual({ a: [1, 2], b: 'test' }, { a: [1], b: 'test' })).toBeFalsy(); - }); -}); - -describe('cleanQuery', () => { - it('should remove undefined and null query items', () => { - expect(query.cleanQuery({ a: 'b', b: undefined, c: null, d: '', e: 0 })).toMatchSnapshot(); - }); -}); - -describe('parseAsBoolean', () => { - it('should parse booleans correctly', () => { - expect(query.parseAsBoolean('false')).toBeFalsy(); - expect(query.parseAsBoolean('true')).toBeTruthy(); - }); - - it('should return a default value', () => { - expect(query.parseAsBoolean('1')).toBeTruthy(); - expect(query.parseAsBoolean('foo')).toBeTruthy(); - }); -}); - -describe('parseAsString', () => { - it('should parse strings correctly', () => { - expect(query.parseAsString('random')).toBe('random'); - expect(query.parseAsString('')).toBe(''); - expect(query.parseAsString(undefined)).toBe(''); - }); -}); - -describe('parseAsArray', () => { - it('should parse string arrays correctly', () => { - expect(query.parseAsArray('1,2,3', query.parseAsString)).toEqual(['1', '2', '3']); - }); -}); - -describe('parseAsDate', () => { - it('should parse string date correctly', () => { - expect(query.parseAsDate('2016-06-20T13:09:48.256Z')).toMatchSnapshot(); - expect(query.parseAsDate('')).toBeFalsy(); - expect(query.parseAsDate()).toBeFalsy(); - }); -}); - -describe('serializeDate', () => { - const date = parseDate('2016-06-20T13:09:48.256Z'); - it('should serialize string correctly', () => { - expect(query.serializeDate(date)).toBe('2016-06-20T13:09:48+0000'); - expect(query.serializeDate()).toBeUndefined(); - }); -}); - -describe('serializeString', () => { - it('should serialize string correctly', () => { - expect(query.serializeString('foo')).toBe('foo'); - expect(query.serializeString('')).toBeUndefined(); - }); -}); - -describe('serializeStringArray', () => { - it('should serialize array of string correctly', () => { - expect(query.serializeStringArray(['1', '2', '3'])).toBe('1,2,3'); - expect(query.serializeStringArray([])).toBeUndefined(); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/request-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/request-test.ts deleted file mode 100644 index 27e273d369b..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/request-test.ts +++ /dev/null @@ -1,121 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import { requestTryAndRepeatUntil } from '../request'; - -describe('requestTryAndRepeatUntil', () => { - jest.useFakeTimers(); - - beforeEach(() => { - jest.clearAllTimers(); - }); - - it('should repeat call until stop condition is met', async () => { - const apiCall = jest.fn().mockResolvedValue({ repeat: true }); - const stopRepeat = jest.fn().mockImplementation(({ repeat }) => !repeat); - - const promiseResult = requestTryAndRepeatUntil( - apiCall, - { max: -1, slowThreshold: -20 }, - stopRepeat - ); - - for (let i = 1; i < 5; i++) { - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(i); - await new Promise(setImmediate); - expect(stopRepeat).toBeCalledTimes(i); - } - apiCall.mockResolvedValue({ repeat: false }); - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(5); - await new Promise(setImmediate); - expect(stopRepeat).toBeCalledTimes(5); - - return expect(promiseResult).resolves.toEqual({ repeat: false }); - }); - - it('should repeat call as long as there is an error', async () => { - const apiCall = jest.fn().mockRejectedValue({ response: { status: 504 } }); - const stopRepeat = jest.fn().mockReturnValue(true); - const promiseResult = requestTryAndRepeatUntil( - apiCall, - { max: -1, slowThreshold: -20 }, - stopRepeat - ); - - for (let i = 1; i < 5; i++) { - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(i); - await new Promise(setImmediate); - } - apiCall.mockResolvedValue('Success'); - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(5); - await new Promise(setImmediate); - expect(stopRepeat).toBeCalledTimes(1); - - return expect(promiseResult).resolves.toBe('Success'); - }); - - it('should stop after 3 calls', async () => { - const apiCall = jest.fn().mockResolvedValue({}); - const stopRepeat = jest.fn().mockReturnValue(false); - const promiseResult = requestTryAndRepeatUntil( - apiCall, - { max: 3, slowThreshold: 0 }, - stopRepeat - ); - - expect(promiseResult).rejects.toBe(undefined); - - for (let i = 1; i < 3; i++) { - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(i); - await new Promise(setImmediate); - } - apiCall.mockResolvedValue('Success'); - jest.runAllTimers(); - expect(apiCall).toBeCalledTimes(3); - }); - - it('should slow down after 2 calls', async () => { - const apiCall = jest.fn().mockResolvedValue({}); - const stopRepeat = jest.fn().mockReturnValue(false); - requestTryAndRepeatUntil(apiCall, { max: 5, slowThreshold: 3 }, stopRepeat); - - for (let i = 1; i < 3; i++) { - jest.advanceTimersByTime(500); - expect(apiCall).toBeCalledTimes(i); - await new Promise(setImmediate); - } - - jest.advanceTimersByTime(500); - expect(apiCall).toBeCalledTimes(2); - jest.advanceTimersByTime(2000); - expect(apiCall).toBeCalledTimes(2); - jest.advanceTimersByTime(500); - expect(apiCall).toBeCalledTimes(3); - await new Promise(setImmediate); - - jest.advanceTimersByTime(3000); - expect(apiCall).toBeCalledTimes(4); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/scrolling-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/scrolling-test.ts deleted file mode 100644 index 05fc7d60a82..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/scrolling-test.ts +++ /dev/null @@ -1,194 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { scrollToElement, scrollHorizontally } from '../scrolling'; - -jest.useFakeTimers(); - -describe('scrollToElement', () => { - it('should scroll parent up to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ top: 5, bottom: 20 }); - - const parent = document.createElement('div'); - parent.getBoundingClientRect = mockGetBoundingClientRect({ height: 30, top: 15 }); - parent.scrollTop = 10; - parent.scrollLeft = 12; - parent.appendChild(element); - - document.body.appendChild(parent); - scrollToElement(element, { parent, smooth: false }); - - expect(parent.scrollTop).toEqual(0); - expect(parent.scrollLeft).toEqual(12); - }); - - it('should scroll parent down to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ top: 25, bottom: 50 }); - - const parent = document.createElement('div'); - parent.getBoundingClientRect = mockGetBoundingClientRect({ height: 30, top: 15 }); - parent.scrollTop = 10; - parent.scrollLeft = 12; - parent.appendChild(element); - - document.body.appendChild(parent); - scrollToElement(element, { parent, smooth: false }); - - expect(parent.scrollTop).toEqual(15); - expect(parent.scrollLeft).toEqual(12); - }); - - it('should scroll window down to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ top: 840, bottom: 845 }); - - Object.defineProperty(window, 'innerHeight', { value: 400 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollToElement(element, { smooth: false }); - - expect(window.scrollTo).toBeCalledWith(0, 445); - }); - - it('should scroll window up to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ top: -10, bottom: 10 }); - - Object.defineProperty(window, 'innerHeight', { value: 50 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollToElement(element, { smooth: false }); - - expect(window.scrollTo).toBeCalledWith(0, -10); - }); - - it('should scroll window down to element smoothly', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ top: 840, bottom: 845 }); - - Object.defineProperty(window, 'innerHeight', { value: 400 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollToElement(element, {}); - - jest.runAllTimers(); - - expect(window.scrollTo).toBeCalledTimes(10); - }); -}); - -describe('scrollHorizontally', () => { - it('should scroll parent left to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ left: 25, right: 42 }); - - const parent = document.createElement('div'); - parent.getBoundingClientRect = mockGetBoundingClientRect({ width: 67, left: 46 }); - parent.scrollTop = 12; - parent.scrollLeft = 38; - parent.appendChild(element); - - document.body.appendChild(parent); - - scrollHorizontally(element, { parent, smooth: false }); - - expect(parent.scrollTop).toEqual(12); - expect(parent.scrollLeft).toEqual(17); - }); - - it('should scroll parent right to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ left: 25, right: 99 }); - - const parent = document.createElement('div'); - parent.getBoundingClientRect = mockGetBoundingClientRect({ width: 67, left: 20 }); - parent.scrollTop = 12; - parent.scrollLeft = 20; - parent.appendChild(element); - - document.body.appendChild(parent); - - scrollHorizontally(element, { parent, smooth: false }); - - expect(parent.scrollTop).toEqual(12); - expect(parent.scrollLeft).toEqual(32); - }); - - it('should scroll window right to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ left: 840, right: 845 }); - - Object.defineProperty(window, 'innerWidth', { value: 400 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollHorizontally(element, { smooth: false }); - - expect(window.scrollTo).toBeCalledWith(445, 0); - }); - - it('should scroll window left to element', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ left: -10, right: 10 }); - - Object.defineProperty(window, 'innerWidth', { value: 50 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollHorizontally(element, { smooth: false }); - - expect(window.scrollTo).toBeCalledWith(-10, 0); - }); - - it('should scroll window right to element smoothly', () => { - const element = document.createElement('a'); - element.getBoundingClientRect = mockGetBoundingClientRect({ left: 840, right: 845 }); - - Object.defineProperty(window, 'innerWidth', { value: 400 }); - window.scrollTo = jest.fn(); - - document.body.appendChild(element); - - scrollHorizontally(element, {}); - - jest.runAllTimers(); - - expect(window.scrollTo).toBeCalledTimes(10); - }); -}); - -const mockGetBoundingClientRect = (overrides: Partial<ClientRect>) => () => ({ - bottom: 0, - height: 0, - left: 0, - right: 0, - top: 0, - width: 0, - ...overrides -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/strings-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/strings-test.ts deleted file mode 100644 index 3fbb54d1c99..00000000000 --- a/server/sonar-web/src/main/js/helpers/__tests__/strings-test.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { decodeJwt, latinize, slugify } from '../strings'; - -describe('#decodeJwt', () => { - it('should correctly decode a jwt token', () => { - const claims = { - aud: 'ari:cloud:bitbucket::app/{327713ed-f1b2-4659-9c91-c8ecf8be7f3e}/sonarcloud-greg', - exp: 1541062205, - iat: 1541058605, - iss: 'ari:cloud:bitbucket::app/{327713ed-f1b2-4659-9c91-c8ecf8be7f3e}/sonarcloud-greg', - qsh: 'a6c93addd971c05d08da1e1669c2640fba529e98fbb5b2b9effadf00bf484277' - }; - expect( - decodeJwt( - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcmk6Y2xvdWQ6Yml0YnVja2V0OjphcHAvezMyNzcxM2VkLWYxYjItNDY1OS05YzkxLWM4ZWNmOGJlN2YzZX0vc29uYXJjbG91ZC1ncmVnIiwiaWF0IjoxNTQxMDU4NjA1LCJxc2giOiJhNmM5M2FkZGQ5NzFjMDVkMDhkYTFlMTY2OWMyNjQwZmJhNTI5ZTk4ZmJiNWIyYjllZmZhZGYwMGJmNDg0Mjc3IiwiYXVkIjoiYXJpOmNsb3VkOmJpdGJ1Y2tldDo6YXBwL3szMjc3MTNlZC1mMWIyLTQ2NTktOWM5MS1jOGVjZjhiZTdmM2V9L3NvbmFyY2xvdWQtZ3JlZyIsImV4cCI6MTU0MTA2MjIwNX0.5_0dFh_TPT_UorDewu2JEErgQE2ZnzBjvCDrOThseRo' - ) - ).toEqual(claims); - expect( - decodeJwt( - 'eyJpc3MiOiJhcmk6Y2xvdWQ6Yml0YnVja2V0OjphcHAvezMyNzcxM2VkLWYxYjItNDY1OS05YzkxLWM4ZWNmOGJlN2YzZX0vc29uYXJjbG91ZC1ncmVnIiwiaWF0IjoxNTQxMDU4NjA1LCJxc2giOiJhNmM5M2FkZGQ5NzFjMDVkMDhkYTFlMTY2OWMyNjQwZmJhNTI5ZTk4ZmJiNWIyYjllZmZhZGYwMGJmNDg0Mjc3IiwiYXVkIjoiYXJpOmNsb3VkOmJpdGJ1Y2tldDo6YXBwL3szMjc3MTNlZC1mMWIyLTQ2NTktOWM5MS1jOGVjZjhiZTdmM2V9L3NvbmFyY2xvdWQtZ3JlZyIsImV4cCI6MTU0MTA2MjIwNX0' - ) - ).toEqual(claims); - }); -}); - -describe('#latinize', () => { - it('should remove diacritics and replace them with normal letters', () => { - expect(latinize('âêîôûŵŷäëïöüẅÿàèìòùẁỳáéíóúẃýøāēīūčģķļņšž')).toBe( - 'aeiouwyaeiouwyaeiouwyaeiouwyoaeiucgklnsz' - ); - expect(latinize('ASDFGhjklQWERTz')).toBe('ASDFGhjklQWERTz'); - }); -}); - -describe('#slugify', () => { - it('should transform text into a slug', () => { - expect(slugify('Luke Sky&Walker')).toBe('luke-sky-and-walker'); - expect(slugify('tèst_:-ng><@')).toBe('test-ng'); - expect(slugify('my-valid-slug-1')).toBe('my-valid-slug-1'); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/__tests__/urls-test.ts b/server/sonar-web/src/main/js/helpers/__tests__/urls-test.ts index 08a028067f5..be61813112b 100644 --- a/server/sonar-web/src/main/js/helpers/__tests__/urls-test.ts +++ b/server/sonar-web/src/main/js/helpers/__tests__/urls-test.ts @@ -18,14 +18,10 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import { - isRelativeUrl, getComponentIssuesUrl, getComponentDrilldownUrl, - getPathUrlAsString, - getProjectUrl, getQualityGatesUrl, - getQualityGateUrl, - getReturnUrl + getQualityGateUrl } from '../urls'; const SIMPLE_COMPONENT_KEY = 'sonarqube'; @@ -33,37 +29,6 @@ const COMPLEX_COMPONENT_KEY = 'org.sonarsource.sonarqube:sonarqube'; const COMPLEX_COMPONENT_KEY_ENCODED = encodeURIComponent(COMPLEX_COMPONENT_KEY); const METRIC = 'coverage'; -let oldBaseUrl: string; - -beforeEach(() => { - oldBaseUrl = (window as any).baseUrl; -}); - -afterEach(() => { - (window as any).baseUrl = oldBaseUrl; -}); - -describe('#getPathUrlAsString', () => { - it('should return component url', () => { - expect(getPathUrlAsString(getProjectUrl(SIMPLE_COMPONENT_KEY))).toBe( - '/dashboard?id=' + SIMPLE_COMPONENT_KEY - ); - }); - - it('should encode component key', () => { - expect(getPathUrlAsString(getProjectUrl(COMPLEX_COMPONENT_KEY))).toBe( - '/dashboard?id=' + COMPLEX_COMPONENT_KEY_ENCODED - ); - }); - - it('should take baseUrl into account', () => { - (window as any).baseUrl = '/context'; - expect(getPathUrlAsString(getProjectUrl(COMPLEX_COMPONENT_KEY))).toBe( - '/context/dashboard?id=' + COMPLEX_COMPONENT_KEY_ENCODED - ); - }); -}); - describe('#getComponentIssuesUrl', () => { it('should work without parameters', () => { expect(getComponentIssuesUrl(SIMPLE_COMPONENT_KEY, {})).toEqual({ @@ -119,21 +84,3 @@ describe('#getQualityGate(s)Url', () => { }); }); }); - -describe('#getReturnUrl', () => { - it('should get the return url', () => { - expect(getReturnUrl({ query: { return_to: '/test' } })).toBe('/test'); - expect(getReturnUrl({ query: { return_to: 'http://www.google.com' } })).toBe('/'); - expect(getReturnUrl({})).toBe('/'); - }); -}); - -describe('#isRelativeUrl', () => { - it('should check a relative url', () => { - expect(isRelativeUrl('/test')).toBeTruthy(); - expect(isRelativeUrl('http://www.google.com')).toBeFalsy(); - expect(isRelativeUrl('javascript:alert("test")')).toBeFalsy(); - expect(isRelativeUrl('\\test')).toBeFalsy(); - expect(isRelativeUrl('//test')).toBeFalsy(); - }); -}); diff --git a/server/sonar-web/src/main/js/helpers/colors.ts b/server/sonar-web/src/main/js/helpers/colors.ts deleted file mode 100644 index 9efebee93c0..00000000000 --- a/server/sonar-web/src/main/js/helpers/colors.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -/* eslint-disable no-bitwise, no-mixed-operators */ -export function stringToColor(str: string) { - let hash = 0; - for (let i = 0; i < str.length; i++) { - hash = str.charCodeAt(i) + ((hash << 5) - hash); - } - let color = '#'; - for (let i = 0; i < 3; i++) { - const value = (hash >> (i * 8)) & 0xff; - color += ('00' + value.toString(16)).substr(-2); - } - return color; -} - -export function isDarkColor(color: string) { - color = color.substr(1); - if (color.length === 3) { - // shortcut notation: #f90 - color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2]; - } - const rgb = parseInt(color.substr(1), 16); - const r = (rgb >> 16) & 0xff; - const g = (rgb >> 8) & 0xff; - const b = (rgb >> 0) & 0xff; - const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; - return luma < 140; -} - -export function getTextColor(background: string, dark = '#222', light = '#fff') { - return isDarkColor(background) ? light : dark; -} diff --git a/server/sonar-web/src/main/js/helpers/constants.ts b/server/sonar-web/src/main/js/helpers/constants.ts index cf1546d0203..e8e8f9cd6f4 100644 --- a/server/sonar-web/src/main/js/helpers/constants.ts +++ b/server/sonar-web/src/main/js/helpers/constants.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import * as theme from '../app/theme'; +import { colors } from '../app/theme'; export const SEVERITIES = ['BLOCKER', 'CRITICAL', 'MAJOR', 'MINOR', 'INFO']; export const STATUSES = ['OPEN', 'REOPENED', 'CONFIRMED', 'RESOLVED', 'CLOSED']; @@ -31,18 +31,24 @@ export const RULE_TYPES: T.RuleType[] = ['BUG', 'VULNERABILITY', 'CODE_SMELL', ' export const RULE_STATUSES = ['READY', 'BETA', 'DEPRECATED']; export const CHART_COLORS_RANGE_PERCENT = [ - theme.green, - theme.lightGreen, - theme.yellow, - theme.orange, - theme.red + colors.green, + colors.lightGreen, + colors.yellow, + colors.orange, + colors.red ]; export const CHART_REVERSED_COLORS_RANGE_PERCENT = [ - theme.red, - theme.orange, - theme.yellow, - theme.lightGreen, - theme.green + colors.red, + colors.orange, + colors.yellow, + colors.lightGreen, + colors.green ]; -export const RATING_COLORS = [theme.green, theme.lightGreen, theme.yellow, theme.orange, '#e00']; +export const RATING_COLORS = [ + colors.green, + colors.lightGreen, + colors.yellow, + colors.orange, + '#e00' +]; diff --git a/server/sonar-web/src/main/js/helpers/cookies.ts b/server/sonar-web/src/main/js/helpers/cookies.ts deleted file mode 100644 index f170a2da925..00000000000 --- a/server/sonar-web/src/main/js/helpers/cookies.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { memoize } from 'lodash'; - -const parseCookies = memoize( - (documentCookie: string): T.Dict<string> => { - const rawCookies = documentCookie.split('; '); - const cookies: T.Dict<string> = {}; - rawCookies.forEach(candidate => { - const [key, value] = candidate.split('='); - cookies[key] = value; - }); - return cookies; - } -); - -export function getCookie(name: string): string | undefined { - return parseCookies(document.cookie)[name]; -} diff --git a/server/sonar-web/src/main/js/helpers/csv.ts b/server/sonar-web/src/main/js/helpers/csv.ts deleted file mode 100644 index 4d0e8981b90..00000000000 --- a/server/sonar-web/src/main/js/helpers/csv.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export function csvEscape(value: string): string { - const escaped = value.replace(/"/g, '\\"'); - return `"${escaped}"`; -} diff --git a/server/sonar-web/src/main/js/helpers/dates.ts b/server/sonar-web/src/main/js/helpers/dates.ts deleted file mode 100644 index 45b3fc648f0..00000000000 --- a/server/sonar-web/src/main/js/helpers/dates.ts +++ /dev/null @@ -1,77 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as _differenceInDays from 'date-fns/difference_in_days'; -import * as _differenceInHours from 'date-fns/difference_in_hours'; -import * as _differenceInSeconds from 'date-fns/difference_in_seconds'; -import * as _differenceInYears from 'date-fns/difference_in_years'; -import * as _isSameDay from 'date-fns/is_same_day'; -import * as _startOfDay from 'date-fns/start_of_day'; -import * as parse from 'date-fns/parse'; - -function pad(number: number) { - if (number < 10) { - return '0' + number; - } - return number; -} - -type ParsableDate = string | number | Date; - -export function parseDate(rawDate: ParsableDate): Date { - return parse(rawDate); -} - -export function toShortNotSoISOString(rawDate: ParsableDate): string { - const date = parseDate(rawDate); - return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`; -} - -export function toNotSoISOString(rawDate: ParsableDate): string { - const date = parseDate(rawDate); - return date.toISOString().replace(/\..+Z$/, '+0000'); -} - -export function startOfDay(date: Date): Date { - return _startOfDay(date); -} - -export function isValidDate(date: Date): boolean { - return !isNaN(date.getTime()); -} - -export function isSameDay(dateLeft: Date, dateRight: Date): boolean { - return _isSameDay(dateLeft, dateRight); -} - -export function differenceInYears(dateLeft: ParsableDate, dateRight: ParsableDate): number { - return _differenceInYears(dateLeft, dateRight); -} - -export function differenceInDays(dateLeft: ParsableDate, dateRight: ParsableDate): number { - return _differenceInDays(dateLeft, dateRight); -} - -export function differenceInHours(dateLeft: ParsableDate, dateRight: ParsableDate): number { - return _differenceInHours(dateLeft, dateRight); -} - -export function differenceInSeconds(dateLeft: ParsableDate, dateRight: ParsableDate): number { - return _differenceInSeconds(dateLeft, dateRight); -} diff --git a/server/sonar-web/src/main/js/helpers/extensions.ts b/server/sonar-web/src/main/js/helpers/extensions.ts index 6d40d843625..796c477154f 100644 --- a/server/sonar-web/src/main/js/helpers/extensions.ts +++ b/server/sonar-web/src/main/js/helpers/extensions.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { getBaseUrl } from './urls'; +import { getBaseUrl } from 'sonar-ui-common/helpers/urls'; import { getExtensionFromCache } from './extensionsHandler'; let librariesExposed = false; diff --git a/server/sonar-web/src/main/js/helpers/l10n.ts b/server/sonar-web/src/main/js/helpers/l10n.ts deleted file mode 100644 index 6e13e95de91..00000000000 --- a/server/sonar-web/src/main/js/helpers/l10n.ts +++ /dev/null @@ -1,204 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { getJSON } from './request'; -import { toNotSoISOString } from './dates'; -import { save, get } from './storage'; - -const L10_TIMESTAMP = 'l10n.timestamp'; -const L10_LOCALE = 'l10n.locale'; -const L10_BUNDLE = 'l10n.bundle'; - -interface LanguageBundle { - [name: string]: string; -} - -interface BundleRequestParams { - locale?: string; - ts?: string; -} - -interface BundleRequestResponse { - effectiveLocale: string; - messages: LanguageBundle; -} - -let messages: LanguageBundle = {}; - -export const DEFAULT_LANGUAGE = 'en'; - -export function translate(...keys: string[]): string { - const messageKey = keys.join('.'); - if (process.env.NODE_ENV === 'development') { - if (!messages[messageKey]) { - // eslint-disable-next-line - console.error(`No message for: ${messageKey}`); - } - } - return messages[messageKey] || messageKey; -} - -export function translateWithParameters( - messageKey: string, - ...parameters: Array<string | number> -): string { - const message = messages[messageKey]; - if (message) { - return parameters - .map(parameter => String(parameter)) - .reduce((acc, parameter, index) => acc.replace(`{${index}}`, parameter), message); - } else { - if (process.env.NODE_ENV === 'development') { - // eslint-disable-next-line - console.error(`No message for: ${messageKey}`); - } - return `${messageKey}.${parameters.join('.')}`; - } -} - -export function hasMessage(...keys: string[]): boolean { - const messageKey = keys.join('.'); - return messages[messageKey] != null; -} - -function getPreferredLanguage(): string | undefined { - return window.navigator.languages ? window.navigator.languages[0] : window.navigator.language; -} - -function checkCachedBundle(): boolean { - const cached = get(L10_BUNDLE); - - if (!cached) { - return false; - } - - try { - const parsed = JSON.parse(cached); - return parsed != null && typeof parsed === 'object'; - } catch (e) { - return false; - } -} - -function getL10nBundle(params: BundleRequestParams): Promise<BundleRequestResponse> { - const url = '/api/l10n/index'; - return getJSON(url, params); -} - -export function requestMessages(): Promise<string> { - const browserLocale = getPreferredLanguage(); - const cachedLocale = get(L10_LOCALE); - const params: BundleRequestParams = {}; - - if (browserLocale) { - params.locale = browserLocale; - - if (cachedLocale && browserLocale.startsWith(cachedLocale)) { - const bundleTimestamp = get(L10_TIMESTAMP); - if (bundleTimestamp !== null && checkCachedBundle()) { - params.ts = bundleTimestamp; - } - } - } - - return getL10nBundle(params).then( - ({ effectiveLocale, messages }: BundleRequestResponse) => { - const currentTimestamp = toNotSoISOString(new Date()); - save(L10_TIMESTAMP, currentTimestamp); - save(L10_LOCALE, effectiveLocale); - save(L10_BUNDLE, JSON.stringify(messages)); - resetBundle(messages); - return effectiveLocale; - }, - ({ response }) => { - if (response && response.status === 304) { - resetBundle(JSON.parse(get(L10_BUNDLE) || '{}') as LanguageBundle); - } else { - throw new Error('Unexpected status code: ' + response.status); - } - return cachedLocale || browserLocale || DEFAULT_LANGUAGE; - } - ); -} - -export function resetBundle(bundle: LanguageBundle) { - messages = bundle; -} - -export function installGlobal() { - (window as any).t = translate; - (window as any).tp = translateWithParameters; - (window as any).requestMessages = requestMessages; -} - -export function getLocalizedMetricName( - metric: { key: string; name?: string }, - short?: boolean -): string { - const bundleKey = `metric.${metric.key}.${short ? 'short_name' : 'name'}`; - if (hasMessage(bundleKey)) { - return translate(bundleKey); - } else if (short) { - return getLocalizedMetricName(metric); - } else { - return metric.name || metric.key; - } -} - -export function getLocalizedCategoryMetricName(metric: { key: string; name?: string }) { - const bundleKey = `metric.${metric.key}.extra_short_name`; - return hasMessage(bundleKey) ? translate(bundleKey) : getLocalizedMetricName(metric, true); -} - -export function getLocalizedMetricDomain(domainName: string) { - const bundleKey = `metric_domain.${domainName}`; - return hasMessage(bundleKey) ? translate(bundleKey) : domainName; -} - -export function getCurrentLocale() { - return get(L10_LOCALE) || DEFAULT_LANGUAGE; -} - -export function getShortMonthName(index: number) { - const months = [ - 'Jan', - 'Feb', - 'Mar', - 'Apr', - 'May', - 'Jun', - 'Jul', - 'Aug', - 'Sep', - 'Oct', - 'Nov', - 'Dec' - ]; - return translate(months[index]); -} - -export function getWeekDayName(index: number) { - const weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; - return weekdays[index] ? translate(weekdays[index]) : ''; -} - -export function getShortWeekDayName(index: number) { - const weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - return weekdays[index] ? translate(weekdays[index]) : ''; -} diff --git a/server/sonar-web/src/main/js/helpers/measures.ts b/server/sonar-web/src/main/js/helpers/measures.ts index 80e1b0d46c4..e9515bab419 100644 --- a/server/sonar-web/src/main/js/helpers/measures.ts +++ b/server/sonar-web/src/main/js/helpers/measures.ts @@ -17,25 +17,9 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { translate, translateWithParameters, getCurrentLocale } from './l10n'; -import { isDefined } from './types'; - -const HOURS_IN_DAY = 8; - -interface Formatter { - (value: string | number, options?: any): string; -} - -/** Format a measure value for a given type */ -export function formatMeasure( - value: string | number | undefined, - type: string, - options?: any -): string { - const formatter = getFormatter(type); - // eslint-disable-next-line react-hooks/rules-of-hooks - return useFormatter(value, formatter, options); -} +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { formatMeasure } from 'sonar-ui-common/helpers/measures'; +import { isDefined } from 'sonar-ui-common/helpers/types'; /** Return a localized metric name */ export function localizeMetric(metricKey: string): string { @@ -88,241 +72,6 @@ export function isDiffMetric(metricKey: string): boolean { return metricKey.indexOf('new_') === 0; } -function useFormatter( - value: string | number | undefined, - formatter: Formatter, - options?: any -): string { - return value !== undefined && value !== '' ? formatter(value, options) : ''; -} - -function getFormatter(type: string): Formatter { - const FORMATTERS: T.Dict<Formatter> = { - INT: intFormatter, - SHORT_INT: shortIntFormatter, - FLOAT: floatFormatter, - PERCENT: percentFormatter, - WORK_DUR: durationFormatter, - SHORT_WORK_DUR: shortDurationFormatter, - RATING: ratingFormatter, - LEVEL: levelFormatter, - MILLISEC: millisecondsFormatter - }; - return FORMATTERS[type] || noFormatter; -} - -function numberFormatter( - value: number, - minimumFractionDigits = 0, - maximumFractionDigits = minimumFractionDigits -) { - const { format } = new Intl.NumberFormat(getCurrentLocale(), { - minimumFractionDigits, - maximumFractionDigits - }); - return format(value); -} - -function noFormatter(value: string | number): string | number { - return value; -} - -function intFormatter(value: number): string { - return numberFormatter(value); -} - -const shortIntFormats = [ - { unit: 1e10, formatUnit: 1e9, fraction: 0, suffix: 'short_number_suffix.g' }, - { unit: 1e9, formatUnit: 1e9, fraction: 1, suffix: 'short_number_suffix.g' }, - { unit: 1e7, formatUnit: 1e6, fraction: 0, suffix: 'short_number_suffix.m' }, - { unit: 1e6, formatUnit: 1e6, fraction: 1, suffix: 'short_number_suffix.m' }, - { unit: 1e4, formatUnit: 1e3, fraction: 0, suffix: 'short_number_suffix.k' }, - { unit: 1e3, formatUnit: 1e3, fraction: 1, suffix: 'short_number_suffix.k' } -]; - -function shortIntFormatter( - value: number, - option?: { roundingFunc?: (x: number) => number } -): string { - const roundingFunc = (option && option.roundingFunc) || undefined; - for (let i = 0; i < shortIntFormats.length; i++) { - const { unit, formatUnit, fraction, suffix } = shortIntFormats[i]; - const nextFraction = unit / (shortIntFormats[i + 1] ? shortIntFormats[i + 1].unit / 10 : 1); - const roundedValue = numberRound(value / unit, nextFraction, roundingFunc); - if (roundedValue >= 1) { - return ( - numberFormatter( - numberRound(value / formatUnit, Math.pow(10, fraction), roundingFunc), - 0, - fraction - ) + translate(suffix) - ); - } - } - - return numberFormatter(value); -} - -function numberRound( - value: number, - fraction: number = 1000, - roundingFunc: (x: number) => number = Math.round -) { - return roundingFunc(value * fraction) / fraction; -} - -function floatFormatter(value: number): string { - return numberFormatter(value, 1, 5); -} - -function percentFormatter(value: string | number, options: { decimals?: number } = {}): string { - if (typeof value === 'string') { - value = parseFloat(value); - } - if (options.decimals) { - return numberFormatter(value, options.decimals) + '%'; - } - return value === 100 ? '100%' : numberFormatter(value, 1) + '%'; -} - -function ratingFormatter(value: string | number): string { - if (typeof value === 'string') { - value = parseInt(value, 10); - } - return String.fromCharCode(97 + value - 1).toUpperCase(); -} - -function levelFormatter(value: string): string { - const l10nKey = 'metric.level.' + value; - const result = translate(l10nKey); - - // if couldn't translate, return the initial value - return l10nKey !== result ? result : value; -} - -function millisecondsFormatter(value: number): string { - const ONE_SECOND = 1000; - const ONE_MINUTE = 60 * ONE_SECOND; - if (value >= ONE_MINUTE) { - const minutes = Math.round(value / ONE_MINUTE); - return `${minutes}min`; - } else if (value >= ONE_SECOND) { - const seconds = Math.round(value / ONE_SECOND); - return `${seconds}s`; - } else { - return `${value}ms`; - } -} - -/* - * Debt Formatters - */ - -function shouldDisplayDays(days: number): boolean { - return days > 0; -} - -function shouldDisplayDaysInShortFormat(days: number): boolean { - return days > 0.9; -} - -function shouldDisplayHours(days: number, hours: number): boolean { - return hours > 0 && days < 10; -} - -function shouldDisplayHoursInShortFormat(hours: number): boolean { - return hours > 0.9; -} - -function shouldDisplayMinutes(days: number, hours: number, minutes: number): boolean { - return minutes > 0 && hours < 10 && days === 0; -} - -function addSpaceIfNeeded(value: string): string { - return value.length > 0 ? value + ' ' : value; -} - -function formatDuration(isNegative: boolean, days: number, hours: number, minutes: number): string { - let formatted = ''; - if (shouldDisplayDays(days)) { - formatted += translateWithParameters('work_duration.x_days', isNegative ? -1 * days : days); - } - if (shouldDisplayHours(days, hours)) { - formatted = addSpaceIfNeeded(formatted); - formatted += translateWithParameters( - 'work_duration.x_hours', - isNegative && formatted.length === 0 ? -1 * hours : hours - ); - } - if (shouldDisplayMinutes(days, hours, minutes)) { - formatted = addSpaceIfNeeded(formatted); - formatted += translateWithParameters( - 'work_duration.x_minutes', - isNegative && formatted.length === 0 ? -1 * minutes : minutes - ); - } - return formatted; -} - -function formatDurationShort( - isNegative: boolean, - days: number, - hours: number, - minutes: number -): string { - if (shouldDisplayDaysInShortFormat(days)) { - const roundedDays = Math.round(days); - const formattedDays = formatMeasure(isNegative ? -1 * roundedDays : roundedDays, 'SHORT_INT'); - return translateWithParameters('work_duration.x_days', formattedDays); - } - - if (shouldDisplayHoursInShortFormat(hours)) { - const roundedHours = Math.round(hours); - const formattedHours = formatMeasure( - isNegative ? -1 * roundedHours : roundedHours, - 'SHORT_INT' - ); - return translateWithParameters('work_duration.x_hours', formattedHours); - } - - const formattedMinutes = formatMeasure(isNegative ? -1 * minutes : minutes, 'SHORT_INT'); - return translateWithParameters('work_duration.x_minutes', formattedMinutes); -} - -function durationFormatter(value: string | number): string { - if (typeof value === 'string') { - value = parseInt(value, 10); - } - if (value === 0) { - return '0'; - } - const hoursInDay = HOURS_IN_DAY; - const isNegative = value < 0; - const absValue = Math.abs(value); - const days = Math.floor(absValue / hoursInDay / 60); - let remainingValue = absValue - days * hoursInDay * 60; - const hours = Math.floor(remainingValue / 60); - remainingValue -= hours * 60; - return formatDuration(isNegative, days, hours, remainingValue); -} - -function shortDurationFormatter(value: string | number): string { - if (typeof value === 'string') { - value = parseInt(value, 10); - } - if (value === 0) { - return '0'; - } - const hoursInDay = HOURS_IN_DAY; - const isNegative = value < 0; - const absValue = Math.abs(value); - const days = absValue / hoursInDay / 60; - let remainingValue = absValue - Math.floor(days) * hoursInDay * 60; - const hours = remainingValue / 60; - remainingValue -= Math.floor(hours) * 60; - return formatDurationShort(isNegative, days, hours, remainingValue); -} - function getRatingGrid(): string { // workaround cyclic dependencies const getStore = require('../app/utils/getStore').default; diff --git a/server/sonar-web/src/main/js/helpers/pages.ts b/server/sonar-web/src/main/js/helpers/pages.ts deleted file mode 100644 index 08d3095e022..00000000000 --- a/server/sonar-web/src/main/js/helpers/pages.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -const CLASS_SIDEBAR_PAGE = 'sidebar-page'; -const CLASS_WHITE_PAGE = 'white-page'; - -export function addSideBarClass() { - toggleBodyClass(CLASS_SIDEBAR_PAGE, true); -} - -export function addWhitePageClass() { - toggleBodyClass(CLASS_WHITE_PAGE, true); -} - -export function removeSideBarClass() { - toggleBodyClass(CLASS_SIDEBAR_PAGE, false); -} - -export function removeWhitePageClass() { - toggleBodyClass(CLASS_WHITE_PAGE, false); -} - -function toggleBodyClass(className: string, force?: boolean) { - document.body.classList.toggle(className, force); - if (document.documentElement) { - document.documentElement.classList.toggle(className, force); - } -} diff --git a/server/sonar-web/src/main/js/helpers/path.ts b/server/sonar-web/src/main/js/helpers/path.ts deleted file mode 100644 index 56a5be1bcdc..00000000000 --- a/server/sonar-web/src/main/js/helpers/path.ts +++ /dev/null @@ -1,111 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export function collapsePath(path: string, limit = 30): string { - if (typeof path !== 'string') { - return ''; - } - - const tokens = path.split('/'); - - if (tokens.length <= 2) { - return path; - } - - const head = tokens[0]; - const tail = tokens[tokens.length - 1]; - const middle = tokens.slice(1, -1); - let cut = false; - - while (middle.join().length > limit && middle.length > 0) { - middle.shift(); - cut = true; - } - - const body = [head, ...(cut ? ['...'] : []), ...middle, tail]; - return body.join('/'); -} - -/** - * Return a collapsed path without a file name - * @example - * // returns 'src/.../js/components/navigator/app/models/' - * collapsedDirFromPath('src/main/js/components/navigator/app/models/state.js') - */ -export function collapsedDirFromPath(path: string | null): string | null { - const limit = 30; - if (typeof path === 'string') { - const tokens = path.split('/').slice(0, -1); - if (tokens.length > 2) { - const head = tokens[0]; - const tail = tokens[tokens.length - 1]; - const middle = tokens.slice(1, -1); - - let cut = false; - while (middle.join().length > limit && middle.length > 0) { - middle.shift(); - cut = true; - } - const body = [head, ...(cut ? ['...'] : []), ...middle, tail]; - return body.join('/') + '/'; - } else { - return tokens.join('/') + '/'; - } - } else { - return null; - } -} - -/** - * Return a file name for a given file path - * * @example - * // returns 'state.js' - * collapsedDirFromPath('src/main/js/components/navigator/app/models/state.js') - */ -export function fileFromPath(path: string | null): string | null { - if (typeof path === 'string') { - const tokens = path.split('/'); - return tokens[tokens.length - 1]; - } else { - return null; - } -} - -export function splitPath(path: string) { - const tokens = path.split('/'); - return { - head: tokens.slice(0, -1).join('/'), - tail: tokens[tokens.length - 1] - }; -} - -export function cutLongWords(str: string, limit = 30) { - return str - .split(' ') - .map(word => (word.length > limit ? word.substr(0, limit) + '...' : word)) - .join(' '); -} - -export function limitComponentName(str: string, limit = 30): string { - if (typeof str === 'string') { - return str.length > limit ? str.substr(0, limit) + '...' : str; - } else { - return ''; - } -} diff --git a/server/sonar-web/src/main/js/helpers/periods.ts b/server/sonar-web/src/main/js/helpers/periods.ts index 7ac2aec2245..9c36b32efd7 100644 --- a/server/sonar-web/src/main/js/helpers/periods.ts +++ b/server/sonar-web/src/main/js/helpers/periods.ts @@ -17,8 +17,8 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { translate, translateWithParameters } from './l10n'; -import { parseDate } from './dates'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; function getPeriod<T extends T.Period | T.PeriodMeasure>(periods: T[] | undefined, index: number) { if (!Array.isArray(periods)) { diff --git a/server/sonar-web/src/main/js/helpers/query.ts b/server/sonar-web/src/main/js/helpers/query.ts deleted file mode 100644 index 9a5b07ad72b..00000000000 --- a/server/sonar-web/src/main/js/helpers/query.ts +++ /dev/null @@ -1,108 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { isEqual, isNil, omitBy } from 'lodash'; -import { isValidDate, parseDate, toNotSoISOString, toShortNotSoISOString } from './dates'; - -export interface RawQuery { - [x: string]: any; -} - -export function queriesEqual(a: RawQuery, b: RawQuery): boolean { - const keysA = Object.keys(a); - const keysB = Object.keys(b); - - if (keysA.length !== keysB.length) { - return false; - } - - return keysA.every(key => isEqual(a[key], b[key])); -} - -export function cleanQuery(query: RawQuery): RawQuery { - return omitBy(query, isNil); -} - -export function parseAsBoolean(value: string | undefined, defaultValue: boolean = true): boolean { - return value === 'false' ? false : value === 'true' ? true : defaultValue; -} - -export function parseAsOptionalBoolean(value: string | undefined): boolean | undefined { - if (value === 'true') { - return true; - } else if (value === 'false') { - return false; - } else { - return undefined; - } -} - -export function parseAsDate(value?: string): Date | undefined { - if (value) { - const date = parseDate(value); - if (isValidDate(date)) { - return date; - } - } - return undefined; -} - -export function parseAsString(value: string | undefined): string { - return value || ''; -} - -export function parseAsOptionalString(value: string | undefined): string | undefined { - return value || undefined; -} - -export function parseAsArray( - value: string | undefined, - itemParser: (x: string) => string -): string[] { - return value ? value.split(',').map(itemParser) : []; -} - -export function serializeDate(value?: Date, serializer = toNotSoISOString): string | undefined { - if (value != null && value.toISOString) { - return serializer(value); - } - return undefined; -} - -export function serializeDateShort(value: Date | undefined): string | undefined { - return serializeDate(value, toShortNotSoISOString); -} - -export function serializeString(value: string | undefined): string | undefined { - return value || undefined; -} - -export function serializeStringArray(value: string[] | undefined[]): string | undefined { - return value && value.length ? value.join() : undefined; -} - -export function serializeOptionalBoolean(value: boolean | undefined): string | undefined { - if (value === true) { - return 'true'; - } else if (value === false) { - return 'false'; - } else { - return undefined; - } -} diff --git a/server/sonar-web/src/main/js/helpers/ratings.ts b/server/sonar-web/src/main/js/helpers/ratings.ts deleted file mode 100644 index 839fe5cd9b7..00000000000 --- a/server/sonar-web/src/main/js/helpers/ratings.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -function checkNumberRating(coverageRating: number): void { - if (!(typeof coverageRating === 'number' && coverageRating > 0 && coverageRating < 6)) { - throw new Error(`Unknown number rating: "${coverageRating}"`); - } -} - -export function getCoverageRatingLabel(rating: number): string { - checkNumberRating(rating); - const mapping = ['≥ 80%', '70% - 80%', '50% - 70%', '30% - 50%', '< 30%']; - return mapping[rating - 1]; -} - -export function getCoverageRatingAverageValue(rating: number): number { - checkNumberRating(rating); - const mapping = [90, 75, 60, 40, 15]; - return mapping[rating - 1]; -} - -export function getDuplicationsRatingLabel(rating: number): string { - checkNumberRating(rating); - const mapping = ['< 3%', '3% - 5%', '5% - 10%', '10% - 20%', '> 20%']; - return mapping[rating - 1]; -} - -export function getDuplicationsRatingAverageValue(rating: number): number { - checkNumberRating(rating); - const mapping = [1.5, 4, 7.5, 15, 30]; - return mapping[rating - 1]; -} - -export function getSizeRatingLabel(rating: number): string { - checkNumberRating(rating); - const mapping = ['< 1k', '1k - 10k', '10k - 100k', '100k - 500k', '> 500k']; - return mapping[rating - 1]; -} - -export function getSizeRatingAverageValue(rating: number): number { - checkNumberRating(rating); - const mapping = [500, 5000, 50000, 250000, 750000]; - return mapping[rating - 1]; -} diff --git a/server/sonar-web/src/main/js/helpers/request.ts b/server/sonar-web/src/main/js/helpers/request.ts deleted file mode 100644 index 50832fac032..00000000000 --- a/server/sonar-web/src/main/js/helpers/request.ts +++ /dev/null @@ -1,313 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { stringify } from 'querystring'; -import { omitBy, isNil } from 'lodash'; -import { getCookie } from './cookies'; -import { translate } from './l10n'; - -/** Current application version. Can be changed if a newer version is deployed. */ -let currentApplicationVersion: string | undefined; - -export function getCSRFTokenName(): string { - return 'X-XSRF-TOKEN'; -} - -export function getCSRFTokenValue(): string { - const cookieName = 'XSRF-TOKEN'; - const cookieValue = getCookie(cookieName); - if (!cookieValue) { - return ''; - } - return cookieValue; -} - -/** - * Return an object containing a special http request header used to prevent CSRF attacks. - */ -export function getCSRFToken(): T.Dict<string> { - // Fetch API in Edge doesn't work with empty header, - // so we ensure non-empty value - const value = getCSRFTokenValue(); - return value ? { [getCSRFTokenName()]: value } : {}; -} - -export type RequestData = T.Dict<any>; - -export function omitNil(obj: RequestData): RequestData { - return omitBy(obj, isNil); -} - -/** - * Default options for any request - */ -const DEFAULT_OPTIONS: { - credentials: RequestCredentials; - method: string; -} = { - credentials: 'same-origin', - method: 'GET' -}; - -/** - * Default request headers - */ -const DEFAULT_HEADERS = { - Accept: 'application/json' -}; - -/** - * Request - */ -class Request { - private data?: RequestData; - - constructor(private url: string, private options: { method?: string } = {}) {} - - getSubmitData(customHeaders: any = {}): { url: string; options: RequestInit } { - let { url } = this; - const options: RequestInit = { ...DEFAULT_OPTIONS, ...this.options }; - - if (this.data) { - if (this.data instanceof FormData) { - options.body = this.data; - } else { - const strData = stringify(omitNil(this.data)); - if (options.method === 'GET') { - url += '?' + strData; - } else { - customHeaders['Content-Type'] = 'application/x-www-form-urlencoded'; - options.body = strData; - } - } - } - - options.headers = { - ...DEFAULT_HEADERS, - ...customHeaders - }; - return { url, options }; - } - - submit(): Promise<Response> { - const { url, options } = this.getSubmitData({ ...getCSRFToken() }); - return window.fetch((window as any).baseUrl + url, options); - } - - setMethod(method: string): Request { - this.options.method = method; - return this; - } - - setData(data?: RequestData): Request { - if (data) { - this.data = data; - } - return this; - } -} - -/** - * Make a request - */ -export function request(url: string): Request { - return new Request(url); -} - -/** - * Make a cors request - */ -export function corsRequest(url: string, mode: RequestMode = 'cors'): Request { - const options: RequestInit = { mode }; - const request = new Request(url, options); - request.submit = function() { - const { url, options } = this.getSubmitData(); - return window.fetch(url, options); - }; - return request; -} - -function checkApplicationVersion(response: Response): boolean { - const version = response.headers.get('Sonar-Version'); - if (version) { - if (currentApplicationVersion && currentApplicationVersion !== version) { - window.location.reload(); - return false; - } else { - currentApplicationVersion = version; - } - } - return true; -} - -/** - * Check that response status is ok - */ -export function checkStatus(response: Response): Promise<Response> { - return new Promise((resolve, reject) => { - if (checkApplicationVersion(response)) { - if (response.status === 401) { - import('../app/utils/handleRequiredAuthentication') - .then(i => i.default()) - .then(reject, reject); - } else if (response.status >= 200 && response.status < 300) { - resolve(response); - } else { - reject({ response }); - } - } - }); -} - -/** - * Parse response as JSON - */ -export function parseJSON(response: Response): Promise<any> { - return response.json(); -} - -/** - * Parse response of failed request - */ -export function parseError(error: { response: Response }): Promise<string> { - const DEFAULT_MESSAGE = translate('default_error_message'); - - try { - return error.response - .json() - .then(r => r.errors.map((error: any) => error.msg).join('. ')) - .catch(() => DEFAULT_MESSAGE); - } catch (ex) { - return Promise.resolve(DEFAULT_MESSAGE); - } -} - -/** - * Shortcut to do a GET request and return response json - */ -export function getJSON(url: string, data?: RequestData): Promise<any> { - return request(url) - .setData(data) - .submit() - .then(checkStatus) - .then(parseJSON); -} - -/** - * Shortcut to do a CORS GET request and return responsejson - */ -export function getCorsJSON(url: string, data?: RequestData): Promise<any> { - return corsRequest(url) - .setData(data) - .submit() - .then(response => { - if (response.status >= 200 && response.status < 300) { - return Promise.resolve(response); - } else { - return Promise.reject({ response }); - } - }) - .then(parseJSON); -} - -/** - * Shortcut to do a POST request and return response json - */ -export function postJSON(url: string, data?: RequestData): Promise<any> { - return request(url) - .setMethod('POST') - .setData(data) - .submit() - .then(checkStatus) - .then(parseJSON); -} - -/** - * Shortcut to do a POST request - */ -export function post(url: string, data?: RequestData): Promise<void> { - return new Promise((resolve, reject) => { - request(url) - .setMethod('POST') - .setData(data) - .submit() - .then(checkStatus) - .then(() => { - resolve(); - }, reject); - }); -} - -/** - * Shortcut to do a DELETE request and return response json - */ -export function requestDelete(url: string, data?: RequestData): Promise<any> { - return request(url) - .setMethod('DELETE') - .setData(data) - .submit() - .then(checkStatus); -} - -/** - * Delay promise for testing purposes - */ -export function delay(response: any): Promise<any> { - return new Promise(resolve => setTimeout(() => resolve(response), 1200)); -} - -function tryRequestAgain<T>( - repeatAPICall: () => Promise<T>, - tries: { max: number; slowThreshold: number }, - stopRepeat: (response: T) => boolean, - repeatErrors: number[] = [] -) { - tries.max--; - if (tries.max !== 0) { - return new Promise<T>(resolve => { - setTimeout( - () => resolve(requestTryAndRepeatUntil(repeatAPICall, tries, stopRepeat, repeatErrors)), - tries.max > tries.slowThreshold ? 500 : 3000 - ); - }); - } - return Promise.reject(); -} - -export function requestTryAndRepeatUntil<T>( - repeatAPICall: () => Promise<T>, - tries: { max: number; slowThreshold: number }, - stopRepeat: (response: T) => boolean, - repeatErrors: number[] = [] -) { - return repeatAPICall().then( - r => { - if (stopRepeat(r)) { - return Promise.resolve(r); - } - return tryRequestAgain(repeatAPICall, tries, stopRepeat, repeatErrors); - }, - (error: { response: Response }) => { - if (repeatErrors.length === 0 || repeatErrors.includes(error.response.status)) { - return tryRequestAgain(repeatAPICall, tries, stopRepeat, repeatErrors); - } - return Promise.reject(error); - } - ); -} diff --git a/server/sonar-web/src/main/js/helpers/scrolling.ts b/server/sonar-web/src/main/js/helpers/scrolling.ts deleted file mode 100644 index ce6b4c1d956..00000000000 --- a/server/sonar-web/src/main/js/helpers/scrolling.ts +++ /dev/null @@ -1,156 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { debounce } from 'lodash'; - -const SCROLLING_DURATION = 100; -const SCROLLING_INTERVAL = 10; -const SCROLLING_STEPS = SCROLLING_DURATION / SCROLLING_INTERVAL; - -function isWindow(element: Element | Window): element is Window { - return element === window; -} - -function getScroll(element: Element | Window) { - return isWindow(element) - ? { x: window.pageXOffset, y: window.pageYOffset } - : { x: element.scrollLeft, y: element.scrollTop }; -} - -function scrollElement(element: Element | Window, x: number, y: number): void { - if (isWindow(element)) { - window.scrollTo(x, y); - } else { - element.scrollLeft = x; - element.scrollTop = y; - } -} - -let smoothScroll = (target: number, current: number, scroll: (position: number) => void) => { - const positiveDirection = target > current; - const step = Math.ceil(Math.abs(target - current) / SCROLLING_STEPS); - let stepsDone = 0; - - const interval = setInterval(() => { - if (current === target || SCROLLING_STEPS === stepsDone) { - clearInterval(interval); - } else { - let goal; - if (positiveDirection) { - goal = Math.min(target, current + step); - } else { - goal = Math.max(target, current - step); - } - stepsDone++; - current = goal; - scroll(goal); - } - }, SCROLLING_INTERVAL); -}; -smoothScroll = debounce(smoothScroll, SCROLLING_DURATION, { leading: true }); - -function smoothScrollTop(position: number, parent: Element | Window) { - const scroll = getScroll(parent); - smoothScroll(position, scroll.y, position => scrollElement(parent, scroll.x, position)); -} - -function smoothScrollLeft(position: number, parent: Element | Window) { - const scroll = getScroll(parent); - smoothScroll(position, scroll.x, position => scrollElement(parent, position, scroll.y)); -} - -export function scrollToElement( - element: Element, - options: { - topOffset?: number; - bottomOffset?: number; - parent?: Element; - smooth?: boolean; - } -): void { - const opts = { topOffset: 0, bottomOffset: 0, parent: window, smooth: true, ...options }; - const { parent } = opts; - - const { top, bottom } = element.getBoundingClientRect(); - - const scroll = getScroll(parent); - - const height: number = isWindow(parent) - ? window.innerHeight - : parent.getBoundingClientRect().height; - - const parentTop = isWindow(parent) ? 0 : parent.getBoundingClientRect().top; - - if (top - parentTop < opts.topOffset) { - const goal = scroll.y - opts.topOffset + top - parentTop; - if (opts.smooth) { - smoothScrollTop(goal, parent); - } else { - scrollElement(parent, scroll.x, goal); - } - } - - if (bottom - parentTop > height - opts.bottomOffset) { - const goal = scroll.y + bottom - parentTop - height + opts.bottomOffset; - if (opts.smooth) { - smoothScrollTop(goal, parent); - } else { - scrollElement(parent, scroll.x, goal); - } - } -} - -export function scrollHorizontally( - element: Element, - options: { - leftOffset?: number; - rightOffset?: number; - parent?: Element; - smooth?: boolean; - } -): void { - const opts = { leftOffset: 0, rightOffset: 0, parent: window, smooth: true, ...options }; - const { parent } = opts; - - const { left, right } = element.getBoundingClientRect(); - - const scroll = getScroll(parent); - - const { left: parentLeft, width } = isWindow(parent) - ? { left: 0, width: window.innerWidth } - : parent.getBoundingClientRect(); - - if (left - parentLeft < opts.leftOffset) { - const goal = scroll.x - opts.leftOffset + left - parentLeft; - if (opts.smooth) { - smoothScrollLeft(goal, parent); - } else { - scrollElement(parent, goal, scroll.y); - } - } - - if (right - parentLeft > width - opts.rightOffset) { - const goal = scroll.x + right - parentLeft - width + opts.rightOffset; - if (opts.smooth) { - smoothScrollLeft(goal, parent); - } else { - scrollElement(parent, goal, scroll.y); - } - } -} diff --git a/server/sonar-web/src/main/js/helpers/search.tsx b/server/sonar-web/src/main/js/helpers/search.tsx deleted file mode 100644 index acf012a8daf..00000000000 --- a/server/sonar-web/src/main/js/helpers/search.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import * as React from 'react'; - -export function highlightTerm(str: string, term: string) { - const pos = str.toLowerCase().indexOf(term.toLowerCase()); - return pos !== -1 ? ( - <> - {pos > 0 && str.substring(0, pos)} - <mark>{str.substr(pos, term.length)}</mark> - {pos + term.length < str.length && str.substring(pos + term.length)} - </> - ) : ( - str - ); -} diff --git a/server/sonar-web/src/main/js/helpers/storage.ts b/server/sonar-web/src/main/js/helpers/storage.ts deleted file mode 100644 index daa4d3b092a..00000000000 --- a/server/sonar-web/src/main/js/helpers/storage.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export function save(key: string, value?: string, suffix?: string): void { - try { - const finalKey = suffix ? `${key}.${suffix}` : key; - if (value) { - window.localStorage.setItem(finalKey, value); - } else { - window.localStorage.removeItem(finalKey); - } - } catch (e) { - // usually that means the storage is full - // just do nothing in this case - } -} - -export function remove(key: string, suffix?: string): void { - try { - window.localStorage.removeItem(suffix ? `${key}.${suffix}` : key); - } catch { - // Fail silently - } -} - -export function get(key: string, suffix?: string): string | null { - try { - return window.localStorage.getItem(suffix ? `${key}.${suffix}` : key); - } catch { - return null; - } -} diff --git a/server/sonar-web/src/main/js/helpers/strings.ts b/server/sonar-web/src/main/js/helpers/strings.ts deleted file mode 100644 index 27d4222c84d..00000000000 --- a/server/sonar-web/src/main/js/helpers/strings.ts +++ /dev/null @@ -1,426 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -/* - * Latinize string by removing all diacritics - * From http://stackoverflow.com/questions/990904/javascript-remove-accents-in-strings - */ -const defaultDiacriticsRemovalap = [ - { - base: 'A', - letters: - '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F' - }, - { - base: 'AA', - letters: '\uA732' - }, - { - base: 'AE', - letters: '\u00C6\u01FC\u01E2' - }, - { - base: 'AO', - letters: '\uA734' - }, - { - base: 'AU', - letters: '\uA736' - }, - { - base: 'AV', - letters: '\uA738\uA73A' - }, - { - base: 'AY', - letters: '\uA73C' - }, - { - base: 'B', - letters: '\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181' - }, - { - base: 'C', - letters: '\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E' - }, - { - base: 'D', - letters: '\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779' - }, - { - base: 'DZ', - letters: '\u01F1\u01C4' - }, - { - base: 'Dz', - letters: '\u01F2\u01C5' - }, - { - base: 'E', - letters: - '\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E' - }, - { - base: 'F', - letters: '\u0046\u24BB\uFF26\u1E1E\u0191\uA77B' - }, - { - base: 'G', - letters: - '\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E' - }, - { - base: 'H', - letters: '\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D' - }, - { - base: 'I', - letters: - '\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197' - }, - { - base: 'J', - letters: '\u004A\u24BF\uFF2A\u0134\u0248' - }, - { - base: 'K', - letters: '\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2' - }, - { - base: 'L', - letters: - '\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780' - }, - { - base: 'LJ', - letters: '\u01C7' - }, - { - base: 'Lj', - letters: '\u01C8' - }, - { - base: 'M', - letters: '\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C' - }, - { - base: 'N', - letters: - '\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4' - }, - { - base: 'NJ', - letters: '\u01CA' - }, - { - base: 'Nj', - letters: '\u01CB' - }, - { - base: 'O', - letters: - '\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C' - }, - { - base: 'OI', - letters: '\u01A2' - }, - { - base: 'OO', - letters: '\uA74E' - }, - { - base: 'OU', - letters: '\u0222' - }, - { - base: 'OE', - letters: '\u008C\u0152' - }, - { - base: 'oe', - letters: '\u009C\u0153' - }, - { - base: 'P', - letters: '\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754' - }, - { - base: 'Q', - letters: '\u0051\u24C6\uFF31\uA756\uA758\u024A' - }, - { - base: 'R', - letters: - '\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782' - }, - { - base: 'S', - letters: - '\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784' - }, - { - base: 'T', - letters: - '\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786' - }, - { - base: 'TZ', - letters: '\uA728' - }, - { - base: 'U', - letters: - '\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244' - }, - { - base: 'V', - letters: '\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245' - }, - { - base: 'VY', - letters: '\uA760' - }, - { - base: 'W', - letters: '\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72' - }, - { - base: 'X', - letters: '\u0058\u24CD\uFF38\u1E8A\u1E8C' - }, - { - base: 'Y', - letters: - '\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE' - }, - { - base: 'Z', - letters: '\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762' - }, - { - base: 'a', - letters: - '\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250' - }, - { - base: 'aa', - letters: '\uA733' - }, - { - base: 'ae', - letters: '\u00E6\u01FD\u01E3' - }, - { - base: 'ao', - letters: '\uA735' - }, - { - base: 'au', - letters: '\uA737' - }, - { - base: 'av', - letters: '\uA739\uA73B' - }, - { - base: 'ay', - letters: '\uA73D' - }, - { - base: 'b', - letters: '\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253' - }, - { - base: 'c', - letters: '\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184' - }, - { - base: 'd', - letters: '\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A' - }, - { - base: 'dz', - letters: '\u01F3\u01C6' - }, - { - base: 'e', - letters: - '\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD' - }, - { - base: 'f', - letters: '\u0066\u24D5\uFF46\u1E1F\u0192\uA77C' - }, - { - base: 'g', - letters: - '\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F' - }, - { - base: 'h', - letters: - '\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265' - }, - { - base: 'hv', - letters: '\u0195' - }, - { - base: 'i', - letters: - '\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131' - }, - { - base: 'j', - letters: '\u006A\u24D9\uFF4A\u0135\u01F0\u0249' - }, - { - base: 'k', - letters: '\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3' - }, - { - base: 'l', - letters: - '\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747' - }, - { - base: 'lj', - letters: '\u01C9' - }, - { - base: 'm', - letters: '\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F' - }, - { - base: 'n', - letters: - '\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5' - }, - { - base: 'nj', - letters: '\u01CC' - }, - { - base: 'o', - letters: - '\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275' - }, - { - base: 'oi', - letters: '\u01A3' - }, - { - base: 'ou', - letters: '\u0223' - }, - { - base: 'oo', - letters: '\uA74F' - }, - { - base: 'p', - letters: '\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755' - }, - { - base: 'q', - letters: '\u0071\u24E0\uFF51\u024B\uA757\uA759' - }, - { - base: 'r', - letters: - '\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783' - }, - { - base: 's', - letters: - '\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B' - }, - { - base: 't', - letters: - '\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787' - }, - { - base: 'tz', - letters: '\uA729' - }, - { - base: 'u', - letters: - '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289' - }, - { - base: 'v', - letters: '\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C' - }, - { - base: 'vy', - letters: '\uA761' - }, - { - base: 'w', - letters: '\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73' - }, - { - base: 'x', - letters: '\u0078\u24E7\uFF58\u1E8B\u1E8D' - }, - { - base: 'y', - letters: - '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF' - }, - { - base: 'z', - letters: '\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763' - } -]; - -const diacriticsMap: T.Dict<string> = {}; -defaultDiacriticsRemovalap.forEach(defaultDiacritic => - defaultDiacritic.letters.split('').forEach(letter => { - diacriticsMap[letter] = defaultDiacritic.base; - }) -); - -// "what?" version ... http://jsperf.com/diacritics/12 -export function latinize(str: string): string { - // eslint-disable-next-line no-control-regex - return str.replace(/[^\u0000-\u007E]/g, a => diacriticsMap[a] || a); -} - -// Inspired from https://github.com/SonarSource/sonar-enterprise/blob/master/sonar-core/src/main/java/org/sonar/core/util/Slug.java -export function slugify(text: string) { - return latinize(text.trim().toLowerCase()) - .replace(/&/g, '-and-') // Replace & with 'and' - .replace(/[^\w-]+/g, '-') // Replace all non-word chars with dash - .replace(/\s+/g, '-') // Replace whitespaces with dash - .replace(/[·/_,:;]/g, '-') // Replace special chars with dash - .replace(/--+/g, '-') // Replace multiple dash with single dash - .replace(/^-+/, '') // Remove heading dash - .replace(/-+$/, ''); // Remove trailing dash -} - -export function decodeJwt(token: string) { - const segments = token.split('.'); - const base64Url = segments.length > 1 ? segments[1] : segments[0]; - const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); - return JSON.parse(window.atob(base64)); -} diff --git a/server/sonar-web/src/main/js/helpers/testUtils.ts b/server/sonar-web/src/main/js/helpers/testUtils.ts deleted file mode 100644 index 065bba4e340..00000000000 --- a/server/sonar-web/src/main/js/helpers/testUtils.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { ShallowWrapper, ReactWrapper } from 'enzyme'; -import { mockEvent } from './testMocks'; - -export function click(element: ShallowWrapper | ReactWrapper, event = {}): void { - // `type()` returns a component constructor for a composite element and string for DOM nodes - if (typeof element.type() === 'function') { - element.prop<Function>('onClick')(); - // TODO find out if `root` is a public api - // https://github.com/airbnb/enzyme/blob/master/packages/enzyme/src/ReactWrapper.js#L109 - (element as any).root().update(); - } else { - element.simulate('click', mockEvent(event)); - } -} - -export function clickOutside(event = {}): void { - const dispatchedEvent = new MouseEvent('click', event); - window.dispatchEvent(dispatchedEvent); -} - -export function submit(element: ShallowWrapper | ReactWrapper): void { - element.simulate('submit', { - preventDefault() {} - }); -} - -export function change(element: ShallowWrapper | ReactWrapper, value: string, event = {}): void { - // `type()` returns a component constructor for a composite element and string for DOM nodes - if (typeof element.type() === 'function') { - element.prop<Function>('onChange')(value); - // TODO find out if `root` is a public api - // https://github.com/airbnb/enzyme/blob/master/packages/enzyme/src/ReactWrapper.js#L109 - (element as any).root().update(); - } else { - element.simulate('change', { - target: { value }, - currentTarget: { value }, - ...event - }); - } -} - -export const KEYCODE_MAP: { [keycode: number]: string } = { - 13: 'enter', - 37: 'left', - 38: 'up', - 39: 'right', - 40: 'down' -}; - -export function keydown(key: number | string): void { - let keyCode; - if (typeof key === 'number') { - keyCode = key; - } else { - const mapped = Object.entries(KEYCODE_MAP).find(([_, value]) => value === key); - if (!mapped) { - throw new Error(`Cannot map key "${key}" to a keyCode!`); - } - keyCode = mapped[0]; - } - - const event = new KeyboardEvent('keydown', { keyCode, which: keyCode } as KeyboardEventInit); - document.dispatchEvent(event); -} - -export function elementKeydown(element: ShallowWrapper, keyCode: number): void { - const event = { - currentTarget: { element }, - keyCode, - preventDefault() {} - }; - - if (typeof element.type() === 'string') { - // `type()` is string for native dom elements - element.simulate('keydown', event); - } else { - element.prop<Function>('onKeyDown')(event); - } -} - -export function resizeWindowTo(width?: number, height?: number) { - // `document.body.clientWidth/clientHeight` are getters by default, so we need to redefine them - // pass `configurable: true` to allow to redefine the properties multiple times - if (width) { - Object.defineProperty(document.body, 'clientWidth', { configurable: true, value: width }); - } - if (height) { - Object.defineProperty(document.body, 'clientHeight', { configurable: true, value: height }); - } - - const resizeEvent = new Event('resize'); - window.dispatchEvent(resizeEvent); -} - -export function scrollTo({ left = 0, top = 0 }) { - Object.defineProperty(window, 'pageYOffset', { value: top }); - Object.defineProperty(window, 'pageXOffset', { value: left }); - const resizeEvent = new Event('scroll'); - window.dispatchEvent(resizeEvent); -} - -export function setNodeRect({ width = 50, height = 50, left = 0, top = 0 }) { - const { findDOMNode } = require('react-dom'); - const element = document.createElement('div'); - Object.defineProperty(element, 'getBoundingClientRect', { - value: () => ({ width, height, left, top }) - }); - findDOMNode.mockReturnValue(element); -} - -export function doAsync(fn?: Function): Promise<void> { - return new Promise(resolve => { - setImmediate(() => { - if (fn) { - fn(); - } - resolve(); - }); - }); -} - -export async function waitAndUpdate(wrapper: ShallowWrapper<any, any> | ReactWrapper<any, any>) { - await new Promise(setImmediate); - wrapper.update(); -} diff --git a/server/sonar-web/src/main/js/helpers/types.ts b/server/sonar-web/src/main/js/helpers/types.ts deleted file mode 100644 index fe9bbb1a953..00000000000 --- a/server/sonar-web/src/main/js/helpers/types.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2019 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -export function isDefined<T>(x: T | undefined | null): x is T { - return x !== undefined && x !== null; -} diff --git a/server/sonar-web/src/main/js/helpers/urls.ts b/server/sonar-web/src/main/js/helpers/urls.ts index 8b9f7a35a0c..10634b81496 100644 --- a/server/sonar-web/src/main/js/helpers/urls.ts +++ b/server/sonar-web/src/main/js/helpers/urls.ts @@ -17,8 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { stringify } from 'querystring'; -import { omitBy, isNil } from 'lodash'; +import { getBaseUrl, Location } from 'sonar-ui-common/helpers/urls'; import { isShortLivingBranch, isPullRequest, @@ -27,28 +26,7 @@ import { } from './branches'; import { getProfilePath } from '../apps/quality-profiles/utils'; -interface Query { - [x: string]: string | undefined; -} - -export interface Location { - pathname: string; - query?: Query; -} - -export function getBaseUrl(): string { - return (window as any).baseUrl; -} - -export function getHostUrl(): string { - return window.location.origin + getBaseUrl(); -} - -export function getPathUrlAsString(path: Location, internal = true): string { - return `${internal ? getBaseUrl() : getHostUrl()}${path.pathname}?${stringify( - omitBy(path.query, isNil) - )}`; -} +type Query = Location['query']; export function getProjectUrl(project: string, branch?: string): Location { return { pathname: '/dashboard', query: { id: project, branch } }; @@ -265,16 +243,3 @@ export function getHomePageUrl(homepage: T.HomePage) { // should never happen, but just in case... return '/projects'; } - -export function getReturnUrl(location: { hash?: string; query?: { return_to?: string } }) { - const returnTo = location.query && location.query['return_to']; - if (isRelativeUrl(returnTo)) { - return returnTo + (location.hash ? location.hash : ''); - } - return getBaseUrl() + '/'; -} - -export function isRelativeUrl(url?: string): boolean { - const regex = new RegExp(/^\/[^/\\]/); - return Boolean(url && regex.test(url)); -} diff --git a/server/sonar-web/tsconfig.json b/server/sonar-web/tsconfig.json index c71eb6f7a16..bc56fc3f7b8 100644 --- a/server/sonar-web/tsconfig.json +++ b/server/sonar-web/tsconfig.json @@ -19,5 +19,5 @@ "*": ["./src/main/js/@types/*"] } }, - "include": ["./src/main/js/**/*"] + "include": ["./src/main/js/**/*", "node_modules/sonar-ui-common/types.d.ts"] } diff --git a/server/sonar-web/yarn.lock b/server/sonar-web/yarn.lock index 60b7343e202..bf9daccf676 100644 --- a/server/sonar-web/yarn.lock +++ b/server/sonar-web/yarn.lock @@ -30,17 +30,17 @@ source-map "^0.5.0" "@babel/core@^7.1.0": - version "7.4.5" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" - integrity sha1-CB+X6P/KZam0sP3H4nTnA/AAwGo= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/core/-/core-7.5.0.tgz#6ed6a2881ad48a732c5433096d96d1b0ee5eb734" + integrity sha1-btaiiBrUinMsVDMJbZbRsO5etzQ= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helpers" "^7.4.4" - "@babel/parser" "^7.4.5" + "@babel/generator" "^7.5.0" + "@babel/helpers" "^7.5.0" + "@babel/parser" "^7.5.0" "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.5" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -49,12 +49,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.4.4": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041" - integrity sha1-F0ohXrhD/DksftyqvqqHPebo8EE= +"@babel/generator@^7.4.0", "@babel/generator@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" + integrity sha1-8g5LepF1Dui2NlYHPYQ9KnNtyko= dependencies: - "@babel/types" "^7.4.4" + "@babel/types" "^7.5.0" jsesc "^2.5.1" lodash "^4.17.11" source-map "^0.5.0" @@ -93,9 +93,9 @@ "@babel/types" "^7.4.4" "@babel/helper-create-class-features-plugin@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba" - integrity sha1-/D1pCvZVTMnvxgc2SoLUj1hzbbo= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" + integrity sha1-Au25f1EtRLojsyJ/G/LtQ0VO2sU= dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-member-expression-to-functions" "^7.0.0" @@ -235,28 +235,28 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.0", "@babel/helpers@^7.4.4": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5" - integrity sha1-hosO9Zwd1OeHRFYtXOG1nIny8qU= +"@babel/helpers@^7.4.0", "@babel/helpers@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/helpers/-/helpers-7.5.0.tgz#7f0c17666e7ed8355ed6eff643dde12fb681ddb4" + integrity sha1-fwwXZm5+2DVe1u/2Q93hL7aB3bQ= dependencies: "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha1-9xDDjI1Fjm3ZogGvtjf8t4HOmeQ= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.4.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5": - version "7.4.5" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" - integrity sha1-BK+NXVorBEoqG/+sweXmZzVE6HI= +"@babel/parser@^7.1.0", "@babel/parser@^7.4.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" + integrity sha1-PgcT3/ia1q43+uw7Kdz8XJeXcLc= "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -292,9 +292,9 @@ "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-proposal-object-rest-spread@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005" - integrity sha1-HvFz/PJLPi35KmePAnZztV5+MAU= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.0.tgz#4838ce3cbc9a84dd00bce7a17e9e9c36119f83a0" + integrity sha1-SDjOPLyahN0AvOehfp6cNhGfg6A= dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -366,9 +366,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-async-to-generator@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894" - integrity sha1-o/HQHy8hytqyCzOoITMRbxT7WJQ= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha1-iaOEigFmYjtbxIEWS1k2q5R+iH4= dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -411,9 +411,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-destructuring@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f" - integrity sha1-nZZHF4KcyeS2AfyCompxpNj68g8= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha1-9sCf3+P5RRb/B0/od9t7ye8FhVo= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -427,9 +427,9 @@ regexpu-core "^4.5.4" "@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha1-2VLEkw8xKk2//xjwspFOYMNVMLM= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha1-xdv1EGv4TN9pEiLAl0wSsd+TGFM= dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -464,29 +464,32 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha1-gqm85FuVRB9heiQBHcidEtp/TuY= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha1-7wBDXUbaCllhqnKKHS7P8GPk+5E= dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-commonjs@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e" - integrity sha1-C+9HE9MPHXjC5Zs9bbQOYBksrB4= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha1-QlEn5gRSMTYIWO6qR6cdde3tenQ= dependencies: "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-systemjs@^7.4.0": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405" - integrity sha1-3IPFZlsH1sKnsiTACsY2Weo2pAU= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha1-51JmoT75QgLbKgYgl3dW9R1S0kk= dependencies: "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" @@ -550,7 +553,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-react-jsx-source@7.2.0", "@babel/plugin-transform-react-jsx-source@^7.0.0": +"@babel/plugin-transform-react-jsx-source@7.2.0": version "7.2.0" resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" integrity sha1-IMjGDwFA9d081jQY1FKAHPP3GA8= @@ -558,6 +561,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" +"@babel/plugin-transform-react-jsx-source@^7.0.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha1-WDsQxJzwV+I3CFvL2MyWC9g72Ws= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/plugin-transform-react-jsx@^7.0.0": version "7.3.0" resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" @@ -683,9 +694,9 @@ "@babel/plugin-transform-react-jsx-source" "^7.0.0" "@babel/runtime@^7.1.2": - version "7.4.5" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12" - integrity sha1-WCu1MfX53GfS/LaCl5iU914lPxI= + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/runtime/-/runtime-7.5.0.tgz#49dcbcd637099a55d3a61e590a00d6861393b1b5" + integrity sha1-Sdy81jcJmlXTph5ZCgDWhhOTsbU= dependencies: regenerator-runtime "^0.13.2" @@ -698,25 +709,25 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5": - version "7.4.5" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216" - integrity sha1-TpLRco/S8Yl9r90yHvv/khVsMhY= +"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" + integrity sha1-QhbWWGhU71w8RZLatW7H63hIVIU= dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" + "@babel/generator" "^7.5.0" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/types" "^7.4.4" + "@babel/parser" "^7.5.0" + "@babel/types" "^7.5.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.11" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": - version "7.4.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0" - integrity sha1-jbnppim7fCk3AAm0t3ntk/5X1fA= +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": + version "7.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" + integrity sha1-5H1DhAwuf5EFvE06LDcbTQx4Mqs= dependencies: esutils "^2.0.2" lodash "^4.17.11" @@ -924,9 +935,9 @@ "@babel/types" "^7.3.0" "@types/cheerio@*": - version "0.22.11" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/cheerio/-/cheerio-0.22.11.tgz#61c0facf9636d14ba5f77fc65ed8913aa845d717" - integrity sha1-YcD6z5Y20Uul93/GXtiROqhF1xc= + version "0.22.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/cheerio/-/cheerio-0.22.12.tgz#93c050401d4935a5376e8b352965f7458bed5340" + integrity sha1-k8BQQB1JNaU3bos1KWX3RYvtU0A= dependencies: "@types/node" "*" @@ -935,11 +946,6 @@ resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/classnames/-/classnames-2.2.6.tgz#dbe8a666156d556ed018e15a4c65f08937c3f628" integrity sha1-2+imZhVtVW7QGOFaTGXwiTfD9ig= -"@types/clipboard@2.0.1": - version "2.0.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/clipboard/-/clipboard-2.0.1.tgz#75a74086c293d75b12bc93ff13bc7797fef05a40" - integrity sha1-dadAhsKT11sSvJP/E7x3l/7wWkA= - "@types/d3-array@1.2.4": version "1.2.4" resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/d3-array/-/d3-array-1.2.4.tgz#7088445c8717ba1fba416a1df7bbd11cc72a3763" @@ -1021,10 +1027,10 @@ dependencies: "@types/domhandler" "*" -"@types/enzyme@3.9.3": - version "3.9.3" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/enzyme/-/enzyme-3.9.3.tgz#d1029c0edd353d7b00f3924803eb88216460beed" - integrity sha1-0QKcDt01PXsA85JIA+uIIWRgvu0= +"@types/enzyme@3.10.1": + version "3.10.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/enzyme/-/enzyme-3.10.1.tgz#74a7f7345075a4c03e574661068d3f96a054f495" + integrity sha1-dKf3NFB1pMA+V0ZhBo0/lqBU9JU= dependencies: "@types/cheerio" "*" "@types/react" "*" @@ -1105,9 +1111,9 @@ integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= "@types/node@*": - version "12.0.10" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/node/-/node-12.0.10.tgz#51babf9c7deadd5343620055fc8aff7995c8b031" - integrity sha1-Ubq/nH3q3VNDYgBV/Ir/eZXIsDE= + version "12.0.12" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/node/-/node-12.0.12.tgz#cc791b402360db1eaf7176479072f91ee6c6c7ca" + integrity sha1-zHkbQCNg2x6vcXZHkHL5HubGx8o= "@types/prop-types@*": version "15.7.1" @@ -1143,13 +1149,6 @@ resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-intl/-/react-intl-2.3.17.tgz#e1fc6e46e8af58bdef9531259d509380a8a99e8e" integrity sha1-4fxuRuivWL3vlTElnVCTgKipno4= -"@types/react-modal@3.8.1": - version "3.8.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-modal/-/react-modal-3.8.1.tgz#232a8fb99103e13f35bb1604a67ab32e9d938d98" - integrity sha1-IyqPuZED4T81uxYEpnqzLp2TjZg= - dependencies: - "@types/react" "*" - "@types/react-redux@6.0.6": version "6.0.6" resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-redux/-/react-redux-6.0.6.tgz#87f1d0a6ea901b93fcaf95fa57641ff64079d277" @@ -1181,10 +1180,10 @@ "@types/prop-types" "*" "@types/react" "*" -"@types/react@*", "@types/react@16.8.22": - version "16.8.22" - resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react/-/react-16.8.22.tgz#7f18bf5ea0c1cad73c46b6b1c804a3ce0eec6d54" - integrity sha1-fxi/XqDBytc8RraxyASjzg7sbVQ= +"@types/react@*", "@types/react@16.8.23": + version "16.8.23" + resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" + integrity sha1-7Gvjzu1jU6IJSBabbLTJe2W5etI= dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -1421,9 +1420,9 @@ acorn-jsx@^5.0.0: integrity sha1-MqBk/ZJUKSFqCbFBECv90YX65A4= acorn-walk@^6.0.1, acorn-walk@^6.1.1: - version "6.1.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha1-02O2b1+sXwGP+cOh57b44xDMORM= + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= acorn@^5.5.3: version "5.7.3" @@ -1431,9 +1430,9 @@ acorn@^5.5.3: integrity sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk= acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7: - version "6.1.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha1-fSWuBbuK0fm2mRCOEJTs14hK3B8= + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" + integrity sha1-Z/DaL8M51s+11vskT9RJ8zzYu+M= address@1.0.2: version "1.0.2" @@ -1837,6 +1836,13 @@ babel-plugin-dynamic-import-node@2.2.0: dependencies: object.assign "^4.1.0" +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha1-8A9Qe9qjw+P/bn5emNkKesq5b38= + dependencies: + object.assign "^4.1.0" + babel-plugin-istanbul@^5.1.0: version "5.1.4" resolved "https://repox.jfrog.io/repox/api/npm/npm/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" @@ -1929,14 +1935,14 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" bfj@^6.1.1: - version "6.1.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" - integrity sha1-BaO3eE+9cs+jwi5WAC75kzZRbEg= + version "6.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= dependencies: - bluebird "^3.5.1" - check-types "^7.3.0" - hoopy "^0.1.2" - tryer "^1.0.0" + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" big.js@^3.1.3: version "3.2.0" @@ -1953,7 +1959,7 @@ binary-extensions@^1.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= -bluebird@^3.5.1, bluebird@^3.5.5: +bluebird@^3.5.5: version "3.5.5" resolved "https://repox.jfrog.io/repox/api/npm/npm/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha1-qNCv1zJR7/u9X+OEp31zADwXpx8= @@ -2246,9 +2252,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000975: - version "1.0.30000976" - resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-lite/-/caniuse-lite-1.0.30000976.tgz#d30fe12662cb2a21e130d307db9907513ca830a2" - integrity sha1-0w/hJmLLKiHhMNMH25kHUTyoMKI= + version "1.0.30000979" + resolved "https://repox.jfrog.io/repox/api/npm/npm/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz#92f16d00186a6cf20d6c5711bb6e042a3d667029" + integrity sha1-kvFtABhqbPINbFcRu24EKj1mcCk= capture-exit@^2.0.0: version "2.0.0" @@ -2326,10 +2332,10 @@ chardet@^0.7.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= -check-types@^7.3.0: - version "7.4.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" - integrity sha1-A3jsG5YW7HH3dJMaPGUW+tjBUvQ= +check-types@^8.0.3: + version "8.0.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= cheerio@^1.0.0-rc.2: version "1.0.0-rc.3" @@ -2363,9 +2369,9 @@ chokidar@^2.0.0, chokidar@^2.0.2: fsevents "^1.2.7" chownr@^1.1.1: - version "1.1.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha1-VHJri4//TfBTxCGH6AH7RBLfFJQ= + version "1.1.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha1-oY8eCyacimpdPIbrKYvrFMPde/Y= chrome-trace-event@^1.0.0: version "1.0.2" @@ -2436,10 +2442,10 @@ cli-width@^2.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= -clipboard@2.0.1: - version "2.0.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboard/-/clipboard-2.0.1.tgz#a12481e1c13d8a50f5f036b0560fe5d16d74e46a" - integrity sha1-oSSB4cE9ilD18DawVg/l0W105Go= +clipboard@2.0.4: + version "2.0.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" + integrity sha1-g22v1mzw/qXXHOXVsL9ulYAJES0= dependencies: good-listener "^1.2.2" select "^1.1.2" @@ -2986,17 +2992,17 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.6" - resolved "https://repox.jfrog.io/repox/api/npm/npm/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" - integrity sha1-+FIGzuBO+oQfPFmCp0uparINZa0= +"cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: + version "0.3.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= cssstyle@^1.0.0: - version "1.2.2" - resolved "https://repox.jfrog.io/repox/api/npm/npm/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077" - integrity sha1-Qn6k1YWxhiT2/b+d56Kho7pxMHc= + version "1.3.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/cssstyle/-/cssstyle-1.3.0.tgz#c36c466f7037fd30f03baa271b65f0f17b50585c" + integrity sha1-w2xGb3A3/TDwO6onG2Xw8XtQWFw= dependencies: - cssom "0.3.x" + cssom "~0.3.6" csstype@^2.2.0: version "2.6.5" @@ -3019,9 +3025,9 @@ d3-collection@1: integrity sha1-NJvSqpl32wcQkcExRNXk8WtbMQ4= d3-color@1: - version "1.2.3" - resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-color/-/d3-color-1.2.3.tgz#6c67bb2af6df3cc8d79efcc4d3a3e83e28c8048f" - integrity sha1-bGe7KvbfPMjXnvzE06PoPijIBI8= + version "1.2.8" + resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-color/-/d3-color-1.2.8.tgz#4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4" + integrity sha1-Tq+bYO8YjIk/z4so81Rqr+v72fQ= d3-dispatch@1: version "1.0.5" @@ -3148,12 +3154,7 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-fns@1.29.0: - version "1.29.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" - integrity sha1-EuYJzcuTUScxHQTTMzTilgoqVOY= - -date-fns@^1.27.2: +date-fns@1.30.1, date-fns@^1.27.2: version "1.30.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= @@ -3540,9 +3541,9 @@ ejs@^2.6.1: integrity sha1-OjLGPRzRbREmbNRwOxT+xOdKtPY= electron-to-chromium@^1.3.164: - version "1.3.172" - resolved "https://repox.jfrog.io/repox/api/npm/npm/electron-to-chromium/-/electron-to-chromium-1.3.172.tgz#1eafb3afdc47bcb9c2a2249b2736be352016da4b" - integrity sha1-Hq+zr9xHvLnCoiSbJza+NSAW2ks= + version "1.3.187" + resolved "https://repox.jfrog.io/repox/api/npm/npm/electron-to-chromium/-/electron-to-chromium-1.3.187.tgz#fea64435f370892c0f27aded1bbdcb6f235c592b" + integrity sha1-/qZENfNwiSwPJ63tG73LbyNcWSs= elegant-spinner@^1.0.1: version "1.0.1" @@ -3550,9 +3551,9 @@ elegant-spinner@^1.0.1: integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= elliptic@^6.0.0: - version "6.4.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha1-wtC3d2kRuGcixjLDwGxg8vgZk5o= + version "6.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha1-K47UyJG33jIA4UQSpbgkjHr1Bco= dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -3727,10 +3728,10 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-sonarqube@0.3.0: - version "0.3.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-config-sonarqube/-/eslint-config-sonarqube-0.3.0.tgz#b0b0d7ad1915575c7abceee34774e60a6e56a16a" - integrity sha1-sLDXrRkVV1x6vO7jR3TmCm5WoWo= +eslint-config-sonarqube@0.5.0: + version "0.5.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-config-sonarqube/-/eslint-config-sonarqube-0.5.0.tgz#8b06475a46fe4a58c527894ab79e07acd8d8c345" + integrity sha1-iwZHWkb+SljFJ4lKt54HrNjYw0U= eslint-import-resolver-node@^0.3.2: version "0.3.2" @@ -3740,7 +3741,7 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-module-utils@^2.3.0: +eslint-module-utils@^2.4.0: version "2.4.0" resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" integrity sha1-i5NJnpsA6rgMy2YU5p8DZ46E4Jo= @@ -3748,21 +3749,22 @@ eslint-module-utils@^2.3.0: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-import@2.16.0: - version "2.16.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha1-l6w+ddB5HE+sDhXvOIUQIXvn9m8= +eslint-plugin-import@2.18.0: + version "2.18.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678" + integrity sha1-eluo0yYi+zXrnI2xlcIJC9GKNng= dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" lodash "^4.17.11" minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" eslint-plugin-jsx-a11y@6.2.1: version "6.2.1" @@ -3778,33 +3780,35 @@ eslint-plugin-jsx-a11y@6.2.1: has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-promise@4.0.1: - version "4.0.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" - integrity sha1-LQdLZT81oj0bqJ2Ol2qYURfRxqI= +eslint-plugin-promise@4.1.1: + version "4.1.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db" + integrity sha1-HgjLaLWyzYg5+NWGTHlvVtgnRts= -eslint-plugin-react-hooks@1.6.0: - version "1.6.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz#348efcda8fb426399ac7b8609607c7b4025a6f5f" - integrity sha1-NI782o+0Jjmax7hglgfHtAJab18= +eslint-plugin-react-hooks@1.6.1: + version "1.6.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" + integrity sha1-PGalUV6j4KIh/8XU51yXHCF7Gkw= -eslint-plugin-react@7.12.4: - version "7.12.4" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha1-sezyZHnWGu5lDaYS5CXFOpn0jIw= +eslint-plugin-react@7.14.2: + version "7.14.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-react/-/eslint-plugin-react-7.14.2.tgz#94c193cc77a899ac0ecbb2766fbef88685b7ecc1" + integrity sha1-lMGTzHeomawOy7J2b774hoW37ME= dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" -eslint-plugin-sonarjs@0.3.0: - version "0.3.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.3.0.tgz#e680438e816142c1a85d5ec4d0d36a12b1491459" - integrity sha1-5oBDjoFhQsGoXV7E0NNqErFJFFk= +eslint-plugin-sonarjs@0.4.0: + version "0.4.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.4.0.tgz#85b7dce10b9a464fb1062f0afc88694b6faaba84" + integrity sha1-hbfc4QuaRk+xBi8K/IhpS2+quoQ= eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" @@ -3824,10 +3828,10 @@ eslint-visitor-keys@^1.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha1-PzGA+y4pEBdxastMnW1bXDSmqB0= -eslint@5.15.3: - version "5.15.3" - resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha1-x5w5CdyKf6NxT7NAwR4w/SUmuLU= +eslint@5.16.0: + version "5.16.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha1-oeOsGq5KP72Clvz496tzFMu2q+o= dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.9.1" @@ -3849,7 +3853,7 @@ eslint@5.15.3: import-fresh "^3.0.0" imurmurhash "^0.1.4" inquirer "^6.2.2" - js-yaml "^3.12.0" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" lodash "^4.17.11" @@ -4274,9 +4278,9 @@ flat-cache@^2.0.1: write "1.0.3" flatted@^2.0.0: - version "2.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha1-VRIrZTbqSWtLRIk+4mCBQdENmRY= + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg= flatten@^1.0.2: version "1.0.2" @@ -4556,9 +4560,9 @@ good-listener@^1.2.2: delegate "^3.1.2" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: - version "4.1.15" - resolved "https://repox.jfrog.io/repox/api/npm/npm/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha1-/7cD4QZuig7qpMi4C6klPu77+wA= + version "4.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha1-jY/cc5d8sEEEchy1NmbBymTNMos= growly@^1.3.0: version "1.3.0" @@ -4758,7 +4762,7 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" -hoopy@^0.1.2: +hoopy@^0.1.4: version "0.1.4" resolved "https://repox.jfrog.io/repox/api/npm/npm/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= @@ -4855,7 +4859,7 @@ http-deceiver@^1.2.7: resolved "https://repox.jfrog.io/repox/api/npm/npm/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.7.2, http-errors@~1.7.2: +http-errors@1.7.2: version "1.7.2" resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= @@ -4876,6 +4880,17 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" +http-errors@~1.7.2: + version "1.7.3" + resolved "https://repox.jfrog.io/repox/api/npm/npm/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + "http-parser-js@>=0.4.0 <0.4.11": version "0.4.10" resolved "https://repox.jfrog.io/repox/api/npm/npm/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" @@ -4976,9 +4991,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha1-o9iX9CDKsOZxI2iX91vBS0iFw5A= + version "3.1.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg= dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -5021,7 +5036,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://repox.jfrog.io/repox/api/npm/npm/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= @@ -5428,7 +5443,7 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://repox.jfrog.io/repox/api/npm/npm/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= @@ -5978,7 +5993,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://repox.jfrog.io/repox/api/npm/npm/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= -js-yaml@^3.12.0, js-yaml@^3.13.1: +js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.13.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= @@ -6097,12 +6112,13 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1: - version "2.1.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36" - integrity sha1-DuTiyXH7lgHGe1ZBtxvoD67PCzY= +jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0: + version "2.2.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha1-TUlz6/i50oN+6RqCCMxm86J3bPs= dependencies: array-includes "^3.0.3" + object.assign "^4.1.0" kebab-case@^1.0.0: version "1.0.0" @@ -6724,9 +6740,9 @@ mississippi@^3.0.0: through2 "^2.0.0" mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4= + version "1.3.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= dependencies: for-in "^1.0.2" is-extendable "^1.0.1" @@ -6937,9 +6953,9 @@ node-pre-gyp@^0.12.0: tar "^4" node-releases@^1.1.23: - version "1.1.23" - resolved "https://repox.jfrog.io/repox/api/npm/npm/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0" - integrity sha1-3nQJ9y3gRKL6WcCX9Da6icOZl/A= + version "1.1.25" + resolved "https://repox.jfrog.io/repox/api/npm/npm/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" + integrity sha1-DC19vH/tMPvgKp7jAHuMkL8BM9M= dependencies: semver "^5.3.0" @@ -6998,9 +7014,9 @@ npm-bundled@^1.0.1: integrity sha1-57qarc75YrthJI+RchzZMrP+a90= npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha1-GQZM35iNqA6jzuRVM4edkBkrv7w= + version "1.4.4" + resolved "https://repox.jfrog.io/repox/api/npm/npm/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha1-hmIkIzhQrFNLY9Gm52BQCStdL0Q= dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -8064,9 +8080,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.1.33" - resolved "https://repox.jfrog.io/repox/api/npm/npm/psl/-/psl-1.1.33.tgz#5533d9384ca7aab86425198e10e8053ebfeab661" - integrity sha1-VTPZOEynqrhkJRmOEOgFPr/qtmE= + version "1.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha1-3xK1sbOjD1HDKerL3vmPOm4TbcY= public-encrypt@^4.0.0: version "4.0.3" @@ -8378,15 +8394,15 @@ react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: resolved "https://repox.jfrog.io/repox/api/npm/npm/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= -react-modal@3.8.1: - version "3.8.1" - resolved "https://repox.jfrog.io/repox/api/npm/npm/react-modal/-/react-modal-3.8.1.tgz#7300f94a6f92a2e17994de0be6ccb61734464c9e" - integrity sha1-cwD5Sm+SouF5lN4L5sy2FzRGTJ4= +react-modal@3.8.2: + version "3.8.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/react-modal/-/react-modal-3.8.2.tgz#c47397a8602beb7aae0059a3b404f20416241d03" + integrity sha1-xHOXqGAr63quAFmjtATyBBYkHQM= dependencies: exenv "^1.2.0" prop-types "^15.5.10" react-lifecycles-compat "^3.0.0" - warning "^3.0.0" + warning "^4.0.3" react-redux@5.1.1: version "5.1.1" @@ -8857,7 +8873,7 @@ resolve@1.1.7: resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.9.0: +resolve@1.x, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0: version "1.11.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" integrity sha1-6hDYEQN2mC/vV434/DC5rDCgej4= @@ -9035,9 +9051,9 @@ semver@5.5.0: integrity sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs= semver@^6.0.0, semver@^6.1.1: - version "6.1.2" - resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-6.1.2.tgz#079960381376a3db62eb2edc8a3bfb10c7cfe318" - integrity sha1-B5lgOBN2o9ti6y7cijv7EMfP4xg= + version "6.2.0" + resolved "https://repox.jfrog.io/repox/api/npm/npm/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" + integrity sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds= send@0.17.1: version "0.17.1" @@ -9091,20 +9107,10 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^0.4.3: - version "0.4.3" - resolved "https://repox.jfrog.io/repox/api/npm/npm/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ= +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -9184,9 +9190,9 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" sisteransi@^1.0.0: - version "1.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha1-d9liL/kJCA8cGeX0od8MGwonuIw= + version "1.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" + integrity sha1-7FfWS28lxPJsDix90j8tfxL35Bg= slash@^1.0.0: version "1.0.0" @@ -9274,6 +9280,28 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" +sonar-ui-common@0.0.10: + version "0.0.10" + resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.10.tgz#c51643ff14232d7ef8669bb553a4c694bd2b7c0c" + integrity sha1-xRZD/xQjLX74Zpu1U6TGlL0rfAw= + dependencies: + classnames "2.2.6" + clipboard "2.0.4" + d3-array "1.2.4" + d3-hierarchy "1.1.8" + d3-scale "2.1.2" + d3-selection "1.4.0" + d3-shape "1.2.2" + d3-zoom "1.7.3" + date-fns "1.30.1" + history "3.3.0" + lodash "4.17.11" + react-draggable "3.2.1" + react-intl "2.8.0" + react-modal "3.8.2" + react-router "3.2.1" + react-virtualized "9.21.0" + sort-keys@^2.0.0: version "2.0.0" resolved "https://repox.jfrog.io/repox/api/npm/npm/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -9716,9 +9744,9 @@ terser-webpack-plugin@^1.1.0: worker-farm "^1.7.0" terser@^4.0.0: - version "4.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374" - integrity sha1-7zVvbzWalj4sxnVRfyHBw4KHc3Q= + version "4.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/terser/-/terser-4.0.2.tgz#580cea06c4932f46a48ed13804c93bc93c275968" + integrity sha1-WAzqBsSTL0akjtE4BMk7yTwnWWg= dependencies: commander "^2.19.0" source-map "~0.6.1" @@ -9884,15 +9912,15 @@ trough@^1.0.0: resolved "https://repox.jfrog.io/repox/api/npm/npm/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" integrity sha1-O1Kx8Tkk9GDD+/0N9ptYfby8di4= -tryer@^1.0.0: +tryer@^1.0.1: version "1.0.1" resolved "https://repox.jfrog.io/repox/api/npm/npm/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= -ts-jest@24.0.0: - version "24.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" - integrity sha1-Pya/LsH6WEhjpanCm9hxfVSe+/Y= +ts-jest@24.0.2: + version "24.0.2" + resolved "https://repox.jfrog.io/repox/api/npm/npm/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" + integrity sha1-jd5s7Ol8McA+gOR0x0l1P/0nGU0= dependencies: bs-logger "0.x" buffer-from "1.x" @@ -10027,14 +10055,14 @@ unified@^6.0.0: x-is-string "^0.1.0" union-value@^1.0.0: - version "1.0.0" - resolved "https://repox.jfrog.io/repox/api/npm/npm/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + version "1.0.1" + resolved "https://repox.jfrog.io/repox/api/npm/npm/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" - set-value "^0.4.3" + set-value "^2.0.1" uniq@^1.0.1: version "1.0.1" @@ -10303,7 +10331,7 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -warning@^4.0.2: +warning@^4.0.2, warning@^4.0.3: version "4.0.3" resolved "https://repox.jfrog.io/repox/api/npm/npm/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= |