silgi 0.9.18 → 0.9.21

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.
@@ -1,4 +1,4 @@
1
- const version = "0.9.18";
1
+ const version = "0.9.21";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.3.0",
4
4
  "@nuxt/kit": "^3.15.4",
@@ -865,7 +865,7 @@ async function nitroFramework(silgi, skip = false) {
865
865
  path: join(runtimeDir, "internal/nitro")
866
866
  });
867
867
  silgi.hook("prepare:createDTSFramework", (data) => {
868
- data.importItems["silgi/types"] = {
868
+ data.importItems["nitropack/types"] = {
869
869
  import: [
870
870
  { name: "NitroRuntimeConfig", type: true }
871
871
  ],
@@ -1179,36 +1179,43 @@ function createDependencyGraph(modules) {
1179
1179
  if (key) {
1180
1180
  graph.set(key, /* @__PURE__ */ new Set());
1181
1181
  inDegree.set(key, 0);
1182
- logger$1.debug(`Module registered: ${key}`);
1183
1182
  }
1184
1183
  });
1185
1184
  modules.forEach((module) => {
1186
1185
  const key = module.meta?.configKey;
1187
- if (!key)
1186
+ if (!key) {
1188
1187
  return;
1188
+ }
1189
1189
  const requiredDeps = module.meta?.requiredDependencies || [];
1190
+ const beforeDeps = module.meta?.beforeDependencies || [];
1190
1191
  const afterDeps = module.meta?.afterDependencies || [];
1191
- const allDeps = /* @__PURE__ */ new Set([...requiredDeps, ...afterDeps]);
1192
- allDeps.forEach((dep) => {
1192
+ const processedDeps = /* @__PURE__ */ new Set();
1193
+ requiredDeps.forEach((dep) => {
1194
+ if (!graph.has(dep)) {
1195
+ throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
1196
+ }
1197
+ graph.get(dep)?.add(key);
1198
+ inDegree.set(key, (inDegree.get(key) || 0) + 1);
1199
+ processedDeps.add(dep);
1200
+ });
1201
+ beforeDeps.forEach((dep) => {
1202
+ if (!graph.has(dep)) {
1203
+ return;
1204
+ }
1205
+ graph.get(key)?.add(dep);
1206
+ inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
1207
+ });
1208
+ afterDeps.forEach((dep) => {
1209
+ if (processedDeps.has(dep)) {
1210
+ return;
1211
+ }
1193
1212
  if (!graph.has(dep)) {
1194
- if (requiredDeps.includes(dep)) {
1195
- throw new Error(`Required dependency "${dep}" for module "${key}" is missing`);
1196
- }
1197
- logger$1.debug(`Optional dependency for ${key}: "${dep}" not found, skipping`);
1198
1213
  return;
1199
1214
  }
1200
1215
  graph.get(dep)?.add(key);
1201
1216
  inDegree.set(key, (inDegree.get(key) || 0) + 1);
1202
- const depType = requiredDeps.includes(dep) ? "required" : "after";
1203
- logger$1.debug(`${key} depends on ${dep} (${depType})`);
1204
1217
  });
1205
1218
  });
1206
- logger$1.debug("\nDependency Graph:");
1207
- for (const [module, deps] of graph.entries()) {
1208
- const depsStr = Array.from(deps).join(", ");
1209
- logger$1.debug(`${module} -> ${depsStr} (deps run after this module)`);
1210
- logger$1.debug(`${module} in-degree: ${inDegree.get(module)}`);
1211
- }
1212
1219
  return { graph, inDegree };
1213
1220
  }
1214
1221
  function findCyclicDependencies(graph) {
@@ -1243,35 +1250,25 @@ function topologicalSort(graphData) {
1243
1250
  const { graph, inDegree } = graphData;
1244
1251
  const order = [];
1245
1252
  const queue = [];
1246
- logger$1.debug("\nStarting topological sort:");
1247
- logger$1.debug("Initial in-degrees:", Object.fromEntries(inDegree));
1248
1253
  for (const [node, degree] of inDegree.entries()) {
1249
1254
  if (degree === 0) {
1250
1255
  queue.push(node);
1251
- logger$1.debug(`Adding initial module: ${node} (no dependencies)`);
1252
1256
  }
1253
1257
  }
1254
1258
  while (queue.length > 0) {
1255
1259
  const node = queue.shift();
1256
1260
  order.push(node);
1257
- logger$1.debug(`
1258
- Processing: ${node}`);
1259
- for (const neighbor of graph.get(node) || []) {
1261
+ const neighbors = Array.from(graph.get(node) || []);
1262
+ for (const neighbor of neighbors) {
1260
1263
  const newDegree = (inDegree.get(neighbor) || 0) - 1;
1261
1264
  inDegree.set(neighbor, newDegree);
1262
- logger$1.debug(` ${neighbor} dependencies remaining: ${newDegree}`);
1263
1265
  if (newDegree === 0) {
1264
1266
  queue.push(neighbor);
1265
- logger$1.debug(` Queuing: ${neighbor}`);
1266
1267
  }
1267
1268
  }
1268
1269
  }
1269
1270
  if (order.length !== graph.size) {
1270
1271
  const cycles = findCyclicDependencies(graph);
1271
- logger$1.debug("\nDependency graph state:");
1272
- graph.forEach((deps, module) => {
1273
- logger$1.debug(`${module} -> ${Array.from(deps).join(", ")}`);
1274
- });
1275
1272
  if (cycles.length > 0) {
1276
1273
  const cycleStr = cycles.map((cycle) => ` ${cycle.join(" -> ")}`).join("\n");
1277
1274
  throw new Error(`Circular dependencies detected:
@@ -1281,7 +1278,6 @@ ${cycleStr}`);
1281
1278
  throw new Error(`Unable to resolve dependencies for modules: ${unresolvedModules.join(", ")}`);
1282
1279
  }
1283
1280
  }
1284
- logger$1.debug("\nFinal module order:", order.join(" -> "));
1285
1281
  return order;
1286
1282
  }
1287
1283
 
@@ -1,4 +1,4 @@
1
- const version = "0.9.18";
1
+ const version = "0.9.21";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.3.0",
4
4
  "@nuxt/kit": "^3.15.4",
@@ -1,4 +1,4 @@
1
- const version = "0.9.18";
1
+ const version = "0.9.21";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.3.0",
4
4
  "@nuxt/kit": "^3.15.4",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.9.18",
4
+ "version": "0.9.21",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {