@fuzdev/fuz_gitops 0.78.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -17
- package/dist/ModulesDetail.svelte +22 -27
- package/dist/ModulesDetail.svelte.d.ts.map +1 -1
- package/dist/ModulesNav.svelte +8 -5
- package/dist/ModulesNav.svelte.d.ts.map +1 -1
- package/dist/ModulesPage.svelte +3 -5
- package/dist/ModulesPage.svelte.d.ts.map +1 -1
- package/dist/PageFooter.svelte +2 -2
- package/dist/PageHeader.svelte +6 -6
- package/dist/PageHeader.svelte.d.ts +0 -3
- package/dist/PageHeader.svelte.d.ts.map +1 -1
- package/dist/PullRequestsDetail.svelte +29 -20
- package/dist/PullRequestsDetail.svelte.d.ts.map +1 -1
- package/dist/PullRequestsPage.svelte +4 -6
- package/dist/PullRequestsPage.svelte.d.ts.map +1 -1
- package/dist/ReposTable.svelte +43 -55
- package/dist/ReposTable.svelte.d.ts.map +1 -1
- package/dist/ReposTree.svelte +9 -21
- package/dist/ReposTree.svelte.d.ts.map +1 -1
- package/dist/ReposTreeNav.svelte +9 -12
- package/dist/ReposTreeNav.svelte.d.ts.map +1 -1
- package/dist/TablePage.svelte +3 -5
- package/dist/TablePage.svelte.d.ts.map +1 -1
- package/dist/TreeItemPage.svelte +3 -5
- package/dist/TreeItemPage.svelte.d.ts.map +1 -1
- package/dist/TreePage.svelte +3 -5
- package/dist/TreePage.svelte.d.ts.map +1 -1
- package/dist/changeset_generator.d.ts.map +1 -1
- package/dist/changeset_generator.js +2 -2
- package/dist/changeset_reader.d.ts.map +1 -1
- package/dist/changeset_reader.js +3 -3
- package/dist/ci_reconcile.d.ts +6 -10
- package/dist/ci_reconcile.d.ts.map +1 -1
- package/dist/ci_reconcile.js +6 -8
- package/dist/dependency_graph.d.ts +26 -49
- package/dist/dependency_graph.d.ts.map +1 -1
- package/dist/dependency_graph.js +40 -83
- package/dist/dependency_updater.d.ts +1 -1
- package/dist/dependency_updater.d.ts.map +1 -1
- package/dist/dependency_updater.js +14 -9
- package/dist/fetch_repo_data.d.ts +34 -8
- package/dist/fetch_repo_data.d.ts.map +1 -1
- package/dist/fetch_repo_data.js +44 -22
- package/dist/fs_fetch_value_cache.d.ts +1 -1
- package/dist/fs_fetch_value_cache.d.ts.map +1 -1
- package/dist/fs_fetch_value_cache.js +3 -3
- package/dist/git_operations.d.ts +6 -49
- package/dist/git_operations.d.ts.map +1 -1
- package/dist/git_operations.js +13 -126
- package/dist/github.d.ts +17 -2
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +17 -8
- package/dist/github_helpers.d.ts.map +1 -1
- package/dist/github_helpers.js +3 -11
- package/dist/gitops_analyze.task.d.ts +24 -2
- package/dist/gitops_analyze.task.d.ts.map +1 -1
- package/dist/gitops_analyze.task.js +47 -34
- package/dist/gitops_config.d.ts +34 -79
- package/dist/gitops_config.d.ts.map +1 -1
- package/dist/gitops_config.js +76 -53
- package/dist/gitops_constants.d.ts +6 -4
- package/dist/gitops_constants.d.ts.map +1 -1
- package/dist/gitops_constants.js +6 -4
- package/dist/gitops_plan.task.d.ts +29 -3
- package/dist/gitops_plan.task.d.ts.map +1 -1
- package/dist/gitops_plan.task.js +83 -61
- package/dist/gitops_publish.task.d.ts +62 -2
- package/dist/gitops_publish.task.d.ts.map +1 -1
- package/dist/gitops_publish.task.js +193 -105
- package/dist/gitops_run.task.d.ts +74 -0
- package/dist/gitops_run.task.d.ts.map +1 -1
- package/dist/gitops_run.task.js +176 -162
- package/dist/gitops_sync.task.d.ts +65 -3
- package/dist/gitops_sync.task.d.ts.map +1 -1
- package/dist/gitops_sync.task.js +163 -37
- package/dist/gitops_task_helpers.d.ts +86 -59
- package/dist/gitops_task_helpers.d.ts.map +1 -1
- package/dist/gitops_task_helpers.js +120 -79
- package/dist/gitops_validate.task.d.ts +1 -2
- package/dist/gitops_validate.task.d.ts.map +1 -1
- package/dist/gitops_validate.task.js +25 -32
- package/dist/graph_validation.d.ts +16 -27
- package/dist/graph_validation.d.ts.map +1 -1
- package/dist/graph_validation.js +24 -65
- package/dist/local_repo.d.ts +50 -62
- package/dist/local_repo.d.ts.map +1 -1
- package/dist/local_repo.js +83 -196
- package/dist/log_helpers.d.ts +8 -8
- package/dist/log_helpers.d.ts.map +1 -1
- package/dist/multi_repo_publisher.d.ts +10 -0
- package/dist/multi_repo_publisher.d.ts.map +1 -1
- package/dist/multi_repo_publisher.js +125 -61
- package/dist/npm_registry.d.ts +23 -19
- package/dist/npm_registry.d.ts.map +1 -1
- package/dist/npm_registry.js +21 -48
- package/dist/operations.d.ts +75 -180
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +15 -7
- package/dist/operations_defaults.d.ts +17 -2
- package/dist/operations_defaults.d.ts.map +1 -1
- package/dist/operations_defaults.js +111 -128
- package/dist/output_helpers.d.ts +36 -0
- package/dist/output_helpers.d.ts.map +1 -1
- package/dist/output_helpers.js +37 -3
- package/dist/preflight_checks.d.ts +20 -27
- package/dist/preflight_checks.d.ts.map +1 -1
- package/dist/preflight_checks.js +37 -126
- package/dist/publish_gate.d.ts.map +1 -1
- package/dist/publish_steps.d.ts +2 -4
- package/dist/publish_steps.d.ts.map +1 -1
- package/dist/publish_steps.js +4 -8
- package/dist/publishing_event.d.ts +2 -8
- package/dist/publishing_event.d.ts.map +1 -1
- package/dist/publishing_event.js +20 -17
- package/dist/publishing_event_handler.d.ts +10 -8
- package/dist/publishing_event_handler.d.ts.map +1 -1
- package/dist/publishing_event_handler.js +19 -17
- package/dist/publishing_plan.d.ts +16 -1
- package/dist/publishing_plan.d.ts.map +1 -1
- package/dist/publishing_plan.js +332 -254
- package/dist/publishing_plan_helpers.d.ts.map +1 -1
- package/dist/publishing_plan_helpers.js +3 -3
- package/dist/publishing_plan_logging.d.ts +1 -1
- package/dist/publishing_plan_logging.d.ts.map +1 -1
- package/dist/publishing_plan_logging.js +22 -15
- package/dist/repo.svelte.d.ts +7 -0
- package/dist/repo.svelte.d.ts.map +1 -1
- package/dist/repo.svelte.js +3 -0
- package/dist/repo_readiness.d.ts +210 -0
- package/dist/repo_readiness.d.ts.map +1 -0
- package/dist/repo_readiness.js +516 -0
- package/dist/repos_status.d.ts +3340 -0
- package/dist/repos_status.d.ts.map +1 -0
- package/dist/repos_status.js +555 -0
- package/dist/repos_status_load.d.ts +65 -0
- package/dist/repos_status_load.d.ts.map +1 -0
- package/dist/repos_status_load.js +131 -0
- package/dist/version_utils.js +1 -1
- package/package.json +15 -34
- package/src/lib/cargo_toml.ts +3 -3
- package/src/lib/changeset_generator.ts +19 -19
- package/src/lib/changeset_reader.ts +18 -18
- package/src/lib/ci_reconcile.ts +12 -16
- package/src/lib/dependency_graph.ts +61 -113
- package/src/lib/dependency_updater.ts +36 -30
- package/src/lib/fetch_repo_data.ts +71 -34
- package/src/lib/fs_fetch_value_cache.ts +15 -11
- package/src/lib/git_operations.ts +22 -194
- package/src/lib/github.ts +33 -21
- package/src/lib/github_helpers.ts +9 -16
- package/src/lib/gitops_analyze.task.ts +104 -66
- package/src/lib/gitops_config.ts +90 -139
- package/src/lib/gitops_constants.ts +6 -4
- package/src/lib/gitops_plan.task.ts +128 -76
- package/src/lib/gitops_publish.task.ts +280 -144
- package/src/lib/gitops_run.task.ts +265 -193
- package/src/lib/gitops_sync.task.ts +236 -52
- package/src/lib/gitops_task_helpers.ts +170 -114
- package/src/lib/gitops_validate.task.ts +44 -54
- package/src/lib/graph_validation.ts +28 -89
- package/src/lib/local_repo.ts +128 -335
- package/src/lib/log_helpers.ts +18 -28
- package/src/lib/multi_repo_publisher.ts +192 -110
- package/src/lib/npm_registry.ts +42 -67
- package/src/lib/operations.ts +99 -160
- package/src/lib/operations_defaults.ts +157 -201
- package/src/lib/output_helpers.ts +58 -6
- package/src/lib/preflight_checks.ts +52 -188
- package/src/lib/publish_gate.ts +7 -9
- package/src/lib/publish_steps.ts +27 -25
- package/src/lib/publishing_event.ts +26 -23
- package/src/lib/publishing_event_handler.ts +24 -22
- package/src/lib/publishing_plan.ts +474 -310
- package/src/lib/publishing_plan_helpers.ts +16 -12
- package/src/lib/publishing_plan_logging.ts +53 -44
- package/src/lib/repo.svelte.ts +16 -8
- package/src/lib/repo_readiness.ts +647 -0
- package/src/lib/repos_status.ts +671 -0
- package/src/lib/repos_status_load.ts +173 -0
- package/src/lib/version_utils.ts +3 -3
- package/dist/config_reconcile.d.ts +0 -46
- package/dist/config_reconcile.d.ts.map +0 -1
- package/dist/config_reconcile.js +0 -60
- package/dist/paths.d.ts +0 -7
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -6
- package/dist/repo_ops.d.ts +0 -59
- package/dist/repo_ops.d.ts.map +0 -1
- package/dist/repo_ops.js +0 -170
- package/dist/resolved_gitops_config.d.ts +0 -9
- package/dist/resolved_gitops_config.d.ts.map +0 -1
- package/dist/resolved_gitops_config.js +0 -12
- package/src/lib/config_reconcile.ts +0 -94
- package/src/lib/paths.ts +0 -6
- package/src/lib/repo_ops.ts +0 -216
- package/src/lib/resolved_gitops_config.ts +0 -27
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
* A `PublishingEventHandler` is anything that can receive a `PublishingEvent`. Handlers
|
|
5
5
|
* compose: `multi_handler` fans out, `masking_handler` redacts secrets then forwards.
|
|
6
6
|
* Emission is best-effort and synchronous — an observability sink must never fail or
|
|
7
|
-
* slow a run. The
|
|
7
|
+
* slow a run. The executor always captures events for its result (`capture_handler`)
|
|
8
|
+
* and forwards them to the caller's sink when one is supplied.
|
|
8
9
|
*
|
|
9
10
|
* @module
|
|
10
11
|
*/
|
|
11
12
|
|
|
12
|
-
import type {PublishingEvent} from './publishing_event.ts';
|
|
13
|
+
import type { PublishingEvent } from './publishing_event.ts';
|
|
14
|
+
import type { WriteStdout } from './output_helpers.ts';
|
|
15
|
+
|
|
16
|
+
const write_process_stdout_line: WriteStdout = (line) => {
|
|
17
|
+
process.stdout.write(line + '\n');
|
|
18
|
+
};
|
|
13
19
|
|
|
14
20
|
/** A sink for publishing events. */
|
|
15
21
|
export interface PublishingEventHandler {
|
|
@@ -21,11 +27,6 @@ export interface CapturingEventHandler extends PublishingEventHandler {
|
|
|
21
27
|
readonly events: Array<PublishingEvent>;
|
|
22
28
|
}
|
|
23
29
|
|
|
24
|
-
/** Drops every event. The default when no handler is supplied. */
|
|
25
|
-
export const null_handler = (): PublishingEventHandler => ({
|
|
26
|
-
emit: () => {},
|
|
27
|
-
});
|
|
28
|
-
|
|
29
30
|
/** Collects events in memory. Used to build the run report and in tests. */
|
|
30
31
|
export const capture_handler = (): CapturingEventHandler => {
|
|
31
32
|
const events: Array<PublishingEvent> = [];
|
|
@@ -33,22 +34,26 @@ export const capture_handler = (): CapturingEventHandler => {
|
|
|
33
34
|
events,
|
|
34
35
|
emit: (event) => {
|
|
35
36
|
events.push(event);
|
|
36
|
-
}
|
|
37
|
+
}
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
|
-
* Writes each event as one JSON object per line (JSON-lines) to
|
|
42
|
+
* Writes each event as one JSON object per line (JSON-lines) to stdout.
|
|
42
43
|
* Write failures are swallowed — the stream is observability, not control flow.
|
|
44
|
+
*
|
|
45
|
+
* @param write_line - writes one line and its newline; defaults to `process.stdout`
|
|
43
46
|
*/
|
|
44
|
-
export const stdout_handler = (
|
|
47
|
+
export const stdout_handler = (
|
|
48
|
+
write_line: WriteStdout = write_process_stdout_line
|
|
49
|
+
): PublishingEventHandler => ({
|
|
45
50
|
emit: (event) => {
|
|
46
51
|
try {
|
|
47
|
-
|
|
52
|
+
write_line(JSON.stringify(event));
|
|
48
53
|
} catch {
|
|
49
54
|
// best-effort: a logging sink must never fail a run
|
|
50
55
|
}
|
|
51
|
-
}
|
|
56
|
+
}
|
|
52
57
|
});
|
|
53
58
|
|
|
54
59
|
/** Fans an event out to every handler in order. */
|
|
@@ -57,22 +62,19 @@ export const multi_handler = (handlers: Array<PublishingEventHandler>): Publishi
|
|
|
57
62
|
for (const handler of handlers) {
|
|
58
63
|
handler.emit(event);
|
|
59
64
|
}
|
|
60
|
-
}
|
|
65
|
+
}
|
|
61
66
|
});
|
|
62
67
|
|
|
63
68
|
/**
|
|
64
|
-
* Wraps a handler, masking secrets in each event's string fields
|
|
69
|
+
* Wraps a handler, masking secrets in each event's string fields (`mask_secrets`)
|
|
70
|
+
* before forwarding.
|
|
65
71
|
*
|
|
66
72
|
* @param inner - the handler to forward masked events to
|
|
67
|
-
* @param mask - the masking function, defaults to `mask_secrets`
|
|
68
73
|
*/
|
|
69
|
-
export const masking_handler = (
|
|
70
|
-
inner: PublishingEventHandler,
|
|
71
|
-
mask: (event: PublishingEvent) => PublishingEvent = mask_secrets,
|
|
72
|
-
): PublishingEventHandler => ({
|
|
74
|
+
export const masking_handler = (inner: PublishingEventHandler): PublishingEventHandler => ({
|
|
73
75
|
emit: (event) => {
|
|
74
|
-
inner.emit(
|
|
75
|
-
}
|
|
76
|
+
inner.emit(mask_secrets(event));
|
|
77
|
+
}
|
|
76
78
|
});
|
|
77
79
|
|
|
78
80
|
// Minimal redaction rules: npm auth tokens (bare or registry-scoped), `SECRET_*`
|
|
@@ -81,7 +83,7 @@ export const masking_handler = (
|
|
|
81
83
|
const SECRET_RULES: Array<readonly [RegExp, string]> = [
|
|
82
84
|
[/((?:\/\/[^\s:]+:)?_authToken\s*=\s*)\S+/gi, '$1[redacted]'],
|
|
83
85
|
[/(SECRET_[A-Z0-9_]+\s*[=:]\s*)\S+/g, '$1[redacted]'],
|
|
84
|
-
[/(npm_[A-Za-z0-9]{4})[A-Za-z0-9]{12,}/g, '$1[redacted]']
|
|
86
|
+
[/(npm_[A-Za-z0-9]{4})[A-Za-z0-9]{12,}/g, '$1[redacted]']
|
|
85
87
|
];
|
|
86
88
|
|
|
87
89
|
/** Redacts known secret shapes from a string. */
|