@fuzdev/fuz_gitops 0.77.0 → 0.78.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.
Files changed (94) hide show
  1. package/README.md +5 -5
  2. package/dist/ModulesDetail.svelte +1 -1
  3. package/dist/PageFooter.svelte +2 -2
  4. package/dist/PageHeader.svelte +1 -1
  5. package/dist/PageHeader.svelte.d.ts +1 -1
  6. package/dist/ReposTable.svelte +1 -1
  7. package/dist/ReposTree.svelte +1 -1
  8. package/dist/cargo_toml.d.ts +33 -0
  9. package/dist/cargo_toml.d.ts.map +1 -0
  10. package/dist/cargo_toml.js +74 -0
  11. package/dist/changeset_generator.d.ts +1 -1
  12. package/dist/changeset_reader.d.ts +1 -1
  13. package/dist/dependency_graph.d.ts +2 -2
  14. package/dist/dependency_graph.js +4 -4
  15. package/dist/dependency_updater.d.ts +1 -1
  16. package/dist/fetch_repo_data.d.ts +2 -2
  17. package/dist/fetch_repo_data.js +1 -1
  18. package/dist/fs_fetch_value_cache.d.ts +1 -1
  19. package/dist/fs_fetch_value_cache.js +3 -3
  20. package/dist/git_operations.d.ts +1 -1
  21. package/dist/git_operations.js +2 -2
  22. package/dist/github.d.ts +2 -2
  23. package/dist/github.js +1 -1
  24. package/dist/github_helpers.js +1 -1
  25. package/dist/gitops_analyze.task.d.ts.map +1 -1
  26. package/dist/gitops_analyze.task.js +15 -8
  27. package/dist/gitops_config.d.ts +2 -2
  28. package/dist/gitops_config.js +1 -1
  29. package/dist/gitops_run.task.js +2 -2
  30. package/dist/gitops_sync.task.js +4 -4
  31. package/dist/gitops_task_helpers.d.ts +1 -1
  32. package/dist/gitops_task_helpers.js +1 -1
  33. package/dist/graph_validation.d.ts +2 -2
  34. package/dist/graph_validation.d.ts.map +1 -1
  35. package/dist/graph_validation.js +3 -1
  36. package/dist/local_repo.d.ts +17 -3
  37. package/dist/local_repo.d.ts.map +1 -1
  38. package/dist/local_repo.js +54 -6
  39. package/dist/log_helpers.d.ts +1 -1
  40. package/dist/multi_repo_publisher.d.ts +3 -3
  41. package/dist/multi_repo_publisher.d.ts.map +1 -1
  42. package/dist/multi_repo_publisher.js +5 -1
  43. package/dist/npm_registry.d.ts +1 -1
  44. package/dist/npm_registry.js +2 -2
  45. package/dist/operations.d.ts +4 -4
  46. package/dist/operations_defaults.js +4 -4
  47. package/dist/output_helpers.d.ts +1 -1
  48. package/dist/preflight_checks.d.ts +1 -1
  49. package/dist/preflight_checks.js +1 -1
  50. package/dist/publish_steps.js +1 -1
  51. package/dist/publishing_plan.d.ts +3 -3
  52. package/dist/publishing_plan.d.ts.map +1 -1
  53. package/dist/publishing_plan.js +11 -1
  54. package/dist/publishing_plan_logging.d.ts +1 -1
  55. package/dist/repo.svelte.d.ts +5 -5
  56. package/dist/repo.svelte.js +2 -2
  57. package/package.json +6 -6
  58. package/src/lib/cargo_toml.ts +82 -0
  59. package/src/lib/changeset_generator.ts +6 -6
  60. package/src/lib/changeset_reader.ts +3 -3
  61. package/src/lib/config_reconcile.ts +1 -1
  62. package/src/lib/dependency_graph.ts +5 -5
  63. package/src/lib/dependency_updater.ts +7 -7
  64. package/src/lib/fetch_repo_data.ts +6 -6
  65. package/src/lib/fs_fetch_value_cache.ts +3 -3
  66. package/src/lib/git_operations.ts +2 -2
  67. package/src/lib/github.ts +2 -2
  68. package/src/lib/github_helpers.ts +3 -3
  69. package/src/lib/gitops_analyze.task.ts +26 -18
  70. package/src/lib/gitops_config.ts +4 -4
  71. package/src/lib/gitops_plan.task.ts +4 -4
  72. package/src/lib/gitops_publish.task.ts +9 -9
  73. package/src/lib/gitops_run.task.ts +4 -4
  74. package/src/lib/gitops_sync.task.ts +8 -8
  75. package/src/lib/gitops_task_helpers.ts +7 -7
  76. package/src/lib/gitops_validate.task.ts +7 -7
  77. package/src/lib/graph_validation.ts +5 -4
  78. package/src/lib/local_repo.ts +81 -15
  79. package/src/lib/log_helpers.ts +2 -2
  80. package/src/lib/multi_repo_publisher.ts +15 -11
  81. package/src/lib/npm_registry.ts +3 -3
  82. package/src/lib/operations.ts +9 -9
  83. package/src/lib/operations_defaults.ts +9 -9
  84. package/src/lib/output_helpers.ts +1 -1
  85. package/src/lib/preflight_checks.ts +6 -6
  86. package/src/lib/publish_gate.ts +2 -2
  87. package/src/lib/publish_steps.ts +3 -3
  88. package/src/lib/publishing_event_handler.ts +1 -1
  89. package/src/lib/publishing_plan.ts +22 -10
  90. package/src/lib/publishing_plan_helpers.ts +3 -3
  91. package/src/lib/publishing_plan_logging.ts +2 -2
  92. package/src/lib/repo.svelte.ts +7 -7
  93. package/src/lib/repo_ops.ts +3 -3
  94. package/src/lib/resolved_gitops_config.ts +2 -2
