@backstage-community/plugin-jfrog-artifactory 1.29.0 → 1.30.1
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 +27 -0
- package/dist/alpha.d.ts +2 -1
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.esm.js +106 -57
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.esm.js.map +1 -1
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.module.css.esm.js +8 -0
- package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.module.css.esm.js.map +1 -0
- package/dist/components/JfrogArtifactoryRepository/tableHeading.esm.js +61 -25
- package/dist/components/JfrogArtifactoryRepository/tableHeading.esm.js.map +1 -1
- package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js +29 -0
- package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js.map +1 -0
- package/dist/translations/de.esm.js +5 -4
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js +2 -1
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js +6 -5
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/it.esm.js +7 -6
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js +2 -1
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js +4 -1
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/utils.esm.js +8 -1
- package/dist/utils.esm.js.map +1 -1
- package/package.json +10 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @backstage-community/plugin-jfrog-artifactory
|
|
2
2
|
|
|
3
|
+
## 1.30.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6622075: Updated dependency `@playwright/test` to `1.61.1`.
|
|
8
|
+
|
|
9
|
+
## 1.30.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 7485585: Backstage version bump to v1.51.0
|
|
14
|
+
- ec5bab3: Backstage version bump to v1.52.0
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- a938525: Migrated the JFrog Artifactory plugin UI from Material UI to Backstage UI (`@backstage/ui`). The repository table now uses BUI `Table`, `SearchField`, and pagination controls. Removed direct MUI dependencies; no breaking API changes.
|
|
19
|
+
|
|
20
|
+
Also fixed the filter input growing when typing, and added i18n support for pagination labels (page size selector and result range) in all supported locales.
|
|
21
|
+
|
|
22
|
+
**Note for consuming apps:** import `@backstage/ui/css/styles.css` in your app entry point if it is not already included.
|
|
23
|
+
|
|
24
|
+
## 1.29.1
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- 69b9fd3: Translations updated for de/es/fr/it/ja
|
|
29
|
+
|
|
3
30
|
## 1.29.0
|
|
4
31
|
|
|
5
32
|
### Minor Changes
|
package/dist/alpha.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api'
|
|
|
7
7
|
declare const jfrogArtifactoryTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"plugin.jfrog-artifactory", {
|
|
8
8
|
readonly "page.title": string;
|
|
9
9
|
readonly "table.searchPlaceholder": string;
|
|
10
|
-
readonly "table.
|
|
10
|
+
readonly "table.pagination.showResults": string;
|
|
11
|
+
readonly "table.pagination.rangeLabel": string;
|
|
11
12
|
readonly "table.columns.version": string;
|
|
12
13
|
readonly "table.columns.repositories": string;
|
|
13
14
|
readonly "table.columns.manifest": string;
|
|
@@ -1,79 +1,128 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
3
|
import { useAsync } from 'react-use';
|
|
4
|
-
import { Progress,
|
|
4
|
+
import { Progress, Link } from '@backstage/core-components';
|
|
5
5
|
import { useApi } from '@backstage/core-plugin-api';
|
|
6
|
-
import {
|
|
6
|
+
import { useTable, Header, Flex, SearchField, Table, Text } from '@backstage/ui';
|
|
7
7
|
import { jfrogArtifactoryApiRef } from '../../api/index.esm.js';
|
|
8
|
-
import {
|
|
9
|
-
import { formatByteSize, formatDate } from '../../utils.esm.js';
|
|
8
|
+
import { getColumns, sortRepositoryRows, filterRepositoryRows } from './tableHeading.esm.js';
|
|
9
|
+
import { parseSizeBytes, formatByteSize, formatDate } from '../../utils.esm.js';
|
|
10
10
|
import { useTranslation } from '../../hooks/useTranslation.esm.js';
|
|
11
|
+
import styles from './JfrogArtifactoryRepository.module.css.esm.js';
|
|
11
12
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
margin: 0,
|
|
15
|
-
marginRight: ".2em",
|
|
16
|
-
height: "1.5em",
|
|
17
|
-
"& > span": {
|
|
18
|
-
padding: ".3em"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|
|
13
|
+
const PAGE_SIZE_OPTIONS = [5, 10, 20, 30, 40, 50];
|
|
14
|
+
const DEFAULT_PAGE_SIZE = 10;
|
|
22
15
|
function JfrogArtifactoryRepository({
|
|
23
16
|
image,
|
|
24
17
|
target,
|
|
25
18
|
repoFilter
|
|
26
19
|
}) {
|
|
27
20
|
const jfrogArtifactoryClient = useApi(jfrogArtifactoryApiRef);
|
|
28
|
-
const classes = useStyles();
|
|
29
|
-
const localClasses = useLocalStyles();
|
|
30
21
|
const { t } = useTranslation();
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
const title = t("page.title", { image });
|
|
23
|
+
const { loading, value: tagsResponse } = useAsync(async () => {
|
|
24
|
+
return jfrogArtifactoryClient.getTags(image, target, repoFilter);
|
|
25
|
+
}, [jfrogArtifactoryClient, image, target, repoFilter]);
|
|
26
|
+
const data = useMemo(() => {
|
|
27
|
+
const edges = tagsResponse?.data.versions.edges ?? [];
|
|
28
|
+
return edges.map((edge) => {
|
|
29
|
+
const sizeBytes = parseSizeBytes(edge.node.size);
|
|
30
|
+
return {
|
|
31
|
+
id: edge.node.name,
|
|
32
|
+
name: edge.node.name,
|
|
33
|
+
repositories: `${edge.node.repos.length} | ${edge.node.repos.map((repo) => repo.name).join("| ")}`,
|
|
34
|
+
manifestHash: edge.node.files.find(
|
|
35
|
+
(manifest) => manifest.name === "manifest.json"
|
|
36
|
+
)?.sha256,
|
|
37
|
+
modified: edge.node.modified,
|
|
38
|
+
modifiedDisplay: formatDate(edge.node.modified),
|
|
39
|
+
size: formatByteSize(sizeBytes),
|
|
40
|
+
sizeBytes
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}, [tagsResponse]);
|
|
42
44
|
const columns = useMemo(() => getColumns(t), [t]);
|
|
45
|
+
const pageSizeOptions = useMemo(
|
|
46
|
+
() => PAGE_SIZE_OPTIONS.map((value) => ({
|
|
47
|
+
value,
|
|
48
|
+
label: t("table.pagination.showResults", {
|
|
49
|
+
count: String(value)
|
|
50
|
+
})
|
|
51
|
+
})),
|
|
52
|
+
[t]
|
|
53
|
+
);
|
|
54
|
+
const paginationOptions = useMemo(
|
|
55
|
+
() => ({
|
|
56
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
57
|
+
showPageSizeOptions: true,
|
|
58
|
+
pageSizeOptions,
|
|
59
|
+
getLabel: ({
|
|
60
|
+
pageSize,
|
|
61
|
+
offset,
|
|
62
|
+
totalCount
|
|
63
|
+
}) => {
|
|
64
|
+
const total = totalCount ?? 0;
|
|
65
|
+
const fromCount = total === 0 ? 0 : (offset ?? 0) + 1;
|
|
66
|
+
const toCount = total === 0 ? 0 : Math.min((offset ?? 0) + pageSize, total);
|
|
67
|
+
return t("table.pagination.rangeLabel", {
|
|
68
|
+
start: String(fromCount),
|
|
69
|
+
end: String(toCount),
|
|
70
|
+
total: String(total)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}),
|
|
74
|
+
[pageSizeOptions, t]
|
|
75
|
+
);
|
|
76
|
+
const { tableProps, search } = useTable({
|
|
77
|
+
mode: "complete",
|
|
78
|
+
data,
|
|
79
|
+
searchFn: filterRepositoryRows,
|
|
80
|
+
sortFn: sortRepositoryRows,
|
|
81
|
+
paginationOptions
|
|
82
|
+
});
|
|
43
83
|
if (loading) {
|
|
44
84
|
return /* @__PURE__ */ jsx(Progress, {});
|
|
45
85
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
name: edge.node.name,
|
|
50
|
-
last_modified: formatDate(edge.node.modified),
|
|
51
|
-
size: formatByteSize(Number(edge.node.size)),
|
|
52
|
-
manifest_digest: /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center" }, children: [
|
|
53
|
-
/* @__PURE__ */ jsx(Chip, { label: t("manifest.sha256"), className: localClasses.chip }),
|
|
54
|
-
shortHash
|
|
55
|
-
] }),
|
|
56
|
-
repositories: `${edge.node.repos.length} | ${edge.node.repos.map((repo) => repo.name).join("| ")}`
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
return /* @__PURE__ */ jsx("div", { style: { border: "1px solid #ddd" }, children: /* @__PURE__ */ jsx(
|
|
60
|
-
Table,
|
|
86
|
+
return /* @__PURE__ */ jsxs(
|
|
87
|
+
"div",
|
|
61
88
|
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
89
|
+
className: styles.tableContainer,
|
|
90
|
+
"data-testid": "jfrog-artifactory-table",
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ jsx(
|
|
93
|
+
Header,
|
|
94
|
+
{
|
|
95
|
+
className: styles.header,
|
|
96
|
+
title,
|
|
97
|
+
customActions: /* @__PURE__ */ jsx(Flex, { className: styles.searchBar, children: /* @__PURE__ */ jsx(
|
|
98
|
+
SearchField,
|
|
99
|
+
{
|
|
100
|
+
"aria-label": t("table.searchPlaceholder"),
|
|
101
|
+
placeholder: t("table.searchPlaceholder"),
|
|
102
|
+
value: search.value,
|
|
103
|
+
onChange: search.onChange,
|
|
104
|
+
style: { width: "100%" }
|
|
105
|
+
}
|
|
106
|
+
) })
|
|
107
|
+
}
|
|
108
|
+
),
|
|
109
|
+
/* @__PURE__ */ jsx(
|
|
110
|
+
Table,
|
|
111
|
+
{
|
|
112
|
+
"aria-label": title,
|
|
113
|
+
columnConfig: columns,
|
|
114
|
+
emptyState: /* @__PURE__ */ jsx("div", { className: styles.empty, children: /* @__PURE__ */ jsxs(Text, { children: [
|
|
115
|
+
t("table.emptyContent.message"),
|
|
116
|
+
"\xA0",
|
|
117
|
+
/* @__PURE__ */ jsx(Link, { to: "https://backstage.io/", children: t("table.emptyContent.learnMore") })
|
|
118
|
+
] }) }),
|
|
119
|
+
...tableProps,
|
|
120
|
+
className: styles.table
|
|
121
|
+
}
|
|
122
|
+
)
|
|
123
|
+
]
|
|
75
124
|
}
|
|
76
|
-
)
|
|
125
|
+
);
|
|
77
126
|
}
|
|
78
127
|
|
|
79
128
|
export { JfrogArtifactoryRepository };
|
|
@@ -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 {
|
|
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 { useMemo } from 'react';\nimport { useAsync } from 'react-use';\n\nimport { Link, Progress } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\nimport {\n Flex,\n Header,\n PageSizeOption,\n SearchField,\n Table,\n Text,\n useTable,\n} from '@backstage/ui';\n\nimport { jfrogArtifactoryApiRef } from '../../api';\nimport { Edge } from '../../types';\nimport {\n filterRepositoryRows,\n getColumns,\n RepositoryRowData,\n sortRepositoryRows,\n} from './tableHeading';\nimport { formatByteSize, formatDate, parseSizeBytes } from '../../utils';\nimport { useTranslation } from '../../hooks/useTranslation';\nimport styles from './JfrogArtifactoryRepository.module.css';\n\nconst PAGE_SIZE_OPTIONS = [5, 10, 20, 30, 40, 50];\nconst DEFAULT_PAGE_SIZE = 10;\n\nexport function JfrogArtifactoryRepository({\n image,\n target,\n repoFilter,\n}: RepositoryProps) {\n const jfrogArtifactoryClient = useApi(jfrogArtifactoryApiRef);\n const { t } = useTranslation();\n const title = t('page.title', { image } as Record<string, string>);\n\n const { loading, value: tagsResponse } = useAsync(async () => {\n return jfrogArtifactoryClient.getTags(image, target, repoFilter);\n }, [jfrogArtifactoryClient, image, target, repoFilter]);\n\n const data = useMemo<RepositoryRowData[]>(() => {\n const edges = tagsResponse?.data.versions.edges ?? [];\n return edges.map((edge: Edge) => {\n const sizeBytes = parseSizeBytes(edge.node.size);\n\n return {\n id: edge.node.name,\n name: edge.node.name,\n repositories:\n `${edge.node.repos.length}` +\n ' | ' +\n `${edge.node.repos.map(repo => repo.name).join('| ')}`,\n manifestHash: edge.node.files.find(\n manifest => manifest.name === 'manifest.json',\n )?.sha256,\n modified: edge.node.modified,\n modifiedDisplay: formatDate(edge.node.modified),\n size: formatByteSize(sizeBytes),\n sizeBytes,\n };\n });\n }, [tagsResponse]);\n\n const columns = useMemo(() => getColumns(t), [t]);\n\n const pageSizeOptions = useMemo<PageSizeOption[]>(\n () =>\n PAGE_SIZE_OPTIONS.map(value => ({\n value,\n label: t('table.pagination.showResults', {\n count: String(value),\n } as Record<string, string>),\n })),\n [t],\n );\n\n const paginationOptions = useMemo(\n () => ({\n pageSize: DEFAULT_PAGE_SIZE,\n showPageSizeOptions: true,\n pageSizeOptions,\n getLabel: ({\n pageSize,\n offset,\n totalCount,\n }: {\n pageSize: number;\n offset?: number;\n totalCount?: number;\n }) => {\n const total = totalCount ?? 0;\n const fromCount = total === 0 ? 0 : (offset ?? 0) + 1;\n const toCount =\n total === 0 ? 0 : Math.min((offset ?? 0) + pageSize, total);\n\n return t('table.pagination.rangeLabel', {\n start: String(fromCount),\n end: String(toCount),\n total: String(total),\n } as Record<string, string>);\n },\n }),\n [pageSizeOptions, t],\n );\n\n const { tableProps, search } = useTable({\n mode: 'complete',\n data,\n searchFn: filterRepositoryRows,\n sortFn: sortRepositoryRows,\n paginationOptions,\n });\n\n if (loading) {\n return <Progress />;\n }\n\n return (\n <div\n className={styles.tableContainer}\n data-testid=\"jfrog-artifactory-table\"\n >\n <Header\n className={styles.header}\n title={title}\n customActions={\n <Flex className={styles.searchBar}>\n <SearchField\n aria-label={t('table.searchPlaceholder')}\n placeholder={t('table.searchPlaceholder')}\n value={search.value}\n onChange={search.onChange}\n style={{ width: '100%' }}\n />\n </Flex>\n }\n />\n <Table\n aria-label={title}\n columnConfig={columns}\n emptyState={\n <div className={styles.empty}>\n <Text>\n {t('table.emptyContent.message')} \n <Link to=\"https://backstage.io/\">\n {t('table.emptyContent.learnMore')}\n </Link>\n </Text>\n </div>\n }\n {...tableProps}\n className={styles.table}\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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"}
|
package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.module.css.esm.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = "/*\n * Copyright 2026 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\n@layer components {\n .JfrogArtifactoryRepository_header__5cbc8c37c1 {\n max-width: 100% !important;\n }\n .JfrogArtifactoryRepository_tableContainer__5cbc8c37c1 {\n border: 1px solid var(--bui-border-1);\n }\n\n /* TablePagination is always the last child of the BUI Table wrapper */\n .JfrogArtifactoryRepository_table__5cbc8c37c1 > :last-child {\n align-items: center;\n padding-top: var(--bui-space-3);\n padding-bottom: var(--bui-space-3);\n }\n\n .JfrogArtifactoryRepository_table__5cbc8c37c1 > :last-child > * {\n align-items: center;\n }\n\n .JfrogArtifactoryRepository_manifestDigest__5cbc8c37c1 {\n display: flex;\n align-items: center;\n }\n\n .JfrogArtifactoryRepository_chip__5cbc8c37c1 {\n margin: 0;\n margin-right: 0.2em;\n height: 1.5em;\n }\n\n .JfrogArtifactoryRepository_empty__5cbc8c37c1 {\n padding: var(--bui-space-4);\n display: flex;\n justify-content: center;\n }\n\n .JfrogArtifactoryRepository_searchBar__5cbc8c37c1 {\n width: 240px;\n max-width: 240px;\n flex-shrink: 0;\n }\n}\n";
|
|
4
|
+
var styles = {"header":"JfrogArtifactoryRepository_header__5cbc8c37c1","tableContainer":"JfrogArtifactoryRepository_tableContainer__5cbc8c37c1","table":"JfrogArtifactoryRepository_table__5cbc8c37c1","manifestDigest":"JfrogArtifactoryRepository_manifestDigest__5cbc8c37c1","chip":"JfrogArtifactoryRepository_chip__5cbc8c37c1","empty":"JfrogArtifactoryRepository_empty__5cbc8c37c1","searchBar":"JfrogArtifactoryRepository_searchBar__5cbc8c37c1"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
8
|
+
//# sourceMappingURL=JfrogArtifactoryRepository.module.css.esm.js.map
|
package/dist/components/JfrogArtifactoryRepository/JfrogArtifactoryRepository.module.css.esm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JfrogArtifactoryRepository.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,40 +1,76 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { CellText, Cell, Flex, TagGroup, Tag } from '@backstage/ui';
|
|
3
|
+
import styles from './JfrogArtifactoryRepository.module.css.esm.js';
|
|
2
4
|
|
|
5
|
+
const compareStrings = (a, b) => (a ?? "").localeCompare(b ?? "");
|
|
6
|
+
const compareDates = (a, b) => new Date(a).getTime() - new Date(b).getTime();
|
|
7
|
+
const sortRepositoryRows = (items, sort) => {
|
|
8
|
+
if (!sort?.column) {
|
|
9
|
+
return items;
|
|
10
|
+
}
|
|
11
|
+
const sorted = [...items].sort((a, b) => {
|
|
12
|
+
switch (String(sort.column)) {
|
|
13
|
+
case "name":
|
|
14
|
+
return compareStrings(a.name, b.name);
|
|
15
|
+
case "repositories":
|
|
16
|
+
return compareStrings(a.repositories, b.repositories);
|
|
17
|
+
case "manifestHash":
|
|
18
|
+
return compareStrings(a.manifestHash, b.manifestHash);
|
|
19
|
+
case "modified":
|
|
20
|
+
return compareDates(a.modified, b.modified);
|
|
21
|
+
case "size":
|
|
22
|
+
return a.sizeBytes - b.sizeBytes;
|
|
23
|
+
default:
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return sort.direction === "ascending" ? sorted : sorted.reverse();
|
|
28
|
+
};
|
|
29
|
+
const filterRepositoryRows = (items, query) => {
|
|
30
|
+
if (!query) {
|
|
31
|
+
return items;
|
|
32
|
+
}
|
|
33
|
+
const lowerQuery = query.toLowerCase();
|
|
34
|
+
return items.filter(
|
|
35
|
+
(item) => item.name.toLowerCase().includes(lowerQuery) || item.repositories.toLowerCase().includes(lowerQuery) || item.manifestHash?.toLowerCase().includes(lowerQuery) || item.modifiedDisplay.toLowerCase().includes(lowerQuery) || item.size.toLowerCase().includes(lowerQuery)
|
|
36
|
+
);
|
|
37
|
+
};
|
|
3
38
|
const getColumns = (t) => [
|
|
4
39
|
{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
40
|
+
id: "name",
|
|
41
|
+
label: t("table.columns.version"),
|
|
42
|
+
isRowHeader: true,
|
|
43
|
+
isSortable: true,
|
|
44
|
+
cell: (row) => /* @__PURE__ */ jsx(CellText, { title: row.name, children: row.name })
|
|
9
45
|
},
|
|
10
46
|
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
47
|
+
id: "repositories",
|
|
48
|
+
label: t("table.columns.repositories"),
|
|
49
|
+
isSortable: true,
|
|
50
|
+
cell: (row) => /* @__PURE__ */ jsx(CellText, { title: row.repositories, children: row.repositories })
|
|
14
51
|
},
|
|
15
52
|
{
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
53
|
+
id: "manifestHash",
|
|
54
|
+
label: t("table.columns.manifest"),
|
|
55
|
+
isSortable: true,
|
|
56
|
+
cell: (row) => /* @__PURE__ */ jsx(Cell, { children: /* @__PURE__ */ jsxs(Flex, { align: "center", className: styles.manifestDigest, children: [
|
|
57
|
+
/* @__PURE__ */ jsx(TagGroup, { children: /* @__PURE__ */ jsx(Tag, { size: "small", className: styles.chip, children: t("manifest.sha256") }) }),
|
|
58
|
+
row.manifestHash?.substring(0, 12)
|
|
59
|
+
] }) })
|
|
19
60
|
},
|
|
20
61
|
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
62
|
+
id: "modified",
|
|
63
|
+
label: t("table.columns.modified"),
|
|
64
|
+
isSortable: true,
|
|
65
|
+
cell: (row) => /* @__PURE__ */ jsx(CellText, { title: row.modifiedDisplay, children: row.modifiedDisplay })
|
|
24
66
|
},
|
|
25
67
|
{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
68
|
+
id: "size",
|
|
69
|
+
label: t("table.columns.size"),
|
|
70
|
+
isSortable: true,
|
|
71
|
+
cell: (row) => /* @__PURE__ */ jsx(CellText, { title: row.size, children: row.size })
|
|
29
72
|
}
|
|
30
73
|
];
|
|
31
|
-
const useStyles = makeStyles((theme) => ({
|
|
32
|
-
empty: {
|
|
33
|
-
padding: theme.spacing(2),
|
|
34
|
-
display: "flex",
|
|
35
|
-
justifyContent: "center"
|
|
36
|
-
}
|
|
37
|
-
}));
|
|
38
74
|
|
|
39
|
-
export { getColumns,
|
|
75
|
+
export { filterRepositoryRows, getColumns, sortRepositoryRows };
|
|
40
76
|
//# sourceMappingURL=tableHeading.esm.js.map
|
|
@@ -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 {
|
|
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 {\n Cell,\n CellText,\n Flex,\n Tag,\n TagGroup,\n type ColumnConfig,\n type SortDescriptor,\n} from '@backstage/ui';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\n\nimport { jfrogArtifactoryTranslationRef } from '../../translations';\nimport styles from './JfrogArtifactoryRepository.module.css';\n\nexport type RepositoryRowData = {\n id: string;\n name: string;\n repositories: string;\n manifestHash?: string;\n modified: string | Date;\n modifiedDisplay: string;\n size: string;\n sizeBytes: number;\n};\n\nconst compareStrings = (a?: string, b?: string) =>\n (a ?? '').localeCompare(b ?? '');\n\nconst compareDates = (a: string | Date, b: string | Date) =>\n new Date(a).getTime() - new Date(b).getTime();\n\nexport const sortRepositoryRows = (\n items: RepositoryRowData[],\n sort: SortDescriptor,\n) => {\n if (!sort?.column) {\n return items;\n }\n\n const sorted = [...items].sort((a, b) => {\n switch (String(sort.column)) {\n case 'name':\n return compareStrings(a.name, b.name);\n case 'repositories':\n return compareStrings(a.repositories, b.repositories);\n case 'manifestHash':\n return compareStrings(a.manifestHash, b.manifestHash);\n case 'modified':\n return compareDates(a.modified, b.modified);\n case 'size':\n return a.sizeBytes - b.sizeBytes;\n default:\n return 0;\n }\n });\n\n return sort.direction === 'ascending' ? sorted : sorted.reverse();\n};\n\nexport const filterRepositoryRows = (\n items: RepositoryRowData[],\n query: string,\n) => {\n if (!query) {\n return items;\n }\n\n const lowerQuery = query.toLowerCase();\n return items.filter(\n item =>\n item.name.toLowerCase().includes(lowerQuery) ||\n item.repositories.toLowerCase().includes(lowerQuery) ||\n item.manifestHash?.toLowerCase().includes(lowerQuery) ||\n item.modifiedDisplay.toLowerCase().includes(lowerQuery) ||\n item.size.toLowerCase().includes(lowerQuery),\n );\n};\n\nexport const getColumns = (\n t: TranslationFunction<typeof jfrogArtifactoryTranslationRef.T>,\n): ColumnConfig<RepositoryRowData>[] => [\n {\n id: 'name',\n label: t('table.columns.version'),\n isRowHeader: true,\n isSortable: true,\n cell: row => <CellText title={row.name}>{row.name}</CellText>,\n },\n {\n id: 'repositories',\n label: t('table.columns.repositories'),\n isSortable: true,\n cell: row => (\n <CellText title={row.repositories}>{row.repositories}</CellText>\n ),\n },\n {\n id: 'manifestHash',\n label: t('table.columns.manifest'),\n isSortable: true,\n cell: row => (\n <Cell>\n <Flex align=\"center\" className={styles.manifestDigest}>\n <TagGroup>\n <Tag size=\"small\" className={styles.chip}>\n {t('manifest.sha256')}\n </Tag>\n </TagGroup>\n {row.manifestHash?.substring(0, 12)}\n </Flex>\n </Cell>\n ),\n },\n {\n id: 'modified',\n label: t('table.columns.modified'),\n isSortable: true,\n cell: row => (\n <CellText title={row.modifiedDisplay}>{row.modifiedDisplay}</CellText>\n ),\n },\n {\n id: 'size',\n label: t('table.columns.size'),\n isSortable: true,\n cell: row => <CellText title={row.size}>{row.size}</CellText>,\n },\n];\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function styleInject(css, ref) {
|
|
2
|
+
if ( ref === void 0 ) ref = {};
|
|
3
|
+
var insertAt = ref.insertAt;
|
|
4
|
+
|
|
5
|
+
if (typeof document === 'undefined') { return; }
|
|
6
|
+
|
|
7
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
8
|
+
var style = document.createElement('style');
|
|
9
|
+
style.type = 'text/css';
|
|
10
|
+
|
|
11
|
+
if (insertAt === 'top') {
|
|
12
|
+
if (head.firstChild) {
|
|
13
|
+
head.insertBefore(style, head.firstChild);
|
|
14
|
+
} else {
|
|
15
|
+
head.appendChild(style);
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
head.appendChild(style);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (style.styleSheet) {
|
|
22
|
+
style.styleSheet.cssText = css;
|
|
23
|
+
} else {
|
|
24
|
+
style.appendChild(document.createTextNode(css));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { styleInject as default };
|
|
29
|
+
//# sourceMappingURL=style-inject.es.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-inject.es.esm.js","sources":["../../../../../../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,MAAM,GAAG,GAAG,GAAG,EAAE;AAChC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ;;AAE7B,EAAE,IAAY,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,CAAC;;AAEzD,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU;;AAEzB,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;AAC/C,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7B,IAAI;AACJ,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC3B,EAAE;;AAEF,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG;AAClC,EAAE,CAAC,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACnD,EAAE;AACF;;;;","x_google_ignoreList":[0]}
|
|
@@ -6,15 +6,16 @@ const jfrogArtifactoryTranslationDe = createTranslationMessages({
|
|
|
6
6
|
messages: {
|
|
7
7
|
"page.title": "JFrog Artifactory-Repository: {{image}}",
|
|
8
8
|
"table.searchPlaceholder": "Filter",
|
|
9
|
-
"table.
|
|
9
|
+
"table.pagination.showResults": "{{count}} Ergebnisse anzeigen",
|
|
10
|
+
"table.pagination.rangeLabel": "{{start}} - {{end}} von {{total}}",
|
|
10
11
|
"table.columns.version": "Version",
|
|
11
12
|
"table.columns.repositories": "Repositorys",
|
|
12
13
|
"table.columns.manifest": "Manifest",
|
|
13
14
|
"table.columns.modified": "Ge\xE4ndert",
|
|
14
15
|
"table.columns.size": "Gr\xF6\xDFe",
|
|
15
|
-
"table.emptyContent.message": "Es wurden noch keine Daten hinzugef\xFCgt
|
|
16
|
-
"table.emptyContent.learnMore": "
|
|
17
|
-
"manifest.sha256": "
|
|
16
|
+
"table.emptyContent.message": "Es wurden noch keine Daten hinzugef\xFCgt,",
|
|
17
|
+
"table.emptyContent.learnMore": "erfahren Sie, wie man Daten hinzuf\xFCgt.",
|
|
18
|
+
"manifest.sha256": "sha256"
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
21
|
|
|
@@ -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.
|
|
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.pagination.showResults': '{{count}} Ergebnisse anzeigen',\n 'table.pagination.rangeLabel': '{{start}} - {{end}} von {{total}}',\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,8BAAA,EAAgC,+BAAA;AAAA,IAChC,6BAAA,EAA+B,mCAAA;AAAA,IAC/B,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;;;;"}
|
|
@@ -6,7 +6,8 @@ const jfrogArtifactoryTranslationEs = createTranslationMessages({
|
|
|
6
6
|
messages: {
|
|
7
7
|
"page.title": "Repositorio de JFrog Artifactory: {{image}}",
|
|
8
8
|
"table.searchPlaceholder": "Filtrar",
|
|
9
|
-
"table.
|
|
9
|
+
"table.pagination.showResults": "Mostrar {{count}} resultados",
|
|
10
|
+
"table.pagination.rangeLabel": "{{start}} - {{end}} de {{total}}",
|
|
10
11
|
"table.columns.version": "Versi\xF3n",
|
|
11
12
|
"table.columns.repositories": "Repositorios",
|
|
12
13
|
"table.columns.manifest": "Manifiesto",
|
|
@@ -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.
|
|
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.pagination.showResults': 'Mostrar {{count}} resultados',\n 'table.pagination.rangeLabel': '{{start}} - {{end}} de {{total}}',\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,8BAAA,EAAgC,8BAAA;AAAA,IAChC,6BAAA,EAA+B,kCAAA;AAAA,IAC/B,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;;;;"}
|
|
@@ -4,16 +4,17 @@ import { jfrogArtifactoryTranslationRef } from './ref.esm.js';
|
|
|
4
4
|
const jfrogArtifactoryTranslationFr = createTranslationMessages({
|
|
5
5
|
ref: jfrogArtifactoryTranslationRef,
|
|
6
6
|
messages: {
|
|
7
|
-
"page.title": "JFrog Artifactory
|
|
7
|
+
"page.title": "R\xE9f\xE9rentiel JFrog Artifactory\xA0: {{image}}",
|
|
8
8
|
"table.searchPlaceholder": "Filtre",
|
|
9
|
-
"table.
|
|
9
|
+
"table.pagination.showResults": "Afficher {{count}} r\xE9sultats",
|
|
10
|
+
"table.pagination.rangeLabel": "{{start}} - {{end}} sur {{total}}",
|
|
10
11
|
"table.columns.version": "Version",
|
|
11
|
-
"table.columns.repositories": "
|
|
12
|
+
"table.columns.repositories": "R\xE9f\xE9rentiels",
|
|
12
13
|
"table.columns.manifest": "Manifeste",
|
|
13
14
|
"table.columns.modified": "Modifi\xE9",
|
|
14
15
|
"table.columns.size": "Taille",
|
|
15
|
-
"table.emptyContent.message": "Aucune donn\xE9e n
|
|
16
|
-
"table.emptyContent.learnMore": "
|
|
16
|
+
"table.emptyContent.message": "Aucune donn\xE9e n'a encore \xE9t\xE9 ajout\xE9e.",
|
|
17
|
+
"table.emptyContent.learnMore": "Apprenez \xE0 ajouter des donn\xE9es.",
|
|
17
18
|
"manifest.sha256": "sha256"
|
|
18
19
|
}
|
|
19
20
|
});
|
|
@@ -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
|
|
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': 'Référentiel JFrog Artifactory : {{image}}',\n 'table.searchPlaceholder': 'Filtre',\n 'table.pagination.showResults': 'Afficher {{count}} résultats',\n 'table.pagination.rangeLabel': '{{start}} - {{end}} sur {{total}}',\n 'table.columns.version': 'Version',\n 'table.columns.repositories': 'Référentiels',\n 'table.columns.manifest': 'Manifeste',\n 'table.columns.modified': 'Modifié',\n 'table.columns.size': 'Taille',\n 'table.emptyContent.message': \"Aucune donnée n'a encore été ajoutée.\",\n 'table.emptyContent.learnMore': 'Apprenez à 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,oDAAA;AAAA,IACd,yBAAA,EAA2B,QAAA;AAAA,IAC3B,8BAAA,EAAgC,iCAAA;AAAA,IAChC,6BAAA,EAA+B,mCAAA;AAAA,IAC/B,uBAAA,EAAyB,SAAA;AAAA,IACzB,4BAAA,EAA8B,oBAAA;AAAA,IAC9B,wBAAA,EAA0B,WAAA;AAAA,IAC1B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,oBAAA,EAAsB,QAAA;AAAA,IACtB,4BAAA,EAA8B,mDAAA;AAAA,IAC9B,8BAAA,EAAgC,uCAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -4,16 +4,17 @@ import { jfrogArtifactoryTranslationRef } from './ref.esm.js';
|
|
|
4
4
|
const jfrogArtifactoryTranslationIt = createTranslationMessages({
|
|
5
5
|
ref: jfrogArtifactoryTranslationRef,
|
|
6
6
|
messages: {
|
|
7
|
-
"page.title": "Repository JFrog
|
|
8
|
-
"table.searchPlaceholder": "
|
|
9
|
-
"table.
|
|
7
|
+
"page.title": "Repository Artifactory di JFrog: {{image}}",
|
|
8
|
+
"table.searchPlaceholder": "Filtro",
|
|
9
|
+
"table.pagination.showResults": "Mostra {{count}} risultati",
|
|
10
|
+
"table.pagination.rangeLabel": "{{start}} - {{end}} di {{total}}",
|
|
10
11
|
"table.columns.version": "Versione",
|
|
11
12
|
"table.columns.repositories": "Repository",
|
|
12
|
-
"table.columns.manifest": "
|
|
13
|
+
"table.columns.manifest": "Manifesto",
|
|
13
14
|
"table.columns.modified": "Modificato",
|
|
14
15
|
"table.columns.size": "Dimensione",
|
|
15
|
-
"table.emptyContent.message": "
|
|
16
|
-
"table.emptyContent.learnMore": "
|
|
16
|
+
"table.emptyContent.message": "Non \xE8 stato ancora aggiunto alcun dato,",
|
|
17
|
+
"table.emptyContent.learnMore": "impara come aggiungere dati.",
|
|
17
18
|
"manifest.sha256": "sha256"
|
|
18
19
|
}
|
|
19
20
|
});
|
|
@@ -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
|
|
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 Artifactory di JFrog: {{image}}',\n 'table.searchPlaceholder': 'Filtro',\n 'table.pagination.showResults': 'Mostra {{count}} risultati',\n 'table.pagination.rangeLabel': '{{start}} - {{end}} di {{total}}',\n 'table.columns.version': 'Versione',\n 'table.columns.repositories': 'Repository',\n 'table.columns.manifest': 'Manifesto',\n 'table.columns.modified': 'Modificato',\n 'table.columns.size': 'Dimensione',\n 'table.emptyContent.message': 'Non è stato ancora aggiunto alcun dato,',\n 'table.emptyContent.learnMore': 'impara 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,4CAAA;AAAA,IACd,yBAAA,EAA2B,QAAA;AAAA,IAC3B,8BAAA,EAAgC,4BAAA;AAAA,IAChC,6BAAA,EAA+B,kCAAA;AAAA,IAC/B,uBAAA,EAAyB,UAAA;AAAA,IACzB,4BAAA,EAA8B,YAAA;AAAA,IAC9B,wBAAA,EAA0B,WAAA;AAAA,IAC1B,wBAAA,EAA0B,YAAA;AAAA,IAC1B,oBAAA,EAAsB,YAAA;AAAA,IACtB,4BAAA,EAA8B,4CAAA;AAAA,IAC9B,8BAAA,EAAgC,8BAAA;AAAA,IAChC,iBAAA,EAAmB;AAAA;AAEvB,CAAC;;;;"}
|
|
@@ -6,7 +6,8 @@ const jfrogArtifactoryTranslationJa = createTranslationMessages({
|
|
|
6
6
|
messages: {
|
|
7
7
|
"page.title": "JFrog Artifactory \u30EA\u30DD\u30B8\u30C8\u30EA\u30FC: {{image}}",
|
|
8
8
|
"table.searchPlaceholder": "\u30D5\u30A3\u30EB\u30BF\u30FC",
|
|
9
|
-
"table.
|
|
9
|
+
"table.pagination.showResults": "{{count}} \u4EF6\u8868\u793A",
|
|
10
|
+
"table.pagination.rangeLabel": "{{total}} \u4EF6\u4E2D {{start}} - {{end}}",
|
|
10
11
|
"table.columns.version": "\u30D0\u30FC\u30B8\u30E7\u30F3",
|
|
11
12
|
"table.columns.repositories": "\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC",
|
|
12
13
|
"table.columns.manifest": "\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8",
|
|
@@ -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.
|
|
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.pagination.showResults': '{{count}} 件表示',\n 'table.pagination.rangeLabel': '{{total}} 件中 {{start}} - {{end}}',\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,8BAAA,EAAgC,8BAAA;AAAA,IAChC,6BAAA,EAA+B,4CAAA;AAAA,IAC/B,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;;;;"}
|
|
@@ -6,7 +6,10 @@ const jfrogArtifactoryMessages = {
|
|
|
6
6
|
},
|
|
7
7
|
table: {
|
|
8
8
|
searchPlaceholder: "Filter",
|
|
9
|
-
|
|
9
|
+
pagination: {
|
|
10
|
+
showResults: "Show {{count}} results",
|
|
11
|
+
rangeLabel: "{{start}} - {{end}} of {{total}}"
|
|
12
|
+
},
|
|
10
13
|
columns: {
|
|
11
14
|
version: "Version",
|
|
12
15
|
repositories: "Repositories",
|
|
@@ -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
|
|
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 pagination: {\n showResults: 'Show {{count}} results',\n rangeLabel: '{{start}} - {{end}} of {{total}}',\n },\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,UAAA,EAAY;AAAA,MACV,WAAA,EAAa,wBAAA;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,IACA,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
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { filesize } from 'filesize';
|
|
2
2
|
import { DateTime } from 'luxon';
|
|
3
3
|
|
|
4
|
+
function parseSizeBytes(size) {
|
|
5
|
+
if (size === void 0 || size === "") {
|
|
6
|
+
return 0;
|
|
7
|
+
}
|
|
8
|
+
const parsed = Number(size);
|
|
9
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
10
|
+
}
|
|
4
11
|
function formatByteSize(sizeInBytes) {
|
|
5
12
|
if (!sizeInBytes) return "N/A";
|
|
6
13
|
return filesize(sizeInBytes);
|
|
@@ -23,5 +30,5 @@ function formatDate(date) {
|
|
|
23
30
|
return dt.toLocaleString(DateTime.DATETIME_MED);
|
|
24
31
|
}
|
|
25
32
|
|
|
26
|
-
export { formatByteSize, formatDate };
|
|
33
|
+
export { formatByteSize, formatDate, parseSizeBytes };
|
|
27
34
|
//# sourceMappingURL=utils.esm.js.map
|
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,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;;;;"}
|
|
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 parseSizeBytes(size: string | number | undefined): number {\n if (size === undefined || size === '') {\n return 0;\n }\n\n const parsed = Number(size);\n return Number.isFinite(parsed) ? parsed : 0;\n}\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,IAAA,EAA2C;AACxE,EAAA,IAAI,IAAA,KAAS,MAAA,IAAa,IAAA,KAAS,EAAA,EAAI;AACrC,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,MAAM,MAAA,GAAS,OAAO,IAAI,CAAA;AAC1B,EAAA,OAAO,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA,GAAI,MAAA,GAAS,CAAA;AAC5C;AAEO,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.30.1",
|
|
4
4
|
"main": "./dist/index.esm.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,12 +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": "^
|
|
57
|
-
"@backstage/
|
|
58
|
-
"@material-ui/core": "^4.9.13",
|
|
53
|
+
"@backstage/catalog-model": "^1.9.0",
|
|
54
|
+
"@backstage/core-components": "^0.18.11",
|
|
55
|
+
"@backstage/core-plugin-api": "^1.12.7",
|
|
56
|
+
"@backstage/plugin-catalog-react": "^3.1.0",
|
|
57
|
+
"@backstage/ui": "^0.16.0",
|
|
59
58
|
"filesize": "^11.0.0",
|
|
60
59
|
"luxon": "^3.6.1",
|
|
61
60
|
"react-use": "^17.4.0"
|
|
@@ -66,10 +65,10 @@
|
|
|
66
65
|
},
|
|
67
66
|
"devDependencies": {
|
|
68
67
|
"@axe-core/playwright": "^4.11.0",
|
|
69
|
-
"@backstage/cli": "^0.36.
|
|
70
|
-
"@backstage/dev-utils": "^1.1.
|
|
71
|
-
"@backstage/test-utils": "^1.7.
|
|
72
|
-
"@playwright/test": "
|
|
68
|
+
"@backstage/cli": "^0.36.3",
|
|
69
|
+
"@backstage/dev-utils": "^1.1.24",
|
|
70
|
+
"@backstage/test-utils": "^1.7.19",
|
|
71
|
+
"@playwright/test": "1.61.1",
|
|
73
72
|
"@testing-library/dom": "^10.4.1",
|
|
74
73
|
"@testing-library/jest-dom": "^6.9.1",
|
|
75
74
|
"@testing-library/react": "^16.3.2",
|