silgi 0.8.37 → 0.8.39
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/_chunks/index.mjs +1 -1
- package/dist/cli/prepare.mjs +10 -50
- package/dist/meta/index.d.mts +1 -1
- package/dist/meta/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/_chunks/index.mjs
CHANGED
package/dist/cli/prepare.mjs
CHANGED
|
@@ -1052,13 +1052,11 @@ async function scanModules$1(silgi) {
|
|
|
1052
1052
|
function createDependencyGraph(modules) {
|
|
1053
1053
|
const graph = /* @__PURE__ */ new Map();
|
|
1054
1054
|
const inDegree = /* @__PURE__ */ new Map();
|
|
1055
|
-
const dependencyRelations = /* @__PURE__ */ new Map();
|
|
1056
1055
|
modules.forEach((module) => {
|
|
1057
1056
|
const key = module.meta?.configKey;
|
|
1058
1057
|
if (key) {
|
|
1059
1058
|
graph.set(key, /* @__PURE__ */ new Set());
|
|
1060
1059
|
inDegree.set(key, 0);
|
|
1061
|
-
dependencyRelations.set(key, { required: [], before: [], after: [] });
|
|
1062
1060
|
logger$1.debug(`Module registered: ${key}`);
|
|
1063
1061
|
}
|
|
1064
1062
|
});
|
|
@@ -1067,65 +1065,27 @@ function createDependencyGraph(modules) {
|
|
|
1067
1065
|
if (!key)
|
|
1068
1066
|
return;
|
|
1069
1067
|
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1070
|
-
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1071
1068
|
const afterDeps = module.meta?.afterDependencies || [];
|
|
1072
|
-
const
|
|
1073
|
-
|
|
1074
|
-
throw new Error(`Module ${key} is missing required dependencies: ${missingRequired.join(", ")}`);
|
|
1075
|
-
}
|
|
1076
|
-
const allDeps = /* @__PURE__ */ new Set([...requiredDeps, ...beforeDeps, ...afterDeps]);
|
|
1077
|
-
if (allDeps.size < requiredDeps.length + beforeDeps.length + afterDeps.length) {
|
|
1078
|
-
logger$1.error(`Module ${key} has overlapping dependencies`);
|
|
1079
|
-
return;
|
|
1080
|
-
}
|
|
1081
|
-
logger$1.debug(`
|
|
1082
|
-
Module ${key} dependencies:`);
|
|
1083
|
-
if (requiredDeps.length)
|
|
1084
|
-
logger$1.debug(` Required: ${requiredDeps.join(", ")}`);
|
|
1085
|
-
if (beforeDeps.length)
|
|
1086
|
-
logger$1.debug(` Must run after: ${beforeDeps.join(", ")}`);
|
|
1087
|
-
if (afterDeps.length)
|
|
1088
|
-
logger$1.debug(` Must run before: ${afterDeps.join(", ")}`);
|
|
1089
|
-
});
|
|
1090
|
-
modules.forEach((module) => {
|
|
1091
|
-
const key = module.meta?.configKey;
|
|
1092
|
-
if (!key)
|
|
1093
|
-
return;
|
|
1094
|
-
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1095
|
-
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1096
|
-
const afterDeps = module.meta?.afterDependencies || [];
|
|
1097
|
-
requiredDeps.forEach((dep) => {
|
|
1069
|
+
const allDeps = /* @__PURE__ */ new Set([...requiredDeps, ...afterDeps]);
|
|
1070
|
+
allDeps.forEach((dep) => {
|
|
1098
1071
|
if (!graph.has(dep)) {
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
logger$1.debug(`${key} requires ${dep}`);
|
|
1104
|
-
});
|
|
1105
|
-
beforeDeps.forEach((dep) => {
|
|
1106
|
-
if (!graph.has(dep)) {
|
|
1107
|
-
logger$1.debug(`Optional dependency for ${key}: "${dep}" (beforeDependencies) not found, skipping`);
|
|
1072
|
+
if (requiredDeps.includes(dep)) {
|
|
1073
|
+
throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
|
|
1074
|
+
}
|
|
1075
|
+
logger$1.debug(`Optional dependency for ${key}: "${dep}" not found, skipping`);
|
|
1108
1076
|
return;
|
|
1109
1077
|
}
|
|
1110
1078
|
graph.get(dep)?.add(key);
|
|
1111
1079
|
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
afterDeps.forEach((dep) => {
|
|
1115
|
-
if (!graph.has(dep)) {
|
|
1116
|
-
logger$1.debug(`Optional dependency for ${key}: "${dep}" (afterDependencies) not found, skipping`);
|
|
1117
|
-
return;
|
|
1118
|
-
}
|
|
1119
|
-
graph.get(key)?.add(dep);
|
|
1120
|
-
inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
|
|
1121
|
-
logger$1.debug(`${key} will run before ${dep}`);
|
|
1080
|
+
const depType = requiredDeps.includes(dep) ? "required" : "after";
|
|
1081
|
+
logger$1.debug(`${key} depends on ${dep} (${depType})`);
|
|
1122
1082
|
});
|
|
1123
1083
|
});
|
|
1124
1084
|
logger$1.debug("\nDependency Graph:");
|
|
1125
1085
|
for (const [module, deps] of graph.entries()) {
|
|
1126
1086
|
const depsStr = Array.from(deps).join(", ");
|
|
1127
|
-
|
|
1128
|
-
logger$1.debug(`${module}
|
|
1087
|
+
logger$1.debug(`${module} -> ${depsStr} (deps run after this module)`);
|
|
1088
|
+
logger$1.debug(`${module} in-degree: ${inDegree.get(module)}`);
|
|
1129
1089
|
}
|
|
1130
1090
|
return { graph, inDegree };
|
|
1131
1091
|
}
|
package/dist/meta/index.d.mts
CHANGED
package/dist/meta/index.d.ts
CHANGED