@backstage-community/plugin-azure-devops 0.4.4 → 0.4.7

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/alpha/package.json +2 -2
  3. package/dist/alpha/plugin.esm.js +69 -0
  4. package/dist/alpha/plugin.esm.js.map +1 -0
  5. package/dist/alpha.esm.js +1 -68
  6. package/dist/alpha.esm.js.map +1 -1
  7. package/dist/api/AzureDevOpsApi.esm.js +8 -0
  8. package/dist/api/AzureDevOpsApi.esm.js.map +1 -0
  9. package/dist/{esm/AzureDevOpsApi-GBxs-uQ7.esm.js → api/AzureDevOpsClient.esm.js} +11 -36
  10. package/dist/api/AzureDevOpsClient.esm.js.map +1 -0
  11. package/dist/components/AzureGitTagsIcon/AzureGitTagsIcon.esm.js +7 -0
  12. package/dist/components/AzureGitTagsIcon/AzureGitTagsIcon.esm.js.map +1 -0
  13. package/dist/components/AzurePipelinesIcon/AzurePipelinesIcon.esm.js +27 -0
  14. package/dist/components/AzurePipelinesIcon/AzurePipelinesIcon.esm.js.map +1 -0
  15. package/dist/{esm/AzurePullRequestsIcon-DOAkj-X3.esm.js → components/AzurePullRequestsIcon/AzurePullRequestsIcon.esm.js} +2 -2
  16. package/dist/components/AzurePullRequestsIcon/AzurePullRequestsIcon.esm.js.map +1 -0
  17. package/dist/{esm/index-Bwu2-Sgs.esm.js → components/BuildTable/BuildTable.esm.js} +7 -107
  18. package/dist/components/BuildTable/BuildTable.esm.js.map +1 -0
  19. package/dist/components/EntityPageAzureGitTags/EntityPageAzureGitTags.esm.js +22 -0
  20. package/dist/components/EntityPageAzureGitTags/EntityPageAzureGitTags.esm.js.map +1 -0
  21. package/dist/components/EntityPageAzureGitTags/index.esm.js +2 -0
  22. package/dist/components/EntityPageAzureGitTags/index.esm.js.map +1 -0
  23. package/dist/components/EntityPageAzurePipelines/EntityPageAzurePipelines.esm.js +32 -0
  24. package/dist/components/EntityPageAzurePipelines/EntityPageAzurePipelines.esm.js.map +1 -0
  25. package/dist/components/EntityPageAzurePipelines/index.esm.js +2 -0
  26. package/dist/components/EntityPageAzurePipelines/index.esm.js.map +1 -0
  27. package/dist/components/EntityPageAzurePullRequests/EntityPageAzurePullRequests.esm.js +22 -0
  28. package/dist/components/EntityPageAzurePullRequests/EntityPageAzurePullRequests.esm.js.map +1 -0
  29. package/dist/components/EntityPageAzurePullRequests/index.esm.js +2 -0
  30. package/dist/components/EntityPageAzurePullRequests/index.esm.js.map +1 -0
  31. package/dist/components/GitTagTable/GitTagTable.esm.js +53 -0
  32. package/dist/components/GitTagTable/GitTagTable.esm.js.map +1 -0
  33. package/dist/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.esm.js +41 -0
  34. package/dist/components/PullRequestStatusButtonGroup/PullRequestStatusButtonGroup.esm.js.map +1 -0
  35. package/dist/components/PullRequestTable/PullRequestTable.esm.js +90 -0
  36. package/dist/components/PullRequestTable/PullRequestTable.esm.js.map +1 -0
  37. package/dist/components/PullRequestsPage/PullRequestsPage.esm.js +79 -0
  38. package/dist/components/PullRequestsPage/PullRequestsPage.esm.js.map +1 -0
  39. package/dist/components/PullRequestsPage/index.esm.js +6 -0
  40. package/dist/components/PullRequestsPage/index.esm.js.map +1 -0
  41. package/dist/components/PullRequestsPage/lib/AutoCompleteIcon/AutoCompleteIcon.esm.js +16 -0
  42. package/dist/components/PullRequestsPage/lib/AutoCompleteIcon/AutoCompleteIcon.esm.js.map +1 -0
  43. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCard.esm.js +85 -0
  44. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCard.esm.js.map +1 -0
  45. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardPolicies.esm.js +10 -0
  46. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardPolicies.esm.js.map +1 -0
  47. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardPolicy.esm.js +66 -0
  48. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardPolicy.esm.js.map +1 -0
  49. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardReviewer.esm.js +33 -0
  50. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardReviewer.esm.js.map +1 -0
  51. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardReviewers.esm.js +17 -0
  52. package/dist/components/PullRequestsPage/lib/PullRequestCard/PullRequestCardReviewers.esm.js.map +1 -0
  53. package/dist/components/PullRequestsPage/lib/PullRequestGrid/PullRequestGrid.esm.js +29 -0
  54. package/dist/components/PullRequestsPage/lib/PullRequestGrid/PullRequestGrid.esm.js.map +1 -0
  55. package/dist/components/PullRequestsPage/lib/PullRequestGridColumn/PullRequestGridColumn.esm.js +50 -0
  56. package/dist/components/PullRequestsPage/lib/PullRequestGridColumn/PullRequestGridColumn.esm.js.map +1 -0
  57. package/dist/components/PullRequestsPage/lib/filters/allFilter.esm.js +6 -0
  58. package/dist/components/PullRequestsPage/lib/filters/allFilter.esm.js.map +1 -0
  59. package/dist/components/PullRequestsPage/lib/filters/assignedToTeamFilter.esm.js +17 -0
  60. package/dist/components/PullRequestsPage/lib/filters/assignedToTeamFilter.esm.js.map +1 -0
  61. package/dist/components/PullRequestsPage/lib/filters/assignedToTeamsFilter.esm.js +20 -0
  62. package/dist/components/PullRequestsPage/lib/filters/assignedToTeamsFilter.esm.js.map +1 -0
  63. package/dist/components/PullRequestsPage/lib/filters/assignedToUserFilter.esm.js +20 -0
  64. package/dist/components/PullRequestsPage/lib/filters/assignedToUserFilter.esm.js.map +1 -0
  65. package/dist/components/PullRequestsPage/lib/filters/createFilter.esm.js +45 -0
  66. package/dist/components/PullRequestsPage/lib/filters/createFilter.esm.js.map +1 -0
  67. package/dist/components/PullRequestsPage/lib/filters/createdByTeamFilter.esm.js +17 -0
  68. package/dist/components/PullRequestsPage/lib/filters/createdByTeamFilter.esm.js.map +1 -0
  69. package/dist/components/PullRequestsPage/lib/filters/createdByTeamsFilter.esm.js +32 -0
  70. package/dist/components/PullRequestsPage/lib/filters/createdByTeamsFilter.esm.js.map +1 -0
  71. package/dist/components/PullRequestsPage/lib/filters/createdByUserFilter.esm.js +18 -0
  72. package/dist/components/PullRequestsPage/lib/filters/createdByUserFilter.esm.js.map +1 -0
  73. package/dist/components/PullRequestsPage/lib/filters/types.esm.js +17 -0
  74. package/dist/components/PullRequestsPage/lib/filters/types.esm.js.map +1 -0
  75. package/dist/components/PullRequestsPage/lib/hooks/useFilterProcessor.esm.js +37 -0
  76. package/dist/components/PullRequestsPage/lib/hooks/useFilterProcessor.esm.js.map +1 -0
  77. package/dist/components/PullRequestsPage/lib/utils.esm.js +47 -0
  78. package/dist/components/PullRequestsPage/lib/utils.esm.js.map +1 -0
  79. package/dist/{esm/index-BJ_pWnMh.esm.js → components/ReadmeCard/ReadmeCard.esm.js} +8 -31
  80. package/dist/components/ReadmeCard/ReadmeCard.esm.js.map +1 -0
  81. package/dist/components/ReadmeCard/index.esm.js +2 -0
  82. package/dist/components/ReadmeCard/index.esm.js.map +1 -0
  83. package/dist/hooks/useBuildRuns.esm.js +37 -0
  84. package/dist/hooks/useBuildRuns.esm.js.map +1 -0
  85. package/dist/hooks/useDashboardPullRequests.esm.js +43 -0
  86. package/dist/hooks/useDashboardPullRequests.esm.js.map +1 -0
  87. package/dist/hooks/useGitTags.esm.js +30 -0
  88. package/dist/hooks/useGitTags.esm.js.map +1 -0
  89. package/dist/hooks/usePullRequests.esm.js +41 -0
  90. package/dist/hooks/usePullRequests.esm.js.map +1 -0
  91. package/dist/hooks/useReadme.esm.js +32 -0
  92. package/dist/hooks/useReadme.esm.js.map +1 -0
  93. package/dist/hooks/useUserEmail.esm.js +11 -0
  94. package/dist/hooks/useUserEmail.esm.js.map +1 -0
  95. package/dist/hooks/useUserTeamIds.esm.js +23 -0
  96. package/dist/hooks/useUserTeamIds.esm.js.map +1 -0
  97. package/dist/index.esm.js +7 -92
  98. package/dist/index.esm.js.map +1 -1
  99. package/dist/plugin.esm.js +68 -0
  100. package/dist/plugin.esm.js.map +1 -0
  101. package/dist/routes.esm.js +17 -0
  102. package/dist/routes.esm.js.map +1 -0
  103. package/dist/utils/arrayHas.esm.js +15 -0
  104. package/dist/utils/arrayHas.esm.js.map +1 -0
  105. package/dist/utils/equalsIgnoreCase.esm.js +6 -0
  106. package/dist/utils/equalsIgnoreCase.esm.js.map +1 -0
  107. package/dist/{esm/getAnnotationValuesFromEntity-G8YVs-3R.esm.js → utils/getAnnotationValuesFromEntity.esm.js} +7 -8
  108. package/dist/utils/getAnnotationValuesFromEntity.esm.js.map +1 -0
  109. package/dist/utils/getDurationFromDates.esm.js +34 -0
  110. package/dist/utils/getDurationFromDates.esm.js.map +1 -0
  111. package/package.json +19 -13
  112. package/dist/esm/AzureDevOpsApi-GBxs-uQ7.esm.js.map +0 -1
  113. package/dist/esm/AzurePullRequestsIcon-DOAkj-X3.esm.js.map +0 -1
  114. package/dist/esm/PullRequestsPage-CkhRQsgx.esm.js +0 -610
  115. package/dist/esm/PullRequestsPage-CkhRQsgx.esm.js.map +0 -1
  116. package/dist/esm/getAnnotationValuesFromEntity-G8YVs-3R.esm.js.map +0 -1
  117. package/dist/esm/index-1Rl7C23d.esm.js +0 -102
  118. package/dist/esm/index-1Rl7C23d.esm.js.map +0 -1
  119. package/dist/esm/index-BJ_pWnMh.esm.js.map +0 -1
  120. package/dist/esm/index-Bo-6jkQA.esm.js +0 -178
  121. package/dist/esm/index-Bo-6jkQA.esm.js.map +0 -1
  122. package/dist/esm/index-Bwu2-Sgs.esm.js.map +0 -1
  123. package/dist/esm/index-W1pvc5vi.esm.js +0 -25
  124. package/dist/esm/index-W1pvc5vi.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equalsIgnoreCase.esm.js","sources":["../../src/utils/equalsIgnoreCase.ts"],"sourcesContent":["/*\n * Copyright 2021 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\nexport function equalsIgnoreCase(str1: string, str2: string): boolean {\n return str1.toLocaleLowerCase('en-US') === str2.toLocaleLowerCase('en-US');\n}\n"],"names":[],"mappings":"AAgBgB,SAAA,gBAAA,CAAiB,MAAc,IAAuB,EAAA;AACpE,EAAA,OAAO,KAAK,iBAAkB,CAAA,OAAO,CAAM,KAAA,IAAA,CAAK,kBAAkB,OAAO,CAAA,CAAA;AAC3E;;;;"}
@@ -1,12 +1,11 @@
1
1
  import { AZURE_DEVOPS_PROJECT_ANNOTATION, AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION, AZURE_DEVOPS_README_ANNOTATION, AZURE_DEVOPS_REPO_ANNOTATION, AZURE_DEVOPS_HOST_ORG_ANNOTATION } from '@backstage-community/plugin-azure-devops-common';
2
2
 
3
3
  function getAnnotationValuesFromEntity(entity) {
4
- var _a, _b, _c;
5
4
  const hostOrg = getHostOrg(entity.metadata.annotations);
6
5
  const projectRepo = getProjectRepo(entity.metadata.annotations);
7
- const project = (_a = entity.metadata.annotations) == null ? void 0 : _a[AZURE_DEVOPS_PROJECT_ANNOTATION];
8
- const definition = (_b = entity.metadata.annotations) == null ? void 0 : _b[AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION];
9
- const readmePath = (_c = entity.metadata.annotations) == null ? void 0 : _c[AZURE_DEVOPS_README_ANNOTATION];
6
+ const project = entity.metadata.annotations?.[AZURE_DEVOPS_PROJECT_ANNOTATION];
7
+ const definition = entity.metadata.annotations?.[AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION];
8
+ const readmePath = entity.metadata.annotations?.[AZURE_DEVOPS_README_ANNOTATION];
10
9
  if (definition) {
11
10
  if (project) {
12
11
  return {
@@ -46,7 +45,7 @@ function getAnnotationValuesFromEntity(entity) {
46
45
  throw new Error('Expected "dev.azure.com" annotations were not found');
47
46
  }
48
47
  function getProjectRepo(annotations) {
49
- const annotation = annotations == null ? void 0 : annotations[AZURE_DEVOPS_REPO_ANNOTATION];
48
+ const annotation = annotations?.[AZURE_DEVOPS_REPO_ANNOTATION];
50
49
  if (!annotation) {
51
50
  return { project: void 0, repo: void 0 };
52
51
  }
@@ -61,7 +60,7 @@ function getProjectRepo(annotations) {
61
60
  );
62
61
  }
63
62
  function getHostOrg(annotations) {
64
- const annotation = annotations == null ? void 0 : annotations[AZURE_DEVOPS_HOST_ORG_ANNOTATION];
63
+ const annotation = annotations?.[AZURE_DEVOPS_HOST_ORG_ANNOTATION];
65
64
  if (!annotation) {
66
65
  return { host: void 0, org: void 0 };
67
66
  }
@@ -80,5 +79,5 @@ function getHostOrg(annotations) {
80
79
  );
81
80
  }
82
81
 
83
- export { getAnnotationValuesFromEntity as g };
84
- //# sourceMappingURL=getAnnotationValuesFromEntity-G8YVs-3R.esm.js.map
82
+ export { getAnnotationValuesFromEntity };
83
+ //# sourceMappingURL=getAnnotationValuesFromEntity.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAnnotationValuesFromEntity.esm.js","sources":["../../src/utils/getAnnotationValuesFromEntity.ts"],"sourcesContent":["/*\n * Copyright 2021 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 { Entity } from '@backstage/catalog-model';\nimport {\n AZURE_DEVOPS_PROJECT_ANNOTATION,\n AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION,\n AZURE_DEVOPS_README_ANNOTATION,\n AZURE_DEVOPS_REPO_ANNOTATION,\n AZURE_DEVOPS_HOST_ORG_ANNOTATION,\n} from '@backstage-community/plugin-azure-devops-common';\n\nexport function getAnnotationValuesFromEntity(entity: Entity): {\n project: string;\n repo?: string;\n definition?: string;\n host?: string;\n org?: string;\n readmePath?: string;\n} {\n const hostOrg = getHostOrg(entity.metadata.annotations);\n const projectRepo = getProjectRepo(entity.metadata.annotations);\n const project =\n entity.metadata.annotations?.[AZURE_DEVOPS_PROJECT_ANNOTATION];\n const definition =\n entity.metadata.annotations?.[AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION];\n const readmePath =\n entity.metadata.annotations?.[AZURE_DEVOPS_README_ANNOTATION];\n\n if (definition) {\n if (project) {\n return {\n project,\n definition,\n readmePath: readmePath,\n ...hostOrg,\n };\n }\n if (projectRepo.project) {\n return {\n project: projectRepo.project,\n repo: projectRepo.repo,\n definition,\n readmePath: readmePath,\n ...hostOrg,\n };\n }\n throw new Error(\n `Value for annotation \"${AZURE_DEVOPS_PROJECT_ANNOTATION}\" was not found`,\n );\n } else {\n if (projectRepo.project) {\n return {\n project: projectRepo.project,\n repo: projectRepo.repo,\n readmePath: readmePath,\n ...hostOrg,\n };\n }\n\n if (project) {\n throw new Error(\n `Value for annotation \"${AZURE_DEVOPS_BUILD_DEFINITION_ANNOTATION}\" was not found`,\n );\n }\n }\n\n throw new Error('Expected \"dev.azure.com\" annotations were not found');\n}\n\nfunction getProjectRepo(annotations?: Record<string, string>): {\n project?: string;\n repo?: string;\n} {\n const annotation = annotations?.[AZURE_DEVOPS_REPO_ANNOTATION];\n if (!annotation) {\n return { project: undefined, repo: undefined };\n }\n\n if (annotation.split('/').length === 2) {\n const [project, repo] = annotation.split('/');\n if (project && repo) {\n return { project, repo };\n }\n }\n\n throw new Error(\n `Invalid value for annotation \"${AZURE_DEVOPS_REPO_ANNOTATION}\"; expected format is: <project-name>/<repo-name>, found: \"${annotation}\"`,\n );\n}\n\nfunction getHostOrg(annotations?: Record<string, string>): {\n host?: string;\n org?: string;\n} {\n const annotation = annotations?.[AZURE_DEVOPS_HOST_ORG_ANNOTATION];\n if (!annotation) {\n return { host: undefined, org: undefined };\n }\n\n const segments = annotation.split('/');\n if (segments.length === 2) {\n const [host, org] = segments;\n if (host && org) {\n return { host, org };\n }\n } else if (segments.length === 3) {\n const [host, subpath, org] = segments;\n return { host: `${host}/${subpath}`, org };\n }\n\n throw new Error(\n `Invalid value for annotation \"${AZURE_DEVOPS_HOST_ORG_ANNOTATION}\"; expected format is: <host-name>/<organization-name>, found: \"${annotation}\"`,\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { DateTime, Interval } from 'luxon';
2
+ import humanizeDuration from 'humanize-duration';
3
+
4
+ const getDurationFromDates = (startTime, finishTime) => {
5
+ if (!startTime || !startTime && !finishTime) {
6
+ return "";
7
+ }
8
+ const start = DateTime.fromISO(startTime);
9
+ const finish = finishTime ? DateTime.fromISO(finishTime) : DateTime.now();
10
+ const formatted = Interval.fromDateTimes(start, finish).toDuration().valueOf();
11
+ const shortEnglishHumanizer = humanizeDuration.humanizer({
12
+ language: "shortEn",
13
+ languages: {
14
+ shortEn: {
15
+ y: () => "y",
16
+ mo: () => "mo",
17
+ w: () => "w",
18
+ d: () => "d",
19
+ h: () => "h",
20
+ m: () => "m",
21
+ s: () => "s",
22
+ ms: () => "ms"
23
+ }
24
+ }
25
+ });
26
+ return shortEnglishHumanizer(formatted, {
27
+ largest: 2,
28
+ round: true,
29
+ spacer: ""
30
+ });
31
+ };
32
+
33
+ export { getDurationFromDates };
34
+ //# sourceMappingURL=getDurationFromDates.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDurationFromDates.esm.js","sources":["../../src/utils/getDurationFromDates.ts"],"sourcesContent":["/*\n * Copyright 2021 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 { DateTime, Interval } from 'luxon';\nimport humanizeDuration from 'humanize-duration';\n\nexport const getDurationFromDates = (\n startTime?: string,\n finishTime?: string,\n): string => {\n if (!startTime || (!startTime && !finishTime)) {\n return '';\n }\n\n const start = DateTime.fromISO(startTime);\n const finish = finishTime ? DateTime.fromISO(finishTime) : DateTime.now();\n\n const formatted = Interval.fromDateTimes(start, finish)\n .toDuration()\n .valueOf();\n\n const shortEnglishHumanizer = humanizeDuration.humanizer({\n language: 'shortEn',\n languages: {\n shortEn: {\n y: () => 'y',\n mo: () => 'mo',\n w: () => 'w',\n d: () => 'd',\n h: () => 'h',\n m: () => 'm',\n s: () => 's',\n ms: () => 'ms',\n },\n },\n });\n\n return shortEnglishHumanizer(formatted, {\n largest: 2,\n round: true,\n spacer: '',\n });\n};\n"],"names":[],"mappings":";;;AAmBa,MAAA,oBAAA,GAAuB,CAClC,SAAA,EACA,UACW,KAAA;AACX,EAAA,IAAI,CAAC,SAAA,IAAc,CAAC,SAAA,IAAa,CAAC,UAAa,EAAA;AAC7C,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AAEA,EAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,OAAA,CAAQ,SAAS,CAAA,CAAA;AACxC,EAAA,MAAM,SAAS,UAAa,GAAA,QAAA,CAAS,QAAQ,UAAU,CAAA,GAAI,SAAS,GAAI,EAAA,CAAA;AAExE,EAAM,MAAA,SAAA,GAAY,SAAS,aAAc,CAAA,KAAA,EAAO,MAAM,CACnD,CAAA,UAAA,GACA,OAAQ,EAAA,CAAA;AAEX,EAAM,MAAA,qBAAA,GAAwB,iBAAiB,SAAU,CAAA;AAAA,IACvD,QAAU,EAAA,SAAA;AAAA,IACV,SAAW,EAAA;AAAA,MACT,OAAS,EAAA;AAAA,QACP,GAAG,MAAM,GAAA;AAAA,QACT,IAAI,MAAM,IAAA;AAAA,QACV,GAAG,MAAM,GAAA;AAAA,QACT,GAAG,MAAM,GAAA;AAAA,QACT,GAAG,MAAM,GAAA;AAAA,QACT,GAAG,MAAM,GAAA;AAAA,QACT,GAAG,MAAM,GAAA;AAAA,QACT,IAAI,MAAM,IAAA;AAAA,OACZ;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAA,OAAO,sBAAsB,SAAW,EAAA;AAAA,IACtC,OAAS,EAAA,CAAA;AAAA,IACT,KAAO,EAAA,IAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,GACT,CAAA,CAAA;AACH;;;;"}
package/package.json CHANGED
@@ -1,8 +1,14 @@
1
1
  {
2
2
  "name": "@backstage-community/plugin-azure-devops",
3
- "version": "0.4.4",
3
+ "version": "0.4.7",
4
4
  "backstage": {
5
- "role": "frontend-plugin"
5
+ "role": "frontend-plugin",
6
+ "pluginId": "azure-devops",
7
+ "pluginPackages": [
8
+ "@backstage-community/plugin-azure-devops",
9
+ "@backstage-community/plugin-azure-devops-backend",
10
+ "@backstage-community/plugin-azure-devops-common"
11
+ ]
6
12
  },
7
13
  "publishConfig": {
8
14
  "access": "public"
@@ -44,15 +50,15 @@
44
50
  "test": "backstage-cli package test"
45
51
  },
46
52
  "dependencies": {
47
- "@backstage-community/plugin-azure-devops-common": "^0.4.2",
48
- "@backstage/catalog-model": "^1.4.5",
49
- "@backstage/core-compat-api": "^0.2.4",
50
- "@backstage/core-components": "^0.14.4",
51
- "@backstage/core-plugin-api": "^1.9.2",
53
+ "@backstage-community/plugin-azure-devops-common": "^0.4.5",
54
+ "@backstage/catalog-model": "^1.5.0",
55
+ "@backstage/core-compat-api": "^0.2.6",
56
+ "@backstage/core-components": "^0.14.8",
57
+ "@backstage/core-plugin-api": "^1.9.3",
52
58
  "@backstage/errors": "^1.2.4",
53
- "@backstage/frontend-plugin-api": "^0.6.4",
54
- "@backstage/plugin-catalog-react": "^1.11.3",
55
- "@backstage/plugin-permission-react": "^0.4.22",
59
+ "@backstage/frontend-plugin-api": "^0.6.6",
60
+ "@backstage/plugin-catalog-react": "^1.12.1",
61
+ "@backstage/plugin-permission-react": "^0.4.23",
56
62
  "@material-ui/core": "^4.12.2",
57
63
  "@material-ui/icons": "^4.9.1",
58
64
  "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0",
@@ -61,9 +67,9 @@
61
67
  "react-use": "^17.2.4"
62
68
  },
63
69
  "devDependencies": {
64
- "@backstage/cli": "^0.26.3",
65
- "@backstage/dev-utils": "^1.0.31",
66
- "@backstage/test-utils": "^1.5.4",
70
+ "@backstage/cli": "^0.26.10",
71
+ "@backstage/dev-utils": "^1.0.34",
72
+ "@backstage/test-utils": "^1.5.7",
67
73
  "@testing-library/dom": "^10.0.0",
68
74
  "@testing-library/jest-dom": "^6.0.0",
69
75
  "@testing-library/react": "^15.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"AzureDevOpsApi-GBxs-uQ7.esm.js","sources":["../../src/routes.ts","../../src/api/AzureDevOpsClient.ts","../../src/api/AzureDevOpsApi.ts"],"sourcesContent":["/*\n * Copyright 2021 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 { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const azurePullRequestDashboardRouteRef = createRouteRef({\n id: 'azure-pull-request-dashboard',\n});\n\nexport const azurePipelinesEntityContentRouteRef = createRouteRef({\n id: 'azure-pipelines-entity-content',\n});\n\nexport const azureGitTagsEntityContentRouteRef = createRouteRef({\n id: 'azure-git-tags-entity-content',\n});\n\nexport const azurePullRequestsEntityContentRouteRef = createRouteRef({\n id: 'azure-pull-requests-entity-content',\n});\n","/*\n * Copyright 2021 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 {\n BuildRun,\n BuildRunOptions,\n DashboardPullRequest,\n GitTag,\n PullRequest,\n PullRequestOptions,\n Readme,\n ReadmeConfig,\n RepoBuild,\n RepoBuildOptions,\n Team,\n} from '@backstage-community/plugin-azure-devops-common';\nimport { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';\nimport { ResponseError } from '@backstage/errors';\nimport { AzureDevOpsApi } from './AzureDevOpsApi';\n\n/** @public */\nexport class AzureDevOpsClient implements AzureDevOpsApi {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n public constructor(options: {\n discoveryApi: DiscoveryApi;\n fetchApi: FetchApi;\n }) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi;\n }\n\n public async getRepoBuilds(\n projectName: string,\n repoName: string,\n host?: string,\n org?: string,\n options?: RepoBuildOptions,\n ): Promise<{ items: RepoBuild[] }> {\n const queryString = new URLSearchParams();\n if (options?.top) {\n queryString.append('top', options.top.toString());\n }\n if (host) {\n queryString.append('host', host);\n }\n if (org) {\n queryString.append('org', org);\n }\n const urlSegment = `repo-builds/${encodeURIComponent(\n projectName,\n )}/${encodeURIComponent(repoName)}?${queryString}`;\n\n const items = await this.get<RepoBuild[]>(urlSegment);\n return { items };\n }\n\n public async getGitTags(\n projectName: string,\n repoName: string,\n entityRef: string,\n host?: string,\n org?: string,\n ): Promise<{ items: GitTag[] }> {\n const queryString = new URLSearchParams();\n if (host) {\n queryString.append('host', host);\n }\n if (org) {\n queryString.append('org', org);\n }\n queryString.append('entityRef', entityRef);\n const urlSegment = `git-tags/${encodeURIComponent(\n projectName,\n )}/${encodeURIComponent(repoName)}?${queryString}`;\n\n const items = await this.get<GitTag[]>(urlSegment);\n return { items };\n }\n\n public async getPullRequests(\n projectName: string,\n repoName: string,\n entityRef: string,\n host?: string,\n org?: string,\n options?: PullRequestOptions,\n ): Promise<{ items: PullRequest[] }> {\n const queryString = new URLSearchParams();\n if (options?.top) {\n queryString.append('top', options.top.toString());\n }\n if (options?.status) {\n queryString.append('status', options.status.toString());\n }\n if (options?.teamsLimit) {\n queryString.append('teamsLimit', options.teamsLimit.toString());\n }\n if (host) {\n queryString.append('host', host);\n }\n if (org) {\n queryString.append('org', org);\n }\n queryString.append('entityRef', entityRef);\n const urlSegment = `pull-requests/${encodeURIComponent(\n projectName,\n )}/${encodeURIComponent(repoName)}?${queryString}`;\n\n const items = await this.get<PullRequest[]>(urlSegment);\n return { items };\n }\n\n public getDashboardPullRequests(\n projectName: string,\n teamsLimit?: number,\n ): Promise<DashboardPullRequest[]> {\n const queryString = new URLSearchParams();\n queryString.append('top', '100');\n if (teamsLimit) {\n queryString.append('teamsLimit', teamsLimit.toString());\n }\n const urlSegment = `dashboard-pull-requests/${projectName}?${queryString}`;\n return this.get<DashboardPullRequest[]>(urlSegment);\n }\n\n public getAllTeams(limit?: number): Promise<Team[]> {\n const queryString = new URLSearchParams();\n if (limit) {\n queryString.append('limit', limit.toString());\n }\n let urlSegment = 'all-teams';\n if (queryString.toString()) {\n urlSegment += `?${queryString}`;\n }\n return this.get<Team[]>(urlSegment);\n }\n\n public getUserTeamIds(userId: string): Promise<string[]> {\n return this.get<string[]>(`users/${userId}/team-ids`);\n }\n\n public async getBuildRuns(\n projectName: string,\n entityRef: string,\n repoName?: string,\n definitionName?: string,\n host?: string,\n org?: string,\n options?: BuildRunOptions,\n ): Promise<{ items: BuildRun[] }> {\n const queryString = new URLSearchParams();\n if (repoName) {\n queryString.append('repoName', repoName);\n }\n if (host) {\n queryString.append('host', host);\n }\n if (org) {\n queryString.append('org', org);\n }\n if (definitionName) {\n const definitionNames = definitionName.split(',');\n if (definitionNames.length > 1) {\n const buildRuns: BuildRun[] = [];\n for (const name of definitionNames) {\n queryString.set('definitionName', name.trim());\n if (options?.top) {\n queryString.set('top', options.top.toString());\n }\n queryString.append('entityRef', entityRef);\n const urlSegment = `builds/${encodeURIComponent(\n projectName,\n )}?${queryString}`;\n const items = await this.get<BuildRun[]>(urlSegment);\n buildRuns.push(...items);\n }\n return { items: buildRuns };\n }\n queryString.append('definitionName', definitionName.trim());\n }\n if (options?.top) {\n queryString.append('top', options.top.toString());\n }\n queryString.append('entityRef', entityRef);\n const urlSegment = `builds/${encodeURIComponent(\n projectName,\n )}?${queryString}`;\n const items = await this.get<BuildRun[]>(urlSegment);\n return { items };\n }\n\n public async getReadme(opts: ReadmeConfig): Promise<Readme> {\n const queryString = new URLSearchParams();\n if (opts.host) {\n queryString.append('host', opts.host);\n }\n if (opts.org) {\n queryString.append('org', opts.org);\n }\n if (opts.path) {\n queryString.append('path', opts.path);\n }\n queryString.append('entityRef', opts.entityRef);\n return await this.get(\n `readme/${encodeURIComponent(opts.project)}/${encodeURIComponent(\n opts.repo,\n )}?${queryString}`,\n );\n }\n\n private async get<T>(path: string): Promise<T> {\n const baseUrl = `${await this.discoveryApi.getBaseUrl('azure-devops')}/`;\n const url = new URL(path, baseUrl);\n\n const response = await this.fetchApi.fetch(url.toString());\n\n if (!response.ok) {\n throw await ResponseError.fromResponse(response);\n }\n\n return response.json() as Promise<T>;\n }\n}\n","/*\n * Copyright 2021 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 {\n BuildRun,\n BuildRunOptions,\n DashboardPullRequest,\n GitTag,\n PullRequest,\n PullRequestOptions,\n Readme,\n ReadmeConfig,\n RepoBuild,\n RepoBuildOptions,\n Team,\n} from '@backstage-community/plugin-azure-devops-common';\n\nimport { createApiRef } from '@backstage/core-plugin-api';\n\n/** @public */\nexport const azureDevOpsApiRef = createApiRef<AzureDevOpsApi>({\n id: 'plugin.azure-devops.service',\n});\n\n/** @public */\nexport interface AzureDevOpsApi {\n getRepoBuilds(\n projectName: string,\n repoName: string,\n host?: string,\n org?: string,\n options?: RepoBuildOptions,\n ): Promise<{ items: RepoBuild[] }>;\n\n getGitTags(\n projectName: string,\n repoName: string,\n entityRef: string,\n host?: string,\n org?: string,\n ): Promise<{ items: GitTag[] }>;\n\n getPullRequests(\n projectName: string,\n repoName: string,\n entityRef: string,\n host?: string,\n org?: string,\n options?: PullRequestOptions,\n ): Promise<{ items: PullRequest[] }>;\n\n getDashboardPullRequests(\n projectName: string,\n teamsLimit?: number,\n ): Promise<DashboardPullRequest[]>;\n\n getAllTeams(limit?: number): Promise<Team[]>;\n\n getUserTeamIds(userId: string): Promise<string[]>;\n\n getBuildRuns(\n projectName: string,\n entityRef: string,\n repoName?: string,\n definitionName?: string,\n host?: string,\n org?: string,\n options?: BuildRunOptions,\n ): Promise<{ items: BuildRun[] }>;\n\n getReadme(opts: ReadmeConfig): Promise<Readme>;\n}\n"],"names":["urlSegment","items"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AzurePullRequestsIcon-DOAkj-X3.esm.js","sources":["../../src/components/AzurePullRequestsIcon/AzurePullRequestsIcon.tsx"],"sourcesContent":["/*\n * Copyright 2021 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 React from 'react';\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\n\n/** @public */\nexport const AzurePullRequestsIcon = (props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 512 512\">\n <circle\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"32\"\n cx=\"128\"\n cy=\"416\"\n r=\"48\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"32\"\n d=\"M128 144v224M288 160l-64-64 64-64\"\n />\n <circle\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"32\"\n cx=\"128\"\n cy=\"96\"\n r=\"48\"\n />\n <circle\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"32\"\n cx=\"384\"\n cy=\"416\"\n r=\"48\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"32\"\n d=\"M240 96h84a60 60 0 0160 60v212\"\n />\n </SvgIcon>\n);\n"],"names":[],"mappings":";;;AAoBa,MAAA,qBAAA,GAAwB,CAAC,KACpC,qBAAA,KAAA,CAAA,aAAA,CAAC,WAAS,GAAG,KAAA,EAAO,SAAQ,aAC1B,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACC,IAAK,EAAA,MAAA;AAAA,IACL,MAAO,EAAA,cAAA;AAAA,IACP,aAAc,EAAA,OAAA;AAAA,IACd,cAAe,EAAA,OAAA;AAAA,IACf,WAAY,EAAA,IAAA;AAAA,IACZ,EAAG,EAAA,KAAA;AAAA,IACH,EAAG,EAAA,KAAA;AAAA,IACH,CAAE,EAAA,IAAA;AAAA,GAAA;AACJ,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,IAAK,EAAA,MAAA;AAAA,IACL,MAAO,EAAA,cAAA;AAAA,IACP,aAAc,EAAA,OAAA;AAAA,IACd,cAAe,EAAA,OAAA;AAAA,IACf,WAAY,EAAA,IAAA;AAAA,IACZ,CAAE,EAAA,mCAAA;AAAA,GAAA;AACJ,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACC,IAAK,EAAA,MAAA;AAAA,IACL,MAAO,EAAA,cAAA;AAAA,IACP,aAAc,EAAA,OAAA;AAAA,IACd,cAAe,EAAA,OAAA;AAAA,IACf,WAAY,EAAA,IAAA;AAAA,IACZ,EAAG,EAAA,KAAA;AAAA,IACH,EAAG,EAAA,IAAA;AAAA,IACH,CAAE,EAAA,IAAA;AAAA,GAAA;AACJ,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACC,IAAK,EAAA,MAAA;AAAA,IACL,MAAO,EAAA,cAAA;AAAA,IACP,aAAc,EAAA,OAAA;AAAA,IACd,cAAe,EAAA,OAAA;AAAA,IACf,WAAY,EAAA,IAAA;AAAA,IACZ,EAAG,EAAA,KAAA;AAAA,IACH,EAAG,EAAA,KAAA;AAAA,IACH,CAAE,EAAA,IAAA;AAAA,GAAA;AACJ,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,IAAK,EAAA,MAAA;AAAA,IACL,MAAO,EAAA,cAAA;AAAA,IACP,aAAc,EAAA,OAAA;AAAA,IACd,cAAe,EAAA,OAAA;AAAA,IACf,WAAY,EAAA,IAAA;AAAA,IACZ,CAAE,EAAA,gCAAA;AAAA,GAAA;AACJ,CACF;;;;"}