@alextheman/utility 5.1.0 → 5.1.1

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.
@@ -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) {
@@ -691,6 +710,7 @@ async function setupPackageEndToEnd(temporaryPath, packageManager, moduleType, o
691
710
  exports.DependencyGroup = DependencyGroup;
692
711
  exports.ModuleType = ModuleType;
693
712
  exports.PackageManager = PackageManager;
713
+ exports.getDependenciesFromGroup = getDependenciesFromGroup;
694
714
  exports.getExpectedTgzName = getExpectedTgzName;
695
715
  exports.getPackageJsonContents = getPackageJsonContents;
696
716
  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.
@@ -104,4 +117,4 @@ declare function setupPackageEndToEnd(temporaryPath: string, packageManager: Pac
104
117
  cwd: string;
105
118
  }>>;
106
119
  //#endregion
107
- export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
120
+ export { DependencyGroup, type IsTypeArgumentString, ModuleType, PackageManager, getDependenciesFromGroup, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello, setupPackageEndToEnd };
@@ -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.
@@ -105,4 +118,4 @@ declare function setupPackageEndToEnd(temporaryPath: string, packageManager: Pac
105
118
  cwd: string;
106
119
  }>>;
107
120
  //#endregion
108
- 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 };
@@ -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) {
@@ -658,4 +677,4 @@ async function setupPackageEndToEnd(temporaryPath, packageManager, moduleType, o
658
677
  }
659
678
 
660
679
  //#endregion
661
- export { DependencyGroup, ModuleType, PackageManager, getExpectedTgzName, getPackageJsonContents, getPackageJsonPath, packageJsonNotFoundError, parseJsonFromStdout, sayHello_default as sayHello, setupPackageEndToEnd };
680
+ 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.0",
3
+ "version": "5.1.1",
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.0",
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",