@code-pushup/utils 0.57.0 → 0.59.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/utils",
3
- "version": "0.57.0",
3
+ "version": "0.59.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": ">=17.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@code-pushup/models": "0.57.0",
30
+ "@code-pushup/models": "0.59.0",
31
31
  "@isaacs/cliui": "^8.0.2",
32
32
  "@poppinss/cliui": "^6.4.0",
33
33
  "ansis": "^3.3.0",
@@ -37,6 +37,7 @@
37
37
  "multi-progress-bars": "^5.0.3",
38
38
  "semver": "^7.6.0",
39
39
  "simple-git": "^3.20.0",
40
+ "zod": "^3.23.8",
40
41
  "zod-validation-error": "^3.4.0"
41
42
  },
42
43
  "module": "./src/index.js",
package/src/index.d.ts CHANGED
@@ -24,8 +24,10 @@ export { sortReport } from './lib/reports/sorting.js';
24
24
  export type { ScoredCategoryConfig, ScoredGroup, ScoredReport, } from './lib/reports/types.js';
25
25
  export { calcDuration, compareIssueSeverity, formatReportScore, } from './lib/reports/utils.js';
26
26
  export { isSemver, normalizeSemver, sortSemvers } from './lib/semver.js';
27
+ export { camelCaseToKebabCase, kebabCaseToCamelCase, capitalize, toSentenceCase, toTitleCase, } from './lib/case-conversions.js';
27
28
  export * from './lib/text-formats/index.js';
28
- export { capitalize, countOccurrences, distinct, factorOf, fromJsonLines, objectFromEntries, objectToCliArgs, objectToEntries, objectToKeys, toArray, toJsonLines, toNumberPrecision, toOrdinal, toUnixNewlines, toUnixPath, type CliArgsObject, } from './lib/transform.js';
29
- export type { ExcludeNullableProps, ExtractArray, ExtractArrays, ItemOrArray, Prettify, WithRequired, } from './lib/types.js';
29
+ export { countOccurrences, distinct, factorOf, fromJsonLines, objectFromEntries, objectToCliArgs, objectToEntries, objectToKeys, toArray, toJsonLines, toNumberPrecision, toOrdinal, toUnixNewlines, toUnixPath, type CliArgsObject, } from './lib/transform.js';
30
+ export type { ExcludeNullableProps, ExtractArray, ExtractArrays, ItemOrArray, Prettify, WithRequired, CamelCaseToKebabCase, } from './lib/types.js';
30
31
  export { verboseUtils } from './lib/verbose-utils.js';
31
- export { zodErrorMessageBuilder } from './lib/zod-validation.js';
32
+ export { parseSchema, SchemaValidationError } from './lib/zod-validation.js';
33
+ export { createRunnerFiles } from './lib/create-runner-files.js';
package/src/index.js CHANGED
@@ -23,8 +23,10 @@ export { scoreReport } from './lib/reports/scoring.js';
23
23
  export { sortReport } from './lib/reports/sorting.js';
24
24
  export { calcDuration, compareIssueSeverity, formatReportScore, } from './lib/reports/utils.js';
25
25
  export { isSemver, normalizeSemver, sortSemvers } from './lib/semver.js';
26
+ export { camelCaseToKebabCase, kebabCaseToCamelCase, capitalize, toSentenceCase, toTitleCase, } from './lib/case-conversions.js';
26
27
  export * from './lib/text-formats/index.js';
27
- export { capitalize, countOccurrences, distinct, factorOf, fromJsonLines, objectFromEntries, objectToCliArgs, objectToEntries, objectToKeys, toArray, toJsonLines, toNumberPrecision, toOrdinal, toUnixNewlines, toUnixPath, } from './lib/transform.js';
28
+ export { countOccurrences, distinct, factorOf, fromJsonLines, objectFromEntries, objectToCliArgs, objectToEntries, objectToKeys, toArray, toJsonLines, toNumberPrecision, toOrdinal, toUnixNewlines, toUnixPath, } from './lib/transform.js';
28
29
  export { verboseUtils } from './lib/verbose-utils.js';
