@matter/nodejs 0.11.0-alpha.0-20241005-e3e4e4a7a
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/LICENSE +201 -0
- package/README.md +1 -0
- package/dist/cjs/behavior/index.d.ts +7 -0
- package/dist/cjs/behavior/index.d.ts.map +1 -0
- package/dist/cjs/behavior/index.js +8 -0
- package/dist/cjs/behavior/index.js.map +6 -0
- package/dist/cjs/behavior/instrumentation.d.ts +11 -0
- package/dist/cjs/behavior/instrumentation.d.ts.map +1 -0
- package/dist/cjs/behavior/instrumentation.js +47 -0
- package/dist/cjs/behavior/instrumentation.js.map +6 -0
- package/dist/cjs/behavior/register.d.ts +7 -0
- package/dist/cjs/behavior/register.d.ts.map +1 -0
- package/dist/cjs/behavior/register.js +9 -0
- package/dist/cjs/behavior/register.js.map +6 -0
- package/dist/cjs/crypto/NodeJsCrypto.d.ts +29 -0
- package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +1 -0
- package/dist/cjs/crypto/NodeJsCrypto.js +154 -0
- package/dist/cjs/crypto/NodeJsCrypto.js.map +6 -0
- package/dist/cjs/crypto/index.d.ts +8 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -0
- package/dist/cjs/crypto/index.js +25 -0
- package/dist/cjs/crypto/index.js.map +6 -0
- package/dist/cjs/crypto/register.d.ts +7 -0
- package/dist/cjs/crypto/register.d.ts.map +1 -0
- package/dist/cjs/crypto/register.js +21 -0
- package/dist/cjs/crypto/register.js.map +6 -0
- package/dist/cjs/environment/NodeJsActionTracer.d.ts +15 -0
- package/dist/cjs/environment/NodeJsActionTracer.d.ts.map +1 -0
- package/dist/cjs/environment/NodeJsActionTracer.js +80 -0
- package/dist/cjs/environment/NodeJsActionTracer.js.map +6 -0
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +55 -0
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -0
- package/dist/cjs/environment/NodeJsEnvironment.js +121 -0
- package/dist/cjs/environment/NodeJsEnvironment.js.map +6 -0
- package/dist/cjs/environment/ProcessManager.d.ts +45 -0
- package/dist/cjs/environment/ProcessManager.d.ts.map +1 -0
- package/dist/cjs/environment/ProcessManager.js +112 -0
- package/dist/cjs/environment/ProcessManager.js.map +6 -0
- package/dist/cjs/environment/index.d.ts +10 -0
- package/dist/cjs/environment/index.d.ts.map +1 -0
- package/dist/cjs/environment/index.js +27 -0
- package/dist/cjs/environment/index.js.map +6 -0
- package/dist/cjs/environment/register.d.ts +7 -0
- package/dist/cjs/environment/register.d.ts.map +1 -0
- package/dist/cjs/environment/register.js +10 -0
- package/dist/cjs/environment/register.js.map +6 -0
- package/dist/cjs/index.d.ts +12 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/log/FileLogger.d.ts +13 -0
- package/dist/cjs/log/FileLogger.d.ts.map +1 -0
- package/dist/cjs/log/FileLogger.js +46 -0
- package/dist/cjs/log/FileLogger.js.map +6 -0
- package/dist/cjs/log/index.d.ts +7 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +24 -0
- package/dist/cjs/log/index.js.map +6 -0
- package/dist/cjs/net/NodeJsNetwork.d.ts +27 -0
- package/dist/cjs/net/NodeJsNetwork.d.ts.map +1 -0
- package/dist/cjs/net/NodeJsNetwork.js +145 -0
- package/dist/cjs/net/NodeJsNetwork.js.map +6 -0
- package/dist/cjs/net/NodeJsUdpChannel.d.ts +23 -0
- package/dist/cjs/net/NodeJsUdpChannel.d.ts.map +1 -0
- package/dist/cjs/net/NodeJsUdpChannel.js +181 -0
- package/dist/cjs/net/NodeJsUdpChannel.js.map +6 -0
- package/dist/cjs/net/index.d.ts +9 -0
- package/dist/cjs/net/index.d.ts.map +1 -0
- package/dist/cjs/net/index.js +26 -0
- package/dist/cjs/net/index.js.map +6 -0
- package/dist/cjs/net/register.d.ts +7 -0
- package/dist/cjs/net/register.d.ts.map +1 -0
- package/dist/cjs/net/register.js +16 -0
- package/dist/cjs/net/register.js.map +6 -0
- package/dist/cjs/package.json +11 -0
- package/dist/cjs/storage/StorageBackendDisk.d.ts +27 -0
- package/dist/cjs/storage/StorageBackendDisk.d.ts.map +1 -0
- package/dist/cjs/storage/StorageBackendDisk.js +128 -0
- package/dist/cjs/storage/StorageBackendDisk.js.map +6 -0
- package/dist/cjs/storage/StorageBackendJsonFile.d.ts +27 -0
- package/dist/cjs/storage/StorageBackendJsonFile.d.ts.map +1 -0
- package/dist/cjs/storage/StorageBackendJsonFile.js +110 -0
- package/dist/cjs/storage/StorageBackendJsonFile.js.map +6 -0
- package/dist/cjs/storage/index.d.ts +8 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +25 -0
- package/dist/cjs/storage/index.js.map +6 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/behavior/index.d.ts +7 -0
- package/dist/esm/behavior/index.d.ts.map +1 -0
- package/dist/esm/behavior/index.js +7 -0
- package/dist/esm/behavior/index.js.map +6 -0
- package/dist/esm/behavior/instrumentation.d.ts +11 -0
- package/dist/esm/behavior/instrumentation.d.ts.map +1 -0
- package/dist/esm/behavior/instrumentation.js +27 -0
- package/dist/esm/behavior/instrumentation.js.map +6 -0
- package/dist/esm/behavior/register.d.ts +7 -0
- package/dist/esm/behavior/register.d.ts.map +1 -0
- package/dist/esm/behavior/register.js +8 -0
- package/dist/esm/behavior/register.js.map +6 -0
- package/dist/esm/crypto/NodeJsCrypto.d.ts +29 -0
- package/dist/esm/crypto/NodeJsCrypto.d.ts.map +1 -0
- package/dist/esm/crypto/NodeJsCrypto.js +135 -0
- package/dist/esm/crypto/NodeJsCrypto.js.map +6 -0
- package/dist/esm/crypto/index.d.ts +8 -0
- package/dist/esm/crypto/index.d.ts.map +1 -0
- package/dist/esm/crypto/index.js +8 -0
- package/dist/esm/crypto/index.js.map +6 -0
- package/dist/esm/crypto/register.d.ts +7 -0
- package/dist/esm/crypto/register.d.ts.map +1 -0
- package/dist/esm/crypto/register.js +20 -0
- package/dist/esm/crypto/register.js.map +6 -0
- package/dist/esm/environment/NodeJsActionTracer.d.ts +15 -0
- package/dist/esm/environment/NodeJsActionTracer.d.ts.map +1 -0
- package/dist/esm/environment/NodeJsActionTracer.js +60 -0
- package/dist/esm/environment/NodeJsActionTracer.js.map +6 -0
- package/dist/esm/environment/NodeJsEnvironment.d.ts +55 -0
- package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -0
- package/dist/esm/environment/NodeJsEnvironment.js +108 -0
- package/dist/esm/environment/NodeJsEnvironment.js.map +6 -0
- package/dist/esm/environment/ProcessManager.d.ts +45 -0
- package/dist/esm/environment/ProcessManager.d.ts.map +1 -0
- package/dist/esm/environment/ProcessManager.js +92 -0
- package/dist/esm/environment/ProcessManager.js.map +6 -0
- package/dist/esm/environment/index.d.ts +10 -0
- package/dist/esm/environment/index.d.ts.map +1 -0
- package/dist/esm/environment/index.js +10 -0
- package/dist/esm/environment/index.js.map +6 -0
- package/dist/esm/environment/register.d.ts +7 -0
- package/dist/esm/environment/register.d.ts.map +1 -0
- package/dist/esm/environment/register.js +9 -0
- package/dist/esm/environment/register.js.map +6 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/log/FileLogger.d.ts +13 -0
- package/dist/esm/log/FileLogger.d.ts.map +1 -0
- package/dist/esm/log/FileLogger.js +26 -0
- package/dist/esm/log/FileLogger.js.map +6 -0
- package/dist/esm/log/index.d.ts +7 -0
- package/dist/esm/log/index.d.ts.map +1 -0
- package/dist/esm/log/index.js +7 -0
- package/dist/esm/log/index.js.map +6 -0
- package/dist/esm/net/NodeJsNetwork.d.ts +27 -0
- package/dist/esm/net/NodeJsNetwork.d.ts.map +1 -0
- package/dist/esm/net/NodeJsNetwork.js +133 -0
- package/dist/esm/net/NodeJsNetwork.js.map +6 -0
- package/dist/esm/net/NodeJsUdpChannel.d.ts +23 -0
- package/dist/esm/net/NodeJsUdpChannel.d.ts.map +1 -0
- package/dist/esm/net/NodeJsUdpChannel.js +159 -0
- package/dist/esm/net/NodeJsUdpChannel.js.map +6 -0
- package/dist/esm/net/index.d.ts +9 -0
- package/dist/esm/net/index.d.ts.map +1 -0
- package/dist/esm/net/index.js +9 -0
- package/dist/esm/net/index.js.map +6 -0
- package/dist/esm/net/register.d.ts +7 -0
- package/dist/esm/net/register.d.ts.map +1 -0
- package/dist/esm/net/register.js +15 -0
- package/dist/esm/net/register.js.map +6 -0
- package/dist/esm/package.json +11 -0
- package/dist/esm/storage/StorageBackendDisk.d.ts +27 -0
- package/dist/esm/storage/StorageBackendDisk.d.ts.map +1 -0
- package/dist/esm/storage/StorageBackendDisk.js +108 -0
- package/dist/esm/storage/StorageBackendDisk.js.map +6 -0
- package/dist/esm/storage/StorageBackendJsonFile.d.ts +27 -0
- package/dist/esm/storage/StorageBackendJsonFile.d.ts.map +1 -0
- package/dist/esm/storage/StorageBackendJsonFile.js +90 -0
- package/dist/esm/storage/StorageBackendJsonFile.js.map +6 -0
- package/dist/esm/storage/index.d.ts +8 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +8 -0
- package/dist/esm/storage/index.js.map +6 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +114 -0
- package/src/behavior/index.ts +7 -0
- package/src/behavior/instrumentation.ts +32 -0
- package/src/behavior/register.ts +9 -0
- package/src/crypto/NodeJsCrypto.ts +164 -0
- package/src/crypto/index.ts +8 -0
- package/src/crypto/register.ts +25 -0
- package/src/environment/NodeJsActionTracer.ts +70 -0
- package/src/environment/NodeJsEnvironment.ts +172 -0
- package/src/environment/ProcessManager.ts +128 -0
- package/src/environment/index.ts +10 -0
- package/src/environment/register.ts +10 -0
- package/src/index.ts +12 -0
- package/src/log/FileLogger.ts +30 -0
- package/src/log/index.ts +7 -0
- package/src/net/NodeJsNetwork.ts +157 -0
- package/src/net/NodeJsUdpChannel.ts +179 -0
- package/src/net/index.ts +9 -0
- package/src/net/register.ts +20 -0
- package/src/storage/StorageBackendDisk.ts +132 -0
- package/src/storage/StorageBackendJsonFile.ts +102 -0
- package/src/storage/index.ts +8 -0
- package/src/tsconfig.json +28 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var NodeJsActionTracer_exports = {};
|
|
20
|
+
__export(NodeJsActionTracer_exports, {
|
|
21
|
+
NodeJsActionTracer: () => NodeJsActionTracer
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(NodeJsActionTracer_exports);
|
|
24
|
+
var import_general = require("#general");
|
|
25
|
+
var import_node = require("#node");
|
|
26
|
+
var import_promises = require("fs/promises");
|
|
27
|
+
var import_path = require("path");
|
|
28
|
+
/**
|
|
29
|
+
* @license
|
|
30
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
31
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
+
*/
|
|
33
|
+
class NodeJsActionTracer extends import_node.ActionTracer {
|
|
34
|
+
#path;
|
|
35
|
+
#output;
|
|
36
|
+
#write;
|
|
37
|
+
constructor(path) {
|
|
38
|
+
super();
|
|
39
|
+
this.#path = path;
|
|
40
|
+
}
|
|
41
|
+
static configure(env) {
|
|
42
|
+
env.vars.use(() => {
|
|
43
|
+
if (env.has(import_node.ActionTracer)) {
|
|
44
|
+
env.delete(env.get(import_node.ActionTracer).constructor);
|
|
45
|
+
}
|
|
46
|
+
if (!env.vars.boolean("trace.enable")) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const path = (0, import_path.resolve)(env.vars.get("path.root", "."), env.vars.get("trace.path", "trace.jsonl"));
|
|
50
|
+
const tracer = new NodeJsActionTracer(path);
|
|
51
|
+
env.set(import_node.ActionTracer, tracer);
|
|
52
|
+
env.runtime.add(tracer);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
[Symbol.asyncDispose]() {
|
|
56
|
+
import_general.MaybePromise.then(this.#write, () => this.#output?.close());
|
|
57
|
+
}
|
|
58
|
+
record(action) {
|
|
59
|
+
const raw = {
|
|
60
|
+
...action,
|
|
61
|
+
path: action.path?.toString(false),
|
|
62
|
+
mutations: action.mutations ? action.mutations.map((m) => ({ ...m, path: m.path.toString(false) })) : void 0
|
|
63
|
+
};
|
|
64
|
+
this.#write = import_general.MaybePromise.then(this.#write, () => this.#record(raw));
|
|
65
|
+
}
|
|
66
|
+
async #record(action) {
|
|
67
|
+
if (this.#output === void 0) {
|
|
68
|
+
this.#output = await (0, import_promises.open)(this.#path, "w");
|
|
69
|
+
}
|
|
70
|
+
await this.#output.write(JSON.stringify(action, replacer));
|
|
71
|
+
await this.#output.write("\n");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function replacer(_key, value) {
|
|
75
|
+
if (typeof value === "bigint" || ArrayBuffer.isView(value)) {
|
|
76
|
+
return (0, import_general.serialize)(value);
|
|
77
|
+
}
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=NodeJsActionTracer.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/environment/NodeJsActionTracer.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,kBAA6B;AAC7B,sBAAiC;AACjC,kBAAwB;AATxB;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,2BAA2B,yBAAa;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,MAAc;AACtB,UAAM;AAEN,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEA,OAAO,UAAU,KAAkB;AAC/B,QAAI,KAAK,IAAI,MAAM;AACf,UAAI,IAAI,IAAI,wBAAY,GAAG;AACvB,YAAI,OAAO,IAAI,IAAI,wBAAY,EAAE,WAAqC;AAAA,MAC1E;AAEA,UAAI,CAAC,IAAI,KAAK,QAAQ,cAAc,GAAG;AACnC;AAAA,MACJ;AAEA,YAAM,WAAO,qBAAQ,IAAI,KAAK,IAAI,aAAa,GAAG,GAAG,IAAI,KAAK,IAAI,cAAc,aAAa,CAAC;AAE9F,YAAM,SAAS,IAAI,mBAAmB,IAAI;AAC1C,UAAI,IAAI,0BAAc,MAAM;AAC5B,UAAI,QAAQ,IAAI,MAAM;AAAA,IAC1B,CAAC;AAAA,EACL;AAAA,EAEA,CAAC,OAAO,YAAY,IAAI;AACpB,gCAAa,KAAK,KAAK,QAAQ,MAAM,KAAK,SAAS,MAAM,CAAC;AAAA,EAC9D;AAAA,EAES,OAAO,QAA6B;AACzC,UAAM,MAAM;AAAA,MACR,GAAG;AAAA,MACH,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,MACjC,WAAW,OAAO,YACZ,OAAO,UAAU,IAAI,QAAM,EAAE,GAAG,GAAG,MAAM,EAAE,KAAK,SAAS,KAAK,EAAE,EAAE,IAClE;AAAA,IACV;AACA,SAAK,SAAS,4BAAa,KAAK,KAAK,QAAQ,MAAM,KAAK,QAAQ,GAAG,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,QAAQ,QAAgB;AAC1B,QAAI,KAAK,YAAY,QAAW;AAC5B,WAAK,UAAU,UAAM,sBAAK,KAAK,OAAO,GAAG;AAAA,IAC7C;AACA,UAAM,KAAK,QAAQ,MAAM,KAAK,UAAU,QAAQ,QAAQ,CAAC;AACzD,UAAM,KAAK,QAAQ,MAAM,IAAI;AAAA,EACjC;AACJ;AAEA,SAAS,SAAS,MAAc,OAAY;AACxC,MAAI,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK,GAAG;AACxD,eAAO,0BAAU,KAAK;AAAA,EAC1B;AACA,SAAO;AACX;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Environment, VariableService } from "#general";
|
|
7
|
+
/**
|
|
8
|
+
* This is the default environment implementation for Node.js:
|
|
9
|
+
*
|
|
10
|
+
* - Sets variables using rudimentary command line, environment and configuration file parsers.
|
|
11
|
+
*
|
|
12
|
+
* - Processes UNIX-style signals and sets process exit codes via {@link ProcessManager}
|
|
13
|
+
*
|
|
14
|
+
* - Creates a default storage pool using the loaded configuration.
|
|
15
|
+
*
|
|
16
|
+
* You can modify this behavior:
|
|
17
|
+
*
|
|
18
|
+
* - Via configuration
|
|
19
|
+
*
|
|
20
|
+
* - By modifying {@link Environment.default}
|
|
21
|
+
*
|
|
22
|
+
* - By providing an {@link Environment} to your components other than {@link Environment.default}
|
|
23
|
+
*
|
|
24
|
+
* The settings are applied in this order (the higher numbers overwrite lower numbers):
|
|
25
|
+
* 1. Some internal Defaults (mainly Loglevel and such)
|
|
26
|
+
* 2. Config file
|
|
27
|
+
* 3. Environment variables (MATTER_*)
|
|
28
|
+
* 4. Command line parameters
|
|
29
|
+
*
|
|
30
|
+
* The following variables are defined by this class additionally to {@link Environment}:
|
|
31
|
+
* * `environment` - Name of the environment, Default "default"
|
|
32
|
+
* * `path.root` - Path considered as root for any files to store, Fallback: ".", Default: APPDATA/.matter (Windows), HOME/.matter else (or .matter-<envname>)
|
|
33
|
+
* * `path.config` - Path to config file, Default: "config.json"
|
|
34
|
+
* * `trace.path` - Path of the trace file to write, Default: "trace.jsonl" relative to path.root
|
|
35
|
+
* * `trace.enable` - Enable writing a trace file
|
|
36
|
+
* * `storage.path` - Where to store storage files, Default: "path.root"
|
|
37
|
+
* * `storage.clear` - Clear storage on start? Default: false
|
|
38
|
+
* * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
|
|
39
|
+
* * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
|
|
40
|
+
* * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
|
|
41
|
+
*/
|
|
42
|
+
export declare function NodeJsEnvironment(): Environment;
|
|
43
|
+
export declare function loadConfigFile(vars: VariableService): any;
|
|
44
|
+
export declare function getDefaults(vars: VariableService): {
|
|
45
|
+
environment: "default";
|
|
46
|
+
path: {
|
|
47
|
+
root: string;
|
|
48
|
+
config: string;
|
|
49
|
+
};
|
|
50
|
+
runtime: {
|
|
51
|
+
signals: boolean;
|
|
52
|
+
exitcode: boolean;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=NodeJsEnvironment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,WAAW,EAMX,eAAe,EAClB,MAAM,UAAU,CAAC;AAQlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,gBAkBhC;AAyCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,OAsBnD;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;EAgBhD"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var NodeJsEnvironment_exports = {};
|
|
20
|
+
__export(NodeJsEnvironment_exports, {
|
|
21
|
+
NodeJsEnvironment: () => NodeJsEnvironment,
|
|
22
|
+
getDefaults: () => getDefaults,
|
|
23
|
+
loadConfigFile: () => loadConfigFile
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(NodeJsEnvironment_exports);
|
|
26
|
+
var import_general = require("#general");
|
|
27
|
+
var import_fs = require("fs");
|
|
28
|
+
var import_path = require("path");
|
|
29
|
+
var import_NodeJsNetwork = require("../net/NodeJsNetwork.js");
|
|
30
|
+
var import_StorageBackendDisk = require("../storage/StorageBackendDisk.js");
|
|
31
|
+
var import_NodeJsActionTracer = require("./NodeJsActionTracer.js");
|
|
32
|
+
var import_ProcessManager = require("./ProcessManager.js");
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
38
|
+
function NodeJsEnvironment() {
|
|
39
|
+
const env = new import_general.Environment("default");
|
|
40
|
+
loadVariables(env);
|
|
41
|
+
configureRuntime(env);
|
|
42
|
+
configureStorage(env);
|
|
43
|
+
configureNetwork(env);
|
|
44
|
+
if (!env.vars.has("logger.format") && import_general.Logger.format === import_general.LogFormat.PLAIN && process.stdin?.isTTY) {
|
|
45
|
+
env.vars.set("logger.format", import_general.LogFormat.ANSI);
|
|
46
|
+
}
|
|
47
|
+
import_NodeJsActionTracer.NodeJsActionTracer.configure(env);
|
|
48
|
+
return env;
|
|
49
|
+
}
|
|
50
|
+
function loadVariables(env) {
|
|
51
|
+
const vars = env.vars;
|
|
52
|
+
vars.addConfigStyle(getDefaults(vars));
|
|
53
|
+
vars.addUnixEnvStyle(process.env);
|
|
54
|
+
vars.addArgvStyle(process.argv);
|
|
55
|
+
vars.addConfigStyle(loadConfigFile(vars));
|
|
56
|
+
vars.addUnixEnvStyle(process.env);
|
|
57
|
+
vars.addArgvStyle(process.argv);
|
|
58
|
+
}
|
|
59
|
+
function configureRuntime(env) {
|
|
60
|
+
const processManager = new import_ProcessManager.ProcessManager(env);
|
|
61
|
+
env.set(import_ProcessManager.ProcessManager, processManager);
|
|
62
|
+
}
|
|
63
|
+
function configureStorage(env) {
|
|
64
|
+
const service = env.get(import_general.StorageService);
|
|
65
|
+
env.vars.use(() => {
|
|
66
|
+
const location = env.vars.get("storage.path", env.vars.get("path.root", "."));
|
|
67
|
+
service.location = location;
|
|
68
|
+
});
|
|
69
|
+
service.factory = (namespace) => new import_StorageBackendDisk.StorageBackendDisk((0, import_path.resolve)(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
|
|
70
|
+
}
|
|
71
|
+
function configureNetwork(env) {
|
|
72
|
+
env.set(import_general.Network, new import_NodeJsNetwork.NodeJsNetwork());
|
|
73
|
+
}
|
|
74
|
+
function loadConfigFile(vars) {
|
|
75
|
+
const path = vars.get("path.config", "config.json");
|
|
76
|
+
if (!(0, import_fs.existsSync)(path)) {
|
|
77
|
+
return {};
|
|
78
|
+
}
|
|
79
|
+
let configJson;
|
|
80
|
+
try {
|
|
81
|
+
configJson = (0, import_fs.readFileSync)(path).toString();
|
|
82
|
+
} catch (e) {
|
|
83
|
+
throw new import_general.ImplementationError(`Error reading configuration file ${path}: ${e.message}`);
|
|
84
|
+
}
|
|
85
|
+
let configVars;
|
|
86
|
+
try {
|
|
87
|
+
configVars = JSON.parse(configJson);
|
|
88
|
+
} catch (e) {
|
|
89
|
+
throw new import_general.ImplementationError(`Error parsing configuration file ${path}: ${e.message}`);
|
|
90
|
+
}
|
|
91
|
+
return configVars;
|
|
92
|
+
}
|
|
93
|
+
function getDefaultRoot(envName) {
|
|
94
|
+
let matterDir;
|
|
95
|
+
if (process.platform === "win32") {
|
|
96
|
+
matterDir = (0, import_path.resolve)(process.env.APPDATA ?? ".", "matter");
|
|
97
|
+
} else {
|
|
98
|
+
matterDir = (0, import_path.resolve)(process.env.HOME ?? ".", ".matter");
|
|
99
|
+
}
|
|
100
|
+
if (envName !== "default") {
|
|
101
|
+
matterDir = `${matterDir}-${envName}`;
|
|
102
|
+
}
|
|
103
|
+
return matterDir;
|
|
104
|
+
}
|
|
105
|
+
function getDefaults(vars) {
|
|
106
|
+
const envName = vars.get("environment", "default");
|
|
107
|
+
const rootPath = vars.get("path.root", getDefaultRoot(envName));
|
|
108
|
+
const configPath = (0, import_path.resolve)(rootPath, vars.get("path.config", "config.json"));
|
|
109
|
+
return {
|
|
110
|
+
environment: envName,
|
|
111
|
+
path: {
|
|
112
|
+
root: rootPath,
|
|
113
|
+
config: configPath
|
|
114
|
+
},
|
|
115
|
+
runtime: {
|
|
116
|
+
signals: true,
|
|
117
|
+
exitcode: true
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=NodeJsEnvironment.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/environment/NodeJsEnvironment.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Destructable, Environment, RuntimeService } from "#general";
|
|
7
|
+
/**
|
|
8
|
+
* ProcessManager watches Node.js signals SIGINT and SIGUSR2 to terminate the Matter.js runtime and trigger Matter.js
|
|
9
|
+
* diagnostics respectively. It sets the process exit code to 0 if the runtime completes without error and to 1 if the
|
|
10
|
+
* runtime crashes.
|
|
11
|
+
*
|
|
12
|
+
* If enabled, SIGINT will perform a soft interrupt of the runtime once. ProcessManager will not process subsequent
|
|
13
|
+
* interrupts so they will result in forced exit if no other handler exists.
|
|
14
|
+
*
|
|
15
|
+
* {@link NodeJsEnvironment} installs a ProcessManager into the default Matter.js {@link Environment}.
|
|
16
|
+
*
|
|
17
|
+
* You can modify behavior by:
|
|
18
|
+
*
|
|
19
|
+
* - Passing an {@link Environment} other than {@link Environment.default} to your components
|
|
20
|
+
*
|
|
21
|
+
* - Disabling signal and exit code support with {@link VariableService} variables "runtime.signals" and
|
|
22
|
+
* "runtime.exitcode" respectively
|
|
23
|
+
*
|
|
24
|
+
* - Destroying ProcessManager in the default environment using {@link ProcessManager.close}
|
|
25
|
+
*
|
|
26
|
+
* - Subclassing ProcessManager, overriding specific functionality, and installing with {@link Environment.set}
|
|
27
|
+
*/
|
|
28
|
+
export declare class ProcessManager implements Destructable {
|
|
29
|
+
#private;
|
|
30
|
+
protected env: Environment;
|
|
31
|
+
protected runtime: RuntimeService;
|
|
32
|
+
constructor(env: Environment);
|
|
33
|
+
close(): void;
|
|
34
|
+
[Symbol.dispose](): void;
|
|
35
|
+
protected get hasSignalSupport(): true;
|
|
36
|
+
protected get hasExitCodeSupport(): true;
|
|
37
|
+
protected get hasUnhandledErrorSupport(): true;
|
|
38
|
+
protected startListener: () => void;
|
|
39
|
+
protected stopListener: () => void;
|
|
40
|
+
protected crashListener: () => void;
|
|
41
|
+
protected interruptHandler: (signal: string) => void;
|
|
42
|
+
protected exitHandler: () => void;
|
|
43
|
+
protected diagnosticHandler: () => void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ProcessManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAmB,MAAM,UAAU,CAAC;AAK9F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAcrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,WAAY,MAAM,UAG1C;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;CAWL"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ProcessManager_exports = {};
|
|
20
|
+
__export(ProcessManager_exports, {
|
|
21
|
+
ProcessManager: () => ProcessManager
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ProcessManager_exports);
|
|
24
|
+
var import_general = require("#general");
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*/
|
|
30
|
+
const logger = import_general.Logger.get("ProcessManager");
|
|
31
|
+
class ProcessManager {
|
|
32
|
+
constructor(env) {
|
|
33
|
+
this.env = env;
|
|
34
|
+
this.runtime = env.get(import_general.RuntimeService);
|
|
35
|
+
this.runtime.started.on(this.startListener);
|
|
36
|
+
this.runtime.stopped.on(this.stopListener);
|
|
37
|
+
this.runtime.crashed.on(this.crashListener);
|
|
38
|
+
if (this.hasUnhandledErrorSupport) {
|
|
39
|
+
process.addListener("uncaughtExceptionMonitor", (event) => {
|
|
40
|
+
import_general.Logger.reportUnhandledError(event);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
runtime;
|
|
45
|
+
#signalHandlersInstalled = false;
|
|
46
|
+
close() {
|
|
47
|
+
this.runtime.started.off(this.startListener);
|
|
48
|
+
this.runtime.stopped.off(this.stopListener);
|
|
49
|
+
this.runtime.crashed.off(this.crashListener);
|
|
50
|
+
this.#ignoreSignals();
|
|
51
|
+
}
|
|
52
|
+
[Symbol.dispose]() {
|
|
53
|
+
this.close();
|
|
54
|
+
}
|
|
55
|
+
get hasSignalSupport() {
|
|
56
|
+
return this.env.vars.get("runtime.signals", true);
|
|
57
|
+
}
|
|
58
|
+
get hasExitCodeSupport() {
|
|
59
|
+
return this.env.vars.get("runtime.exitcode", true);
|
|
60
|
+
}
|
|
61
|
+
get hasUnhandledErrorSupport() {
|
|
62
|
+
return this.env.vars.get("runtime.unhandlederrors", true);
|
|
63
|
+
}
|
|
64
|
+
startListener = () => {
|
|
65
|
+
this.env.vars.use(() => {
|
|
66
|
+
if (this.hasSignalSupport) {
|
|
67
|
+
if (this.#signalHandlersInstalled) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
process.on("SIGINT", this.interruptHandler);
|
|
71
|
+
process.on("SIGTERM", this.interruptHandler);
|
|
72
|
+
process.on("SIGUSR2", this.diagnosticHandler);
|
|
73
|
+
process.on("exit", this.exitHandler);
|
|
74
|
+
} else {
|
|
75
|
+
this.#ignoreSignals();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
stopListener = () => {
|
|
80
|
+
this.#ignoreSignals();
|
|
81
|
+
if (this.hasExitCodeSupport && process.exitCode === void 0) {
|
|
82
|
+
process.exitCode = 0;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
crashListener = () => {
|
|
86
|
+
if (this.hasExitCodeSupport) {
|
|
87
|
+
process.exitCode = 1;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
interruptHandler = (signal) => {
|
|
91
|
+
process.off(signal, this.interruptHandler);
|
|
92
|
+
this.runtime.cancel();
|
|
93
|
+
};
|
|
94
|
+
exitHandler = () => {
|
|
95
|
+
if (process.exitCode === 13) {
|
|
96
|
+
logger.error("Internal error: Premature process exit because ongoing work has stalled");
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
diagnosticHandler = () => {
|
|
100
|
+
this.env.diagnose();
|
|
101
|
+
};
|
|
102
|
+
#ignoreSignals() {
|
|
103
|
+
if (this.#signalHandlersInstalled) {
|
|
104
|
+
process.off("SIGINT", this.interruptHandler);
|
|
105
|
+
process.off("SIGTERM", this.interruptHandler);
|
|
106
|
+
process.off("SIGUSR2", this.diagnosticHandler);
|
|
107
|
+
process.off("exit", this.exitHandler);
|
|
108
|
+
this.#signalHandlersInstalled = false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=ProcessManager.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/environment/ProcessManager.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmF;AANnF;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,SAAS,sBAAO,IAAI,gBAAgB;AAuBnC,MAAM,eAAuC;AAAA,EAIhD,YAAsB,KAAkB;AAAlB;AAClB,SAAK,UAAU,IAAI,IAAI,6BAAc;AAErC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAC1C,SAAK,QAAQ,QAAQ,GAAG,KAAK,YAAY;AACzC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAE1C,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,YAAY,4BAA4B,WAAS;AACrD,8BAAO,qBAAqB,KAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAfU;AAAA,EACV,2BAA2B;AAAA,EAgB3B,QAAQ;AACJ,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,QAAQ,QAAQ,IAAI,KAAK,YAAY;AAC1C,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,IAAc,mBAAmB;AAC7B,WAAO,KAAK,IAAI,KAAK,IAAI,mBAAmB,IAAI;AAAA,EACpD;AAAA,EAEA,IAAc,qBAAqB;AAC/B,WAAO,KAAK,IAAI,KAAK,IAAI,oBAAoB,IAAI;AAAA,EACrD;AAAA,EAEA,IAAc,2BAA2B;AACrC,WAAO,KAAK,IAAI,KAAK,IAAI,2BAA2B,IAAI;AAAA,EAC5D;AAAA,EAEU,gBAAgB,MAAM;AAC5B,SAAK,IAAI,KAAK,IAAI,MAAM;AACpB,UAAI,KAAK,kBAAkB;AACvB,YAAI,KAAK,0BAA0B;AAC/B;AAAA,QACJ;AACA,gBAAQ,GAAG,UAAU,KAAK,gBAAgB;AAC1C,gBAAQ,GAAG,WAAW,KAAK,gBAAgB;AAC3C,gBAAQ,GAAG,WAAW,KAAK,iBAAiB;AAC5C,gBAAQ,GAAG,QAAQ,KAAK,WAAW;AAAA,MACvC,OAAO;AACH,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEU,eAAe,MAAM;AAC3B,SAAK,eAAe;AAEpB,QAAI,KAAK,sBAAsB,QAAQ,aAAa,QAAW;AAC3D,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,gBAAgB,MAAM;AAC5B,QAAI,KAAK,oBAAoB;AACzB,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,mBAAmB,CAAC,WAAmB;AAC7C,YAAQ,IAAI,QAAQ,KAAK,gBAAgB;AACzC,SAAK,QAAQ,OAAO;AAAA,EACxB;AAAA,EAEU,cAAc,MAAM;AAC1B,QAAI,QAAQ,aAAa,IAAI;AACzB,aAAO,MAAM,yEAAyE;AAAA,IAC1F;AAAA,EACJ;AAAA,EAEU,oBAAoB,MAAM;AAChC,SAAK,IAAI,SAAS;AAAA,EACtB;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,IAAI,UAAU,KAAK,gBAAgB;AAC3C,cAAQ,IAAI,WAAW,KAAK,gBAAgB;AAC5C,cAAQ,IAAI,WAAW,KAAK,iBAAiB;AAC7C,cAAQ,IAAI,QAAQ,KAAK,WAAW;AACpC,WAAK,2BAA2B;AAAA,IACpC;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import "./register.js";
|
|
7
|
+
export * from "./NodeJsActionTracer.js";
|
|
8
|
+
export * from "./NodeJsEnvironment.js";
|
|
9
|
+
export * from "./ProcessManager.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/environment/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var environment_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(environment_exports);
|
|
18
|
+
var import_register = require("./register.js");
|
|
19
|
+
__reExport(environment_exports, require("./NodeJsActionTracer.js"), module.exports);
|
|
20
|
+
__reExport(environment_exports, require("./NodeJsEnvironment.js"), module.exports);
|
|
21
|
+
__reExport(environment_exports, require("./ProcessManager.js"), module.exports);
|
|
22
|
+
/**
|
|
23
|
+
* @license
|
|
24
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
25
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
26
|
+
*/
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/environment/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_general = require("#general");
|
|
3
|
+
var import_NodeJsEnvironment = require("./NodeJsEnvironment.js");
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
import_general.Environment.default = (0, import_NodeJsEnvironment.NodeJsEnvironment)();
|
|
10
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./behavior/index.js";
|
|
7
|
+
export * from "./crypto/index.js";
|
|
8
|
+
export * from "./environment/index.js";
|
|
9
|
+
export * from "./log/index.js";
|
|
10
|
+
export * from "./net/index.js";
|
|
11
|
+
export * from "./storage/index.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var src_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(src_exports);
|
|
18
|
+
__reExport(src_exports, require("./behavior/index.js"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./crypto/index.js"), module.exports);
|
|
20
|
+
__reExport(src_exports, require("./environment/index.js"), module.exports);
|
|
21
|
+
__reExport(src_exports, require("./log/index.js"), module.exports);
|
|
22
|
+
__reExport(src_exports, require("./net/index.js"), module.exports);
|
|
23
|
+
__reExport(src_exports, require("./storage/index.js"), module.exports);
|
|
24
|
+
/**
|
|
25
|
+
* @license
|
|
26
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
27
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
28
|
+
*/
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { LogLevel } from "#general";
|
|
7
|
+
/**
|
|
8
|
+
* Creates a file based logger to append to the given path.
|
|
9
|
+
* The file is opened on start and closed when the process shuts down.
|
|
10
|
+
* Errors are logged to the console.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createFileLogger(path: string): Promise<(_level: LogLevel, formattedLog: string) => void>;
|
|
13
|
+
//# sourceMappingURL=FileLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileLogger.d.ts","sourceRoot":"","sources":["../../../src/log/FileLogger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,oBAQ/B,QAAQ,gBAAgB,MAAM,WAOjD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var FileLogger_exports = {};
|
|
20
|
+
__export(FileLogger_exports, {
|
|
21
|
+
createFileLogger: () => createFileLogger
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(FileLogger_exports);
|
|
24
|
+
var import_promises = require("fs/promises");
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*/
|
|
30
|
+
async function createFileLogger(path) {
|
|
31
|
+
const fileHandle = await (0, import_promises.open)(path, "a");
|
|
32
|
+
const writer = fileHandle.createWriteStream();
|
|
33
|
+
process.on(
|
|
34
|
+
"beforeExit",
|
|
35
|
+
() => void fileHandle.close().catch((err) => err && console.error(`Failed to close log file: ${err}`))
|
|
36
|
+
);
|
|
37
|
+
return (_level, formattedLog) => {
|
|
38
|
+
try {
|
|
39
|
+
writer.write(`${formattedLog}
|
|
40
|
+
`);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error(`Failed to write to log file: ${error}`);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=FileLogger.js.map
|