packages/kbn-dependency-ownership/README.md
A CLI tool for analyzing package ownership.
Use this command to list all packages or plugins within a directory that use a specified dependency.
node scripts/dependency_ownership -o <owner>
or
node scripts/dependency_ownership --owner <owner>
Example:
node scripts/dependency_ownership -o @elastic/kibana-core
-o @elastic/kibana-core: Specifies the team.Output: Lists dev and prod dependencies.
{
"prodDependencies": [
"<dependency_1>",
"<dependency_2>",
"<dependency_3>",
//...
],
"devDependencies": [
"<dependency_1>",
"<dependency_2>",
//...
]
}
Get the owner for a specific dependency.
node scripts/dependency_ownership -d <dependency>
or
node scripts/dependency_ownership --dependency <dependency>
Example:
node scripts/dependency_ownership -d rxjs
-d rxjs: Specifies the dependency.Output: Lists owners for rxjs.
[
"@elastic/kibana-core"
]
To display all dependencies that do not have owner defined.
node scripts/dependency_ownership --missing-owner
Example:
node scripts/dependency_ownership --missing-owner
Output: Lists all dev and prod dependencies without owner.
{
"prodDependencies": [
"<dependency_1>",
"<dependency_2>",
//...
],
"devDependencies": [
"<dependency_1>",
"<dependency_2>",
//...
]
}
Generates a comprehensive report with all dependencies with and without owner.
node scripts/dependency_ownership --missing-owner
Example:
node scripts/dependency_ownership --missing-owner
Output: Lists all covered dev and prod dependencies, uncovered dev and prod dependencies, dependencies aggregated by owner.
{
"coveredProdDependencies": [ // Prod dependencies with owner
"<dependency_1>",
"<dependency_2>",
//...
],
"coveredDevDependencies": [ // Dev dependencies with owner
"<dependency_1>",
"<dependency_2>",
//...
],
"uncoveredProdDependencies": [ // Prod dependencies without owner
"<dependency_1>",
"<dependency_2>",
//...
],
"uncoveredDevDependencies": [ // Dev dependencies without owner
"<dependency_1>",
"<dependency_2>",
//...
],
"prodDependenciesByOwner": { // Prod dependencies aggregated by owner
"@elastic/team_1": ["<dependency_1>"],
"@elastic/team_2": ["<dependency_1>"],
},
"devDependenciesByOwner": { // Dev dependencies aggregated by owner
"@elastic/team_1": ["<dependency_1>"],
"@elastic/team_2": ["<dependency_1>"],
},
}
For further information on additional flags and options, refer to the script's help command.