@happyvertical/smrt-cli 0.38.12 → 0.38.14
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.
|
@@ -6022,13 +6022,18 @@ async function loadDependencyManifests(rootManifest, projectRoot, findings) {
|
|
|
6022
6022
|
if (!next?.dependency || loaded.has(next.dependency)) continue;
|
|
6023
6023
|
const loadedDependency = await loadDependencyManifest(next.dependency, next.issuerResolverPath);
|
|
6024
6024
|
if (!loadedDependency) {
|
|
6025
|
+
if (next.parentDependency) {
|
|
6026
|
+
addFinding(findings, "warning", "missing-nested-dependency-manifest", `Nested SMRT dependency "${next.dependency}" declared by "${next.parentDependency}" does not expose a runtime manifest; skipping it.`);
|
|
6027
|
+
continue;
|
|
6028
|
+
}
|
|
6025
6029
|
addFinding(findings, "error", "missing-dependency-manifest", `Declared SMRT dependency "${next.dependency}" does not expose a runtime manifest.`);
|
|
6026
6030
|
continue;
|
|
6027
6031
|
}
|
|
6028
6032
|
loaded.set(next.dependency, loadedDependency);
|
|
6029
6033
|
for (const nestedDependency of loadedDependency.manifest.smrtDependencies || []) if (!loaded.has(nestedDependency)) queue.push({
|
|
6030
6034
|
dependency: nestedDependency,
|
|
6031
|
-
issuerResolverPath: loadedDependency.resolverPath
|
|
6035
|
+
issuerResolverPath: loadedDependency.resolverPath,
|
|
6036
|
+
parentDependency: next.dependency
|
|
6032
6037
|
});
|
|
6033
6038
|
}
|
|
6034
6039
|
return Array.from(loaded.values(), (entry) => entry.manifest);
|
|
@@ -6045,8 +6050,28 @@ function resolvePackageJsonPath(packageName, issuerResolverPath) {
|
|
|
6045
6050
|
];
|
|
6046
6051
|
for (const candidate of resolutionCandidates) try {
|
|
6047
6052
|
const packageJsonPath = findPackageJsonForResolvedEntry(requireFromIssuer.resolve(candidate), packageName);
|
|
6048
|
-
if (packageJsonPath) return packageJsonPath;
|
|
6053
|
+
if (packageJsonPath) return realpathSync(packageJsonPath);
|
|
6054
|
+
} catch {}
|
|
6055
|
+
return findPackageJsonFromNodeModules(packageName, issuerResolverPath);
|
|
6056
|
+
}
|
|
6057
|
+
function findPackageJsonFromNodeModules(packageName, issuerResolverPath) {
|
|
6058
|
+
const packageParts = packageName.split("/");
|
|
6059
|
+
const startDirs = /* @__PURE__ */ new Set([dirname(issuerResolverPath)]);
|
|
6060
|
+
try {
|
|
6061
|
+
startDirs.add(dirname(realpathSync(issuerResolverPath)));
|
|
6049
6062
|
} catch {}
|
|
6063
|
+
for (const startDir of startDirs) {
|
|
6064
|
+
let currentDir = startDir;
|
|
6065
|
+
for (let index = 0; index < MAX_PACKAGE_JSON_ASCENTS; index += 1) {
|
|
6066
|
+
const packageJsonPath = join(currentDir, "node_modules", ...packageParts, "package.json");
|
|
6067
|
+
if (existsSync(packageJsonPath)) try {
|
|
6068
|
+
if (JSON.parse(readFileSync(packageJsonPath, "utf-8"))?.name === packageName) return realpathSync(packageJsonPath);
|
|
6069
|
+
} catch {}
|
|
6070
|
+
const parentDir = dirname(currentDir);
|
|
6071
|
+
if (parentDir === currentDir) break;
|
|
6072
|
+
currentDir = parentDir;
|
|
6073
|
+
}
|
|
6074
|
+
}
|
|
6050
6075
|
return null;
|
|
6051
6076
|
}
|
|
6052
6077
|
function findPackageJsonForResolvedEntry(resolvedPath, packageName) {
|
package/dist/index.js
CHANGED
|
@@ -36,56 +36,56 @@ var _docsCommands = null;
|
|
|
36
36
|
var _playgroundCommands = null;
|
|
37
37
|
async function getGnodeCommands() {
|
|
38
38
|
if (!_gnodeCommands) {
|
|
39
|
-
const { gnodeCommands } = await import("./commands-
|
|
39
|
+
const { gnodeCommands } = await import("./commands-8PgLy-Xb.js");
|
|
40
40
|
_gnodeCommands = gnodeCommands;
|
|
41
41
|
}
|
|
42
42
|
return _gnodeCommands;
|
|
43
43
|
}
|
|
44
44
|
async function getGitCommands() {
|
|
45
45
|
if (!_gitCommands) {
|
|
46
|
-
const { gitCommands } = await import("./commands-
|
|
46
|
+
const { gitCommands } = await import("./commands-8PgLy-Xb.js");
|
|
47
47
|
_gitCommands = gitCommands;
|
|
48
48
|
}
|
|
49
49
|
return _gitCommands;
|
|
50
50
|
}
|
|
51
51
|
async function getGenerateCommands() {
|
|
52
52
|
if (!_generateCommands) {
|
|
53
|
-
const { generateCommands } = await import("./commands-
|
|
53
|
+
const { generateCommands } = await import("./commands-8PgLy-Xb.js");
|
|
54
54
|
_generateCommands = generateCommands;
|
|
55
55
|
}
|
|
56
56
|
return _generateCommands;
|
|
57
57
|
}
|
|
58
58
|
async function getInitCommands() {
|
|
59
59
|
if (!_initCommands) {
|
|
60
|
-
const { initCommands } = await import("./commands-
|
|
60
|
+
const { initCommands } = await import("./commands-8PgLy-Xb.js");
|
|
61
61
|
_initCommands = initCommands;
|
|
62
62
|
}
|
|
63
63
|
return _initCommands;
|
|
64
64
|
}
|
|
65
65
|
async function getUtilityCommands() {
|
|
66
66
|
if (!_utilityCommands) {
|
|
67
|
-
const { utilityCommands } = await import("./commands-
|
|
67
|
+
const { utilityCommands } = await import("./commands-8PgLy-Xb.js");
|
|
68
68
|
_utilityCommands = utilityCommands;
|
|
69
69
|
}
|
|
70
70
|
return _utilityCommands;
|
|
71
71
|
}
|
|
72
72
|
async function getDispatchCommands() {
|
|
73
73
|
if (!_dispatchCommands) {
|
|
74
|
-
const { dispatchCommands } = await import("./commands-
|
|
74
|
+
const { dispatchCommands } = await import("./commands-8PgLy-Xb.js");
|
|
75
75
|
_dispatchCommands = dispatchCommands;
|
|
76
76
|
}
|
|
77
77
|
return _dispatchCommands;
|
|
78
78
|
}
|
|
79
79
|
async function getDocsCommands() {
|
|
80
80
|
if (!_docsCommands) {
|
|
81
|
-
const { docsCommands } = await import("./commands-
|
|
81
|
+
const { docsCommands } = await import("./commands-8PgLy-Xb.js");
|
|
82
82
|
_docsCommands = docsCommands;
|
|
83
83
|
}
|
|
84
84
|
return _docsCommands;
|
|
85
85
|
}
|
|
86
86
|
async function getPlaygroundCommands() {
|
|
87
87
|
if (!_playgroundCommands) {
|
|
88
|
-
const { playgroundCommands } = await import("./commands-
|
|
88
|
+
const { playgroundCommands } = await import("./commands-8PgLy-Xb.js");
|
|
89
89
|
_playgroundCommands = playgroundCommands;
|
|
90
90
|
}
|
|
91
91
|
return _playgroundCommands;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-cli",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.14",
|
|
4
4
|
"description": "Developer CLI for SMRT framework - introspection, testing, and project management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"acorn": "^8.17.0",
|
|
33
33
|
"fast-glob": "3.3.3",
|
|
34
34
|
"tar": "^7.5.19",
|
|
35
|
-
"@happyvertical/smrt-agents": "0.38.
|
|
36
|
-
"@happyvertical/smrt-config": "0.38.
|
|
37
|
-
"@happyvertical/smrt-core": "0.38.
|
|
38
|
-
"@happyvertical/smrt-dev-mcp": "0.38.
|
|
39
|
-
"@happyvertical/smrt-playground": "0.38.
|
|
40
|
-
"@happyvertical/smrt-types": "0.38.
|
|
35
|
+
"@happyvertical/smrt-agents": "0.38.14",
|
|
36
|
+
"@happyvertical/smrt-config": "0.38.14",
|
|
37
|
+
"@happyvertical/smrt-core": "0.38.14",
|
|
38
|
+
"@happyvertical/smrt-dev-mcp": "0.38.14",
|
|
39
|
+
"@happyvertical/smrt-playground": "0.38.14",
|
|
40
|
+
"@happyvertical/smrt-types": "0.38.14"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "24.13.2",
|