silgi 0.8.29 → 0.8.31
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 +36 -14
- 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
|
@@ -35,6 +35,14 @@ import 'std-env';
|
|
|
35
35
|
import 'consola/utils';
|
|
36
36
|
import 'escape-string-regexp';
|
|
37
37
|
|
|
38
|
+
async function emptyFramework(silgi) {
|
|
39
|
+
if (silgi.options.preset === "npm-package" || !silgi.options.preset) {
|
|
40
|
+
silgi.hook("after:prepare:schema.ts", (data) => {
|
|
41
|
+
data.unshift("type FrameworkContextExtends = {}");
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
38
46
|
async function h3Framework(silgi, skip = false) {
|
|
39
47
|
if (silgi.options.preset !== "h3" && skip === false)
|
|
40
48
|
return;
|
|
@@ -128,7 +136,7 @@ async function nuxtFramework(silgi, skip = false) {
|
|
|
128
136
|
await nitroFramework(silgi, true);
|
|
129
137
|
}
|
|
130
138
|
|
|
131
|
-
const frameworkSetup = [h3Framework, nitroFramework, nuxtFramework];
|
|
139
|
+
const frameworkSetup = [emptyFramework, h3Framework, nitroFramework, nuxtFramework];
|
|
132
140
|
|
|
133
141
|
async function prepare$1(_silgi) {
|
|
134
142
|
}
|
|
@@ -1050,7 +1058,7 @@ function createDependencyGraph(modules) {
|
|
|
1050
1058
|
if (key) {
|
|
1051
1059
|
graph.set(key, /* @__PURE__ */ new Set());
|
|
1052
1060
|
inDegree.set(key, 0);
|
|
1053
|
-
dependencyRelations.set(key, { before: [], after: [] });
|
|
1061
|
+
dependencyRelations.set(key, { required: [], before: [], after: [] });
|
|
1054
1062
|
logger$1.debug(`Module registered: ${key}`);
|
|
1055
1063
|
}
|
|
1056
1064
|
});
|
|
@@ -1058,15 +1066,22 @@ function createDependencyGraph(modules) {
|
|
|
1058
1066
|
const key = module.meta?.configKey;
|
|
1059
1067
|
if (!key)
|
|
1060
1068
|
return;
|
|
1069
|
+
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1061
1070
|
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1062
1071
|
const afterDeps = module.meta?.afterDependencies || [];
|
|
1063
|
-
const
|
|
1064
|
-
if (
|
|
1065
|
-
|
|
1072
|
+
const missingRequired = requiredDeps.filter((dep) => !graph.has(dep));
|
|
1073
|
+
if (missingRequired.length > 0) {
|
|
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`);
|
|
1066
1079
|
return;
|
|
1067
1080
|
}
|
|
1068
1081
|
logger$1.debug(`
|
|
1069
1082
|
Module ${key} dependencies:`);
|
|
1083
|
+
if (requiredDeps.length)
|
|
1084
|
+
logger$1.debug(` Required: ${requiredDeps.join(", ")}`);
|
|
1070
1085
|
if (beforeDeps.length)
|
|
1071
1086
|
logger$1.debug(` Must run after: ${beforeDeps.join(", ")}`);
|
|
1072
1087
|
if (afterDeps.length)
|
|
@@ -1076,31 +1091,41 @@ Module ${key} dependencies:`);
|
|
|
1076
1091
|
const key = module.meta?.configKey;
|
|
1077
1092
|
if (!key)
|
|
1078
1093
|
return;
|
|
1094
|
+
const requiredDeps = module.meta?.requiredDependencies || [];
|
|
1079
1095
|
const beforeDeps = module.meta?.beforeDependencies || [];
|
|
1080
1096
|
const afterDeps = module.meta?.afterDependencies || [];
|
|
1097
|
+
requiredDeps.forEach((dep) => {
|
|
1098
|
+
if (!graph.has(dep)) {
|
|
1099
|
+
throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
|
|
1100
|
+
}
|
|
1101
|
+
graph.get(dep)?.add(key);
|
|
1102
|
+
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
1103
|
+
logger$1.debug(`${key} requires ${dep}`);
|
|
1104
|
+
});
|
|
1081
1105
|
beforeDeps.forEach((dep) => {
|
|
1082
1106
|
if (!graph.has(dep)) {
|
|
1083
|
-
logger$1.
|
|
1107
|
+
logger$1.debug(`Optional dependency for ${key}: "${dep}" (beforeDependencies) not found, skipping`);
|
|
1084
1108
|
return;
|
|
1085
1109
|
}
|
|
1086
1110
|
graph.get(dep)?.add(key);
|
|
1087
1111
|
inDegree.set(key, (inDegree.get(key) || 0) + 1);
|
|
1088
|
-
logger$1.debug(`${key}
|
|
1112
|
+
logger$1.debug(`${key} will run after ${dep}`);
|
|
1089
1113
|
});
|
|
1090
1114
|
afterDeps.forEach((dep) => {
|
|
1091
|
-
if (!graph.has(
|
|
1092
|
-
logger$1.
|
|
1115
|
+
if (!graph.has(dep)) {
|
|
1116
|
+
logger$1.debug(`Optional dependency for ${key}: "${dep}" (afterDependencies) not found, skipping`);
|
|
1093
1117
|
return;
|
|
1094
1118
|
}
|
|
1095
1119
|
graph.get(key)?.add(dep);
|
|
1096
1120
|
inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
|
|
1097
|
-
logger$1.debug(`${
|
|
1121
|
+
logger$1.debug(`${key} will run before ${dep}`);
|
|
1098
1122
|
});
|
|
1099
1123
|
});
|
|
1100
1124
|
logger$1.debug("\nDependency Graph:");
|
|
1101
1125
|
for (const [module, deps] of graph.entries()) {
|
|
1102
1126
|
const depsStr = Array.from(deps).join(", ");
|
|
1103
|
-
|
|
1127
|
+
const required = dependencyRelations.get(module)?.required || [];
|
|
1128
|
+
logger$1.debug(`${module} -> [${depsStr}] (required: ${required.join(", ")}) (in-degree: ${inDegree.get(module)})`);
|
|
1104
1129
|
}
|
|
1105
1130
|
return { graph, inDegree };
|
|
1106
1131
|
}
|
|
@@ -1144,9 +1169,6 @@ function topologicalSort(graphData) {
|
|
|
1144
1169
|
logger$1.debug(`Adding initial module: ${node} (no dependencies)`);
|
|
1145
1170
|
}
|
|
1146
1171
|
}
|
|
1147
|
-
if (queue.length === 0) {
|
|
1148
|
-
logger$1.warn("No modules without dependencies found - possible circular reference");
|
|
1149
|
-
}
|
|
1150
1172
|
while (queue.length > 0) {
|
|
1151
1173
|
const node = queue.shift();
|
|
1152
1174
|
order.push(node);
|
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 {
|