@@ -8,8 +8,8 @@
8
8
  * @module
9
9
  */
10
10
 
11
- import type {PublishingResult} from './multi_repo_publisher.js';
12
- import type {PublishingPlan} from './publishing_plan.js';
11
+ import type {PublishingResult} from './multi_repo_publisher.ts';
12
+ import type {PublishingPlan} from './publishing_plan.ts';
13
13
 
14
14
  /** What the task should do with a generated plan before executing the cascade. */
15
15
  export type PublishGate =
@@ -8,9 +8,9 @@
8
8
  * @module
9
9
  */
10
10
 
11
- import type {BumpType} from './version_utils.js';
12
- import type {PublishingPlan, VersionChange} from './publishing_plan.js';
13
- import {UnreachableError} from '@fuzdev/fuz_util/error.js';
11
+ import type {BumpType} from './version_utils.ts';
12
+ import type {PublishingPlan, VersionChange} from './publishing_plan.ts';
13
+ import {UnreachableError} from '@fuzdev/fuz_util/error.ts';
14
14
 
15
15
  /** How a package's version bump arises in the plan. */
16
16
  export type PublishStepVia = 'changeset' | 'auto_changeset' | 'escalation';
@@ -9,7 +9,7 @@
9
9
  * @module
10
10
  */
11
11
 
12
- import type {PublishingEvent} from './publishing_event.js';
12
+ import type {PublishingEvent} from './publishing_event.ts';
13
13
 
14
14
  /** A sink for publishing events. */
15
15
  export interface PublishingEventHandler {
@@ -1,25 +1,25 @@
1
- import type {Logger} from '@fuzdev/fuz_util/log.js';
1
+ import type {Logger} from '@fuzdev/fuz_util/log.ts';
2
2
  import {styleText as st} from 'node:util';
3
3
 
4
- import type {LocalRepo} from './local_repo.js';
5
- import {validate_dependency_graph} from './graph_validation.js';
4
+ import {repo_is_npm, type LocalRepo} from './local_repo.ts';
5
+ import {validate_dependency_graph} from './graph_validation.ts';
6
6
  import {
7
7
  type BumpType,
8
8
  is_breaking_change,
9
9
  compare_bump_types,
10
10
  calculate_next_version,
11
- } from './version_utils.js';
12
- import type {ChangesetOperations} from './operations.js';
13
- import {default_changeset_operations} from './operations_defaults.js';
14
- import {GITOPS_MAX_ITERATIONS_DEFAULT} from './gitops_constants.js';
11
+ } from './version_utils.ts';
12
+ import type {ChangesetOperations} from './operations.ts';
13
+ import {default_changeset_operations} from './operations_defaults.ts';
14
+ import {GITOPS_MAX_ITERATIONS_DEFAULT} from './gitops_constants.ts';
15
15
  import type {DependencyGraph} from './dependency_graph.ts';
16
16
  import {
17
17
  calculate_dependency_updates,
18
18
  get_required_bump_for_dependencies,
19
- } from './publishing_plan_helpers.js';
19
+ } from './publishing_plan_helpers.ts';
20
20
 
21
21
  // Re-export logging functions
22
- export {log_publishing_plan, type LogPlanOptions} from './publishing_plan_logging.js';
22
+ export {log_publishing_plan, type LogPlanOptions} from './publishing_plan_logging.ts';
23
23
 
