mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 19:13:14 -04:00
Updates files outside of x-pack to be triple-licensed under Elastic License 2.0, AGPL 3.0, or SSPL 1.0.
57 lines
1.9 KiB
TypeScript
57 lines
1.9 KiB
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the "Elastic License
|
|
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
* Public License v 1"; you may not use this file except in compliance with, at
|
|
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
*/
|
|
|
|
import { run } from '@kbn/dev-cli-runner';
|
|
import { checkDependencies } from './dependencies';
|
|
import { rankDependencies } from './rank';
|
|
import { findDependents } from './dependents';
|
|
|
|
/**
|
|
* A CLI for checking the consistency of a plugin's declared and implicit dependencies.
|
|
*/
|
|
export const runPluginCheckCli = () => {
|
|
run(
|
|
async ({ log, flags }) => {
|
|
if (
|
|
(flags.dependencies && flags.rank) ||
|
|
(flags.dependencies && flags.dependents) ||
|
|
(flags.rank && flags.dependents)
|
|
) {
|
|
throw new Error('Only one of --dependencies, --rank, or --dependents may be specified.');
|
|
}
|
|
|
|
if (flags.dependencies) {
|
|
checkDependencies(flags, log);
|
|
}
|
|
|
|
if (flags.rank) {
|
|
rankDependencies(log);
|
|
}
|
|
|
|
if (flags.dependents && typeof flags.dependents === 'string') {
|
|
findDependents(flags.dependents, log);
|
|
}
|
|
},
|
|
{
|
|
log: {
|
|
defaultLevel: 'info',
|
|
},
|
|
flags: {
|
|
boolean: ['rank'],
|
|
string: ['dependencies', 'dependents'],
|
|
help: `
|
|
--rank Display plugins as a ranked list of usage.
|
|
--dependents [plugin] Display plugins that depend on a given plugin.
|
|
--dependencies [plugin] Check plugin dependencies for a single plugin.
|
|
--dependencies [team] Check dependencies for all plugins owned by a team.
|
|
`,
|
|
},
|
|
}
|
|
);
|
|
};
|