library-skills 0.0.6 → 0.0.7

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": "library-skills",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Library Skills, AI Agents using libraries, as intended, always up to date.",
5
5
  "type": "module",
6
6
  "exports": {
package/ts/dist/cli.js CHANGED
@@ -476,21 +476,26 @@ function getPythonTopLevelDeps(projectRoot) {
476
476
  }
477
477
  const deps = /* @__PURE__ */ new Set();
478
478
  const project = data["project"];
479
- if (!isRecord2(project)) {
480
- return deps;
481
- }
482
- const dependencies = project["dependencies"];
483
- if (Array.isArray(dependencies)) {
484
- extractDepsFromSpecs(dependencies, deps);
485
- }
486
- const optionalDependencies = project["optional-dependencies"];
487
- if (isRecord2(optionalDependencies)) {
488
- for (const groupDependencies of Object.values(optionalDependencies)) {
489
- if (Array.isArray(groupDependencies)) {
490
- extractDepsFromSpecs(groupDependencies, deps);
479
+ if (isRecord2(project)) {
480
+ const dependencies = project["dependencies"];
481
+ if (Array.isArray(dependencies)) {
482
+ extractDepsFromSpecs(dependencies, deps);
483
+ }
484
+ const optionalDependencies = project["optional-dependencies"];
485
+ if (isRecord2(optionalDependencies)) {
486
+ for (const groupDependencies of Object.values(optionalDependencies)) {
487
+ if (Array.isArray(groupDependencies)) {
488
+ extractDepsFromSpecs(groupDependencies, deps);
489
+ }
491
490
  }
492
491
  }
493
492
  }
493
+ const dependencyGroups = data["dependency-groups"];
494
+ if (isRecord2(dependencyGroups)) {
495
+ for (const groupName of Object.keys(dependencyGroups)) {
496
+ extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, /* @__PURE__ */ new Set());
497
+ }
498
+ }
494
499
  return deps;
495
500
  }
496
501
  function getNodeTopLevelDeps(projectRoot) {
@@ -545,6 +550,31 @@ function extractDepsFromSpecs(depSpecs, deps) {
545
550
  }
546
551
  }
547
552
  }
553
+ function extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, visited) {
554
+ if (visited.has(groupName)) {
555
+ return;
556
+ }
557
+ visited.add(groupName);
558
+ if (typeof groupName !== "string") {
559
+ return;
560
+ }
561
+ const groupDependencies = dependencyGroups[groupName];
562
+ if (!Array.isArray(groupDependencies)) {
563
+ return;
564
+ }
565
+ extractDepsFromSpecs(groupDependencies, deps);
566
+ for (const groupDependency of groupDependencies) {
567
+ if (!isRecord2(groupDependency)) {
568
+ continue;
569
+ }
570
+ extractDepsFromDependencyGroup(
571
+ groupDependency["include-group"],
572
+ dependencyGroups,
573
+ deps,
574
+ visited
575
+ );
576
+ }
577
+ }
548
578
  function isRecord2(value) {
549
579
  return typeof value === "object" && value !== null && !Array.isArray(value);
550
580
  }
package/ts/dist/deps.cjs CHANGED
@@ -53,21 +53,26 @@ function getPythonTopLevelDeps(projectRoot) {
53
53
  }
54
54
  const deps = /* @__PURE__ */ new Set();
55
55
  const project = data["project"];
56
- if (!isRecord(project)) {
57
- return deps;
58
- }
59
- const dependencies = project["dependencies"];
60
- if (Array.isArray(dependencies)) {
61
- extractDepsFromSpecs(dependencies, deps);
62
- }
63
- const optionalDependencies = project["optional-dependencies"];
64
- if (isRecord(optionalDependencies)) {
65
- for (const groupDependencies of Object.values(optionalDependencies)) {
66
- if (Array.isArray(groupDependencies)) {
67
- extractDepsFromSpecs(groupDependencies, deps);
56
+ if (isRecord(project)) {
57
+ const dependencies = project["dependencies"];
58
+ if (Array.isArray(dependencies)) {
59
+ extractDepsFromSpecs(dependencies, deps);
60
+ }
61
+ const optionalDependencies = project["optional-dependencies"];
62
+ if (isRecord(optionalDependencies)) {
63
+ for (const groupDependencies of Object.values(optionalDependencies)) {
64
+ if (Array.isArray(groupDependencies)) {
65
+ extractDepsFromSpecs(groupDependencies, deps);
66
+ }
68
67
  }
69
68
  }
70
69
  }
70
+ const dependencyGroups = data["dependency-groups"];
71
+ if (isRecord(dependencyGroups)) {
72
+ for (const groupName of Object.keys(dependencyGroups)) {
73
+ extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, /* @__PURE__ */ new Set());
74
+ }
75
+ }
71
76
  return deps;
72
77
  }
73
78
  function getNodeTopLevelDeps(projectRoot) {
@@ -122,11 +127,37 @@ function extractDepsFromSpecs(depSpecs, deps) {
122
127
  }
123
128
  }
124
129
  }
130
+ function extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, visited) {
131
+ if (visited.has(groupName)) {
132
+ return;
133
+ }
134
+ visited.add(groupName);
135
+ if (typeof groupName !== "string") {
136
+ return;
137
+ }
138
+ const groupDependencies = dependencyGroups[groupName];
139
+ if (!Array.isArray(groupDependencies)) {
140
+ return;
141
+ }
142
+ extractDepsFromSpecs(groupDependencies, deps);
143
+ for (const groupDependency of groupDependencies) {
144
+ if (!isRecord(groupDependency)) {
145
+ continue;
146
+ }
147
+ extractDepsFromDependencyGroup(
148
+ groupDependency["include-group"],
149
+ dependencyGroups,
150
+ deps,
151
+ visited
152
+ );
153
+ }
154
+ }
125
155
  function isRecord(value) {
126
156
  return typeof value === "object" && value !== null && !Array.isArray(value);
127
157
  }
