diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index ceb051c38..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,77 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -name: "CodeQL" - -on: - push: - branches: [master, ci-stable, prod-beta, prod-stable, qa-beta, qa-stable] - paths: - - 'src' - - '!**/*.test.ts' - pull_request: - # The branches below must be a subset of the branches above - branches: [master] - paths: - - 'src' - - '!**/*.test.ts' - schedule: - - cron: '0 7 * * 0' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['javascript'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index fd00d6e98..d0cac0aab 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -3,7 +3,7 @@ name: Pull request on: pull_request: - branches: [ master, ci-stable, prod-beta, prod-stable, qa-beta, qa-stable ] + branches: [ main, master, ci-stable, prod-beta, prod-stable, qa-beta, qa-stable, stage-beta, stage-stable ] env: BRANCH: ${{ github.base_ref }} diff --git a/.travis/custom_release.sh b/.travis/custom_release.sh new file mode 100755 index 000000000..4f44c809a --- /dev/null +++ b/.travis/custom_release.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -e +set -x + +# If current dev branch is master, push to build repo stage-beta +if [[ "${TRAVIS_BRANCH}" = "master" || "${TRAVIS_BRANCH}" = "main" ]]; then + .travis/release.sh "ci-beta" + + # Release stage + rm -rf $APP_BUILD_DIR/.git + .travis/release.sh "stage-beta" +fi + +# If current dev branch is deployment branch, push to build repo +if [[ "${TRAVIS_BRANCH}" = "ci-stable" || "${TRAVIS_BRANCH}" = "stage-stable" || "${TRAVIS_BRANCH}" = "prod-beta" || "${TRAVIS_BRANCH}" = "prod-stable" ]]; then + .travis/release.sh "${TRAVIS_BRANCH}" +fi diff --git a/README.md b/README.md index 14d1f8b7f..f75e84c24 100644 --- a/README.md +++ b/README.md @@ -120,4 +120,4 @@ yarn update:manifest [license-badge]: https://img.shields.io/github/license/project-koku/koku-ui.svg?longCache=true&style=for-the-badge [license]: https://github.com/project-koku/koku-ui/blob/master/LICENSE [build-badge]: https://img.shields.io/travis/project-koku/koku-ui.svg?style=for-the-badge -[build]: https://travis-ci.org/project-koku/UI +[build]: https://travis-ci.com/project-koku/UI diff --git a/koku-ui-manifest b/koku-ui-manifest index 6f8b11107..03463aade 100644 --- a/koku-ui-manifest +++ b/koku-ui-manifest @@ -1,36 +1,37 @@ mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.12.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/compat-data:7.13.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/core:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/core:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/generator:7.13.9.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/generator:7.13.9.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-compilation-targets:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-function-name:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-get-function-arity:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-member-expression-to-functions:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-module-imports:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-module-transforms:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-optimise-call-expression:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-replace-supers:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-simple-access:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-split-export-declaration:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-validator-identifier:7.12.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helper-validator-option:7.12.17.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/helpers:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/highlight:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/highlight:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.13.10.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/code-frame:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/compat-data:7.14.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/core:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/core:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/generator:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-compilation-targets:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-function-name:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-get-function-arity:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-hoist-variables:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-member-expression-to-functions:7.14.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-module-imports:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-module-transforms:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-optimise-call-expression:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-plugin-utils:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-replace-supers:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-simple-access:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-split-export-declaration:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-validator-identifier:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-validator-identifier:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helper-validator-option:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/helpers:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/highlight:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/highlight:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/parser:7.14.8.yarnlock mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-async-generators:7.8.4.yarnlock mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-bigint:7.8.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-class-properties:7.12.13.yarnlock @@ -42,35 +43,41 @@ mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-numeric-separator:7.10.4.ya mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-object-rest-spread:7.8.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-optional-catch-binding:7.8.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-optional-chaining:7.8.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-top-level-await:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime-corejs3:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.13.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/template:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/template:7.12.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/types:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/types:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/types:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/types:7.13.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@babel/types:7.13.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/plugin-syntax-top-level-await:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime-corejs3:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/runtime:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/template:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/template:7.14.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/traverse:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/types:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/types:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/types:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/types:7.14.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@babel/types:7.14.8.yarnlock mgmt_services/cost-mgmt:koku-ui/@bcoe/v8-coverage:0.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@cnakazawa/watch:1.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@discoveryjs/json-ext:0.5.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@eslint/eslintrc:0.4.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@fortawesome/fontawesome-common-types:0.2.34.yarnlock +mgmt_services/cost-mgmt:koku-ui/@discoveryjs/json-ext:0.5.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@es-joy/jsdoccomment:0.9.0-alpha.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@eslint/eslintrc:0.4.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@fortawesome/fontawesome-common-types:0.2.35.yarnlock mgmt_services/cost-mgmt:koku-ui/@fortawesome/free-solid-svg-icons:5.15.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@humanwhocodes/config-array:0.5.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@humanwhocodes/object-schema:1.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@istanbuljs/load-nyc-config:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@istanbuljs/schema:0.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@jest/console:26.6.2.yarnlock @@ -84,34 +91,30 @@ mgmt_services/cost-mgmt:koku-ui/@jest/test-result:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@jest/test-sequencer:26.6.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@jest/transform:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@jest/types:26.6.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.scandir:2.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.stat:2.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.stat:2.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.walk:1.2.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/patternfly:4.103.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-charts:6.14.22.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-core:4.121.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-core:4.121.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-icons:4.10.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-icons:4.10.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-styles:4.10.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-styles:4.10.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-table:4.27.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-tokens:4.11.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/@patternfly/react-tokens:4.11.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/@popperjs/core:2.9.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-config-utilities:1.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-notifications:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components:3.1.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/rbac-client:1.0.97.yarnlock +mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.scandir:2.1.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.stat:2.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.stat:2.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@nodelib/fs.walk:1.2.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/patternfly:4.115.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-charts:6.15.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-core:4.135.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-icons:4.11.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-styles:4.11.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-table:4.29.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@patternfly/react-tokens:4.12.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@popperjs/core:2.9.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-config-utilities:1.4.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-notifications:3.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.2.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.2.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components-utilities:3.2.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/frontend-components:3.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@redhat-cloud-services/rbac-client:1.0.100.yarnlock mgmt_services/cost-mgmt:koku-ui/@restart/context:2.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@restart/hooks:0.3.26.yarnlock -mgmt_services/cost-mgmt:koku-ui/@restart/hooks:0.3.26.yarnlock +mgmt_services/cost-mgmt:koku-ui/@restart/hooks:0.3.27.yarnlock +mgmt_services/cost-mgmt:koku-ui/@restart/hooks:0.3.27.yarnlock mgmt_services/cost-mgmt:koku-ui/@scalprum/core:0.0.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/@scalprum/react-core:0.0.16.yarnlock +mgmt_services/cost-mgmt:koku-ui/@scalprum/react-core:0.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@schibstedpl/circuit-breaker-js:0.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@sentry/browser:5.30.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@sentry/core:5.30.0.yarnlock @@ -119,34 +122,35 @@ mgmt_services/cost-mgmt:koku-ui/@sentry/hub:5.30.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@sentry/minimal:5.30.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@sentry/types:5.30.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@sentry/utils:5.30.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@sinonjs/commons:1.8.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@sinonjs/commons:1.8.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@sinonjs/fake-timers:6.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@testing-library/dom:7.30.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@testing-library/dom:7.31.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@testing-library/react:11.2.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/anymatch:1.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/aria-query:4.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__core:7.1.12.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__core:7.1.12.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__generator:7.6.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__template:7.4.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/cheerio:0.22.25.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/cheerio:0.22.25.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/classnames:2.2.11.yarnlock +mgmt_services/cost-mgmt:koku-ui/@tootallnate/once:1.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/anymatch:3.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/aria-query:4.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__core:7.1.15.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__core:7.1.15.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__generator:7.6.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__template:7.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.14.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.14.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/babel__traverse:7.14.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/cheerio:0.22.30.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/cheerio:0.22.30.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/classnames:2.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/date-fns:2.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/debounce-promise:3.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/debounce-promise:3.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/enzyme:3.10.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/eslint-scope:3.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/eslint:7.2.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/estree:0.0.46.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/estree:0.0.47.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/glob:7.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/eslint-scope:3.7.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/eslint:7.28.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/estree:0.0.50.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/estree:0.0.50.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/glob:7.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/graceful-fs:4.1.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/history:4.7.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/history:4.7.9.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/hoist-non-react-statics:3.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/html-minifier-terser:5.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/html-minifier-terser:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/i18next-xhr-backend:1.4.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/i18next:13.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/invariant:2.2.34.yarnlock @@ -154,65 +158,67 @@ mgmt_services/cost-mgmt:koku-ui/@types/istanbul-lib-coverage:2.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/istanbul-lib-coverage:2.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/istanbul-lib-coverage:2.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/istanbul-lib-report:3.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/istanbul-reports:3.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/istanbul-reports:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/jest:26.0.20.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/jest:26.0.20.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/json5:0.0.29.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/minimatch:3.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/node:14.14.33.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/normalize-package-data:2.4.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/prettier:2.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/prop-types:15.7.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/prop-types:15.7.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/jest:26.0.24.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/json-schema:7.0.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/mdast:3.0.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/minimatch:3.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/node:16.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/normalize-package-data:2.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/prettier:2.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/prop-types:15.7.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/prop-types:15.7.4.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/qs:6.9.5.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/react-dom:17.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/react-i18next:8.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/react-redux:7.1.16.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/react-router-dom:5.1.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/react-router:5.1.12.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/react-transition-group:4.4.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/react-router:5.1.16.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/react-transition-group:4.4.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.14.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.14.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.14.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/react:17.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/scheduler:0.16.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/scheduler:0.16.2.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/source-list-map:0.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/stack-utils:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/tapable:1.0.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/uglify-js:3.13.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/stack-utils:2.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/tapable:2.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/uglify-js:3.13.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/unist:2.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/unist:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/warning:3.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/webpack-sources:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/webpack-sources:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@types/webpack:4.41.26.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/yargs-parser:20.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@types/yargs:15.0.13.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/eslint-plugin:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/experimental-utils:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/parser:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/scope-manager:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/types:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/typescript-estree:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/visitor-keys:4.17.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/ast:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/floating-point-hex-parser:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-api-error:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-buffer:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-numbers:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-wasm-bytecode:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-wasm-section:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/ieee754:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/leb128:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/utf8:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-edit:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-gen:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-opt:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-parser:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wast-printer:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webpack-cli/configtest:1.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webpack-cli/info:1.2.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/@webpack-cli/serve:1.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/yargs-parser:20.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@types/yargs:15.0.14.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/eslint-plugin:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/experimental-utils:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/parser:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/scope-manager:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/types:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/typescript-estree:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@typescript-eslint/visitor-keys:4.28.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/ast:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/floating-point-hex-parser:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-api-error:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-buffer:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-numbers:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-wasm-bytecode:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/helper-wasm-section:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/ieee754:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/leb128:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/utf8:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-edit:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-gen:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-opt:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wasm-parser:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webassemblyjs/wast-printer:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webpack-cli/configtest:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webpack-cli/info:1.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/@webpack-cli/serve:1.5.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@wojtekmaj/enzyme-adapter-react-17:0.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/@xstate/graph:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/@xstate/test:0.4.2.yarnlock @@ -225,12 +231,13 @@ mgmt_services/cost-mgmt:koku-ui/accepts:1.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/accepts:1.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/accepts:1.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/acorn-globals:6.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/acorn-jsx:5.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/acorn-jsx:5.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/acorn-walk:7.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/acorn:7.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/acorn:7.4.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/acorn:8.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/acorn:8.2.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/acorn:8.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/acorn:8.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/agent-base:6.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/airbnb-prop-types:2.16.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ajv-errors:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/ajv-keywords:3.5.2.yarnlock @@ -240,11 +247,10 @@ mgmt_services/cost-mgmt:koku-ui/ajv:6.12.6.yarnlock mgmt_services/cost-mgmt:koku-ui/ajv:6.12.6.yarnlock mgmt_services/cost-mgmt:koku-ui/ajv:6.12.6.yarnlock mgmt_services/cost-mgmt:koku-ui/ajv:6.12.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/ajv:6.12.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/ajv:7.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/ajv:8.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-colors:3.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-colors:4.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/ansi-escapes:4.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/ansi-escapes:4.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-html:0.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-regex:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-regex:4.1.0.yarnlock @@ -253,26 +259,29 @@ mgmt_services/cost-mgmt:koku-ui/ansi-styles:3.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-styles:3.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-styles:4.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ansi-styles:4.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/anymatch:3.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/anymatch:3.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/anymatch:3.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/anymatch:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/anymatch:3.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/anymatch:3.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/aphrodite:2.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/argparse:1.0.10.yarnlock mgmt_services/cost-mgmt:koku-ui/aria-query:4.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/arr-diff:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/arr-flatten:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/arr-union:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/array-filter:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/array-flatten:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/array-flatten:2.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/array-includes:3.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/array-includes:3.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/array-includes:3.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/array-union:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/array-union:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/array-uniq:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/array-unique:0.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/array.prototype.filter:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/array.prototype.find:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/array.prototype.flat:1.2.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/array.prototype.flat:1.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/array.prototype.flatmap:1.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/asap:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/asn1:0.2.4.yarnlock @@ -292,8 +301,7 @@ mgmt_services/cost-mgmt:koku-ui/awesome-imperative-promise:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/awesome-only-resolves-last-promise:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/aws-sign2:0.7.0.yarnlock mgmt_services/cost-mgmt:koku-ui/aws4:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/aws4:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/axe-core:4.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/axe-core:4.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/axios:0.21.1.yarnlock mgmt_services/cost-mgmt:koku-ui/axios:0.21.1.yarnlock mgmt_services/cost-mgmt:koku-ui/axobject-query:2.2.0.yarnlock @@ -303,8 +311,7 @@ mgmt_services/cost-mgmt:koku-ui/babel-plugin-istanbul:6.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/babel-plugin-jest-hoist:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/babel-preset-current-node-syntax:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/babel-preset-jest:26.6.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/bail:1.0.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/balanced-match:1.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/balanced-match:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/base64-js:1.5.1.yarnlock mgmt_services/cost-mgmt:koku-ui/base:0.11.2.yarnlock mgmt_services/cost-mgmt:koku-ui/batch:0.6.1.yarnlock @@ -317,14 +324,14 @@ mgmt_services/cost-mgmt:koku-ui/bl:4.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/body-parser:1.19.0.yarnlock mgmt_services/cost-mgmt:koku-ui/bonjour:3.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/boolbase:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/boolbase:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/brace-expansion:1.1.11.yarnlock mgmt_services/cost-mgmt:koku-ui/braces:2.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/braces:2.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/braces:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/braces:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/browser-process-hrtime:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/browserslist:4.16.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/browserslist:4.16.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/browserslist:4.16.6.yarnlock mgmt_services/cost-mgmt:koku-ui/bs-logger:0.2.6.yarnlock mgmt_services/cost-mgmt:koku-ui/bser:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/buffer-equal-constant-time:1.0.1.yarnlock @@ -339,49 +346,45 @@ mgmt_services/cost-mgmt:koku-ui/call-bind:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/call-bind:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/callsites:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/camel-case:4.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/camelcase:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/camelcase:5.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/camelcase:5.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/camelcase:6.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/camelcase:6.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/caniuse-lite:1.0.30001197.yarnlock +mgmt_services/cost-mgmt:koku-ui/caniuse-lite:1.0.30001245.yarnlock mgmt_services/cost-mgmt:koku-ui/capitalize:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/capture-exit:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/caseless:0.12.0.yarnlock mgmt_services/cost-mgmt:koku-ui/chalk:2.4.2.yarnlock mgmt_services/cost-mgmt:koku-ui/chalk:2.4.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/chalk:2.4.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/chalk:4.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/chalk:4.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/chalk:4.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/chalk:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/chalk:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/char-regex:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/character-entities-legacy:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/character-entities:1.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/character-reference-invalid:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/chardet:0.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/cheerio-select-tmp:0.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/cheerio:1.0.0-rc.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/chokidar:3.5.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/cheerio-select:1.5.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/cheerio:1.0.0-rc.10.yarnlock +mgmt_services/cost-mgmt:koku-ui/chokidar:3.5.2.yarnlock mgmt_services/cost-mgmt:koku-ui/chokidar:2.1.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/chrome-trace-event:1.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/chrome-trace-event:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/ci-info:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cjs-module-lexer:0.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/class-utils:0.3.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/classnames:2.2.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/classnames:2.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/classnames:2.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/clean-css:4.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/cli-cursor:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cli-spinners:2.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cli-width:3.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/cliui:3.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cliui:5.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cliui:6.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/cliui:7.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/clone-deep:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/clone:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/clone:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/clone:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/co:4.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/code-point-at:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/collapse-white-space:1.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/collect-v8-coverage:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/collection-visit:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/color-convert:1.9.3.yarnlock @@ -393,28 +396,27 @@ mgmt_services/cost-mgmt:koku-ui/colorette:1.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/combined-stream:1.0.8.yarnlock mgmt_services/cost-mgmt:koku-ui/combined-stream:1.0.8.yarnlock mgmt_services/cost-mgmt:koku-ui/combined-stream:1.0.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/commander:7.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/commander:7.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/commander:8.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/commander:2.20.3.yarnlock mgmt_services/cost-mgmt:koku-ui/commander:2.20.3.yarnlock mgmt_services/cost-mgmt:koku-ui/commander:4.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/comment-parser:1.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/commander:7.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/comment-parser:1.1.6-beta.0.yarnlock mgmt_services/cost-mgmt:koku-ui/component-emitter:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/compressible:2.0.18.yarnlock mgmt_services/cost-mgmt:koku-ui/compression:1.7.4.yarnlock mgmt_services/cost-mgmt:koku-ui/concat-map:0.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/connect-history-api-fallback:1.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/contains-path:0.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/content-disposition:0.5.3.yarnlock mgmt_services/cost-mgmt:koku-ui/content-type:1.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.8.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.8.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/convert-source-map:1.8.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cookie-signature:1.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/cookie:0.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/copy-descriptor:0.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/copy-webpack-plugin:7.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/core-js-pure:3.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/core-js-pure:3.15.2.yarnlock mgmt_services/cost-mgmt:koku-ui/core-js:2.6.12.yarnlock mgmt_services/cost-mgmt:koku-ui/core-util-is:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/core-util-is:1.0.2.yarnlock @@ -425,16 +427,15 @@ mgmt_services/cost-mgmt:koku-ui/cross-spawn:7.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/cross-spawn:7.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/cross-spawn:7.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/css-in-js-utils:2.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/css-loader:5.2.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/css-select:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/css-select:3.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/css-what:3.4.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/css-what:4.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/css-loader:6.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/css-select:4.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/css-what:5.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/css-what:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/cssesc:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/cssom:0.4.4.yarnlock mgmt_services/cost-mgmt:koku-ui/cssom:0.3.8.yarnlock mgmt_services/cost-mgmt:koku-ui/cssstyle:2.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/csstype:3.0.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/csstype:3.0.8.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-array:1.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-collection:1.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-color:1.4.1.yarnlock @@ -449,25 +450,28 @@ mgmt_services/cost-mgmt:koku-ui/d3-shape:1.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-time-format:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-time:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/d3-timer:1.0.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/damerau-levenshtein:1.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/damerau-levenshtein:1.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/dashdash:1.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/data-urls:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/date-fns:2.19.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/date-fns:2.22.1.yarnlock mgmt_services/cost-mgmt:koku-ui/date-fns:2.17.0.yarnlock mgmt_services/cost-mgmt:koku-ui/debounce-promise:3.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:2.6.9.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:2.6.9.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:2.6.9.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:2.6.9.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:4.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/debug:3.2.7.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:3.2.7.yarnlock mgmt_services/cost-mgmt:koku-ui/debug:3.2.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/debug:4.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/debug:4.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/debug:4.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/debug:4.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/decamelize:1.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/decamelize:1.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/decimal.js:10.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/decimal.js:10.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/decode-uri-component:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/deep-equal:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/deep-is:0.1.3.yarnlock @@ -481,45 +485,41 @@ mgmt_services/cost-mgmt:koku-ui/define-property:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/define-property:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/del:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/delaunator:4.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/delaunay-find:0.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/delaunay-find:0.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/delayed-stream:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/depd:1.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/dequal:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/destroy:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/detect-newline:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/detect-node:2.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/detect-node:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/diff-sequences:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/dir-glob:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/discontinuous-range:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/dns-equal:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dns-packet:1.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/dns-packet:1.3.4.yarnlock mgmt_services/cost-mgmt:koku-ui/dns-txt:2.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/doctrine:1.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/doctrine:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/doctrine:3.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-accessibility-api:0.5.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-accessibility-api:0.5.6.yarnlock mgmt_services/cost-mgmt:koku-ui/dom-converter:0.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-serializer:0.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-serializer:1.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/dom-serializer:1.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/domelementtype:1.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/domelementtype:1.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/domelementtype:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/domelementtype:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-helpers:5.2.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-serializer:1.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/dom-serializer:1.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/domelementtype:2.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/domelementtype:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/domexception:2.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/domhandler:2.4.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/domhandler:4.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/domutils:1.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/domutils:1.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/domutils:2.4.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/domutils:2.4.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/domhandler:4.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/domhandler:4.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/domutils:2.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/domutils:2.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/domutils:2.7.0.yarnlock mgmt_services/cost-mgmt:koku-ui/dot-case:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/ecc-jsbn:0.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/ecdsa-sig-formatter:1.0.11.yarnlock mgmt_services/cost-mgmt:koku-ui/ee-first:1.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/electron-to-chromium:1.3.683.yarnlock +mgmt_services/cost-mgmt:koku-ui/electron-to-chromium:1.3.782.yarnlock mgmt_services/cost-mgmt:koku-ui/emittery:0.7.2.yarnlock mgmt_services/cost-mgmt:koku-ui/emoji-regex:7.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/emoji-regex:8.0.0.yarnlock @@ -529,11 +529,10 @@ mgmt_services/cost-mgmt:koku-ui/encodeurl:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/end-of-stream:1.4.4.yarnlock mgmt_services/cost-mgmt:koku-ui/enhanced-resolve:4.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/enhanced-resolve:5.8.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/enhanced-resolve:5.8.2.yarnlock mgmt_services/cost-mgmt:koku-ui/enquirer:2.3.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/entities:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/entities:2.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/entities:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/envinfo:7.7.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/envinfo:7.8.1.yarnlock mgmt_services/cost-mgmt:koku-ui/enzyme-adapter-react-16:1.15.6.yarnlock mgmt_services/cost-mgmt:koku-ui/enzyme-adapter-utils:1.14.0.yarnlock mgmt_services/cost-mgmt:koku-ui/enzyme-shallow-equal:1.0.4.yarnlock @@ -542,11 +541,13 @@ mgmt_services/cost-mgmt:koku-ui/enzyme-to-json:3.6.1.yarnlock mgmt_services/cost-mgmt:koku-ui/enzyme:3.11.0.yarnlock mgmt_services/cost-mgmt:koku-ui/errno:0.1.8.yarnlock mgmt_services/cost-mgmt:koku-ui/error-ex:1.3.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/error-ex:1.3.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/es-module-lexer:0.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-abstract:1.18.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-array-method-boxes-properly:1.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/es-module-lexer:0.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/es-to-primitive:1.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/escalade:3.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/escape-html:1.0.3.yarnlock @@ -561,20 +562,20 @@ mgmt_services/cost-mgmt:koku-ui/eslint-config-standard-jsx:5.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-config-standard-react:6.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-config-standard:11.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-import-resolver-node:0.3.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-module-utils:2.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-import:2.22.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-module-utils:2.6.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-import:2.23.4.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-jest:21.27.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-jsdoc:32.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-jsdoc:35.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-jsx-a11y:6.4.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-markdown:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-markdown:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-node:6.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-patternfly-react:4.1.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-patternfly-react:4.1.7.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-prettier:2.7.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-prettier:3.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-prettier:3.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-promise:3.8.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-react-hooks:4.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-react:7.22.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-plugin-react:7.22.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-react:7.24.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-plugin-react:7.24.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-rulesdir:0.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-simple-import-sort:5.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-plugin-standard:3.1.0.yarnlock @@ -583,12 +584,12 @@ mgmt_services/cost-mgmt:koku-ui/eslint-scope:3.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-scope:5.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-scope:5.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-utils:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-utils:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-utils:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-visitor-keys:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-visitor-keys:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eslint-visitor-keys:1.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint-visitor-keys:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/eslint:7.21.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint-visitor-keys:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/eslint:7.31.0.yarnlock mgmt_services/cost-mgmt:koku-ui/espree:7.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/espree:7.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/esprima:4.0.1.yarnlock @@ -604,10 +605,10 @@ mgmt_services/cost-mgmt:koku-ui/etag:1.8.1.yarnlock mgmt_services/cost-mgmt:koku-ui/eventemitter3:4.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/events:3.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/eventsource:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/exec-sh:0.3.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/exec-sh:0.3.6.yarnlock mgmt_services/cost-mgmt:koku-ui/execa:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/execa:4.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/execa:5.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/execa:5.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/exit:0.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/expand-brackets:2.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/expect:26.6.2.yarnlock @@ -616,25 +617,24 @@ mgmt_services/cost-mgmt:koku-ui/extend-shallow:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/extend-shallow:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/extend-shallow:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/extend:3.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/extend:3.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/extend:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/external-editor:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/extglob:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/extsprintf:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/extsprintf:1.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-deep-equal:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-deep-equal:3.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/fast-deep-equal:3.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-diff:1.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-diff:1.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/fast-glob:3.2.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/fast-glob:3.2.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/fast-glob:3.2.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/fast-glob:3.2.7.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-json-stable-stringify:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-json-stable-stringify:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-levenshtein:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/fast-levenshtein:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/fastest-levenshtein:1.0.12.yarnlock -mgmt_services/cost-mgmt:koku-ui/fastq:1.11.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/faye-websocket:0.11.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/fastq:1.11.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/faye-websocket:0.11.4.yarnlock mgmt_services/cost-mgmt:koku-ui/fb-watchman:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/figures:3.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/file-entry-cache:6.0.1.yarnlock @@ -643,24 +643,24 @@ mgmt_services/cost-mgmt:koku-ui/file-uri-to-path:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fill-range:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fill-range:7.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/finalhandler:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/find-up:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/find-up:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/find-up:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/find-up:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/find-up:4.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/find-up:4.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/flat-cache:3.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/flatted:3.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/flatted:3.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/focus-trap:6.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/follow-redirects:1.13.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/follow-redirects:1.13.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/follow-redirects:1.14.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/follow-redirects:1.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/for-in:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/forever-agent:0.6.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/form-data:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/form-data:2.3.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/form-data:2.3.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/forwarded:0.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/forwarded:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fragment-cache:0.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/fresh:0.5.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/fs-extra:10.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fs.realpath:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/fsevents:1.2.13.yarnlock mgmt_services/cost-mgmt:koku-ui/fsevents:2.3.2.yarnlock @@ -671,7 +671,7 @@ mgmt_services/cost-mgmt:koku-ui/function.prototype.name:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/functional-red-black-tree:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/functions-have-names:1.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/gensync:1.0.0-beta.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/get-caller-file:1.0.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/get-caller-file:2.0.5.yarnlock mgmt_services/cost-mgmt:koku-ui/get-caller-file:2.0.5.yarnlock mgmt_services/cost-mgmt:koku-ui/get-intrinsic:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/get-intrinsic:1.1.1.yarnlock @@ -680,7 +680,7 @@ mgmt_services/cost-mgmt:koku-ui/get-package-type:0.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/get-stdin:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/get-stream:4.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/get-stream:5.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/get-stream:6.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/get-stream:6.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/get-value:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/get-value:2.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/getpass:0.1.7.yarnlock @@ -689,20 +689,22 @@ mgmt_services/cost-mgmt:koku-ui/glob-parent:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/glob-parent:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/glob-parent:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/glob-parent:5.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob-parent:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/glob-to-regexp:0.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob:7.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob:7.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob:7.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob:7.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/glob:7.1.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/glob:7.1.7.yarnlock mgmt_services/cost-mgmt:koku-ui/globals:11.12.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/globals:12.4.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/globby:11.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/globals:13.10.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/globals:13.10.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/globby:11.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/globby:11.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/globby:6.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/good-guy-http:1.12.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/good-guy-http:1.14.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/graceful-fs:4.2.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/graceful-fs:4.2.6.yarnlock mgmt_services/cost-mgmt:koku-ui/graceful-fs:4.2.6.yarnlock mgmt_services/cost-mgmt:koku-ui/graceful-fs:4.2.6.yarnlock mgmt_services/cost-mgmt:koku-ui/graceful-fs:4.2.6.yarnlock @@ -710,13 +712,11 @@ mgmt_services/cost-mgmt:koku-ui/growly:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/handle-thing:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/har-schema:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/har-validator:5.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/har-validator:5.1.5.yarnlock mgmt_services/cost-mgmt:koku-ui/has-bigints:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/has-flag:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/has-flag:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/has-symbols:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/has-symbols:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/has-symbols:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/has-value:0.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/has-value:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/has-values:0.1.4.yarnlock @@ -729,37 +729,38 @@ mgmt_services/cost-mgmt:koku-ui/hoist-non-react-statics:3.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/hoist-non-react-statics:3.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/hoist-non-react-statics:3.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/hook-into-props:4.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/hosted-git-info:2.8.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/hosted-git-info:2.8.9.yarnlock mgmt_services/cost-mgmt:koku-ui/hpack.js:2.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/html-element-map:1.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/html-element-map:1.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/html-encoding-sniffer:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/html-entities:1.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/html-escaper:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/html-loader:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/html-minifier-terser:5.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/html-minifier-terser:5.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/html-parse-stringify2:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/html-parse-stringify:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/html-replace-webpack-plugin:2.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/html-webpack-plugin:5.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/htmlparser2:3.10.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/htmlparser2:6.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/html-webpack-plugin:5.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/htmlparser2:6.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/htmlparser2:6.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/http-deceiver:1.2.7.yarnlock mgmt_services/cost-mgmt:koku-ui/http-errors:1.7.2.yarnlock mgmt_services/cost-mgmt:koku-ui/http-errors:1.6.3.yarnlock mgmt_services/cost-mgmt:koku-ui/http-errors:1.7.3.yarnlock mgmt_services/cost-mgmt:koku-ui/http-parser-js:0.5.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/http-proxy-agent:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/http-proxy-middleware:0.19.1.yarnlock mgmt_services/cost-mgmt:koku-ui/http-proxy:1.18.1.yarnlock mgmt_services/cost-mgmt:koku-ui/http-signature:1.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/https-proxy-agent:5.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/human-date:1.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/human-signals:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/human-signals:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/hyphenate-style-name:1.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/i18next-json-sync:2.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/i18next-locales-sync:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/i18next-xhr-backend:3.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/i18next-xhr-backend:3.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/i18next:19.9.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/i18next:20.3.4.yarnlock mgmt_services/cost-mgmt:koku-ui/i18next:19.8.8.yarnlock mgmt_services/cost-mgmt:koku-ui/iconv-lite:0.4.24.yarnlock mgmt_services/cost-mgmt:koku-ui/iconv-lite:0.4.24.yarnlock @@ -774,7 +775,6 @@ mgmt_services/cost-mgmt:koku-ui/import-fresh:3.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/import-local:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/import-local:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/imurmurhash:0.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/indexes-of:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/inflight:1.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock @@ -782,15 +782,13 @@ mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/inherits:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/inherits:2.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/inline-style-prefixer:5.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/inquirer:8.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/inquirer:8.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/internal-ip:4.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/internal-slot:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/interpret:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/invariant:2.2.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/invert-kv:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ip-regex:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ip:1.1.5.yarnlock mgmt_services/cost-mgmt:koku-ui/ip:1.1.5.yarnlock @@ -803,32 +801,31 @@ mgmt_services/cost-mgmt:koku-ui/is-alphabetical:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-alphanumerical:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-arguments:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-arrayish:0.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-bigint:1.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-bigint:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/is-binary-path:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-binary-path:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-boolean-object:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-boolean-object:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-buffer:1.1.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-boolean-object:1.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-boolean-object:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-buffer:1.1.6.yarnlock mgmt_services/cost-mgmt:koku-ui/is-callable:1.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/is-callable:1.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/is-callable:1.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/is-ci:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-core-module:2.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-core-module:2.5.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-core-module:2.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-data-descriptor:0.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-data-descriptor:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-date-object:1.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-date-object:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-decimal:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-descriptor:0.1.6.yarnlock mgmt_services/cost-mgmt:koku-ui/is-descriptor:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/is-descriptor:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-docker:2.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-docker:2.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-extendable:0.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-extendable:0.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-extendable:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-extglob:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-extglob:2.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-fullwidth-code-point:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-fullwidth-code-point:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-fullwidth-code-point:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-generator-fn:2.1.0.yarnlock @@ -839,40 +836,36 @@ mgmt_services/cost-mgmt:koku-ui/is-glob:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/is-hexadecimal:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-interactive:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-negative-zero:2.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-number-object:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-number-object:1.0.5.yarnlock mgmt_services/cost-mgmt:koku-ui/is-number:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-number:7.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-path-cwd:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-path-in-cwd:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-path-inside:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-plain-obj:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-plain-object:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-plain-object:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-plain-object:5.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-potential-custom-element-name:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-potential-custom-element-name:1.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-regex:1.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/is-stream:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-stream:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-string:1.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-string:1.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-string:1.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/is-subset:0.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-symbol:1.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-symbol:1.0.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-symbol:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/is-symbol:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-typedarray:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-typedarray:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-unicode-supported:0.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-utf8:0.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-whitespace-character:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-windows:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/is-word-character:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/is-wsl:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/is-wsl:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/isarray:0.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/isarray:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/isarray:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/isarray:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/isexe:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/isobject:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/isobject:3.0.1.yarnlock @@ -914,30 +907,32 @@ mgmt_services/cost-mgmt:koku-ui/jest-util:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/jest-validate:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/jest-watcher:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/jest-worker:26.6.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/jest-worker:27.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/jest:26.6.3.yarnlock mgmt_services/cost-mgmt:koku-ui/js-file-download:0.4.12.yarnlock mgmt_services/cost-mgmt:koku-ui/js-tokens:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/js-tokens:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/js-yaml:3.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/jsbn:0.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/jsdoctypeparser:9.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/jsdom:16.5.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/jsdoc-type-pratt-parser:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/jsdoc-type-pratt-parser:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/jsdom:16.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/jsesc:2.5.2.yarnlock mgmt_services/cost-mgmt:koku-ui/json-parse-better-errors:1.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/json-parse-better-errors:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/json-parse-even-better-errors:2.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json-schema-traverse:0.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json-schema-traverse:0.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json-schema-traverse:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/json-schema:0.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/json-stable-stringify-without-jsonify:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/json-stable-stringify:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json-stringify-safe:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json-stringify-safe:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/json3:3.3.3.yarnlock mgmt_services/cost-mgmt:koku-ui/json5:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/json5:2.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/json5:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/jsonify:0.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/json5:2.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/jsonfile:6.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/jsprim:1.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/jsx-ast-utils:3.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/jsx-ast-utils:3.2.0.yarnlock @@ -956,25 +951,23 @@ mgmt_services/cost-mgmt:koku-ui/klona:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/klona:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/language-subtag-registry:0.3.21.yarnlock mgmt_services/cost-mgmt:koku-ui/language-tags:1.0.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/lcid:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/leven:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/levn:0.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/levn:0.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/lines-and-columns:1.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/load-json-file:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/load-json-file:2.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/load-json-file:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/loader-runner:4.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/loader-utils:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/locate-path:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/locate-path:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/locate-path:5.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/lodash-es:4.17.21.yarnlock -mgmt_services/cost-mgmt:koku-ui/lodash.assign:4.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/lodash.assign:4.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/lodash.clonedeep:4.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash.escape:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash.flattendeep:4.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash.isequal:4.5.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/lodash.sortby:4.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/lodash.merge:4.6.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/lodash.truncate:4.4.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/lodash:4.17.21.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash:4.17.21.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash:4.17.21.yarnlock mgmt_services/cost-mgmt:koku-ui/lodash:4.17.21.yarnlock @@ -999,7 +992,8 @@ mgmt_services/cost-mgmt:koku-ui/make-error:1.3.6.yarnlock mgmt_services/cost-mgmt:koku-ui/makeerror:1.0.11.yarnlock mgmt_services/cost-mgmt:koku-ui/map-cache:0.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/map-visit:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/markdown-escapes:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/mdast-util-from-markdown:0.8.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/mdast-util-to-string:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/media-typer:0.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/memory-fs:0.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/memory-fs:0.5.0.yarnlock @@ -1007,22 +1001,23 @@ mgmt_services/cost-mgmt:koku-ui/merge-descriptors:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/merge-stream:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/merge2:1.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/methods:1.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/micromark:2.11.4.yarnlock mgmt_services/cost-mgmt:koku-ui/micromatch:3.1.10.yarnlock mgmt_services/cost-mgmt:koku-ui/micromatch:3.1.10.yarnlock -mgmt_services/cost-mgmt:koku-ui/micromatch:4.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/micromatch:4.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-db:1.46.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-db:1.46.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.29.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.29.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.29.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.29.yarnlock -mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.29.yarnlock +mgmt_services/cost-mgmt:koku-ui/micromatch:4.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/micromatch:4.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/micromatch:4.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-db:1.48.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-db:1.48.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.31.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.31.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.31.yarnlock +mgmt_services/cost-mgmt:koku-ui/mime-types:2.1.31.yarnlock mgmt_services/cost-mgmt:koku-ui/mime:1.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/mime:2.5.2.yarnlock mgmt_services/cost-mgmt:koku-ui/mimic-fn:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/mini-create-react-context:0.4.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/mini-css-extract-plugin:1.3.9.yarnlock +mgmt_services/cost-mgmt:koku-ui/mini-css-extract-plugin:1.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/minimalistic-assert:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/minimatch:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/minimist:1.2.5.yarnlock @@ -1030,6 +1025,7 @@ mgmt_services/cost-mgmt:koku-ui/minimist:1.2.5.yarnlock mgmt_services/cost-mgmt:koku-ui/minimist:1.2.5.yarnlock mgmt_services/cost-mgmt:koku-ui/mixin-deep:1.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/mkdirp:1.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/mkdirp:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/mkdirp:0.5.5.yarnlock mgmt_services/cost-mgmt:koku-ui/mkdirp:0.5.5.yarnlock mgmt_services/cost-mgmt:koku-ui/moo:0.5.1.yarnlock @@ -1042,7 +1038,6 @@ mgmt_services/cost-mgmt:koku-ui/multicast-dns:6.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/mute-stream:0.0.8.yarnlock mgmt_services/cost-mgmt:koku-ui/nan:2.14.2.yarnlock mgmt_services/cost-mgmt:koku-ui/nanoid:2.1.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/nanoid:3.1.20.yarnlock mgmt_services/cost-mgmt:koku-ui/nanoid:3.1.23.yarnlock mgmt_services/cost-mgmt:koku-ui/nanomatch:1.2.13.yarnlock mgmt_services/cost-mgmt:koku-ui/natural-compare:1.4.0.yarnlock @@ -1054,9 +1049,9 @@ mgmt_services/cost-mgmt:koku-ui/no-case:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/node-forge:0.10.0.yarnlock mgmt_services/cost-mgmt:koku-ui/node-int64:0.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/node-modules-regexp:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/node-notifier:8.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/node-releases:1.1.71.yarnlock -mgmt_services/cost-mgmt:koku-ui/nodesi:1.15.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/node-notifier:8.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/node-releases:1.1.73.yarnlock +mgmt_services/cost-mgmt:koku-ui/nodesi:1.17.0.yarnlock mgmt_services/cost-mgmt:koku-ui/normalize-package-data:2.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/normalize-package-data:2.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/normalize-path:2.1.1.yarnlock @@ -1065,18 +1060,16 @@ mgmt_services/cost-mgmt:koku-ui/normalize-path:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/npm-run-path:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/npm-run-path:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/npm-run-path:4.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/nth-check:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/nth-check:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/null-loader:4.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/number-is-nan:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/nwsapi:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/oauth-sign:0.8.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/oauth-sign:0.9.0.yarnlock mgmt_services/cost-mgmt:koku-ui/object-assign:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/object-assign:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/object-copy:0.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/object-inspect:1.9.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/object-inspect:1.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/object-inspect:1.11.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/object-inspect:1.11.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/object-inspect:1.11.0.yarnlock mgmt_services/cost-mgmt:koku-ui/object-is:1.1.5.yarnlock mgmt_services/cost-mgmt:koku-ui/object-is:1.1.5.yarnlock mgmt_services/cost-mgmt:koku-ui/object-is:1.1.5.yarnlock @@ -1085,13 +1078,16 @@ mgmt_services/cost-mgmt:koku-ui/object-keys:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/object-visit:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/object.assign:4.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/object.assign:4.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/object.entries:1.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/object.entries:1.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.entries:1.1.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.entries:1.1.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.entries:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/object.fromentries:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/object.fromentries:2.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/object.pick:1.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/object.values:1.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/object.values:1.1.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.values:1.1.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.values:1.1.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.values:1.1.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/object.values:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/obuf:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/obuf:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/on-finished:2.3.0.yarnlock @@ -1104,9 +1100,8 @@ mgmt_services/cost-mgmt:koku-ui/onetime:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/opn:5.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/optionator:0.8.3.yarnlock mgmt_services/cost-mgmt:koku-ui/optionator:0.9.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/ora:5.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/ora:5.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/original:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/os-locale:1.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/os-tmpdir:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/p-each-series:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/p-finally:1.0.0.yarnlock @@ -1124,21 +1119,19 @@ mgmt_services/cost-mgmt:koku-ui/p-try:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/p-try:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/param-case:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/parent-module:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/parse-entities:1.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/parse-json:2.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/parse-entities:2.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/parse-json:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/parse-json:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/parse-srcset:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/parse5-htmlparser2-tree-adapter:6.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/parse5-sax-parser:6.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/parse5:6.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/parse5:6.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/parse5:6.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/parseurl:1.3.3.yarnlock mgmt_services/cost-mgmt:koku-ui/parseurl:1.3.3.yarnlock mgmt_services/cost-mgmt:koku-ui/pascal-case:3.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/pascalcase:0.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/path-dirname:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/path-exists:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/path-exists:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/path-exists:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/path-is-absolute:1.0.1.yarnlock @@ -1147,17 +1140,17 @@ mgmt_services/cost-mgmt:koku-ui/path-key:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/path-key:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/path-key:3.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/path-key:3.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/path-parse:1.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/path-parse:1.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/path-to-regexp:0.1.7.yarnlock mgmt_services/cost-mgmt:koku-ui/path-to-regexp:1.8.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/path-type:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/path-type:2.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/path-type:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/path-type:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/performance-now:2.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/picomatch:2.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/picomatch:2.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/picomatch:2.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/picomatch:2.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/picomatch:2.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/picomatch:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/pify:2.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/pify:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/pify:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/pinkie-promise:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/pinkie:2.0.4.yarnlock @@ -1165,6 +1158,7 @@ mgmt_services/cost-mgmt:koku-ui/pirates:4.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/pkg-dir:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/pkg-dir:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/pkg-dir:4.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/pkg-up:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/popper.js:1.16.1.yarnlock mgmt_services/cost-mgmt:koku-ui/portfinder:1.0.28.yarnlock mgmt_services/cost-mgmt:koku-ui/posix-character-classes:0.1.1.yarnlock @@ -1172,30 +1166,29 @@ mgmt_services/cost-mgmt:koku-ui/postcss-modules-extract-imports:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/postcss-modules-local-by-default:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/postcss-modules-scope:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/postcss-modules-values:4.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/postcss-selector-parser:6.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/postcss-selector-parser:6.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/postcss-selector-parser:6.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/postcss-selector-parser:6.0.6.yarnlock mgmt_services/cost-mgmt:koku-ui/postcss-value-parser:4.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/postcss:8.2.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/postcss:8.2.15.yarnlock +mgmt_services/cost-mgmt:koku-ui/postcss:8.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/postcss:8.3.5.yarnlock mgmt_services/cost-mgmt:koku-ui/prelude-ls:1.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/prelude-ls:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/prettier-linter-helpers:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/prettier:2.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/pretty-error:2.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/prettier:2.3.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/pretty-error:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/pretty-format:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/pretty-format:26.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/process-nextick-args:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/progress:2.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/prompts:2.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/prompts:2.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/prop-types-exact:1.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/prop-types-extra:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/prop-types:15.7.2.yarnlock mgmt_services/cost-mgmt:koku-ui/prop-types:15.7.2.yarnlock mgmt_services/cost-mgmt:koku-ui/prop-types:15.7.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/proxy-addr:2.0.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/proxy-addr:2.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/prr:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/psl:1.8.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/psl:1.8.0.yarnlock mgmt_services/cost-mgmt:koku-ui/pump:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/punycode:1.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/punycode:1.4.1.yarnlock @@ -1204,10 +1197,9 @@ mgmt_services/cost-mgmt:koku-ui/punycode:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/qs:6.7.0.yarnlock mgmt_services/cost-mgmt:koku-ui/qs:6.9.6.yarnlock mgmt_services/cost-mgmt:koku-ui/qs:6.5.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/qs:6.5.2.yarnlock mgmt_services/cost-mgmt:koku-ui/querystring:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/querystringify:2.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/queue-microtask:1.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/queue-microtask:1.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/raf:3.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/railroad-diagrams:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/randexp:0.4.6.yarnlock @@ -1216,11 +1208,11 @@ mgmt_services/cost-mgmt:koku-ui/range-parser:1.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/range-parser:1.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/raw-body:2.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/react-bootstrap:1.5.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-content-loader:6.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-content-loader:6.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/react-dom:17.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-dropzone:9.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/react-fast-compare:2.0.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-i18next:11.8.9.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-i18next:11.11.3.yarnlock mgmt_services/cost-mgmt:koku-ui/react-i18next:11.8.15.yarnlock mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock @@ -1229,9 +1221,10 @@ mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-is:16.13.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-is:17.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-is:17.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-is:17.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-is:17.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-is:17.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-is:17.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-is:17.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/react-lifecycles-compat:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/react-overlays:4.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-redux:7.2.2.yarnlock @@ -1239,50 +1232,40 @@ mgmt_services/cost-mgmt:koku-ui/react-router-dom:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/react-router:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/react-shallow-renderer:16.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/react-test-renderer:16.14.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-test-renderer:17.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/react-transition-group:4.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-test-renderer:17.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/react-transition-group:4.4.2.yarnlock mgmt_services/cost-mgmt:koku-ui/react:17.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/read-pkg-up:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/read-pkg-up:2.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/read-pkg-up:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/read-pkg-up:7.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/read-pkg:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/read-pkg:2.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/read-pkg:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/read-pkg:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/readable-stream:2.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/readable-stream:2.3.7.yarnlock mgmt_services/cost-mgmt:koku-ui/readable-stream:3.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/readable-stream:3.6.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/readable-stream:3.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/readdirp:2.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/readdirp:3.5.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/rechoir:0.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/readdirp:3.6.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/rechoir:0.7.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/redux-promise-middleware:6.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/redux-thunk:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/redux:4.0.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/redux:4.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/redux:4.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/reflect.ownkeys:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/regenerator-runtime:0.13.7.yarnlock mgmt_services/cost-mgmt:koku-ui/regex-not:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/regex-not:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/regexp.prototype.flags:1.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/regexp.prototype.flags:1.3.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/regexpp:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/regexpp:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/regextras:0.7.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/regexpp:3.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/regextras:0.8.0.yarnlock mgmt_services/cost-mgmt:koku-ui/relateurl:0.2.7.yarnlock -mgmt_services/cost-mgmt:koku-ui/remark-parse:7.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/remove-trailing-separator:1.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/renderkid:2.0.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/repeat-element:1.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/repeat-string:1.6.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/renderkid:2.0.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/repeat-element:1.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/repeat-string:1.6.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/replace-ext:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/request-promise-core:1.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/request-promise-native:1.0.9.yarnlock mgmt_services/cost-mgmt:koku-ui/request:2.87.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/request:2.88.2.yarnlock mgmt_services/cost-mgmt:koku-ui/require-directory:2.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/require-from-string:2.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/require-main-filename:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/require-main-filename:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/requires-port:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/resolve-cwd:2.0.0.yarnlock @@ -1298,6 +1281,7 @@ mgmt_services/cost-mgmt:koku-ui/resolve:1.20.0.yarnlock mgmt_services/cost-mgmt:koku-ui/resolve:1.20.0.yarnlock mgmt_services/cost-mgmt:koku-ui/resolve:1.20.0.yarnlock mgmt_services/cost-mgmt:koku-ui/resolve:1.20.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/resolve:2.0.0-next.3.yarnlock mgmt_services/cost-mgmt:koku-ui/restore-cursor:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ret:0.1.15.yarnlock mgmt_services/cost-mgmt:koku-ui/retry:0.12.0.yarnlock @@ -1309,7 +1293,7 @@ mgmt_services/cost-mgmt:koku-ui/rst-selector-parser:2.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/rsvp:4.8.5.yarnlock mgmt_services/cost-mgmt:koku-ui/run-async:2.4.1.yarnlock mgmt_services/cost-mgmt:koku-ui/run-parallel:1.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/rxjs:6.6.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/rxjs:7.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.1.2.yarnlock @@ -1318,37 +1302,39 @@ mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/safe-buffer:5.2.1.yarnlock mgmt_services/cost-mgmt:koku-ui/safe-regex:1.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/safer-buffer:2.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/safer-buffer:2.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/safer-buffer:2.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/safer-buffer:2.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/sane:4.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/sanitize-html:2.3.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/sass-loader:11.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/sass:1.32.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/sanitize-html:2.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/sass-loader:11.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/sass:1.35.2.yarnlock mgmt_services/cost-mgmt:koku-ui/saxes:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/scheduler:0.19.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/scheduler:0.20.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/scheduler:0.20.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/scheduler:0.20.2.yarnlock mgmt_services/cost-mgmt:koku-ui/schema-utils:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/schema-utils:3.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/schema-utils:3.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/schema-utils:3.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/select-hose:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/selfsigned:1.10.8.yarnlock +mgmt_services/cost-mgmt:koku-ui/selfsigned:1.10.11.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:5.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:5.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:5.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:5.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:5.7.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/semver:7.3.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/semver:7.3.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/semver:7.3.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/semver:7.3.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:6.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/semver:6.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/semver:7.3.5.yarnlock mgmt_services/cost-mgmt:koku-ui/send:0.17.1.yarnlock mgmt_services/cost-mgmt:koku-ui/serialize-javascript:5.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/serialize-javascript:6.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/serve-index:1.9.1.yarnlock mgmt_services/cost-mgmt:koku-ui/serve-static:1.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/set-blocking:2.0.0.yarnlock @@ -1376,6 +1362,7 @@ mgmt_services/cost-mgmt:koku-ui/sockjs-client:1.5.1.yarnlock mgmt_services/cost-mgmt:koku-ui/sockjs:0.3.21.yarnlock mgmt_services/cost-mgmt:koku-ui/source-list-map:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/source-list-map:2.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/source-map-js:0.6.2.yarnlock mgmt_services/cost-mgmt:koku-ui/source-map-resolve:0.5.3.yarnlock mgmt_services/cost-mgmt:koku-ui/source-map-support:0.5.19.yarnlock mgmt_services/cost-mgmt:koku-ui/source-map-support:0.5.19.yarnlock @@ -1393,7 +1380,7 @@ mgmt_services/cost-mgmt:koku-ui/spdx-correct:3.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/spdx-exceptions:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/spdx-expression-parse:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/spdx-expression-parse:3.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/spdx-license-ids:3.0.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/spdx-license-ids:3.0.9.yarnlock mgmt_services/cost-mgmt:koku-ui/spdy-transport:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/spdy:4.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/split-string:3.1.0.yarnlock @@ -1401,33 +1388,27 @@ mgmt_services/cost-mgmt:koku-ui/split-string:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/sprintf-js:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/sshpk:1.16.1.yarnlock mgmt_services/cost-mgmt:koku-ui/stack-utils:2.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/state-toggle:1.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/static-extend:0.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/statuses:1.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/statuses:1.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/statuses:1.5.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/stealthy-require:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/string-hash:1.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/string-length:4.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/string-width:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/string-width:1.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/string-length:4.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/string-width:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/string-width:3.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/string-width:4.2.2.yarnlock mgmt_services/cost-mgmt:koku-ui/string-width:4.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/string.prototype.matchall:4.0.4.yarnlock +mgmt_services/cost-mgmt:koku-ui/string.prototype.matchall:4.0.5.yarnlock mgmt_services/cost-mgmt:koku-ui/string.prototype.trim:1.2.4.yarnlock mgmt_services/cost-mgmt:koku-ui/string.prototype.trimend:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/string.prototype.trimstart:1.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/string_decoder:1.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/string_decoder:1.1.1.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-ansi:3.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/strip-ansi:3.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-ansi:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-ansi:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-ansi:5.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-ansi:6.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/strip-bom:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-bom:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-bom:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/strip-eof:1.0.0.yarnlock @@ -1438,19 +1419,20 @@ mgmt_services/cost-mgmt:koku-ui/supports-color:5.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/supports-color:6.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/supports-color:7.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/supports-color:7.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/supports-hyperlinks:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/supports-color:8.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/supports-hyperlinks:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/symbol-observable:1.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/symbol-tree:3.2.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/tabbable:5.1.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/table:6.0.7.yarnlock +mgmt_services/cost-mgmt:koku-ui/tabbable:5.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/table:6.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/tapable:1.1.3.yarnlock mgmt_services/cost-mgmt:koku-ui/tapable:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tapable:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tapable:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/terminal-link:2.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/terser-webpack-plugin:5.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/terser-webpack-plugin:5.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/terser:4.8.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/terser:5.6.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/terser:5.7.1.yarnlock mgmt_services/cost-mgmt:koku-ui/test-exclude:6.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/text-table:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/throat:5.0.0.yarnlock @@ -1469,24 +1451,19 @@ mgmt_services/cost-mgmt:koku-ui/to-regex-range:5.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/to-regex:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/to-regex:3.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/toidentifier:1.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/tough-cookie:2.5.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/tough-cookie:2.5.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tough-cookie:4.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tough-cookie:2.3.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/tr46:2.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/trim-trailing-lines:1.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/trim:0.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/trough:1.0.5.yarnlock +mgmt_services/cost-mgmt:koku-ui/tr46:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/ts-jest:26.5.1.yarnlock mgmt_services/cost-mgmt:koku-ui/ts-loader:8.0.17.yarnlock -mgmt_services/cost-mgmt:koku-ui/tsconfig-paths-webpack-plugin:3.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/tsconfig-paths:3.9.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/tsconfig-paths:3.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/tsconfig-paths-webpack-plugin:3.5.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/tsconfig-paths:3.10.1.yarnlock mgmt_services/cost-mgmt:koku-ui/tslib:1.13.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tslib:1.14.1.yarnlock mgmt_services/cost-mgmt:koku-ui/tslib:1.14.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/tslib:1.14.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/tslib:2.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/tslib:2.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/tslib:2.3.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/tslib:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tslib:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tsutils:3.21.0.yarnlock mgmt_services/cost-mgmt:koku-ui/tunnel-agent:0.6.0.yarnlock @@ -1496,7 +1473,8 @@ mgmt_services/cost-mgmt:koku-ui/type-check:0.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/type-check:0.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/type-check:0.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/type-detect:4.0.8.yarnlock -mgmt_services/cost-mgmt:koku-ui/type-fest:0.11.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/type-fest:0.20.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/type-fest:0.21.3.yarnlock mgmt_services/cost-mgmt:koku-ui/type-fest:0.6.0.yarnlock mgmt_services/cost-mgmt:koku-ui/type-fest:0.8.1.yarnlock mgmt_services/cost-mgmt:koku-ui/type-is:1.6.18.yarnlock @@ -1504,20 +1482,13 @@ mgmt_services/cost-mgmt:koku-ui/type-is:1.6.18.yarnlock mgmt_services/cost-mgmt:koku-ui/typedarray-to-buffer:3.1.5.yarnlock mgmt_services/cost-mgmt:koku-ui/typesafe-actions:5.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/typescript:4.1.5.yarnlock -mgmt_services/cost-mgmt:koku-ui/unbox-primitive:1.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/unbox-primitive:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/uncontrollable:7.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/underscore:1.8.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/unherit:1.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/unified:6.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/underscore:1.12.1.yarnlock mgmt_services/cost-mgmt:koku-ui/union-value:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/uniq:1.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-is:3.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-remove-position:1.1.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-stringify-position:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-stringify-position:1.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-visit-parents:2.1.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/unist-util-visit:1.4.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/unist-util-stringify-position:2.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/universalify:0.1.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/universalify:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/unpipe:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/unpipe:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/unset-value:1.0.0.yarnlock @@ -1539,100 +1510,92 @@ mgmt_services/cost-mgmt:koku-ui/uuid:3.4.0.yarnlock mgmt_services/cost-mgmt:koku-ui/uuid:8.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/v8-compile-cache:2.3.0.yarnlock mgmt_services/cost-mgmt:koku-ui/v8-compile-cache:2.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/v8-to-istanbul:7.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/v8-to-istanbul:7.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/validate-npm-package-license:3.0.4.yarnlock mgmt_services/cost-mgmt:koku-ui/value-equal:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/vary:1.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/verror:1.10.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/vfile-location:2.0.6.yarnlock -mgmt_services/cost-mgmt:koku-ui/vfile-message:1.1.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/vfile:2.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-area:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-axis:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-axis:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-bar:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-brush-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-chart:35.4.11.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-area:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-axis:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-axis:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-bar:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-brush-container:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-chart:35.9.0.yarnlock mgmt_services/cost-mgmt:koku-ui/victory-core:35.4.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-core:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-core:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-create-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-cursor-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-group:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-legend:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-line:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-pie:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-polar-axis:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-scatter:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-selection-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-shared-events:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-stack:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-tooltip:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-tooltip:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-voronoi-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-voronoi-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-zoom-container:35.4.11.yarnlock -mgmt_services/cost-mgmt:koku-ui/victory-zoom-container:35.4.11.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-core:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-core:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-create-container:35.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-cursor-container:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-group:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-legend:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-line:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-pie:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-polar-axis:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-scatter:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-selection-container:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-shared-events:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-stack:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-tooltip:35.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-tooltip:35.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-voronoi-container:35.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-voronoi-container:35.9.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-zoom-container:35.9.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/victory-zoom-container:35.9.0.yarnlock mgmt_services/cost-mgmt:koku-ui/void-elements:3.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/void-elements:2.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/w3c-hr-time:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/w3c-xmlserializer:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/walker:1.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/walker:1.0.7.yarnlock mgmt_services/cost-mgmt:koku-ui/warning:4.0.3.yarnlock mgmt_services/cost-mgmt:koku-ui/warning:4.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/watchpack:2.1.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/watchpack:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/wbuf:1.7.3.yarnlock mgmt_services/cost-mgmt:koku-ui/wbuf:1.7.3.yarnlock mgmt_services/cost-mgmt:koku-ui/wcwidth:1.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/webidl-conversions:5.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/webidl-conversions:6.1.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/webpack-cli:4.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/webpack-cli:4.7.2.yarnlock mgmt_services/cost-mgmt:koku-ui/webpack-dev-middleware:3.7.3.yarnlock mgmt_services/cost-mgmt:koku-ui/webpack-dev-server:3.11.2.yarnlock mgmt_services/cost-mgmt:koku-ui/webpack-log:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/webpack-log:3.0.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/webpack-merge:5.7.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/webpack-log:3.0.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/webpack-merge:5.8.0.yarnlock mgmt_services/cost-mgmt:koku-ui/webpack-sources:1.4.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/webpack-sources:2.2.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/webpack:5.37.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/webpack-sources:2.3.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/webpack:5.45.1.yarnlock mgmt_services/cost-mgmt:koku-ui/websocket-driver:0.7.4.yarnlock mgmt_services/cost-mgmt:koku-ui/websocket-driver:0.7.4.yarnlock mgmt_services/cost-mgmt:koku-ui/websocket-extensions:0.1.4.yarnlock mgmt_services/cost-mgmt:koku-ui/whatwg-encoding:1.0.5.yarnlock mgmt_services/cost-mgmt:koku-ui/whatwg-mimetype:2.3.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/whatwg-url:8.4.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/whatwg-url:8.7.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/whatwg-url:8.7.0.yarnlock mgmt_services/cost-mgmt:koku-ui/which-boxed-primitive:1.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/which-module:1.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/which-module:2.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/which:1.3.1.yarnlock mgmt_services/cost-mgmt:koku-ui/which:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/which:2.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/wildcard:2.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/window-size:0.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/word-wrap:1.2.3.yarnlock mgmt_services/cost-mgmt:koku-ui/word-wrap:1.2.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/wrap-ansi:2.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/wrap-ansi:5.1.0.yarnlock mgmt_services/cost-mgmt:koku-ui/wrap-ansi:6.2.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/wrap-ansi:7.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/wrappy:1.0.2.yarnlock mgmt_services/cost-mgmt:koku-ui/write-file-atomic:3.0.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/ws:6.2.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/ws:7.4.4.yarnlock -mgmt_services/cost-mgmt:koku-ui/x-is-string:0.1.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/ws:6.2.2.yarnlock +mgmt_services/cost-mgmt:koku-ui/ws:7.5.3.yarnlock mgmt_services/cost-mgmt:koku-ui/xml-name-validator:3.0.0.yarnlock mgmt_services/cost-mgmt:koku-ui/xmlchars:2.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/xstate:4.16.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/xtend:4.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/xtend:4.0.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/y18n:3.2.2.yarnlock -mgmt_services/cost-mgmt:koku-ui/y18n:4.0.1.yarnlock +mgmt_services/cost-mgmt:koku-ui/y18n:4.0.3.yarnlock +mgmt_services/cost-mgmt:koku-ui/y18n:5.0.8.yarnlock mgmt_services/cost-mgmt:koku-ui/yallist:4.0.0.yarnlock -mgmt_services/cost-mgmt:koku-ui/yargs-parser:20.2.6.yarnlock +mgmt_services/cost-mgmt:koku-ui/yargs-parser:20.2.9.yarnlock +mgmt_services/cost-mgmt:koku-ui/yargs-parser:20.2.9.yarnlock mgmt_services/cost-mgmt:koku-ui/yargs-parser:13.1.2.yarnlock mgmt_services/cost-mgmt:koku-ui/yargs-parser:18.1.3.yarnlock -mgmt_services/cost-mgmt:koku-ui/yargs-parser:3.2.0.yarnlock mgmt_services/cost-mgmt:koku-ui/yargs:13.3.2.yarnlock mgmt_services/cost-mgmt:koku-ui/yargs:15.4.1.yarnlock -mgmt_services/cost-mgmt:koku-ui/yargs:5.0.0.yarnlock +mgmt_services/cost-mgmt:koku-ui/yargs:17.0.1.yarnlock mgmt_services/cost-mgmt:koku-ui/yocto-queue:0.1.0.yarnlock diff --git a/package.json b/package.json index 401bb609f..20f3bb1ab 100644 --- a/package.json +++ b/package.json @@ -32,17 +32,17 @@ }, "dependencies": { "@fortawesome/free-solid-svg-icons": "5.15.2", - "@patternfly/patternfly": "4.103.6", - "@patternfly/react-charts": "6.14.22", - "@patternfly/react-core": "4.121.0", - "@patternfly/react-icons": "4.10.7", - "@patternfly/react-styles": "4.10.7", - "@patternfly/react-table": "4.27.6", - "@patternfly/react-tokens": "4.11.8", - "@redhat-cloud-services/frontend-components": "^3.1.11", - "@redhat-cloud-services/frontend-components-notifications": "^3.1.0", - "@redhat-cloud-services/frontend-components-utilities": "^3.1.2", - "@redhat-cloud-services/rbac-client": "^1.0.97", + "@patternfly/patternfly": "^4.115.2", + "@patternfly/react-charts": "^6.15.3", + "@patternfly/react-core": "^4.135.0", + "@patternfly/react-icons": "^4.11.0", + "@patternfly/react-styles": "^4.11.0", + "@patternfly/react-table": "^4.29.0", + "@patternfly/react-tokens": "^4.12.0", + "@redhat-cloud-services/frontend-components": "^3.3.5", + "@redhat-cloud-services/frontend-components-notifications": "^3.2.2", + "@redhat-cloud-services/frontend-components-utilities": "^3.2.3", + "@redhat-cloud-services/rbac-client": "^1.0.100", "@types/date-fns": "2.6.0", "@types/i18next": "13.0.0", "@types/i18next-xhr-backend": "1.4.2", @@ -77,7 +77,7 @@ "xstate": "4.16.2" }, "devDependencies": { - "@redhat-cloud-services/frontend-components-config-utilities": "^1.1.1", + "@redhat-cloud-services/frontend-components-config-utilities": "^1.4.4", "@testing-library/react": "11.2.5", "@types/enzyme": "3.10.8", "@types/jest": "26.0.20", @@ -88,42 +88,43 @@ "@yarnpkg/lockfile": "1.1.0", "aphrodite": "2.4.0", "copy-webpack-plugin": "7.0.0", - "css-loader": "5.2.4", + "css-loader": "6.2.0", "enzyme": "3.11.0", "enzyme-adapter-react-16": "1.15.6", "enzyme-to-json": "3.6.1", - "eslint": "^7.20.0", - "eslint-plugin-jsdoc": "^32.0.1", - "eslint-plugin-markdown": "^2.1.0", + "eslint": "^7.28.0", + "eslint-plugin-jsdoc": "^35.1.3", + "eslint-plugin-markdown": "^2.2.0", "eslint-plugin-patternfly-react": "^4.1.5", - "eslint-plugin-prettier": "^3.3.1", - "eslint-plugin-react": "^7.22.0", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-react": "^7.24.0", "eslint-plugin-simple-import-sort": "^5.0.3", "git-revision-webpack-plugin": "3.0.6", "glob": "^7.1.7", "html-loader": "2.0.0", "html-replace-webpack-plugin": "2.6.0", - "html-webpack-plugin": "^5.1.0", - "i18next-json-sync": "^2.3.1", + "html-webpack-plugin": "^5.3.1", + "https-proxy-agent": "^5.0.0", + "i18next-locales-sync": "^1.1.0", "inquirer": "^8.1.0", "jest": "26.6.3", "jws": "^4.0.0", "mini-css-extract-plugin": "^1.3.7", - "nodesi": "^1.15.0", + "nodesi": "^1.16.0", "null-loader": "4.0.1", - "prettier": "^2.2.1", + "prettier": "2.3.2", "rimraf": "^3.0.2", "sass": "^1.32.7", "sass-loader": "^11.0.1", "ts-jest": "26.5.1", "ts-loader": "8.0.17", "tsconfig-paths-webpack-plugin": "^3.3.0", - "webpack": "^5.37.1", - "webpack-cli": "^4.7.0", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.2", "webpack-dev-server": "^3.11.2", - "webpack-log": "^3.0.1" + "webpack-log": "^3.0.2" }, "insights": { "appname": "cost-management" } -} \ No newline at end of file +} diff --git a/scripts/rebase-branch.sh b/scripts/rebase-branch.sh new file mode 100755 index 000000000..531d87d17 --- /dev/null +++ b/scripts/rebase-branch.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +default() +{ + PATH=/usr/bin:/usr/sbin:${PATH} + export PATH + + SCRIPT=`basename $0` + SCRIPT_DIR=`dirname $0` + SCRIPT_DIR=`cd $SCRIPT_DIR; pwd` + + MAIN_BRANCH="master" + CI_STABLE_BRANCH="ci-stable" + STAGE_STABLE_BRANCH="stage-stable" + REACT_INTL_BRANCH="react-intl_changeover" + + KOKU_UI_REPO="git@github.com:project-koku/koku-ui.git" + + TMP_DIR="/tmp/$SCRIPT.$$" + KOKU_UI_DIR="$TMP_DIR/koku-ui" +} + +usage() +{ +cat <<- EEOOFF + + This script will rebase the selected branch with $MAIN_BRANCH, then push changes to origin. + + FYI, there are no ci-beta and stage-beta branches -- we push to https://github.com/RedHatInsights/cost-management-build via Travis builds + + Note: The QA environment is no longer supported. + + sh [-x] $SCRIPT [-h] - + + OPTIONS: + h Display this message + c CI stable + s Stage stable + r React Intl + +EEOOFF +} + +# main() +{ + default + + while getopts hcqsr c; do + case $c in + c) BRANCH=$CI_STABLE_BRANCH;; + s) BRANCH=$STAGE_STABLE_BRANCH;; + r) BRANCH=$REACT_INTL_BRANCH;; + h) usage; exit 0;; + \?) usage; exit 1;; + esac + done + + if [ -z "$BRANCH" ]; then + usage + exit 1 + fi + + mkdir $TMP_DIR + cd $TMP_DIR + + git clone $KOKU_UI_REPO + cd $KOKU_UI_DIR + + git checkout $BRANCH + git rebase $MAIN_BRANCH + + if [ "$?" -eq 0 ]; then + git push -u origin $BRANCH + else + echo "Did not push to origin. No changes or check for conflicts" + fi + + rm -rf $TMP_DIR +} diff --git a/scripts/start-dev-server.js b/scripts/start-dev-server.js index f0b39ddc0..93b74fcc9 100644 --- a/scripts/start-dev-server.js +++ b/scripts/start-dev-server.js @@ -6,13 +6,13 @@ const { spawn } = require('child_process'); async function setEnv() { return inquirer .prompt([ - { type: 'list', name: 'uiEnv', message: 'Which UI environment you want to use?', choices: ['beta', 'stable'] }, { type: 'list', name: 'clouddotEnv', message: 'Which platform environment you want to use', - choices: ['ci', 'qa', 'prod'], + choices: ['stage', 'prod', 'ci'], }, + { type: 'list', name: 'uiEnv', message: 'Which UI environment you want to use?', choices: ['beta', 'stable'] }, { name: 'insightsProxy', message: 'Do you want to use the Insights proxy?', diff --git a/scripts/syncLocales.js b/scripts/syncLocales.js index 254c9ec09..2a1b28dd1 100644 --- a/scripts/syncLocales.js +++ b/scripts/syncLocales.js @@ -1,15 +1,10 @@ -const sync = require('i18next-json-sync').default; +const { syncLocales } = require('i18next-locales-sync'); const path = require('path'); +const srcDir = path.resolve(__dirname, '../src/locales'); -const check = process.argv.includes('--check'); -const srcDir = path.resolve(__dirname, '../src'); - -sync({ - check, - files: path.join(srcDir, '**/locales/*.json'), - primary: 'en', - createResources: [], - space: 2, - lineEndings: 'LF', - finalNewline: true +syncLocales({ + primaryLanguage: 'en', + secondaryLanguages: ['de', 'ja'], + localesFolder: srcDir, + // overridePluralRules: pluralResolver => pluralResolver.addRule('he', pluralResolver.getRule('en')), }); diff --git a/src/api/api.ts b/src/api/api.ts index db7045c57..16d46acdd 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -12,8 +12,8 @@ export interface PagedLinks { last: string; } -export interface PagedResponse { - meta: PagedMetaData; +export interface PagedResponse { + meta: M; links: PagedLinks; data: D[]; } diff --git a/src/api/costModels.data.ts b/src/api/costModels.data.ts index a83096d1d..b4ecce286 100644 --- a/src/api/costModels.data.ts +++ b/src/api/costModels.data.ts @@ -407,8 +407,7 @@ export const filterByAll = { '/api/cost-management/v1/cost-models/?limit=10&offset=0&name=randomName&description=randomDesc&source_type=OCP', next: null, previous: null, - last: - '/api/cost-management/v1/cost-models/?limit=10&offset=0&name=randomName&description=randomDesc&source_type=OCP', + last: '/api/cost-management/v1/cost-models/?limit=10&offset=0&name=randomName&description=randomDesc&source_type=OCP', }, data: [], }; diff --git a/src/api/costModels.ts b/src/api/costModels.ts index ffc8c5f21..33aa9ff7a 100644 --- a/src/api/costModels.ts +++ b/src/api/costModels.ts @@ -12,6 +12,7 @@ export interface CostModel { uuid: string; name: string; description: string; + distribution: string; sources: CostModelProvider[]; source_type: string; markup: { value: string; unit: string }; diff --git a/src/api/forecasts/awsCloudForecast.ts b/src/api/forecasts/awsOcpForecast.ts similarity index 100% rename from src/api/forecasts/awsCloudForecast.ts rename to src/api/forecasts/awsOcpForecast.ts diff --git a/src/api/forecasts/azureCloudForecast.ts b/src/api/forecasts/azureOcpForecast.ts similarity index 100% rename from src/api/forecasts/azureCloudForecast.ts rename to src/api/forecasts/azureOcpForecast.ts diff --git a/src/api/forecasts/forecast.ts b/src/api/forecasts/forecast.ts index 67518655e..d7cecf01f 100644 --- a/src/api/forecasts/forecast.ts +++ b/src/api/forecasts/forecast.ts @@ -1,3 +1,5 @@ +import { PagedMetaData, PagedResponse } from 'api/api'; + export interface ForecastValue { units?: string; value?: number | string; @@ -23,22 +25,7 @@ export interface ForecastData { values?: ForecastItem[]; } -export interface ForecastMeta { - count: number; -} - -export interface ForecastLinks { - first: string; - previous?: string; - next?: string; - last: string; -} - -export interface Forecast { - meta: ForecastMeta; - links: ForecastLinks; - data: ForecastData[]; -} +export interface Forecast extends PagedResponse {} // eslint-disable-next-line no-shadow export const enum ForecastType { @@ -50,10 +37,11 @@ export const enum ForecastType { // eslint-disable-next-line no-shadow export const enum ForecastPathsType { aws = 'aws', - awsCloud = 'aws_cloud', + awsOcp = 'aws_ocp', azure = 'azure', - azureCloud = 'azure_cloud', + azureOcp = 'azure_ocp', gcp = 'gcp', + gcpOcp = 'gcp_ocp', ibm = 'gcp', // Todo: update to use ibm backend apis when they become available ocp = 'ocp', ocpCloud = 'ocp_cloud', diff --git a/src/api/forecasts/forecastUtils.ts b/src/api/forecasts/forecastUtils.ts index 725850136..e1124f549 100644 --- a/src/api/forecasts/forecastUtils.ts +++ b/src/api/forecasts/forecastUtils.ts @@ -1,9 +1,10 @@ -import { runForecast as runAwsCloudForecast } from './awsCloudForecast'; import { runForecast as runAwsForecast } from './awsForecast'; -import { runForecast as runAzureCloudForecast } from './azureCloudForecast'; +import { runForecast as runAwsOcpForecast } from './awsOcpForecast'; import { runForecast as runAzureForecast } from './azureForecast'; +import { runForecast as runAzureOcpForecast } from './azureOcpForecast'; import { ForecastPathsType, ForecastType } from './forecast'; import { runForecast as runGcpForecast } from './gcpForecast'; +import { runForecast as runGcpOcpForecast } from './gcpOcpForecast'; import { runForecast as runIbmForecast } from './ibmForecast'; import { runForecast as runOcpCloudForecast } from './ocpCloudForecast'; import { runForecast as runOcpForecast } from './ocpForecast'; @@ -14,18 +15,21 @@ export function runForecast(forecastPathsType: ForecastPathsType, forecastType: case ForecastPathsType.aws: forecast = runAwsForecast(forecastType, query); break; - case ForecastPathsType.awsCloud: - forecast = runAwsCloudForecast(forecastType, query); + case ForecastPathsType.awsOcp: + forecast = runAwsOcpForecast(forecastType, query); break; case ForecastPathsType.azure: forecast = runAzureForecast(forecastType, query); break; - case ForecastPathsType.azureCloud: - forecast = runAzureCloudForecast(forecastType, query); + case ForecastPathsType.azureOcp: + forecast = runAzureOcpForecast(forecastType, query); break; case ForecastPathsType.gcp: forecast = runGcpForecast(forecastType, query); break; + case ForecastPathsType.gcpOcp: + forecast = runGcpOcpForecast(forecastType, query); + break; case ForecastPathsType.ibm: forecast = runIbmForecast(forecastType, query); break; diff --git a/src/api/forecasts/gcpOcpForecast.ts b/src/api/forecasts/gcpOcpForecast.ts new file mode 100644 index 000000000..127793b93 --- /dev/null +++ b/src/api/forecasts/gcpOcpForecast.ts @@ -0,0 +1,19 @@ +import axios from 'axios'; + +import { Forecast, ForecastType } from './forecast'; + +export const ForecastTypePaths: Partial> = { + [ForecastType.cost]: 'forecasts/gcp/costs/', +}; + +export function runForecast(forecastType: ForecastType, query: string) { + const insights = (window as any).insights; + const path = ForecastTypePaths[forecastType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/orgs/org.ts b/src/api/orgs/org.ts index 6d8b58410..a54f31425 100644 --- a/src/api/orgs/org.ts +++ b/src/api/orgs/org.ts @@ -1,3 +1,5 @@ +import { PagedMetaData, PagedResponse } from 'api/api'; + export interface OrgData { accounts: string[]; level?: number; @@ -7,8 +9,7 @@ export interface OrgData { sub_orgs: string[]; } -export interface OrgMeta { - count: number; +export interface OrgMeta extends PagedMetaData { key_only: boolean; group_by?: { [group: string]: string[]; @@ -21,18 +22,7 @@ export interface OrgMeta { }; } -export interface OrgLinks { - first: string; - previous?: string; - next?: string; - last: string; -} - -export interface Org { - data: OrgData[]; - links?: OrgLinks; - meta: OrgMeta; -} +export interface Org extends PagedResponse {} // eslint-disable-next-line no-shadow export const enum OrgType { diff --git a/src/api/providers.ts b/src/api/providers.ts index 264a34efb..c62b69ab7 100644 --- a/src/api/providers.ts +++ b/src/api/providers.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -import { PagedLinks, PagedMetaData } from './api'; +import { PagedMetaData, PagedResponse } from './api'; export interface ProviderAuthentication { uuid?: string; @@ -46,11 +46,7 @@ export interface Provider { uuid?: string; } -export interface Providers { - meta: PagedMetaData; - links?: PagedLinks; - data: Provider[]; -} +export interface Providers extends PagedResponse {} // eslint-disable-next-line no-shadow export const enum ProviderType { diff --git a/src/api/queries/query.ts b/src/api/queries/query.ts index 7d73d49b6..c40cba7ed 100644 --- a/src/api/queries/query.ts +++ b/src/api/queries/query.ts @@ -30,6 +30,7 @@ export interface Query { key_only?: boolean; order_by?: any; perspective?: any; + search?: any; start_date?: any; } diff --git a/src/api/reports/awsCloudReports.test.ts b/src/api/reports/awsOcpReports.test.ts similarity index 87% rename from src/api/reports/awsCloudReports.test.ts rename to src/api/reports/awsOcpReports.test.ts index b2c9ae997..f19324bc9 100644 --- a/src/api/reports/awsCloudReports.test.ts +++ b/src/api/reports/awsOcpReports.test.ts @@ -2,7 +2,7 @@ jest.mock('axios'); import axios from 'axios'; -import { runReport } from './awsCloudReports'; +import { runReport } from './awsOcpReports'; import { ReportType } from './report'; test('api run reports calls axios get', () => { diff --git a/src/api/reports/awsCloudReports.ts b/src/api/reports/awsOcpReports.ts similarity index 64% rename from src/api/reports/awsCloudReports.ts rename to src/api/reports/awsOcpReports.ts index eb9bd8ce8..74edb4725 100644 --- a/src/api/reports/awsCloudReports.ts +++ b/src/api/reports/awsOcpReports.ts @@ -3,7 +3,7 @@ import { Omit } from 'react-redux'; import { Report, ReportData, ReportItem, ReportItemValue, ReportMeta, ReportType, ReportValue } from './report'; -export interface AwsCloudReportItem extends ReportItem { +export interface AwsOcpReportItem extends ReportItem { account?: string; account_alias?: string; instance_type?: string; @@ -11,30 +11,30 @@ export interface AwsCloudReportItem extends ReportItem { service?: string; } -export interface GroupByAccountData extends Omit { +export interface GroupByAccountData extends Omit { account: string; } -export interface GroupByServiceData extends Omit { +export interface GroupByServiceData extends Omit { service: string; } -export interface GroupByRegionData extends Omit { +export interface GroupByRegionData extends Omit { region: string; } -export interface GroupByInstanceTypeData extends Omit { +export interface GroupByInstanceTypeData extends Omit { instance_type: string; } -export interface AwsCloudReportData extends ReportData { +export interface AwsOcpReportData extends ReportData { accounts?: GroupByAccountData[]; services?: GroupByServiceData[]; instance_types?: GroupByInstanceTypeData[]; regions?: GroupByRegionData[]; } -export interface AwsCloudReportMeta extends ReportMeta { +export interface AwsOcpReportMeta extends ReportMeta { total?: { cost?: ReportItemValue; infrastructure?: ReportItemValue; @@ -43,9 +43,9 @@ export interface AwsCloudReportMeta extends ReportMeta { }; } -export interface AwsCloudReport extends Report { - meta: AwsCloudReportMeta; - data: AwsCloudReportData[]; +export interface AwsOcpReport extends Report { + meta: AwsOcpReportMeta; + data: AwsOcpReportData[]; } export const ReportTypePaths: Partial> = { @@ -58,5 +58,5 @@ export const ReportTypePaths: Partial> = { export function runReport(reportType: ReportType, query: string) { const path = ReportTypePaths[reportType]; - return axios.get(`${path}?${query}`); + return axios.get(`${path}?${query}`); } diff --git a/src/api/reports/azureCloudReports.test.ts b/src/api/reports/azureOcpReports.test.ts similarity index 86% rename from src/api/reports/azureCloudReports.test.ts rename to src/api/reports/azureOcpReports.test.ts index f950ee57a..bb5d93f13 100644 --- a/src/api/reports/azureCloudReports.test.ts +++ b/src/api/reports/azureOcpReports.test.ts @@ -2,7 +2,7 @@ jest.mock('axios'); import axios from 'axios'; -import { runReport } from './azureCloudReports'; +import { runReport } from './azureOcpReports'; import { ReportType } from './report'; test('api run reports calls axios get', () => { diff --git a/src/api/reports/azureCloudReports.ts b/src/api/reports/azureOcpReports.ts similarity index 63% rename from src/api/reports/azureCloudReports.ts rename to src/api/reports/azureOcpReports.ts index 32c6f47e9..c82a5b449 100644 --- a/src/api/reports/azureCloudReports.ts +++ b/src/api/reports/azureOcpReports.ts @@ -3,37 +3,37 @@ import { Omit } from 'react-redux'; import { Report, ReportData, ReportItem, ReportItemValue, ReportMeta, ReportType, ReportValue } from './report'; -export interface AzureCloudReportItem extends ReportItem { +export interface AzureOcpReportItem extends ReportItem { instance_type?: string; resource_location?: string; service_name?: string; subscription_guid?: string; } -export interface GroupByAccountData extends Omit { +export interface GroupByAccountData extends Omit { account: string; } -export interface GroupByServiceData extends Omit { +export interface GroupByServiceData extends Omit { service: string; } -export interface GroupByRegionData extends Omit { +export interface GroupByRegionData extends Omit { region: string; } -export interface GroupByInstanceTypeData extends Omit { +export interface GroupByInstanceTypeData extends Omit { instance_type: string; } -export interface AzureCloudReportData extends ReportData { +export interface AzureOcpReportData extends ReportData { instance_types?: GroupByInstanceTypeData[]; resource_locations?: GroupByRegionData[]; service_names?: GroupByServiceData[]; subscription_guids?: GroupByAccountData[]; } -export interface AzureCloudReportMeta extends ReportMeta { +export interface AzureOcpReportMeta extends ReportMeta { total?: { cost?: ReportItemValue; infrastructure?: ReportItemValue; @@ -42,9 +42,9 @@ export interface AzureCloudReportMeta extends ReportMeta { }; } -export interface AzureCloudReport extends Report { - meta: AzureCloudReportMeta; - data: AzureCloudReportData[]; +export interface AzureOcpReport extends Report { + meta: AzureOcpReportMeta; + data: AzureOcpReportData[]; } export const ReportTypePaths: Partial> = { @@ -57,5 +57,5 @@ export const ReportTypePaths: Partial> = { export function runReport(reportType: ReportType, query: string) { const path = ReportTypePaths[reportType]; - return axios.get(`${path}?${query}`); + return axios.get(`${path}?${query}`); } diff --git a/src/api/reports/gcpOcpReports.test.ts b/src/api/reports/gcpOcpReports.test.ts new file mode 100644 index 000000000..7f3d9b690 --- /dev/null +++ b/src/api/reports/gcpOcpReports.test.ts @@ -0,0 +1,12 @@ +jest.mock('axios'); + +import axios from 'axios'; + +import { runReport } from './gcpOcpReports'; +import { ReportType } from './report'; + +test('api run reports calls axios get', () => { + const query = 'filter[resolution]=daily'; + runReport(ReportType.cost, query); + expect(axios.get).toBeCalledWith(`reports/gcp/costs/?${query}`); +}); diff --git a/src/api/reports/gcpOcpReports.ts b/src/api/reports/gcpOcpReports.ts new file mode 100644 index 000000000..0c1184c85 --- /dev/null +++ b/src/api/reports/gcpOcpReports.ts @@ -0,0 +1,67 @@ +import axios from 'axios'; +import { Omit } from 'react-redux'; + +import { Report, ReportData, ReportItem, ReportItemValue, ReportMeta, ReportType, ReportValue } from './report'; + +export interface GcpOcpReportItem extends ReportItem { + account?: string; + project?: string; + instance_type?: string; + region?: string; + service?: string; +} + +export interface GroupByAccountData extends Omit { + account: string; +} + +export interface GroupByRegionData extends Omit { + region: string; +} + +export interface GroupByServiceData extends Omit { + service: string; +} + +export interface GroupByInstanceTypeData extends Omit { + instance_type: string; +} + +export interface GroupByProjectData extends Omit { + project: string; +} + +export interface GcpOcpReportData extends ReportData { + accounts?: GroupByAccountData[]; + instance_types?: GroupByInstanceTypeData[]; + projects?: GroupByProjectData[]; + regions?: GroupByRegionData[]; + services?: GroupByServiceData[]; +} + +export interface GcpOcpReportMeta extends ReportMeta { + total?: { + cost?: ReportItemValue; + infrastructure?: ReportItemValue; + supplementary?: ReportItemValue; + usage?: ReportValue; + }; +} + +export interface GcpOcpReport extends Report { + meta: GcpOcpReportMeta; + data: GcpOcpReportData[]; +} + +export const ReportTypePaths: Partial> = { + [ReportType.cost]: 'reports/gcp/costs/', + [ReportType.database]: 'reports/gcp/costs/', + [ReportType.network]: 'reports/gcp/costs/', + [ReportType.storage]: 'reports/gcp/storage/', + [ReportType.instanceType]: 'reports/gcp/instance-types/', +}; + +export function runReport(reportType: ReportType, query: string) { + const path = ReportTypePaths[reportType]; + return axios.get(`${path}?${query}`); +} diff --git a/src/api/reports/report.ts b/src/api/reports/report.ts index ca980ca67..1080ce228 100644 --- a/src/api/reports/report.ts +++ b/src/api/reports/report.ts @@ -1,3 +1,5 @@ +import { PagedMetaData, PagedResponse } from 'api/api'; + export interface ReportValue { units?: string; value?: number; @@ -68,7 +70,7 @@ export interface ReportData extends ReportOrgData { values?: ReportAwsItem[] | ReportAzureItem[] | ReportGcpItem[] | ReportOcpItem[] | ReportOrgItem[]; } -export interface ReportMeta { +export interface ReportMeta extends PagedMetaData { count: number; delta?: { percent: number; @@ -96,18 +98,7 @@ export interface ReportMeta { }; } -export interface ReportLinks { - first: string; - previous?: string; - next?: string; - last: string; -} - -export interface Report { - data: ReportData[]; - links?: ReportLinks; - meta: ReportMeta; -} +export interface Report extends PagedResponse {} // eslint-disable-next-line no-shadow export const enum ReportType { @@ -125,10 +116,11 @@ export const enum ReportType { // eslint-disable-next-line no-shadow export const enum ReportPathsType { aws = 'aws', - awsCloud = 'aws_cloud', + awsOcp = 'aws_ocp', azure = 'azure', - azureCloud = 'azure_cloud', + azureOcp = 'azure_ocp', gcp = 'gcp', + gcpOcp = 'gcp_ocp', ibm = 'gcp', ocp = 'ocp', ocpCloud = 'ocp_cloud', diff --git a/src/api/reports/reportUtils.ts b/src/api/reports/reportUtils.ts index 8bdc63ca4..b948d35ad 100644 --- a/src/api/reports/reportUtils.ts +++ b/src/api/reports/reportUtils.ts @@ -1,7 +1,8 @@ -import { runReport as runAwsCloudReport } from './awsCloudReports'; +import { runReport as runAwsOcpReport } from './awsOcpReports'; import { runReport as runAwsReport } from './awsReports'; -import { runReport as runAzureCloudReport } from './azureCloudReports'; +import { runReport as runAzureOcpReport } from './azureOcpReports'; import { runReport as runAzureReport } from './azureReports'; +import { runReport as runGcpOcpReport } from './gcpOcpReports'; import { runReport as runGcpReport } from './gcpReports'; import { runReport as runIbmReport } from './ibmReports'; import { runReport as runOcpCloudReport } from './ocpCloudReports'; @@ -15,18 +16,21 @@ export function runReport(reportPathsType: ReportPathsType, reportType: ReportTy case ReportPathsType.aws: report = runAwsReport(reportType, query); break; - case ReportPathsType.awsCloud: - report = runAwsCloudReport(reportType, query); + case ReportPathsType.awsOcp: + report = runAwsOcpReport(reportType, query); break; case ReportPathsType.azure: report = runAzureReport(reportType, query); break; - case ReportPathsType.azureCloud: - report = runAzureCloudReport(reportType, query); + case ReportPathsType.azureOcp: + report = runAzureOcpReport(reportType, query); break; case ReportPathsType.gcp: report = runGcpReport(reportType, query); break; + case ReportPathsType.gcpOcp: + report = runGcpOcpReport(reportType, query); + break; case ReportPathsType.ibm: report = runIbmReport(reportType, query); break; diff --git a/src/api/resources/awsOcpResource.ts b/src/api/resources/awsOcpResource.ts new file mode 100644 index 000000000..990b6e8d1 --- /dev/null +++ b/src/api/resources/awsOcpResource.ts @@ -0,0 +1,21 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.account]: 'resource-types/aws-accounts/', + [ResourceType.region]: 'resource-types/aws-regions/', + [ResourceType.service]: 'resource-types/aws-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?openshift=true&${query}`); + }); + } else { + return axios.get(`${path}?openshift=true&${query}`); + } +} diff --git a/src/api/resources/awsResource.ts b/src/api/resources/awsResource.ts new file mode 100644 index 000000000..9240b1690 --- /dev/null +++ b/src/api/resources/awsResource.ts @@ -0,0 +1,21 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.account]: 'resource-types/aws-accounts/', + [ResourceType.region]: 'resource-types/aws-regions/', + [ResourceType.service]: 'resource-types/aws-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/azureOcpResource.ts b/src/api/resources/azureOcpResource.ts new file mode 100644 index 000000000..3458f53bf --- /dev/null +++ b/src/api/resources/azureOcpResource.ts @@ -0,0 +1,21 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.resourceLocation]: 'resource-types/azure-regions/', + [ResourceType.subscriptionGuid]: 'resource-types/azure-subscription-guids/', + [ResourceType.serviceName]: 'resource-types/azure-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?openshift=true&${query}`); + }); + } else { + return axios.get(`${path}?openshift=true&${query}`); + } +} diff --git a/src/api/resources/azureResource.ts b/src/api/resources/azureResource.ts new file mode 100644 index 000000000..3608aab8a --- /dev/null +++ b/src/api/resources/azureResource.ts @@ -0,0 +1,21 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.resourceLocation]: 'resource-types/azure-regions/', + [ResourceType.subscriptionGuid]: 'resource-types/azure-subscription-guids/', + [ResourceType.serviceName]: 'resource-types/azure-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/gcpOcpResource.ts b/src/api/resources/gcpOcpResource.ts new file mode 100644 index 000000000..350196ea3 --- /dev/null +++ b/src/api/resources/gcpOcpResource.ts @@ -0,0 +1,22 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.account]: 'resource-types/gcp-accounts/', + [ResourceType.project]: 'resource-types/gcp-projects/', + [ResourceType.region]: 'resource-types/gcp-regions/', + [ResourceType.service]: 'resource-types/gcp-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/gcpResource.ts b/src/api/resources/gcpResource.ts new file mode 100644 index 000000000..350196ea3 --- /dev/null +++ b/src/api/resources/gcpResource.ts @@ -0,0 +1,22 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.account]: 'resource-types/gcp-accounts/', + [ResourceType.project]: 'resource-types/gcp-projects/', + [ResourceType.region]: 'resource-types/gcp-regions/', + [ResourceType.service]: 'resource-types/gcp-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/ibmResource.ts b/src/api/resources/ibmResource.ts new file mode 100644 index 000000000..350196ea3 --- /dev/null +++ b/src/api/resources/ibmResource.ts @@ -0,0 +1,22 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.account]: 'resource-types/gcp-accounts/', + [ResourceType.project]: 'resource-types/gcp-projects/', + [ResourceType.region]: 'resource-types/gcp-regions/', + [ResourceType.service]: 'resource-types/gcp-services/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/ocpResource.ts b/src/api/resources/ocpResource.ts new file mode 100644 index 000000000..56a8394f2 --- /dev/null +++ b/src/api/resources/ocpResource.ts @@ -0,0 +1,21 @@ +import axios from 'axios'; + +import { Resource, ResourceType } from './resource'; + +export const ResourceTypePaths: Partial> = { + [ResourceType.cluster]: 'resource-types/openshift-clusters/', + [ResourceType.node]: 'resource-types/openshift-nodes/', + [ResourceType.project]: 'resource-types/openshift-projects/', +}; + +export function runResource(resourceType: ResourceType, query: string) { + const insights = (window as any).insights; + const path = ResourceTypePaths[resourceType]; + if (insights && insights.chrome && insights.chrome.auth && insights.chrome.auth.getUser) { + return insights.chrome.auth.getUser().then(() => { + return axios.get(`${path}?${query}`); + }); + } else { + return axios.get(`${path}?${query}`); + } +} diff --git a/src/api/resources/resource.ts b/src/api/resources/resource.ts new file mode 100644 index 000000000..be7d3c218 --- /dev/null +++ b/src/api/resources/resource.ts @@ -0,0 +1,34 @@ +import { PagedMetaData, PagedResponse } from 'api/api'; + +export interface ResourceData { + account_alias: string; + cluster_alias: string; + value?: string; +} + +export interface Resource extends PagedResponse {} + +// eslint-disable-next-line no-shadow +export const enum ResourceType { + account = 'account', + cluster = 'cluster', + node = 'node', + project = 'project', + region = 'region', + resourceLocation = 'resource_location', + service = 'service', + serviceName = 'service_name', + subscriptionGuid = 'subscription_guid', +} + +// eslint-disable-next-line no-shadow +export const enum ResourcePathsType { + aws = 'aws', + awsOcp = 'aws_ocp', + azure = 'azure', + azureOcp = 'azure_ocp', + gcp = 'gcp', + gcpOcp = 'gcp_ocp', + ibm = 'ibm', + ocp = 'ocp', +} diff --git a/src/api/resources/resourceUtils.ts b/src/api/resources/resourceUtils.ts new file mode 100644 index 000000000..46c371e98 --- /dev/null +++ b/src/api/resources/resourceUtils.ts @@ -0,0 +1,70 @@ +import { runResource as runAwsOcpResource } from './awsOcpResource'; +import { runResource as runAwsResource } from './awsResource'; +import { runResource as runAzureOcpResource } from './azureOcpResource'; +import { runResource as runAzureResource } from './azureResource'; +import { runResource as runGcpOcpResource } from './gcpOcpResource'; +import { runResource as runGcpResource } from './gcpResource'; +import { runResource as runIbmResource } from './ibmResource'; +import { runResource as runOcpResource } from './ocpResource'; +import { ResourcePathsType, ResourceType } from './resource'; + +// Temporary check until typeahead is implemented for all filters +export function isResourceTypeValid(resourcePathsType: ResourcePathsType, resourceType: ResourceType) { + let result = false; + + if ( + resourcePathsType === ResourcePathsType.aws || + resourcePathsType === ResourcePathsType.awsOcp || + resourcePathsType === ResourcePathsType.azure || + resourcePathsType === ResourcePathsType.azureOcp || + resourcePathsType === ResourcePathsType.gcp || + resourcePathsType === ResourcePathsType.ibm || + resourcePathsType === ResourcePathsType.ocp + ) { + switch (resourceType) { + case ResourceType.account: + case ResourceType.cluster: + case ResourceType.node: + case ResourceType.project: + case ResourceType.region: + case ResourceType.resourceLocation: + case ResourceType.service: + case ResourceType.serviceName: + case ResourceType.subscriptionGuid: + result = true; + break; + } + } + return result; +} + +export function runResource(resourcePathsType: ResourcePathsType, resourceType: ResourceType, query: string) { + let forecast; + switch (resourcePathsType) { + case ResourcePathsType.aws: + forecast = runAwsResource(resourceType, query); + break; + case ResourcePathsType.awsOcp: + forecast = runAwsOcpResource(resourceType, query); + break; + case ResourcePathsType.azure: + forecast = runAzureResource(resourceType, query); + break; + case ResourcePathsType.azureOcp: + forecast = runAzureOcpResource(resourceType, query); + break; + case ResourcePathsType.gcp: + forecast = runGcpResource(resourceType, query); + break; + case ResourcePathsType.gcpOcp: + forecast = runGcpOcpResource(resourceType, query); + break; + case ResourcePathsType.ibm: + forecast = runIbmResource(resourceType, query); + break; + case ResourcePathsType.ocp: + forecast = runOcpResource(resourceType, query); + break; + } + return forecast; +} diff --git a/src/api/tags/awsOcpTags.ts b/src/api/tags/awsOcpTags.ts new file mode 100644 index 000000000..f068f250d --- /dev/null +++ b/src/api/tags/awsOcpTags.ts @@ -0,0 +1,14 @@ +import axios from 'axios'; + +import { Tag, TagType } from './tag'; + +export interface AwsOcpTag extends Tag {} + +export const TagTypePaths: Partial> = { + [TagType.tag]: 'tags/openshift/infrastructures/aws/', +}; + +export function runTag(tagType: TagType, query: string) { + const path = TagTypePaths[tagType]; + return axios.get(`${path}?${query}`); +} diff --git a/src/api/tags/azureOcpTags.ts b/src/api/tags/azureOcpTags.ts new file mode 100644 index 000000000..b39c0ed0c --- /dev/null +++ b/src/api/tags/azureOcpTags.ts @@ -0,0 +1,14 @@ +import axios from 'axios'; + +import { Tag, TagType } from './tag'; + +export interface AzureOcpTag extends Tag {} + +export const TagTypePaths: Partial> = { + [TagType.tag]: 'tags/openshift/infrastructures/azure/', +}; + +export function runTag(tagType: TagType, query: string) { + const path = TagTypePaths[tagType]; + return axios.get(`${path}?${query}`); +} diff --git a/src/api/tags/gcpOcpTags.test.ts b/src/api/tags/gcpOcpTags.test.ts new file mode 100644 index 000000000..f55c7d4fc --- /dev/null +++ b/src/api/tags/gcpOcpTags.test.ts @@ -0,0 +1,12 @@ +jest.mock('axios'); + +import axios from 'axios'; + +import { runTag } from './gcpOcpTags'; +import { TagType } from './tag'; + +test('api run reports calls axios get', () => { + const query = 'filter[resolution]=daily'; + runTag(TagType.tag, query); + expect(axios.get).toBeCalledWith(`tags/gcp/?${query}`); +}); diff --git a/src/api/tags/gcpOcpTags.ts b/src/api/tags/gcpOcpTags.ts new file mode 100644 index 000000000..a152f5f72 --- /dev/null +++ b/src/api/tags/gcpOcpTags.ts @@ -0,0 +1,14 @@ +import axios from 'axios'; + +import { Tag, TagType } from './tag'; + +export interface GcpOcpTag extends Tag {} + +export const TagTypePaths: Partial> = { + [TagType.tag]: 'tags/gcp/', +}; + +export function runTag(tagType: TagType, query: string) { + const path = TagTypePaths[tagType]; + return axios.get(`${path}?${query}`); +} diff --git a/src/api/tags/tag.ts b/src/api/tags/tag.ts index 3e0a3f173..89703c23f 100644 --- a/src/api/tags/tag.ts +++ b/src/api/tags/tag.ts @@ -1,11 +1,12 @@ +import { PagedMetaData, PagedResponse } from 'api/api'; + export interface TagData { enabled?: boolean; key?: string; values?: string[]; } -export interface TagMeta { - count: number; +export interface TagMeta extends PagedMetaData { group_by?: { [group: string]: string[]; }; @@ -17,18 +18,7 @@ export interface TagMeta { }; } -export interface TagLinks { - first: string; - previous?: string; - next?: string; - last: string; -} - -export interface Tag { - data: TagData[]; - links?: TagLinks; - meta: TagMeta; -} +export interface Tag extends PagedResponse {} // eslint-disable-next-line no-shadow export const enum TagType { @@ -38,10 +28,11 @@ export const enum TagType { // eslint-disable-next-line no-shadow export const enum TagPathsType { aws = 'aws', - awsCloud = 'aws_cloud', + awsOcp = 'aws_ocp', azure = 'azure', - azureCloud = 'azure_cloud', + azureOcp = 'azure_ocp', gcp = 'gcp', + gcpOcp = 'gcp_ocp', ibm = 'gcp', // Todo: update to use ibm backend apis when they become available ocp = 'ocp', ocpCloud = 'ocp_cloud', diff --git a/src/api/tags/tagUtils.ts b/src/api/tags/tagUtils.ts index c55043e54..8de237132 100644 --- a/src/api/tags/tagUtils.ts +++ b/src/api/tags/tagUtils.ts @@ -1,7 +1,8 @@ -import { runTag as runAwsCloudTag } from './awsCloudTags'; +import { runTag as runAwsOcpTag } from './awsOcpTags'; import { runTag as runAwsTag } from './awsTags'; -import { runTag as runAzureCloudTag } from './azureCloudTags'; +import { runTag as runAzureOcpTag } from './azureOcpTags'; import { runTag as runAzureTag } from './azureTags'; +import { runTag as runGcpOcpTag } from './gcpOcpTags'; import { runTag as runGcpTag } from './gcpTags'; import { runTag as runIbmTag } from './ibmTags'; import { runTag as runOcpCloudTag } from './ocpCloudTags'; @@ -14,18 +15,21 @@ export function runTag(tagPathsType: TagPathsType, tagType: TagType, query: stri case TagPathsType.aws: tagReport = runAwsTag(tagType, query); break; - case TagPathsType.awsCloud: - tagReport = runAwsCloudTag(tagType, query); + case TagPathsType.awsOcp: + tagReport = runAwsOcpTag(tagType, query); break; case TagPathsType.azure: tagReport = runAzureTag(tagType, query); break; - case TagPathsType.azureCloud: - tagReport = runAzureCloudTag(tagType, query); + case TagPathsType.azureOcp: + tagReport = runAzureOcpTag(tagType, query); break; case TagPathsType.gcp: tagReport = runGcpTag(tagType, query); break; + case TagPathsType.gcpOcp: + tagReport = runGcpOcpTag(tagType, query); + break; case TagPathsType.ibm: tagReport = runIbmTag(tagType, query); break; diff --git a/src/app.tsx b/src/app.tsx index 81698db9a..fd8e34643 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -8,7 +8,9 @@ import { createMapStateToProps } from 'store/common'; import { Routes, routes } from './routes'; -export interface AppOwnProps extends RouteComponentProps {} +export interface AppOwnProps { + basename: string; +} interface AppStateProps {} @@ -21,7 +23,7 @@ interface AppState { maintenanceMode: boolean; } -type AppProps = AppOwnProps & AppStateProps & AppDispatchProps; +type AppProps = AppOwnProps & AppStateProps & AppDispatchProps & RouteComponentProps; export class App extends React.Component { public appNav: any; @@ -41,7 +43,16 @@ export class App extends React.Component { } this.appNav = insights.chrome.on('APP_NAVIGATION', event => { - const currRoute = routes.find(({ path }) => path.includes(event.navId)); + let currRoute = routes.find(({ path }) => path.includes(event.navId)); + /** + * Condition is required until new nav changes are propagated to each environment. + * Eventually will be avaiable as a hook value to replace event listening. + */ + if (!currRoute && typeof event?.domEvent?.href === 'string') { + const appPathname = event?.domEvent?.href.replace(this.props.basename.replace(/^\/beta\//, '/'), '/'); + currRoute = routes.find(({ path }) => path.includes(appPathname)); + } + if (event.domEvent && currRoute) { history.push(currRoute.path); } @@ -77,4 +88,4 @@ const mapStateToProps = createMapStateToProps((state const mapDispatchToProps: AppDispatchProps = { history }; -export default compose(withRouter, connect(mapStateToProps, mapDispatchToProps))(App); +export default compose>(withRouter, connect(mapStateToProps, mapDispatchToProps))(App); diff --git a/src/components/async/permissionsComponent/permissions.tsx b/src/components/async/permissionsComponent/permissions.tsx index 4d0a65510..15fc4f31d 100644 --- a/src/components/async/permissionsComponent/permissions.tsx +++ b/src/components/async/permissionsComponent/permissions.tsx @@ -72,10 +72,10 @@ class PermissionsBase extends React.Component { const ocp = hasOcpAccess(userAccess); // cost models may include :uuid - const _pathname = location.pathname.includes(paths.costModels) ? paths.costModels : location.pathname; - const currRoute = routes.find(({ path }) => path.includes(_pathname)); + const _pathname = location.pathname.startsWith(paths.costModels) ? paths.costModels : location.pathname; + const currRoute = routes.find(({ path }) => path === _pathname); - switch (currRoute.path) { + switch (currRoute && currRoute.path) { case paths.explorer: case paths.overview: return aws || azure || costModel || gcp || ibm || ocp; diff --git a/src/components/charts/common/chartUtils.ts b/src/components/charts/common/chartUtils.ts index c772909de..ec2df3f35 100644 --- a/src/components/charts/common/chartUtils.ts +++ b/src/components/charts/common/chartUtils.ts @@ -84,7 +84,7 @@ export const getLegendData = (series: ChartSeries[], hiddenSeries: Set, }; return data; }); - return tooltip ? result : result.filter(d => d.childName.indexOf('Cone') === -1); + return result; }; // Note: Forecast is expected to use both datum.y and datum.y0 @@ -141,21 +141,6 @@ export const initHiddenSeries = (series: ChartSeries[], hiddenSeries: Set { name: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_label', false, false), symbol: { fill: chartStyles.forecastConeDataColorScale[0], - type: 'triangleUp', + type: 'triangleLeft', }, tooltip: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_tooltip', false, false), }, @@ -265,7 +265,7 @@ class CostChart extends React.Component { ), symbol: { fill: chartStyles.forecastInfrastructureConeDataColorScale[0], - type: 'triangleUp', + type: 'triangleLeft', }, tooltip: getCostRangeString( forecastInfrastructureConeData, diff --git a/src/components/charts/dailyCostChart/dailyCostChart.tsx b/src/components/charts/dailyCostChart/dailyCostChart.tsx index dfabf170e..d061a5afb 100644 --- a/src/components/charts/dailyCostChart/dailyCostChart.tsx +++ b/src/components/charts/dailyCostChart/dailyCostChart.tsx @@ -247,7 +247,7 @@ class DailyCostChart extends React.Component { name: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_label', false, false), symbol: { fill: chartStyles.forecastConeDataColorScale[0], - type: 'triangleUp', + type: 'triangleLeft', }, tooltip: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_tooltip', false, false), }, @@ -271,7 +271,7 @@ class DailyCostChart extends React.Component { ), symbol: { fill: chartStyles.forecastInfrastructureConeDataColorScale[0], - type: 'triangleUp', + type: 'triangleLeft', }, tooltip: getCostRangeString( forecastInfrastructureConeData, diff --git a/src/components/charts/dailyTrendChart/dailyTrendChart.tsx b/src/components/charts/dailyTrendChart/dailyTrendChart.tsx index 699f677ab..a129b0ca6 100644 --- a/src/components/charts/dailyTrendChart/dailyTrendChart.tsx +++ b/src/components/charts/dailyTrendChart/dailyTrendChart.tsx @@ -47,6 +47,7 @@ interface DailyTrendChartProps { formatDatumOptions?: FormatOptions; padding?: any; showForecast?: boolean; // Show forecast legend regardless if data is available + showInfrastructureLabel?: boolean; // Show supplementary cost labels showSupplementaryLabel?: boolean; // Show supplementary cost labels showUsageLegendLabel?: boolean; // The cost legend label is shown by default title?: string; @@ -98,6 +99,7 @@ class DailyTrendChart extends React.Component { forecastConeData, previousData, showForecast, + showInfrastructureLabel = false, showSupplementaryLabel = false, showUsageLegendLabel = false, } = this.props; @@ -106,12 +108,16 @@ class DailyTrendChart extends React.Component { ? 'chart.usage_legend_label' : showSupplementaryLabel ? 'chart.cost_supplementary_legend_label' + : showInfrastructureLabel + ? 'chart.cost_infrastructure_legend_label' : 'chart.cost_legend_label'; const tooltipKey = showUsageLegendLabel ? 'chart.usage_legend_tooltip' : showSupplementaryLabel ? 'chart.cost_supplementary_legend_tooltip' + : showInfrastructureLabel + ? 'chart.cost_infrastructure_legend_tooltip' : 'chart.cost_legend_tooltip'; // Show all legends, regardless of length -- https://github.com/project-koku/koku-ui/issues/248 @@ -182,7 +188,7 @@ class DailyTrendChart extends React.Component { name: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_label', false, false), symbol: { fill: chartStyles.forecastConeDataColorScale[0], - type: 'triangleUp', + type: 'minus', }, tooltip: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_tooltip', false, false), }, @@ -206,13 +212,21 @@ class DailyTrendChart extends React.Component { }; private getAdjustedContainerHeight = () => { - const { adjustContainerHeight, height, containerHeight = height, showForecast } = this.props; + const { + adjustContainerHeight, + height, + containerHeight = height, + showForecast, + showInfrastructureLabel, + showSupplementaryLabel, + } = this.props; const { width } = this.state; let adjustedContainerHeight = containerHeight; if (adjustContainerHeight) { if (showForecast) { - if (width < 700) { + const maxWidth = showSupplementaryLabel || showInfrastructureLabel ? 850 : 700; + if (width < maxWidth) { adjustedContainerHeight += 25; } } diff --git a/src/components/charts/historicalCostChart/historicalCostChart.tsx b/src/components/charts/historicalCostChart/historicalCostChart.tsx index b78e75d52..3f03ac8a1 100644 --- a/src/components/charts/historicalCostChart/historicalCostChart.tsx +++ b/src/components/charts/historicalCostChart/historicalCostChart.tsx @@ -88,12 +88,8 @@ class HistoricalCostChart extends React.Component { - const { - currentCostData, - currentInfrastructureCostData, - previousCostData, - previousInfrastructureCostData, - } = this.props; + const { currentCostData, currentInfrastructureCostData, previousCostData, previousInfrastructureCostData } = + this.props; const costKey = 'chart.cost_legend_label'; const costInfrastructureKey = 'chart.cost_infrastructure_legend_label'; diff --git a/src/components/charts/trendChart/trendChart.tsx b/src/components/charts/trendChart/trendChart.tsx index 85f9d5401..b64f3198e 100644 --- a/src/components/charts/trendChart/trendChart.tsx +++ b/src/components/charts/trendChart/trendChart.tsx @@ -44,6 +44,7 @@ interface TrendChartProps { formatDatumOptions?: FormatOptions; padding?: any; showForecast?: boolean; // Show forecast legend regardless if data is available + showInfrastructureLabel?: boolean; // Show supplementary cost labels showSupplementaryLabel?: boolean; // Show supplementary cost labels showUsageLegendLabel?: boolean; // The cost legend label is shown by default title?: string; @@ -95,6 +96,7 @@ class TrendChart extends React.Component { forecastConeData, previousData, showForecast, + showInfrastructureLabel = false, showSupplementaryLabel = false, showUsageLegendLabel = false, } = this.props; @@ -103,12 +105,16 @@ class TrendChart extends React.Component { ? 'chart.usage_legend_label' : showSupplementaryLabel ? 'chart.cost_supplementary_legend_label' + : showInfrastructureLabel + ? 'chart.cost_infrastructure_legend_label' : 'chart.cost_legend_label'; const tooltipKey = showUsageLegendLabel ? 'chart.usage_legend_tooltip' : showSupplementaryLabel ? 'chart.cost_supplementary_legend_tooltip' + : showInfrastructureLabel + ? 'chart.cost_infrastructure_legend_tooltip' : 'chart.cost_legend_tooltip'; // Show all legends, regardless of length -- https://github.com/project-koku/koku-ui/issues/248 @@ -178,7 +184,7 @@ class TrendChart extends React.Component { name: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_label', false, false), symbol: { fill: chartStyles.forecastConeDataColorScale[0], - type: 'triangleUp', + type: 'triangleLeft', }, tooltip: getCostRangeString(forecastConeData, 'chart.cost_forecast_cone_legend_tooltip', false, false), }, @@ -195,13 +201,21 @@ class TrendChart extends React.Component { }; private getAdjustedContainerHeight = () => { - const { adjustContainerHeight, height, containerHeight = height, showForecast } = this.props; + const { + adjustContainerHeight, + height, + containerHeight = height, + showForecast, + showInfrastructureLabel, + showSupplementaryLabel, + } = this.props; const { width } = this.state; let adjustedContainerHeight = containerHeight; if (adjustContainerHeight) { if (showForecast) { - if (width < 700) { + const maxWidth = showSupplementaryLabel || showInfrastructureLabel ? 900 : 700; + if (width < maxWidth) { adjustedContainerHeight += 25; } } @@ -247,12 +261,15 @@ class TrendChart extends React.Component { }; private getEndDate() { - const { currentData, forecastData, previousData } = this.props; + const { currentData, forecastData, forecastConeData, previousData } = this.props; const previousDate = previousData ? getDate(getDateRange(previousData, true, true)[1]) : 0; const currentDate = currentData ? getDate(getDateRange(currentData, true, true)[1]) : 0; const forecastDate = forecastData ? getDate(getDateRange(forecastData, true, true)[1]) : 0; + const forecastConeDate = forecastConeData ? getDate(getDateRange(forecastConeData, true, true)[1]) : 0; - return currentDate > 0 || previousDate > 0 ? Math.max(currentDate, forecastDate, previousDate) : 31; + return currentDate > 0 || previousDate > 0 + ? Math.max(currentDate, forecastDate, forecastConeDate, previousDate) + : 31; } // Returns onMouseOver, onMouseOut, and onClick events for the interactive legend diff --git a/src/components/filter/filterComposition.tsx b/src/components/filter/filterComposition.tsx index 99b4177e4..0cc99ccdc 100644 --- a/src/components/filter/filterComposition.tsx +++ b/src/components/filter/filterComposition.tsx @@ -44,13 +44,13 @@ const addMultiValue = (query: Query, buffer: Filter) => { }; }; -const searchOnEnter = (query: Query, filter: Filter, mutate: Mutate, onSearch: (newQuery: Query) => void) => ( - event: React.KeyboardEvent -) => { - if (event.key === 'Enter' && filter.value) { - onSearch(mutate(query, filter)); - } -}; +const searchOnEnter = + (query: Query, filter: Filter, mutate: Mutate, onSearch: (newQuery: Query) => void) => + (event: React.KeyboardEvent) => { + if (event.key === 'Enter' && filter.value) { + onSearch(mutate(query, filter)); + } + }; const FilterCompositionBase: React.SFC = ({ options, id, diff --git a/src/federatedEntry.tsx b/src/federatedEntry.tsx index 4ffca5db1..c1dc1985c 100644 --- a/src/federatedEntry.tsx +++ b/src/federatedEntry.tsx @@ -8,6 +8,8 @@ import { getBaseName } from 'utils/getBaseName'; import App from './app'; import { configureStore } from './store'; +// Todo: Uncomment for use with non-shared PatternFly packages +// require.resolve('@patternfly/patternfly/patternfly.css'); require.resolve('@patternfly/patternfly/patternfly-addons.css'); import './styles/global.css'; @@ -22,11 +24,14 @@ const store = configureStore({ // }, }); -export default () => ( - - - - - - -); +export default () => { + const basename = getBaseName(window.location.pathname); + return ( + + + + + + + ); +}; diff --git a/src/locales/en.json b/src/locales/en.json index 84429b5a3..9cd037937 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,5 +1,5 @@ { - "aws_cloud_dashboard": { + "aws_ocp_dashboard": { "compute_title": "Compute (EC2) instances usage", "cost_title": "Amazon Web Services filtered by OpenShift cost", "cost_trend_title": "Amazon Web Services cumulative cost comparison ({{units}})", @@ -14,7 +14,7 @@ "aws_details": { "org_unit_column_title": "Names" }, - "azure_cloud_dashboard": { + "azure_ocp_dashboard": { "compute_title": "Virtual machines usage", "cost_title": "Microsoft Azure filtered by OpenShift cost", "cost_trend_title": "Microsoft Azure cumulative cost comparison ({{units}})", @@ -75,6 +75,7 @@ "usage_cost_desc": "The portion of cost calculated by applying hourly and/or monthly price list rates to metrics.", "usage_cost_title": "Usage cost" }, + "cancel": "Cancel", "chart": { "cost_forecast_cone_legend_label": "Cost confidence ({{startDate}} $t(months_abbr.{{month}}))", "cost_forecast_cone_legend_label_no_data": "Cost confidence (no data)", @@ -128,6 +129,7 @@ "usage_legend_tooltip": "Usage ($t(months_abbr.{{month}}))" }, "cost": "Cost", + "cost_calculations": "Cost calculations", "cost_management": "Cost Management", "cost_management_overview": "$t(cost_management) Overview", "cost_models": { @@ -193,10 +195,17 @@ "cost_models": "Cost models", "source_type": "Source type" }, - "description_markup": "Percentage to add to or subtract from the base cost of the source(s)", + "description_distribution": "The following is the type of metric that is set to be used when distributing costs to the project level breakdowns.", + "description_distribution_model": "This choice is for users to direct how their raw costs are distributed either by CPU or Memory on the project level breakdowns.", + "description_markup": "This Percentage is applied to raw cost calculations by multiplying the cost with this percentage. Costs calculated from price list rates will not be effected.", + "description_markup_or_discount_model": "Use markup/discount to manipulate how the raw costs are being calculated for your sources", + "discount_minus": "Discount (-)", "edit_cost_model": "Edit cost model", + "edit_distribution": "Edit distribution", + "distribution_type": "Distribution type", "edit_markup": "Edit markup", "edit_markup_action": "Edit markup", + "edit_markup_or_discount": "Edit markup or discount", "edit_rate": "Edit rate", "empty_state_bad_uuid": { "description": "Cost model with uuid: {{ uuid }} does not exist.", @@ -210,9 +219,18 @@ "description": "Select the source(s) you want to apply this cost model to.", "title": "No sources are assigned" }, + "examples": { + "title": "Examples:", + "noAdjustment": "A markup or discount rate of (+/-) 0% (the default) makes no adjustments to the base costs of your source(s).", + "doubleMarkup": "A markup rate of (+) 100% doubles the base costs of your source(s).", + "reduceBaseToZero": "A discount rate of (-) 100% reduces the base costs of your source(s) to 0.", + "reduceBaseToSeventyFive": "A discount rate of (-) 25% reduces the base costs of your source(s) to 75% of the original value." + }, "header": { "title": "Cost models" }, + "markup_plus": "Markup (+)", + "markup_or_discount": "Markup or Discount", "save_button": "Save", "table": { "columns": { @@ -321,6 +339,7 @@ "warning_source": "This source is assigned to {{ cost_model }} cost model. You will have to unassigned it first", "warning_sources": "Cannot assign cost model to a source that is already assigned to another one" }, + "cpu_title": "CPU", "currency_abbreviations": { "billion": "B", "million": "M", @@ -346,6 +365,14 @@ "price_list": "View all price lists" }, "clusters_modal_title": "$t(group_by.values.{{groupBy}}) {{name}} clusters", + "column_management": { + "aria_label": "Table column management", + "cancel": "Cancel", + "desc": "Selected categories will be displayed in the table", + "save": "Save", + "select_all": "Select all", + "title": "Manage columns" + }, "cost_value": "Cost: {{value}}", "empty_state": "Processing data to generate a list of all services that sums to a total cost...", "month_over_month_change": "Month over month change", @@ -417,10 +444,10 @@ "title": "Delete {{rate.metric.label_metric}}-{{rate.metric.label_measurement}} ({{rate.metric.label_measurement_unit}}) rate?" }, "docs": { - "add_ocp_sources": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/getting_started_with_cost_management/index#assembly-adding-openshift-container-platform-source", + "add_ocp_sources": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/adding_an_openshift_container_platform_source_to_cost_management", "config_cost_models": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/using_cost_models/index#assembly-setting-up-cost-models", "cost_model_terminology": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/using_cost_models/index#cost-model-terminology", - "using_cost_models": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/using_cost_models/index" + "using_cost_models": "https://access.redhat.com/documentation/en-us/cost_management_service/2021/html-single/using_cost_models" }, "empty_filter_state": { "subtitle": "Sorry, no data with the given filter was found.", @@ -444,10 +471,11 @@ "org_unit_column_title": "Names", "perspective": { "aws": "Amazon Web Services", - "aws_cloud": "Amazon Web Services filtered by OpenShift", + "aws_ocp": "Amazon Web Services filtered by OpenShift", "azure": "Microsoft Azure", - "azure_cloud": "Microsoft Azure filtered by OpenShift", + "azure_ocp": "Microsoft Azure filtered by OpenShift", "gcp": "Google Cloud Platform", + "gcp_ocp": "Google Cloud Platform filtered by OpenShift", "ibm": "IBM Cloud", "ocp": "All OpenShift cost", "ocp_cloud": "All cloud filtered by OpenShift", @@ -456,10 +484,11 @@ }, "title": { "aws": "Amazon Web Services - Top 5 Costliest", - "aws_cloud": "Amazon Web Services filtered by OpenShift - Top 5 Costliest", + "aws_ocp": "Amazon Web Services filtered by OpenShift - Top 5 Costliest", "azure": "Microsoft Azure - Top 5 Costliest", - "azure_cloud": "Microsoft Azure filtered by OpenShift - Top 5 Costliest", + "azure_ocp": "Microsoft Azure filtered by OpenShift - Top 5 Costliest", "gcp": "Google Cloud Platform - Top 5 Costliest", + "gcp_ocp": "Google Cloud Platform filtered by OpenShift - Top 5 Costliest", "ibm": "IBM Cloud - Top 5 Costliest", "ocp": "All OpenShift cost - Top 5 Costliest", "ocp_cloud": "All cloud filtered by OpenShift - Top 5 Costliest", @@ -586,6 +615,12 @@ "cost_trend_title": "Google Cloud Platform Services cumulative cost comparison ({{units}})", "daily_cost_trend_title": "Google Cloud Platform Services daily cost comparison ({{units}})" }, + "gcp_ocp_dashboard": { + "compute_title": "Compute instances usage", + "cost_title": "Google Cloud Platform Services cost", + "cost_trend_title": "Google Cloud Platform Services cumulative cost comparison ({{units}})", + "daily_cost_trend_title": "Google Cloud Platform Services daily cost comparison ({{units}})" + }, "group_by": { "all": "All $t(group_by.values.{{groupBy}}, { 'count': 5 })", "details": "$t(group_by.values.{{groupBy}}, { 'count': 3 })", @@ -673,6 +708,7 @@ "empty_state_info": "For more information visit ", "empty_state_thanks": "We will be back soon. Thank you for your patience!." }, + "memory_title": "Memory", "months": [ "January", "February", @@ -738,9 +774,9 @@ "no_providers_state": { "aws_desc": "Add an Amazon Web Services account to see a total cost breakdown of your spend by accounts, organizational units, services, regions, or tags.", "aws_title": "Track your Amazon Web Services spending!", - "azure_desc": "Add an Microsoft Azure account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", + "azure_desc": "Add a Microsoft Azure account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "azure_title": "Track your Microsoft Azure spending!", - "gcp_desc": "Add an Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", + "gcp_desc": "Add a Google Cloud Platform account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", "gcp_title": "Track your Google Cloud Platform spending!", "get_started": "Get started with Sources", "ibm_desc": "Add an IBM Cloud account to see a total cost breakdown of your spend by accounts, services, regions, or tags.", @@ -781,6 +817,11 @@ "supplementary_cost_desc": "All costs not directly attributed to the infrastructure. These costs are determined by applying a price list within a cost model to OpenShift cluster metrics.", "title": "OpenShift details" }, + "ocp_infrastructure_dashboard": { + "cost_title": "OpenShift infrastructure cost", + "cost_trend_title": "OpenShift cumulative infrastructure cost comparison ({{units}})", + "daily_cost_trend_title": "OpenShift daily infrastructure cost comparison ({{units}})" + }, "ocp_supplementary_dashboard": { "cost_title": "OpenShift supplementary cost", "cost_trend_title": "OpenShift cumulative supplementary cost comparison ({{units}})", @@ -816,17 +857,19 @@ "ocp_cloud_desc": "Infrastructure cost attributed to OpenShift Container Platform, based on a subset of cloud cost data.", "ocp_desc": "Total cost for OpenShift Container Platform, comprising the infrastructure cost and cost calculated from metrics.", "perspective": { - "all": "All", "aws": "Amazon Web Services", - "aws_cloud": "Amazon Web Services filtered by OpenShift", + "aws_ocp": "Amazon Web Services filtered by OpenShift", "azure": "Microsoft Azure", - "azure_cloud": "Microsoft Azure filtered by OpenShift", + "azure_ocp": "Microsoft Azure filtered by OpenShift", "gcp": "Google Cloud Platform", + "gcp_ocp": "Google Cloud Platform filtered by OpenShift", "ibm": "IBM Cloud", "label": "Perspective", - "ocp_cloud": "All cloud filtered by OpenShift", - "ocp_usage": "OpenShift usage", - "supplementary": "Supplementary" + "ocp_all": "All OpenShift", + "ocp_ocp": "All cloud filtered by OpenShift", + "ocp_infrastructure": "OpenShift infrastructure", + "ocp_supplementary": "OpenShift supplementary", + "ocp_usage": "OpenShift usage" } }, "page_cost_models": { @@ -856,13 +899,17 @@ "percent": "{{value}}%", "percent_of_cost": "{{value}} % of cost", "percent_of_total": "{{value}} {{units}} ({{percent}}%)", + "price_list": "Price list", "rbac": { "error_description": "There was a problem receiving user permissions. Refreshing this page may fix it. If it does not, please contact your admin.", "error_title": "Failed to get RBAC information" }, + "rate": "Rate", + "save": "Save", "settings": "Settings", "since_date": "{{startDate}} $t(months.{{month}})", "since_date_plural": "{{startDate}}-{{endDate}} $t(months.{{month}})", + "sources": "Sources", "source_details": { "filter": { "placeholder": "Filter by source {{value}}" diff --git a/src/modules/ocpOverviewWidget/ocpOverviewWidget.tsx b/src/modules/ocpOverviewWidget/ocpOverviewWidget.tsx index 8f0e43a57..7207521de 100644 --- a/src/modules/ocpOverviewWidget/ocpOverviewWidget.tsx +++ b/src/modules/ocpOverviewWidget/ocpOverviewWidget.tsx @@ -76,14 +76,8 @@ class OcpOverviewWidgetBase extends React.Component { }; public render() { - const { - providers, - providersError, - providersFetchStatus, - userAccessError, - userAccessFetchStatus, - userAccess, - } = this.props; + const { providers, providersError, providersFetchStatus, userAccessError, userAccessFetchStatus, userAccess } = + this.props; const isLoading = userAccessFetchStatus === FetchStatus.inProgress || providersFetchStatus === FetchStatus.inProgress; diff --git a/src/pages/costModels/components/inputs/simpleInput.tsx b/src/pages/costModels/components/inputs/simpleInput.tsx index 7916d407e..6d49660de 100644 --- a/src/pages/costModels/components/inputs/simpleInput.tsx +++ b/src/pages/costModels/components/inputs/simpleInput.tsx @@ -28,18 +28,8 @@ const translateSimpleInputProps = (t: TFunction, props: SimpleInputProps) => { export const SimpleInput: React.FunctionComponent = props => { const { t } = useTranslation(); - const { - onChange, - value, - id, - label, - style, - helperTextInvalid, - validated, - onBlur, - isRequired, - placeholder, - } = translateSimpleInputProps(t, props); + const { onChange, value, id, label, style, helperTextInvalid, validated, onBlur, isRequired, placeholder } = + translateSimpleInputProps(t, props); return ( = ({ + isWritePermission, + setCostModelDialog, + current, + isUpdateDialogOpen, + t, +}) => { + const [dropdownIsOpen, setDropdownIsOpen] = React.useState(false); + const distributionLabel = current.distribution === 'cpu' ? t('cpu_title') : t('memory_title'); + + return ( + <> + {isUpdateDialogOpen && } + + + + + {t('cost_models_details.distribution_type')} + + + + } + isOpen={dropdownIsOpen} + onSelect={() => setDropdownIsOpen(false)} + position={DropdownPosition.right} + isPlain + dropdownItems={[ + + setCostModelDialog({ isOpen: true, name: 'updateDistribution' })} + component="button" + > + {t('cost_models_details.edit_distribution')} + + , + ]} + /> + + + {t('cost_models_details.description_distribution')} + + {distributionLabel} + + + + ); +}; + +export default connect( + createMapStateToProps(state => { + const { updateDistribution } = costModelsSelectors.isDialogOpen(state)('distribution'); + return { + isUpdateDialogOpen: updateDistribution, + costModelDialog: costModelsSelectors.isDialogOpen(state)('distribution'), + isWritePermission: rbacSelectors.isCostModelWritePermission(state), + }; + }), + { + setCostModelDialog: costModelsActions.setCostModelDialog, + } +)(withTranslation()(DistributionCardBase)); diff --git a/src/pages/costModels/costModel/header.tsx b/src/pages/costModels/costModel/header.tsx index 37fea21c6..c1c42d128 100644 --- a/src/pages/costModels/costModel/header.tsx +++ b/src/pages/costModels/costModel/header.tsx @@ -118,43 +118,6 @@ const Header: React.FunctionComponent = ({ {t('cost_models_details.cost_model.source_type')}: {current.source_type} - {current.source_type === 'OpenShift Container Platform' ? ( - onSelectTab(index)}> - Price list} - tabContentId="refPriceList" - tabContentRef={tabRefs[0]} - /> - Markup} - tabContentId="refMarkup" - tabContentRef={tabRefs[1]} - /> - Sources} - tabContentId="refSources" - tabContentRef={tabRefs[2]} - /> - - ) : ( - onSelectTab(index)}> - Markup} - tabContentId="refMarkup" - tabContentRef={tabRefs[0]} - /> - Sources} - tabContentId="refSources" - tabContentRef={tabRefs[1]} - /> - - )} = ({ /> + {current.source_type === 'OpenShift Container Platform' ? ( + onSelectTab(index)}> + {t('price_list')}} + tabContentId="refPriceList" + tabContentRef={tabRefs[0]} + /> + {t('cost_calculations')}} + tabContentId="refMarkup" + tabContentRef={tabRefs[1]} + /> + {t('sources')}} + tabContentId="refSources" + tabContentRef={tabRefs[2]} + /> + + ) : ( + onSelectTab(index)}> + {t('cost_calculations')}} + tabContentId="refMarkup" + tabContentRef={tabRefs[0]} + /> + {t('sources')}} + tabContentId="refSources" + tabContentRef={tabRefs[1]} + /> + + )} ); diff --git a/src/pages/costModels/costModel/index.tsx b/src/pages/costModels/costModel/index.tsx index 376a62e8a..77e3eb97b 100644 --- a/src/pages/costModels/costModel/index.tsx +++ b/src/pages/costModels/costModel/index.tsx @@ -1,9 +1,10 @@ -import { EmptyState, EmptyStateBody, EmptyStateIcon, TabContent, Title } from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateIcon, Grid, GridItem, TabContent, Title } from '@patternfly/react-core'; import { ErrorCircleOIcon } from '@patternfly/react-icons/dist/js/icons/error-circle-o-icon'; import Main from '@redhat-cloud-services/frontend-components/Main'; import PageHeader, { PageHeaderTitle } from '@redhat-cloud-services/frontend-components/PageHeader'; import { CostModel } from 'api/costModels'; import { AxiosError } from 'axios'; +import DistributionCard from 'pages/costModels/costModel/distribution'; import MarkupCard from 'pages/costModels/costModel/markup'; import PriceListTable from 'pages/costModels/costModel/priceListTable'; import SourceTable from 'pages/costModels/costModel/sourceTable'; @@ -27,6 +28,7 @@ interface OwnProps { costModels: CostModel[]; costModelStatus: FetchStatus; costModelError: AxiosError; + distribution: { value: string }; fetchMetrics: typeof metricsActions.fetchMetrics; metricsStatus: FetchStatus; metricsError: AxiosError; @@ -56,15 +58,8 @@ class CostModelInformation extends React.Component { } public render() { - const { - costModels, - metricsStatus, - rbacStatus, - costModelStatus, - rbacError, - costModelError, - metricsError, - } = this.props; + const { costModels, metricsStatus, rbacStatus, costModelStatus, rbacError, costModelError, metricsError } = + this.props; if ( metricsStatus !== FetchStatus.complete || rbacStatus !== FetchStatus.complete || @@ -126,10 +121,24 @@ class CostModelInformation extends React.Component { p.name)} current={current} /> -