From 2ad60cc470d0609aa252f0bbfe3a3a3327ba92e7 Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 10 Feb 2023 10:57:20 -0500 Subject: [PATCH 1/5] Added translation for new card messages Signed-off-by: Yi Cai --- locales/ja/gitops-plugin.json | 5 ++++- locales/ko/gitops-plugin.json | 5 ++++- locales/zh/gitops-plugin.json | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/locales/ja/gitops-plugin.json b/locales/ja/gitops-plugin.json index 900b4c51..e1e03b8c 100644 --- a/locales/ja/gitops-plugin.json +++ b/locales/ja/gitops-plugin.json @@ -24,5 +24,8 @@ "OutOfSync": "同期なし", "Unknown": "不明", "No GitOps manifest URLs found": "GitOps マニフェスト URL が見つかりません", - "No Application groups found": "アプリケーショングループが見つかりません" + "No Application groups found": "アプリケーショングループが見つかりません", + "Commit message not available": "コミットメッセージ情報はありません", + "Commit author not available": "コミット作成者情報はありません", + "Last deployed time not available": "最終デプロイ時刻情報はありません" } \ No newline at end of file diff --git a/locales/ko/gitops-plugin.json b/locales/ko/gitops-plugin.json index 9c48dcca..27b21a36 100644 --- a/locales/ko/gitops-plugin.json +++ b/locales/ko/gitops-plugin.json @@ -24,5 +24,8 @@ "OutOfSync": "동기화되지 않음", "Unknown": "알 수 없음", "No GitOps manifest URLs found": "GitOps 매니페스트 URL을 찾을 수 없습니다", - "No Application groups found": "애플리케이션 그룹을 찾을 수 없습니다" + "No Application groups found": "애플리케이션 그룹을 찾을 수 없습니다", + "Commit message not available": "커밋 메시지를 사용할 수 없음", + "Commit author not available": "커밋 작성자를 사용할 수 없음", + "Last deployed time not available": "마지막 배포 시간을 알 수 없음" } \ No newline at end of file diff --git a/locales/zh/gitops-plugin.json b/locales/zh/gitops-plugin.json index 6411e242..c9ddb044 100644 --- a/locales/zh/gitops-plugin.json +++ b/locales/zh/gitops-plugin.json @@ -24,5 +24,8 @@ "OutOfSync": "OutOfSync", "Unknown": "未知", "No GitOps manifest URLs found": "未找到 GitOps 清单 URL", - "No Application groups found": "未找到应用程序组" + "No Application groups found": "未找到应用程序组", + "Commit message not available": "提交的信息不可用", + "Commit author not available": "提交的作者不可用", + "Last deployed time not available": "最后部署的时间不可用" } \ No newline at end of file From 2f9c31f23fcde9cba5b3724eb72f39d1aaae5c49 Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 10 Feb 2023 12:57:59 -0500 Subject: [PATCH 2/5] Fixed alignment issue in Japanese version Signed-off-by: Yi Cai --- src/components/details/ResourcesSection.scss | 1 + src/components/details/ResourcesSection.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/details/ResourcesSection.scss b/src/components/details/ResourcesSection.scss index 6e8c3d3b..68948e1c 100644 --- a/src/components/details/ResourcesSection.scss +++ b/src/components/details/ResourcesSection.scss @@ -8,6 +8,7 @@ } &__list { display: flex; + max-width: 203px; } .co-resource-item--inline { diff --git a/src/components/details/ResourcesSection.tsx b/src/components/details/ResourcesSection.tsx index f249f1cb..c947df74 100644 --- a/src/components/details/ResourcesSection.tsx +++ b/src/components/details/ResourcesSection.tsx @@ -116,7 +116,7 @@ const GitOpsResourcesSection: React.FC = ({ - + {resourcesList.map((eachResource) => ( @@ -127,16 +127,16 @@ const GitOpsResourcesSection: React.FC = ({ - + {resourcesList.map((eachResource) => ( - {t(`gitops-plugin~${eachResource.name}`)} + {t(`gitops-plugin~${eachResource.name}`)} ))} - + {resourcesList.map((eachResource) => ( From c8e82fd6c2548d96ea3cd0131b1c12250b65c3de Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Tue, 14 Feb 2023 15:35:47 -0500 Subject: [PATCH 3/5] Fixes i18n with ConsolePlugin API v1 Signed-off-by: Yi Cai --- console-extensions.json | 2 +- i18next-parser.config.js | 9 + ...plugin.json => plugin__gitops-plugin.json} | 46 +- ...plugin.json => plugin__gitops-plugin.json} | 23 + ...plugin.json => plugin__gitops-plugin.json} | 26 + locales/zh/gitops-plugin.json | 31 - locales/zh/plugin__gitops-plugin.json | 57 ++ manifest.yaml | 16 +- oc-manifest.yaml | 5 +- package.json | 2 + src/components/ApplicationListPage.tsx | 6 +- src/components/EnvironmentDetailsPageTabs.tsx | 8 +- src/components/details/EnvironmentDetails.tsx | 30 +- .../details/EnvironmentDetailsPageHeading.tsx | 6 +- src/components/details/RenderStatusLabel.tsx | 8 +- src/components/details/ResourceRow.tsx | 6 +- src/components/details/ResourcesSection.tsx | 4 +- src/components/history/DeploymentHistory.tsx | 10 +- .../history/DeploymentHistoryColumns.tsx | 12 +- .../import/badges/DevPreviewBadge.tsx | 2 +- src/components/list/ApplicationColumns.tsx | 12 +- src/components/list/ApplicationList.tsx | 4 +- src/components/list/ApplicationTableRow.tsx | 8 +- src/components/utils/gitops-utils.ts | 6 +- src/components/utils/useEnvDetails.ts | 4 +- start-console.sh | 1 + webpack.config.ts | 9 +- yarn.lock | 863 +++++++++++++++++- 28 files changed, 1066 insertions(+), 150 deletions(-) create mode 100644 i18next-parser.config.js rename locales/en/{gitops-plugin.json => plugin__gitops-plugin.json} (52%) rename locales/ja/{gitops-plugin.json => plugin__gitops-plugin.json} (54%) rename locales/ko/{gitops-plugin.json => plugin__gitops-plugin.json} (52%) delete mode 100644 locales/zh/gitops-plugin.json create mode 100644 locales/zh/plugin__gitops-plugin.json diff --git a/console-extensions.json b/console-extensions.json index 64d6ed64..1460831b 100644 --- a/console-extensions.json +++ b/console-extensions.json @@ -17,7 +17,7 @@ "section": "resources", "insertAfter": "pipelines", "insertBefore": "helm", - "name": "%gitops-plugin~Environments%", + "name": "%plugin__gitops-plugin~Environments%", "href": "/envdynamic", "dataAttributes": { "data-test-id": "envdynamic-header" diff --git a/i18next-parser.config.js b/i18next-parser.config.js new file mode 100644 index 00000000..dad3281a --- /dev/null +++ b/i18next-parser.config.js @@ -0,0 +1,9 @@ +module.exports = { + createOldCatalogs: false, + keySeparator: false, + locales: ['en', 'ja', 'ko', 'zh'], + namespaceSeparator: '~', + reactNamespace: false, + useKeysAsDefaultValue: true, + defaultNamespace: 'plugin__gitops-plugin', +}; diff --git a/locales/en/gitops-plugin.json b/locales/en/plugin__gitops-plugin.json similarity index 52% rename from locales/en/gitops-plugin.json rename to locales/en/plugin__gitops-plugin.json index 8441bb94..b897dde2 100644 --- a/locales/en/gitops-plugin.json +++ b/locales/en/plugin__gitops-plugin.json @@ -1,40 +1,42 @@ { "Environments": "Environments", - "Dev preview": "Dev preview", + "Error cannot retrieve environments": "Error cannot retrieve environments", "Compatibility Issue": "Compatibility Issue", "Compatibility Issue Message": "It is detected that an older version of the GitOps Operator is installed. Please upgrade the GitOps Operator", + "Error Encountered": "Error Encountered", "Cluster URL not available": "Cluster URL not available", "{{message}}": "{{message}}", + "Commit message not available": "Commit message not available", "by {{author}}": "by {{author}}", + "Commit author not available": "Commit author not available", "Commit details not available": "Commit details not available", "Last deployed": "Last deployed", + "Last deployed time not available": "Last deployed time not available", + "Deployment history": "Deployment history", "Application environments": "Application environments", - "{{x}} of {{total}} degraded": "{{x}} of {{total}} degraded", + "Synced": "Synced", + "OutOfSync": "OutOfSync", + "Unknown": "Unknown", + "{{x}} of {{total}} Unhealthy": "{{x}} of {{total}} Unhealthy", + "{{x}} of {{total}} OutOfSync": "{{x}} of {{total}} OutOfSync", "Resources": "Resources", - "Deployments": "Deployments", - "Secrets": "Secrets", - "Services": "Services", - "Routes": "Routes", - "Role Bindings": "Role Bindings", - "Cluster Roles": "Cluster Roles", - "Cluster Role Bindings": "Cluster Role Bindings", - "Info not available": "Info not available", + "Overview": "Overview", "{{appName}} · Details": "{{appName}} · Details", - "Select an application to view the environment it's deployed in.": "Select an application to view the environment it's deployed in.", - "by name": "by name", - "Environments table": "Environments table", + "Environment": "Environment", + "The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.": "The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.", + "The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.": "The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.", + "No history": "No history", + "Deployment Time": "Deployment Time", + "Message": "Message", + "Author": "Author", + "Revision": "Revision", "Application name": "Application name", "Git repository": "Git repository", "Environment status": "Environment status", - "Environment": "Environment", "Last deployment": "Last deployment", - "Synced": "Synced", - "OutOfSync": "OutOfSync", - "Unknown": "Unknown", + "by name": "by name", "No GitOps manifest URLs found": "No GitOps manifest URLs found", + "Error cannot retrieve applications": "Error cannot retrieve applications", "No Application groups found": "No Application groups found", - "Environment details were not found. Try reloading the page or contacting an administrator.": "Environment details were not found. Try reloading the page or contacting an administrator.", - "Commit message not available": "Commit message not available", - "Commit author not available": "Commit author not available", - "Last deployed time not available": "Last deployed time not available" -} \ No newline at end of file + "Environment details were not found. Try reloading the page or contacting an administrator.": "Environment details were not found. Try reloading the page or contacting an administrator." +} diff --git a/locales/ja/gitops-plugin.json b/locales/ja/plugin__gitops-plugin.json similarity index 54% rename from locales/ja/gitops-plugin.json rename to locales/ja/plugin__gitops-plugin.json index e1e03b8c..64884e70 100644 --- a/locales/ja/gitops-plugin.json +++ b/locales/ja/plugin__gitops-plugin.json @@ -25,6 +25,29 @@ "Unknown": "不明", "No GitOps manifest URLs found": "GitOps マニフェスト URL が見つかりません", "No Application groups found": "アプリケーショングループが見つかりません", + "Error cannot retrieve environments": "エラー、環境を取得できません", + "Compatibility Issue": "互換性の問題", + "Compatibility Issue Message": "互換性の問題に関するメッセージ", + "Error Encountered": "エラーが発生しました", + "{{message}}": "{{message}}", + "Last deployed": "最終デプロイメント", + "Deployment history": "デプロイメント履歴", + "{{x}} of {{total}} Unhealthy": "正常でない状態 {{x}} / {{total}}", + "{{x}} of {{total}} OutOfSync": "同期していない状態 {{x}} / {{total}}", + "Resources": "リソース", + "Deployments": "Deployments", + "Secrets": "Secrets", + "Services": "Service", + "Routes": "Routes", + "Overview": "概要", + "The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.": "HTTP Not Found Error が原因で履歴を取得できません。GitOps Operator を最新バージョンにアップグレードする必要があるか、GitOps クラスター Pod が実行されていない可能性があります。", + "The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.": "エラーが原因で履歴を取得できません。GitOps クラスター Pod ログでエラーの有無を確認してください。", + "No history": "履歴がありません", + "Deployment Time": "デプロイメント時間", + "Message": "メッセージ", + "Author": "作成者", + "Revision": "リビジョン", + "Error cannot retrieve applications": "エラー、アプリケーションを取得できません", "Commit message not available": "コミットメッセージ情報はありません", "Commit author not available": "コミット作成者情報はありません", "Last deployed time not available": "最終デプロイ時刻情報はありません" diff --git a/locales/ko/gitops-plugin.json b/locales/ko/plugin__gitops-plugin.json similarity index 52% rename from locales/ko/gitops-plugin.json rename to locales/ko/plugin__gitops-plugin.json index 27b21a36..f0c629e3 100644 --- a/locales/ko/gitops-plugin.json +++ b/locales/ko/plugin__gitops-plugin.json @@ -25,6 +25,32 @@ "Unknown": "알 수 없음", "No GitOps manifest URLs found": "GitOps 매니페스트 URL을 찾을 수 없습니다", "No Application groups found": "애플리케이션 그룹을 찾을 수 없습니다", + "Error cannot retrieve environments": "오류로 인해 환경을 검색할 수 없습니다", + "Compatibility Issue": "호환성 문제", + "Compatibility Issue Message": "호환성 문제 메시지", + "Error Encountered": "오류 발생", + "{{message}}": "{{message}}", + "Last deployed": "마지막 배포", + "Deployment history": "배포 기록", + "{{x}} of {{total}} Unhealthy": "{{x}} / {{total}} 비정상적인 상태", + "{{x}} of {{total}} OutOfSync": "{{x}} of {{total}} 비동기화 상태", + "Resources": "리소스", + "Deployments": "배포", + "Secrets": "시크릿", + "Services": "서비스", + "Routes": "경로", + "Role Bindings": "역할 바인딩", + "Cluster Roles": "클러스터 역할", + "Cluster Role Bindings": "클러스터 역할 바인딩", + "Overview": "개요", + "The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.": "HTTP를 찾을 수 없음 오류로 인해 기록을 가져올 수 없습니다. 이는 GitOps Operator를 최신 버전으로 업그레이드해야 하거나 GitOps 클러스터 pod가 실행되고 있지 않음을 의미할 수 있습니다.", + "The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.": "오류로 인해 기록을 가져올 수 없습니다. GitOps 클러스터 Pod 로그에 오류가 있는지 확인하십시오.", + "No history": "기록 없음", + "Deployment Time": "배포 시간", + "Message": "메시지", + "Author": "작성자", + "Revision": "개정 버전", + "Error cannot retrieve applications": "오류로 인해 애플리케이션을 검색할 수 없습니다", "Commit message not available": "커밋 메시지를 사용할 수 없음", "Commit author not available": "커밋 작성자를 사용할 수 없음", "Last deployed time not available": "마지막 배포 시간을 알 수 없음" diff --git a/locales/zh/gitops-plugin.json b/locales/zh/gitops-plugin.json deleted file mode 100644 index c9ddb044..00000000 --- a/locales/zh/gitops-plugin.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "Environments": "环境", - "Dev preview": "开发预览", - "by {{author}}": "由 {{author}}", - "Commit details not available": "没有提交详情", - "Cluster URL not available": "没有集群 URL", - "Application environments": "应用程序环境", - "Manifest file repo": "清单文件仓库", - "Image not available": "镜像不可用", - "Service source URL not available": "服务源 URL 不可用", - "Pod info not available": "Pod 信息不可用", - "Info not available": "信息不可用", - "Environment details were not found. Try reloading the page or contacting an administrator.": "无法找到环境详情。请重新载入页面或联系管理员。", - "{{appName}} · Details": "{{appName}} - 详情", - "Select an application to view the environment it's deployed in.": "选择一个应用程序来查看它部署到的环境。", - "by name": "按名称", - "Environments table": "环境表", - "Application name": "应用程序名称", - "Git repository": "Git 仓库", - "Environment status": "环境状态", - "Environment": "环境", - "Last deployment": "最后的部署", - "Synced": "同步", - "OutOfSync": "OutOfSync", - "Unknown": "未知", - "No GitOps manifest URLs found": "未找到 GitOps 清单 URL", - "No Application groups found": "未找到应用程序组", - "Commit message not available": "提交的信息不可用", - "Commit author not available": "提交的作者不可用", - "Last deployed time not available": "最后部署的时间不可用" -} \ No newline at end of file diff --git a/locales/zh/plugin__gitops-plugin.json b/locales/zh/plugin__gitops-plugin.json new file mode 100644 index 00000000..80616926 --- /dev/null +++ b/locales/zh/plugin__gitops-plugin.json @@ -0,0 +1,57 @@ +{ + "Environments": "环境", + "Dev preview": "开发预览", + "by {{author}}": "由 {{author}}", + "Commit details not available": "没有提交详情", + "Cluster URL not available": "没有集群 URL", + "Application environments": "应用程序环境", + "Manifest file repo": "清单文件仓库", + "Image not available": "镜像不可用", + "Service source URL not available": "服务源 URL 不可用", + "Pod info not available": "Pod 信息不可用", + "Info not available": "信息不可用", + "Environment details were not found. Try reloading the page or contacting an administrator.": "无法找到环境详情。请重新载入页面或联系管理员。", + "{{appName}} · Details": "{{appName}} - 详情", + "Select an application to view the environment it's deployed in.": "选择一个应用程序来查看它部署到的环境。", + "by name": "按名称", + "Environments table": "环境表", + "Application name": "应用程序名称", + "Git repository": "Git 仓库", + "Environment status": "环境状态", + "Environment": "环境", + "Last deployment": "最后的部署", + "Synced": "同步", + "OutOfSync": "OutOfSync", + "Unknown": "未知", + "No GitOps manifest URLs found": "未找到 GitOps 清单 URL", + "No Application groups found": "未找到应用程序组", + "Error cannot retrieve environments": "错误,无法检索环境", + "Compatibility Issue": "兼容性问题", + "Compatibility Issue Message": "兼容性问题信息", + "Error Encountered": "出现错误", + "{{message}}": "{{message}}", + "Last deployed": "最后的部署", + "Deployment history": "部署历史记录", + "{{x}} of {{total}} Unhealthy": "{{x}}(共 {{total}})不健康", + "{{x}} of {{total}} OutOfSync": "{{x}}(共 {{total}})没有同步", + "Resources": "资源", + "Deployments": "部署", + "Secrets": "Secret", + "Services": "服务", + "Routes": "路由", + "Role Bindings": "角色绑定", + "Cluster Roles": "集群角色", + "Cluster Role Bindings": "集群角色绑定", + "Overview": "概述", + "The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.": "因为 HTTP Not Found Error 导致无法获得历史记录。这可能意味着 GitOps Operator 需要升级到最新的版本,或者 GitOps 集群 pod 没有运行。", + "The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.": "历史记录因为错误而无法获得。请检查 GitOps 集群 pod 日志是否有任何错误。", + "No history": "没有历史记录", + "Deployment Time": "部署时间", + "Message": "消息", + "Author": "作者", + "Revision": "修订", + "Error cannot retrieve applications": "错误,无法检索应用程序", + "Commit message not available": "提交的信息不可用", + "Commit author not available": "提交的作者不可用", + "Last deployed time not available": "最后部署的时间不可用" +} \ No newline at end of file diff --git a/manifest.yaml b/manifest.yaml index 8972dfa6..1e5c9d6d 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -100,14 +100,18 @@ spec: type: ClusterIP sessionAffinity: None --- -apiVersion: console.openshift.io/v1alpha1 +apiVersion: console.openshift.io/v1 kind: ConsolePlugin metadata: name: gitops-plugin spec: displayName: "GitOps Plugin" - service: - name: gitops-plugin - namespace: openshift-gitops - port: 9001 - basePath: "/" \ No newline at end of file + backend: + service: + name: gitops-plugin + namespace: openshift-gitops + port: 9001 + basePath: "/" + type: Service + i18n: + loadType: Preload \ No newline at end of file diff --git a/oc-manifest.yaml b/oc-manifest.yaml index 2116a729..7a63ffc1 100644 --- a/oc-manifest.yaml +++ b/oc-manifest.yaml @@ -78,13 +78,10 @@ spec: type: ClusterIP sessionAffinity: None --- -apiVersion: console.openshift.io/v1alpha1 +apiVersion: console.openshift.io/v1 kind: ConsolePlugin metadata: name: "${PLUGIN_NAME}" - annotations: - console.openshift.io/use-i18n: "true" - # console.openshift.io/default-i18next-namespace: "true" spec: displayName: "Gitops Dynamic Plugin" service: diff --git a/package.json b/package.json index a3099620..d251a701 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,8 @@ "@types/git-url-parse": "^9.0.0", "prop-types": "^15.6.1", "css-loader": "^5.2.7", + "copy-webpack-plugin": "^11.0.0", + "i18next-parser": "^3.3.0", "sass": "^1.42.1", "sass-loader": "^10.1.1", "style-loader": "^2.0.0", diff --git a/src/components/ApplicationListPage.tsx b/src/components/ApplicationListPage.tsx index 48ea1da0..87973053 100644 --- a/src/components/ApplicationListPage.tsx +++ b/src/components/ApplicationListPage.tsx @@ -27,7 +27,7 @@ const ApplicationListPage: React.FC = () => { const [appGroups, setAppGroups] = React.useState(null); const [emptyStateMsg, setEmptyStateMsg] = React.useState(null); const [namespaces, nsLoaded, nsError] = useK8sWatchResource(projectRes); - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); React.useEffect(() => { let ignore = false; @@ -53,9 +53,9 @@ const ApplicationListPage: React.FC = () => { return (
- {t('gitops-plugin~Environments')} + {t('plugin__gitops-plugin~Environments')} - } /> + } /> {!appGroups && !emptyStateMsg ? ( ) : ( diff --git a/src/components/EnvironmentDetailsPageTabs.tsx b/src/components/EnvironmentDetailsPageTabs.tsx index 93268bbd..da998321 100644 --- a/src/components/EnvironmentDetailsPageTabs.tsx +++ b/src/components/EnvironmentDetailsPageTabs.tsx @@ -17,7 +17,7 @@ type EnvironmentDetailsPageTabsProps = RouteComponentProps<{ appName?: string }> export const EnvironmentDetailsPageTabs: React.FC = ({ match, }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const { appName } = match.params; const searchParams = new URLSearchParams(location.search); const manifestURL = searchParams.get('url'); @@ -28,7 +28,7 @@ export const EnvironmentDetailsPageTabs: React.FC [ { href: `${'overview?url='}${manifestURL}`, - name: t('gitops-plugin~Overview'), + name: t('plugin__gitops-plugin~Overview'), path: 'overview', component: (props) => ( ( @@ -52,7 +52,7 @@ export const EnvironmentDetailsPageTabs: React.FC - {t('gitops-plugin~{{appName}} · Details', { appName })} + {t('plugin__gitops-plugin~{{appName}} · Details', { appName })} = ({ manifestURL, error, }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const [consoleLinks] = useK8sWatchResource({ isList: true, kind: getReferenceForModel(ConsoleLinkModel), @@ -61,7 +61,7 @@ const EnvironmentDetails: React.FC = ({ } let errMsg = ''; if (error != null) { - errMsg = t('gitops-plugin~Error cannot retrieve environments'); + errMsg = t('plugin__gitops-plugin~Error cannot retrieve environments'); } return ( @@ -69,16 +69,16 @@ const EnvironmentDetails: React.FC = ({ {oldAPI && ( - {t('gitops-plugin~Compatibility Issue Message')} + {t('plugin__gitops-plugin~Compatibility Issue Message')} )} {error != null && ( {errMsg} @@ -113,7 +113,7 @@ const EnvironmentDetails: React.FC = ({ ) : (
- {t('gitops-plugin~Cluster URL not available')} + {t('plugin__gitops-plugin~Cluster URL not available')}
)} @@ -132,21 +132,21 @@ const EnvironmentDetails: React.FC = ({ <> {env.revision.message ? ( - {t('gitops-plugin~{{message}}', { message: env.revision.message })} + {t('plugin__gitops-plugin~{{message}}', { message: env.revision.message })} ) : ( - {t('gitops-plugin~Commit message not available')} + {t('plugin__gitops-plugin~Commit message not available')} )} {env.revision.author ? ( - {t('gitops-plugin~by {{author}}', { author: env.revision.author })}{' '} + {t('plugin__gitops-plugin~by {{author}}', { author: env.revision.author })}{' '} ) : ( - {t('gitops-plugin~Commit author not available')}{' '} + {t('plugin__gitops-plugin~Commit author not available')}{' '} )} {env.revision.revision ? ( @@ -171,16 +171,16 @@ const EnvironmentDetails: React.FC = ({ ) : ( - {t('gitops-plugin~Commit details not available')} + {t('plugin__gitops-plugin~Commit details not available')} )} {env.lastDeployed ? ( - {t('gitops-plugin~Last deployed')}  + {t('plugin__gitops-plugin~Last deployed')}  ) : ( - {t('gitops-plugin~Last deployed time not available')} + {t('plugin__gitops-plugin~Last deployed time not available')} )} @@ -188,9 +188,9 @@ const EnvironmentDetails: React.FC = ({ - {t('gitops-plugin~Deployment history')} + {t('plugin__gitops-plugin~Deployment history')} {argocdLink && ( diff --git a/src/components/details/EnvironmentDetailsPageHeading.tsx b/src/components/details/EnvironmentDetailsPageHeading.tsx index 55560769..d6725160 100644 --- a/src/components/details/EnvironmentDetailsPageHeading.tsx +++ b/src/components/details/EnvironmentDetailsPageHeading.tsx @@ -19,14 +19,14 @@ const EnvironmentDetailsPageHeading: React.FC { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); return ( <>
- {t('gitops-plugin~Environments')} - {t('gitops-plugin~Application environments')} + {t('plugin__gitops-plugin~Environments')} + {t('plugin__gitops-plugin~Application environments')}
diff --git a/src/components/details/RenderStatusLabel.tsx b/src/components/details/RenderStatusLabel.tsx index e488ffae..42c51795 100644 --- a/src/components/details/RenderStatusLabel.tsx +++ b/src/components/details/RenderStatusLabel.tsx @@ -14,24 +14,24 @@ interface RenderStatusLabelProps { } const RenderStatusLabel: React.FC = ({ status }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); switch (status) { case 'Synced': return ( ); case 'OutOfSync': return ( ); case 'Unknown': return ( ); default: diff --git a/src/components/details/ResourceRow.tsx b/src/components/details/ResourceRow.tsx index 1179abd1..6b58fc46 100644 --- a/src/components/details/ResourceRow.tsx +++ b/src/components/details/ResourceRow.tsx @@ -23,12 +23,12 @@ const ResourceRow: React.FC = ({ degradedResources, nonSyncedResources, }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); return ( {degradedResources?.length > 0 && ( = ({ )} {nonSyncedResources.length > 0 && ( = ({ clusterRoles, clusterRoleBindings, }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const resourcesList = [ { @@ -112,7 +112,7 @@ const GitOpsResourcesSection: React.FC = ({

- {t('gitops-plugin~Resources')} + {t('plugin__gitops-plugin~Resources')}

diff --git a/src/components/history/DeploymentHistory.tsx b/src/components/history/DeploymentHistory.tsx index 7d3a8bd0..e0a797e8 100644 --- a/src/components/history/DeploymentHistory.tsx +++ b/src/components/history/DeploymentHistory.tsx @@ -30,11 +30,11 @@ type GitOpsDeploymentHistoryProps = { const GitOpsDeploymentHistory: React.FC = ({ customData: { emptyStateMsg, envs, applicationBaseURI }, }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const columns = DeploymentHistoryColumns(); const envRowFilters: RowFilter[] = [ { - filterGroupName: t('gitops-plugin~Environment'), + filterGroupName: t('plugin__gitops-plugin~Environment'), type: 'environment', reducer: (s: GitOpsHistoryData): string => s?.environment, filter: (input, history) => @@ -63,13 +63,13 @@ const GitOpsDeploymentHistory: React.FC = ({ if (err.name === 'HttpError' && err.message === 'Not Found') { setError( t( - 'gitops-plugin~The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.', + 'plugin__gitops-plugin~The history cannot be obtained due to an HTTP Not Found Error. This could mean that the GitOps Operator needs to be upgraded to the latest version or the GitOps cluster pod is not running.', ), ); } else { setError( t( - 'gitops-plugin~The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.', + 'plugin__gitops-plugin~The history cannot be obtained due to an error. Check the GitOps cluster pod log for any errors.', ), ); } @@ -97,7 +97,7 @@ const GitOpsDeploymentHistory: React.FC = ({ return ; } else if (emptyStateMsg) { return ( - + ); } else { return ( diff --git a/src/components/history/DeploymentHistoryColumns.tsx b/src/components/history/DeploymentHistoryColumns.tsx index d590570c..58bee3a2 100644 --- a/src/components/history/DeploymentHistoryColumns.tsx +++ b/src/components/history/DeploymentHistoryColumns.tsx @@ -8,40 +8,40 @@ import { sortable } from '@patternfly/react-table'; import { DeploymentHistoryTableColumnClasses } from './DeploymentHistoryTableColumnClasses'; export const DeploymentHistoryColumns = () => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const columns: TableColumn[] = React.useMemo( () => [ { - title: t('gitops-plugin~Deployment Time'), + title: t('plugin__gitops-plugin~Deployment Time'), id: 'time', sort: 'deployed_at', transforms: [sortable], props: { className: DeploymentHistoryTableColumnClasses[0] }, }, { - title: t('gitops-plugin~Message'), + title: t('plugin__gitops-plugin~Message'), id: 'message', sort: 'message', transforms: [sortable], props: { className: DeploymentHistoryTableColumnClasses[1] }, }, { - title: t('gitops-plugin~Environment'), + title: t('plugin__gitops-plugin~Environment'), id: 'environment', sort: 'environment', transforms: [sortable], props: { className: DeploymentHistoryTableColumnClasses[2] }, }, { - title: t('gitops-plugin~Author'), + title: t('plugin__gitops-plugin~Author'), id: 'author', sort: 'author', transforms: [sortable], props: { className: DeploymentHistoryTableColumnClasses[3] }, }, { - title: t('gitops-plugin~Revision'), + title: t('plugin__gitops-plugin~Revision'), id: 'revision', sort: 'revision', transforms: [sortable], diff --git a/src/components/import/badges/DevPreviewBadge.tsx b/src/components/import/badges/DevPreviewBadge.tsx index f02b4acb..b9f3d92c 100644 --- a/src/components/import/badges/DevPreviewBadge.tsx +++ b/src/components/import/badges/DevPreviewBadge.tsx @@ -6,7 +6,7 @@ import { Label } from '@patternfly/react-core'; import './Badge.scss'; const DevPreviewBadge: React.FC = () => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); return ; }; diff --git a/src/components/list/ApplicationColumns.tsx b/src/components/list/ApplicationColumns.tsx index 559f36da..97577d24 100644 --- a/src/components/list/ApplicationColumns.tsx +++ b/src/components/list/ApplicationColumns.tsx @@ -15,19 +15,19 @@ const tableColumnClasses = [ ]; export const ApplicationColumns = (hasSyncStatus: boolean) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const columns: TableColumn[] = React.useMemo( () => [ { - title: t('gitops-plugin~Application name'), + title: t('plugin__gitops-plugin~Application name'), id: 'name', sort: 'name', transforms: [sortable], props: { className: tableColumnClasses[0] }, }, { - title: t('gitops-plugin~Git repository'), + title: t('plugin__gitops-plugin~Git repository'), id: 'gitRepository', sort: 'gitRepository', transforms: [sortable], @@ -35,15 +35,15 @@ export const ApplicationColumns = (hasSyncStatus: boolean) => { }, { title: hasSyncStatus - ? t('gitops-plugin~Environment status') - : t('gitops-plugin~Environment'), + ? t('plugin__gitops-plugin~Environment status') + : t('plugin__gitops-plugin~Environment'), id: 'environments', sort: 'environments', transforms: [sortable], props: { className: tableColumnClasses[2] }, }, { - title: t('gitops-plugin~Last deployment'), + title: t('plugin__gitops-plugin~Last deployment'), id: 'lastDeployment', sort: 'lastDeployment', transforms: [sortable], diff --git a/src/components/list/ApplicationList.tsx b/src/components/list/ApplicationList.tsx index 76ea1a60..ba4669b9 100644 --- a/src/components/list/ApplicationList.tsx +++ b/src/components/list/ApplicationList.tsx @@ -22,7 +22,7 @@ interface ApplicationListProps { } const ApplicationList: React.FC = ({ appGroups, emptyStateMsg }) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const filters: RowFilter[] = [ { @@ -51,7 +51,7 @@ const ApplicationList: React.FC = ({ appGroups, emptyState data={staticData} loaded={!emptyStateMsg} onFilterChange={onFilterChange} - nameFilterPlaceholder={t('gitops-plugin~by name')} + nameFilterPlaceholder={t('plugin__gitops-plugin~by name')} hideLabelFilter /> diff --git a/src/components/list/ApplicationTableRow.tsx b/src/components/list/ApplicationTableRow.tsx index 913b3e16..68721bc3 100644 --- a/src/components/list/ApplicationTableRow.tsx +++ b/src/components/list/ApplicationTableRow.tsx @@ -46,7 +46,7 @@ const ApplicationTableRow: React.FC> = (props) => { repo_url: repoUrl, } = appGroup; - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const syncedEnvs: string[] = syncStatuses.reduce(getMatchingEnvs(envs, 'Synced'), []); const outOfSyncEnvs: string[] = syncStatuses.reduce(getMatchingEnvs(envs, 'OutOfSync'), []); const unknownEnvs: string[] = syncStatuses.reduce(getMatchingEnvs(envs, 'Unknown'), []); @@ -91,7 +91,7 @@ const ApplicationTableRow: React.FC> = (props) => { {env} - {t('gitops-plugin~Synced')} + {t('plugin__gitops-plugin~Synced')} ))} count={syncedEnvs.length} @@ -104,7 +104,7 @@ const ApplicationTableRow: React.FC> = (props) => { {env} - {t('gitops-plugin~OutOfSync')} + {t('plugin__gitops-plugin~OutOfSync')}
))} count={outOfSyncEnvs.length} @@ -117,7 +117,7 @@ const ApplicationTableRow: React.FC> = (props) => { {env} - {t('gitops-plugin~Unknown')} + {t('plugin__gitops-plugin~Unknown')} ))} count={unknownEnvs.length} diff --git a/src/components/utils/gitops-utils.ts b/src/components/utils/gitops-utils.ts index 0e073bfc..82a1c10d 100644 --- a/src/components/utils/gitops-utils.ts +++ b/src/components/utils/gitops-utils.ts @@ -241,7 +241,7 @@ export const fetchAllAppGroups = async (baseURL: string, manifestURLs: string[], if (baseURL) { if (_.isEmpty(manifestURLs)) { - emptyMsg = t('gitops-plugin~No GitOps manifest URLs found'); + emptyMsg = t('plugin__gitops-plugin~No GitOps manifest URLs found'); } else { try { allAppGroups = _.sortBy( @@ -253,11 +253,11 @@ export const fetchAllAppGroups = async (baseURL: string, manifestURLs: string[], ['name'], ); } catch { - emptyMsg = t('gitops-plugin~Error cannot retrieve applications'); + emptyMsg = t('plugin__gitops-plugin~Error cannot retrieve applications'); return [allAppGroups, emptyMsg]; } if (_.isEmpty(allAppGroups)) { - emptyMsg = t('gitops-plugin~No Application groups found'); + emptyMsg = t('plugin__gitops-plugin~No Application groups found'); } } } diff --git a/src/components/utils/useEnvDetails.ts b/src/components/utils/useEnvDetails.ts index 5c657e73..2b4ca4b7 100644 --- a/src/components/utils/useEnvDetails.ts +++ b/src/components/utils/useEnvDetails.ts @@ -7,7 +7,7 @@ import { pipelinesBaseURI } from '../../const'; import { fetchAppGroups } from './gitops-utils'; const useEnvDetails = (appName, manifestURL) => { - const { t } = useTranslation(); + const { t } = useTranslation('plugin__gitops-plugin'); const [envs, setEnvs] = React.useState(null); const [emptyStateMsg, setEmptyStateMsg] = React.useState(null); React.useEffect(() => { @@ -20,7 +20,7 @@ const useEnvDetails = (appName, manifestURL) => { if (!app?.environments) { setEmptyStateMsg( t( - 'gitops-plugin~Environment details were not found. Try reloading the page or contacting an administrator.', + 'plugin__gitops-plugin~Environment details were not found. Try reloading the page or contacting an administrator.', ), ); } diff --git a/start-console.sh b/start-console.sh index 87ba4826..fd7b129b 100755 --- a/start-console.sh +++ b/start-console.sh @@ -21,6 +21,7 @@ BRIDGE_K8S_MODE_OFF_CLUSTER_ALERTMANAGER=$(oc -n openshift-config-managed get co set -e BRIDGE_K8S_AUTH_BEARER_TOKEN=$(oc whoami --show-token 2>/dev/null) BRIDGE_USER_SETTINGS_LOCATION="localstorage" +BRIDGE_I18N_NAMESPACES="plugin__gitops" # Don't fail if the cluster doesn't have gitops. set +e diff --git a/webpack.config.ts b/webpack.config.ts index 5c36a9c8..66a06022 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -9,6 +9,8 @@ interface Configuration extends WebpackConfiguration { devServer?: WebpackDevServerConfiguration; } +const CopyPlugin = require('copy-webpack-plugin'); + const config: Configuration = { mode: "development", // No regular entry points. The remote container entry is handled by ConsoleRemotePlugin. @@ -92,7 +94,12 @@ const config: Configuration = { writeToDisk: true, }, }, - plugins: [new ConsoleRemotePlugin()], + plugins: [ + new ConsoleRemotePlugin(), + new CopyPlugin({ + patterns: [{ from: '../locales', to: '../dist/locales' }], + }), + ], devtool: "source-map", optimization: { chunkIds: "named", diff --git a/yarn.lock b/yarn.lock index c2c61c43..0222ebed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -541,6 +541,11 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "@types/node@*": version "18.6.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5" @@ -655,6 +660,11 @@ dependencies: "@types/node" "*" +"@types/symlink-or-copy@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@types/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz#4151a81b4052c80bc2becbae09f3a9ec010a9c7a" + integrity sha512-Lja2xYuuf2B3knEsga8ShbOdsfNOtzT73GyJmZyY7eGl2+ajOqrs8yM5ze0fsSoYwvA6bw7/Qr7OZ7PEEmYwWg== + "@types/webpack-dev-server@^4.7.2": version "4.7.2" resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-4.7.2.tgz#a12d9881aa23cdd4cecbb2d31fa784a45c4967e0" @@ -1011,6 +1021,13 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA== + dependencies: + buffer-equal "^1.0.0" + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1072,6 +1089,11 @@ array.prototype.flatmap@^1.3.0: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + attr-accept@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-1.1.3.tgz#48230c79f93790ef2775fcec4f0db0f5db41ca52" @@ -1127,6 +1149,11 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1142,6 +1169,38 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +broccoli-node-api@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/broccoli-node-api/-/broccoli-node-api-1.7.0.tgz#391aa6edecd2a42c63c111b4162956b2fa288cb6" + integrity sha512-QIqLSVJWJUVOhclmkmypJJH9u9s/aWH4+FH6Q6Ju5l+Io4dtwqdPUNmDfw40o6sxhbZHhqGujDJuHTML1wG8Yw== + +broccoli-node-info@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/broccoli-node-info/-/broccoli-node-info-2.2.0.tgz#feb01c13020792f429e01d7f7845dc5b3a7932b3" + integrity sha512-VabSGRpKIzpmC+r+tJueCE5h8k6vON7EIMMWu6d/FyPdtijwLQ7QvzShEw+m3mHoDzUaj/kiZsDYrS8X2adsBg== + +broccoli-output-wrapper@^3.2.5: + version "3.2.5" + resolved "https://registry.npmjs.org/broccoli-output-wrapper/-/broccoli-output-wrapper-3.2.5.tgz#514b17801c92922a2c2f87fd145df2a25a11bc5f" + integrity sha512-bQAtwjSrF4Nu0CK0JOy5OZqw9t5U0zzv2555EA/cF8/a8SLDTIetk9UgrtMVw7qKLKdSpOZ2liZNeZZDaKgayw== + dependencies: + fs-extra "^8.1.0" + heimdalljs-logger "^0.1.10" + symlink-or-copy "^1.2.0" + +broccoli-plugin@^4.0.5: + version "4.0.7" + resolved "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz#dd176a85efe915ed557d913744b181abe05047db" + integrity sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg== + dependencies: + broccoli-node-api "^1.7.0" + broccoli-output-wrapper "^3.2.5" + fs-merger "^3.2.1" + promise-map-series "^0.3.0" + quick-temp "^0.1.8" + rimraf "^3.0.2" + symlink-or-copy "^1.3.1" + browserslist@^4.14.5: version "4.21.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" @@ -1152,6 +1211,11 @@ browserslist@^4.14.5: node-releases "^2.0.6" update-browserslist-db "^1.0.5" +buffer-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1207,6 +1271,31 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.12" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -1241,6 +1330,11 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -1250,6 +1344,25 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1284,14 +1397,19 @@ colorette@^2.0.10, colorette@^2.0.14: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +colors@~1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^7.0.0: +commander@^7.0.0, commander@~7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== comment-json@4.x: @@ -1335,6 +1453,16 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concat-stream@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + connect-history-api-fallback@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" @@ -1352,6 +1480,11 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -1362,6 +1495,18 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + core-js@^2.5.0: version "2.6.12" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" @@ -1411,6 +1556,22 @@ css-loader@^5.2.7: schema-utils "^3.0.0" semver "^7.3.5" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -1421,7 +1582,12 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== -debug@2.6.9, debug@^2.6.9: +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1535,11 +1701,51 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + dompurify@^2.2.6: version "2.3.10" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.10.tgz#901f7390ffe16a91a5a556b94043314cd4850385" integrity sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g== +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + +duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1560,6 +1766,13 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: version "5.10.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" @@ -1568,11 +1781,26 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: graceful-fs "^4.2.4" tapable "^2.2.0" +ensure-posix-path@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz#3c62bdb19fa4681544289edb2b382adc029179ce" + integrity sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw== + +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + envinfo@^7.7.3: version "7.8.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== +eol@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" + integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1959,6 +2187,11 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -1969,6 +2202,17 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^3.2.11: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" @@ -2084,6 +2328,14 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== +flush-write-stream@^1.0.2: + version "1.1.1" + resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + focus-trap@6.9.2: version "6.9.2" resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-6.9.2.tgz#a9ef72847869bd2cbf62cb930aaf8e138fef1ca9" @@ -2106,11 +2358,60 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-extra@^8.0.1, fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-merger@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/fs-merger/-/fs-merger-3.2.1.tgz#a225b11ae530426138294b8fbb19e82e3d4e0b3b" + integrity sha512-AN6sX12liy0JE7C2evclwoo0aCG3PFulLjrTLsJpWh/2mM+DinhpSGqYLbHBBbIW1PLRNcFhJG8Axtz8mQW3ug== + dependencies: + broccoli-node-api "^1.7.0" + broccoli-node-info "^2.1.0" + fs-extra "^8.0.1" + fs-tree-diff "^2.0.1" + walk-sync "^2.2.0" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ== + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +fs-tree-diff@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz#343e4745ab435ec39ebac5f9059ad919cd034afa" + integrity sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A== + dependencies: + "@types/symlink-or-copy" "^1.2.0" + heimdalljs-logger "^0.1.7" + object-assign "^4.1.0" + path-posix "^1.0.0" + symlink-or-copy "^1.1.8" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2193,6 +2494,14 @@ git-url-parse@^11.4.0: dependencies: git-up "^4.0.0" +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -2207,12 +2516,28 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw== + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.1.3, glob@^7.2.0: +glob@^7.1.1, glob@^7.1.3, glob@^7.2.0: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -2248,11 +2573,29 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +globby@^13.1.1: + version "13.1.3" + resolved "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" + integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +gulp-sort@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/gulp-sort/-/gulp-sort-2.0.0.tgz#c6762a2f1f0de0a3fc595a21599d3fac8dba1aca" + integrity sha512-MyTel3FXOdh1qhw1yKhpimQrAmur9q1X0ZigLmCOxouQD+BD3za9/89O+HfbgBQvvh4igEbp0/PUWO+VqGYG1g== + dependencies: + through2 "^2.0.1" + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -2304,6 +2647,26 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +heimdalljs-logger@^0.1.10, heimdalljs-logger@^0.1.7: + version "0.1.10" + resolved "https://registry.npmjs.org/heimdalljs-logger/-/heimdalljs-logger-0.1.10.tgz#90cad58aabb1590a3c7e640ddc6a4cd3a43faaf7" + integrity sha512-pO++cJbhIufVI/fmB/u2Yty3KJD0TqNPecehFae0/eps0hkZ3b4Zc/PezUMOpYuHFQbA7FxHZxa305EhmjLj4g== + dependencies: + debug "^2.2.0" + heimdalljs "^0.2.6" + +heimdalljs@^0.2.6: + version "0.2.6" + resolved "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz#b0eebabc412813aeb9542f9cc622cb58dbdcd9fe" + integrity sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA== + dependencies: + rsvp "~3.2.1" + history@*, history@^5.0.0: version "5.3.0" resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" @@ -2357,6 +2720,16 @@ html-parse-stringify@^3.0.1: dependencies: void-elements "3.1.0" +htmlparser2@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010" + integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + domutils "^3.0.1" + entities "^4.3.0" + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -2413,6 +2786,28 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +i18next-parser@^3.3.0: + version "3.11.0" + resolved "https://registry.npmjs.org/i18next-parser/-/i18next-parser-3.11.0.tgz#62ead424f63c6e5e40da26bca258a5d6fb08538e" + integrity sha512-mJuh+5sgDCbdaSGDXRUKZ90UjjmBwo7Uq4GYsjve1XmtQpzftVz0XRjGC4JP4A6wyyeha1l7SI3KFLbOk8s0qQ== + dependencies: + broccoli-plugin "^4.0.5" + cheerio "^1.0.0-rc.2" + colors "~1.4.0" + commander "~7.2.0" + concat-stream "~2.0.0" + eol "^0.9.1" + fs-extra "^9.1.0" + gulp-sort "^2.0.0" + i18next "^20.2.1" + js-yaml "4.1.0" + rsvp "^4.8.2" + through2 "~4.0.2" + typescript "^4.2.4" + vinyl "~2.2.1" + vinyl-fs "^3.0.2" + vue-template-compiler "^2.6.11" + i18next@^19.8.3: version "19.9.2" resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.9.2.tgz#ea5a124416e3c5ab85fddca2c8e3c3669a8da397" @@ -2420,6 +2815,13 @@ i18next@^19.8.3: dependencies: "@babel/runtime" "^7.12.0" +i18next@^20.2.1: + version "20.6.1" + resolved "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz#535e5f6e5baeb685c7d25df70db63bf3cc0aa345" + integrity sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A== + dependencies: + "@babel/runtime" "^7.12.0" + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2515,6 +2917,14 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -2542,6 +2952,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" @@ -2573,7 +2988,7 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extglob@^2.1.1: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== @@ -2590,6 +3005,13 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -2597,6 +3019,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -2634,6 +3061,13 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -2672,6 +3106,23 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -2679,6 +3130,11 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -2720,9 +3176,9 @@ jest-worker@^27.4.5: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^4.1.0: +js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -2764,6 +3220,22 @@ json5@^2.1.2: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.2" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd" @@ -2782,6 +3254,13 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -2789,6 +3268,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow== + dependencies: + flush-write-stream "^1.0.2" + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -2882,6 +3368,14 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +matcher-collection@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz#90be1a4cf58d6f2949864f65bb3b0f3e41303b29" + integrity sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ== + dependencies: + "@types/minimatch" "^3.0.3" + minimatch "^3.0.2" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -2969,7 +3463,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -2981,6 +3475,11 @@ minimist@^1.2.0, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +mktemp@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/mktemp/-/mktemp-0.4.0.tgz#6d0515611c8a8c84e484aa2000129b98e981ff0b" + integrity sha512-IXnMcJ6ZyTuhRmJSjzvHSRhlVPiN9Jwc6e59V0bEJ0ba6OBeX2L0E+mRN1QseeOF4mM+F1Rit6Nh7o+rl2Yn/A== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -3044,6 +3543,13 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -3054,6 +3560,13 @@ normalize-url@^6.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -3068,12 +3581,19 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== -object-assign@^4.1.1: +object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -3088,6 +3608,16 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object.assign@^4.0.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -3150,7 +3680,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0: +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -3185,6 +3715,13 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw== + dependencies: + readable-stream "^2.0.1" + os-locale@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" @@ -3282,11 +3819,31 @@ parse-url@^6.0.0: parse-path "^4.0.0" protocols "^1.4.0" +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -3317,6 +3874,11 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-posix@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz#06b26113f56beab042545a23bfa88003ccac260f" + integrity sha512-1gJ0WpNIiYcQydgg3Ed8KzvIqTsDpNwq+cjBCssvBtuTWjEqY1AW+i+OepiEMqDCzyro9B2sLAe4RBPajMYFiA== + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -3423,11 +3985,16 @@ prettier@^2.6.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -process-nextick-args@~2.0.0: +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +promise-map-series@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz#41873ca3652bb7a042b387d538552da9b576f8a1" + integrity sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA== + prop-types-extra@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" @@ -3468,6 +4035,23 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -3502,6 +4086,15 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-temp@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.8.tgz#bab02a242ab8fb0dd758a3c9776b32f9a5d94408" + integrity sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA== + dependencies: + mktemp "~0.4.0" + rimraf "^2.5.4" + underscore.string "~3.3.4" + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3649,7 +4242,16 @@ read-pkg@5.x: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^2.0.1: +readable-stream@3, readable-stream@^3.0.2, readable-stream@^3.0.6: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -3662,15 +4264,6 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -3724,11 +4317,38 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA== + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -3771,6 +4391,13 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A== + dependencies: + value-or-function "^3.0.0" + resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" @@ -3804,6 +4431,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rimraf@^2.5.4: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -3811,6 +4445,16 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rsvp@^4.8.2: + version "4.8.5" + resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rsvp@~3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz#07cb4a5df25add9e826ebc67dcc9fd89db27d84a" + integrity sha512-Rf4YVNYpKjZ6ASAmibcwTNciQ5Co5Ztq6iZPEykHpkoflnD/K5ryE/rHehFsTm4NJj8nKDhbi3eKBWGogmNnkg== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -4039,6 +4683,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" @@ -4120,6 +4769,11 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== +sprintf-js@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -4130,6 +4784,11 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -4278,6 +4937,11 @@ symbol-observable@^1.2.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== +symlink-or-copy@^1.1.8, symlink-or-copy@^1.2.0, symlink-or-copy@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz#9506dd64d8e98fa21dcbf4018d1eab23e77f71fe" + integrity sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA== + tabbable@^5.3.2: version "5.3.3" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.3.3.tgz#aac0ff88c73b22d6c3c5a50b1586310006b47fbf" @@ -4314,6 +4978,29 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@~4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" @@ -4336,6 +5023,14 @@ tippy.js@5.1.2: dependencies: popper.js "^1.16.0" +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -4343,6 +5038,13 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q== + dependencies: + through2 "^2.0.3" + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -4429,6 +5131,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + typesafe-actions@^4.2.1: version "4.4.2" resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-4.4.2.tgz#8f817c479d12130b5ebb442032968b2a18929e1a" @@ -4439,6 +5146,11 @@ typescript@3.8.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@^4.2.4: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -4449,6 +5161,37 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== + +underscore.string@~3.3.4: + version "3.3.6" + resolved "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz#ad8cf23d7423cb3b53b898476117588f4e2f9159" + integrity sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ== + dependencies: + sprintf-js "^1.1.1" + util-deprecate "^1.0.2" + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -4507,16 +5250,87 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vinyl-fs@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA== + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0, vinyl@~2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + void-elements@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== +vue-template-compiler@^2.6.11: + version "2.7.14" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" + integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +walk-sync@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz#80786b0657fcc8c0e1c0b1a042a09eae2966387a" + integrity sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg== + dependencies: + "@types/minimatch" "^3.0.3" + ensure-posix-path "^1.1.0" + matcher-collection "^2.0.0" + minimatch "^3.0.4" + warning@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" @@ -4723,6 +5537,11 @@ ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== +xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" From 9f736f0ae18cb88a3e321fd7280281dbc466c1e1 Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Tue, 14 Feb 2023 16:01:52 -0500 Subject: [PATCH 4/5] Lint error fix Signed-off-by: Yi Cai --- src/components/details/ArgoCdLink.tsx | 39 +++++++------------ src/components/details/EnvironmentDetails.tsx | 24 ++++++++---- .../details/EnvironmentDetailsPageHeading.tsx | 4 +- src/components/details/ResourcesSection.tsx | 4 +- src/components/history/DeploymentHistory.tsx | 4 +- 5 files changed, 38 insertions(+), 37 deletions(-) diff --git a/src/components/details/ArgoCdLink.tsx b/src/components/details/ArgoCdLink.tsx index 30e0fc3e..a73c9dc1 100644 --- a/src/components/details/ArgoCdLink.tsx +++ b/src/components/details/ArgoCdLink.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; -import * as _ from 'lodash'; + import { SplitItem } from '@patternfly/react-core'; + import * as argoIcon from '../../images/argo.png'; import ExternalLink from '../utils/ExternalLink/ExternalLink'; @@ -10,30 +11,18 @@ type ArgoCdLinkProps = { argocdLink: any; }; -const ArgoCdLink: React.FC = ({ - envName, - appName, - argocdLink, -}) => { - // Use environment name as is or the original KAM-based design - const appNameLink = envName.includes(appName) ? envName : envName + "-" + appName; - return ( - - - - Argo CD - - - - ); +const ArgoCdLink: React.FC = ({ envName, appName, argocdLink }) => { + // Use environment name as is or the original KAM-based design + const appNameLink = envName.includes(appName) ? envName : envName + '-' + appName; + return ( + + + + Argo CD + + + + ); }; export default ArgoCdLink; diff --git a/src/components/details/EnvironmentDetails.tsx b/src/components/details/EnvironmentDetails.tsx index 4983a2c9..63a69e13 100644 --- a/src/components/details/EnvironmentDetails.tsx +++ b/src/components/details/EnvironmentDetails.tsx @@ -24,11 +24,11 @@ import ExternalLink from '../utils/ExternalLink/ExternalLink'; import { GitOpsEnvironment } from '../utils/gitops-types'; import { K8sResourceKind } from '../utils/types'; +import ArgoCdLink from './ArgoCdLink'; import RenderStatusLabel from './RenderStatusLabel'; import GitOpsResourcesSection from './ResourcesSection'; import './EnvironmentDetails.scss'; -import ArgoCdLink from './ArgoCdLink'; interface GitOpsDetailsProps { envs: GitOpsEnvironment[]; @@ -132,7 +132,9 @@ const EnvironmentDetails: React.FC = ({ <> {env.revision.message ? ( - {t('plugin__gitops-plugin~{{message}}', { message: env.revision.message })} + {t('plugin__gitops-plugin~{{message}}', { + message: env.revision.message, + })} ) : ( @@ -142,12 +144,14 @@ const EnvironmentDetails: React.FC = ({ {env.revision.author ? ( - {t('plugin__gitops-plugin~by {{author}}', { author: env.revision.author })}{' '} + {t('plugin__gitops-plugin~by {{author}}', { + author: env.revision.author, + })}{' '} ) : ( - - {t('plugin__gitops-plugin~Commit author not available')}{' '} - + + {t('plugin__gitops-plugin~Commit author not available')}{' '} + )} {env.revision.revision ? ( )} @@ -195,7 +199,11 @@ const EnvironmentDetails: React.FC = ({ {argocdLink && ( - + )} diff --git a/src/components/details/EnvironmentDetailsPageHeading.tsx b/src/components/details/EnvironmentDetailsPageHeading.tsx index d6725160..96fe67d6 100644 --- a/src/components/details/EnvironmentDetailsPageHeading.tsx +++ b/src/components/details/EnvironmentDetailsPageHeading.tsx @@ -25,7 +25,9 @@ const EnvironmentDetailsPageHeading: React.FC
- {t('plugin__gitops-plugin~Environments')} + + {t('plugin__gitops-plugin~Environments')} + {t('plugin__gitops-plugin~Application environments')}
diff --git a/src/components/details/ResourcesSection.tsx b/src/components/details/ResourcesSection.tsx index 61d5cccb..73c3d2a5 100644 --- a/src/components/details/ResourcesSection.tsx +++ b/src/components/details/ResourcesSection.tsx @@ -127,11 +127,11 @@ const GitOpsResourcesSection: React.FC = ({ - + {resourcesList.map((eachResource) => ( - {t(`gitops-plugin~${eachResource.name}`)} + {t(`gitops-plugin~${eachResource.name}`)} ))} diff --git a/src/components/history/DeploymentHistory.tsx b/src/components/history/DeploymentHistory.tsx index e0a797e8..6db01b77 100644 --- a/src/components/history/DeploymentHistory.tsx +++ b/src/components/history/DeploymentHistory.tsx @@ -97,7 +97,9 @@ const GitOpsDeploymentHistory: React.FC = ({ return ; } else if (emptyStateMsg) { return ( - + ); } else { return ( From ae666e28d9fb1e16b6e2772884bb43479e91e314 Mon Sep 17 00:00:00 2001 From: Yi Cai Date: Fri, 17 Feb 2023 14:55:10 -0500 Subject: [PATCH 5/5] Added image version in deployment manifest and updated prefix of locale key Signed-off-by: Yi Cai --- manifest.yaml | 2 +- src/components/details/ResourcesSection.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.yaml b/manifest.yaml index 1e5c9d6d..b35c95b1 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -21,7 +21,7 @@ spec: spec: containers: - name: gitops-plugin - image: quay.io/redhat-developer/gitops-console-plugin + image: quay.io/redhat-developer/gitops-console-plugin:v0.1.0 ports: - containerPort: 9001 protocol: TCP diff --git a/src/components/details/ResourcesSection.tsx b/src/components/details/ResourcesSection.tsx index 73c3d2a5..75cb534f 100644 --- a/src/components/details/ResourcesSection.tsx +++ b/src/components/details/ResourcesSection.tsx @@ -131,7 +131,7 @@ const GitOpsResourcesSection: React.FC = ({ {resourcesList.map((eachResource) => ( - {t(`gitops-plugin~${eachResource.name}`)} + {t(`plugin__gitops-plugin~${eachResource.name}`)} ))}