@package-broker/ui 2.0.0-rc.2 → 2.0.0-rc.4
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/dist/.tsbuildinfo +1 -1
- package/dist/api-types.d.ts +8148 -2725
- package/dist/api-types.d.ts.map +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +10 -0
- package/dist/api.js.map +1 -1
- package/dist/app-path.d.ts +2 -0
- package/dist/app-path.d.ts.map +1 -0
- package/dist/app-path.js +2 -0
- package/dist/app-path.js.map +1 -0
- package/dist/app.d.ts +10 -14
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +37 -22
- package/dist/app.js.map +1 -1
- package/dist/assets/access.62e9484517a0.js +1 -0
- package/dist/assets/app.45b156168495.css +2 -0
- package/dist/assets/app.c064670cdc0d.js +9 -0
- package/dist/assets/audit.b7c40b9dc998.js +1 -0
- package/dist/assets/chunk.28a4d8aab337.js +1 -0
- package/dist/assets/chunk.3fcd6998795a.js +1 -0
- package/dist/assets/chunk.51497edc7697.js +4 -0
- package/dist/assets/chunk.56d473a1587d.js +1 -0
- package/dist/assets/chunk.675b635d9462.js +1 -0
- package/dist/assets/chunk.6ea6bdcaa465.js +1 -0
- package/dist/assets/chunk.741aec8d1ff9.js +1 -0
- package/dist/assets/chunk.815f9a91c741.js +1 -0
- package/dist/assets/chunk.8442124f6802.js +1 -0
- package/dist/assets/chunk.965b76812604.js +2 -0
- package/dist/assets/chunk.a6d755a9789f.js +1 -0
- package/dist/assets/chunk.d18497920e4d.js +1 -0
- package/dist/assets/chunk.d813fefb410d.js +1 -0
- package/dist/assets/chunk.e3b0c44298fc.js +0 -0
- package/dist/assets/chunk.f54ea1378c8c.js +1 -0
- package/dist/assets/chunk.fd375c54b526.js +1 -0
- package/dist/assets/import.e7a1e5834631.js +1 -0
- package/dist/assets/index.html +9 -2
- package/dist/assets/manifest.json +108 -8
- package/dist/assets/notifications.19225fe12044.js +1 -0
- package/dist/assets/npm-login.e059678af13d.js +1 -0
- package/dist/assets/packages.ab5ab25b1c75.js +2 -0
- package/dist/assets/projects.927fe18c785c.js +1 -0
- package/dist/assets/setup.8e977608d413.js +1 -0
- package/dist/assets/setup.html +3 -3
- package/dist/assets/sources.ae50f239f80f.js +1 -0
- package/dist/assets/tokens.6b86d8d97e07.js +4 -0
- package/dist/auth.d.ts +26 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +133 -19
- package/dist/auth.js.map +1 -1
- package/dist/components/product-footer-content.d.ts +21 -0
- package/dist/components/product-footer-content.d.ts.map +1 -0
- package/dist/components/product-footer-content.js +30 -0
- package/dist/components/product-footer-content.js.map +1 -0
- package/dist/components/product-footer.d.ts +3 -0
- package/dist/components/product-footer.d.ts.map +1 -0
- package/dist/components/product-footer.js +6 -0
- package/dist/components/product-footer.js.map +1 -0
- package/dist/components/ui/status-badge.d.ts +5 -0
- package/dist/components/ui/status-badge.d.ts.map +1 -1
- package/dist/components/ui/status-badge.js +10 -0
- package/dist/components/ui/status-badge.js.map +1 -1
- package/dist/manifest.d.ts +32 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +41 -0
- package/dist/manifest.js.map +1 -1
- package/dist/package-limits.d.ts +3 -0
- package/dist/package-limits.d.ts.map +1 -0
- package/dist/package-limits.js +3 -0
- package/dist/package-limits.js.map +1 -0
- package/dist/page-hash.d.ts +1 -1
- package/dist/page-hash.d.ts.map +1 -1
- package/dist/page-hash.js.map +1 -1
- package/dist/page-loader.d.ts +5 -0
- package/dist/page-loader.d.ts.map +1 -0
- package/dist/page-loader.js +39 -0
- package/dist/page-loader.js.map +1 -0
- package/dist/pages/access/grant-form.d.ts +48 -0
- package/dist/pages/access/grant-form.d.ts.map +1 -0
- package/dist/pages/access/grant-form.js +153 -0
- package/dist/pages/access/grant-form.js.map +1 -0
- package/dist/pages/access/permission-descriptions.d.ts +2 -0
- package/dist/pages/access/permission-descriptions.d.ts.map +1 -0
- package/dist/pages/access/permission-descriptions.js +36 -0
- package/dist/pages/access/permission-descriptions.js.map +1 -0
- package/dist/pages/access/role-catalogue.d.ts +22 -0
- package/dist/pages/access/role-catalogue.d.ts.map +1 -0
- package/dist/pages/access/role-catalogue.js +40 -0
- package/dist/pages/access/role-catalogue.js.map +1 -0
- package/dist/pages/access.d.ts +6 -0
- package/dist/pages/access.d.ts.map +1 -1
- package/dist/pages/access.js +66 -31
- package/dist/pages/access.js.map +1 -1
- package/dist/pages/audit.d.ts.map +1 -1
- package/dist/pages/notification-actions.d.ts +41 -0
- package/dist/pages/notification-actions.d.ts.map +1 -0
- package/dist/pages/notification-actions.js +187 -0
- package/dist/pages/notification-actions.js.map +1 -0
- package/dist/pages/notification-draft.d.ts +13 -0
- package/dist/pages/notification-draft.d.ts.map +1 -0
- package/dist/pages/notification-draft.js +75 -0
- package/dist/pages/notification-draft.js.map +1 -0
- package/dist/pages/notification-form.d.ts +35 -0
- package/dist/pages/notification-form.d.ts.map +1 -0
- package/dist/pages/notification-form.js +167 -0
- package/dist/pages/notification-form.js.map +1 -0
- package/dist/pages/notifications-controller.d.ts +41 -0
- package/dist/pages/notifications-controller.d.ts.map +1 -0
- package/dist/pages/notifications-controller.js +184 -0
- package/dist/pages/notifications-controller.js.map +1 -0
- package/dist/pages/notifications.d.ts +10 -0
- package/dist/pages/notifications.d.ts.map +1 -0
- package/dist/pages/notifications.js +301 -0
- package/dist/pages/notifications.js.map +1 -0
- package/dist/pages/npm-login.d.ts +2 -0
- package/dist/pages/npm-login.d.ts.map +1 -0
- package/dist/pages/npm-login.js +62 -0
- package/dist/pages/npm-login.js.map +1 -0
- package/dist/pages/packages/npm-workflow.d.ts +31 -0
- package/dist/pages/packages/npm-workflow.d.ts.map +1 -0
- package/dist/pages/packages/npm-workflow.js +381 -0
- package/dist/pages/packages/npm-workflow.js.map +1 -0
- package/dist/pages/packages/package-detail.d.ts +9 -0
- package/dist/pages/packages/package-detail.d.ts.map +1 -0
- package/dist/pages/packages/package-detail.js +242 -0
- package/dist/pages/packages/package-detail.js.map +1 -0
- package/dist/pages/packages/source-actions.d.ts +49 -0
- package/dist/pages/packages/source-actions.d.ts.map +1 -0
- package/dist/pages/packages/source-actions.js +319 -0
- package/dist/pages/packages/source-actions.js.map +1 -0
- package/dist/pages/packages.d.ts +15 -4
- package/dist/pages/packages.d.ts.map +1 -1
- package/dist/pages/packages.js +138 -20
- package/dist/pages/packages.js.map +1 -1
- package/dist/pages/projects/project-form-model.d.ts +25 -0
- package/dist/pages/projects/project-form-model.d.ts.map +1 -0
- package/dist/pages/projects/project-form-model.js +69 -0
- package/dist/pages/projects/project-form-model.js.map +1 -0
- package/dist/pages/projects/project-form.d.ts +14 -0
- package/dist/pages/projects/project-form.d.ts.map +1 -0
- package/dist/pages/projects/project-form.js +91 -0
- package/dist/pages/projects/project-form.js.map +1 -0
- package/dist/pages/projects.d.ts +3 -2
- package/dist/pages/projects.d.ts.map +1 -1
- package/dist/pages/projects.js +29 -38
- package/dist/pages/projects.js.map +1 -1
- package/dist/pages/sources/source-form.d.ts +5 -2
- package/dist/pages/sources/source-form.d.ts.map +1 -1
- package/dist/pages/sources/source-form.js +39 -27
- package/dist/pages/sources/source-form.js.map +1 -1
- package/dist/pages/sources/sync-copy.d.ts +5 -0
- package/dist/pages/sources/sync-copy.d.ts.map +1 -0
- package/dist/pages/sources/sync-copy.js +11 -0
- package/dist/pages/sources/sync-copy.js.map +1 -0
- package/dist/pages/sources.d.ts +11 -3
- package/dist/pages/sources.d.ts.map +1 -1
- package/dist/pages/sources.js +103 -25
- package/dist/pages/sources.js.map +1 -1
- package/dist/pages/tokens/client-config.d.ts +3 -0
- package/dist/pages/tokens/client-config.d.ts.map +1 -1
- package/dist/pages/tokens/client-config.js +12 -2
- package/dist/pages/tokens/client-config.js.map +1 -1
- package/dist/pages/tokens/issue-token-form.d.ts +27 -0
- package/dist/pages/tokens/issue-token-form.d.ts.map +1 -0
- package/dist/pages/tokens/issue-token-form.js +270 -0
- package/dist/pages/tokens/issue-token-form.js.map +1 -0
- package/dist/pages/tokens/principal-form.d.ts +8 -0
- package/dist/pages/tokens/principal-form.d.ts.map +1 -0
- package/dist/pages/tokens/principal-form.js +155 -0
- package/dist/pages/tokens/principal-form.js.map +1 -0
- package/dist/pages/tokens/trusted-publishers-controller.d.ts +42 -0
- package/dist/pages/tokens/trusted-publishers-controller.d.ts.map +1 -0
- package/dist/pages/tokens/trusted-publishers-controller.js +202 -0
- package/dist/pages/tokens/trusted-publishers-controller.js.map +1 -0
- package/dist/pages/tokens/trusted-publishers.d.ts +6 -0
- package/dist/pages/tokens/trusted-publishers.d.ts.map +1 -0
- package/dist/pages/tokens/trusted-publishers.js +116 -0
- package/dist/pages/tokens/trusted-publishers.js.map +1 -0
- package/dist/pages/tokens.d.ts +100 -6
- package/dist/pages/tokens.d.ts.map +1 -1
- package/dist/pages/tokens.js +324 -86
- package/dist/pages/tokens.js.map +1 -1
- package/dist/setup.d.ts +3 -2
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +70 -10
- package/dist/setup.js.map +1 -1
- package/dist/token-pending.d.ts +4 -0
- package/dist/token-pending.d.ts.map +1 -0
- package/dist/token-pending.js +12 -0
- package/dist/token-pending.js.map +1 -0
- package/package.json +3 -3
- package/dist/assets/app.b2abf3c46f6e.js +0 -15
- package/dist/assets/app.e8cea8b32d3a.css +0 -2
- package/dist/assets/setup.98343039898f.js +0 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
const empty = () => ({
|
|
2
|
+
packageName: '',
|
|
3
|
+
repository: '',
|
|
4
|
+
workflow: '',
|
|
5
|
+
environment: '',
|
|
6
|
+
refPattern: '',
|
|
7
|
+
});
|
|
8
|
+
export function createTrustedPublishersController(services) {
|
|
9
|
+
let state = {
|
|
10
|
+
items: [],
|
|
11
|
+
next: null,
|
|
12
|
+
hasPrevious: false,
|
|
13
|
+
draft: empty(),
|
|
14
|
+
editing: null,
|
|
15
|
+
loading: false,
|
|
16
|
+
loadError: false,
|
|
17
|
+
busy: false,
|
|
18
|
+
stale: false,
|
|
19
|
+
editDisabled: false,
|
|
20
|
+
notice: null,
|
|
21
|
+
};
|
|
22
|
+
let epoch = 0;
|
|
23
|
+
let cursors = [undefined];
|
|
24
|
+
const listeners = new Set();
|
|
25
|
+
const set = (next) => {
|
|
26
|
+
state = { ...state, ...next };
|
|
27
|
+
for (const listener of listeners)
|
|
28
|
+
listener();
|
|
29
|
+
};
|
|
30
|
+
const failure = (result) => {
|
|
31
|
+
const conflict = result.code === 'conflict' || result.status === 412 || result.status === 428;
|
|
32
|
+
set({
|
|
33
|
+
stale: conflict,
|
|
34
|
+
notice: conflict
|
|
35
|
+
? 'This publisher changed. Reload the latest settings and review your draft before saving.'
|
|
36
|
+
: result.code === 'github_credentials_required'
|
|
37
|
+
? 'Configure a GitHub source for this repository with a GitHub App installation or token first.'
|
|
38
|
+
: result.code === 'ambiguous_trusted_publisher'
|
|
39
|
+
? 'A publisher already uses this package, repository, workflow and environment.'
|
|
40
|
+
: result.code === 'name_not_claimed'
|
|
41
|
+
? 'Claim this package on an active hosted npm source first.'
|
|
42
|
+
: 'The publisher could not be saved. Check your settings and try again.',
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const controller = {
|
|
46
|
+
snapshot: () => state,
|
|
47
|
+
subscribe(listener) {
|
|
48
|
+
listeners.add(listener);
|
|
49
|
+
return () => {
|
|
50
|
+
listeners.delete(listener);
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
draft(draft) {
|
|
54
|
+
set({ draft });
|
|
55
|
+
},
|
|
56
|
+
edit(item) {
|
|
57
|
+
set({
|
|
58
|
+
draft: {
|
|
59
|
+
packageName: item.packageName,
|
|
60
|
+
repository: item.repository,
|
|
61
|
+
workflow: item.workflow,
|
|
62
|
+
environment: item.environment,
|
|
63
|
+
refPattern: item.refPattern ?? '',
|
|
64
|
+
},
|
|
65
|
+
editing: { id: item.id, revision: item.revision },
|
|
66
|
+
notice: null,
|
|
67
|
+
editDisabled: false,
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
cancel() {
|
|
71
|
+
set({ draft: empty(), editing: null, notice: null, editDisabled: false });
|
|
72
|
+
},
|
|
73
|
+
clear() {
|
|
74
|
+
epoch++;
|
|
75
|
+
cursors = [undefined];
|
|
76
|
+
set({
|
|
77
|
+
draft: empty(),
|
|
78
|
+
editing: null,
|
|
79
|
+
items: [],
|
|
80
|
+
next: null,
|
|
81
|
+
hasPrevious: false,
|
|
82
|
+
notice: null,
|
|
83
|
+
busy: false,
|
|
84
|
+
loading: false,
|
|
85
|
+
stale: false,
|
|
86
|
+
editDisabled: false,
|
|
87
|
+
loadError: false,
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
async load() {
|
|
91
|
+
if (state.busy)
|
|
92
|
+
return;
|
|
93
|
+
const version = ++epoch;
|
|
94
|
+
set({ loading: true, loadError: false });
|
|
95
|
+
const cursor = cursors[cursors.length - 1];
|
|
96
|
+
const result = await services.client.request('get', '/_pb/trusted-publishers', {
|
|
97
|
+
query: cursor === undefined ? {} : { cursor },
|
|
98
|
+
});
|
|
99
|
+
if (version !== epoch)
|
|
100
|
+
return;
|
|
101
|
+
if (!result.ok) {
|
|
102
|
+
set({ loading: false, loadError: true });
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
let editing = state.editing;
|
|
106
|
+
let editDisabled = false;
|
|
107
|
+
if (editing !== null) {
|
|
108
|
+
const current = result.data.items.find((item) => item.id === editing.id && item.disabledAt === null);
|
|
109
|
+
editDisabled = current === undefined;
|
|
110
|
+
if (current !== undefined)
|
|
111
|
+
editing = { id: current.id, revision: current.revision };
|
|
112
|
+
}
|
|
113
|
+
set({
|
|
114
|
+
items: result.data.items,
|
|
115
|
+
next: result.data.next ?? null,
|
|
116
|
+
hasPrevious: cursors.length > 1,
|
|
117
|
+
loading: false,
|
|
118
|
+
stale: false,
|
|
119
|
+
editing,
|
|
120
|
+
editDisabled,
|
|
121
|
+
notice: editDisabled
|
|
122
|
+
? 'This publisher was disabled or is no longer available. Cancel this edit to create a new publisher.'
|
|
123
|
+
: state.stale
|
|
124
|
+
? 'Latest settings loaded. Review your draft before saving again.'
|
|
125
|
+
: state.notice,
|
|
126
|
+
});
|
|
127
|
+
},
|
|
128
|
+
async nextPage() {
|
|
129
|
+
if (state.busy ||
|
|
130
|
+
state.loading ||
|
|
131
|
+
state.stale ||
|
|
132
|
+
state.loadError ||
|
|
133
|
+
state.editing !== null ||
|
|
134
|
+
state.next === null)
|
|
135
|
+
return;
|
|
136
|
+
cursors.push(state.next);
|
|
137
|
+
await controller.load();
|
|
138
|
+
},
|
|
139
|
+
async previousPage() {
|
|
140
|
+
if (state.busy ||
|
|
141
|
+
state.loading ||
|
|
142
|
+
state.stale ||
|
|
143
|
+
state.loadError ||
|
|
144
|
+
state.editing !== null ||
|
|
145
|
+
cursors.length < 2)
|
|
146
|
+
return;
|
|
147
|
+
cursors.pop();
|
|
148
|
+
await controller.load();
|
|
149
|
+
},
|
|
150
|
+
async save() {
|
|
151
|
+
if (state.busy || state.loading || state.stale || state.loadError || state.editDisabled)
|
|
152
|
+
return;
|
|
153
|
+
const version = epoch;
|
|
154
|
+
set({ busy: true, notice: null });
|
|
155
|
+
const { draft, editing } = state;
|
|
156
|
+
const body = {
|
|
157
|
+
packageName: draft.packageName,
|
|
158
|
+
repository: draft.repository,
|
|
159
|
+
workflow: draft.workflow,
|
|
160
|
+
environment: draft.environment,
|
|
161
|
+
...(draft.refPattern === '' ? {} : { refPattern: draft.refPattern }),
|
|
162
|
+
};
|
|
163
|
+
const result = editing === null
|
|
164
|
+
? await services.client.request('post', '/_pb/trusted-publishers', { body })
|
|
165
|
+
: await services.client.request('put', '/_pb/trusted-publishers/{id}', {
|
|
166
|
+
params: { id: editing.id },
|
|
167
|
+
headers: { 'If-Match': `"r${editing.revision}"` },
|
|
168
|
+
body,
|
|
169
|
+
});
|
|
170
|
+
if (version !== epoch)
|
|
171
|
+
return;
|
|
172
|
+
set({ busy: false });
|
|
173
|
+
if (!result.ok) {
|
|
174
|
+
failure(result);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
set({ draft: empty(), editing: null, notice: 'Trusted publisher saved.' });
|
|
178
|
+
await controller.load();
|
|
179
|
+
},
|
|
180
|
+
async disable(item) {
|
|
181
|
+
if (state.busy || state.loading || state.stale || state.loadError)
|
|
182
|
+
return;
|
|
183
|
+
const version = epoch;
|
|
184
|
+
set({ busy: true, notice: null });
|
|
185
|
+
const result = await services.client.request('delete', '/_pb/trusted-publishers/{id}', {
|
|
186
|
+
params: { id: item.id },
|
|
187
|
+
headers: { 'If-Match': `"r${item.revision}"` },
|
|
188
|
+
});
|
|
189
|
+
if (version !== epoch)
|
|
190
|
+
return;
|
|
191
|
+
set({ busy: false });
|
|
192
|
+
if (!result.ok) {
|
|
193
|
+
failure(result);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
set({ notice: 'Publisher disabled. Its workload tokens have been revoked.' });
|
|
197
|
+
await controller.load();
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
return controller;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=trusted-publishers-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-publishers-controller.js","sourceRoot":"","sources":["../../../src/pages/tokens/trusted-publishers-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Controller } from './trusted-publishers-controller.js';
|
|
2
|
+
export declare function TrustedPublishers({ controller, permissions, }: {
|
|
3
|
+
controller: Controller;
|
|
4
|
+
permissions: readonly string[];
|
|
5
|
+
}): import("react").JSX.Element | null;
|
|
6
|
+
//# sourceMappingURL=trusted-publishers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-publishers.d.ts","sourceRoot":"","sources":["../../../src/pages/tokens/trusted-publishers.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AASrE,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,sCAuRA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { MAX_NPM_NAME_LENGTH } from '../../package-limits.js';
|
|
3
|
+
import { useEffect, useRef, useState, useSyncExternalStore } from 'react';
|
|
4
|
+
import { Button } from '../../components/ui/button.js';
|
|
5
|
+
import { Input } from '../../components/ui/input.js';
|
|
6
|
+
import { Label } from '../../components/ui/label.js';
|
|
7
|
+
import { DataTable } from '../../components/ui/table.js';
|
|
8
|
+
import { ConfirmAction } from '../../components/ui/confirm-action.js';
|
|
9
|
+
import { ListState } from '../../components/ui/list-state.js';
|
|
10
|
+
import { Time } from '../../components/ui/time.js';
|
|
11
|
+
const subscribeLocation = (listener) => {
|
|
12
|
+
window.addEventListener('hashchange', listener);
|
|
13
|
+
return () => window.removeEventListener('hashchange', listener);
|
|
14
|
+
};
|
|
15
|
+
const locationSnapshot = () => window.location.hash;
|
|
16
|
+
const serverLocationSnapshot = () => '';
|
|
17
|
+
export function TrustedPublishers({ controller, permissions, }) {
|
|
18
|
+
const state = useSyncExternalStore(controller.subscribe, controller.snapshot, controller.snapshot);
|
|
19
|
+
const hash = useSyncExternalStore(subscribeLocation, locationSnapshot, serverLocationSnapshot);
|
|
20
|
+
const targeted = new URLSearchParams(hash.split('?')[1] ?? '').get('section') === 'trusted-publishers';
|
|
21
|
+
const [expanded, setExpanded] = useState(targeted || state.editing !== null);
|
|
22
|
+
const [creating, setCreating] = useState(false);
|
|
23
|
+
const [returnFocus, setReturnFocus] = useState(false);
|
|
24
|
+
const addButton = useRef(null);
|
|
25
|
+
const opener = useRef(null);
|
|
26
|
+
const formOpen = creating || state.editing !== null;
|
|
27
|
+
const blocked = state.busy || state.loading || state.stale || state.loadError;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (targeted || state.editing !== null)
|
|
30
|
+
setExpanded(true);
|
|
31
|
+
}, [targeted, state.editing]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (expanded && formOpen)
|
|
34
|
+
document.getElementById('publisher-packageName')?.focus();
|
|
35
|
+
}, [expanded, formOpen, state.editing?.id]);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!returnFocus || formOpen || blocked)
|
|
38
|
+
return;
|
|
39
|
+
const target = opener.current?.isConnected ? opener.current : addButton.current;
|
|
40
|
+
target?.focus();
|
|
41
|
+
setReturnFocus(false);
|
|
42
|
+
}, [returnFocus, formOpen, blocked]);
|
|
43
|
+
const allowed = permissions.includes('org:service-principals:write');
|
|
44
|
+
const canWrite = allowed && permissions.includes('org:packages:publish');
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (allowed)
|
|
47
|
+
void controller.load();
|
|
48
|
+
return () => controller.clear();
|
|
49
|
+
}, [controller, allowed]);
|
|
50
|
+
if (!allowed)
|
|
51
|
+
return null;
|
|
52
|
+
const submit = (event) => {
|
|
53
|
+
event.preventDefault();
|
|
54
|
+
void controller.save().then(() => {
|
|
55
|
+
if (controller.snapshot().notice !== 'Trusted publisher saved.')
|
|
56
|
+
return;
|
|
57
|
+
setCreating(false);
|
|
58
|
+
setReturnFocus(true);
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
return (_jsxs("details", { id: "trusted-publishers", className: "detail-group space-y-4", open: expanded, onToggle: (event) => setExpanded(event.currentTarget.open), children: [_jsx("summary", { className: "min-h-11 cursor-pointer font-semibold", children: "Trusted publishers" }), _jsx("p", { children: "Organization \u00B7 Let a GitHub Actions workflow publish one claimed npm package using short-lived credentials." }), _jsx("p", { children: "Configure an organization GitHub source for the repository with a GitHub App installation or token so its numeric identity can be verified." }), state.notice === null ? null : _jsx("p", { role: "status", children: state.notice }), canWrite && !formOpen ? (_jsx(Button, { ref: addButton, type: "button", className: "min-h-11", disabled: blocked, onClick: (event) => {
|
|
62
|
+
opener.current = event.currentTarget;
|
|
63
|
+
setCreating(true);
|
|
64
|
+
}, children: "Add trusted publisher" })) : null, _jsx(Button, { type: "button", variant: "outline", className: "min-h-11", disabled: state.busy || state.loading, onClick: () => void controller.load(), children: "Reload trusted publishers" }), state.loading ? (_jsx(ListState, { kind: "loading", title: "Loading trusted publishers\u2026" })) : state.loadError ? (_jsx(ListState, { kind: "error", title: "Trusted publishers could not be loaded." })) : state.items.length === 0 ? (_jsx(ListState, { kind: "empty", title: state.hasPrevious ? 'No trusted publishers on this page.' : 'No trusted publishers yet.' })) : (_jsx(DataTable, { label: "Organization trusted publishers", items: state.items, columns: [
|
|
65
|
+
{
|
|
66
|
+
key: 'package',
|
|
67
|
+
label: 'Package',
|
|
68
|
+
value: (item) => item.packageName,
|
|
69
|
+
render: (item) => _jsx("strong", { className: "break-all", children: item.packageName }),
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
key: 'workflow',
|
|
73
|
+
label: 'GitHub workflow',
|
|
74
|
+
value: (item) => item.repository,
|
|
75
|
+
render: (item) => (_jsxs("div", { className: "break-all", children: [_jsx("p", { children: item.repository }), _jsx("p", { children: item.workflow })] })),
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: 'binding',
|
|
79
|
+
label: 'Conditions',
|
|
80
|
+
value: (item) => item.environment,
|
|
81
|
+
render: (item) => (_jsxs(_Fragment, { children: [_jsxs("p", { children: ["Environment: ", item.environment || 'No environment'] }), _jsxs("p", { children: ["Ref: ", item.refPattern ?? 'Any ref'] }), _jsx("p", { children: item.disabledAt === null ? 'Enabled' : 'Disabled' })] })),
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: 'used',
|
|
85
|
+
label: 'Last used',
|
|
86
|
+
value: (item) => item.lastUsedAt ?? '',
|
|
87
|
+
render: (item) => item.lastUsedAt === null ? 'Never used' : _jsx(Time, { value: item.lastUsedAt }),
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
key: 'actions',
|
|
91
|
+
label: 'Actions',
|
|
92
|
+
value: () => '',
|
|
93
|
+
sortable: false,
|
|
94
|
+
render: (item) => !canWrite || item.disabledAt !== null ? null : (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { type: "button", className: "min-h-11", variant: "outline", disabled: blocked, onClick: (event) => {
|
|
95
|
+
opener.current = event.currentTarget;
|
|
96
|
+
setCreating(false);
|
|
97
|
+
controller.edit(item);
|
|
98
|
+
}, children: "Edit publisher" }), _jsx(ConfirmAction, { action: "Disable publisher", target: `${item.packageName}: ${item.repository} / ${item.workflow}`, scope: "Organization", description: "This workflow will no longer be able to publish through this binding. Its workload tokens will be revoked immediately. The binding remains in the history and cannot be recreated.", disabled: blocked, onConfirm: () => void controller.disable(item) })] })),
|
|
99
|
+
},
|
|
100
|
+
] })), _jsxs("p", { children: [state.items.length, " trusted publishers on this page"] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", className: "min-h-11", variant: "outline", disabled: blocked || formOpen || !state.hasPrevious, onClick: () => void controller.previousPage(), children: "Previous publishers" }), _jsx(Button, { type: "button", className: "min-h-11", variant: "outline", disabled: blocked || formOpen || state.next === null, onClick: () => void controller.nextPage(), children: "Next publishers" })] }), !canWrite ? (_jsx("p", { children: "Publishing and service identity management permissions are both required to manage publishers." })) : !formOpen ? null : (_jsxs("form", { onSubmit: submit, className: "grid max-w-5xl items-start gap-x-6 gap-y-4 lg:grid-cols-2", "aria-label": state.editing === null ? 'New trusted publisher' : 'Edit trusted publisher', children: [_jsx("h3", { className: "lg:col-span-2 font-semibold", children: state.editing === null ? 'New trusted publisher' : 'Edit trusted publisher' }), [
|
|
101
|
+
['packageName', 'npm package', true],
|
|
102
|
+
['repository', 'GitHub repository (owner/name)', true],
|
|
103
|
+
['workflow', 'Workflow filename', true],
|
|
104
|
+
['environment', 'Environment (optional)', false],
|
|
105
|
+
['refPattern', 'Ref pattern (optional)', false],
|
|
106
|
+
].map(([key, label, required]) => (_jsxs("div", { children: [_jsx(Label, { htmlFor: `publisher-${key}`, children: label }), _jsx(Input, { id: `publisher-${key}`, value: state.draft[key], required: required, maxLength: key === 'packageName' ? MAX_NPM_NAME_LENGTH : key === 'repository' ? 140 : 255, disabled: state.busy, "aria-describedby": key === 'refPattern'
|
|
107
|
+
? 'publisher-ref-help'
|
|
108
|
+
: key === 'environment'
|
|
109
|
+
? 'publisher-environment-help'
|
|
110
|
+
: undefined, onChange: (event) => controller.draft({ ...state.draft, [key]: event.target.value }) }), key === 'refPattern' ? (_jsx("p", { id: "publisher-ref-help", children: "Use a full ref such as refs/tags/v*. * crosses /, ? matches one character, and matching is case-sensitive. Leave blank to allow any ref." })) : key === 'environment' ? (_jsx("p", { id: "publisher-environment-help", children: "ASCII letters are matched without case. Leave blank for a workflow job without an environment. A named environment must match." })) : null] }, key))), _jsx("p", { className: "lg:col-span-2", children: "Saving creates or updates an organization service identity with permission to publish this package. Workflow identity is verified against GitHub's numeric repository and owner IDs." }), _jsxs("div", { className: "lg:col-span-2 flex flex-wrap gap-2", children: [_jsx(Button, { type: "submit", className: "min-h-11 w-full sm:w-auto", disabled: blocked || state.editDisabled, children: state.busy ? 'Saving publisher…' : 'Save trusted publisher' }), _jsx(Button, { type: "button", className: "min-h-11", variant: "outline", disabled: state.busy, onClick: () => {
|
|
111
|
+
controller.cancel();
|
|
112
|
+
setCreating(false);
|
|
113
|
+
setReturnFocus(true);
|
|
114
|
+
}, children: state.editing === null ? 'Cancel' : 'Cancel edit' })] })] }))] }));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=trusted-publishers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-publishers.js","sourceRoot":"","sources":["../../../src/pages/tokens/trusted-publishers.tsx"],"names":[],"mappings":"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"}
|
package/dist/pages/tokens.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import type { operations } from '../api-types.js';
|
|
2
2
|
import { type ShellServices } from '../auth.js';
|
|
3
3
|
import { type PendingStorage } from '../pending.js';
|
|
4
|
+
import { tokenClientConfig } from './tokens/client-config.js';
|
|
4
5
|
type Token = operations['listMyTokens']['responses'][200]['content']['application/json']['items'][number];
|
|
5
6
|
type Lifetime = operations['listMyTokens']['responses'][200]['content']['application/json']['lifetime'];
|
|
6
7
|
type Principal = operations['listServicePrincipals']['responses'][200]['content']['application/json']['items'][number];
|
|
8
|
+
export interface IssueProject {
|
|
9
|
+
id: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
name: string;
|
|
12
|
+
cap: 'read' | 'write' | 'full' | null;
|
|
13
|
+
permissions: string[] | null;
|
|
14
|
+
policyState?: 'idle' | 'loading' | 'loaded' | 'error';
|
|
15
|
+
}
|
|
7
16
|
type Target = 'personal' | 'project' | 'organization';
|
|
8
|
-
interface Draft {
|
|
17
|
+
export interface Draft {
|
|
9
18
|
name: string;
|
|
10
19
|
scope: 'read' | 'write' | 'full';
|
|
11
20
|
lifetimeDays: number;
|
|
@@ -21,17 +30,30 @@ interface Issue {
|
|
|
21
30
|
key: string;
|
|
22
31
|
rotate?: string;
|
|
23
32
|
replace?: string;
|
|
33
|
+
refresh?: boolean;
|
|
34
|
+
listTarget?: Target;
|
|
35
|
+
listProject?: string | null;
|
|
24
36
|
}
|
|
25
|
-
interface State {
|
|
37
|
+
export interface State {
|
|
26
38
|
target: Target;
|
|
27
39
|
project: string | null;
|
|
40
|
+
issuanceProject: string | null;
|
|
28
41
|
items: Token[];
|
|
29
42
|
next: string | null;
|
|
30
43
|
principals: Principal[];
|
|
31
44
|
principalsNext: string | null;
|
|
32
45
|
principalsRestricted: boolean;
|
|
46
|
+
principalsLoading: boolean;
|
|
47
|
+
principalsError: boolean;
|
|
48
|
+
organizationPermissions: string[];
|
|
49
|
+
issuanceDraft: Issue | null;
|
|
50
|
+
issuancePrincipal: string | null;
|
|
51
|
+
issuanceNonce: number;
|
|
33
52
|
names: Record<string, string>;
|
|
34
53
|
projectSlugs: Record<string, string>;
|
|
54
|
+
projects: IssueProject[];
|
|
55
|
+
projectsError: boolean;
|
|
56
|
+
result: Issue | null;
|
|
35
57
|
lifetime: Lifetime | null;
|
|
36
58
|
userId: string | null;
|
|
37
59
|
secret: string | null;
|
|
@@ -54,6 +76,7 @@ interface Deps {
|
|
|
54
76
|
now: () => number;
|
|
55
77
|
clearAfterCopy?: boolean;
|
|
56
78
|
}
|
|
79
|
+
export declare const dayLabel: (days: number) => string;
|
|
57
80
|
export declare function lifetimeChoices(policy: {
|
|
58
81
|
maxDays: number;
|
|
59
82
|
defaultDays: number;
|
|
@@ -61,9 +84,64 @@ export declare function lifetimeChoices(policy: {
|
|
|
61
84
|
export declare function tokensReducer(state: State, action: {
|
|
62
85
|
type: 'navigate';
|
|
63
86
|
}): State;
|
|
64
|
-
export declare function
|
|
87
|
+
export declare function inResultScope(result: Issue | null, project: IssueProject): boolean;
|
|
88
|
+
export declare function hasSetupAccess(state: State, project: IssueProject): boolean;
|
|
65
89
|
export declare function createTokensController(services: ShellServices, deps: Deps): {
|
|
90
|
+
trustedPublishers: {
|
|
91
|
+
snapshot: () => import("./tokens/trusted-publishers-controller.js").State;
|
|
92
|
+
subscribe(listener: () => void): () => void;
|
|
93
|
+
draft(draft: {
|
|
94
|
+
packageName: string;
|
|
95
|
+
repository: string;
|
|
96
|
+
workflow: string;
|
|
97
|
+
environment: string;
|
|
98
|
+
refPattern: string;
|
|
99
|
+
}): void;
|
|
100
|
+
edit(item: Pick<{
|
|
101
|
+
createdAt: string;
|
|
102
|
+
createdByName: string;
|
|
103
|
+
createdByUserId: string;
|
|
104
|
+
disabledAt: string | null;
|
|
105
|
+
environment: string;
|
|
106
|
+
id: string;
|
|
107
|
+
lastUsedAt: string | null;
|
|
108
|
+
packageName: string;
|
|
109
|
+
refPattern: string | null;
|
|
110
|
+
repository: string;
|
|
111
|
+
repositoryId: string;
|
|
112
|
+
repositoryOwnerId: string;
|
|
113
|
+
revision: number;
|
|
114
|
+
servicePrincipalId: string;
|
|
115
|
+
servicePrincipalName: string;
|
|
116
|
+
workflow: string;
|
|
117
|
+
}, "id" | "revision" | "packageName" | "repository" | "workflow" | "environment" | "refPattern">): void;
|
|
118
|
+
cancel(): void;
|
|
119
|
+
clear(): void;
|
|
120
|
+
load(): Promise<void>;
|
|
121
|
+
nextPage(): Promise<void>;
|
|
122
|
+
previousPage(): Promise<void>;
|
|
123
|
+
save(): Promise<void>;
|
|
124
|
+
disable(item: Pick<{
|
|
125
|
+
createdAt: string;
|
|
126
|
+
createdByName: string;
|
|
127
|
+
createdByUserId: string;
|
|
128
|
+
disabledAt: string | null;
|
|
129
|
+
environment: string;
|
|
130
|
+
id: string;
|
|
131
|
+
lastUsedAt: string | null;
|
|
132
|
+
packageName: string;
|
|
133
|
+
refPattern: string | null;
|
|
134
|
+
repository: string;
|
|
135
|
+
repositoryId: string;
|
|
136
|
+
repositoryOwnerId: string;
|
|
137
|
+
revision: number;
|
|
138
|
+
servicePrincipalId: string;
|
|
139
|
+
servicePrincipalName: string;
|
|
140
|
+
workflow: string;
|
|
141
|
+
}, "id" | "revision">): Promise<void>;
|
|
142
|
+
};
|
|
66
143
|
snapshot: () => State;
|
|
144
|
+
announce(notice: string): void;
|
|
67
145
|
subscribe(listener: () => void): () => void;
|
|
68
146
|
navigate(): void;
|
|
69
147
|
dispose(): void;
|
|
@@ -73,22 +151,38 @@ export declare function createTokensController(services: ShellServices, deps: De
|
|
|
73
151
|
selectTarget(target: Target, project: string | null): Promise<void>;
|
|
74
152
|
decline(): void;
|
|
75
153
|
confirm(): Promise<void>;
|
|
154
|
+
issueFor(target: Target, project: string | null, draft: Draft): Promise<void>;
|
|
155
|
+
configureProject(slug: string): void;
|
|
76
156
|
issue(draft: Draft): Promise<void>;
|
|
77
157
|
renew(token: Token): void;
|
|
158
|
+
invalidProjects(): void;
|
|
78
159
|
registryOrigin: () => string;
|
|
79
160
|
clientConfig(): {
|
|
80
161
|
composer: string;
|
|
162
|
+
composerAuth: string;
|
|
81
163
|
npm: string;
|
|
164
|
+
ciComposer: string;
|
|
165
|
+
ciNpm: string;
|
|
82
166
|
} | null;
|
|
83
|
-
copy(kind?:
|
|
167
|
+
copy(kind?: keyof ReturnType<typeof tokenClientConfig>): Promise<void>;
|
|
84
168
|
load(target?: Target, project?: string | null, after?: string): Promise<void>;
|
|
85
169
|
loadPrincipals(after?: string): Promise<void>;
|
|
170
|
+
loadProjectPolicies(ids: string[], retry?: boolean): void;
|
|
171
|
+
choosePrincipal(id: string, project: string | null, organization?: boolean): void;
|
|
86
172
|
identity(): Promise<void>;
|
|
87
173
|
revoke(id: string, own?: boolean): Promise<void>;
|
|
88
|
-
createPrincipal(name: string, project: string, permissions: string[]): Promise<
|
|
174
|
+
createPrincipal(name: string, project: string, permissions: string[]): Promise<{
|
|
175
|
+
createdByUserId: string;
|
|
176
|
+
id: string;
|
|
177
|
+
name: string;
|
|
178
|
+
permissions: string[];
|
|
179
|
+
projectId: string | null;
|
|
180
|
+
revision: number;
|
|
181
|
+
status: "active" | "suspended";
|
|
182
|
+
} | undefined>;
|
|
89
183
|
suspendPrincipal(principal: Principal): Promise<void>;
|
|
90
184
|
};
|
|
91
|
-
type Controller = ReturnType<typeof createTokensController>;
|
|
185
|
+
export type Controller = ReturnType<typeof createTokensController>;
|
|
92
186
|
export interface TokenFilters {
|
|
93
187
|
q: string;
|
|
94
188
|
scope: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/pages/tokens.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/pages/tokens.tsx"],"names":[],"mappings":"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"}
|