@code-pushup/cli 0.50.0 → 0.52.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.
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@code-pushup/cli",
3
- "version": "0.50.0",
3
+ "version": "0.52.0",
4
4
  "license": "MIT",
5
5
  "description": "A CLI to run all kinds of code quality measurements to align your team with company goals",
6
6
  "bin": {
7
7
  "code-pushup": "index.js"
8
8
  },
9
9
  "dependencies": {
10
- "@code-pushup/models": "0.50.0",
11
- "@code-pushup/core": "0.50.0",
12
- "@code-pushup/utils": "0.50.0",
10
+ "@code-pushup/models": "0.52.0",
11
+ "@code-pushup/core": "0.52.0",
12
+ "@code-pushup/utils": "0.52.0",
13
13
  "yargs": "^17.7.2",
14
14
  "ansis": "^3.3.0",
15
15
  "simple-git": "^3.20.0"
@@ -23,6 +23,9 @@
23
23
  "url": "git+https://github.com/code-pushup/cli.git",
24
24
  "directory": "packages/cli"
25
25
  },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
26
29
  "type": "module",
27
30
  "main": "./index.js",
28
31
  "types": "./src/index.d.ts"
@@ -1,8 +1,7 @@
1
1
  import { type CoreConfig, type Format } from '@code-pushup/models';
2
2
  import type { CoreConfigCliOptions } from './core-config.model';
3
+ import type { FilterOptions } from './filter.model';
3
4
  import type { GeneralCliOptions } from './global.model';
4
- import type { OnlyPluginsOptions } from './only-plugins.model';
5
- import type { SkipPluginsOptions } from './skip-plugins.model';
6
- export type CoreConfigMiddlewareOptions = GeneralCliOptions & CoreConfigCliOptions & OnlyPluginsOptions & SkipPluginsOptions;
7
- export declare function coreConfigMiddleware<T extends CoreConfigMiddlewareOptions>(processArgs: T): Promise<GeneralCliOptions & CoreConfig & OnlyPluginsOptions & SkipPluginsOptions>;
5
+ export type CoreConfigMiddlewareOptions = GeneralCliOptions & CoreConfigCliOptions & FilterOptions;
6
+ export declare function coreConfigMiddleware<T extends CoreConfigMiddlewareOptions>(processArgs: T): Promise<GeneralCliOptions & CoreConfig & FilterOptions>;
8
7
  export declare const normalizeFormats: (formats?: string[]) => Format[];