29
- export { zodErrorMessageBuilder } from './lib/zod-validation.js';
30
+ export { parseSchema, SchemaValidationError } from './lib/zod-validation.js';
31
+ export { createRunnerFiles } from './lib/create-runner-files.js';
30
32
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAa,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,cAAc,GAIf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,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,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAA2B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMtD,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { CamelCaseToKebabCase, KebabCaseToCamelCase } from './types.js';
2
+ /**
3
+ * Converts a kebab-case string to camelCase.
4
+ * @param string - The kebab-case string to convert.
5
+ * @returns The camelCase string.
6
+ */
7
+ export declare function kebabCaseToCamelCase<T extends string>(string: T): KebabCaseToCamelCase<T>;
8
+ /**
9
+ * Converts a camelCase string to kebab-case.
10
+ * @param input - The camelCase string to convert.
11
+ * @returns The kebab-case string.
12
+ */
13
+ export declare function camelCaseToKebabCase<T extends string>(input: T): CamelCaseToKebabCase<T>;
14
+ /**
15
+ * Converts a string to Title Case.
16
+ * - Capitalizes the first letter of each major word.
17
+ * - Keeps articles, conjunctions, and short prepositions in lowercase unless they are the first word.
18
+ *
19
+ * @param input - The string to convert.
20
+ * @returns The formatted title case string.
21
+ */
22
+ export declare function toTitleCase(input: string): string;
23
+ /**
24
+ * Converts a string to Sentence Case.
25
+ * - Capitalizes only the first letter of the sentence.
26
+ * - Retains case of proper nouns.
27
+ *
28
+ * @param input - The string to convert.
29
+ * @returns The formatted sentence case string.
30
+ */
31
+ export declare function toSentenceCase(input: string): string;
32
+ export declare function capitalize<T extends string>(text: T): Capitalize<T>;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Converts a kebab-case string to camelCase.
3
+ * @param string - The kebab-case string to convert.
4
+ * @returns The camelCase string.
5
+ */
6
+ export function kebabCaseToCamelCase(string) {
7
+ return string
8
+ .split('-')
9
+ .map((segment, index) => (index === 0 ? segment : capitalize(segment)))
10
+ .join('');
11
+ }
12
+ /**
13
+ * Converts a camelCase string to kebab-case.
14
+ * @param input - The camelCase string to convert.
15
+ * @returns The kebab-case string.
16
+ */
17
+ export function camelCaseToKebabCase(input) {
18
+ return input
19
+ .replace(/([a-z])([A-Z])/g, '$1-$2') // Insert dash before uppercase letters
20
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2') // Handle consecutive uppercase letters
21
+ .toLowerCase();
22
+ }
23
+ /**
24
+ * Converts a string to Title Case.
25
+ * - Capitalizes the first letter of each major word.
26
+ * - Keeps articles, conjunctions, and short prepositions in lowercase unless they are the first word.
27
+ *
28
+ * @param input - The string to convert.
29
+ * @returns The formatted title case string.
30
+ */
31
+ export function toTitleCase(input) {
32
+ const minorWords = new Set([
33
+ 'a',
34
+ 'an',
35
+ 'the',
36
+ 'and',
37
+ 'or',
38
+ 'but',
39
+ 'for',
40
+ 'nor',
41
+ 'on',
42
+ 'in',
43
+ 'at',
44
+ 'to',
45
+ 'by',
46
+ 'of',
47
+ ]);
48
+ return input
49
+ .replace(/([a-z])([A-Z])/g, '$1 $2') // Split PascalCase & camelCase
50
+ .replace(/[_-]/g, ' ') // Replace kebab-case and snake_case with spaces
51
+ .replace(/(\d+)/g, ' $1 ') // Add spaces around numbers
52
+ .replace(/\s+/g, ' ') // Remove extra spaces
53
+ .trim()
54
+ .split(' ')
55
+ .map((word, index) => {
56
+ // Preserve uppercase acronyms (e.g., API, HTTP)
57
+ if (/^[A-Z]{2,}$/.test(word)) {
58
+ return word;
59
+ }
60
+ // Capitalize first word or non-minor words
61
+ if (index === 0 || !minorWords.has(word.toLowerCase())) {
62
+ return capitalize(word);
63
+ }
64
+ return word.toLowerCase();
65
+ })
66
+ .join(' ');
67
+ }
68
+ /**
69
+ * Converts a string to Sentence Case.
70
+ * - Capitalizes only the first letter of the sentence.
71
+ * - Retains case of proper nouns.
72
+ *
73
+ * @param input - The string to convert.
74
+ * @returns The formatted sentence case string.
75
+ */
76
+ export function toSentenceCase(input) {
77
+ return input
78
+ .replace(/([a-z])([A-Z])/g, '$1 $2') // Split PascalCase & camelCase
79
+ .replace(/[_-]/g, ' ') // Replace kebab-case and snake_case with spaces
80
+ .replace(/(\d+)/g, ' $1 ') // Add spaces around numbers
81
+ .replace(/\s+/g, ' ') // Remove extra spaces
82
+ .trim()
83
+ .toLowerCase()
84
+ .replace(/^(\w)/, match => match.toUpperCase()) // Capitalize first letter
85
+ .replace(/\b([A-Z]{2,})\b/g, match => match); // Preserve uppercase acronyms
86
+ }
87
+ export function capitalize(text) {
88
+ return `${text.charAt(0).toLocaleUpperCase()}${text.slice(1).toLowerCase()}`;
89
+ }
90
+ //# sourceMappingURL=case-conversions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-conversions.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/case-conversions.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAS;IAET,OAAO,MAAM;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;SACtE,IAAI,CAAC,EAAE,CAA4B,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAQ;IAER,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,uCAAuC;SAC3E,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,uCAAuC;SAChF,WAAW,EAA6B,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,GAAG;QACH,IAAI;QACJ,KAAK;QACL,KAAK;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,+BAA+B;SACnE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,gDAAgD;SACtE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,4BAA4B;SACtD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,sBAAsB;SAC3C,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,gDAAgD;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,+BAA+B;SACnE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,gDAAgD;SACtE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,4BAA4B;SACtD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,sBAAsB;SAC3C,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,0BAA0B;SACzE,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B;AAChF,CAAC;AAED,MAAM,UAAU,UAAU,CAAmB,IAAO;IAClD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAmB,CAAC;AAChG,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { RunnerFilesPaths } from '@code-pushup/models';
2
+ /**
3
+ * Function to create timestamp nested plugin runner files for config and output.
4
+ *
5
+ * @param pluginSlug - slug of the plugin name used as folder names to group same plugin configs
6
+ * @param configJSON - config of the plugin runner as JSON.
7
+ */
8
+ export declare function createRunnerFiles(pluginSlug: string, configJSON: string): Promise<RunnerFilesPaths>;
@@ -0,0 +1,22 @@
1
+ import { writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { ensureDirectoryExists, pluginWorkDir } from './file-system.js';
4
+ /**
5
+ * Function to create timestamp nested plugin runner files for config and output.
6
+ *
7
+ * @param pluginSlug - slug of the plugin name used as folder names to group same plugin configs
8
+ * @param configJSON - config of the plugin runner as JSON.
9
+ */
10
+ export async function createRunnerFiles(pluginSlug, configJSON) {
11
+ const timestamp = Date.now().toString();
12
+ const runnerWorkDir = path.join(pluginWorkDir(pluginSlug), timestamp);
13
+ const runnerConfigPath = path.join(runnerWorkDir, 'plugin-config.json');
14
+ const runnerOutputPath = path.join(runnerWorkDir, 'runner-output.json');
15
+ await ensureDirectoryExists(path.dirname(runnerOutputPath));
16
+ await writeFile(runnerConfigPath, configJSON);
17
+ return {
18
+ runnerConfigPath,
19
+ runnerOutputPath,
20
+ };
21
+ }
22
+ //# sourceMappingURL=create-runner-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-runner-files.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/create-runner-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAExE,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAE9C,OAAO;QACL,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { gray } from 'ansis';
1
2
  import { spawn, } from 'node:child_process';
3
+ import { ui } from './logging.js';
2
4
  import { calcDuration } from './reports/utils.js';
3
5
  /**
4
6
  * Error class for process errors.
@@ -62,6 +64,8 @@ export function executeProcess(cfg) {
62
64
  const { onStdout, onStderr, onError, onComplete } = observer ?? {};
63
65
  const date = new Date().toISOString();
64
66
  const start = performance.now();
67
+ const logCommand = [command, ...(args || [])].join(' ');
68
+ ui().logger.log(gray(`Executing command:\n${logCommand}\nIn working directory:\n${cfg.cwd}`));
65
69
  return new Promise((resolve, reject) => {
66
70
  // shell:true tells Windows to use shell command for spawning a child process
67
71
  const spawnedProcess = spawn(command, args ?? [], {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-process.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/execute-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-process.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/execute-process.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { capitalize } from '../transform.js';
1
+ import { capitalize } from '../case-conversions.js';
2
2
  export function rowToStringArray({ rows, columns = [] }) {
3
3
  if (Array.isArray(rows.at(0)) && typeof columns.at(0) === 'object') {
4
4
  throw new TypeError('Column can`t be object when rows are primitive values');
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/text-formats/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/text-formats/table.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export type CliArgsObject<T extends object = Record<string, ArgumentValue>> = T
14
14
  * Converts an object with different types of values into an array of command-line arguments.
15
15
  *
16
16
  * @example
17
- * const args = objectToProcessArgs({
17
+ * const args = objectToCliArgs({
18
18
  * _: ['node', 'index.js'], // node index.js
19
19
  * name: 'Juanita', // --name=Juanita
20
20
  * formats: ['json', 'md'] // --format=json --format=md
@@ -25,7 +25,6 @@ export declare function toUnixPath(path: string): string;
25
25
  export declare function toUnixNewlines(text: string): string;
26
26
  export declare function fromJsonLines<T = unknown>(jsonLines: string): T;
27
27
  export declare function toJsonLines<T>(json: T[]): string;
28
- export declare function capitalize<T extends string>(text: T): Capitalize<T>;
29
28
  export declare function toNumberPrecision(value: number, decimalPlaces: number): number;
30
29
  export declare function toOrdinal(value: number): string;
31
30
  export {};
@@ -34,7 +34,7 @@ export function factorOf(items, filterFn) {
34
34
  * Converts an object with different types of values into an array of command-line arguments.
35
35
  *
36
36
  * @example
37
- * const args = objectToProcessArgs({
37
+ * const args = objectToCliArgs({
38
38
  * _: ['node', 'index.js'], // node index.js
39
39
  * name: 'Juanita', // --name=Juanita
40
40
  * formats: ['json', 'md'] // --format=json --format=md
@@ -88,9 +88,6 @@ export function fromJsonLines(jsonLines) {
88
88
  export function toJsonLines(json) {
89
89
  return json.map(item => JSON.stringify(item)).join('\n');
90
90
  }
91
- export function capitalize(text) {
92
- return `${text.charAt(0).toLocaleUpperCase()}${text.slice(1)}`;
93
- }
94
91
  export function toNumberPrecision(value, decimalPlaces) {
95
92
  return Number(`${Math.round(Number.parseFloat(`${value}e${decimalPlaces}`))}e-${decimalPlaces}`);
96
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,UAAU,OAAO,CAAI,GAAY;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAmB,GAAM;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAmB,GAAM;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAA4B,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAA2B,OAAiB;IAC3E,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAiB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAW;IAEX,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5D,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAsC,KAAU;IACtE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,GAAM;IACjC,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,KAAU,EAAE,QAA2B;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAClD,qEAAqE;IACrE,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;AACvE,CAAC;AAQD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAE7B,MAAyB;IACzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,sBAAsB;QACtB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,8BAA8B;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,6BAA6B;QAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAsC,CAAC,CAAC,OAAO;YACnE,4DAA4D;YAC5D,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,MAAM,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,KAAK,YAAY,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAAc,SAAiB;IAC1D,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,IAAS;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,UAAU,CAAmB,IAAO;IAClD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CACvD,CAAC,CACF,EAAmB,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,aAAqB;IAErB,OAAO,MAAM,CACX,GAAG,IAAI,CAAC,KAAK,CACX,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC,CAC/C,KAAK,aAAa,EAAE,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,wDAAwD;IACxD,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IACD,uDAAuD;IAEvD,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/transform.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,5 @@ export type WithRequired<T, K extends keyof T> = Prettify<Omit<T, K> & Required<
10
10
  export type Prettify<T> = {
11
11
  [K in keyof T]: T[K];
12
12
  };
13
+ export type CamelCaseToKebabCase<T extends string> = T extends `${infer First}${infer Rest}` ? Rest extends Uncapitalize<Rest> ? `${Lowercase<First>}${CamelCaseToKebabCase<Rest>}` : `${Lowercase<First>}-${CamelCaseToKebabCase<Rest>}` : T;
14
+ export type KebabCaseToCamelCase<T extends string> = T extends `${infer First}-${infer Rest}` ? `${First}${Capitalize<KebabCaseToCamelCase<Rest>>}` : T;
@@ -1,3 +1,11 @@
1
- import type { MessageBuilder } from 'zod-validation-error';
1
+ import type { z } from 'zod';
2
+ type SchemaValidationContext = {
3
+ schemaType: string;
4
+ sourcePath?: string;
5
+ };
6
+ export declare class SchemaValidationError extends Error {
7
+ constructor({ schemaType, sourcePath }: SchemaValidationContext, error: Error);
8
+ }
2
9
  export declare function formatErrorPath(errorPath: (string | number)[]): string;
3
- export declare const zodErrorMessageBuilder: MessageBuilder;
10
+ export declare function parseSchema<T extends z.ZodTypeAny>(schema: T, data: z.input<T>, { schemaType, sourcePath }: SchemaValidationContext): z.output<T>;
11
+ export {};
@@ -1,4 +1,17 @@
1
1
  import { bold, red } from 'ansis';
2
+ import path from 'node:path';
3
+ import { fromError, isZodErrorLike, } from 'zod-validation-error';
4
+ export class SchemaValidationError extends Error {
5
+ constructor({ schemaType, sourcePath }, error) {
6
+ const validationError = fromError(error, {
7
+ messageBuilder: zodErrorMessageBuilder,
8
+ });
9
+ const pathDetails = sourcePath
10
+ ? ` in ${bold(path.relative(process.cwd(), sourcePath))}`
11
+ : '';
12
+ super(`Failed parsing ${schemaType}${pathDetails}.\n\n${validationError.message}`);
13
+ }
14
+ }
2
15
  export function formatErrorPath(errorPath) {
3
16
  return errorPath
4
17
  .map((key, index) => {
@@ -9,7 +22,7 @@ export function formatErrorPath(errorPath) {
9
22
  })
10
23
  .join('');
11
24
  }
12
- export const zodErrorMessageBuilder = issues => issues
25
+ const zodErrorMessageBuilder = issues => issues
13
26
  .map(issue => {
14
27
  const formattedMessage = red(`${bold(issue.code)}: ${issue.message}`);
15
28
  const formattedPath = formatErrorPath(issue.path);
@@ -19,4 +32,15 @@ export const zodErrorMessageBuilder = issues => issues
19
32
  return `${formattedMessage}\n`;
20
33
  })
21
34
  .join('\n');
35
+ export function parseSchema(schema, data, { schemaType, sourcePath }) {
36
+ try {
37
+ return schema.parse(data);
38
+ }
39
+ catch (error) {
40
+ if (isZodErrorLike(error)) {
41
+ throw new SchemaValidationError({ schemaType, sourcePath }, error);
42
+ }
43
+ throw error;
44
+ }
45
+ }
22
46
  //# sourceMappingURL=zod-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-validation.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/zod-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGlC,MAAM,UAAU,eAAe,CAAC,SAA8B;IAC5D,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,GAAG,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAmB,MAAM,CAAC,EAAE,CAC7D,MAAM;KACH,GAAG,CAAC,KAAK,CAAC,EAAE;IACX,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,uBAAuB,IAAI,CAAC,aAAa,CAAC,KAAK,gBAAgB,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,GAAG,gBAAgB,IAAI,CAAC;AACjC,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"zod-validation.js","sourceRoot":"","sources":["../../../../../packages/utils/src/lib/zod-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAEL,SAAS,EACT,cAAc,GACf,MAAM,sBAAsB,CAAC;AAO9B,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YACE,EAAE,UAAU,EAAE,UAAU,EAA2B,EACnD,KAAY;QAEZ,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,EAAE;YACvC,cAAc,EAAE,sBAAsB;SACvC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CACH,kBAAkB,UAAU,GAAG,WAAW,QAAQ,eAAe,CAAC,OAAO,EAAE,CAC5E,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,SAA8B;IAC5D,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,GAAG,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,sBAAsB,GAAmB,MAAM,CAAC,EAAE,CACtD,MAAM;KACH,GAAG,CAAC,KAAK,CAAC,EAAE;IACX,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,uBAAuB,IAAI,CAAC,aAAa,CAAC,KAAK,gBAAgB,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,GAAG,gBAAgB,IAAI,CAAC;AACjC,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,UAAU,WAAW,CACzB,MAAS,EACT,IAAgB,EAChB,EAAE,UAAU,EAAE,UAAU,EAA2B;IAEnD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}