24
24
  export interface VersionChange {
25
25
  package_name: string;
@@ -110,7 +110,7 @@ export interface GeneratePlanOptions {
110
110
  * Uses fixed-point iteration to resolve transitive cascades.
111
111
  */
112
112
  export const generate_publishing_plan = async (
113
- repos: Array<LocalRepo>,
113
+ all_repos: Array<LocalRepo>,
114
114
  options: GeneratePlanOptions = {},
115
115
  ): Promise<PublishingPlan> => {
116
116
  const {log, ops = default_changeset_operations, verbose} = options;
@@ -120,6 +120,18 @@ export const generate_publishing_plan = async (
120
120
  const info: Array<string> = []; // Informational status (not warnings)
121
121
  const errors: Array<string> = [];
122
122
 
123
+ // Publishing concerns only npm packages. Non-npm repos (e.g. Rust cargo repos) are
124
+ // loaded for the dashboard but have no npm identity in the changeset cascade — drop them
125
+ // before building the graph so they never appear in the plan or publishing order.
126
+ const non_npm_repos = all_repos.filter((r) => !repo_is_npm(r));
127
+ if (non_npm_repos.length > 0) {
128
+ info.push(
129
+ `Excluded ${non_npm_repos.length} non-npm repo(s) from publishing: ` +
130
+ non_npm_repos.map((r) => r.library.name).join(', '),
131
+ );
132
+ }
133
+ const repos = all_repos.filter(repo_is_npm);
134
+
123
135
  // Verbose data collection
124
136
  const verbose_changeset_details: Array<VerboseChangesetDetail> = [];
125
137
  const verbose_iterations: Array<VerboseIteration> = [];
@@ -6,9 +6,9 @@
6
6
  * @module
7
7
  */
8
8
 
9
- import type {LocalRepo} from './local_repo.js';
10
- import {needs_update, required_bump_for_dependency_update, type BumpType} from './version_utils.js';
11
- import type {DependencyUpdate} from './publishing_plan.js';
9
+ import type {LocalRepo} from './local_repo.ts';
10
+ import {needs_update, required_bump_for_dependency_update, type BumpType} from './version_utils.ts';
11
+ import type {DependencyUpdate} from './publishing_plan.ts';
12
12
 
13
13
  /**
14
14
  * Calculates all dependency updates between packages based on predicted versions.
@@ -6,7 +6,7 @@
6
6
  * @module
7
7
  */
8
8
 
9
- import type {Logger} from '@fuzdev/fuz_util/log.js';
9
+ import type {Logger} from '@fuzdev/fuz_util/log.ts';
10
10
  import {styleText as st} from 'node:util';
11
11
 
12
12
  import type {
@@ -18,7 +18,7 @@ import type {
18
18
  VerboseIteration,
19
19
  VerbosePropagationChain,
20
20
  VerboseGraphSummary,
21
- } from './publishing_plan.js';
21
+ } from './publishing_plan.ts';
22
22
 
23
23
  export interface LogPlanOptions {
24
24
  verbose?: boolean;
@@ -1,11 +1,11 @@
1
- import {create_context} from '@fuzdev/fuz_ui/context_helpers.js';
2
- import type {LibraryJson, SourceJson} from '@fuzdev/fuz_util/library_json.js';
3
- import type {PkgJson} from '@fuzdev/fuz_util/pkg_json.js';
4
- import type {PackageJson} from '@fuzdev/fuz_util/package_json.js';
5
- import type {Url} from '@fuzdev/fuz_util/url.js';
6
- import {Library} from '@fuzdev/fuz_ui/library.svelte.js';
1
+ import {create_context} from '@fuzdev/fuz_ui/context_helpers.ts';
2
+ import type {LibraryJson, SourceJson} from '@fuzdev/fuz_util/library_json.ts';
3
+ import type {PkgJson} from '@fuzdev/fuz_util/pkg_json.ts';
4
+ import type {PackageJson} from '@fuzdev/fuz_util/package_json.ts';
5
+ import type {Url} from '@fuzdev/fuz_util/url.ts';
6
+ import {Library} from '@fuzdev/fuz_ui/library.svelte.ts';
7
7
 
8
- import {GithubCheckRunsItem, type GithubPullRequest} from './github.js';
8
+ import {GithubCheckRunsItem, type GithubPullRequest} from './github.ts';
9
9
 
10
10
  /**
11
11
  * Serialized repo data as stored in `repos.ts` (JSON).
@@ -15,9 +15,9 @@ import {existsSync} from 'node:fs';
15
15
  import {readdir, stat} from 'node:fs/promises';
16
16
  import {join, resolve, dirname} from 'node:path';
17
17
 
18
- import {load_gitops_config} from './gitops_config.js';
19
- import {DEFAULT_REPOS_DIR} from './paths.js';
20
- import {GITOPS_CONFIG_PATH_DEFAULT} from './gitops_constants.js';
18
+ import {load_gitops_config} from './gitops_config.ts';
19
+ import {DEFAULT_REPOS_DIR} from './paths.ts';
20
+ import {GITOPS_CONFIG_PATH_DEFAULT} from './gitops_constants.ts';
21
21
 
22
22
  /** Default directories to exclude from file walking */
23
23
  export const DEFAULT_EXCLUDE_DIRS = [
@@ -1,5 +1,5 @@
1
- import type {GitopsConfig} from './gitops_config.js';
2
- import {local_repo_locate, type LocalRepoPath, type LocalRepoMissing} from './local_repo.js';
1
+ import type {GitopsConfig} from './gitops_config.ts';
2
+ import {local_repo_locate, type LocalRepoPath, type LocalRepoMissing} from './local_repo.ts';
3
3
 
4
4
  export interface ResolvedGitopsConfig {
5
5
  local_repos: Array<LocalRepoPath | LocalRepoMissing> | null;