@alextheman/utility 5.1.0 → 5.1.2
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/dist/internal/index.cjs +23 -1
- package/dist/internal/index.d.cts +15 -1
- package/dist/internal/index.d.ts +16 -2
- package/dist/internal/index.js +23 -2
- package/package.json +2 -2
package/dist/internal/index.cjs
CHANGED
|
@@ -26,10 +26,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
}) : target, mod));
|
|
27
27
|
|
|
28
28
|
//#endregion
|
|
29
|
-
let execa = require("execa");
|
|
30
29
|
let zod = require("zod");
|
|
31
30
|
zod = __toESM(zod);
|
|
32
31
|
require("libsodium-wrappers");
|
|
32
|
+
let execa = require("execa");
|
|
33
33
|
let node_fs_promises = require("node:fs/promises");
|
|
34
34
|
let node_path = require("node:path");
|
|
35
35
|
node_path = __toESM(node_path);
|
|
@@ -605,6 +605,25 @@ const VersionType = {
|
|
|
605
605
|
PATCH: "patch"
|
|
606
606
|
};
|
|
607
607
|
|
|
608
|
+
//#endregion
|
|
609
|
+
//#region src/internal/getDependenciesFromGroup.ts
|
|
610
|
+
/**
|
|
611
|
+
* Get the dependencies from a given dependency group in `package.json`.
|
|
612
|
+
*
|
|
613
|
+
* @category Miscellaneous
|
|
614
|
+
*
|
|
615
|
+
* @param packageInfo - The data coming from `package.json`.
|
|
616
|
+
* @param dependencyGroup - The group to get dependency information about (can be `dependencies` or `devDependencies`).
|
|
617
|
+
*
|
|
618
|
+
* @returns A record consisting of the package names and version ranges from the given dependency group.
|
|
619
|
+
*/
|
|
620
|
+
function getDependenciesFromGroup(packageInfo, dependencyGroup) {
|
|
621
|
+
return {
|
|
622
|
+
dependencies: parseZodSchema(zod.default.record(zod.default.string(), zod.default.string()), packageInfo.dependencies ?? {}),
|
|
623
|
+
devDependencies: parseZodSchema(zod.default.record(zod.default.string(), zod.default.string()), packageInfo.devDependencies ?? {})
|
|
624
|
+
}[dependencyGroup];
|
|
625
|
+
}
|
|
626
|
+
|
|
608
627
|
//#endregion
|
|
609
628
|
//#region src/internal/getExpectedTgzName.ts
|
|
610
629
|
async function getExpectedTgzName(packagePath, packageManager) {
|
|
@@ -683,6 +702,8 @@ async function setupPackageEndToEnd(temporaryPath, packageManager, moduleType, o
|
|
|
683
702
|
if (packageInfo === null) throw packageJsonNotFoundError(temporaryPath);
|
|
684
703
|
packageInfo.type = moduleType === ModuleType.TYPESCRIPT ? ModuleType.ES_MODULES : moduleType;
|
|
685
704
|
await (0, node_fs_promises.writeFile)(node_path.default.join(temporaryPath, "package.json"), JSON.stringify(packageInfo, null, 2));
|
|
705
|
+
if (options?.additionalDependencies?.dependencies?.length) await runCommandInTempDirectory`${packageManager} install ${options.additionalDependencies.dependencies.join(" ")}`;
|
|
706
|
+
if (options?.additionalDependencies?.devDependencies?.length) await runCommandInTempDirectory`${packageManager} install --save-dev ${options.additionalDependencies.devDependencies.join(" ")}`;
|
|
686
707
|
await runCommandInTempDirectory`${packageManager} install ${dependencyGroup === "devDependencies" ? "--save-dev" : "--save-prod"} ${node_path.default.join(temporaryPath, tgzFileName)}`;
|
|
687
708
|
return runCommandInTempDirectory;
|
|
688
709
|
}
|
|
@@ -691,6 +712,7 @@ async function setupPackageEndToEnd(temporaryPath, packageManager, moduleType, o
|
|
|
691
712
|
exports.DependencyGroup = DependencyGroup;
|
|
692
713
|
exports.ModuleType = ModuleType;
|
|
693
714
|
exports.PackageManager = PackageManager;
|
|
715
|
+
exports.getDependenciesFromGroup = getDependenciesFromGroup;
|
|
694
716
|
exports.getExpectedTgzName = getExpectedTgzName;
|
|
695
717
|
exports.getPackageJsonContents = getPackageJsonContents;
|
|
696
718
|
exports.getPackageJsonPath = getPackageJsonPath;
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { ExecaMethod } from "execa";
|
|
2
2
|
|
|
3
|
+
//#region src/internal/getDependenciesFromGroup.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Get the dependencies from a given dependency group in `package.json`.
|
|
6
|
+
*
|
|
7
|
+
* @category Miscellaneous
|
|
8
|
+
*
|
|
9
|
+
* @param packageInfo - The data coming from `package.json`.
|
|
10
|
+
* @param dependencyGroup - The group to get dependency information about (can be `dependencies` or `devDependencies`).
|
|
11
|
+
*
|
|
12
|
+
* @returns A record consisting of the package names and version ranges from the given dependency group.
|
|
13
|
+
*/
|
|
14
|
+
declare function getDependenciesFromGroup(packageInfo: Record<string, unknown>, dependencyGroup: DependencyGroup): Record<string, string>;
|
|
15
|
+
//#endregion
|
|
3
16
|
//#region src/root/types/RecordKey.d.ts
|
|
4
17
|
/**
|
|
5
18
|
* Represents the native Record's possible key type.
|
|
@@ -99,9 +112,10 @@ declare function parseJsonFromStdout(stdout: string): Record<string, unknown>;
|
|
|
99
112
|
//#region src/internal/setupPackageEndToEnd.d.ts
|
|
100
113
|
interface SetupPackageEndToEndOptions {
|
|
101
114
|
dependencyGroup?: DependencyGroup;
|
|
115
|
+
additionalDependencies?: Record<DependencyGroup, string[]>;
|
|
102
116
|
}
|
|
103
117
|
declare function setupPackageEndToEnd(temporaryPath: string, packageManager: PackageManager, moduleType: ModuleType, options?: SetupPackageEndToEndOptions): Promise<ExecaMethod<{
|
|
104
118
|
cwd: string;
|
|
105
119
|
}>>;
|
|
106
120
|
//#endregion
|
|
107
|
-
export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
|
|
121
|
+
export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getDependenciesFromGroup, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import { ExecaMethod } from "execa";
|
|
2
1
|
import z from "zod";
|
|
2
|
+
import { ExecaMethod } from "execa";
|
|
3
3
|
|
|
4
|
+
//#region src/internal/getDependenciesFromGroup.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Get the dependencies from a given dependency group in `package.json`.
|
|
7
|
+
*
|
|
8
|
+
* @category Miscellaneous
|
|
9
|
+
*
|
|
10
|
+
* @param packageInfo - The data coming from `package.json`.
|
|
11
|
+
* @param dependencyGroup - The group to get dependency information about (can be `dependencies` or `devDependencies`).
|
|
12
|
+
*
|
|
13
|
+
* @returns A record consisting of the package names and version ranges from the given dependency group.
|
|
14
|
+
*/
|
|
15
|
+
declare function getDependenciesFromGroup(packageInfo: Record<string, unknown>, dependencyGroup: DependencyGroup): Record<string, string>;
|
|
16
|
+
//#endregion
|
|
4
17
|
//#region src/root/types/RecordKey.d.ts
|
|
5
18
|
/**
|
|
6
19
|
* Represents the native Record's possible key type.
|
|
@@ -100,9 +113,10 @@ declare function parseJsonFromStdout(stdout: string): Record<string, unknown>;
|
|
|
100
113
|
//#region src/internal/setupPackageEndToEnd.d.ts
|
|
101
114
|
interface SetupPackageEndToEndOptions {
|
|
102
115
|
dependencyGroup?: DependencyGroup;
|
|
116
|
+
additionalDependencies?: Record<DependencyGroup, string[]>;
|
|
103
117
|
}
|
|
104
118
|
declare function setupPackageEndToEnd(temporaryPath: string, packageManager: PackageManager, moduleType: ModuleType, options?: SetupPackageEndToEndOptions): Promise<ExecaMethod<{
|
|
105
119
|
cwd: string;
|
|
106
120
|
}>>;
|
|
107
121
|
//#endregion
|
|
108
|
-
export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
|
|
122
|
+
export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getDependenciesFromGroup, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
|
package/dist/internal/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { execa } from "execa";
|
|
2
1
|
import z from "zod";
|
|
3
2
|
import "libsodium-wrappers";
|
|
3
|
+
import { execa } from "execa";
|
|
4
4
|
import { readFile, writeFile } from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
@@ -575,6 +575,25 @@ const VersionType = {
|
|
|
575
575
|
PATCH: "patch"
|
|
576
576
|
};
|
|
577
577
|
|
|
578
|
+
//#endregion
|
|
579
|
+
//#region src/internal/getDependenciesFromGroup.ts
|
|
580
|
+
/**
|
|
581
|
+
* Get the dependencies from a given dependency group in `package.json`.
|
|
582
|
+
*
|
|
583
|
+
* @category Miscellaneous
|
|
584
|
+
*
|
|
585
|
+
* @param packageInfo - The data coming from `package.json`.
|
|
586
|
+
* @param dependencyGroup - The group to get dependency information about (can be `dependencies` or `devDependencies`).
|
|
587
|
+
*
|
|
588
|
+
* @returns A record consisting of the package names and version ranges from the given dependency group.
|
|
589
|
+
*/
|
|
590
|
+
function getDependenciesFromGroup(packageInfo, dependencyGroup) {
|
|
591
|
+
return {
|
|
592
|
+
dependencies: parseZodSchema(z.record(z.string(), z.string()), packageInfo.dependencies ?? {}),
|
|
593
|
+
devDependencies: parseZodSchema(z.record(z.string(), z.string()), packageInfo.devDependencies ?? {})
|
|
594
|
+
}[dependencyGroup];
|
|
595
|
+
}
|
|
596
|
+
|
|
578
597
|
//#endregion
|
|
579
598
|
//#region src/internal/getExpectedTgzName.ts
|
|
580
599
|
async function getExpectedTgzName(packagePath, packageManager) {
|
|
@@ -653,9 +672,11 @@ async function setupPackageEndToEnd(temporaryPath, packageManager, moduleType, o
|
|
|
653
672
|
if (packageInfo === null) throw packageJsonNotFoundError(temporaryPath);
|
|
654
673
|
packageInfo.type = moduleType === ModuleType.TYPESCRIPT ? ModuleType.ES_MODULES : moduleType;
|
|
655
674
|
await writeFile(path.join(temporaryPath, "package.json"), JSON.stringify(packageInfo, null, 2));
|
|
675
|
+
if (options?.additionalDependencies?.dependencies?.length) await runCommandInTempDirectory`${packageManager} install ${options.additionalDependencies.dependencies.join(" ")}`;
|
|
676
|
+
if (options?.additionalDependencies?.devDependencies?.length) await runCommandInTempDirectory`${packageManager} install --save-dev ${options.additionalDependencies.devDependencies.join(" ")}`;
|
|
656
677
|
await runCommandInTempDirectory`${packageManager} install ${dependencyGroup === "devDependencies" ? "--save-dev" : "--save-prod"} ${path.join(temporaryPath, tgzFileName)}`;
|
|
657
678
|
return runCommandInTempDirectory;
|
|
658
679
|
}
|
|
659
680
|
|
|
660
681
|
//#endregion
|
|
661
|
-
export { DependencyGroup, ModuleType, PackageManager, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello_default as sayHello, setupPackageEndToEnd };
|
|
682
|
+
export { DependencyGroup, ModuleType, PackageManager, getDependenciesFromGroup, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello_default as sayHello, setupPackageEndToEnd };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alextheman/utility",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.2",
|
|
4
4
|
"description": "Helpful utility functions.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"zod": "^4.3.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@alextheman/eslint-plugin": "^5.7.
|
|
39
|
+
"@alextheman/eslint-plugin": "^5.7.1",
|
|
40
40
|
"@types/node": "^25.2.3",
|
|
41
41
|
"alex-c-line": "^1.26.2",
|
|
42
42
|
"dotenv-cli": "^11.0.0",
|