@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
package/dist/ReposTable.svelte
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {page} from '$app/state';
|
|
3
|
-
import {resolve} from '$app/paths';
|
|
4
|
-
import {format_url} from '@fuzdev/fuz_util/url.ts';
|
|
2
|
+
import { page } from '$app/state';
|
|
3
|
+
import { resolve } from '$app/paths';
|
|
4
|
+
import { format_url } from '@fuzdev/fuz_util/url.ts';
|
|
5
5
|
|
|
6
|
-
import type {Repo} from './repo.svelte.js';
|
|
7
|
-
import {to_pull_url} from './github_helpers.js';
|
|
6
|
+
import type { Repo } from './repo.svelte.js';
|
|
7
|
+
import { to_pull_url } from './github_helpers.js';
|
|
8
8
|
|
|
9
9
|
const {
|
|
10
10
|
repos,
|
|
11
|
-
deps = ['@fuzdev/fuz_ui', '@fuzdev/gro']
|
|
11
|
+
deps = ['@fuzdev/fuz_ui', '@fuzdev/gro']
|
|
12
12
|
}: {
|
|
13
13
|
repos: Array<Repo>;
|
|
14
14
|
deps?: Array<string>;
|
|
@@ -37,21 +37,13 @@
|
|
|
37
37
|
new Map<string, string | null>(
|
|
38
38
|
deps.map((dep) => {
|
|
39
39
|
const repo = repos.find((repo) => repo.package_json.name === dep);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
),
|
|
40
|
+
return [dep, repo?.package_json.version ?? null];
|
|
41
|
+
})
|
|
42
|
+
)
|
|
44
43
|
);
|
|
45
44
|
|
|
46
45
|
const format_version = (version: string | null | undefined): string =>
|
|
47
46
|
version == null ? '' : version.replace(/^(\^|>=)\s*/, '');
|
|
48
|
-
|
|
49
|
-
const lookup_pull_requests = (repos: Array<Repo> | null, repo: Repo) => {
|
|
50
|
-
const found = repos?.find((p) => p.repo_url === repo.repo_url);
|
|
51
|
-
if (!found?.package_json) return null;
|
|
52
|
-
const {pull_requests} = found;
|
|
53
|
-
return pull_requests;
|
|
54
|
-
};
|
|
55
47
|
</script>
|
|
56
48
|
|
|
57
49
|
<table>
|
|
@@ -70,13 +62,14 @@
|
|
|
70
62
|
</thead>
|
|
71
63
|
<tbody>
|
|
72
64
|
{#each repos as repo (repo.name)}
|
|
73
|
-
{@const {package_json, homepage_url} = repo}
|
|
65
|
+
{@const { package_json, homepage_url } = repo}
|
|
66
|
+
{@const check_runs = repo.check_runs}
|
|
67
|
+
{@const check_runs_completed = check_runs?.status === 'completed'}
|
|
68
|
+
{@const check_runs_success = check_runs?.conclusion === 'success'}
|
|
74
69
|
<tr>
|
|
75
70
|
<td>
|
|
76
71
|
<div class="row">
|
|
77
|
-
{
|
|
78
|
-
<a href={resolve(`/tree/${repo.repo_name}`)}>{package_json.glyph ?? '🌳'}</a>
|
|
79
|
-
{/if}
|
|
72
|
+
<a href={resolve(`/tree/${repo.repo_name}`)}>{package_json.glyph ?? '🌳'}</a>
|
|
80
73
|
</div>
|
|
81
74
|
</td>
|
|
82
75
|
<td>
|
|
@@ -98,25 +91,17 @@
|
|
|
98
91
|
</td>
|
|
99
92
|
<td>
|
|
100
93
|
<div class="row">
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
{@const check_runs = repo.check_runs}
|
|
105
|
-
{@const check_runs_completed = check_runs?.status === 'completed'}
|
|
106
|
-
{@const check_runs_success = check_runs?.conclusion === 'success'}
|
|
107
|
-
{#if check_runs && (!check_runs_completed || !check_runs_success)}
|
|
108
|
-
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
109
|
-
href="{repo.repo_url}/commits/main"
|
|
110
|
-
title={!check_runs_completed
|
|
111
|
-
? `status: ${check_runs.status}`
|
|
112
|
-
: `CI failed: ${check_runs.conclusion}`}
|
|
113
|
-
>{#if !check_runs_completed}🟡{:else}⚠️{/if}</a
|
|
114
|
-
>
|
|
115
|
-
{/if}
|
|
116
|
-
{:else}
|
|
94
|
+
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
|
|
95
|
+
<a href={repo.repo_url}>{repo.repo_name}</a>
|
|
96
|
+
{#if check_runs && (!check_runs_completed || !check_runs_success)}
|
|
117
97
|
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
118
|
-
href={repo.repo_url}
|
|
98
|
+
href="{repo.repo_url}/commits/{repo.branch}"
|
|
99
|
+
title={!check_runs_completed
|
|
100
|
+
? `status: ${check_runs.status}`
|
|
101
|
+
: `CI failed: ${check_runs.conclusion}`}
|
|
119
102
|
>
|
|
103
|
+
{#if !check_runs_completed}🟡{:else}⚠️{/if}
|
|
104
|
+
</a>
|
|
120
105
|
{/if}
|
|
121
106
|
</div>
|
|
122
107
|
</td>
|
|
@@ -124,16 +109,20 @@
|
|
|
124
109
|
{#if repo.npm_url}
|
|
125
110
|
<div class="row">
|
|
126
111
|
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
127
|
-
href={repo.npm_url}
|
|
112
|
+
href={repo.npm_url}
|
|
128
113
|
>
|
|
114
|
+
<code>{repo.name}</code>
|
|
115
|
+
</a>
|
|
129
116
|
</div>
|
|
130
117
|
{/if}
|
|
131
118
|
</td>
|
|
132
119
|
<td>
|
|
133
120
|
{#if package_json.version !== '0.0.1'}
|
|
134
121
|
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
135
|
-
href={repo.changelog_url}
|
|
122
|
+
href={repo.changelog_url}
|
|
136
123
|
>
|
|
124
|
+
{format_version(package_json.version)}
|
|
125
|
+
</a>
|
|
137
126
|
{/if}
|
|
138
127
|
</td>
|
|
139
128
|
{#each deps as dep (dep)}
|
|
@@ -149,21 +138,20 @@
|
|
|
149
138
|
</td>
|
|
150
139
|
{/each}
|
|
151
140
|
<td>
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
{/if}
|
|
141
|
+
<!-- TODO show something like `and N more` with a link to a dialog list -->
|
|
142
|
+
<div class="row">
|
|
143
|
+
{#if repo.pull_requests}
|
|
144
|
+
{#each repo.pull_requests as pull (pull.number)}
|
|
145
|
+
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
146
|
+
href={to_pull_url(repo.repo_url, pull)}
|
|
147
|
+
class="chip"
|
|
148
|
+
title={pull.title}
|
|
149
|
+
>
|
|
150
|
+
#{pull.number}
|
|
151
|
+
</a>
|
|
152
|
+
{/each}
|
|
153
|
+
{/if}
|
|
154
|
+
</div>
|
|
167
155
|
</td>
|
|
168
156
|
</tr>
|
|
169
157
|
{/each}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReposTable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTable.svelte"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ReposTable.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTable.svelte"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG5C,KAAK,gBAAgB,GAAI;IACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACrB,CAAC;AA+IH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
package/dist/ReposTree.svelte
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import LibrarySummary from '@fuzdev/fuz_ui/LibrarySummary.svelte';
|
|
3
|
-
import {resolve} from '$app/paths';
|
|
4
|
-
import {
|
|
5
|
-
import type {Snippet} from 'svelte';
|
|
3
|
+
import { resolve } from '$app/paths';
|
|
4
|
+
import type { Snippet } from 'svelte';
|
|
6
5
|
|
|
7
|
-
import type {Repo} from './repo.svelte.js';
|
|
6
|
+
import type { Repo } from './repo.svelte.js';
|
|
8
7
|
import ReposTreeNav from './ReposTreeNav.svelte';
|
|
9
8
|
import LibraryDetail from '@fuzdev/fuz_ui/LibraryDetail.svelte';
|
|
10
9
|
|
|
11
10
|
const {
|
|
12
11
|
repos,
|
|
13
12
|
selected_repo,
|
|
14
|
-
nav
|
|
13
|
+
nav
|
|
15
14
|
}: {
|
|
16
15
|
repos: Array<Repo>;
|
|
17
16
|
selected_repo?: Repo | undefined;
|
|
@@ -39,22 +38,11 @@
|
|
|
39
38
|
<menu class="summaries">
|
|
40
39
|
{#each repos as repo (repo.name)}
|
|
41
40
|
<li class="panel p_md box">
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
</LibrarySummary>
|
|
48
|
-
{:else}
|
|
49
|
-
<div class="width_atmost_sm">
|
|
50
|
-
<p>
|
|
51
|
-
failed to load library metadata for
|
|
52
|
-
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve --><a
|
|
53
|
-
href={repo.repo_url}>{format_url(repo.repo_url)}</a
|
|
54
|
-
>
|
|
55
|
-
</p>
|
|
56
|
-
</div>
|
|
57
|
-
{/if}
|
|
41
|
+
<LibrarySummary library={repo.library}>
|
|
42
|
+
{#snippet repo_name(repo_name)}
|
|
43
|
+
<a href={resolve(`/tree/${repo_name}`)} class="repo-name">{repo_name}</a>
|
|
44
|
+
{/snippet}
|
|
45
|
+
</LibrarySummary>
|
|
58
46
|
</li>
|
|
59
47
|
{/each}
|
|
60
48
|
</menu>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReposTree.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTree.svelte"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReposTree.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTree.svelte"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,gBAAgB,GAAI;IACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACjC,GAAG,EAAE,OAAO,CAAC;CACb,CAAC;AA+CH,QAAA,MAAM,SAAS,sDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
package/dist/ReposTreeNav.svelte
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {resolve} from '$app/paths';
|
|
3
|
-
import type {Snippet} from 'svelte';
|
|
2
|
+
import { resolve } from '$app/paths';
|
|
3
|
+
import type { Snippet } from 'svelte';
|
|
4
4
|
|
|
5
|
-
import type {Repo} from './repo.svelte.js';
|
|
5
|
+
import type { Repo } from './repo.svelte.js';
|
|
6
6
|
|
|
7
7
|
const {
|
|
8
8
|
repos,
|
|
9
9
|
selected_repo,
|
|
10
|
-
children
|
|
10
|
+
children
|
|
11
11
|
}: {
|
|
12
12
|
repos: Array<Repo>;
|
|
13
13
|
selected_repo?: Repo;
|
|
@@ -20,14 +20,11 @@
|
|
|
20
20
|
{#each repos as repo (repo.name)}
|
|
21
21
|
{@const selected = repo === selected_repo}
|
|
22
22
|
<li style:display="contents">
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{repo.repo_name}{#if repo.package_json.glyph} {repo.package_json.glyph}{/if}
|
|
29
|
-
</div></a
|
|
30
|
-
>{/if}
|
|
23
|
+
<a class="menuitem" class:selected href={resolve(`/tree/${repo.repo_name}`)}>
|
|
24
|
+
<div class="ellipsis">
|
|
25
|
+
{repo.repo_name}{#if repo.package_json.glyph} {repo.package_json.glyph}{/if}
|
|
26
|
+
</div>
|
|
27
|
+
</a>
|
|
31
28
|
</li>
|
|
32
29
|
{/each}
|
|
33
30
|
</menu>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReposTreeNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTreeNav.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ReposTreeNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ReposTreeNav.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,gBAAgB,GAAI;IACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAkCH,QAAA,MAAM,YAAY,sDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
package/dist/TablePage.svelte
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import PageFooter from './PageFooter.svelte';
|
|
3
3
|
import PageHeader from './PageHeader.svelte';
|
|
4
4
|
import ReposTable from './ReposTable.svelte';
|
|
5
|
-
import type {Repo} from './repo.svelte.js';
|
|
5
|
+
import type { Repo } from './repo.svelte.js';
|
|
6
6
|
|
|
7
7
|
const {
|
|
8
8
|
repo,
|
|
9
|
-
repos
|
|
9
|
+
repos
|
|
10
10
|
}: {
|
|
11
11
|
repo: Repo;
|
|
12
12
|
repos: Array<Repo>;
|
|
@@ -26,9 +26,7 @@
|
|
|
26
26
|
<ReposTable {repos} />
|
|
27
27
|
</div>
|
|
28
28
|
</section>
|
|
29
|
-
<
|
|
30
|
-
<PageFooter />
|
|
31
|
-
</section>
|
|
29
|
+
<PageFooter />
|
|
32
30
|
</main>
|
|
33
31
|
|
|
34
32
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TablePage.svelte"],"names":[],"mappings":"AAMA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TablePage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TablePage.svelte"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACnB,CAAC;AAiCH,QAAA,MAAM,SAAS,sDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
package/dist/TreeItemPage.svelte
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
import PageFooter from './PageFooter.svelte';
|
|
6
6
|
import PageHeader from './PageHeader.svelte';
|
|
7
7
|
import ReposTree from './ReposTree.svelte';
|
|
8
|
-
import type {Repo} from './repo.svelte.js';
|
|
8
|
+
import type { Repo } from './repo.svelte.js';
|
|
9
9
|
|
|
10
10
|
const {
|
|
11
11
|
repo,
|
|
12
12
|
repos,
|
|
13
|
-
slug
|
|
13
|
+
slug
|
|
14
14
|
}: {
|
|
15
15
|
repo: Repo;
|
|
16
16
|
repos: Array<Repo>;
|
|
@@ -44,9 +44,7 @@
|
|
|
44
44
|
{/snippet}
|
|
45
45
|
</ReposTree>
|
|
46
46
|
</section>
|
|
47
|
-
<
|
|
48
|
-
<PageFooter />
|
|
49
|
-
</section>
|
|
47
|
+
<PageFooter />
|
|
50
48
|
</main>
|
|
51
49
|
|
|
52
50
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemPage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TreeItemPage.svelte"],"names":[],"mappings":"AASA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TreeItemPage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TreeItemPage.svelte"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAkDH,QAAA,MAAM,YAAY,sDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
package/dist/TreePage.svelte
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
import PageFooter from './PageFooter.svelte';
|
|
5
5
|
import PageHeader from './PageHeader.svelte';
|
|
6
6
|
import ReposTree from './ReposTree.svelte';
|
|
7
|
-
import type {Repo} from './repo.svelte.js';
|
|
7
|
+
import type { Repo } from './repo.svelte.js';
|
|
8
8
|
|
|
9
9
|
const {
|
|
10
10
|
repo,
|
|
11
|
-
repos
|
|
11
|
+
repos
|
|
12
12
|
}: {
|
|
13
13
|
repo: Repo;
|
|
14
14
|
repos: Array<Repo>;
|
|
@@ -34,9 +34,7 @@
|
|
|
34
34
|
{/snippet}
|
|
35
35
|
</ReposTree>
|
|
36
36
|
</section>
|
|
37
|
-
<
|
|
38
|
-
<PageFooter />
|
|
39
|
-
</section>
|
|
37
|
+
<PageFooter />
|
|
40
38
|
</main>
|
|
41
39
|
|
|
42
40
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreePage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TreePage.svelte"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"TreePage.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/TreePage.svelte"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACnB,CAAC;AAyCH,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset_generator.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/changeset_generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"changeset_generator.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/changeset_generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,WAAW,uBAAuB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,uCAAuC,GACnD,MAAM,SAAS,EACf,SAAS,KAAK,CAAC,uBAAuB,CAAC,EACvC,UAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAO,KACnD,OAAO,CAAC,MAAM,CAiChB,CAAC;AAWF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,GACtC,cAAc,MAAM,EACpB,SAAS,KAAK,CAAC,uBAAuB,CAAC,EACvC,WAAW,OAAO,GAAG,OAAO,GAAG,OAAO,KACpC,MAsCF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACrC,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,oBAAoB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAC/C,KAAK,CAAC,uBAAuB,CAoB/B,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
import { join } from 'node:path';
|
|
10
|
-
import { strip_version_prefix, required_bump_for_dependency_update
|
|
10
|
+
import { strip_version_prefix, required_bump_for_dependency_update } from './version_utils.js';
|
|
11
11
|
import { default_fs_operations } from './operations_defaults.js';
|
|
12
12
|
/**
|
|
13
13
|
* Creates a changeset file for dependency updates.
|
|
@@ -95,7 +95,7 @@ export const create_dependency_updates = (dependencies, published_versions) => {
|
|
|
95
95
|
from_version: clean_current,
|
|
96
96
|
to_version: published.new_version,
|
|
97
97
|
bump_type: published.bump_type,
|
|
98
|
-
breaking: published.breaking
|
|
98
|
+
breaking: published.breaking
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset_reader.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/changeset_reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"changeset_reader.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/changeset_reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAA8C,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE/F,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uBAAuB,GACnC,SAAS,MAAM,EACf,iBAAyB,KACvB,aAAa,GAAG,IAmClB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,UAAU,MAAM,EAChB,MAAM,MAAM,KACV,OAAO,CAAC,aAAa,GAAG,IAAI,CAgB9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,MAAM,SAAS,EACf,MAAM,MAAM,KACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAsB9B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,GAC1C,YAAY,KAAK,CAAC,aAAa,CAAC,EAChC,cAAc,MAAM,KAClB,QAAQ,GAAG,IAcb,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAU,MAAM,SAAS,KAAG,OAAO,CAAC,OAAO,CAarE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAChC,MAAM,SAAS,EACf,MAAM,MAAM,KACV,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,GAAG,IAAI,CAsBzD,CAAC"}
|
package/dist/changeset_reader.js
CHANGED
|
@@ -49,7 +49,7 @@ export const parse_changeset_content = (content, filename = 'changeset.md') => {
|
|
|
49
49
|
while ((match = package_regex.exec(frontmatter)) !== null) {
|
|
50
50
|
packages.push({
|
|
51
51
|
name: match[1],
|
|
52
|
-
bump_type: match[2]
|
|
52
|
+
bump_type: match[2]
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
if (packages.length === 0) {
|
|
@@ -58,7 +58,7 @@ export const parse_changeset_content = (content, filename = 'changeset.md') => {
|
|
|
58
58
|
return {
|
|
59
59
|
filename,
|
|
60
60
|
packages,
|
|
61
|
-
summary
|
|
61
|
+
summary
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
64
|
export const parse_changeset_file = async (filepath, log) => {
|
|
@@ -166,6 +166,6 @@ export const predict_next_version = async (repo, log) => {
|
|
|
166
166
|
log?.debug(` Predicted ${repo.library.name}: ${current_version} → ${next_version} (${bump_type})`);
|
|
167
167
|
return {
|
|
168
168
|
version: next_version,
|
|
169
|
-
bump_type
|
|
169
|
+
bump_type
|
|
170
170
|
};
|
|
171
171
|
};
|
package/dist/ci_reconcile.d.ts
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
* Reconciles each repo's declared `ci` flag against whether it actually has
|
|
3
3
|
* GitHub Actions workflow files on disk.
|
|
4
4
|
*
|
|
5
|
-
* The
|
|
6
|
-
* private) with per-repo overrides; this check catches drift between
|
|
7
|
-
* declaration and reality —
|
|
5
|
+
* The registry (`repos.toml`) derives `ci` from visibility (on for public repos,
|
|
6
|
+
* off for private) with per-repo overrides; this check catches drift between
|
|
7
|
+
* that declaration and reality —
|
|
8
8
|
* a repo that claims CI but ships no workflow, or one that disclaims CI yet
|
|
9
|
-
* still carries one.
|
|
10
|
-
*
|
|
11
|
-
* frozen on their host, so their CI state is intentionally left alone and they're
|
|
12
|
-
* skipped too.
|
|
9
|
+
* still carries one. Archived repos are frozen on their host, so their CI state
|
|
10
|
+
* is intentionally left alone and they're skipped.
|
|
13
11
|
*
|
|
14
12
|
* @module
|
|
15
13
|
*/
|
|
@@ -28,12 +26,10 @@ export interface CiDrift {
|
|
|
28
26
|
}
|
|
29
27
|
export interface CiReconcileInput {
|
|
30
28
|
repo_url: string;
|
|
31
|
-
/** The declared/derived `ci` value from the
|
|
29
|
+
/** The declared/derived `ci` value from the registry. */
|
|
32
30
|
ci: boolean;
|
|
33
31
|
/** Whether the repo has at least one workflow file on disk. */
|
|
34
32
|
has_workflows: boolean;
|
|
35
|
-
/** Whether the repo is checked out locally; uncheckable repos are skipped. */
|
|
36
|
-
checkable: boolean;
|
|
37
33
|
/** Whether the repo is archived (frozen) on its host; archived repos are skipped. */
|
|
38
34
|
archived: boolean;
|
|
39
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci_reconcile.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ci_reconcile.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ci_reconcile.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ci_reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,2EAA2E;AAC3E,MAAM,MAAM,WAAW;AACtB,yDAAyD;AACvD,YAAY;AACd,uDAAuD;GACrD,UAAU,CAAC;AAEd,MAAM,WAAW,OAAO;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAC;IACZ,+DAA+D;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAG,KAAK,CAAC,OAAO,CAY1E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAIrD,CAAC"}
|
package/dist/ci_reconcile.js
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
* Reconciles each repo's declared `ci` flag against whether it actually has
|
|
3
3
|
* GitHub Actions workflow files on disk.
|
|
4
4
|
*
|
|
5
|
-
* The
|
|
6
|
-
* private) with per-repo overrides; this check catches drift between
|
|
7
|
-
* declaration and reality —
|
|
5
|
+
* The registry (`repos.toml`) derives `ci` from visibility (on for public repos,
|
|
6
|
+
* off for private) with per-repo overrides; this check catches drift between
|
|
7
|
+
* that declaration and reality —
|
|
8
8
|
* a repo that claims CI but ships no workflow, or one that disclaims CI yet
|
|
9
|
-
* still carries one.
|
|
10
|
-
*
|
|
11
|
-
* frozen on their host, so their CI state is intentionally left alone and they're
|
|
12
|
-
* skipped too.
|
|
9
|
+
* still carries one. Archived repos are frozen on their host, so their CI state
|
|
10
|
+
* is intentionally left alone and they're skipped.
|
|
13
11
|
*
|
|
14
12
|
* @module
|
|
15
13
|
*/
|
|
@@ -22,7 +20,7 @@ import { join } from 'node:path';
|
|
|
22
20
|
export const reconcile_ci = (repos) => {
|
|
23
21
|
const drift = [];
|
|
24
22
|
for (const repo of repos) {
|
|
25
|
-
if (
|
|
23
|
+
if (repo.archived)
|
|
26
24
|
continue;
|
|
27
25
|
const { repo_url, ci, has_workflows } = repo;
|
|
28
26
|
if (ci && !has_workflows) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dependency graph data structure and algorithms for multi-repo publishing.
|
|
3
3
|
*
|
|
4
|
-
* Provides `DependencyGraph` class with topological sort
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Provides the `DependencyGraph` class, built from local repos, with topological sort
|
|
5
|
+
* (via `@fuzdev/fuz_util/sort.ts`), cycle detection by dependency type, and
|
|
6
|
+
* wildcard-range analysis.
|
|
7
|
+
* For the publishing order and the analysis workflow, see `graph_validation.ts`.
|
|
7
8
|
*
|
|
8
9
|
* @module
|
|
9
10
|
*/
|
|
@@ -17,7 +18,6 @@ export type DependencyType = (typeof DEPENDENCY_TYPE)[keyof typeof DEPENDENCY_TY
|
|
|
17
18
|
export interface DependencySpec {
|
|
18
19
|
type: DependencyType;
|
|
19
20
|
version: string;
|
|
20
|
-
resolved?: string;
|
|
21
21
|
}
|
|
22
22
|
export interface DependencyGraphJson {
|
|
23
23
|
nodes: Array<{
|
|
@@ -28,7 +28,6 @@ export interface DependencyGraphJson {
|
|
|
28
28
|
spec: DependencySpec;
|
|
29
29
|
}>;
|
|
30
30
|
dependents: Array<string>;
|
|
31
|
-
publishable: boolean;
|
|
32
31
|
}>;
|
|
33
32
|
edges: Array<{
|
|
34
33
|
from: string;
|
|
@@ -38,20 +37,32 @@ export interface DependencyGraphJson {
|
|
|
38
37
|
export interface DependencyNode {
|
|
39
38
|
name: string;
|
|
40
39
|
version: string;
|
|
41
|
-
repo?: LocalRepo;
|
|
42
40
|
dependencies: Map<string, DependencySpec>;
|
|
43
41
|
dependents: Set<string>;
|
|
44
|
-
|
|
42
|
+
}
|
|
43
|
+
/** Cycles and wildcard dependencies found by `DependencyGraph.analyze`. */
|
|
44
|
+
export interface DependencyAnalysis {
|
|
45
|
+
production_cycles: Array<Array<string>>;
|
|
46
|
+
dev_cycles: Array<Array<string>>;
|
|
47
|
+
wildcard_deps: Array<{
|
|
48
|
+
pkg: string;
|
|
49
|
+
dep: string;
|
|
50
|
+
version: string;
|
|
51
|
+
}>;
|
|
45
52
|
}
|
|
46
53
|
export declare class DependencyGraph {
|
|
47
54
|
#private;
|
|
48
55
|
nodes: Map<string, DependencyNode>;
|
|
49
56
|
edges: Map<string, Set<string>>;
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Builds the graph from local repos.
|
|
59
|
+
*
|
|
60
|
+
* Two passes: first creates nodes, then builds edges (dependents).
|
|
61
|
+
* Prioritizes prod/peer deps over dev deps when the same package appears in
|
|
62
|
+
* multiple dependency types (the stronger constraint wins).
|
|
63
|
+
*/
|
|
64
|
+
constructor(repos: Array<LocalRepo>);
|
|
52
65
|
get_node(name: string): DependencyNode | undefined;
|
|
53
|
-
get_dependents(name: string): Set<string>;
|
|
54
|
-
get_dependencies(name: string): Map<string, DependencySpec>;
|
|
55
66
|
/**
|
|
56
67
|
* Computes topological sort order for dependency graph.
|
|
57
68
|
*
|
|
@@ -79,45 +90,11 @@ export declare class DependencyGraph {
|
|
|
79
90
|
production_cycles: Array<Array<string>>;
|
|
80
91
|
dev_cycles: Array<Array<string>>;
|
|
81
92
|
};
|
|
82
|
-
toJSON(): DependencyGraphJson;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Builder for creating and analyzing dependency graphs.
|
|
86
|
-
*/
|
|
87
|
-
export declare class DependencyGraphBuilder {
|
|
88
|
-
/**
|
|
89
|
-
* Constructs dependency graph from local repos.
|
|
90
|
-
*
|
|
91
|
-
* Two-pass algorithm: first creates nodes, then builds edges (dependents).
|
|
92
|
-
* Prioritizes prod/peer deps over dev deps when same package appears in
|
|
93
|
-
* multiple dependency types (stronger constraint wins).
|
|
94
|
-
*
|
|
95
|
-
* @returns fully initialized dependency graph with all nodes and edges
|
|
96
|
-
*/
|
|
97
|
-
build_from_repos(repos: Array<LocalRepo>): DependencyGraph;
|
|
98
93
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* Excludes dev dependencies to break circular dev dependency cycles while
|
|
102
|
-
* preserving production/peer dependency ordering. This allows patterns like
|
|
103
|
-
* shared test utilities that depend on each other for development.
|
|
104
|
-
*
|
|
105
|
-
* @returns package names in safe publishing order (dependencies before dependents)
|
|
106
|
-
* @throws {Error} if production/peer cycles detected (cannot be resolved by exclusion)
|
|
94
|
+
* Reports cycles by type and wildcard (`*`) dependency ranges.
|
|
95
|
+
* Tolerates cycles: it reports them rather than throwing.
|
|
107
96
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
production_cycles: Array<Array<string>>;
|
|
111
|
-
dev_cycles: Array<Array<string>>;
|
|
112
|
-
wildcard_deps: Array<{
|
|
113
|
-
pkg: string;
|
|
114
|
-
dep: string;
|
|
115
|
-
version: string;
|
|
116
|
-
}>;
|
|
117
|
-
missing_peers: Array<{
|
|
118
|
-
pkg: string;
|
|
119
|
-
dep: string;
|
|
120
|
-
}>;
|
|
121
|
-
};
|
|
97
|
+
analyze(): DependencyAnalysis;
|
|
98
|
+
toJSON(): DependencyGraphJson;
|
|
122
99
|
}
|
|
123
100
|
//# sourceMappingURL=dependency_graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency_graph.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_graph.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dependency_graph.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,cAAc,CAAA;SAAE,CAAC,CAAC;QAC5D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAClC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,qBAAa,eAAe;;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAC/C,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAa;IAE5C;;;;;;OAMG;gBACS,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IA4CnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,WAAW,UAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAiBpD;;;;;;;;;;OAUG;IACH,qBAAqB,IAAI;QACxB,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KACjC;IAMD;;;OAGG;IACH,OAAO,IAAI,kBAAkB;IAyD7B,MAAM,IAAI,mBAAmB;CAoB7B"}
|