@scrypted/server 0.89.0 → 0.91.0
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/plugin/runtime/node-fork-worker.js +1 -5
- package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
- package/dist/plugin/runtime/node-thread-worker.js +1 -5
- package/dist/plugin/runtime/node-thread-worker.js.map +1 -1
- package/dist/scrypted-main-exports.js +5 -4
- package/dist/scrypted-main-exports.js.map +1 -1
- package/dist/scrypted-plugin-main.js +7 -3
- package/dist/scrypted-plugin-main.js.map +1 -1
- package/package.json +2 -2
- package/src/plugin/runtime/node-fork-worker.ts +1 -3
- package/src/plugin/runtime/node-thread-worker.ts +1 -3
- package/src/scrypted-main-exports.ts +5 -4
- package/src/scrypted-plugin-main.ts +9 -4
@@ -5,9 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.NodeForkWorker = void 0;
|
7
7
|
const child_process_1 = __importDefault(require("child_process"));
|
8
|
-
const path_1 = __importDefault(require("path"));
|
9
8
|
const child_process_worker_1 = require("./child-process-worker");
|
10
|
-
const plugin_npm_dependencies_1 = require("../plugin-npm-dependencies");
|
11
9
|
const socket_serializer_1 = require("../socket-serializer");
|
12
10
|
const net_1 = __importDefault(require("net"));
|
13
11
|
class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
|
@@ -20,9 +18,7 @@ class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
|
|
20
18
|
}
|
21
19
|
this.worker = child_process_1.default.fork(mainFilename, ['child', this.pluginId], {
|
22
20
|
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
23
|
-
env: Object.assign({}, process.env, env,
|
24
|
-
NODE_PATH: path_1.default.join((0, plugin_npm_dependencies_1.getPluginNodePath)(this.pluginId), 'node_modules'),
|
25
|
-
}),
|
21
|
+
env: Object.assign({}, process.env, env),
|
26
22
|
serialization: 'advanced',
|
27
23
|
execArgv,
|
28
24
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AACA,kEAA0C;
|
1
|
+
{"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AACA,kEAA0C;AAG1C,iEAA4D;AAE5D,4DAAgE;AAChE,8CAAsB;AAEtB,MAAa,cAAe,SAAQ,yCAAkB;IAElD,YAAY,YAAoB,EAAE,QAAgB,EAAE,OAA6B;QAC7E,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAErC,MAAM,QAAQ,GAAa,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACxC,aAAa,EAAE,UAAU;YACzB,QAAQ;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC9C,IAAK,OAAe,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,OAAc,EAAE;oBAC/B,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBACI,IAAI,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAG,CAAC,MAAM,EAAE,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAAwB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,MAA2B,EAAE,oBAA0B;QAC7E,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC5D,IAAI,CAAC,IAAI,MAAM;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;CACJ;AA1DD,wCA0DC"}
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.NodeThreadWorker = void 0;
|
7
7
|
const ws_1 = require("ws");
|
8
8
|
const worker_threads_1 = __importDefault(require("worker_threads"));
|
9
|
-
const path_1 = __importDefault(require("path"));
|
10
|
-
const plugin_npm_dependencies_1 = require("../plugin-npm-dependencies");
|
11
9
|
const v8_1 = __importDefault(require("v8"));
|
12
10
|
class NodeThreadWorker extends ws_1.EventEmitter {
|
13
11
|
pluginId;
|
@@ -19,9 +17,7 @@ class NodeThreadWorker extends ws_1.EventEmitter {
|
|
19
17
|
const { env } = options;
|
20
18
|
this.worker = new worker_threads_1.default.Worker(mainFilename, {
|
21
19
|
argv: ['child-thread', this.pluginId],
|
22
|
-
env: Object.assign({}, process.env, env,
|
23
|
-
NODE_PATH: path_1.default.join((0, plugin_npm_dependencies_1.getPluginNodePath)(this.pluginId), 'node_modules'),
|
24
|
-
}),
|
20
|
+
env: Object.assign({}, process.env, env),
|
25
21
|
});
|
26
22
|
this.worker.on('exit', () => {
|
27
23
|
this.terminated = true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAkC;AAGlC,oEAA4C;
|
1
|
+
{"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAkC;AAGlC,oEAA4C;AAG5C,4CAAoB;AAEpB,MAAa,gBAAiB,SAAQ,iBAAY;IAIL;IAHzC,UAAU,CAAU;IACpB,MAAM,CAAwB;IAE9B,YAAY,YAAoB,EAAS,QAAgB,EAAE,OAA6B;QACpF,KAAK,EAAE,CAAC;QAD6B,aAAQ,GAAR,QAAQ,CAAQ;QAErD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC,YAAY,EAAE;YAClD,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,MAA2B;QACjD,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM;gBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;CACJ;AAjED,4CAiEC"}
|
@@ -4,12 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.isChildProcess = void 0;
|
7
|
-
const
|
8
|
-
const vm_1 = __importDefault(require("vm"));
|
7
|
+
const dns_1 = __importDefault(require("dns"));
|
9
8
|
const process_1 = __importDefault(require("process"));
|
10
9
|
const semver_1 = __importDefault(require("semver"));
|
11
|
-
const
|
10
|
+
const v8_1 = __importDefault(require("v8"));
|
11
|
+
const vm_1 = __importDefault(require("vm"));
|
12
12
|
const plugin_error_1 = require("./plugin/plugin-error");
|
13
|
+
const rpc_1 = require("./rpc");
|
13
14
|
function isChildProcess() {
|
14
15
|
return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread';
|
15
16
|
}
|
@@ -26,7 +27,7 @@ function start(mainFilename, options) {
|
|
26
27
|
// This causes issues with clients that are on "IPv6" networks that are
|
27
28
|
// actually busted and fail to connect to npm's IPv6 address.
|
28
29
|
// The workaround is to favor IPv4.
|
29
|
-
|
30
|
+
dns_1.default.setDefaultResultOrder('ipv4first');
|
30
31
|
(0, rpc_1.startPeriodicGarbageCollection)();
|
31
32
|
if (process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread') {
|
32
33
|
// plugins should never crash. this handler will be removed, and then readded
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AACtB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,+BAAuE;AAGvE,SAAgB,cAAc;IAC1B,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAA;AAC5E,CAAC;AAFD,wCAEC;AAED,SAAS,KAAK,CAAC,YAAoB,EAAE,OAEpC;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACb,YAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACpC,MAAM,CAAC,EAAE,GAAG,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACvF,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,mCAAmC;IACnC,aAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAA,oCAA8B,GAAE,CAAC;IAEjC,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACpE,6EAA6E;QAC7E,4CAA4C;QAC5C,iBAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;SACI,CAAC;QACF,uEAAuE;QACvE,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE;YACrC,IAAI,KAAK,EAAE,WAAW,KAAK,oBAAc,IAAI,KAAK,EAAE,WAAW,KAAK,0BAAW,EAAE,CAAC;gBAC9E,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
|
@@ -3,12 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const plugin_remote_worker_1 = require("./plugin/plugin-remote-worker");
|
7
|
-
const worker_threads_1 = __importDefault(require("worker_threads"));
|
8
|
-
const v8_1 = __importDefault(require("v8"));
|
9
6
|
const net_1 = __importDefault(require("net"));
|
7
|
+
const v8_1 = __importDefault(require("v8"));
|
8
|
+
const worker_threads_1 = __importDefault(require("worker_threads"));
|
9
|
+
const plugin_npm_dependencies_1 = require("./plugin/plugin-npm-dependencies");
|
10
|
+
const plugin_remote_worker_1 = require("./plugin/plugin-remote-worker");
|
10
11
|
const socket_serializer_1 = require("./plugin/socket-serializer");
|
11
12
|
function start(mainFilename) {
|
13
|
+
const pluginId = process.argv[3];
|
14
|
+
console.log('starting plugin', pluginId);
|
15
|
+
module.paths.push((0, plugin_npm_dependencies_1.getPluginNodePath)(pluginId));
|
12
16
|
if (process.argv[2] === 'child-thread') {
|
13
17
|
const peer = (0, plugin_remote_worker_1.startPluginRemote)(mainFilename, process.argv[3], (message, reject) => {
|
14
18
|
try {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scrypted-plugin-main.js","sourceRoot":"","sources":["../src/scrypted-plugin-main.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"scrypted-plugin-main.js","sourceRoot":"","sources":["../src/scrypted-plugin-main.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AACtB,4CAAoB;AACpB,oEAA4C;AAC5C,8EAAqE;AACrE,wEAAkE;AAClE,kEAAsE;AAGtE,SAAS,KAAK,CAAC,YAAoB;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,2CAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9E,IAAI,CAAC;gBACD,wBAAc,CAAC,UAAU,CAAC,WAAW,CAAC,YAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;SACI,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE;YAC7J,aAAa,EAAE,CAAC,MAAM;SACzB,EAAE,CAAC,CAAC,EAAE;YACH,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAG,CAAC,MAAM,EAAE,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAAwB,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAqB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@scrypted/server",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.91.0",
|
4
4
|
"description": "",
|
5
5
|
"dependencies": {
|
6
6
|
"@mapbox/node-pre-gyp": "^1.0.11",
|
@@ -62,7 +62,7 @@
|
|
62
62
|
"build": "tsc --outDir dist",
|
63
63
|
"postbuild": "node test/check-build-output.js",
|
64
64
|
"beta": "npm publish --tag beta",
|
65
|
-
"postbeta": "npm version
|
65
|
+
"postbeta": "npm version patch && git add package.json && npm run build && git commit -m postbeta",
|
66
66
|
"release": "npm publish",
|
67
67
|
"prepublishOnly": "npm run build",
|
68
68
|
"postrelease": "git tag v$npm_package_version && git push origin v$npm_package_version && npm version minor && git add package.json && git commit -m postrelease",
|
@@ -21,9 +21,7 @@ export class NodeForkWorker extends ChildProcessWorker {
|
|
21
21
|
|
22
22
|
this.worker = child_process.fork(mainFilename, ['child', this.pluginId], {
|
23
23
|
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
24
|
-
env: Object.assign({}, process.env, env,
|
25
|
-
NODE_PATH: path.join(getPluginNodePath(this.pluginId), 'node_modules'),
|
26
|
-
}),
|
24
|
+
env: Object.assign({}, process.env, env),
|
27
25
|
serialization: 'advanced',
|
28
26
|
execArgv,
|
29
27
|
});
|
@@ -16,9 +16,7 @@ export class NodeThreadWorker extends EventEmitter implements RuntimeWorker {
|
|
16
16
|
|
17
17
|
this.worker = new worker_threads.Worker(mainFilename, {
|
18
18
|
argv: ['child-thread', this.pluginId],
|
19
|
-
env: Object.assign({}, process.env, env,
|
20
|
-
NODE_PATH: path.join(getPluginNodePath(this.pluginId), 'node_modules'),
|
21
|
-
}),
|
19
|
+
env: Object.assign({}, process.env, env),
|
22
20
|
});
|
23
21
|
|
24
22
|
this.worker.on('exit', () => {
|
@@ -1,9 +1,10 @@
|
|
1
|
-
import
|
2
|
-
import vm from 'vm';
|
1
|
+
import dns from 'dns';
|
3
2
|
import process from 'process';
|
4
3
|
import semver from 'semver';
|
5
|
-
import
|
4
|
+
import v8 from 'v8';
|
5
|
+
import vm from 'vm';
|
6
6
|
import { PluginError } from './plugin/plugin-error';
|
7
|
+
import { RPCResultError, startPeriodicGarbageCollection } from './rpc';
|
7
8
|
import type { Runtime } from './scrypted-server-main';
|
8
9
|
|
9
10
|
export function isChildProcess() {
|
@@ -26,7 +27,7 @@ function start(mainFilename: string, options?: {
|
|
26
27
|
// This causes issues with clients that are on "IPv6" networks that are
|
27
28
|
// actually busted and fail to connect to npm's IPv6 address.
|
28
29
|
// The workaround is to favor IPv4.
|
29
|
-
|
30
|
+
dns.setDefaultResultOrder('ipv4first');
|
30
31
|
|
31
32
|
startPeriodicGarbageCollection();
|
32
33
|
|
@@ -1,11 +1,16 @@
|
|
1
|
-
import { startPluginRemote } from "./plugin/plugin-remote-worker";
|
2
|
-
import { RpcMessage } from "./rpc";
|
3
|
-
import worker_threads from "worker_threads";
|
4
|
-
import v8 from 'v8';
|
5
1
|
import net from 'net';
|
2
|
+
import v8 from 'v8';
|
3
|
+
import worker_threads from "worker_threads";
|
4
|
+
import { getPluginNodePath } from "./plugin/plugin-npm-dependencies";
|
5
|
+
import { startPluginRemote } from "./plugin/plugin-remote-worker";
|
6
6
|
import { SidebandSocketSerializer } from "./plugin/socket-serializer";
|
7
|
+
import { RpcMessage } from "./rpc";
|
7
8
|
|
8
9
|
function start(mainFilename: string) {
|
10
|
+
const pluginId = process.argv[3];
|
11
|
+
console.log('starting plugin', pluginId);
|
12
|
+
module.paths.push(getPluginNodePath(pluginId));
|
13
|
+
|
9
14
|
if (process.argv[2] === 'child-thread') {
|
10
15
|
const peer = startPluginRemote(mainFilename, process.argv[3], (message, reject) => {
|
11
16
|
try {
|