@code-pushup/utils 0.105.0 → 0.106.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 +2 -2
- package/src/index.d.ts +2 -2
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/lib/plugin-url-aggregation.d.ts +7 -7
- package/src/lib/plugin-url-aggregation.js +9 -31
- package/src/lib/plugin-url-aggregation.js.map +1 -1
- package/src/lib/plugin-url-config.d.ts +7 -5
- package/src/lib/plugin-url-config.js +11 -0
- package/src/lib/plugin-url-config.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.106.0",
|
|
4
4
|
"description": "Low-level utilities (helper functions, etc.) used by Code PushUp CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/utils#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"node": ">=18.2.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@code-pushup/models": "0.
|
|
30
|
+
"@code-pushup/models": "0.106.0",
|
|
31
31
|
"ansis": "^3.3.0",
|
|
32
32
|
"build-md": "^0.4.2",
|
|
33
33
|
"bundle-require": "^5.1.0",
|
package/src/index.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export { hasNoNullableProps, isPromiseFulfilledResult, isPromiseRejectedResult,
|
|
|
17
17
|
export { interpolate } from './lib/interpolate.js';
|
|
18
18
|
export { Logger, logger } from './lib/logger.js';
|
|
19
19
|
export { mergeConfigs } from './lib/merge-configs.js';
|
|
20
|
-
export { addIndex,
|
|
21
|
-
export { getUrlIdentifier, normalizeUrlInput, type PluginUrlContext, } from './lib/plugin-url-config.js';
|
|
20
|
+
export { addIndex, expandAuditsForUrls, expandCategoryRefs, expandGroupsForUrls, extractGroupSlugs, shouldExpandForUrls, } from './lib/plugin-url-aggregation.js';
|
|
21
|
+
export { getUrlIdentifier, normalizeUrlInput, pluginUrlContextSchema, type PluginUrlContext, } from './lib/plugin-url-config.js';
|
|
22
22
|
export { asyncSequential, groupByStatus, settlePromise, } from './lib/promises.js';
|
|
23
23
|
export { generateRandomId } from './lib/random.js';
|
|
24
24
|
export { CODE_PUSHUP_DOMAIN, CODE_PUSHUP_UNICODE_LOGO, FOOTER_PREFIX, README_LINK, } from './lib/reports/constants.js';
|
package/src/index.js
CHANGED
|
@@ -17,8 +17,8 @@ export { hasNoNullableProps, isPromiseFulfilledResult, isPromiseRejectedResult,
|
|
|
17
17
|
export { interpolate } from './lib/interpolate.js';
|
|
18
18
|
export { Logger, logger } from './lib/logger.js';
|
|
19
19
|
export { mergeConfigs } from './lib/merge-configs.js';
|
|
20
|
-
export { addIndex,
|
|
21
|
-
export { getUrlIdentifier, normalizeUrlInput, } from './lib/plugin-url-config.js';
|
|
20
|
+
export { addIndex, expandAuditsForUrls, expandCategoryRefs, expandGroupsForUrls, extractGroupSlugs, shouldExpandForUrls, } from './lib/plugin-url-aggregation.js';
|
|
21
|
+
export { getUrlIdentifier, normalizeUrlInput, pluginUrlContextSchema, } from './lib/plugin-url-config.js';
|
|
22
22
|
export { asyncSequential, groupByStatus, settlePromise, } from './lib/promises.js';
|
|
23
23
|
export { generateRandomId } from './lib/random.js';
|
|
24
24
|
export { CODE_PUSHUP_DOMAIN, CODE_PUSHUP_UNICODE_LOGO, FOOTER_PREFIX, README_LINK, } from './lib/reports/constants.js';
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAa,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,YAAY,GAIb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,aAAa,GAEd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { Audit, CategoryRef, Group
|
|
1
|
+
import type { Audit, CategoryRef, Group } from '@code-pushup/models';
|
|
2
2
|
import { type PluginUrlContext } from './plugin-url-config.js';
|
|
3
3
|
export declare function shouldExpandForUrls(urlCount: number): boolean;
|
|
4
4
|
export declare function addIndex(slug: string, index: number): string;
|
|
5
5
|
export declare function removeIndex(slug: string): string;
|
|
6
|
+
export declare function extractGroupSlugs(groups: Group[]): string[];
|
|
6
7
|
export declare function resolveUrlWeight(weights: PluginUrlContext['weights'], index: number, userDefinedWeight?: number): number;
|
|
7
8
|
export declare function expandAuditsForUrls(audits: Audit[], urls: string[]): Audit[];
|
|
8
9
|
export declare function expandGroupsForUrls(groups: Group[], urls: string[]): Group[];
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
export declare function validateUrlContext(context: PluginConfig['context']): asserts context is PluginUrlContext;
|
|
10
|
+
type CategoryRefInput = Omit<CategoryRef, 'weight'> & {
|
|
11
|
+
weight?: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function expandCategoryRefs(ref: CategoryRefInput, context: PluginUrlContext): CategoryRef[];
|
|
14
|
+
export {};
|
|
@@ -8,8 +8,16 @@ export function addIndex(slug, index) {
|
|
|
8
8
|
export function removeIndex(slug) {
|
|
9
9
|
return slug.replace(/-\d+$/, '');
|
|
10
10
|
}
|
|
11
|
+
export function extractGroupSlugs(groups) {
|
|
12
|
+
const slugs = groups.map(({ slug }) => removeIndex(slug));
|
|
13
|
+
return [...new Set(slugs)];
|
|
14
|
+
}
|
|
11
15
|
export function resolveUrlWeight(weights, index, userDefinedWeight) {
|
|
12
|
-
|
|
16
|
+
const urlWeight = weights[index + 1] ?? 1;
|
|
17
|
+
if (userDefinedWeight == null) {
|
|
18
|
+
return urlWeight;
|
|
19
|
+
}
|
|
20
|
+
return (urlWeight + userDefinedWeight) / 2;
|
|
13
21
|
}
|
|
14
22
|
export function expandAuditsForUrls(audits, urls) {
|
|
15
23
|
return urls.flatMap((url, index) => audits.map(audit => ({
|
|
@@ -29,16 +37,6 @@ export function expandGroupsForUrls(groups, urls) {
|
|
|
29
37
|
})),
|
|
30
38
|
})));
|
|
31
39
|
}
|
|
32
|
-
export function createCategoryRefs(groupSlug, pluginSlug, context) {
|
|
33
|
-
return Array.from({ length: context.urlCount }, (_, i) => ({
|
|
34
|
-
plugin: pluginSlug,
|
|
35
|
-
slug: shouldExpandForUrls(context.urlCount)
|
|
36
|
-
? addIndex(groupSlug, i)
|
|
37
|
-
: groupSlug,
|
|
38
|
-
type: 'group',
|
|
39
|
-
weight: resolveUrlWeight(context.weights, i),
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
40
|
export function expandCategoryRefs(ref, context) {
|
|
43
41
|
return Array.from({ length: context.urlCount }, (_, i) => ({
|
|
44
42
|
...ref,
|
|
@@ -48,24 +46,4 @@ export function expandCategoryRefs(ref, context) {
|
|
|
48
46
|
weight: resolveUrlWeight(context.weights, i, ref.weight),
|
|
49
47
|
}));
|
|
50
48
|
}
|
|
51
|
-
export class ContextValidationError extends Error {
|
|
52
|
-
constructor(message) {
|
|
53
|
-
super(`Invalid plugin context: ${message}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export function validateUrlContext(context) {
|
|
57
|
-
if (!context || typeof context !== 'object') {
|
|
58
|
-
throw new ContextValidationError('must be an object');
|
|
59
|
-
}
|
|
60
|
-
const { urlCount, weights } = context;
|
|
61
|
-
if (typeof urlCount !== 'number' || urlCount < 0) {
|
|
62
|
-
throw new ContextValidationError('urlCount must be a non-negative number');
|
|
63
|
-
}
|
|
64
|
-
if (!weights || typeof weights !== 'object') {
|
|
65
|
-
throw new ContextValidationError('weights must be an object');
|
|
66
|
-
}
|
|
67
|
-
if (Object.keys(weights).length !== urlCount) {
|
|
68
|
-
throw new ContextValidationError('weights count must match urlCount');
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
49
|
//# sourceMappingURL=plugin-url-aggregation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-url-aggregation.js","sourceRoot":"","sources":["../../../src/lib/plugin-url-aggregation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-url-aggregation.js","sourceRoot":"","sources":["../../../src/lib/plugin-url-aggregation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type PluginUrls } from '@code-pushup/models';
|
|
3
|
+
export declare const pluginUrlContextSchema: z.ZodObject<{
|
|
4
|
+
urlCount: z.ZodNumber;
|
|
5
|
+
weights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type PluginUrlContext = z.infer<typeof pluginUrlContextSchema>;
|
|
6
8
|
export declare const SINGLE_URL_THRESHOLD = 1;
|
|
7
9
|
export declare function normalizeUrlInput(input: PluginUrls): {
|
|
8
10
|
urls: string[];
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonnegativeNumberSchema, weightSchema, } from '@code-pushup/models';
|
|
3
|
+
export const pluginUrlContextSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
urlCount: nonnegativeNumberSchema,
|
|
6
|
+
weights: z.record(z.string(), weightSchema),
|
|
7
|
+
})
|
|
8
|
+
.refine(({ urlCount, weights }) => Object.keys(weights).length === urlCount, {
|
|
9
|
+
message: 'weights count must match urlCount',
|
|
10
|
+
})
|
|
11
|
+
.meta({ title: 'PluginUrlContext' });
|
|
1
12
|
export const SINGLE_URL_THRESHOLD = 1;
|
|
2
13
|
export function normalizeUrlInput(input) {
|
|
3
14
|
if (typeof input === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-url-config.js","sourceRoot":"","sources":["../../../src/lib/plugin-url-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-url-config.js","sourceRoot":"","sources":["../../../src/lib/plugin-url-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,uBAAuB,EACvB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC;CAC5C,CAAC;KACD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE;IAC3E,OAAO,EAAE,mCAAmC;CAC7C,CAAC;KACD,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAIvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IAIjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,OAAO,EAAE;gBACP,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB;SACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7D;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QACjC,OAAO,EAAE;YACP,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAChD;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9C,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC"}
|