rlsbl v0.40.1 /rlsbl.commands.monorepo.impact
On this page

Monorepo impact analysis command: show affected packages from a change.

#rlsbl.commands.monorepo.impact

#rlsbl.commands.monorepo.impact

Monorepo impact analysis command: show affected packages from a change.

#_map_file_to_package

python
def _map_file_to_package(file_path, projects, root)

Map a file path (relative to repo root) to its containing package name.

Checks which project's path is a prefix of the file path. When multiple projects match (nested paths), the most specific (longest) prefix wins. Returns the project name or None if no project matches.

#_get_changed_files_from_git

python
def _get_changed_files_from_git(since_ref, root)

Run git diff --name-only {since_ref}..HEAD and return file paths.

#_get_affected_packages_from_git

python
def _get_affected_packages_from_git(since_ref, projects, root)

Map git-changed files to workspace package names.

#_is_file_path

python
def _is_file_path(arg)

Heuristic: does the argument look like a file path rather than a package name?

#_compute_impact

python
def _compute_impact(package_names, graph, depth)

Compute direct and transitive dependents for a set of packages.

Returns a dict with: input, direct_dependents, transitive_dependents, test_scope, release_candidates.

#_render_text

python
def _render_text(impact_data)

Format impact data as human-readable text.

#_render_json

python
def _render_json(impact_data)

Format impact data as JSON.

#_cmd_impact

python
def _cmd_impact(args, flags)

Analyze the impact of changes on the monorepo dependency graph.