@antelopejs/interface-core 0.0.2 → 0.0.3
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/README.md +32 -0
- package/dist/internal.d.ts +2 -0
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/proxies.js +11 -28
- package/dist/proxies.js.map +1 -1
- package/dist/responsible-module.d.ts +23 -0
- package/dist/responsible-module.js +58 -0
- package/dist/responsible-module.js.map +1 -0
- package/dist/tests/registering-proxy-replay.test.d.ts +1 -0
- package/dist/tests/registering-proxy-replay.test.js +47 -0
- package/dist/tests/registering-proxy-replay.test.js.map +1 -0
- package/dist/tests/responsible-module.test.d.ts +1 -0
- package/dist/tests/responsible-module.test.js +109 -0
- package/dist/tests/responsible-module.test.js.map +1 -0
- package/package.json +5 -5
package/README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Interface Core
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<a href="https://www.npmjs.com/package/@antelopejs/interface-core"><img src="https://img.shields.io/npm/v/@antelopejs/interface-core?style=for-the-badge&labelColor=000000&color=000000" alt="npm"></a>
|
|
5
|
+
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=for-the-badge&labelColor=000000"></a>
|
|
6
|
+
<a href="https://discord.gg/sjK28QHrA7"><img src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000" alt="Discord"></a>
|
|
7
|
+
<a href="./docs/1.introduction.md"><img src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" alt="Documentation"></a>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
The foundational primitives for building AntelopeJS interfaces. This package provides proxy classes, decorator factories, metadata utilities, module lifecycle events, configuration types, and a structured logging system. It enables type-safe, module-aware communication between decoupled components with automatic cleanup on module unload.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @antelopejs/interface-core
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Documentation
|
|
19
|
+
|
|
20
|
+
Detailed documentation is available in the `docs` directory:
|
|
21
|
+
|
|
22
|
+
- [Introduction](./docs/1.introduction.md) - Overview and core concepts
|
|
23
|
+
- [Proxies](./docs/2.proxies.md) - `AsyncProxy`, `EventProxy`, `RegisteringProxy`, and `InterfaceFunction`
|
|
24
|
+
- [Decorators](./docs/3.decorators.md) - Decorator factory utilities for classes, properties, methods, and parameters
|
|
25
|
+
- [Metadata](./docs/4.metadata.md) - Reflection-based metadata with `GetMetadata`
|
|
26
|
+
- [Modules](./docs/5.modules.md) - Module lifecycle events and management functions
|
|
27
|
+
- [Logging](./docs/6.logging.md) - Structured logging system with channels and severity levels
|
|
28
|
+
- [Configuration](./docs/7.configuration.md) - Configuration types and `defineConfig`
|
|
29
|
+
|
|
30
|
+
## License
|
|
31
|
+
|
|
32
|
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
package/dist/internal.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const internal: {
|
|
|
7
7
|
moduleByFolder: {
|
|
8
8
|
dir: string;
|
|
9
9
|
id: string;
|
|
10
|
+
isImplementor?: boolean;
|
|
10
11
|
}[];
|
|
11
12
|
testStubMode: boolean;
|
|
12
13
|
knownAsync: Map<string, any[]>;
|
|
@@ -14,6 +15,7 @@ export declare const internal: {
|
|
|
14
15
|
knownEvents: any[];
|
|
15
16
|
interfaceConnections: Record<string, Record<string, InterfaceConnection[]>>;
|
|
16
17
|
asyncContextReporter: ((trace: NodeJS.CallSite[]) => void) | undefined;
|
|
18
|
+
replayErrorReporter: ((id: unknown, err: unknown) => void) | undefined;
|
|
17
19
|
addAsyncProxy(module: string, proxy: any): void;
|
|
18
20
|
addRegisteringProxy(module: string, proxy: any): void;
|
|
19
21
|
};
|
package/dist/internal.js
CHANGED
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;;AAKA,SAAS,aAAa,CAAC,GAA4B,EAAE,GAAW,EAAE,KAAU;IAC1E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,gBAAgB;AACH,QAAA,QAAQ,GAAG;IACtB,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;;AAKA,SAAS,aAAa,CAAC,GAA4B,EAAE,GAAW,EAAE,KAAU;IAC1E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,gBAAgB;AACH,QAAA,QAAQ,GAAG;IACtB,cAAc,EAAE,EAIb;IACH,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,IAAI,GAAG,EAAsB;IACzC,cAAc,EAAE,IAAI,GAAG,EAAsB;IAC7C,WAAW,EAAE,EAAW;IACxB,oBAAoB,EAAE,EAGrB;IACD,oBAAoB,EAAE,SAET;IACb,mBAAmB,EAAE,SAER;IAEb,aAAa,CAAC,MAAc,EAAE,KAAU;QACtC,aAAa,CAAC,gBAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,mBAAmB,CAAC,MAAc,EAAE,KAAU;QAC5C,aAAa,CAAC,gBAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;CACF,CAAC"}
|
package/dist/proxies.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EventProxy = exports.RegisteringProxy = exports.AsyncProxy = void 0;
|
|
4
4
|
exports.GetResponsibleModule = GetResponsibleModule;
|
|
5
5
|
const internal_1 = require("./internal");
|
|
6
|
+
const responsible_module_1 = require("./responsible-module");
|
|
6
7
|
const STUB_NOT_IMPLEMENTED = "Interface function called without implementation in test environment. " +
|
|
7
8
|
"Ensure the required module is loaded in your test config.";
|
|
8
9
|
/**
|
|
@@ -92,7 +93,15 @@ class RegisteringProxy {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
for (const [id, { args }] of this.registered) {
|
|
95
|
-
|
|
96
|
+
try {
|
|
97
|
+
callback(id, ...args);
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
// Best-effort replay: one throwing consumer must not strand the others.
|
|
101
|
+
if (internal_1.internal.replayErrorReporter) {
|
|
102
|
+
internal_1.internal.replayErrorReporter(id, err);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
96
105
|
}
|
|
97
106
|
}
|
|
98
107
|
/**
|
|
@@ -225,32 +234,6 @@ function captureCallStack(startFrame = 0) {
|
|
|
225
234
|
Error.stackTraceLimit = oldLimit;
|
|
226
235
|
return trace.slice(startFrame);
|
|
227
236
|
}
|
|
228
|
-
function findResponsibleFile(trace) {
|
|
229
|
-
let currentFound = "";
|
|
230
|
-
const lastInterface = "";
|
|
231
|
-
let currentBestMatch = 0;
|
|
232
|
-
for (const site of trace) {
|
|
233
|
-
const fileName = site.getFileName();
|
|
234
|
-
if (!fileName ||
|
|
235
|
-
fileName.startsWith("node:internal/") ||
|
|
236
|
-
fileName.match(/[/\\]node_modules[/\\]/)) {
|
|
237
|
-
continue;
|
|
238
|
-
}
|
|
239
|
-
for (const { dir, id } of internal_1.internal.moduleByFolder) {
|
|
240
|
-
if (fileName.startsWith(dir) && dir.length > currentBestMatch) {
|
|
241
|
-
currentFound = id;
|
|
242
|
-
currentBestMatch = dir.length;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
if (currentFound) {
|
|
246
|
-
return { module: currentFound, lastInterface };
|
|
247
|
-
}
|
|
248
|
-
if (!site.getFunctionName() && site.getTypeName()) {
|
|
249
|
-
break;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
return { lastInterface };
|
|
253
|
-
}
|
|
254
237
|
/**
|
|
255
238
|
* Gets the responsible module for the current execution context.
|
|
256
239
|
*
|
|
@@ -262,7 +245,7 @@ function findResponsibleFile(trace) {
|
|
|
262
245
|
*/
|
|
263
246
|
function GetResponsibleModule(startFrame = 0) {
|
|
264
247
|
const trace = captureCallStack(startFrame);
|
|
265
|
-
const responsible = findResponsibleFile(trace);
|
|
248
|
+
const responsible = (0, responsible_module_1.findResponsibleFile)(trace);
|
|
266
249
|
if (responsible.module) {
|
|
267
250
|
return responsible.module;
|
|
268
251
|
}
|
package/dist/proxies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxies.js","sourceRoot":"","sources":["../src/proxies.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"proxies.js","sourceRoot":"","sources":["../src/proxies.ts"],"names":[],"mappings":";;;AAuRA,oDAQC;AA/RD,yCAAsC;AACtC,6DAA2D;AAE3D,MAAM,oBAAoB,GACxB,wEAAwE;IACxE,2DAA2D,CAAC;AAI9D;;;;;GAKG;AACH,MAAa,UAAU;IACb,QAAQ,CAAK;IACb,KAAK,GAIR,EAAE,CAAC;IAER;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAW,EAAE,YAAsB;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,mBAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC/C,IAAI,CAAC;oBACH,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM;QACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,GAAG,IAAmB;QAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,mBAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC;CACF;AA5DD,gCA4DC;AAMD;;;;;GAKG;AACH,MAAa,gBAAgB;IACnB,gBAAgB,CAAK;IACrB,kBAAkB,CAAwB;IAC1C,UAAU,GAAG,IAAI,GAAG,EAMzB,CAAC;IAEJ;;;;;;;OAOG;IACI,UAAU,CAAC,QAAW,EAAE,YAAsB;QACnD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,mBAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,wEAAwE;gBACxE,IAAI,mBAAQ,CAAC,mBAAmB,EAAE,CAAC;oBACjC,mBAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,QAA8B;QAChD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM;QACX,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACI,QAAQ,CAAC,EAAU,EAAE,GAAG,IAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,mBAAQ,CAAC,YAAY,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,EAAU;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,GAAW;QACjC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA3GD,4CA2GC;AAGD;;;;;GAKG;AACH,MAAa,UAAU;IACb,UAAU,GAGb,EAAE,CAAC;IAER;QACE,mBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,GAAG,IAAmB;QAChC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,IAAO;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,EAAK;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,GAAW;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;IAC3E,CAAC;CACF;AApDD,gCAoDC;AAED,SAAS,gBAAgB,CAAC,UAAU,GAAG,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;IACvC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG,EAA8B,CAAC;IAC9C,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAqC,CAAC;IAC3D,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACrC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,UAAU,GAAG,CAAC;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAA,wCAAmB,EAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,mBAAQ,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC,aAAa,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ModuleFolderEntry {
|
|
2
|
+
dir: string;
|
|
3
|
+
id: string;
|
|
4
|
+
isImplementor?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface ResponsibleModuleResult {
|
|
7
|
+
module?: string;
|
|
8
|
+
lastInterface: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Walk the trace to decide which module is responsible for the current call.
|
|
12
|
+
*
|
|
13
|
+
* Rules:
|
|
14
|
+
* 1. `node_modules` and generic `node:internal/` frames are skipped.
|
|
15
|
+
* 2. `node:internal/modules/...` (the require loader) is a hard boundary:
|
|
16
|
+
* frames above it belong to the module currently being loaded (owning
|
|
17
|
+
* the side effect); frames below it belong to whoever triggered the
|
|
18
|
+
* require and must not be credited.
|
|
19
|
+
* 3. The first non-implementor match wins — that is user code. If only
|
|
20
|
+
* implementor modules match, the first implementor is used as a
|
|
21
|
+
* fallback so framework-level registrations still have an owner.
|
|
22
|
+
*/
|
|
23
|
+
export declare function findResponsibleFile(trace: NodeJS.CallSite[], entries?: ModuleFolderEntry[]): ResponsibleModuleResult;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findResponsibleFile = findResponsibleFile;
|
|
4
|
+
const internal_1 = require("./internal");
|
|
5
|
+
function findMatchingEntry(fileName, entries) {
|
|
6
|
+
let best;
|
|
7
|
+
let bestLen = 0;
|
|
8
|
+
for (const entry of entries) {
|
|
9
|
+
if (fileName.startsWith(entry.dir) && entry.dir.length > bestLen) {
|
|
10
|
+
best = entry;
|
|
11
|
+
bestLen = entry.dir.length;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return best;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Walk the trace to decide which module is responsible for the current call.
|
|
18
|
+
*
|
|
19
|
+
* Rules:
|
|
20
|
+
* 1. `node_modules` and generic `node:internal/` frames are skipped.
|
|
21
|
+
* 2. `node:internal/modules/...` (the require loader) is a hard boundary:
|
|
22
|
+
* frames above it belong to the module currently being loaded (owning
|
|
23
|
+
* the side effect); frames below it belong to whoever triggered the
|
|
24
|
+
* require and must not be credited.
|
|
25
|
+
* 3. The first non-implementor match wins — that is user code. If only
|
|
26
|
+
* implementor modules match, the first implementor is used as a
|
|
27
|
+
* fallback so framework-level registrations still have an owner.
|
|
28
|
+
*/
|
|
29
|
+
function findResponsibleFile(trace, entries = internal_1.internal.moduleByFolder) {
|
|
30
|
+
const lastInterface = "";
|
|
31
|
+
let implementorMatch;
|
|
32
|
+
for (const site of trace) {
|
|
33
|
+
const fileName = site.getFileName();
|
|
34
|
+
if (fileName?.startsWith("node:internal/modules/")) {
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
if (!fileName ||
|
|
38
|
+
fileName.startsWith("node:internal/") ||
|
|
39
|
+
fileName.match(/[/\\]node_modules[/\\]/)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const match = findMatchingEntry(fileName, entries);
|
|
43
|
+
if (!match) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (!match.isImplementor) {
|
|
47
|
+
return { module: match.id, lastInterface };
|
|
48
|
+
}
|
|
49
|
+
if (!implementorMatch) {
|
|
50
|
+
implementorMatch = match.id;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (implementorMatch) {
|
|
54
|
+
return { module: implementorMatch, lastInterface };
|
|
55
|
+
}
|
|
56
|
+
return { lastInterface };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=responsible-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsible-module.js","sourceRoot":"","sources":["../src/responsible-module.ts"],"names":[],"mappings":";;AAyCA,kDAmCC;AA5ED,yCAAsC;AAatC,SAAS,iBAAiB,CACxB,QAAgB,EAChB,OAA4B;IAE5B,IAAI,IAAmC,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;YACjE,IAAI,GAAG,KAAK,CAAC;YACb,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CACjC,KAAwB,EACxB,UAA+B,mBAAQ,CAAC,cAAc;IAEtD,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,gBAAoC,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,EAAE,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACnD,MAAM;QACR,CAAC;QACD,IACE,CAAC,QAAQ;YACT,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACrC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EACxC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,gBAAgB,GAAG,KAAK,CAAC,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const internal_1 = require("../internal");
|
|
6
|
+
describe("RegisteringProxy onRegister replay", () => {
|
|
7
|
+
let savedReporter;
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
savedReporter = internal_1.internal.replayErrorReporter;
|
|
10
|
+
});
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
internal_1.internal.replayErrorReporter = savedReporter;
|
|
13
|
+
});
|
|
14
|
+
it("replays every entry even when an earlier callback throws", () => {
|
|
15
|
+
const proxy = new __1.RegisteringProxy();
|
|
16
|
+
proxy.register("a", "alpha");
|
|
17
|
+
proxy.register("b", "beta");
|
|
18
|
+
proxy.register("c", "gamma");
|
|
19
|
+
const seen = [];
|
|
20
|
+
const errors = [];
|
|
21
|
+
internal_1.internal.replayErrorReporter = (id, err) => errors.push({ id, err });
|
|
22
|
+
proxy.onRegister((id, arg) => {
|
|
23
|
+
seen.push(`${id}:${arg}`);
|
|
24
|
+
if (id === "a") {
|
|
25
|
+
throw new Error("boom");
|
|
26
|
+
}
|
|
27
|
+
}, true);
|
|
28
|
+
(0, chai_1.expect)(seen).to.deep.equal(["a:alpha", "b:beta", "c:gamma"]);
|
|
29
|
+
(0, chai_1.expect)(errors).to.have.length(1);
|
|
30
|
+
(0, chai_1.expect)(errors[0].id).to.equal("a");
|
|
31
|
+
(0, chai_1.expect)(errors[0].err).to.be.instanceOf(Error);
|
|
32
|
+
});
|
|
33
|
+
it("does not require a reporter to remain resilient", () => {
|
|
34
|
+
internal_1.internal.replayErrorReporter = undefined;
|
|
35
|
+
const proxy = new __1.RegisteringProxy();
|
|
36
|
+
proxy.register("a");
|
|
37
|
+
proxy.register("b");
|
|
38
|
+
const seen = [];
|
|
39
|
+
proxy.onRegister((id) => {
|
|
40
|
+
seen.push(String(id));
|
|
41
|
+
if (id === "a")
|
|
42
|
+
throw new Error("boom");
|
|
43
|
+
}, true);
|
|
44
|
+
(0, chai_1.expect)(seen).to.deep.equal(["a", "b"]);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=registering-proxy-replay.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registering-proxy-replay.test.js","sourceRoot":"","sources":["../../src/tests/registering-proxy-replay.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,0BAAsC;AACtC,0CAAuC;AAEvC,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,aAAkD,CAAC;IAEvD,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,mBAAQ,CAAC,mBAAmB,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,mBAAQ,CAAC,mBAAmB,GAAG,aAAa,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,oBAAgB,EAAqC,CAAC;QACxE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAyC,EAAE,CAAC;QACxD,mBAAQ,CAAC,mBAAmB,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,mBAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,oBAAgB,EAAwB,CAAC;QAC3D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const responsible_module_1 = require("../responsible-module");
|
|
5
|
+
function frame(fileName, opts = {}) {
|
|
6
|
+
return {
|
|
7
|
+
getFileName: () => fileName,
|
|
8
|
+
getFunctionName: () => "functionName" in opts ? (opts.functionName ?? null) : "fn",
|
|
9
|
+
getTypeName: () => opts.typeName ?? null,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
describe("findResponsibleFile", () => {
|
|
13
|
+
it("skips node_modules frames and walks to the user module", () => {
|
|
14
|
+
const entries = [{ id: "local", dir: "/app" }];
|
|
15
|
+
const trace = [
|
|
16
|
+
frame("/app/node_modules/@antelopejs/interface-core/dist/proxies.js"),
|
|
17
|
+
frame("/app/dist/pages/skins.js"),
|
|
18
|
+
];
|
|
19
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("local");
|
|
20
|
+
});
|
|
21
|
+
it("skips non-loader node:internal frames", () => {
|
|
22
|
+
const entries = [{ id: "local", dir: "/app" }];
|
|
23
|
+
const trace = [
|
|
24
|
+
frame("node:internal/timers"),
|
|
25
|
+
frame("node:internal/process/task_queues"),
|
|
26
|
+
frame("/app/dist/index.js"),
|
|
27
|
+
];
|
|
28
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("local");
|
|
29
|
+
});
|
|
30
|
+
it("returns the first non-implementor match even when an implementor appears earlier", () => {
|
|
31
|
+
const entries = [
|
|
32
|
+
{ id: "cms", dir: "/project/cms", isImplementor: true },
|
|
33
|
+
{ id: "playground", dir: "/project/cms/playground" },
|
|
34
|
+
];
|
|
35
|
+
const trace = [
|
|
36
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
37
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
38
|
+
frame("/project/cms/playground/dist/table-view/drawer/page.js"),
|
|
39
|
+
];
|
|
40
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("playground");
|
|
41
|
+
});
|
|
42
|
+
it("falls back to the first implementor match when no consumer frame matches", () => {
|
|
43
|
+
const entries = [
|
|
44
|
+
{ id: "cms", dir: "/project/cms", isImplementor: true },
|
|
45
|
+
];
|
|
46
|
+
const trace = [
|
|
47
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
48
|
+
frame("/project/cms/dist/implementations/cms/hooks.js"),
|
|
49
|
+
];
|
|
50
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("cms");
|
|
51
|
+
});
|
|
52
|
+
it("returns undefined when no frame matches any module", () => {
|
|
53
|
+
const entries = [{ id: "local", dir: "/app" }];
|
|
54
|
+
const trace = [frame("/some/unrelated/file.js"), frame("/other/path.js")];
|
|
55
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal(undefined);
|
|
56
|
+
});
|
|
57
|
+
it("picks the longest matching folder on a single frame", () => {
|
|
58
|
+
const entries = [
|
|
59
|
+
{ id: "cms", dir: "/project/cms", isImplementor: true },
|
|
60
|
+
{ id: "playground", dir: "/project/cms/playground" },
|
|
61
|
+
];
|
|
62
|
+
const trace = [
|
|
63
|
+
frame("/project/cms/playground/dist/table-view/drawer/page.js"),
|
|
64
|
+
];
|
|
65
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("playground");
|
|
66
|
+
});
|
|
67
|
+
it("returns the consumer when the implementor lives inside its cache folder", () => {
|
|
68
|
+
const entries = [
|
|
69
|
+
{ id: "local", dir: "/home/user/app" },
|
|
70
|
+
{
|
|
71
|
+
id: "cms",
|
|
72
|
+
dir: "/home/user/app/.antelope/cache/@antelopejs-private/cms",
|
|
73
|
+
isImplementor: true,
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
const trace = [
|
|
77
|
+
frame("/home/user/app/.antelope/cache/@antelopejs-private/cms/dist/interfaces/cms/page.js"),
|
|
78
|
+
frame("/home/user/app/dist/pages/skins.js"),
|
|
79
|
+
];
|
|
80
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("local");
|
|
81
|
+
});
|
|
82
|
+
it("walks past unregistered intermediate frames between implementor and consumer", () => {
|
|
83
|
+
const entries = [
|
|
84
|
+
{ id: "cms", dir: "/project/cms", isImplementor: true },
|
|
85
|
+
{ id: "playground", dir: "/project/cms/playground" },
|
|
86
|
+
];
|
|
87
|
+
const trace = [
|
|
88
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
89
|
+
frame("/third-party/anon.js", { functionName: null, typeName: "Proxy" }),
|
|
90
|
+
frame("/project/cms/playground/dist/page.js"),
|
|
91
|
+
];
|
|
92
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("playground");
|
|
93
|
+
});
|
|
94
|
+
it("stops at the module-loader boundary so top-level side effects are attributed to the loading module, not the requirer", () => {
|
|
95
|
+
const entries = [
|
|
96
|
+
{ id: "cms", dir: "/project/cms", isImplementor: true },
|
|
97
|
+
{ id: "playground", dir: "/project/cms/playground" },
|
|
98
|
+
];
|
|
99
|
+
const trace = [
|
|
100
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
101
|
+
frame("/project/cms/dist/interfaces/cms/page.js"),
|
|
102
|
+
frame("node:internal/modules/cjs/loader"),
|
|
103
|
+
frame("node:internal/modules/helpers"),
|
|
104
|
+
frame("/project/cms/playground/dist/table-view/category.js"),
|
|
105
|
+
];
|
|
106
|
+
(0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("cms");
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=responsible-module.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsible-module.test.js","sourceRoot":"","sources":["../../src/tests/responsible-module.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/interface-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "AntelopeJS core interface primitives - proxies, decorators, interface functions, and logging",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"antelopejs",
|
|
@@ -85,12 +85,12 @@
|
|
|
85
85
|
"@biomejs/biome": "2.3.2",
|
|
86
86
|
"@types/chai": "^4.3.20",
|
|
87
87
|
"@types/mocha": "^10.0.10",
|
|
88
|
-
"@types/node": "^22.
|
|
88
|
+
"@types/node": "^22.19.15",
|
|
89
89
|
"chai": "^4.5.0",
|
|
90
|
-
"release-it": "^19.
|
|
90
|
+
"release-it": "^19.2.4",
|
|
91
91
|
"release-it-changelogen": "^0.1.0",
|
|
92
|
-
"rimraf": "^6.
|
|
93
|
-
"typescript": "^5.
|
|
92
|
+
"rimraf": "^6.1.3",
|
|
93
|
+
"typescript": "^5.9.3"
|
|
94
94
|
},
|
|
95
95
|
"publishConfig": {
|
|
96
96
|
"access": "public"
|