128
158
  var testing = {
129
159
  extractDepsFromSpecs,
160
+ extractDepsFromDependencyGroup,
130
161
  isRecord
131
162
  };
132
163
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,9 +2,11 @@ declare function getPythonTopLevelDeps(projectRoot: string): Set<string> | null;
2
2
  declare function getNodeTopLevelDeps(projectRoot: string): Set<string> | null;
3
3
  declare function getTopLevelDeps(projectRoot: string): Set<string> | null;
4
4
  declare function extractDepsFromSpecs(depSpecs: unknown[], deps: Set<string>): void;
5
+ declare function extractDepsFromDependencyGroup(groupName: unknown, dependencyGroups: Record<string, unknown>, deps: Set<string>, visited: Set<unknown>): void;
5
6
  declare function isRecord(value: unknown): value is Record<string, unknown>;
6
7
  declare const testing: {
7
8
  extractDepsFromSpecs: typeof extractDepsFromSpecs;
9
+ extractDepsFromDependencyGroup: typeof extractDepsFromDependencyGroup;
8
10
  isRecord: typeof isRecord;
9
11
  };
10
12
 
package/ts/dist/deps.d.ts CHANGED
@@ -2,9 +2,11 @@ declare function getPythonTopLevelDeps(projectRoot: string): Set<string> | null;
2
2
  declare function getNodeTopLevelDeps(projectRoot: string): Set<string> | null;
3
3
  declare function getTopLevelDeps(projectRoot: string): Set<string> | null;
4
4
  declare function extractDepsFromSpecs(depSpecs: unknown[], deps: Set<string>): void;
5
+ declare function extractDepsFromDependencyGroup(groupName: unknown, dependencyGroups: Record<string, unknown>, deps: Set<string>, visited: Set<unknown>): void;
5
6
  declare function isRecord(value: unknown): value is Record<string, unknown>;
6
7
  declare const testing: {
7
8
  extractDepsFromSpecs: typeof extractDepsFromSpecs;
9
+ extractDepsFromDependencyGroup: typeof extractDepsFromDependencyGroup;
8
10
  isRecord: typeof isRecord;
9
11
  };
10
12
 
package/ts/dist/deps.js CHANGED
@@ -19,21 +19,26 @@ function getPythonTopLevelDeps(projectRoot) {
19
19
  }
20
20
  const deps = /* @__PURE__ */ new Set();
21
21
  const project = data["project"];
22
- if (!isRecord(project)) {
23
- return deps;
24
- }
25
- const dependencies = project["dependencies"];
26
- if (Array.isArray(dependencies)) {
27
- extractDepsFromSpecs(dependencies, deps);
28
- }
29
- const optionalDependencies = project["optional-dependencies"];
30
- if (isRecord(optionalDependencies)) {
31
- for (const groupDependencies of Object.values(optionalDependencies)) {
32
- if (Array.isArray(groupDependencies)) {
33
- extractDepsFromSpecs(groupDependencies, deps);
22
+ if (isRecord(project)) {
23
+ const dependencies = project["dependencies"];
24
+ if (Array.isArray(dependencies)) {
25
+ extractDepsFromSpecs(dependencies, deps);
26
+ }
27
+ const optionalDependencies = project["optional-dependencies"];
28
+ if (isRecord(optionalDependencies)) {
29
+ for (const groupDependencies of Object.values(optionalDependencies)) {
30
+ if (Array.isArray(groupDependencies)) {
31
+ extractDepsFromSpecs(groupDependencies, deps);
32
+ }
34
33
  }
35
34
  }
36
35
  }
36
+ const dependencyGroups = data["dependency-groups"];
37
+ if (isRecord(dependencyGroups)) {
38
+ for (const groupName of Object.keys(dependencyGroups)) {
39
+ extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, /* @__PURE__ */ new Set());
40
+ }
41
+ }
37
42
  return deps;
38
43
  }
39
44
  function getNodeTopLevelDeps(projectRoot) {
@@ -88,11 +93,37 @@ function extractDepsFromSpecs(depSpecs, deps) {
88
93
  }
89
94
  }
90
95
  }
96
+ function extractDepsFromDependencyGroup(groupName, dependencyGroups, deps, visited) {
97
+ if (visited.has(groupName)) {
98
+ return;
99
+ }
100
+ visited.add(groupName);
101
+ if (typeof groupName !== "string") {
102
+ return;
103
+ }
104
+ const groupDependencies = dependencyGroups[groupName];
105
+ if (!Array.isArray(groupDependencies)) {
106
+ return;
107
+ }
108
+ extractDepsFromSpecs(groupDependencies, deps);
109
+ for (const groupDependency of groupDependencies) {
110
+ if (!isRecord(groupDependency)) {
111
+ continue;
112
+ }
113
+ extractDepsFromDependencyGroup(
114
+ groupDependency["include-group"],
115
+ dependencyGroups,
116
+ deps,
117
+ visited
118
+ );
119
+ }
120
+ }
91
121
  function isRecord(value) {
92
122
  return typeof value === "object" && value !== null && !Array.isArray(value);
93
123
  }
94
124
  var testing = {
95
125
  extractDepsFromSpecs,
126
+ extractDepsFromDependencyGroup,
96
127
  isRecord
97
128
  };
98
129
  export {