silgi 0.8.29 → 0.8.30
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 +27 -10
- package/dist/meta/index.d.mts +1 -1
- package/dist/meta/index.d.ts +1 -1
- package/dist/types/index.d.mts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/_chunks/index.mjs
CHANGED
package/dist/cli/prepare.mjs
CHANGED
|
@@ -1050,7 +1050,7 @@ function createDependencyGraph(modules) {
|
|
|
1050
1050
|
if (key) {
|
|
1051
1051
|
graph.set(key, /* @__PURE__ */ new Set());
|
|
1052
1052
|
inDegree.set(key, 0);
|
|
1053
|
-
dependencyRelations.set(key, { before: [], after: [] });
|
|
1053
|
+
dependencyRelations.set(key, { required: [], before: [], after: [] });
|
|
1054
1054
|
logger$1.debug(`Module registered: ${key}`);
|
|
1055
1055
|
}
|
|
1056
1056
|
});
|
|
@@ -1058,15 +1058,22 @@ function createDependencyGraph(modules) {
|
|
|
1058
1058
|
const key = module.meta?.configKey;
|
|
1059
1059
|
if (!key)
|
|
1060
1060
|
return;
|
|
1061
|
+
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1061
1062
|
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1062
1063
|
const afterDeps = module.meta?.afterDependencies || [];
|
|
1063
|
-
const
|
|
1064
|
-
if (
|
|
1065
|
-
|
|
1064
|
+
const missingRequired = requiredDeps.filter((dep) => !graph.has(dep));
|
|
1065
|
+
if (missingRequired.length > 0) {
|
|
1066
|
+
throw new Error(`Module ${key} is missing required dependencies: ${missingRequired.join(", ")}`);
|
|
1067
|
+
}
|
|
1068
|
+
const allDeps = /* @__PURE__ */ new Set([...requiredDeps, ...beforeDeps, ...afterDeps]);
|
|
1069
|
+
if (allDeps.size < requiredDeps.length + beforeDeps.length + afterDeps.length) {
|
|
1070
|
+
logger$1.error(`Module ${key} has overlapping dependencies`);
|
|
1066
1071
|
return;
|
|
1067
1072
|
}
|
|
1068
1073
|
logger$1.debug(`
|
|
1069
1074
|
Module ${key} dependencies:`);
|
|
1075
|
+
if (requiredDeps.length)
|
|
1076
|
+
logger$1.debug(` Required: ${requiredDeps.join(", ")}`);
|
|
1070
1077
|
if (beforeDeps.length)
|
|
1071
1078
|
logger$1.debug(` Must run after: ${beforeDeps.join(", ")}`);
|
|
1072
1079
|
if (afterDeps.length)
|
|
@@ -1076,31 +1083,41 @@ Module ${key} dependencies:`);
|
|
|
1076
1083
|
const key = module.meta?.configKey;
|
|
1077
1084
|
if (!key)
|
|
1078
1085
|
return;
|
|
1086
|
+
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1079
1087
|
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1080
1088
|
const afterDeps = module.meta?.afterDependencies || [];
|
|
1089
|
+
requiredDeps.forEach((dep) => {
|
|
1090
|
+
if (!graph.has(dep)) {
|
|
1091
|
+
throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
|
|
1092
|
+
}
|
|
1093
|
+
graph.get(dep)?.add(key);
|
|
1094
|
+
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
1095
|
+
logger$1.debug(`${key} requires ${dep}`);
|
|
1096
|
+
});
|
|
1081
1097
|
beforeDeps.forEach((dep) => {
|
|
1082
1098
|
if (!graph.has(dep)) {
|
|
1083
|
-
logger$1.
|
|
1099
|
+
logger$1.debug(`Optional dependency for ${key}: "${dep}" (beforeDependencies) not found, skipping`);
|
|
1084
1100
|
return;
|
|
1085
1101
|
}
|
|
1086
1102
|
graph.get(dep)?.add(key);
|
|
1087
1103
|
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
1088
|
-
logger$1.debug(`${key}
|
|
1104
|
+
logger$1.debug(`${key} will run after ${dep}`);
|
|
1089
1105
|
});
|
|
1090
1106
|
afterDeps.forEach((dep) => {
|
|
1091
|
-
if (!graph.has(
|
|
1092
|
-
logger$1.
|
|
1107
|
+
if (!graph.has(dep)) {
|
|
1108
|
+
logger$1.debug(`Optional dependency for ${key}: "${dep}" (afterDependencies) not found, skipping`);
|
|
1093
1109
|
return;
|
|
1094
1110
|
}
|
|
1095
1111
|
graph.get(key)?.add(dep);
|
|
1096
1112
|
inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
|
|
1097
|
-
logger$1.debug(`${
|
|
1113
|
+
logger$1.debug(`${key} will run before ${dep}`);
|
|
1098
1114
|
});
|
|
1099
1115
|
});
|
|
1100
1116
|
logger$1.debug("\nDependency Graph:");
|
|
1101
1117
|
for (const [module, deps] of graph.entries()) {
|
|
1102
1118
|
const depsStr = Array.from(deps).join(", ");
|
|
1103
|
-
|
|
1119
|
+
const required = dependencyRelations.get(module)?.required || [];
|
|
1120
|
+
logger$1.debug(`${module} -> [${depsStr}] (required: ${required.join(", ")}) (in-degree: ${inDegree.get(module)})`);
|
|
1104
1121
|
}
|
|
1105
1122
|
return { graph, inDegree };
|
|
1106
1123
|
}
|
package/dist/meta/index.d.mts
CHANGED
package/dist/meta/index.d.ts
CHANGED
package/dist/types/index.d.mts
CHANGED
|
@@ -469,6 +469,7 @@ interface ModuleMeta {
|
|
|
469
469
|
_packageName?: string;
|
|
470
470
|
readonly afterDependencies?: ReadonlyArray<string>;
|
|
471
471
|
readonly beforeDependencies?: ReadonlyArray<string>;
|
|
472
|
+
readonly requiredDependencies?: ReadonlyArray<string>;
|
|
472
473
|
[key: string]: unknown;
|
|
473
474
|
}
|
|
474
475
|
interface ResolvedModuleMeta extends ModuleMeta {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -469,6 +469,7 @@ interface ModuleMeta {
|
|
|
469
469
|
_packageName?: string;
|
|
470
470
|
readonly afterDependencies?: ReadonlyArray<string>;
|
|
471
471
|
readonly beforeDependencies?: ReadonlyArray<string>;
|
|
472
|
+
readonly requiredDependencies?: ReadonlyArray<string>;
|
|
472
473
|
[key: string]: unknown;
|
|
473
474
|
}
|
|
474
475
|
interface ResolvedModuleMeta extends ModuleMeta {
|