@scrypted/server 0.115.38 → 0.115.39

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.
@@ -8,6 +8,7 @@ const child_process_1 = __importDefault(require("child_process"));
8
8
  const net_1 = __importDefault(require("net"));
9
9
  const socket_serializer_1 = require("../socket-serializer");
10
10
  const child_process_worker_1 = require("./child-process-worker");
11
+ const worker_threads_1 = __importDefault(require("worker_threads"));
11
12
  class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
12
13
  constructor(mainFilename, pluginId, options) {
13
14
  super(pluginId, options);
@@ -16,7 +17,10 @@ class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
16
17
  if (pluginDebug) {
17
18
  execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
18
19
  }
19
- this.worker = child_process_1.default.fork(mainFilename, ['child', this.pluginId], {
20
+ this.worker = child_process_1.default.fork(mainFilename, [
21
+ worker_threads_1.default.isMainThread ? 'child' : 'fork',
22
+ this.pluginId
23
+ ], {
20
24
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
21
25
  env: Object.assign({}, process.env, env),
22
26
  serialization: 'advanced',
@@ -1 +1 @@
1
- {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAC1C,8CAAsB;AAEtB,4DAAgE;AAChE,iEAA4D;AAG5D,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"}
1
+ {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAC1C,8CAAsB;AAEtB,4DAAgE;AAChE,iEAA4D;AAE5D,oEAA4C;AAE5C,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;YAC3C,wBAAc,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC9C,IAAI,CAAC,QAAQ;SAChB,EAAE;YACC,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;AA7DD,wCA6DC"}
@@ -16,7 +16,7 @@ const plugin_error_1 = require("./plugin/plugin-error");
16
16
  const plugin_volume_1 = require("./plugin/plugin-volume");
17
17
  const rpc_1 = require("./rpc");
18
18
  function isChildProcess() {
19
- return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread';
19
+ return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'fork' || process_1.default.argv[2] === 'child-thread';
20
20
  }
21
21
  function start(mainFilename, options) {
22
22
  // Allow including a custom file path for platforms that require
@@ -38,7 +38,7 @@ function start(mainFilename, options) {
38
38
  // The workaround is to favor IPv4.
39
39
  dns_1.default.setDefaultResultOrder('ipv4first');
40
40
  (0, rpc_1.startPeriodicGarbageCollection)();
41
- if (process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread') {
41
+ if (isChildProcess()) {
42
42
  // plugins should never crash. this handler will be removed, and then readded
43
43
  // after the plugin source map is retrieved.
44
44
  process_1.default.on('uncaughtException', e => {
@@ -1 +1 @@
1
- {"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;AAaA,wCAEC;AAfD,8CAAsB;AACtB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,0DAA2D;AAC3D,+BAAuE;AAGvE,SAAgB,cAAc;IAC1B,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC;AAC3G,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB,EAAE,OAEpC;IACG,gEAAgE;IAChE,8DAA8D;IAC9D,gBAAgB;IAChB,IAAI,iBAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,YAAE,CAAC,UAAU,CAAC,iBAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACpG,OAAO,CAAC,iBAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACjB,YAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACpC,UAAU,CAAC,EAAE,GAAG,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,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,cAAc,EAAE,EAAE,CAAC;QACnB,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,gBAAM,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,IAAA,iCAAiB,GAAE,EAAE,MAAM,CAAC;SAC/C,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/server",
3
- "version": "0.115.38",
3
+ "version": "0.115.39",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "@scrypted/ffmpeg-static": "^6.1.0-build1",
@@ -4,6 +4,7 @@ import { RpcMessage, RpcPeer } from "../../rpc";
4
4
  import { SidebandSocketSerializer } from "../socket-serializer";
5
5
  import { ChildProcessWorker } from "./child-process-worker";
6
6
  import { RuntimeWorkerOptions } from "./runtime-worker";
7
+ import worker_threads from 'worker_threads';
7
8
 
8
9
  export class NodeForkWorker extends ChildProcessWorker {
9
10
 
@@ -17,7 +18,10 @@ export class NodeForkWorker extends ChildProcessWorker {
17
18
  execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
18
19
  }
19
20
 
20
- this.worker = child_process.fork(mainFilename, ['child', this.pluginId], {
21
+ this.worker = child_process.fork(mainFilename, [
22
+ worker_threads.isMainThread ? 'child' : 'fork',
23
+ this.pluginId
24
+ ], {
21
25
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
22
26
  env: Object.assign({}, process.env, env),
23
27
  serialization: 'advanced',
@@ -12,7 +12,7 @@ import { RPCResultError, startPeriodicGarbageCollection } from './rpc';
12
12
  import type { Runtime } from './scrypted-server-main';
13
13
 
14
14
  export function isChildProcess() {
15
- return process.argv[2] === 'child' || process.argv[2] === 'child-thread'
15
+ return process.argv[2] === 'child' || process.argv[2] === 'fork' || process.argv[2] === 'child-thread';
16
16
  }
17
17
 
18
18
  function start(mainFilename: string, options?: {
@@ -42,7 +42,7 @@ function start(mainFilename: string, options?: {
42
42
 
43
43
  startPeriodicGarbageCollection();
44
44
 
45
- if (process.argv[2] === 'child' || process.argv[2] === 'child-thread') {
45
+ if (isChildProcess()) {
46
46
  // plugins should never crash. this handler will be removed, and then readded
47
47
  // after the plugin source map is retrieved.
48
48
  process.on('uncaughtException', e => {