@backstage-community/plugin-jfrog-artifactory 1.28.0 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/api/index.esm.js.map +1 -1
- package/dist/components/JfrogArtifactoryDashboardPage/JfrogArtifactoryDashboardPage.esm.js.map +1 -1
- package/dist/components/JfrogArtifactoryDashboardPage/index.esm.js +5 -1
- package/dist/components/JfrogArtifactoryDashboardPage/index.esm.js.map +1 -1
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.esm.js +1 -1
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.esm.js.map +1 -1
- package/dist/components/JfrogArtifactoryRepository/tableHeading.esm.js.map +1 -1
- package/dist/components/useJfrogArtifactoryAppData.esm.js.map +1 -1
- package/dist/plugin.esm.js.map +1 -1
- package/dist/routes.esm.js.map +1 -1
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/index.esm.js.map +1 -1
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/utils.esm.js.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/api/index.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n ConfigApi,\n createApiRef,\n DiscoveryApi,\n IdentityApi,\n} from '@backstage/core-plugin-api';\n\nimport { TagsResponse } from '../types';\n\nconst DEFAULT_PROXY_PATH = '/jfrog-artifactory/api';\n\nexport interface JfrogArtifactoryApiV1 {\n getTags(\n image: string,\n target?: string,\n repoFilter?: string,\n ): Promise<TagsResponse>;\n}\n\nexport const jfrogArtifactoryApiRef = createApiRef<JfrogArtifactoryApiV1>({\n id: 'plugin.jfrog-artifactory.service',\n});\n\nexport type Options = {\n discoveryApi: DiscoveryApi;\n configApi: ConfigApi;\n identityApi: IdentityApi;\n};\n\nexport class JfrogArtifactoryApiClient implements JfrogArtifactoryApiV1 {\n // @ts-ignore\n private readonly discoveryApi: DiscoveryApi;\n\n private readonly configApi: ConfigApi;\n\n private readonly identityApi: IdentityApi;\n\n constructor(options: Options) {\n this.discoveryApi = options.discoveryApi;\n this.configApi = options.configApi;\n this.identityApi = options.identityApi;\n }\n\n private async getBaseUrl(target?: string) {\n const proxyPath =\n this.configApi.getOptionalString('jfrogArtifactory.proxyPath') ||\n DEFAULT_PROXY_PATH;\n return `${await this.discoveryApi.getBaseUrl('proxy')}${\n target ?? proxyPath\n }`;\n }\n\n private async fetcher(url: string, query: string) {\n const { token: idToken } = await this.identityApi.getCredentials();\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n ...(idToken && { Authorization: `Bearer ${idToken}` }),\n },\n method: 'POST',\n body: query,\n });\n if (!response.ok) {\n throw new Error(\n `failed to fetch data, status ${response.status}: ${response.statusText}`,\n );\n }\n return await response.json();\n }\n\n private getSortField(): string {\n const sortField = this.configApi.getOptionalString(\n 'jfrogArtifactory.sortField',\n );\n\n // Only allow valid sort fields\n if (sortField === 'MODIFIED' || sortField === 'NAME_SEMVER') {\n return sortField;\n }\n\n // Default to NAME_SEMVER if not specified or invalid\n return 'NAME_SEMVER';\n }\n\n private getRepoFilter(): string | undefined {\n return this.configApi.getOptionalString('jfrogArtifactory.repoFilter');\n }\n\n private getPageLimit(): number {\n return (\n this.configApi.getOptionalNumber('jfrogArtifactory.pageLimit') || 100\n );\n }\n\n async getTags(image: string, target?: string, repoFilter?: string) {\n const proxyUrl = await this.getBaseUrl(target);\n\n const filter: any = {\n packageId: `docker://${image}`,\n name: '*',\n ignorePreRelease: false,\n };\n\n const repositoryFilter = repoFilter || this.getRepoFilter();\n if (repositoryFilter) {\n filter.repositoriesIn = {\n name: repositoryFilter,\n };\n }\n\n const tagQuery = {\n query:\n 'query ($filter: VersionFilter!, $first: Int, $orderBy: VersionOrder) { versions (filter: $filter, first: $first, orderBy: $orderBy) { edges { node { name, created, modified, package { id }, repos { name, type, leadFilePath }, licenses { name, source }, size, stats { downloadCount }, vulnerabilities { critical, high, medium, low, info, unknown, skipped }, files { name, lead, size, md5, sha1, sha256, mimeType } } } } }',\n variables: {\n filter,\n first: this.getPageLimit(),\n orderBy: {\n field: this.getSortField(),\n direction: 'DESC',\n },\n },\n };\n\n return (await this.fetcher(\n `${proxyUrl}/metadata/api/v1/query`,\n JSON.stringify(tagQuery),\n )) as TagsResponse;\n }\n}\n"],"names":[],"mappings":";;AAwBA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/api/index.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n ConfigApi,\n createApiRef,\n DiscoveryApi,\n IdentityApi,\n} from '@backstage/core-plugin-api';\n\nimport { TagsResponse } from '../types';\n\nconst DEFAULT_PROXY_PATH = '/jfrog-artifactory/api';\n\nexport interface JfrogArtifactoryApiV1 {\n getTags(\n image: string,\n target?: string,\n repoFilter?: string,\n ): Promise<TagsResponse>;\n}\n\nexport const jfrogArtifactoryApiRef = createApiRef<JfrogArtifactoryApiV1>({\n id: 'plugin.jfrog-artifactory.service',\n});\n\nexport type Options = {\n discoveryApi: DiscoveryApi;\n configApi: ConfigApi;\n identityApi: IdentityApi;\n};\n\nexport class JfrogArtifactoryApiClient implements JfrogArtifactoryApiV1 {\n // @ts-ignore\n private readonly discoveryApi: DiscoveryApi;\n\n private readonly configApi: ConfigApi;\n\n private readonly identityApi: IdentityApi;\n\n constructor(options: Options) {\n this.discoveryApi = options.discoveryApi;\n this.configApi = options.configApi;\n this.identityApi = options.identityApi;\n }\n\n private async getBaseUrl(target?: string) {\n const proxyPath =\n this.configApi.getOptionalString('jfrogArtifactory.proxyPath') ||\n DEFAULT_PROXY_PATH;\n return `${await this.discoveryApi.getBaseUrl('proxy')}${\n target ?? proxyPath\n }`;\n }\n\n private async fetcher(url: string, query: string) {\n const { token: idToken } = await this.identityApi.getCredentials();\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n ...(idToken && { Authorization: `Bearer ${idToken}` }),\n },\n method: 'POST',\n body: query,\n });\n if (!response.ok) {\n throw new Error(\n `failed to fetch data, status ${response.status}: ${response.statusText}`,\n );\n }\n return await response.json();\n }\n\n private getSortField(): string {\n const sortField = this.configApi.getOptionalString(\n 'jfrogArtifactory.sortField',\n );\n\n // Only allow valid sort fields\n if (sortField === 'MODIFIED' || sortField === 'NAME_SEMVER') {\n return sortField;\n }\n\n // Default to NAME_SEMVER if not specified or invalid\n return 'NAME_SEMVER';\n }\n\n private getRepoFilter(): string | undefined {\n return this.configApi.getOptionalString('jfrogArtifactory.repoFilter');\n }\n\n private getPageLimit(): number {\n return (\n this.configApi.getOptionalNumber('jfrogArtifactory.pageLimit') || 100\n );\n }\n\n async getTags(image: string, target?: string, repoFilter?: string) {\n const proxyUrl = await this.getBaseUrl(target);\n\n const filter: any = {\n packageId: `docker://${image}`,\n name: '*',\n ignorePreRelease: false,\n };\n\n const repositoryFilter = repoFilter || this.getRepoFilter();\n if (repositoryFilter) {\n filter.repositoriesIn = {\n name: repositoryFilter,\n };\n }\n\n const tagQuery = {\n query:\n 'query ($filter: VersionFilter!, $first: Int, $orderBy: VersionOrder) { versions (filter: $filter, first: $first, orderBy: $orderBy) { edges { node { name, created, modified, package { id }, repos { name, type, leadFilePath }, licenses { name, source }, size, stats { downloadCount }, vulnerabilities { critical, high, medium, low, info, unknown, skipped }, files { name, lead, size, md5, sha1, sha256, mimeType } } } } }',\n variables: {\n filter,\n first: this.getPageLimit(),\n orderBy: {\n field: this.getSortField(),\n direction: 'DESC',\n },\n },\n };\n\n return (await this.fetcher(\n `${proxyUrl}/metadata/api/v1/query`,\n JSON.stringify(tagQuery),\n )) as TagsResponse;\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/components/JfrogArtifactoryDashboardPage/JfrogArtifactoryDashboardPage.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfrogArtifactoryDashboardPage.esm.js","sources":["../../../src/components/JfrogArtifactoryDashboardPage/JfrogArtifactoryDashboardPage.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useEntity } from '@backstage/plugin-catalog-react';\n\nimport { JfrogArtifactoryRepository } from '../JfrogArtifactoryRepository';\nimport { useJfrogArtifactoryAppData } from '../useJfrogArtifactoryAppData';\n\nexport const JfrogArtifactoryDashboardPage = () => {\n const { entity } = useEntity();\n const { imageName, targetProxy, repoFilter } = useJfrogArtifactoryAppData({\n entity,\n });\n\n return (\n <JfrogArtifactoryRepository\n image={imageName}\n target={targetProxy}\n repoFilter={repoFilter}\n />\n );\n};\n"],"names":[],"mappings":";;;;;AAoBO,MAAM,gCAAgC,MAAM;AACjD,
|
|
1
|
+
{"version":3,"file":"JfrogArtifactoryDashboardPage.esm.js","sources":["../../../src/components/JfrogArtifactoryDashboardPage/JfrogArtifactoryDashboardPage.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useEntity } from '@backstage/plugin-catalog-react';\n\nimport { JfrogArtifactoryRepository } from '../JfrogArtifactoryRepository';\nimport { useJfrogArtifactoryAppData } from '../useJfrogArtifactoryAppData';\n\nexport const JfrogArtifactoryDashboardPage = () => {\n const { entity } = useEntity();\n const { imageName, targetProxy, repoFilter } = useJfrogArtifactoryAppData({\n entity,\n });\n\n return (\n <JfrogArtifactoryRepository\n image={imageName}\n target={targetProxy}\n repoFilter={repoFilter}\n />\n );\n};\n"],"names":[],"mappings":";;;;;AAoBO,MAAM,gCAAgC,MAAM;AACjD,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,SAAA,EAAU;AAC7B,EAAA,MAAM,EAAE,SAAA,EAAW,WAAA,EAAa,UAAA,KAAe,0BAAA,CAA2B;AAAA,IACxE;AAAA,GACD,CAAA;AAED,EAAA,uBACE,GAAA;AAAA,IAAC,0BAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,SAAA;AAAA,MACP,MAAA,EAAQ,WAAA;AAAA,MACR;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -3,7 +3,7 @@ import { useState, useMemo } from 'react';
|
|
|
3
3
|
import { useAsync } from 'react-use';
|
|
4
4
|
import { Progress, Table, Link } from '@backstage/core-components';
|
|
5
5
|
import { useApi } from '@backstage/core-plugin-api';
|
|
6
|
-
import {
|
|
6
|
+
import { Box, Chip, makeStyles } from '@material-ui/core';
|
|
7
7
|
import { jfrogArtifactoryApiRef } from '../../api/index.esm.js';
|
|
8
8
|
import { useStyles, getColumns } from './tableHeading.esm.js';
|
|
9
9
|
import { formatByteSize, formatDate } from '../../utils.esm.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfrogArtifactoryRepository.esm.js","sources":["../../../src/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState, useMemo } from 'react';\nimport { useAsync } from 'react-use';\n\nimport { Link, Progress, Table } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\n\nimport { Box, Chip, makeStyles } from '@material-ui/core';\n\nimport { jfrogArtifactoryApiRef } from '../../api';\nimport { Edge } from '../../types';\nimport { getColumns, useStyles } from './tableHeading';\nimport { formatByteSize, formatDate } from '../../utils';\nimport { useTranslation } from '../../hooks/useTranslation';\n\nconst useLocalStyles = makeStyles({\n chip: {\n margin: 0,\n marginRight: '.2em',\n height: '1.5em',\n '& > span': {\n padding: '.3em',\n },\n },\n});\n\nexport function JfrogArtifactoryRepository({\n image,\n target,\n repoFilter,\n}: RepositoryProps) {\n const jfrogArtifactoryClient = useApi(jfrogArtifactoryApiRef);\n const classes = useStyles();\n const localClasses = useLocalStyles();\n const { t } = useTranslation();\n const [edges, setEdges] = useState<Edge[]>([]);\n const titleprop = t('page.title', { image } as Record<string, string>);\n\n const { loading } = useAsync(async () => {\n const tagsResponse = await jfrogArtifactoryClient.getTags(\n image,\n target,\n repoFilter,\n );\n\n setEdges(tagsResponse.data.versions.edges);\n\n return tagsResponse;\n });\n\n const columns = useMemo(() => getColumns(t), [t]);\n\n if (loading) {\n return <Progress />;\n }\n\n const data = edges?.map((edge: Edge) => {\n const shortHash = edge.node.files\n .find(manifest => manifest.name === 'manifest.json')\n ?.sha256.substring(0, 12);\n return {\n name: edge.node.name,\n last_modified: formatDate(edge.node.modified),\n size: formatByteSize(Number(edge.node.size)),\n manifest_digest: (\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Chip label={t('manifest.sha256')} className={localClasses.chip} />\n {shortHash}\n </Box>\n ),\n repositories:\n `${edge.node.repos.length}` +\n ' | ' +\n `${edge.node.repos.map(repo => repo.name).join('| ')}`,\n };\n });\n\n return (\n <div style={{ border: '1px solid #ddd' }}>\n <Table\n title={titleprop}\n options={{ paging: true, padding: 'dense' }}\n data={data}\n columns={columns}\n emptyContent={\n <div className={classes.empty}>\n {t('table.emptyContent.message')} \n <Link to=\"https://backstage.io/\">\n {t('table.emptyContent.learnMore')}\n </Link>\n </div>\n }\n localization={{\n toolbar: { searchPlaceholder: t('table.searchPlaceholder') },\n pagination: { labelRowsSelect: t('table.labelRowsSelect') },\n }}\n />\n </div>\n );\n}\n\ninterface RepositoryProps {\n image: string;\n target?: string;\n repoFilter?: string;\n}\n"],"names":[],"mappings":";;;;;;;;;;;AA6BA,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"JfrogArtifactoryRepository.esm.js","sources":["../../../src/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState, useMemo } from 'react';\nimport { useAsync } from 'react-use';\n\nimport { Link, Progress, Table } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\n\nimport { Box, Chip, makeStyles } from '@material-ui/core';\n\nimport { jfrogArtifactoryApiRef } from '../../api';\nimport { Edge } from '../../types';\nimport { getColumns, useStyles } from './tableHeading';\nimport { formatByteSize, formatDate } from '../../utils';\nimport { useTranslation } from '../../hooks/useTranslation';\n\nconst useLocalStyles = makeStyles({\n chip: {\n margin: 0,\n marginRight: '.2em',\n height: '1.5em',\n '& > span': {\n padding: '.3em',\n },\n },\n});\n\nexport function JfrogArtifactoryRepository({\n image,\n target,\n repoFilter,\n}: RepositoryProps) {\n const jfrogArtifactoryClient = useApi(jfrogArtifactoryApiRef);\n const classes = useStyles();\n const localClasses = useLocalStyles();\n const { t } = useTranslation();\n const [edges, setEdges] = useState<Edge[]>([]);\n const titleprop = t('page.title', { image } as Record<string, string>);\n\n const { loading } = useAsync(async () => {\n const tagsResponse = await jfrogArtifactoryClient.getTags(\n image,\n target,\n repoFilter,\n );\n\n setEdges(tagsResponse.data.versions.edges);\n\n return tagsResponse;\n });\n\n const columns = useMemo(() => getColumns(t), [t]);\n\n if (loading) {\n return <Progress />;\n }\n\n const data = edges?.map((edge: Edge) => {\n const shortHash = edge.node.files\n .find(manifest => manifest.name === 'manifest.json')\n ?.sha256.substring(0, 12);\n return {\n name: edge.node.name,\n last_modified: formatDate(edge.node.modified),\n size: formatByteSize(Number(edge.node.size)),\n manifest_digest: (\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Chip label={t('manifest.sha256')} className={localClasses.chip} />\n {shortHash}\n </Box>\n ),\n repositories:\n `${edge.node.repos.length}` +\n ' | ' +\n `${edge.node.repos.map(repo => repo.name).join('| ')}`,\n };\n });\n\n return (\n <div style={{ border: '1px solid #ddd' }}>\n <Table\n title={titleprop}\n options={{ paging: true, padding: 'dense' }}\n data={data}\n columns={columns}\n emptyContent={\n <div className={classes.empty}>\n {t('table.emptyContent.message')} \n <Link to=\"https://backstage.io/\">\n {t('table.emptyContent.learnMore')}\n </Link>\n </div>\n }\n localization={{\n toolbar: { searchPlaceholder: t('table.searchPlaceholder') },\n pagination: { labelRowsSelect: t('table.labelRowsSelect') },\n }}\n />\n </div>\n );\n}\n\ninterface RepositoryProps {\n image: string;\n target?: string;\n repoFilter?: string;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableHeading.esm.js","sources":["../../../src/components/JfrogArtifactoryRepository/tableHeading.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { TableColumn } from '@backstage/core-components';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from '../../translations';\n\nimport makeStyles from '@material-ui/core/styles/makeStyles';\n\nexport const getColumns = (\n t: TranslationFunction<typeof jfrogArtifactoryTranslationRef.T>,\n): TableColumn[] => [\n {\n title: t('table.columns.version'),\n field: 'name',\n type: 'string',\n highlight: true,\n },\n {\n title: t('table.columns.repositories'),\n field: 'repositories',\n type: 'string',\n },\n {\n title: t('table.columns.manifest'),\n field: 'manifest_digest',\n type: 'string',\n },\n {\n title: t('table.columns.modified'),\n field: 'last_modified',\n type: 'date',\n },\n {\n title: t('table.columns.size'),\n field: 'size',\n type: 'string',\n },\n];\n\nexport const useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tableHeading.esm.js","sources":["../../../src/components/JfrogArtifactoryRepository/tableHeading.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { TableColumn } from '@backstage/core-components';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from '../../translations';\n\nimport makeStyles from '@material-ui/core/styles/makeStyles';\n\nexport const getColumns = (\n t: TranslationFunction<typeof jfrogArtifactoryTranslationRef.T>,\n): TableColumn[] => [\n {\n title: t('table.columns.version'),\n field: 'name',\n type: 'string',\n highlight: true,\n },\n {\n title: t('table.columns.repositories'),\n field: 'repositories',\n type: 'string',\n },\n {\n title: t('table.columns.manifest'),\n field: 'manifest_digest',\n type: 'string',\n },\n {\n title: t('table.columns.modified'),\n field: 'last_modified',\n type: 'date',\n },\n {\n title: t('table.columns.size'),\n field: 'size',\n type: 'string',\n },\n];\n\nexport const useStyles = makeStyles(theme => ({\n empty: {\n padding: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n },\n}));\n"],"names":[],"mappings":";;AAqBO,MAAM,UAAA,GAAa,CACxB,CAAA,KACkB;AAAA,EAClB;AAAA,IACE,KAAA,EAAO,EAAE,uBAAuB,CAAA;AAAA,IAChC,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAE,4BAA4B,CAAA;AAAA,IACrC,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAE,wBAAwB,CAAA;AAAA,IACjC,KAAA,EAAO,iBAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAE,wBAAwB,CAAA;AAAA,IACjC,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,KAAA,EAAO,EAAE,oBAAoB,CAAA;AAAA,IAC7B,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM;AAAA;AAEV;AAEO,MAAM,SAAA,GAAY,WAAW,CAAA,KAAA,MAAU;AAAA,EAC5C,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACxB,OAAA,EAAS,MAAA;AAAA,IACT,cAAA,EAAgB;AAAA;AAEpB,CAAA,CAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useJfrogArtifactoryAppData.esm.js","sources":["../../src/components/useJfrogArtifactoryAppData.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Entity } from '@backstage/catalog-model';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME =\n 'jfrog-artifactory/image-name';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_TARGET_PROXY =\n 'jfrog-artifactory/target-proxy';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_REPO_FILTER =\n 'jfrog-artifactory/repo-filter';\n\nexport const useJfrogArtifactoryAppData = ({ entity }: { entity: Entity }) => {\n const imageName =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME] ??\n '';\n\n const targetProxy =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_TARGET_PROXY];\n\n const repoFilter =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_REPO_FILTER];\n\n if (!imageName) {\n throw new Error(\"'Jfrog Artifactory' annotations are missing\");\n }\n return { imageName, targetProxy, repoFilter };\n};\n"],"names":[],"mappings":"AAiBO,MAAM,
|
|
1
|
+
{"version":3,"file":"useJfrogArtifactoryAppData.esm.js","sources":["../../src/components/useJfrogArtifactoryAppData.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Entity } from '@backstage/catalog-model';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME =\n 'jfrog-artifactory/image-name';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_TARGET_PROXY =\n 'jfrog-artifactory/target-proxy';\n\nexport const JFROG_ARTIFACTORY_ANNOTATION_REPO_FILTER =\n 'jfrog-artifactory/repo-filter';\n\nexport const useJfrogArtifactoryAppData = ({ entity }: { entity: Entity }) => {\n const imageName =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME] ??\n '';\n\n const targetProxy =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_TARGET_PROXY];\n\n const repoFilter =\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_REPO_FILTER];\n\n if (!imageName) {\n throw new Error(\"'Jfrog Artifactory' annotations are missing\");\n }\n return { imageName, targetProxy, repoFilter };\n};\n"],"names":[],"mappings":"AAiBO,MAAM,uCAAA,GACX;AAEK,MAAM,yCAAA,GACX;AAEK,MAAM,wCAAA,GACX;AAEK,MAAM,0BAAA,GAA6B,CAAC,EAAE,MAAA,EAAO,KAA0B;AAC5E,EAAA,MAAM,SAAA,GACJ,MAAA,EAAQ,QAAA,CAAS,WAAA,GAAc,uCAAuC,CAAA,IACtE,EAAA;AAEF,EAAA,MAAM,WAAA,GACJ,MAAA,EAAQ,QAAA,CAAS,WAAA,GAAc,yCAAyC,CAAA;AAE1E,EAAA,MAAM,UAAA,GACJ,MAAA,EAAQ,QAAA,CAAS,WAAA,GAAc,wCAAwC,CAAA;AAEzE,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,EAC/D;AACA,EAAA,OAAO,EAAE,SAAA,EAAW,WAAA,EAAa,UAAA,EAAW;AAC9C;;;;"}
|
package/dist/plugin.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Entity } from '@backstage/catalog-model';\nimport {\n configApiRef,\n createApiFactory,\n createComponentExtension,\n createPlugin,\n discoveryApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { JfrogArtifactoryApiClient, jfrogArtifactoryApiRef } from './api';\nimport { JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME } from './components/useJfrogArtifactoryAppData';\nimport { rootRouteRef } from './routes';\n\n/**\n * @public\n */\nexport const jfrogArtifactoryPlugin = createPlugin({\n id: 'jfrog-artifactory',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: jfrogArtifactoryApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n configApi: configApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, configApi, identityApi }) =>\n new JfrogArtifactoryApiClient({ discoveryApi, configApi, identityApi }),\n }),\n ],\n});\n\n/**\n * @public\n */\nexport const JfrogArtifactoryPage = jfrogArtifactoryPlugin.provide(\n createComponentExtension({\n name: 'JfrogArtifactoryPage',\n component: {\n lazy: () =>\n import('./components/JfrogArtifactoryDashboardPage').then(\n m => m.JfrogArtifactoryDashboardPage,\n ),\n },\n }),\n);\n\n/**\n * @public\n */\nexport const isJfrogArtifactoryAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME],\n );\n"],"names":[],"mappings":";;;;;AAgCO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Entity } from '@backstage/catalog-model';\nimport {\n configApiRef,\n createApiFactory,\n createComponentExtension,\n createPlugin,\n discoveryApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\n\nimport { JfrogArtifactoryApiClient, jfrogArtifactoryApiRef } from './api';\nimport { JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME } from './components/useJfrogArtifactoryAppData';\nimport { rootRouteRef } from './routes';\n\n/**\n * @public\n */\nexport const jfrogArtifactoryPlugin = createPlugin({\n id: 'jfrog-artifactory',\n routes: {\n root: rootRouteRef,\n },\n apis: [\n createApiFactory({\n api: jfrogArtifactoryApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n configApi: configApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, configApi, identityApi }) =>\n new JfrogArtifactoryApiClient({ discoveryApi, configApi, identityApi }),\n }),\n ],\n});\n\n/**\n * @public\n */\nexport const JfrogArtifactoryPage = jfrogArtifactoryPlugin.provide(\n createComponentExtension({\n name: 'JfrogArtifactoryPage',\n component: {\n lazy: () =>\n import('./components/JfrogArtifactoryDashboardPage').then(\n m => m.JfrogArtifactoryDashboardPage,\n ),\n },\n }),\n);\n\n/**\n * @public\n */\nexport const isJfrogArtifactoryAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[JFROG_ARTIFACTORY_ANNOTATION_IMAGE_NAME],\n );\n"],"names":[],"mappings":";;;;;AAgCO,MAAM,yBAAyB,YAAA,CAAa;AAAA,EACjD,EAAA,EAAI,mBAAA;AAAA,EACJ,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,gBAAA,CAAiB;AAAA,MACf,GAAA,EAAK,sBAAA;AAAA,MACL,IAAA,EAAM;AAAA,QACJ,YAAA,EAAc,eAAA;AAAA,QACd,SAAA,EAAW,YAAA;AAAA,QACX,WAAA,EAAa;AAAA,OACf;AAAA,MACA,OAAA,EAAS,CAAC,EAAE,YAAA,EAAc,SAAA,EAAW,WAAA,EAAY,KAC/C,IAAI,yBAAA,CAA0B,EAAE,YAAA,EAAc,SAAA,EAAW,aAAa;AAAA,KACzE;AAAA;AAEL,CAAC;AAKM,MAAM,uBAAuB,sBAAA,CAAuB,OAAA;AAAA,EACzD,wBAAA,CAAyB;AAAA,IACvB,IAAA,EAAM,sBAAA;AAAA,IACN,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,MACJ,OAAO,yDAA4C,CAAA,CAAE,IAAA;AAAA,QACnD,OAAK,CAAA,CAAE;AAAA;AACT;AACJ,GACD;AACH;AAKO,MAAM,2BAAA,GAA8B,CAAC,MAAA,KAC1C,OAAA;AAAA,EACE,MAAA,EAAQ,QAAA,CAAS,WAAA,GAAc,uCAAuC;AACxE;;;;"}
|
package/dist/routes.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'jfrog-artifactory',\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'jfrog-artifactory',\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,eAAe,cAAA,CAAe;AAAA,EACzC,EAAA,EAAI;AACN,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * de translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationDe = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory-Repository: {{image}}',\n 'table.searchPlaceholder': 'Filter',\n 'table.labelRowsSelect': 'Zeilen',\n 'table.columns.version': 'Version',\n 'table.columns.repositories': 'Repositorys',\n 'table.columns.manifest': 'Manifest',\n 'table.columns.modified': 'Geändert',\n 'table.columns.size': 'Größe',\n 'table.emptyContent.message': 'Es wurden noch keine Daten hinzugefügt.',\n 'table.emptyContent.learnMore': 'Erfahren Sie, wie man Daten hinzufügt.',\n 'manifest.sha256': 'SHA256',\n },\n});\n\nexport default jfrogArtifactoryTranslationDe;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * de translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationDe = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory-Repository: {{image}}',\n 'table.searchPlaceholder': 'Filter',\n 'table.labelRowsSelect': 'Zeilen',\n 'table.columns.version': 'Version',\n 'table.columns.repositories': 'Repositorys',\n 'table.columns.manifest': 'Manifest',\n 'table.columns.modified': 'Geändert',\n 'table.columns.size': 'Größe',\n 'table.emptyContent.message': 'Es wurden noch keine Daten hinzugefügt.',\n 'table.emptyContent.learnMore': 'Erfahren Sie, wie man Daten hinzufügt.',\n 'manifest.sha256': 'SHA256',\n },\n});\n\nexport default jfrogArtifactoryTranslationDe;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,yBAAA,CAA0B;AAAA,EAC9D,GAAA,EAAK,8BAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,yCAAA;AAAA,IACd,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,QAAA;AAAA,IACzB,uBAAA,EAAyB,SAAA;AAAA,IACzB,4BAAA,EAA8B,aAAA;AAAA,IAC9B,wBAAA,EAA0B,UAAA;AAAA,IAC1B,wBAAA,EAA0B,aAAA;AAAA,IAC1B,oBAAA,EAAsB,aAAA;AAAA,IACtB,4BAAA,EAA8B,4CAAA;AAAA,IAC9B,8BAAA,EAAgC,2CAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * es translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationEs = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'Repositorio de JFrog Artifactory: {{image}}',\n 'table.searchPlaceholder': 'Filtrar',\n 'table.labelRowsSelect': 'Filas',\n 'table.columns.version': 'Versión',\n 'table.columns.repositories': 'Repositorios',\n 'table.columns.manifest': 'Manifiesto',\n 'table.columns.modified': 'Modificado',\n 'table.columns.size': 'Tamaño',\n 'table.emptyContent.message': 'Aún no se agregaron datos,',\n 'table.emptyContent.learnMore': 'aprenda a agregar datos.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationEs;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * es translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationEs = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'Repositorio de JFrog Artifactory: {{image}}',\n 'table.searchPlaceholder': 'Filtrar',\n 'table.labelRowsSelect': 'Filas',\n 'table.columns.version': 'Versión',\n 'table.columns.repositories': 'Repositorios',\n 'table.columns.manifest': 'Manifiesto',\n 'table.columns.modified': 'Modificado',\n 'table.columns.size': 'Tamaño',\n 'table.emptyContent.message': 'Aún no se agregaron datos,',\n 'table.emptyContent.learnMore': 'aprenda a agregar datos.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationEs;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,yBAAA,CAA0B;AAAA,EAC9D,GAAA,EAAK,8BAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,6CAAA;AAAA,IACd,yBAAA,EAA2B,SAAA;AAAA,IAC3B,uBAAA,EAAyB,OAAA;AAAA,IACzB,uBAAA,EAAyB,YAAA;AAAA,IACzB,4BAAA,EAA8B,cAAA;AAAA,IAC9B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,oBAAA,EAAsB,WAAA;AAAA,IACtB,4BAAA,EAA8B,+BAAA;AAAA,IAC9B,8BAAA,EAAgC,0BAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fr.esm.js","sources":["../../src/translations/fr.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * fr translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationFr = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory repository: {{image}}',\n 'table.searchPlaceholder': 'Filtre',\n 'table.labelRowsSelect': 'Lignes',\n 'table.columns.version': 'Version',\n 'table.columns.repositories': 'Dépôts',\n 'table.columns.manifest': 'Manifeste',\n 'table.columns.modified': 'Modifié',\n 'table.columns.size': 'Taille',\n 'table.emptyContent.message':\n 'Aucune donnée n’a été ajouté pour l’instant,',\n 'table.emptyContent.learnMore': 'apprenez comment ajouter des données.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationFr;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"fr.esm.js","sources":["../../src/translations/fr.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * fr translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationFr = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory repository: {{image}}',\n 'table.searchPlaceholder': 'Filtre',\n 'table.labelRowsSelect': 'Lignes',\n 'table.columns.version': 'Version',\n 'table.columns.repositories': 'Dépôts',\n 'table.columns.manifest': 'Manifeste',\n 'table.columns.modified': 'Modifié',\n 'table.columns.size': 'Taille',\n 'table.emptyContent.message':\n 'Aucune donnée n’a été ajouté pour l’instant,',\n 'table.emptyContent.learnMore': 'apprenez comment ajouter des données.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationFr;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,yBAAA,CAA0B;AAAA,EAC9D,GAAA,EAAK,8BAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,yCAAA;AAAA,IACd,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,QAAA;AAAA,IACzB,uBAAA,EAAyB,SAAA;AAAA,IACzB,4BAAA,EAA8B,cAAA;AAAA,IAC9B,wBAAA,EAA0B,WAAA;AAAA,IAC1B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,oBAAA,EAAsB,QAAA;AAAA,IACtB,4BAAA,EACE,oEAAA;AAAA,IACF,8BAAA,EAAgC,0CAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/translations/index.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationResource } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Translation resources for the JFrog Artifactory plugin.\n * @alpha\n */\nexport const jfrogArtifactoryTranslations = createTranslationResource({\n ref: jfrogArtifactoryTranslationRef,\n translations: {\n de: () => import('./de'),\n fr: () => import('./fr'),\n it: () => import('./it'),\n es: () => import('./es'),\n ja: () => import('./ja'),\n },\n});\n\nexport { jfrogArtifactoryTranslationRef };\n"],"names":[],"mappings":";;;AAsBO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/translations/index.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationResource } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Translation resources for the JFrog Artifactory plugin.\n * @alpha\n */\nexport const jfrogArtifactoryTranslations = createTranslationResource({\n ref: jfrogArtifactoryTranslationRef,\n translations: {\n de: () => import('./de'),\n fr: () => import('./fr'),\n it: () => import('./it'),\n es: () => import('./es'),\n ja: () => import('./ja'),\n },\n});\n\nexport { jfrogArtifactoryTranslationRef };\n"],"names":[],"mappings":";;;AAsBO,MAAM,+BAA+B,yBAAA,CAA0B;AAAA,EACpE,GAAA,EAAK,8BAAA;AAAA,EACL,YAAA,EAAc;AAAA,IACZ,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM;AAAA;AAE3B,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"it.esm.js","sources":["../../src/translations/it.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Italian translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationIt = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'Repository JFrog Artifactory: {{image}}',\n 'table.searchPlaceholder': 'Filtra',\n 'table.labelRowsSelect': 'Righe',\n 'table.columns.version': 'Versione',\n 'table.columns.repositories': 'Repository',\n 'table.columns.manifest': 'Manifest',\n 'table.columns.modified': 'Modificato',\n 'table.columns.size': 'Dimensione',\n 'table.emptyContent.message': 'Nessun dato è stato ancora aggiunto,',\n 'table.emptyContent.learnMore': 'scopri come aggiungere dati.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationIt;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"it.esm.js","sources":["../../src/translations/it.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Italian translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationIt = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'Repository JFrog Artifactory: {{image}}',\n 'table.searchPlaceholder': 'Filtra',\n 'table.labelRowsSelect': 'Righe',\n 'table.columns.version': 'Versione',\n 'table.columns.repositories': 'Repository',\n 'table.columns.manifest': 'Manifest',\n 'table.columns.modified': 'Modificato',\n 'table.columns.size': 'Dimensione',\n 'table.emptyContent.message': 'Nessun dato è stato ancora aggiunto,',\n 'table.emptyContent.learnMore': 'scopri come aggiungere dati.',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationIt;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,yBAAA,CAA0B;AAAA,EAC9D,GAAA,EAAK,8BAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,yCAAA;AAAA,IACd,yBAAA,EAA2B,QAAA;AAAA,IAC3B,uBAAA,EAAyB,OAAA;AAAA,IACzB,uBAAA,EAAyB,UAAA;AAAA,IACzB,4BAAA,EAA8B,YAAA;AAAA,IAC9B,wBAAA,EAA0B,UAAA;AAAA,IAC1B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,oBAAA,EAAsB,YAAA;AAAA,IACtB,4BAAA,EAA8B,yCAAA;AAAA,IAC9B,8BAAA,EAAgC,8BAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationJa = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory リポジトリー: {{image}}',\n 'table.searchPlaceholder': 'フィルター',\n 'table.labelRowsSelect': '行',\n 'table.columns.version': 'バージョン',\n 'table.columns.repositories': 'リポジトリー',\n 'table.columns.manifest': 'マニフェスト',\n 'table.columns.modified': '更新済み',\n 'table.columns.size': 'サイズ',\n 'table.emptyContent.message': 'まだデータが追加されていません。',\n 'table.emptyContent.learnMore': 'データの追加方法をご覧ください。',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationJa;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"ja.esm.js","sources":["../../src/translations/ja.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { jfrogArtifactoryTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.jfrog-artifactory.\n * @public\n */\nconst jfrogArtifactoryTranslationJa = createTranslationMessages({\n ref: jfrogArtifactoryTranslationRef,\n messages: {\n 'page.title': 'JFrog Artifactory リポジトリー: {{image}}',\n 'table.searchPlaceholder': 'フィルター',\n 'table.labelRowsSelect': '行',\n 'table.columns.version': 'バージョン',\n 'table.columns.repositories': 'リポジトリー',\n 'table.columns.manifest': 'マニフェスト',\n 'table.columns.modified': '更新済み',\n 'table.columns.size': 'サイズ',\n 'table.emptyContent.message': 'まだデータが追加されていません。',\n 'table.emptyContent.learnMore': 'データの追加方法をご覧ください。',\n 'manifest.sha256': 'sha256',\n },\n});\n\nexport default jfrogArtifactoryTranslationJa;\n"],"names":[],"mappings":";;;AAuBA,MAAM,gCAAgC,yBAAA,CAA0B;AAAA,EAC9D,GAAA,EAAK,8BAAA;AAAA,EACL,QAAA,EAAU;AAAA,IACR,YAAA,EAAc,mEAAA;AAAA,IACd,yBAAA,EAA2B,gCAAA;AAAA,IAC3B,uBAAA,EAAyB,QAAA;AAAA,IACzB,uBAAA,EAAyB,gCAAA;AAAA,IACzB,4BAAA,EAA8B,sCAAA;AAAA,IAC9B,wBAAA,EAA0B,sCAAA;AAAA,IAC1B,wBAAA,EAA0B,0BAAA;AAAA,IAC1B,oBAAA,EAAsB,oBAAA;AAAA,IACtB,4BAAA,EAA8B,kGAAA;AAAA,IAC9B,8BAAA,EAAgC,kGAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n// CRITICAL: Export messages separately for testing\nexport const jfrogArtifactoryMessages = {\n page: {\n title: 'JFrog Artifactory repository: {{image}}',\n },\n table: {\n searchPlaceholder: 'Filter',\n labelRowsSelect: 'Rows',\n columns: {\n version: 'Version',\n repositories: 'Repositories',\n manifest: 'Manifest',\n modified: 'Modified',\n size: 'Size',\n },\n emptyContent: {\n message: 'No data was added yet,',\n learnMore: 'learn how to add data.',\n },\n },\n manifest: {\n sha256: 'sha256',\n },\n};\n\n/**\n * Translation reference for the JFrog Artifactory plugin.\n * @alpha\n */\nexport const jfrogArtifactoryTranslationRef = createTranslationRef({\n id: 'plugin.jfrog-artifactory',\n messages: jfrogArtifactoryMessages,\n});\n"],"names":[],"mappings":";;AAkBO,MAAM,
|
|
1
|
+
{"version":3,"file":"ref.esm.js","sources":["../../src/translations/ref.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n// CRITICAL: Export messages separately for testing\nexport const jfrogArtifactoryMessages = {\n page: {\n title: 'JFrog Artifactory repository: {{image}}',\n },\n table: {\n searchPlaceholder: 'Filter',\n labelRowsSelect: 'Rows',\n columns: {\n version: 'Version',\n repositories: 'Repositories',\n manifest: 'Manifest',\n modified: 'Modified',\n size: 'Size',\n },\n emptyContent: {\n message: 'No data was added yet,',\n learnMore: 'learn how to add data.',\n },\n },\n manifest: {\n sha256: 'sha256',\n },\n};\n\n/**\n * Translation reference for the JFrog Artifactory plugin.\n * @alpha\n */\nexport const jfrogArtifactoryTranslationRef = createTranslationRef({\n id: 'plugin.jfrog-artifactory',\n messages: jfrogArtifactoryMessages,\n});\n"],"names":[],"mappings":";;AAkBO,MAAM,wBAAA,GAA2B;AAAA,EACtC,IAAA,EAAM;AAAA,IACJ,KAAA,EAAO;AAAA,GACT;AAAA,EACA,KAAA,EAAO;AAAA,IACL,iBAAA,EAAmB,QAAA;AAAA,IACnB,eAAA,EAAiB,MAAA;AAAA,IACjB,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,SAAA;AAAA,MACT,YAAA,EAAc,cAAA;AAAA,MACd,QAAA,EAAU,UAAA;AAAA,MACV,QAAA,EAAU,UAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACR;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,wBAAA;AAAA,MACT,SAAA,EAAW;AAAA;AACb,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA;AAEZ;AAMO,MAAM,iCAAiC,oBAAA,CAAqB;AAAA,EACjE,EAAA,EAAI,0BAAA;AAAA,EACJ,QAAA,EAAU;AACZ,CAAC;;;;"}
|
package/dist/utils.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.esm.js","sources":["../src/utils.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { filesize } from 'filesize';\nimport { DateTime } from 'luxon';\n\nexport function formatByteSize(sizeInBytes: number | undefined): string {\n if (!sizeInBytes) return 'N/A';\n\n return filesize(sizeInBytes);\n}\n\n/**\n * Formats a date using the Backstage-standard Luxon library.\n *\n * @param date - The date to format, can be a string, number (Unix timestamp), or Date object.\n * @returns A formatted date string (e.g., \"Jun 9, 2025, 6:15 PM\") or 'N/A'.\n */\nexport function formatDate(date: string | number | Date | undefined): string {\n if (!date || date === -1) {\n return 'N/A';\n }\n\n let dt: DateTime;\n\n if (typeof date === 'number') {\n dt = DateTime.fromSeconds(date);\n } else if (date instanceof Date) {\n dt = DateTime.fromJSDate(date);\n } else {\n dt = DateTime.fromISO(date);\n }\n\n if (!dt.isValid) {\n return 'N/A';\n }\n return dt.toLocaleString(DateTime.DATETIME_MED);\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"utils.esm.js","sources":["../src/utils.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { filesize } from 'filesize';\nimport { DateTime } from 'luxon';\n\nexport function formatByteSize(sizeInBytes: number | undefined): string {\n if (!sizeInBytes) return 'N/A';\n\n return filesize(sizeInBytes);\n}\n\n/**\n * Formats a date using the Backstage-standard Luxon library.\n *\n * @param date - The date to format, can be a string, number (Unix timestamp), or Date object.\n * @returns A formatted date string (e.g., \"Jun 9, 2025, 6:15 PM\") or 'N/A'.\n */\nexport function formatDate(date: string | number | Date | undefined): string {\n if (!date || date === -1) {\n return 'N/A';\n }\n\n let dt: DateTime;\n\n if (typeof date === 'number') {\n dt = DateTime.fromSeconds(date);\n } else if (date instanceof Date) {\n dt = DateTime.fromJSDate(date);\n } else {\n dt = DateTime.fromISO(date);\n }\n\n if (!dt.isValid) {\n return 'N/A';\n }\n return dt.toLocaleString(DateTime.DATETIME_MED);\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,eAAe,WAAA,EAAyC;AACtE,EAAA,IAAI,CAAC,aAAa,OAAO,KAAA;AAEzB,EAAA,OAAO,SAAS,WAAW,CAAA;AAC7B;AAQO,SAAS,WAAW,IAAA,EAAkD;AAC3E,EAAA,IAAI,CAAC,IAAA,IAAQ,IAAA,KAAS,EAAA,EAAI;AACxB,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,EAAA;AAEJ,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,EAAA,GAAK,QAAA,CAAS,YAAY,IAAI,CAAA;AAAA,EAChC,CAAA,MAAA,IAAW,gBAAgB,IAAA,EAAM;AAC/B,IAAA,EAAA,GAAK,QAAA,CAAS,WAAW,IAAI,CAAA;AAAA,EAC/B,CAAA,MAAO;AACL,IAAA,EAAA,GAAK,QAAA,CAAS,QAAQ,IAAI,CAAA;AAAA,EAC5B;AAEA,EAAA,IAAI,CAAC,GAAG,OAAA,EAAS;AACf,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,EAAA,CAAG,cAAA,CAAe,QAAA,CAAS,YAAY,CAAA;AAChD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage-community/plugin-jfrog-artifactory",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.29.0",
|
|
4
4
|
"main": "./dist/index.esm.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"tsc": "tsc"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@backstage/catalog-model": "^1.
|
|
54
|
-
"@backstage/core-components": "^0.18.
|
|
55
|
-
"@backstage/core-plugin-api": "^1.12.
|
|
56
|
-
"@backstage/plugin-catalog-react": "^2.1.
|
|
57
|
-
"@backstage/theme": "^0.7.
|
|
53
|
+
"@backstage/catalog-model": "^1.8.0",
|
|
54
|
+
"@backstage/core-components": "^0.18.9",
|
|
55
|
+
"@backstage/core-plugin-api": "^1.12.5",
|
|
56
|
+
"@backstage/plugin-catalog-react": "^2.1.4",
|
|
57
|
+
"@backstage/theme": "^0.7.3",
|
|
58
58
|
"@material-ui/core": "^4.9.13",
|
|
59
59
|
"filesize": "^11.0.0",
|
|
60
60
|
"luxon": "^3.6.1",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@axe-core/playwright": "^4.11.0",
|
|
69
|
-
"@backstage/cli": "^0.36.
|
|
70
|
-
"@backstage/dev-utils": "^1.1.
|
|
71
|
-
"@backstage/test-utils": "^1.7.
|
|
69
|
+
"@backstage/cli": "^0.36.1",
|
|
70
|
+
"@backstage/dev-utils": "^1.1.22",
|
|
71
|
+
"@backstage/test-utils": "^1.7.17",
|
|
72
72
|
"@playwright/test": "^1.57.0",
|
|
73
73
|
"@testing-library/dom": "^10.4.1",
|
|
74
74
|
"@testing-library/jest-dom": "^6.9.1",
|