@cldmv/slothlet 2.5.3 → 2.5.5

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.
@@ -20,6 +20,7 @@
20
20
 
21
21
  import fs from "node:fs/promises";
22
22
  import path from "node:path";
23
+ import { types as utilTypes } from "node:util";
23
24
  import { pathToFileURL } from "node:url";
24
25
 
25
26
 
@@ -27,6 +28,25 @@ import { pathToFileURL } from "node:url";
27
28
 
28
29
 
29
30
 
31
+ function isLikelySerializable(val) {
32
+ const type = typeof val;
33
+
34
+
35
+ if (type !== "object" || val === null) {
36
+ return type === "string" || type === "number" || type === "boolean" || type === "undefined";
37
+ }
38
+
39
+
40
+ return (
41
+ Array.isArray(val) || val instanceof Date || val instanceof RegExp || val?.constructor === Object || typeof val.toJSON === "function"
42
+ );
43
+ }
44
+
45
+
46
+
47
+
48
+
49
+
30
50
  export async function analyzeModule(modulePath, options = {}) {
31
51
  const { debug = false } = options;
32
52
 
@@ -187,9 +207,115 @@ export function processModuleFromAnalysis(analysis, options = {}) {
187
207
  const obj = processedModule.default;
188
208
 
189
209
 
190
- for (const [exportName, exportValue] of Object.entries(processedModule)) {
191
- if (exportName !== "default" && exportValue !== obj) {
192
- obj[instance._toapiPathKey(exportName)] = exportValue;
210
+ const namedExportsToAdd = Object.entries(processedModule).filter(
211
+ ([exportName, exportValue]) => exportName !== "default" && exportValue !== obj
212
+ );
213
+
214
+ if (namedExportsToAdd.length > 0) {
215
+
216
+
217
+ const isCustomProxy = utilTypes?.isProxy?.(obj) ?? false;
218
+
219
+ if (isCustomProxy) {
220
+
221
+
222
+ for (const [exportName, exportValue] of namedExportsToAdd) {
223
+ const apiKey = instance._toapiPathKey(exportName);
224
+ obj[apiKey] = exportValue;
225
+ }
226
+
227
+
228
+
229
+ const proxyWithStructure = obj;
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+ proxyWithStructure.default = obj;
251
+
252
+
253
+ if (!proxyWithStructure.toJSON) {
254
+ Object.defineProperty(proxyWithStructure, "toJSON", {
255
+ value: function () {
256
+
257
+ const serializable = {};
258
+
259
+
260
+ for (const key of Reflect.ownKeys(this)) {
261
+
262
+ if (typeof key !== "string") continue;
263
+
264
+ const descriptor = Reflect.getOwnPropertyDescriptor(this, key);
265
+ if (!descriptor || !descriptor.enumerable) continue;
266
+
267
+ if (key === "default") {
268
+
269
+ continue;
270
+ }
271
+
272
+ const value = this[key];
273
+ if (typeof value === "function") {
274
+ serializable[key] = "[Function]";
275
+ } else if (isLikelySerializable(value)) {
276
+
277
+ serializable[key] = value;
278
+ } else {
279
+
280
+ try {
281
+ JSON.stringify(value);
282
+ serializable[key] = value;
283
+ } catch {
284
+ serializable[key] = "[Non-serializable value]";
285
+ }
286
+ }
287
+ }
288
+
289
+
290
+ serializable._slothlet_proxy_info = {
291
+ type: "proxy",
292
+ circular_reference: "Property .default points to this object (excluded from serialization)",
293
+ warning: "This is a slothlet API proxy with circular .default reference"
294
+ };
295
+ return serializable;
296
+ },
297
+ writable: false,
298
+ enumerable: false,
299
+ configurable: true
300
+ });
301
+ }
302
+
303
+
304
+ for (const [exportName, exportValue] of namedExportsToAdd) {
305
+ const apiKey = instance._toapiPathKey(exportName);
306
+ if (!(apiKey in proxyWithStructure)) {
307
+ proxyWithStructure[apiKey] = exportValue;
308
+ }
309
+ }
310
+
311
+ return proxyWithStructure;
312
+ } else {
313
+
314
+ for (const [exportName, exportValue] of namedExportsToAdd) {
315
+ obj[instance._toapiPathKey(exportName)] = exportValue;
316
+ }
317
+
318
+ return obj;
193
319
  }
194
320
  }
195
321
 
@@ -387,6 +513,7 @@ export function getFlatteningDecision(options) {
387
513
 
388
514
  moduleHasDefault = !!mod.default,
389
515
  categoryName,
516
+
390
517
  totalModules = 1
391
518
  } = options;
392
519
 
@@ -857,11 +984,6 @@ export async function buildCategoryStructure(categoryPath, options = {}) {
857
984
  const fileName = path.basename(file.name, moduleExt);
858
985
  const apiPathKey = instance._toapiPathKey(fileName);
859
986
 
860
- if (debug && moduleName === "config") {
861
- console.log(`[DEBUG] Processing config file: ${file.name}, moduleName: ${moduleName}`);
862
- console.log(`[DEBUG] selfReferentialFiles has config? ${selfReferentialFiles.has(moduleName)}`);
863
- }
864
-
865
987
 
866
988
  let mod = null;
867
989
  let analysis = null;
@@ -1258,11 +1380,6 @@ export async function buildCategoryDecisions(categoryPath, options = {}) {
1258
1380
 
1259
1381
  decisions.shouldFlatten = false;
1260
1382
  decisions.preferredName = moduleName;
1261
- if (debug && moduleName === "nest") {
1262
- console.log(
1263
- `[DEBUG] buildCategoryDecisions single-file default: moduleName="${moduleName}" shouldFlatten=false preferredName="${decisions.preferredName}"`
1264
- );
1265
- }
1266
1383
  return decisions;
1267
1384
  }
1268
1385
 
@@ -1311,12 +1428,15 @@ export async function buildCategoryDecisions(categoryPath, options = {}) {
1311
1428
 
1312
1429
 
1313
1430
  let mod = null;
1431
+ let analysis = null;
1314
1432
  const existingDefault = defaultExportFiles.find((def) => def.moduleName === moduleName);
1315
1433
  if (existingDefault) {
1316
1434
  mod = existingDefault.mod;
1435
+
1436
+ analysis = existingDefault.analysis;
1317
1437
  } else {
1318
1438
 
1319
- const analysis = await analyzeModule(path.join(categoryPath, file.name), {
1439
+ analysis = await analyzeModule(path.join(categoryPath, file.name), {
1320
1440
  debug,
1321
1441
  instance
1322
1442
  });
@@ -1415,11 +1535,11 @@ export async function buildCategoryDecisions(categoryPath, options = {}) {
1415
1535
 
1416
1536
 
1417
1537
 
1418
- if (!hasMultipleDefaultExports && mod.default && typeof mod.default === "object") {
1538
+ if (!hasMultipleDefaultExports && analysis.hasDefault && analysis.defaultExportType === "object") {
1419
1539
  moduleDecision.shouldFlatten = true;
1420
1540
  moduleDecision.flattenType = "single-default-object";
1421
1541
  moduleDecision.apiPathKey = apiPathKey;
1422
- } else if (hasMultipleDefaultExports && !mod.default && moduleKeys.length > 0) {
1542
+ } else if (hasMultipleDefaultExports && !analysis.hasDefault && moduleKeys.length > 0) {
1423
1543
 
1424
1544
  moduleDecision.shouldFlatten = true;
1425
1545
  moduleDecision.flattenType = "multi-default-no-default";
@@ -1428,7 +1548,7 @@ export async function buildCategoryDecisions(categoryPath, options = {}) {
1428
1548
  moduleDecision.shouldFlatten = true;
1429
1549
  moduleDecision.flattenType = "single-named-export-match";
1430
1550
  moduleDecision.apiPathKey = apiPathKey;
1431
- } else if (!mod.default && moduleKeys.length > 0 && moduleName === categoryName) {
1551
+ } else if (!analysis.hasDefault && moduleKeys.length > 0 && moduleName === categoryName) {
1432
1552
 
1433
1553
  moduleDecision.shouldFlatten = true;
1434
1554
  moduleDecision.flattenType = "category-name-match-flatten";
@@ -20,6 +20,7 @@
20
20
  import fs from "node:fs/promises";
21
21
  import { readdirSync } from "node:fs";
22
22
  import path from "node:path";
23
+ import { types as utilTypes } from "node:util";
23
24
  import { runWithCtx } from "@cldmv/slothlet/runtime";
24
25
  import { processModuleForAPI } from "@cldmv/slothlet/helpers/api_builder";
25
26
  import { multidefault_analyzeModules } from "@cldmv/slothlet/helpers/multidefault";
@@ -170,6 +171,29 @@ function replacePlaceholder(parent, key, placeholder, value, instance, depth) {
170
171
  if (parent[key] !== placeholder) return;
171
172
 
172
173
 
174
+
175
+
176
+
177
+ const isCustomProxy = value && typeof value === "object" && (utilTypes?.isProxy?.(value) ?? false);
178
+
179
+ if (isCustomProxy) {
180
+ if (instance?.config?.debug) {
181
+ console.log(`[lazy][materialize] detected custom Proxy for ${key}, replacing placeholder to avoid memory leaks (${typeof value})`);
182
+ }
183
+
184
+ try {
185
+
186
+ const testAccess = value && typeof value === "object";
187
+ if (!testAccess) {
188
+ console.warn(`[lazy][materialize] Custom proxy for ${key} failed basic validation, but continuing with replacement`);
189
+ }
190
+ } catch (error) {
191
+ console.warn(`[lazy][materialize] Custom proxy for ${key} validation failed:`, error.message, "but continuing with replacement");
192
+ }
193
+
194
+ }
195
+
196
+
173
197
  let finalKey = key;
174
198
  if (typeof value === "function" && value.name && value.name.toLowerCase() === key.toLowerCase() && value.name !== key) {
175
199
 
package/dist/slothlet.mjs CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  import fs from "node:fs/promises";
21
21
  import path from "node:path";
22
+ import { types as utilTypes } from "node:util";
22
23
  import { fileURLToPath, pathToFileURL } from "node:url";
23
24
 
24
25
  import { resolvePathFromCaller } from "@cldmv/slothlet/helpers/resolve-from-caller";
@@ -390,9 +391,6 @@ const slothletObject = {
390
391
  }
391
392
 
392
393
 
393
- if (this.config.debug && moduleName === "nest") {
394
- console.log(`[DEBUG] Single-file default case for nest: moduleName="${moduleName}" mod keys=[${Object.keys(mod)}]`);
395
- }
396
394
  return { [moduleName]: mod };
397
395
  }
398
396
 
@@ -444,13 +442,94 @@ const slothletObject = {
444
442
  switch (flattenType) {
445
443
  case "single-default-object": {
446
444
 
447
- const flattened = { ...mod.default };
448
445
 
449
- for (const [key, value] of Object.entries(mod)) {
450
- if (key !== "default") {
451
- flattened[key] = value;
446
+ let flattened;
447
+
448
+
449
+ const defaultExport = mod.default;
450
+ const hasNamedExports = Object.keys(mod).some((k) => k !== "default");
451
+
452
+ if (hasNamedExports && defaultExport && typeof defaultExport === "object") {
453
+
454
+ const isProxy = utilTypes?.isProxy?.(defaultExport) ?? false;
455
+
456
+ if (isProxy) {
457
+
458
+ flattened = defaultExport;
459
+ let assignmentFailed = false;
460
+
461
+ const failedMap = new Map();
462
+
463
+
464
+ for (const [key, value] of Object.entries(mod)) {
465
+ if (key !== "default") {
466
+ try {
467
+ flattened[key] = value;
468
+ } catch (e) {
469
+
470
+ assignmentFailed = true;
471
+ failedMap.set(key, value);
472
+ if (this.config?.debug) {
473
+ console.warn(
474
+ `Could not assign '${key}' to proxy object in module '${moduleName}' at '${categoryPath}':`,
475
+ e.message
476
+ );
477
+ }
478
+ }
479
+ }
480
+ }
481
+
482
+
483
+ if (assignmentFailed) {
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+ const originalProxy = flattened;
493
+ flattened = new Proxy(originalProxy, {
494
+ get(target, prop, receiver) {
495
+
496
+ if (failedMap.has(prop)) return failedMap.get(prop);
497
+
498
+
499
+ return Reflect.get(target, prop, receiver);
500
+ },
501
+ has(target, prop) {
502
+
503
+ if (failedMap.has(prop)) return true;
504
+ return Reflect.has(target, prop);
505
+ },
506
+ ownKeys(target) {
507
+ const originalKeys = Reflect.ownKeys(target);
508
+ const failedKeys = Array.from(failedMap.keys());
509
+ return [...new Set([...originalKeys, ...failedKeys])];
510
+ },
511
+ getOwnPropertyDescriptor(target, prop) {
512
+ if (failedMap.has(prop)) {
513
+ return { configurable: true, enumerable: true, value: failedMap.get(prop) };
514
+ }
515
+ return Reflect.getOwnPropertyDescriptor(target, prop);
516
+ }
517
+ });
518
+ }
519
+ } else {
520
+
521
+ flattened = { ...defaultExport };
522
+ for (const [key, value] of Object.entries(mod)) {
523
+ if (key !== "default") {
524
+ flattened[key] = value;
525
+ }
526
+ }
452
527
  }
528
+ } else {
529
+
530
+ flattened = defaultExport;
453
531
  }
532
+
454
533
  categoryModules[apiPathKey] = flattened;
455
534
  break;
456
535
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cldmv/slothlet",
3
- "version": "2.5.3",
3
+ "version": "2.5.5",
4
4
  "moduleVersions": {
5
5
  "lazy": "1.3.0",
6
6
  "eager": "1.3.0"
@@ -1 +1 @@
1
- {"version":3,"file":"api_builder.d.mts","sourceRoot":"","sources":["../../../../dist/lib/helpers/api_builder.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api_builder.d.mts","sourceRoot":"","sources":["../../../../dist/lib/helpers/api_builder.mjs"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slothlet_lazy.d.mts","sourceRoot":"","sources":["../../../../dist/lib/modes/slothlet_lazy.mjs"],"names":[],"mappings":"AAgKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,4BAtBW,MAAM,aACN,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,WAAS,MAAM,CAAC,CA4JpC"}
1
+ {"version":3,"file":"slothlet_lazy.d.mts","sourceRoot":"","sources":["../../../../dist/lib/modes/slothlet_lazy.mjs"],"names":[],"mappings":"AAiKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,4BAtBW,MAAM,aACN,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,WAAS,MAAM,CAAC,CA4JpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slothlet.d.mts","sourceRoot":"","sources":["../../dist/slothlet.mjs"],"names":[],"mappings":"AAm0CA;;;;;;;;;GASG;AACH,kDARW,WAAS,MAAM,UACf,WAAS,MAAM,QAwCzB;AA7tCD;;;;;;;GAOG;AACH,mBAJU,MAAM,CAIO;AAEvB;;;;;GAKG;AACH,sBAJU,MAAM,CAIU;AAE1B;;;;;GAKG;AACH,wBAJU,MAAM,CAIY;;;;;;;;;UAgtCd,MAAM;;;;;;WAIN,OAAO;;;;;;;eAGP,MAAM;;;;;;;;YAIN,OAAO;;;;;;;;WAKP,MAAM;;;;;;;eAKN,MAAM;;;;;;cAIN,MAAM;;;;;;gBAGN,MAAM;;;;;;eAMjB;QAA8B,UAAU,GAA7B,OAAO;QACY,gBAAgB,GAAnC,OAAO;QACY,gBAAgB,GAAnC,OAAO;QACW,KAAK,GAClC;YAAqC,KAAK,GAA/B,MAAM,EAAE;YACkB,gBAAgB,GAA1C,MAAM,EAAE;YACkB,KAAK,GAA/B,MAAM,EAAE;YACkB,KAAK,GAA/B,MAAM,EAAE;SACrB;KAAA;;AAxvCD;;;;;;;;GAQG;AACH,mCAJW,eAAe,GACb,OAAO,CAAC,WAAS,MAAM,CAAC,CAiCpC"}
1
+ {"version":3,"file":"slothlet.d.mts","sourceRoot":"","sources":["../../dist/slothlet.mjs"],"names":[],"mappings":"AAk5CA;;;;;;;;;GASG;AACH,kDARW,WAAS,MAAM,UACf,WAAS,MAAM,QAwCzB;AA3yCD;;;;;;;GAOG;AACH,mBAJU,MAAM,CAIO;AAEvB;;;;;GAKG;AACH,sBAJU,MAAM,CAIU;AAE1B;;;;;GAKG;AACH,wBAJU,MAAM,CAIY;;;;;;;;;UA8xCd,MAAM;;;;;;WAIN,OAAO;;;;;;;eAGP,MAAM;;;;;;;;YAIN,OAAO;;;;;;;;WAKP,MAAM;;;;;;;eAKN,MAAM;;;;;;cAIN,MAAM;;;;;;gBAGN,MAAM;;;;;;eAMjB;QAA8B,UAAU,GAA7B,OAAO;QACY,gBAAgB,GAAnC,OAAO;QACY,gBAAgB,GAAnC,OAAO;QACW,KAAK,GAClC;YAAqC,KAAK,GAA/B,MAAM,EAAE;YACkB,gBAAgB,GAA1C,MAAM,EAAE;YACkB,KAAK,GAA/B,MAAM,EAAE;YACkB,KAAK,GAA/B,MAAM,EAAE;SACrB;KAAA;;AAt0CD;;;;;;;;GAQG;AACH,mCAJW,eAAe,GACb,OAAO,CAAC,WAAS,MAAM,CAAC,CAiCpC"}