@code-pushup/jsdocs-plugin 0.98.0 → 0.100.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,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/jsdocs-plugin",
3
- "version": "0.98.0",
3
+ "version": "0.100.0",
4
4
  "description": "Code PushUp plugin for tracking documentation coverage 📚",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-jsdocs#readme",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  "type": "module",
37
37
  "dependencies": {
38
- "@code-pushup/models": "0.98.0",
39
- "@code-pushup/utils": "0.98.0",
38
+ "@code-pushup/models": "0.100.0",
39
+ "@code-pushup/utils": "0.100.0",
40
40
  "zod": "^4.0.5",
41
41
  "ts-morph": "^24.0.0"
42
42
  },
@@ -1,5 +1,8 @@
1
1
  import type { Audit, Group } from '@code-pushup/models';
2
2
  import type { AuditSlug } from './models.js';
3
3
  export declare const PLUGIN_SLUG = "jsdocs";
4
+ export declare const PLUGIN_TITLE = "JSDocs coverage";
5
+ export declare const PLUGIN_DESCRIPTION = "Official Code PushUp JSDoc coverage plugin.";
6
+ export declare const PLUGIN_DOCS_URL = "https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/";
4
7
  export declare const AUDITS_MAP: Record<AuditSlug, Audit>;
5
- export declare const groups: Group[];
8
+ export declare const GROUPS: Group[];
@@ -1,4 +1,7 @@
1
1
  export const PLUGIN_SLUG = 'jsdocs';
2
+ export const PLUGIN_TITLE = 'JSDocs coverage';
3
+ export const PLUGIN_DESCRIPTION = 'Official Code PushUp JSDoc coverage plugin.';
4
+ export const PLUGIN_DOCS_URL = 'https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/';
2
5
  export const AUDITS_MAP = {
3
6
  'classes-coverage': {
4
7
  slug: 'classes-coverage',
@@ -41,7 +44,7 @@ export const AUDITS_MAP = {
41
44
  description: 'Documentation coverage of enums',
42
45
  },
43
46
  };
44
- export const groups = [
47
+ export const GROUPS = [
45
48
  {
46
49
  slug: 'documentation-coverage',
47
50
  title: 'Documentation coverage',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,kBAAkB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,mCAAmC;KACjD;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,mCAAmC;KACjD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;KACnD;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,sCAAsC;KACpD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;KACnD;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,sCAAsC;KACpD;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,iCAAiC;KAC/C;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,iCAAiC;KAC/C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B;QACE,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI;YACJ,MAAM,EAAE;gBACN,kBAAkB;gBAClB,oBAAoB;gBACpB,kBAAkB;aACnB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC;SACN,CAAC,CAAC;KACJ;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AAChF,MAAM,CAAC,MAAM,eAAe,GAC1B,2DAA2D,CAAC;AAE9D,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,kBAAkB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,mCAAmC;KACjD;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,mCAAmC;KACjD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;KACnD;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,sCAAsC;KACpD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;KACnD;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,sCAAsC;KACpD;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,iCAAiC;KAC/C;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,iCAAiC;KAC/C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B;QACE,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI;YACJ,MAAM,EAAE;gBACN,kBAAkB;gBAClB,oBAAoB;gBACpB,kBAAkB;aACnB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC;SACN,CAAC,CAAC;KACJ;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const formatMetaLog: (message: string) => string;
@@ -0,0 +1,4 @@
1
+ import { pluginMetaLogFormatter } from '@code-pushup/utils';
2
+ import { PLUGIN_TITLE } from './constants.js';
3
+ export const formatMetaLog = pluginMetaLogFormatter(PLUGIN_TITLE);
4
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC"}
@@ -1,8 +1,5 @@
1
1
  import { type PluginConfig } from '@code-pushup/models';
2
2
  import { type JsDocsPluginConfig } from './config.js';
3
- export declare const PLUGIN_TITLE = "JSDoc coverage";
4
- export declare const PLUGIN_DESCRIPTION = "Official Code PushUp JSDoc coverage plugin.";
5
- export declare const PLUGIN_DOCS_URL = "https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/";
6
3
  /**
7
4
  * Instantiates Code PushUp documentation coverage plugin for core config.
8
5
  *
@@ -1,11 +1,8 @@
1
1
  import { validate } from '@code-pushup/models';
2
2
  import { jsDocsPluginConfigSchema } from './config.js';
3
- import { PLUGIN_SLUG, groups } from './constants.js';
3
+ import { GROUPS, PLUGIN_DESCRIPTION, PLUGIN_DOCS_URL, PLUGIN_SLUG, PLUGIN_TITLE, } from './constants.js';
4
4
  import { createRunnerFunction } from './runner/runner.js';
5
- import { filterAuditsByPluginConfig, filterGroupsByOnlyAudits, } from './utils.js';
6
- export const PLUGIN_TITLE = 'JSDoc coverage';
7
- export const PLUGIN_DESCRIPTION = 'Official Code PushUp JSDoc coverage plugin.';
8
- export const PLUGIN_DOCS_URL = 'https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/';
5
+ import { filterAuditsByPluginConfig, filterGroupsByOnlyAudits, logAuditsAndGroups, } from './utils.js';
9
6
  /**
10
7
  * Instantiates Code PushUp documentation coverage plugin for core config.
11
8
  *
@@ -25,14 +22,17 @@ export const PLUGIN_DOCS_URL = 'https://www.npmjs.com/package/@code-pushup/jsdoc
25
22
  export function jsDocsPlugin(config) {
26
23
  const jsDocsConfig = validate(jsDocsPluginConfigSchema, config);
27
24
  const scoreTargets = jsDocsConfig.scoreTargets;
25
+ const groups = filterGroupsByOnlyAudits(GROUPS, jsDocsConfig);
26
+ const audits = filterAuditsByPluginConfig(jsDocsConfig);
27
+ logAuditsAndGroups(audits, groups);
28
28
  return {
29
29
  slug: PLUGIN_SLUG,
30
30
  title: PLUGIN_TITLE,
31
31
  icon: 'folder-docs',
32
32
  description: PLUGIN_DESCRIPTION,
33
33
  docsUrl: PLUGIN_DOCS_URL,
34
- groups: filterGroupsByOnlyAudits(groups, jsDocsConfig),
35
- audits: filterAuditsByPluginConfig(jsDocsConfig),
34
+ groups,
35
+ audits,
36
36
  runner: createRunnerFunction(jsDocsConfig),
37
37
  ...(scoreTargets && { scoreTargets }),
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"jsdocs-plugin.js","sourceRoot":"","sources":["../../../src/lib/jsdocs-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAA2B,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AAEhF,MAAM,CAAC,MAAM,eAAe,GAC1B,2DAA2D,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAE/C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC;QACtD,MAAM,EAAE,0BAA0B,CAAC,YAAY,CAAC;QAChD,MAAM,EAAE,oBAAoB,CAAC,YAAY,CAAC;QAC1C,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"jsdocs-plugin.js","sourceRoot":"","sources":["../../../src/lib/jsdocs-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAA2B,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAE/C,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAExD,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,eAAe;QACxB,MAAM;QACN,MAAM;QACN,MAAM,EAAE,oBAAoB,CAAC,YAAY,CAAC;QAC1C,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
@@ -11,26 +11,26 @@ type Node = {
11
11
  };
12
12
  /**
13
13
  * Gets the variables information from the variable statements
14
- * @param variableStatements - The variable statements to process
14
+ * @param variableStatements The variable statements to process
15
15
  * @returns The variables information with the right methods to get the information
16
16
  */
17
17
  export declare function getVariablesInformation(variableStatements: VariableStatement[]): Node[];
18
18
  /**
19
19
  * Processes documentation coverage for TypeScript files in the specified path
20
- * @param config - The configuration object containing patterns to include for documentation analysis
20
+ * @param config The configuration object containing patterns to include for documentation analysis
21
21
  * @returns Object containing coverage statistics and undocumented items
22
22
  */
23
23
  export declare function processJsDocs(config: JsDocsPluginTransformedConfig): Record<CoverageType, FileCoverage[]>;
24
24
  export declare function getAllNodesFromASourceFile(sourceFile: SourceFile): (Node | ClassDeclaration | import("ts-morph").FunctionDeclaration | import("ts-morph").MethodDeclaration | import("ts-morph").PropertyDeclaration | import("ts-morph").TypeAliasDeclaration | import("ts-morph").EnumDeclaration | import("ts-morph").InterfaceDeclaration)[];
25
25
  /**
26
26
  * Gets the documentation coverage report from the source files
27
- * @param sourceFiles - The source files to process
27
+ * @param sourceFiles The source files to process
28
28
  * @returns The documentation coverage report
29
29
  */
30
30
  export declare function getDocumentationReport(sourceFiles: SourceFile[]): Record<CoverageType, FileCoverage[]>;
31
31
  /**
32
32
  * Gets the nodes from a class
33
- * @param classNodes - The class nodes to process
33
+ * @param classNodes The class nodes to process
34
34
  * @returns The nodes from the class
35
35
  */
36
36
  export declare function getClassNodes(classNodes: ClassDeclaration[]): (import("ts-morph").MethodDeclaration | import("ts-morph").PropertyDeclaration)[];
@@ -1,9 +1,9 @@
1
1
  import { ClassDeclaration, JSDoc, Project, SourceFile, SyntaxKind, VariableStatement, } from 'ts-morph';
2
2
  import { objectFromEntries, objectToEntries, } from '@code-pushup/utils';
3
- import { createInitialCoverageTypesRecord, getCoverageTypeFromKind, singularCoverageType, } from './utils.js';
3
+ import { createInitialCoverageTypesRecord, getCoverageTypeFromKind, logReport, logSourceFiles, singularCoverageType, } from './utils.js';
4
4
  /**
5
5
  * Gets the variables information from the variable statements
6
- * @param variableStatements - The variable statements to process
6
+ * @param variableStatements The variable statements to process
7
7
  * @returns The variables information with the right methods to get the information
8
8
  */
9
9
  export function getVariablesInformation(variableStatements) {
@@ -24,13 +24,17 @@ export function getVariablesInformation(variableStatements) {
24
24
  }
25
25
  /**
26
26
  * Processes documentation coverage for TypeScript files in the specified path
27
- * @param config - The configuration object containing patterns to include for documentation analysis
27
+ * @param config The configuration object containing patterns to include for documentation analysis
28
28
  * @returns Object containing coverage statistics and undocumented items
29
29
  */
30
30
  export function processJsDocs(config) {
31
31
  const project = new Project();
32
32
  project.addSourceFilesAtPaths(config.patterns);
33
- return getDocumentationReport(project.getSourceFiles());
33
+ const sourceFiles = project.getSourceFiles();
34
+ logSourceFiles(sourceFiles, config);
35
+ const report = getDocumentationReport(sourceFiles);
36
+ logReport(report);
37
+ return report;
34
38
  }
35
39
  export function getAllNodesFromASourceFile(sourceFile) {
36
40
  const classes = sourceFile.getClasses();
@@ -46,7 +50,7 @@ export function getAllNodesFromASourceFile(sourceFile) {
46
50
  }
47
51
  /**
48
52
  * Gets the documentation coverage report from the source files
49
- * @param sourceFiles - The source files to process
53
+ * @param sourceFiles The source files to process
50
54
  * @returns The documentation coverage report
51
55
  */
52
56
  export function getDocumentationReport(sourceFiles) {
@@ -62,8 +66,8 @@ export function getDocumentationReport(sourceFiles) {
62
66
  }
63
67
  /**
64
68
  * Gets the coverage from all nodes of a file
65
- * @param nodes - The nodes to process
66
- * @param filePath - The file path where the nodes are located
69
+ * @param nodes The nodes to process
70
+ * @param filePath The file path where the nodes are located
67
71
  * @returns The coverage report for the nodes
68
72
  */
69
73
  function getCoverageFromAllNodesOfFile(nodes, filePath) {
@@ -101,7 +105,7 @@ function getCoverageFromAllNodesOfFile(nodes, filePath) {
101
105
  }
102
106
  /**
103
107
  * Gets the nodes from a class
104
- * @param classNodes - The class nodes to process
108
+ * @param classNodes The class nodes to process
105
109
  * @returns The nodes from the class
106
110
  */
107
111
  export function getClassNodes(classNodes) {
@@ -1 +1 @@
1
- {"version":3,"file":"doc-processor.js","sourceRoot":"","sources":["../../../../src/lib/runner/doc-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-processor.js","sourceRoot":"","sources":["../../../../src/lib/runner/doc-processor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { SyntaxKind } from 'ts-morph';
1
+ import { type SourceFile, SyntaxKind } from 'ts-morph';
2
+ import { type FileCoverage } from '@code-pushup/utils';
3
+ import type { JsDocsPluginTransformedConfig } from '../config.js';
2
4
  import type { CoverageType } from './models.js';
3
5
  /**
4
6
  * Creates an empty unprocessed coverage report.
@@ -24,3 +26,5 @@ export declare function getCoverageTypeFromKind(kind: SyntaxKind): CoverageType;
24
26
  * @returns Singular form of coverage type
25
27
  */
26
28
  export declare function singularCoverageType(type: CoverageType): string;
29
+ export declare function logSourceFiles(sourceFiles: SourceFile[], config: JsDocsPluginTransformedConfig): void;
30
+ export declare function logReport(report: Record<CoverageType, FileCoverage[]>): void;
@@ -1,4 +1,5 @@
1
1
  import { SyntaxKind } from 'ts-morph';
2
+ import { aggregateCoverageStats, capitalize, formatAsciiTable, formatCoveragePercentage, logger, objectToEntries, pluralize, pluralizeToken, toArray, } from '@code-pushup/utils';
2
3
  import { SYNTAX_COVERAGE_MAP } from './constants.js';
3
4
  /**
4
5
  * Creates an empty unprocessed coverage report.
@@ -62,4 +63,33 @@ export function singularCoverageType(type) {
62
63
  return 'variable';
63
64
  }
64
65
  }
66
+ export function logSourceFiles(sourceFiles, config) {
67
+ const patterns = toArray(config.patterns);
68
+ logger.info(`Found ${pluralizeToken('source file', sourceFiles.length)} matching ${pluralize('pattern', patterns.length)} ${patterns.join(' ')}`);
69
+ }
70
+ export function logReport(report) {
71
+ const typesCount = Object.keys(report).length;
72
+ logger.info(`Collected documentation coverage for ${pluralizeToken('type', typesCount)} of ${pluralize('entity', typesCount)}`);
73
+ if (!logger.isVerbose()) {
74
+ return;
75
+ }
76
+ logger.debug(formatAsciiTable({
77
+ columns: [
78
+ { key: 'type', label: 'Entity', align: 'left' },
79
+ { key: 'covered', label: 'Hits', align: 'right' },
80
+ { key: 'total', label: 'Found', align: 'right' },
81
+ { key: 'coverage', label: 'Coverage', align: 'right' },
82
+ ],
83
+ rows: objectToEntries(report)
84
+ .map(([type, files]) => {
85
+ const stats = aggregateCoverageStats(files);
86
+ return {
87
+ ...stats,
88
+ type: capitalize(type),
89
+ coverage: formatCoveragePercentage(stats),
90
+ };
91
+ })
92
+ .toSorted((a, b) => b.total - a.total),
93
+ }));
94
+ }
65
95
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/runner/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,YAAe;IAEf,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,YAAY;KACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAkB;IACxD,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAgB;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/runner/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAEL,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,EACN,eAAe,EACf,SAAS,EACT,cAAc,EACd,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,YAAe;IAEf,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,YAAY;KACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAkB;IACxD,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAgB;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,MAAqC;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CACT,SAAS,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACrI,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAA4C;IACpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,CAAC,IAAI,CACT,wCAAwC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CACnH,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CACV,gBAAgB,CAAC;QACf,OAAO,EAAE;YACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;YAC/C,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;YACjD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YAChD,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE;SACvD;QACD,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,wBAAwB,CAAC,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC,CAAC;aACD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;KACzC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -16,3 +16,4 @@ export declare function filterAuditsByPluginConfig(config: Pick<JsDocsPluginTran
16
16
  * @returns The filtered groups.
17
17
  */
18
18
  export declare function filterGroupsByOnlyAudits(groups: Group[], options: Pick<JsDocsPluginTransformedConfig, 'onlyAudits' | 'skipAudits'>): Group[];
19
+ export declare function logAuditsAndGroups(audits: Audit[], groups: Group[]): void;
package/src/lib/utils.js CHANGED
@@ -1,4 +1,6 @@
1
- import { AUDITS_MAP } from './constants.js';
1
+ import { logger, pluralizeToken } from '@code-pushup/utils';
2
+ import { AUDITS_MAP, GROUPS } from './constants.js';
3
+ import { formatMetaLog } from './format.js';
2
4
  /**
3
5
  * Get audits based on the configuration.
4
6
  * If no audits are specified, return all audits.
@@ -32,4 +34,18 @@ export function filterGroupsByOnlyAudits(groups, options) {
32
34
  }))
33
35
  .filter(group => group.refs.length > 0);
34
36
  }
37
+ export function logAuditsAndGroups(audits, groups) {
38
+ logger.info(formatMetaLog(`Created ${pluralizeToken('audit', audits.length)} and ${pluralizeToken('group', groups.length)}`));
39
+ const skippedAudits = Object.keys(AUDITS_MAP).filter(slug => !audits.some(audit => audit.slug === slug));
40
+ const skippedGroups = GROUPS.filter(group => !groups.some(({ slug }) => slug === group.slug));
41
+ if (skippedAudits.length > 0) {
42
+ logger.info(formatMetaLog([
43
+ `Skipped ${pluralizeToken('audit', skippedAudits.length)}`,
44
+ skippedGroups.length > 0 &&
45
+ pluralizeToken('group', skippedGroups.length),
46
+ ]
47
+ .filter(Boolean)
48
+ .join(' and ')));
49
+ }
50
+ }
35
51
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAwE;IAExE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE1C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACrC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAe,EACf,OAAyE;IAEzE,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAC9C;KACF,CAAC,CAAC;SACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAwE;IAExE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE1C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACrC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAe,EACf,OAAyE;IAEzE,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAC9C;KACF,CAAC,CAAC;SACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAe,EAAE,MAAe;IACjE,MAAM,CAAC,IAAI,CACT,aAAa,CACX,WAAW,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAClG,CACF,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAClD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CACnD,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CACzD,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,aAAa,CACX;YACE,WAAW,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;YAC1D,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;SAChD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,OAAO,CAAC,CACjB,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}