@@ -0,0 +1,2 @@
1
+ import type { FilterOptions } from './filter.model';
2
+ export declare function filterMiddleware<T extends FilterOptions>(originalProcessArgs: T): T;
@@ -0,0 +1,9 @@
1
+ import type { GlobalOptions } from '@code-pushup/core';
2
+ import type { CategoryConfig, CoreConfig, PluginConfig } from '@code-pushup/models';
3
+ export type FilterOptions = Partial<GlobalOptions> & Pick<CoreConfig, 'categories' | 'plugins'> & FilterCliOptions;
4
+ export type FilterCliOptions = Partial<Record<FilterOptionType, string[]>>;
5
+ export type FilterOptionType = 'skipCategories' | 'onlyCategories' | 'skipPlugins' | 'onlyPlugins';
6
+ export type Filterables = {
7
+ categories: CategoryConfig[];
8
+ plugins: PluginConfig[];
9
+ };
@@ -0,0 +1,7 @@
1
+ import type { Options } from 'yargs';
2
+ import type { FilterCliOptions } from './filter.model';
3
+ export declare const skipCategoriesOption: Options;
4
+ export declare const onlyCategoriesOption: Options;
5
+ export declare const skipPluginsOption: Options;
6
+ export declare const onlyPluginsOption: Options;
7
+ export declare function yargsFilterOptionsDefinition(): Record<keyof FilterCliOptions, Options>;
@@ -0,0 +1,13 @@
1
+ import type { CategoryConfig, PluginConfig } from '@code-pushup/models';
2
+ import type { FilterOptionType, Filterables } from './filter.model';
3
+ export declare class OptionValidationError extends Error {
4
+ }
5
+ export declare function validateFilterOption(option: FilterOptionType, { plugins, categories }: Filterables, { itemsToFilter, verbose }: {
6
+ itemsToFilter: string[];
7
+ verbose: boolean;
8
+ }): void;
9
+ export declare function validateFinalState(filteredItems: Filterables, originalItems: Filterables): void;
10
+ export declare function isOnlyOption(option: FilterOptionType): boolean;
11
+ export declare function getItemType(option: FilterOptionType, count: number): string;
12
+ export declare function createValidationMessage(option: FilterOptionType, invalidItems: string[], validItems: Pick<PluginConfig | CategoryConfig, 'slug'>[]): string;
13
+ export declare function handleConflictingOptions(type: 'categories' | 'plugins', onlyItems: string[], skipItems: string[]): void;
@@ -1,4 +1,6 @@
1
1
  export declare const options: {
2
+ skipCategories: import("yargs").Options;
3
+ onlyCategories: import("yargs").Options;
2
4
  skipPlugins: import("yargs").Options;
3
5
  onlyPlugins: import("yargs").Options;
4
6
  "persist.outputDir": import("yargs").Options;
@@ -1,2 +0,0 @@
1
- import type { OnlyPluginsOptions } from './only-plugins.model';
2
- export declare function onlyPluginsMiddleware<T extends OnlyPluginsOptions>(originalProcessArgs: T): T;
@@ -1,6 +0,0 @@
1
- import type { GlobalOptions } from '@code-pushup/core';
2
- import type { CoreConfig } from '@code-pushup/models';
3
- export type OnlyPluginsCliOptions = {
4
- onlyPlugins?: string[];
5
- };
6
- export type OnlyPluginsOptions = Partial<GlobalOptions> & Pick<CoreConfig, 'categories' | 'plugins'> & OnlyPluginsCliOptions;
@@ -1,4 +0,0 @@
1
- import type { Options } from 'yargs';
2
- import type { OnlyPluginsCliOptions } from './only-plugins.model';
3
- export declare const onlyPluginsOption: Options;
4
- export declare function yargsOnlyPluginsOptionsDefinition(): Record<keyof OnlyPluginsCliOptions, Options>;
@@ -1,2 +0,0 @@
1
- import type { SkipPluginsOptions } from './skip-plugins.model';
2
- export declare function skipPluginsMiddleware<T extends SkipPluginsOptions>(originalProcessArgs: T): T;
@@ -1,6 +0,0 @@
1
- import type { GlobalOptions } from '@code-pushup/core';
2
- import type { CoreConfig } from '@code-pushup/models';
3
- export type SkipPluginsCliOptions = {
4
- skipPlugins?: string[];
5
- };
6
- export type SkipPluginsOptions = Partial<GlobalOptions> & Pick<CoreConfig, 'categories' | 'plugins'> & SkipPluginsCliOptions;
@@ -1,4 +0,0 @@
1
- import type { Options } from 'yargs';
2
- import type { SkipPluginsCliOptions } from './skip-plugins.model';
3
- export declare const skipPluginsOption: Options;
4
- export declare function yargsSkipPluginsOptionsDefinition(): Record<keyof SkipPluginsCliOptions, Options>;
@@ -1,8 +0,0 @@
1
- import type { CategoryConfig, PluginConfig } from '@code-pushup/models';
2
- export declare function validatePluginFilterOption(filterOption: 'onlyPlugins' | 'skipPlugins', { plugins, categories, }: {
3
- plugins: PluginConfig[];
4
- categories: CategoryConfig[];
5
- }, { pluginsToFilter, verbose, }?: {
6
- pluginsToFilter?: string[];
7
- verbose?: boolean;
8
- }): void;