@fuzdev/fuz_gitops 0.77.0 → 0.78.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -5
- package/dist/ModulesDetail.svelte +14 -12
- package/dist/ModulesDetail.svelte.d.ts.map +1 -1
- package/dist/ModulesNav.svelte +6 -6
- package/dist/ModulesNav.svelte.d.ts.map +1 -1
- package/dist/ModulesPage.svelte +2 -2
- package/dist/ModulesPage.svelte.d.ts.map +1 -1
- package/dist/PageFooter.svelte +2 -2
- package/dist/PageHeader.svelte +5 -5
- package/dist/PageHeader.svelte.d.ts +1 -1
- package/dist/PageHeader.svelte.d.ts.map +1 -1
- package/dist/PullRequestsDetail.svelte +25 -17
- package/dist/PullRequestsDetail.svelte.d.ts.map +1 -1
- package/dist/PullRequestsPage.svelte +3 -3
- package/dist/PullRequestsPage.svelte.d.ts.map +1 -1
- package/dist/ReposTable.svelte +24 -15
- package/dist/ReposTable.svelte.d.ts.map +1 -1
- package/dist/ReposTree.svelte +8 -6
- package/dist/ReposTree.svelte.d.ts.map +1 -1
- package/dist/ReposTreeNav.svelte +10 -11
- package/dist/ReposTreeNav.svelte.d.ts.map +1 -1
- package/dist/TablePage.svelte +2 -2
- package/dist/TablePage.svelte.d.ts.map +1 -1
- package/dist/TreeItemPage.svelte +2 -2
- package/dist/TreeItemPage.svelte.d.ts.map +1 -1
- package/dist/TreePage.svelte +2 -2
- package/dist/TreePage.svelte.d.ts.map +1 -1
- package/dist/cargo_toml.d.ts +33 -0
- package/dist/cargo_toml.d.ts.map +1 -0
- package/dist/cargo_toml.js +74 -0
- package/dist/changeset_generator.d.ts +1 -1
- package/dist/changeset_generator.d.ts.map +1 -1
- package/dist/changeset_generator.js +2 -2
- package/dist/changeset_reader.d.ts +1 -1
- package/dist/changeset_reader.d.ts.map +1 -1
- package/dist/changeset_reader.js +3 -3
- package/dist/config_reconcile.d.ts.map +1 -1
- package/dist/config_reconcile.js +6 -2
- package/dist/dependency_graph.d.ts +2 -2
- package/dist/dependency_graph.d.ts.map +1 -1
- package/dist/dependency_graph.js +9 -9
- package/dist/dependency_updater.d.ts +1 -1
- package/dist/dependency_updater.d.ts.map +1 -1
- package/dist/dependency_updater.js +8 -8
- package/dist/fetch_repo_data.d.ts +2 -2
- package/dist/fetch_repo_data.d.ts.map +1 -1
- package/dist/fetch_repo_data.js +4 -4
- 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 +5 -5
- package/dist/git_operations.d.ts +1 -1
- package/dist/git_operations.d.ts.map +1 -1
- package/dist/git_operations.js +2 -2
- package/dist/github.d.ts +2 -2
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +7 -7
- package/dist/github_helpers.d.ts.map +1 -1
- package/dist/github_helpers.js +1 -1
- package/dist/gitops_analyze.task.d.ts.map +1 -1
- package/dist/gitops_analyze.task.js +21 -14
- package/dist/gitops_config.d.ts +2 -2
- package/dist/gitops_config.d.ts.map +1 -1
- package/dist/gitops_config.js +5 -5
- package/dist/gitops_plan.task.d.ts.map +1 -1
- package/dist/gitops_plan.task.js +8 -8
- package/dist/gitops_publish.task.d.ts.map +1 -1
- package/dist/gitops_publish.task.js +15 -12
- package/dist/gitops_run.task.d.ts.map +1 -1
- package/dist/gitops_run.task.js +10 -10
- package/dist/gitops_sync.task.d.ts.map +1 -1
- package/dist/gitops_sync.task.js +15 -13
- package/dist/gitops_task_helpers.d.ts +1 -1
- package/dist/gitops_task_helpers.d.ts.map +1 -1
- package/dist/gitops_task_helpers.js +4 -4
- package/dist/gitops_validate.task.d.ts.map +1 -1
- package/dist/gitops_validate.task.js +14 -14
- package/dist/graph_validation.d.ts +2 -2
- package/dist/graph_validation.d.ts.map +1 -1
- package/dist/graph_validation.js +5 -3
- package/dist/local_repo.d.ts +21 -7
- package/dist/local_repo.d.ts.map +1 -1
- package/dist/local_repo.js +64 -16
- package/dist/log_helpers.d.ts +1 -1
- package/dist/log_helpers.d.ts.map +1 -1
- package/dist/multi_repo_publisher.d.ts +3 -3
- package/dist/multi_repo_publisher.d.ts.map +1 -1
- package/dist/multi_repo_publisher.js +24 -20
- package/dist/npm_registry.d.ts +1 -1
- package/dist/npm_registry.d.ts.map +1 -1
- package/dist/npm_registry.js +4 -4
- package/dist/operations.d.ts +4 -4
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations_defaults.d.ts.map +1 -1
- package/dist/operations_defaults.js +16 -16
- package/dist/output_helpers.d.ts +1 -1
- package/dist/output_helpers.d.ts.map +1 -1
- package/dist/preflight_checks.d.ts +2 -2
- package/dist/preflight_checks.d.ts.map +1 -1
- package/dist/preflight_checks.js +5 -5
- package/dist/publish_gate.d.ts.map +1 -1
- package/dist/publish_steps.d.ts.map +1 -1
- package/dist/publish_steps.js +4 -4
- package/dist/publishing_event.d.ts.map +1 -1
- package/dist/publishing_event.js +16 -14
- package/dist/publishing_event_handler.d.ts.map +1 -1
- package/dist/publishing_event_handler.js +6 -6
- package/dist/publishing_plan.d.ts +3 -3
- package/dist/publishing_plan.d.ts.map +1 -1
- package/dist/publishing_plan.js +25 -15
- 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 +2 -2
- package/dist/repo.svelte.d.ts +5 -5
- package/dist/repo.svelte.d.ts.map +1 -1
- package/dist/repo.svelte.js +2 -2
- package/dist/repo_ops.js +2 -2
- package/dist/resolved_gitops_config.d.ts.map +1 -1
- package/dist/resolved_gitops_config.js +1 -1
- package/dist/version_utils.js +1 -1
- package/package.json +16 -15
- package/src/lib/cargo_toml.ts +82 -0
- package/src/lib/changeset_generator.ts +20 -20
- package/src/lib/changeset_reader.ts +18 -18
- package/src/lib/ci_reconcile.ts +5 -5
- package/src/lib/config_reconcile.ts +8 -4
- package/src/lib/dependency_graph.ts +28 -28
- package/src/lib/dependency_updater.ts +30 -30
- package/src/lib/fetch_repo_data.ts +11 -11
- package/src/lib/fs_fetch_value_cache.ts +14 -10
- package/src/lib/git_operations.ts +31 -31
- package/src/lib/github.ts +19 -19
- package/src/lib/github_helpers.ts +6 -6
- package/src/lib/gitops_analyze.task.ts +56 -48
- package/src/lib/gitops_config.ts +14 -14
- package/src/lib/gitops_plan.task.ts +32 -32
- package/src/lib/gitops_publish.task.ts +52 -49
- package/src/lib/gitops_run.task.ts +29 -29
- package/src/lib/gitops_sync.task.ts +39 -30
- package/src/lib/gitops_task_helpers.ts +21 -21
- package/src/lib/gitops_validate.task.ts +38 -38
- package/src/lib/graph_validation.ts +14 -13
- package/src/lib/local_repo.ts +130 -64
- package/src/lib/log_helpers.ts +15 -15
- package/src/lib/multi_repo_publisher.ts +75 -74
- package/src/lib/npm_registry.ts +13 -13
- package/src/lib/operations.ts +50 -39
- package/src/lib/operations_defaults.ts +108 -106
- package/src/lib/output_helpers.ts +4 -4
- package/src/lib/preflight_checks.ts +28 -28
- package/src/lib/publish_gate.ts +7 -9
- package/src/lib/publish_steps.ts +15 -15
- package/src/lib/publishing_event.ts +22 -20
- package/src/lib/publishing_event_handler.ts +8 -8
- package/src/lib/publishing_plan.ts +69 -57
- package/src/lib/publishing_plan_helpers.ts +16 -12
- package/src/lib/publishing_plan_logging.ts +23 -23
- package/src/lib/repo.svelte.ts +8 -8
- package/src/lib/repo_ops.ts +12 -12
- package/src/lib/resolved_gitops_config.ts +5 -5
- package/src/lib/version_utils.ts +3 -3
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
/** The `Cargo.toml` tables that carry package identity (single-crate vs workspace root). */
|
|
5
|
+
const CARGO_METADATA_SECTIONS = new Set(['package', 'workspace.package']);
|
|
6
|
+
const CARGO_METADATA_KEYS = ['name', 'version', 'description', 'repository'];
|
|
7
|
+
/**
|
|
8
|
+
* Best-effort read of a repo's root `Cargo.toml` for the identity fields the
|
|
9
|
+
* gitops dashboard renders. Returns `null` when there's no `Cargo.toml`.
|
|
10
|
+
*
|
|
11
|
+
* @param repo_dir - absolute path to the repo
|
|
12
|
+
*/
|
|
13
|
+
export const cargo_toml_load = async (repo_dir) => {
|
|
14
|
+
const cargo_toml_path = join(repo_dir, 'Cargo.toml');
|
|
15
|
+
if (!existsSync(cargo_toml_path))
|
|
16
|
+
return null;
|
|
17
|
+
return cargo_toml_parse(await readFile(cargo_toml_path, 'utf8'));
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Extracts `name`/`version`/`description`/`repository` from the `[package]` and
|
|
21
|
+
* `[workspace.package]` tables of a `Cargo.toml`.
|
|
22
|
+
*
|
|
23
|
+
* Deliberately not a full TOML parser: it scans for simple `key = "value"`
|
|
24
|
+
* string entries in those two tables, which covers both a single-crate manifest
|
|
25
|
+
* and a workspace root. Inline-table values like `version = { workspace = true }`
|
|
26
|
+
* (and the equivalent `version.workspace = true`) are ignored — a member crate
|
|
27
|
+
* inheriting from the workspace has no literal here, and gitops only ever reads a
|
|
28
|
+
* repo's root manifest, where these are concrete. The first non-empty value for a
|
|
29
|
+
* key wins, so a top-level `[package]` takes precedence over `[workspace.package]`
|
|
30
|
+
* when both appear.
|
|
31
|
+
*/
|
|
32
|
+
export const cargo_toml_parse = (contents) => {
|
|
33
|
+
const metadata = {};
|
|
34
|
+
let in_metadata_section = false;
|
|
35
|
+
for (const raw_line of contents.split('\n')) {
|
|
36
|
+
const line = raw_line.trim();
|
|
37
|
+
if (line === '' || line.startsWith('#'))
|
|
38
|
+
continue;
|
|
39
|
+
// Section header — only `[package]`/`[workspace.package]` arm value capture.
|
|
40
|
+
if (line.startsWith('[')) {
|
|
41
|
+
const end = line.indexOf(']');
|
|
42
|
+
in_metadata_section = end !== -1 && CARGO_METADATA_SECTIONS.has(line.slice(1, end).trim());
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (!in_metadata_section)
|
|
46
|
+
continue;
|
|
47
|
+
const eq = line.indexOf('=');
|
|
48
|
+
if (eq === -1)
|
|
49
|
+
continue;
|
|
50
|
+
const key = line.slice(0, eq).trim();
|
|
51
|
+
if (!CARGO_METADATA_KEYS.includes(key))
|
|
52
|
+
continue;
|
|
53
|
+
if (metadata[key] !== undefined)
|
|
54
|
+
continue; // first value wins
|
|
55
|
+
const value = cargo_toml_string_value(line.slice(eq + 1).trim());
|
|
56
|
+
if (value !== null)
|
|
57
|
+
metadata[key] = value;
|
|
58
|
+
}
|
|
59
|
+
return metadata;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Reads a simple single- or double-quoted TOML string, ignoring any trailing
|
|
63
|
+
* inline comment. Returns `null` for non-string values (inline tables, arrays,
|
|
64
|
+
* booleans, numbers), which the caller skips.
|
|
65
|
+
*/
|
|
66
|
+
const cargo_toml_string_value = (raw) => {
|
|
67
|
+
const quote = raw[0];
|
|
68
|
+
if (quote !== '"' && quote !== "'")
|
|
69
|
+
return null;
|
|
70
|
+
const end = raw.indexOf(quote, 1);
|
|
71
|
+
if (end === -1)
|
|
72
|
+
return null;
|
|
73
|
+
return raw.slice(1, end);
|
|
74
|
+
};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import type { Logger } from '@fuzdev/fuz_util/log.
|
|
9
|
+
import type { Logger } from '@fuzdev/fuz_util/log.ts';
|
|
10
10
|
import type { LocalRepo } from './local_repo.js';
|
|
11
11
|
import type { PublishedVersion } from './multi_repo_publisher.js';
|
|
12
12
|
import type { FsOperations } from './operations.js';
|
|
@@ -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
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import type { Logger } from '@fuzdev/fuz_util/log.
|
|
9
|
+
import type { Logger } from '@fuzdev/fuz_util/log.ts';
|
|
10
10
|
import type { LocalRepo } from './local_repo.js';
|
|
11
11
|
import { type BumpType } from './version_utils.js';
|
|
12
12
|
export interface ChangesetInfo {
|
|
@@ -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
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config_reconcile.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/config_reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"config_reconcile.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/config_reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,2EAA2E;AAC3E,QAAA,MAAM,gBAAgB,qDAAsD,CAAC;AAE7E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe;AAC1B,2EAA2E;AACzE,wBAAwB;AAC1B,gFAAgF;GAC9E,gBAAgB,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,uEAAuE;IACvE,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAC/B;AAeD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC7B,WAAW,UAAU,EACrB,SAAS,KAAK,CAAC,UAAU,CAAC,KACxB,KAAK,CAAC,WAAW,CA+BnB,CAAC"}
|
package/dist/config_reconcile.js
CHANGED
|
@@ -37,7 +37,11 @@ export const reconcile_configs = (canonical, subsets) => {
|
|
|
37
37
|
for (const repo of subset.repos) {
|
|
38
38
|
const canon = canonical_by_url.get(repo.repo_url);
|
|
39
39
|
if (!canon) {
|
|
40
|
-
drift.push({
|
|
40
|
+
drift.push({
|
|
41
|
+
repo_url: repo.repo_url,
|
|
42
|
+
config: subset.name,
|
|
43
|
+
kind: 'missing_from_canonical'
|
|
44
|
+
});
|
|
41
45
|
continue;
|
|
42
46
|
}
|
|
43
47
|
for (const field of INTRINSIC_FIELDS) {
|
|
@@ -50,7 +54,7 @@ export const reconcile_configs = (canonical, subsets) => {
|
|
|
50
54
|
kind: 'field_mismatch',
|
|
51
55
|
field,
|
|
52
56
|
canonical_value,
|
|
53
|
-
config_value
|
|
57
|
+
config_value
|
|
54
58
|
});
|
|
55
59
|
}
|
|
56
60
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dependency graph data structure and algorithms for multi-repo publishing.
|
|
3
3
|
*
|
|
4
|
-
* Provides `DependencyGraph` class with topological sort (via `@fuzdev/fuz_util/sort.
|
|
4
|
+
* Provides `DependencyGraph` class with topological sort (via `@fuzdev/fuz_util/sort.ts`)
|
|
5
5
|
* and cycle detection by dependency type.
|
|
6
6
|
* For validation workflow and publishing order computation, see `graph_validation.ts`.
|
|
7
7
|
*
|
|
@@ -55,7 +55,7 @@ export declare class DependencyGraph {
|
|
|
55
55
|
/**
|
|
56
56
|
* Computes topological sort order for dependency graph.
|
|
57
57
|
*
|
|
58
|
-
* Delegates to `@fuzdev/fuz_util/sort.
|
|
58
|
+
* Delegates to `@fuzdev/fuz_util/sort.ts` for the sorting algorithm.
|
|
59
59
|
* Throws if cycles detected.
|
|
60
60
|
*
|
|
61
61
|
* @param exclude_dev - if true, excludes dev dependencies to break cycles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency_graph.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dependency_graph.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_graph.ts"],"names":[],"mappings":"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"}
|
package/dist/dependency_graph.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dependency graph data structure and algorithms for multi-repo publishing.
|
|
3
3
|
*
|
|
4
|
-
* Provides `DependencyGraph` class with topological sort (via `@fuzdev/fuz_util/sort.
|
|
4
|
+
* Provides `DependencyGraph` class with topological sort (via `@fuzdev/fuz_util/sort.ts`)
|
|
5
5
|
* and cycle detection by dependency type.
|
|
6
6
|
* For validation workflow and publishing order computation, see `graph_validation.ts`.
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
|
-
import { EMPTY_OBJECT } from '@fuzdev/fuz_util/object.
|
|
11
|
-
import { topological_sort as topological_sort_generic } from '@fuzdev/fuz_util/sort.
|
|
10
|
+
import { EMPTY_OBJECT } from '@fuzdev/fuz_util/object.ts';
|
|
11
|
+
import { topological_sort as topological_sort_generic } from '@fuzdev/fuz_util/sort.ts';
|
|
12
12
|
export const DEPENDENCY_TYPE = {
|
|
13
13
|
PROD: 'prod',
|
|
14
14
|
PEER: 'peer',
|
|
15
|
-
DEV: 'dev'
|
|
15
|
+
DEV: 'dev'
|
|
16
16
|
};
|
|
17
17
|
export class DependencyGraph {
|
|
18
18
|
nodes;
|
|
@@ -31,7 +31,7 @@ export class DependencyGraph {
|
|
|
31
31
|
repo,
|
|
32
32
|
dependencies: new Map(),
|
|
33
33
|
dependents: new Set(),
|
|
34
|
-
publishable: !package_json.private
|
|
34
|
+
publishable: !package_json.private
|
|
35
35
|
};
|
|
36
36
|
// Extract dependencies
|
|
37
37
|
const deps = package_json.dependencies || EMPTY_OBJECT;
|
|
@@ -79,7 +79,7 @@ export class DependencyGraph {
|
|
|
79
79
|
/**
|
|
80
80
|
* Computes topological sort order for dependency graph.
|
|
81
81
|
*
|
|
82
|
-
* Delegates to `@fuzdev/fuz_util/sort.
|
|
82
|
+
* Delegates to `@fuzdev/fuz_util/sort.ts` for the sorting algorithm.
|
|
83
83
|
* Throws if cycles detected.
|
|
84
84
|
*
|
|
85
85
|
* @param exclude_dev - if true, excludes dev dependencies to break cycles
|
|
@@ -96,7 +96,7 @@ export class DependencyGraph {
|
|
|
96
96
|
return false;
|
|
97
97
|
return this.nodes.has(dep_name);
|
|
98
98
|
})
|
|
99
|
-
.map(([dep_name]) => dep_name)
|
|
99
|
+
.map(([dep_name]) => dep_name)
|
|
100
100
|
}));
|
|
101
101
|
const result = topological_sort_generic(items, 'package');
|
|
102
102
|
if (!result.ok) {
|
|
@@ -165,10 +165,10 @@ export class DependencyGraph {
|
|
|
165
165
|
version: node.version,
|
|
166
166
|
dependencies: Array.from(node.dependencies.entries()).map(([name, spec]) => ({
|
|
167
167
|
name,
|
|
168
|
-
spec
|
|
168
|
+
spec
|
|
169
169
|
})),
|
|
170
170
|
dependents: Array.from(node.dependents),
|
|
171
|
-
publishable: node.publishable
|
|
171
|
+
publishable: node.publishable
|
|
172
172
|
}));
|
|
173
173
|
const edges = [];
|
|
174
174
|
for (const [from, tos] of this.edges) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Logger } from '@fuzdev/fuz_util/log.
|
|
1
|
+
import type { Logger } from '@fuzdev/fuz_util/log.ts';
|
|
2
2
|
import type { LocalRepo } from './local_repo.js';
|
|
3
3
|
import type { PublishedVersion } from './multi_repo_publisher.js';
|
|
4
4
|
import type { GitOperations, FsOperations } from './operations.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency_updater.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_updater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dependency_updater.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dependency_updater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,EACf,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,UAAS,wBAA6B,KACpC,OAAO,CAAC,IAAI,CAkId,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAC5B,OAAO,KAAK,CAAC,SAAS,CAAC,EACvB,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,UAAS,qBAA0B,KACjC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;CAAE,CAuD5E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,EACf,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,GAAG,CACL,MAAM,EACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;CAAE,CAkD/F,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
|
-
import { create_changeset_for_dependency_updates, create_dependency_updates
|
|
2
|
+
import { create_changeset_for_dependency_updates, create_dependency_updates } from './changeset_generator.js';
|
|
3
3
|
import { needs_update, get_update_prefix } from './version_utils.js';
|
|
4
4
|
import { default_git_operations, default_fs_operations } from './operations_defaults.js';
|
|
5
5
|
/**
|
|
@@ -17,7 +17,7 @@ import { default_git_operations, default_fs_operations } from './operations_defa
|
|
|
17
17
|
* @throws {Error} if file operations or git operations fail
|
|
18
18
|
*/
|
|
19
19
|
export const update_package_json = async (repo, updates, options = {}) => {
|
|
20
|
-
const { strategy = 'caret', published_versions, log, git_ops = default_git_operations, fs_ops = default_fs_operations
|
|
20
|
+
const { strategy = 'caret', published_versions, log, git_ops = default_git_operations, fs_ops = default_fs_operations } = options;
|
|
21
21
|
if (updates.size === 0)
|
|
22
22
|
return;
|
|
23
23
|
const package_json_path = join(repo.repo_dir, 'package.json');
|
|
@@ -68,7 +68,7 @@ export const update_package_json = async (repo, updates, options = {}) => {
|
|
|
68
68
|
// Write updated package.json
|
|
69
69
|
const write_result = await fs_ops.writeFile({
|
|
70
70
|
path: package_json_path,
|
|
71
|
-
content: JSON.stringify(package_json, null, '\t') + '\n'
|
|
71
|
+
content: JSON.stringify(package_json, null, '\t') + '\n'
|
|
72
72
|
});
|
|
73
73
|
if (!write_result.ok) {
|
|
74
74
|
throw new Error(`Failed to write package.json: ${write_result.message}`);
|
|
@@ -116,14 +116,14 @@ export const update_package_json = async (repo, updates, options = {}) => {
|
|
|
116
116
|
}
|
|
117
117
|
const commit_result = await git_ops.commit({
|
|
118
118
|
message: `update dependencies after publishing`,
|
|
119
|
-
cwd: repo.repo_dir
|
|
119
|
+
cwd: repo.repo_dir
|
|
120
120
|
});
|
|
121
121
|
if (!commit_result.ok) {
|
|
122
122
|
throw new Error(`Failed to commit: ${commit_result.message}`);
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
125
|
export const update_all_repos = async (repos, published, options = {}) => {
|
|
126
|
-
const { strategy = 'caret', log, git_ops = default_git_operations, fs_ops = default_fs_operations
|
|
126
|
+
const { strategy = 'caret', log, git_ops = default_git_operations, fs_ops = default_fs_operations } = options;
|
|
127
127
|
let updated_count = 0;
|
|
128
128
|
const failed = [];
|
|
129
129
|
for (const repo of repos) {
|
|
@@ -178,7 +178,7 @@ export const find_updates_needed = (repo, published) => {
|
|
|
178
178
|
updates.set(dep_name, {
|
|
179
179
|
current: current_version,
|
|
180
180
|
new: new_version,
|
|
181
|
-
type: 'dependencies'
|
|
181
|
+
type: 'dependencies'
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -191,7 +191,7 @@ export const find_updates_needed = (repo, published) => {
|
|
|
191
191
|
updates.set(dep_name, {
|
|
192
192
|
current: current_version,
|
|
193
193
|
new: new_version,
|
|
194
|
-
type: 'devDependencies'
|
|
194
|
+
type: 'devDependencies'
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
}
|
|
@@ -204,7 +204,7 @@ export const find_updates_needed = (repo, published) => {
|
|
|
204
204
|
updates.set(dep_name, {
|
|
205
205
|
current: current_version,
|
|
206
206
|
new: new_version,
|
|
207
|
-
type: 'peerDependencies'
|
|
207
|
+
type: 'peerDependencies'
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Logger } from '@fuzdev/fuz_util/log.
|
|
2
|
-
import type { FetchValueCache } from '@fuzdev/fuz_util/fetch.
|
|
1
|
+
import type { Logger } from '@fuzdev/fuz_util/log.ts';
|
|
2
|
+
import type { FetchValueCache } from '@fuzdev/fuz_util/fetch.ts';
|
|
3
3
|
import type { RepoJson } from './repo.svelte.js';
|
|
4
4
|
import type { LocalRepo } from './local_repo.js';
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch_repo_data.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/fetch_repo_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fetch_repo_data.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/fetch_repo_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAC3B,gBAAgB,KAAK,CAAC,SAAS,CAAC,EAChC,QAAQ,MAAM,EACd,QAAQ,eAAe,EACvB,MAAM,MAAM,EACZ,cAAU,EACV,qBAAqB,MAAM,KACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAkCzB,CAAC"}
|
package/dist/fetch_repo_data.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { wait } from '@fuzdev/fuz_util/async.
|
|
1
|
+
import { wait } from '@fuzdev/fuz_util/async.ts';
|
|
2
2
|
import { fetch_github_check_runs, fetch_github_pull_requests } from './github.js';
|
|
3
3
|
/**
|
|
4
4
|
* Fetches GitHub metadata (CI status, PRs) for all repos.
|
|
@@ -24,7 +24,7 @@ export const fetch_repo_data = async (resolved_repos, token, cache, log, delay =
|
|
|
24
24
|
log,
|
|
25
25
|
token,
|
|
26
26
|
api_version: github_api_version,
|
|
27
|
-
ref: repo_config.branch
|
|
27
|
+
ref: repo_config.branch
|
|
28
28
|
});
|
|
29
29
|
if (!check_runs)
|
|
30
30
|
log?.error('failed to fetch CI status: ' + repo_url);
|
|
@@ -34,7 +34,7 @@ export const fetch_repo_data = async (resolved_repos, token, cache, log, delay =
|
|
|
34
34
|
cache,
|
|
35
35
|
log,
|
|
36
36
|
token,
|
|
37
|
-
api_version: github_api_version
|
|
37
|
+
api_version: github_api_version
|
|
38
38
|
});
|
|
39
39
|
if (!pull_requests)
|
|
40
40
|
log?.error('failed to fetch issues: ' + repo_url);
|
|
@@ -42,7 +42,7 @@ export const fetch_repo_data = async (resolved_repos, token, cache, log, delay =
|
|
|
42
42
|
library_json: library.library_json,
|
|
43
43
|
package_json,
|
|
44
44
|
check_runs,
|
|
45
|
-
pull_requests
|
|
45
|
+
pull_requests
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
return repos;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs_fetch_value_cache.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/fs_fetch_value_cache.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"fs_fetch_value_cache.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/fs_fetch_value_cache.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,eAAe,EACpB,MAAM,2BAA2B,CAAC;AAKnC,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,GACvC,MAAM,MAAM,EACZ,YAAgC,KAC9B,OAAO,CAAC,UAAU,CA2BpB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
|
-
import { paths } from '@fuzdev/gro/paths.
|
|
4
|
-
import { format_file } from '@fuzdev/gro/format_file.
|
|
5
|
-
import { deserialize_cache, serialize_cache } from '@fuzdev/fuz_util/fetch.
|
|
3
|
+
import { paths } from '@fuzdev/gro/paths.ts';
|
|
4
|
+
import { format_file } from '@fuzdev/gro/format_file.ts';
|
|
5
|
+
import { deserialize_cache, serialize_cache } from '@fuzdev/fuz_util/fetch.ts';
|
|
6
6
|
import { existsSync } from 'node:fs';
|
|
7
7
|
/**
|
|
8
8
|
* Creates file-system backed cache for `fuz_util`'s `fetch.js` API responses.
|
|
@@ -42,9 +42,9 @@ export const create_fs_fetch_value_cache = async (name, dir = join(paths.build,
|
|
|
42
42
|
return false; // no changes to save
|
|
43
43
|
}
|
|
44
44
|
await mkdir(dirname(data_path), { recursive: true });
|
|
45
|
-
await writeFile(data_path,
|
|
45
|
+
await writeFile(data_path, format_file(serialize_cache(data), { lang: 'json' }));
|
|
46
46
|
return true;
|
|
47
|
-
}
|
|
47
|
+
}
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
// TODO this is quick and dirty, but fine because it's only expected to be called during development
|
package/dist/git_operations.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SpawnOptions } from 'node:child_process';
|
|
2
|
-
import { type GitBranch, type GitOrigin } from '@fuzdev/fuz_util/git.
|
|
2
|
+
import { type GitBranch, type GitOrigin } from '@fuzdev/fuz_util/git.ts';
|
|
3
3
|
/**
|
|
4
4
|
* Adds files to git staging area and throws if anything goes wrong.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git_operations.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/git_operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"git_operations.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/git_operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAMN,KAAK,SAAS,EACd,KAAK,SAAS,EACd,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,GACnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAC7B,UAAU,YAAY,KACpB,OAAO,CAAC,IAAI,CAQd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,EAAE,UAAU,YAAY,KAAG,OAAO,CAAC,IAAI,CAOtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC9B,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAC7B,SAAS,MAAM,EACf,UAAU,YAAY,KACpB,OAAO,CAAC,IAAI,CAGd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GACnB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,UAAU,YAAY,KACpB,OAAO,CAAC,IAAI,CASd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACxB,UAAU,MAAM,EAChB,SAAQ,SAAiC,EACzC,UAAU,YAAY,KACpB,OAAO,CAAC,IAAI,CAOd,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,UAAU,YAAY,KAAG,OAAO,CAAC,OAAO,CAG7E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACtC,UAAU,YAAY,KACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAQvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,WAAW,MAAM,EACjB,UAAU,YAAY,KACpB,OAAO,CAAC,OAAO,CAOjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAU,UAAU,MAAM,EAAE,UAAU,YAAY,KAAG,OAAO,CAAC,IAAI,CAStF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAU,UAAU,YAAY,KAAG,OAAO,CAAC,IAAI,CAOxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,SAAS,EACjB,OAAM,OAAc,EACpB,UAAU,YAAY,KACpB,OAAO,CAAC,IAAI,CAoBd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAAU,UAAU,YAAY,KAAG,OAAO,CAAC,MAAM,CAM7F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAC5C,SAAS,MAAM,EACf,UAAU,YAAY,KACpB,OAAO,CAAC,MAAM,CAMhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAChD,UAAU,YAAY,KACpB,OAAO,CAAC,OAAO,CAGjB,CAAC;AAEF,eAAO,MAAM,cAAc,GAC1B,SAAQ,MAAiB,EACzB,UAAU,YAAY,KACpB,OAAO,CAAC,OAAO,CAQjB,CAAC"}
|
package/dist/git_operations.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { spawn_out, spawn_result_to_message } from '@fuzdev/fuz_util/process.
|
|
2
|
-
import { git_check_clean_workspace as gro_git_check_clean_workspace, git_checkout as gro_git_checkout, git_pull as gro_git_pull, git_current_branch_name as gro_git_current_branch_name, git_current_commit_hash as gro_git_current_commit_hash
|
|
1
|
+
import { spawn_out, spawn_result_to_message } from '@fuzdev/fuz_util/process.ts';
|
|
2
|
+
import { git_check_clean_workspace as gro_git_check_clean_workspace, git_checkout as gro_git_checkout, git_pull as gro_git_pull, git_current_branch_name as gro_git_current_branch_name, git_current_commit_hash as gro_git_current_commit_hash } from '@fuzdev/fuz_util/git.ts';
|
|
3
3
|
/**
|
|
4
4
|
* Adds files to git staging area and throws if anything goes wrong.
|
|
5
5
|
*/
|
package/dist/github.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Logger } from '@fuzdev/fuz_util/log.
|
|
1
|
+
import type { Logger } from '@fuzdev/fuz_util/log.ts';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { type FetchValueCache } from '@fuzdev/fuz_util/fetch.
|
|
3
|
+
import { type FetchValueCache } from '@fuzdev/fuz_util/fetch.ts';
|
|
4
4
|
/**
|
|
5
5
|
* Minimal interface for GitHub API calls - works with both `Pkg` and `Repo`.
|
|
6
6
|
*/
|
package/dist/github.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,eAAO,MAAM,kBAAkB;;;;;;;kBAA6B,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACtC,WAAW,cAAc,EACzB,UAAS;IACR,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CAChB,KACJ,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAsBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;iBAG1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,uBAAuB,GACnC,WAAW,cAAc,EACzB,UAAS;IACR,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACR,KACJ,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAoBpC,CAAC"}
|
package/dist/github.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { fetch_value } from '@fuzdev/fuz_util/fetch.
|
|
2
|
+
import { fetch_value } from '@fuzdev/fuz_util/fetch.ts';
|
|
3
3
|
/**
|
|
4
4
|
* @see https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-pull-requests
|
|
5
5
|
*/
|
|
@@ -7,9 +7,9 @@ export const GithubPullRequest = z.object({
|
|
|
7
7
|
number: z.number(),
|
|
8
8
|
title: z.string(),
|
|
9
9
|
user: z.object({
|
|
10
|
-
login: z.string()
|
|
10
|
+
login: z.string()
|
|
11
11
|
}),
|
|
12
|
-
draft: z.boolean()
|
|
12
|
+
draft: z.boolean()
|
|
13
13
|
});
|
|
14
14
|
export const GithubPullRequests = z.array(GithubPullRequest);
|
|
15
15
|
/**
|
|
@@ -26,7 +26,7 @@ export const fetch_github_pull_requests = async (repo_info, options = {}) => {
|
|
|
26
26
|
parse: GithubPullRequests.parse,
|
|
27
27
|
token,
|
|
28
28
|
cache,
|
|
29
|
-
log
|
|
29
|
+
log
|
|
30
30
|
});
|
|
31
31
|
if (!fetched.ok) {
|
|
32
32
|
// TODO @many this is messy but I think it's the main case we need to worry about?
|
|
@@ -44,11 +44,11 @@ export const GithubCheckRunsItem = z.object({
|
|
|
44
44
|
status: z.enum(['queued', 'in_progress', 'completed']),
|
|
45
45
|
conclusion: z
|
|
46
46
|
.enum(['success', 'failure', 'neutral', 'cancelled', 'skipped', 'timed_out', 'action_required'])
|
|
47
|
-
.nullable()
|
|
47
|
+
.nullable()
|
|
48
48
|
});
|
|
49
49
|
export const GithubCheckRuns = z.object({
|
|
50
50
|
total_count: z.number(),
|
|
51
|
-
check_runs: z.array(GithubCheckRunsItem)
|
|
51
|
+
check_runs: z.array(GithubCheckRunsItem)
|
|
52
52
|
});
|
|
53
53
|
/**
|
|
54
54
|
* @see https://docs.github.com/en/rest/checks/runs?apiVersion=2022-11-28#list-check-runs-for-a-git-reference
|
|
@@ -64,7 +64,7 @@ export const fetch_github_check_runs = async (repo_info, options = {}) => {
|
|
|
64
64
|
parse: (v) => reduce_check_runs(GithubCheckRuns.parse(v).check_runs),
|
|
65
65
|
token,
|
|
66
66
|
cache,
|
|
67
|
-
log
|
|
67
|
+
log
|
|
68
68
|
});
|
|
69
69
|
if (!fetched.ok) {
|
|
70
70
|
// TODO @many this is messy but I think it's the main case we need to worry about?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/github_helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"github_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/github_helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,iBAAiB,CAAC;CAChC;AAED,eAAO,MAAM,gBAAgB,GAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,EAClB,sBAAsB,iBAAiB,KACrC,KAAK,CAAC,eAAe,CAYI,CAAC;AAE7B,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,MAAM,iBAAiB,KAAG,MACtB,CAAC"}
|
package/dist/github_helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitops_analyze.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gitops_analyze.task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"gitops_analyze.task.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/gitops_analyze.task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,cAAc;AACd,eAAO,MAAM,IAAI;;;;;;;;;;kBAqBf,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,cAAc;AACd,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAkC3B,CAAC"}
|